diff --git a/src/main/fragment/cache/fragment-cache-mos6502x.asm b/src/main/fragment/cache/fragment-cache-mos6502x.asm
index 0f78935a1..1bea00baf 100644
--- a/src/main/fragment/cache/fragment-cache-mos6502x.asm
+++ b/src/main/fragment/cache/fragment-cache-mos6502x.asm
@@ -19767,3 +19767,23 @@ sta {z1}
 lda {z1}+1
 adc {z2}+1
 sta {z1}+1
+//FRAGMENT pwuz1=pbuc1
+lda #<{c1}
+sta {z1}
+lda #>{c1}
+sta {z1}+1
+//FRAGMENT vwuz1=vwuc1_plus_vbuaa
+clc
+adc #<{c1}
+sta {z1}
+lda #>{c1}
+adc #0
+sta {z1}+1
+//FRAGMENT vwuz1=vwuc1_plus_vbuyy
+tya
+clc
+adc #<{c1}
+sta {z1}
+lda #>{c1}
+adc #0
+sta {z1}+1
diff --git a/src/main/java/dk/camelot64/kickc/model/Initializers.java b/src/main/java/dk/camelot64/kickc/model/Initializers.java
index d5471b8c0..fab865981 100644
--- a/src/main/java/dk/camelot64/kickc/model/Initializers.java
+++ b/src/main/java/dk/camelot64/kickc/model/Initializers.java
@@ -131,10 +131,6 @@ public class Initializers {
             }
          }
       }
-      // Add pointer cast to integers
-      if(typeSpec.getType() instanceof SymbolTypePointer && initValue instanceof ConstantValue && SymbolType.isInteger(((ConstantValue) initValue).getType(program.getScope()))) {
-         initValue = new ConstantCastValue(typeSpec.getType(), (ConstantValue) initValue);
-      }
       return initValue;
    }
 
diff --git a/src/main/java/dk/camelot64/kickc/passes/PassNAssertTypeMatch.java b/src/main/java/dk/camelot64/kickc/passes/PassNAssertTypeMatch.java
index c74ded345..807dc6cbb 100644
--- a/src/main/java/dk/camelot64/kickc/passes/PassNAssertTypeMatch.java
+++ b/src/main/java/dk/camelot64/kickc/passes/PassNAssertTypeMatch.java
@@ -5,6 +5,7 @@ import dk.camelot64.kickc.model.ControlFlowBlock;
 import dk.camelot64.kickc.model.Program;
 import dk.camelot64.kickc.model.statements.Statement;
 import dk.camelot64.kickc.model.statements.StatementAssignment;
+import dk.camelot64.kickc.model.symbols.Variable;
 import dk.camelot64.kickc.model.types.SymbolType;
 import dk.camelot64.kickc.model.types.SymbolTypeConversion;
 import dk.camelot64.kickc.model.types.SymbolTypeInference;
@@ -30,9 +31,24 @@ public class PassNAssertTypeMatch extends Pass2SsaAssertion {
             // TODO: Implement checking for calls / ...
          }
       }
+      for(Variable var : getScope().getAllVars(true)) {
+         if(var.getInitValue()!=null) {
+            checkVarInit(var);
+         }
+      }
 
    }
 
+   private void checkVarInit(Variable variable) {
+
+      SymbolType lValueType = variable.getType();
+      SymbolType rValueType = variable.getInitValue().getType(getScope());
+      if(SymbolTypeConversion.assignmentTypeMatch(lValueType, rValueType)) return;
+      // Types do not match
+      getLog().append("ERROR! Type mismatch (" + lValueType.getTypeName() + ") cannot be assigned from (" + rValueType.getTypeName() + "). In initialization of " + variable.toString(getProgram()));
+      throw new CompileError("Type mismatch (" + lValueType.getTypeName() + ") cannot be assigned from (" + rValueType.getTypeName() + "). In initialization of " + variable.toString(getProgram()));
+   }
+
    private void checkAssignment(StatementAssignment statement) {
       LValue lValue = statement.getlValue();
       SymbolType lValueType = SymbolTypeInference.inferType(getScope(), lValue);
diff --git a/src/main/java/dk/camelot64/kickc/passes/PassNSizeOfSimplification.java b/src/main/java/dk/camelot64/kickc/passes/PassNSizeOfSimplification.java
index 1249ae066..e155fbe62 100644
--- a/src/main/java/dk/camelot64/kickc/passes/PassNSizeOfSimplification.java
+++ b/src/main/java/dk/camelot64/kickc/passes/PassNSizeOfSimplification.java
@@ -76,7 +76,7 @@ public class PassNSizeOfSimplification extends Pass2SsaOptimization {
             if(arraySize!=null) {
                getLog().append("Resolving array sizeof() " + unary.toString(getProgram()));
                ConstantRef sizeOfConstantVar = SizeOfConstants.getSizeOfConstantVar(getScope(), arrayType.getElementType());
-               programValue.set(new ConstantBinary((ConstantValue) arraySize, Operators.MULTIPLY, sizeOfConstantVar));
+               programValue.set(new ConstantBinary(arraySize, Operators.MULTIPLY, sizeOfConstantVar));
                modified.set(true);
             } else if(constant.getInitValue() instanceof ConstantArrayList) {
                getLog().append("Resolving array sizeof() " + unary.toString(getProgram()));
diff --git a/src/main/kc/include/atari-tia.h b/src/main/kc/include/atari-tia.h
index 1e2e86209..72f5fa3e1 100644
--- a/src/main/kc/include/atari-tia.h
+++ b/src/main/kc/include/atari-tia.h
@@ -7,13 +7,13 @@
 const char CYCLES_PER_SCANLINE = 76;
 
 // The TIA WSYNC register (for access from inline ASM)
-char* const TIA_WSYNC = 0x02;
+char* const TIA_WSYNC = (char*)0x02;
 // The TIA RESP0 register (for access from inline ASM)
-char* const TIA_RESP0 = 0x10;
+char* const TIA_RESP0 = (char*)0x10;
 // The TIA RESP1 register (for access from inline ASM)
-char* const TIA_RESP1 = 0x11;
+char* const TIA_RESP1 = (char*)0x11;
 // The TIA HMP0 register (for access from inline ASM)
-char* const TIA_HMP0 = 0x20;
+char* const TIA_HMP0 = (char*)0x20;
 
 struct ATARI_TIA_WRITE {
     // $00   0000 00x0   Vertical Sync Set-Clear
diff --git a/src/main/kc/include/atari-xl.h b/src/main/kc/include/atari-xl.h
index 9f3a707b1..e6ad2c77e 100644
--- a/src/main/kc/include/atari-xl.h
+++ b/src/main/kc/include/atari-xl.h
@@ -10,60 +10,60 @@
 #include <atari-pokey.h>
 
 // Atari GTIA write registers
-struct ATARI_GTIA_WRITE * const GTIA = 0xd000;
+struct ATARI_GTIA_WRITE * const GTIA = (struct ATARI_GTIA_WRITE *)0xd000;
 
 // Atari GTIA read registers
-struct ATARI_GTIA_READ * const GTIA_READ = 0xd000;
+struct ATARI_GTIA_READ * const GTIA_READ = (struct ATARI_GTIA_READ *)0xd000;
 
 // Atari POKEY write registers
-struct ATARI_POKEY_WRITE * const POKEY = 0xd200;
+struct ATARI_POKEY_WRITE * const POKEY = (struct ATARI_POKEY_WRITE *)0xd200;
 
 // Atari POKEY read registers
-struct ATARI_POKEY_READ * const POKEY_READ = 0xd200;
+struct ATARI_POKEY_READ * const POKEY_READ = (struct ATARI_POKEY_READ *)0xd200;
 
 // Atari ANTIC registers
-struct ATARI_ANTIC * const ANTIC = 0xd400;
+struct ATARI_ANTIC * const ANTIC = (struct ATARI_ANTIC *)0xd400;
 
 
 // Atari ZP registers
 // 1-byte cursor row
-char * ROWCRS = 0x54;
+char * ROWCRS = (char*)0x54;
 // 2-byte cursor column
-word * COLCRS = 0x55;
+word * COLCRS = (word*)0x55;
 // 2-byte saved memory scan counter
-char ** const SAVMSC = 0x58;
+char ** const SAVMSC = (char**)0x58;
 // data under cursor
-char * const OLDCHR = 0x5D;
+char * const OLDCHR = (char*)0x5D;
 // 2-byte saved cursor memory address
-char ** const OLDADR = 0x5E;
+char ** const OLDADR = (char**)0x5E;
 
 // Atari OS Shadow registers
 // OS Shadow ANTIC Direct Memory Access Control ($D400)
-char * const SDMCTL = 0x022f;
+char * const SDMCTL = (char*)0x022f;
 // OS Shadow ANTIC Character Control ($D401)
-char * const CHART = 0x02f3;
+char * const CHART = (char*)0x02f3;
 // OS Shadow ANTIC Display List Pointer ($D402)
-char ** const SDLST = 0x0230;
+char ** const SDLST = (char**)0x0230;
 // OS Shadow ANTIC Character Set Base Address (D409)
-char * CHBAS = 0x02f4;
+char * CHBAS = (char*)0x02f4;
 // OS Shadow ANTIC Light Pen Horizontal Position ($D40C)
-char * LPENH = 0x234;
+char * LPENH = (char*)0x234;
 // OS Shadow ANTIC Light Pen Vertical Position ($D40D)
-char * LPENV = 0x235;
+char * LPENV = (char*)0x235;
 // Color register zero, color of playfield zero. Shadow for 53270 ($D016)
-char * const COLOR0 = 0x2C4;
+char * const COLOR0 = (char*)0x2C4;
 // Shadow for 53271 ($D017). Text color in Gr.0
-char * const COLOR1 = 0x2C5;
+char * const COLOR1 = (char*)0x2C5;
 // Shadow for 53272 ($D018). Background color in GR.0
-char * const COLOR2 = 0x2C6;
+char * const COLOR2 = (char*)0x2C6;
 // Shadow for 53273 ($D019)
-char * const COLOR3 = 0x2C7;
+char * const COLOR3 = (char*)0x2C7;
 // Shadow for 53274 ($D01A). Border color in GR.0
-char * const COLOR4 = 0x2C8;
+char * const COLOR4 = (char*)0x2C8;
 // Cursor inhibit flag, 0 turns on, any other number turns off. Cursor doesn't change until it moves next.
-char * const CRSINH = 0x2F0;
+char * const CRSINH = (char*)0x2F0;
 // Internal hardware value for the last key pressed. Set to 0xFF to clear.
-char * const CH = 0x2FC;
+char * const CH = (char*)0x2FC;
 
 // Atari colours - names from Mapping the Atari.
 // Add luminance values 0-14 (even only) to increase brightness
diff --git a/src/main/kc/include/atari2600.h b/src/main/kc/include/atari2600.h
index 8137a0cbd..610853053 100644
--- a/src/main/kc/include/atari2600.h
+++ b/src/main/kc/include/atari2600.h
@@ -9,11 +9,11 @@
 #include <mos6532.h>
 
 // Atari TIA write registers
-struct ATARI_TIA_WRITE * const TIA = 0x00;
+struct ATARI_TIA_WRITE * const TIA = (struct ATARI_TIA_WRITE *)0x00;
 
 // Atari TIA read registers
-struct ATARI_TIA_READ * const TIA_READ = 0x00;
+struct ATARI_TIA_READ * const TIA_READ = (struct ATARI_TIA_READ *)0x00;
 
 // Atari RIOT registers
-struct MOS6532_RIOT * const RIOT = 0x280;
+struct MOS6532_RIOT * const RIOT = (struct MOS6532_RIOT *)0x280;
 
diff --git a/src/main/kc/include/c64.h b/src/main/kc/include/c64.h
index b01d5ad42..702f341dd 100644
--- a/src/main/kc/include/c64.h
+++ b/src/main/kc/include/c64.h
@@ -8,11 +8,11 @@
 
 
 // Processor port data direction register
-char*  const PROCPORT_DDR = 0x00;
+char*  const PROCPORT_DDR = (char*)0x00;
 // Mask for PROCESSOR_PORT_DDR which allows only memory configuration to be written
 const char PROCPORT_DDR_MEMORY_MASK = 0b00000111;
 // Processor Port Register controlling RAM/ROM configuration and the datasette
-char*  const PROCPORT = 0x01;
+char*  const PROCPORT = (char*)0x01;
 // RAM in all three areas 0xA000, 0xD000, 0xE000
 const char PROCPORT_RAM_ALL         = 0b00000000;
 // RAM in 0xA000, 0xE000 I/O in 0xD000
@@ -25,40 +25,40 @@ const char PROCPORT_KERNEL_IO       = 0b00000110;
 const char PROCPORT_BASIC_KERNEL_IO = 0b00000111;
 
 // The address of the CHARGEN character set
-char*  const CHARGEN = 0xd000;
+char*  const CHARGEN = (char*)0xd000;
 // The SID MOS 6581/8580
-struct MOS6581_SID * const SID = 0xd400;
+struct MOS6581_SID * const SID = (struct MOS6581_SID *)0xd400;
 // The VIC-II MOS 6567/6569
-struct MOS6569_VICII* const VICII = 0xd000;
+struct MOS6569_VICII* const VICII = (struct MOS6569_VICII*)0xd000;
 // Color Ram
-char * const COLORRAM = 0xd800;
+char * const COLORRAM = (char*)0xd800;
 // Color Ram
-char * const COLS = 0xd800;
+char * const COLS = (char*)0xd800;
 
 // Default address of screen character matrix
-char * const DEFAULT_SCREEN = 0x0400;
+char * const DEFAULT_SCREEN = (char*)0x0400;
 // Default address of the chargen font (upper case)
-char * const DEFAULT_FONT_UPPER = 0x1000;
+char * const DEFAULT_FONT_UPPER = (char*)0x1000;
 // Default address of the chargen font (mixed case)
-char * const DEFAULT_FONT_MIXED = 0x1800;
+char * const DEFAULT_FONT_MIXED = (char*)0x1800;
 
 // The CIA#1: keyboard matrix, joystick #1/#2
-struct MOS6526_CIA * const CIA1 = 0xdc00;
+struct MOS6526_CIA * const CIA1 = (struct MOS6526_CIA *)0xdc00;
 // The CIA#2: Serial bus, RS-232, VIC memory bank
-struct MOS6526_CIA * const CIA2 = 0xdd00;
+struct MOS6526_CIA * const CIA2 = (struct MOS6526_CIA *)0xdd00;
 // CIA#1 Interrupt for reading in ASM
-char * const CIA1_INTERRUPT = 0xdc0d;
+char * const CIA1_INTERRUPT = (char*)0xdc0d;
 // CIA#2 timer A&B as one single 32-bit value
-unsigned long* const CIA2_TIMER_AB = 0xdd04;
+unsigned long* const CIA2_TIMER_AB = (unsigned long*)0xdd04;
 // CIA#2 Interrupt for reading in ASM
-char * const CIA2_INTERRUPT = 0xdd0d;
+char * const CIA2_INTERRUPT = (char*)0xdd0d;
 
 // The vector used when the KERNAL serves IRQ interrupts
-void()** const KERNEL_IRQ = 0x0314;
+void()** const KERNEL_IRQ = (void()**)0x0314;
 // The vector used when the KERNAL serves NMI interrupts
-void()** const KERNEL_NMI = 0x0318;
+void()** const KERNEL_NMI = (void()**)0x0318;
 // The vector used when the HARDWARE serves IRQ interrupts
-void()** const HARDWARE_IRQ = 0xfffe;
+void()** const HARDWARE_IRQ = (void()**)0xfffe;
 
 // The colors of the C64
 const char BLACK = 0x0;
diff --git a/src/main/kc/include/c64dtv.h b/src/main/kc/include/c64dtv.h
index 06be296b4..cc127e855 100644
--- a/src/main/kc/include/c64dtv.h
+++ b/src/main/kc/include/c64dtv.h
@@ -8,12 +8,12 @@
 #include <c64.h>
 
 // Feature enables or disables the extra C64 DTV features
-char* const DTV_FEATURE = $d03f;
+char* const DTV_FEATURE = (char*)$d03f;
 const char DTV_FEATURE_ENABLE = 1;
 const char DTV_FEATURE_DISABLE_TIL_RESET = 2;
 
 // Controls the graphics modes of the C64 DTV
-char* const DTV_CONTROL = $d03c;
+char* const DTV_CONTROL = (char*)$d03c;
 const char DTV_LINEAR = $01;
 const char DTV_BORDER_OFF = $02;
 const char DTV_HIGHCOLOR = $04;
@@ -23,43 +23,43 @@ const char DTV_BADLINE_OFF = $20;
 const char DTV_CHUNKY = $40;
 
 // Defines colors for the 16 first colors ($00-$0f)
-char* const DTV_PALETTE = $d200;
+char* const DTV_PALETTE = (char*)$d200;
 
 // Default vallues for the palette
 char DTV_PALETTE_DEFAULT[16] = { $00, $0f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, $05, $07, $df, $9a, $0a };
 
 // Linear Graphics Plane A Counter Control
-char* const DTV_PLANEA_START_LO = $d03a;
-char* const DTV_PLANEA_START_MI = $d03b;
-char* const DTV_PLANEA_START_HI = $d045;
-char* const DTV_PLANEA_STEP = $d046;
-char* const DTV_PLANEA_MODULO_LO = $d038;
-char* const DTV_PLANEA_MODULO_HI = $d039;
+char* const DTV_PLANEA_START_LO = (char*)$d03a;
+char* const DTV_PLANEA_START_MI = (char*)$d03b;
+char* const DTV_PLANEA_START_HI = (char*)$d045;
+char* const DTV_PLANEA_STEP = (char*)$d046;
+char* const DTV_PLANEA_MODULO_LO = (char*)$d038;
+char* const DTV_PLANEA_MODULO_HI = (char*)$d039;
 
 // Linear Graphics Plane B Counter Control
-char* const DTV_PLANEB_START_LO = $d049;
-char* const DTV_PLANEB_START_MI = $d04a;
-char* const DTV_PLANEB_START_HI = $d04b;
-char* const DTV_PLANEB_STEP = $d04c;
-char* const DTV_PLANEB_MODULO_LO = $d047;
-char* const DTV_PLANEB_MODULO_HI = $d048;
+char* const DTV_PLANEB_START_LO = (char*)$d049;
+char* const DTV_PLANEB_START_MI = (char*)$d04a;
+char* const DTV_PLANEB_START_HI = (char*)$d04b;
+char* const DTV_PLANEB_STEP = (char*)$d04c;
+char* const DTV_PLANEB_MODULO_LO = (char*)$d047;
+char* const DTV_PLANEB_MODULO_HI = (char*)$d048;
 
 // Select memory bank where sprite data is fetched from (bits 5:0) - source only (J)
 // Memory address of Sprite RAM is SpriteBank*$10000
-char* const DTV_SPRITE_BANK = $d04d;
+char* const DTV_SPRITE_BANK = (char*)$d04d;
 
 // Select memory bank where color data is fetched from (bits 11:0)
 // Memory address of Color RAM is ColorBank*$400
-char* const DTV_COLOR_BANK_LO = $d036;
-char* const DTV_COLOR_BANK_HI = $d037;
+char* const DTV_COLOR_BANK_LO = (char*)$d036;
+char* const DTV_COLOR_BANK_HI = (char*)$d037;
 
 const unsigned long DTV_COLOR_BANK_DEFAULT = $1d800;
 
 // Selects memory bank for normal VIC color mode and lower data for high color modes. (bits 5:0)
 // Memory address of VIC Graphics is GraphicsBank*$10000
-char* const DTV_GRAPHICS_VIC_BANK = $d03d;
+char* const DTV_GRAPHICS_VIC_BANK = (char*)$d03d;
 // Selects memory bank for upper data for high color modes. (bits 5:0) - source only (H)
-char* const DTV_GRAPHICS_HICOL_BANK = $d03e;
+char* const DTV_GRAPHICS_HICOL_BANK = (char*)$d03e;
 
 // Set the memory pointed to by CPU BANK 1 SEGMENT ($4000-$7fff)
 // This sets which actual memory is addressed when the CPU reads/writes to $4000-$7fff
@@ -67,46 +67,46 @@ char* const DTV_GRAPHICS_HICOL_BANK = $d03e;
 void dtvSetCpuBankSegment1(char cpuBankIdx);
 
 // Blitter Source A Start
-char* const DTV_BLITTER_SRCA_LO = $d320;
-char* const DTV_BLITTER_SRCA_MI = $d321;
-char* const DTV_BLITTER_SRCA_HI = $d322;
+char* const DTV_BLITTER_SRCA_LO = (char*)$d320;
+char* const DTV_BLITTER_SRCA_MI = (char*)$d321;
+char* const DTV_BLITTER_SRCA_HI = (char*)$d322;
 // Blitter Source A Modulo
-char* const DTV_BLITTER_SRCA_MOD_LO = $d323;
-char* const DTV_BLITTER_SRCA_MOD_HI = $d324;
+char* const DTV_BLITTER_SRCA_MOD_LO = (char*)$d323;
+char* const DTV_BLITTER_SRCA_MOD_HI = (char*)$d324;
 // Blitter Source A Line Length
-char* const DTV_BLITTER_SRCA_LIN_LO = $d325;
-char* const DTV_BLITTER_SRCA_LIN_HI = $d326;
+char* const DTV_BLITTER_SRCA_LIN_LO = (char*)$d325;
+char* const DTV_BLITTER_SRCA_LIN_HI = (char*)$d326;
 // Blitter Source A Step ([7:4] integral part, [3:0] fractional part)
-char* const DTV_BLITTER_SRCA_STEP = $d327;
+char* const DTV_BLITTER_SRCA_STEP = (char*)$d327;
 // Blitter Source B Start
-char* const DTV_BLITTER_SRCB_LO = $d328;
-char* const DTV_BLITTER_SRCB_MI = $d329;
-char* const DTV_BLITTER_SRCB_HI = $d32a;
+char* const DTV_BLITTER_SRCB_LO = (char*)$d328;
+char* const DTV_BLITTER_SRCB_MI = (char*)$d329;
+char* const DTV_BLITTER_SRCB_HI = (char*)$d32a;
 // Blitter Source B Modulo
-char* const DTV_BLITTER_SRCB_MOD_LO = $d32b;
-char* const DTV_BLITTER_SRCB_MOD_HI = $d32c;
+char* const DTV_BLITTER_SRCB_MOD_LO = (char*)$d32b;
+char* const DTV_BLITTER_SRCB_MOD_HI = (char*)$d32c;
 // Blitter Source B Line Length
-char* const DTV_BLITTER_SRCB_LIN_LO = $d32d;
-char* const DTV_BLITTER_SRCB_LIN_HI = $d32e;
+char* const DTV_BLITTER_SRCB_LIN_LO = (char*)$d32d;
+char* const DTV_BLITTER_SRCB_LIN_HI = (char*)$d32e;
 // Blitter Source B Step ([7:4] integral part, [3:0] fractional part)
-char* const DTV_BLITTER_SRCB_STEP = $d32f;
+char* const DTV_BLITTER_SRCB_STEP = (char*)$d32f;
 // Blitter Destination Start
-char* const DTV_BLITTER_DEST_LO = $d330;
-char* const DTV_BLITTER_DEST_MI = $d331;
-char* const DTV_BLITTER_DEST_HI = $d332;
+char* const DTV_BLITTER_DEST_LO = (char*)$d330;
+char* const DTV_BLITTER_DEST_MI = (char*)$d331;
+char* const DTV_BLITTER_DEST_HI = (char*)$d332;
 // Blitter Source B Modulo
-char* const DTV_BLITTER_DEST_MOD_LO = $d333;
-char* const DTV_BLITTER_DEST_MOD_HI = $d334;
+char* const DTV_BLITTER_DEST_MOD_LO = (char*)$d333;
+char* const DTV_BLITTER_DEST_MOD_HI = (char*)$d334;
 // Blitter Source B Line Length
-char* const DTV_BLITTER_DEST_LIN_LO = $d335;
-char* const DTV_BLITTER_DEST_LIN_HI = $d336;
+char* const DTV_BLITTER_DEST_LIN_LO = (char*)$d335;
+char* const DTV_BLITTER_DEST_LIN_HI = (char*)$d336;
 // Blitter Source B Step ([7:4] integral part, [3:0] fractional part)
-char* const DTV_BLITTER_DEST_STEP = $d337;
+char* const DTV_BLITTER_DEST_STEP = (char*)$d337;
 // Blitter Blit Length
-char* const DTV_BLITTER_LEN_LO = $d338;
-char* const DTV_BLITTER_LEN_HI = $d339;
+char* const DTV_BLITTER_LEN_LO = (char*)$d338;
+char* const DTV_BLITTER_LEN_HI = (char*)$d339;
 // Blitter Control
-char* const DTV_BLITTER_CONTROL = $d33a;
+char* const DTV_BLITTER_CONTROL = (char*)$d33a;
 // Bit[0] Force Start Strobe when set
 const char  DTV_BLIT_FORCE_START    = %00000001;
 // Bit[1] Source A Direction Positive when set
@@ -124,7 +124,7 @@ const char  DTV_BLIT_VBLANK         = %01000000;
 // Bit[7] Blitter IRQ Enable when set
 const char  DTV_BLIT_IRQ_EN         = %10000000;
 // Blitter Transparency
-char* const DTV_BLITTER_TRANSPARANCY = $d33b;
+char* const DTV_BLITTER_TRANSPARANCY = (char*)$d33b;
 // Bit[0]   Disable Channel B.
 // (data into b port of ALU is forced to %00000000. ALU functions as normal)
 const char  DTV_BLIT_DISABLE_B          = %00000001;
@@ -138,7 +138,7 @@ const char  DTV_BLIT_WRITE_NONTRANSPARENT  = %00000100;
 // Bit[2]==Bit[1]==0: write in any case
 const char  DTV_BLIT_TRANSPARANCY_NONE     = %00000000;
 // Controls the ALU operation
-char* DTV_BLITTER_ALU = $d33e;
+char* DTV_BLITTER_ALU = (char*)$d33e;
 // Bit[2:0] Source A right Shift: 000 SourceA Data,  001 LastA[0],SourceA[7:1], ...,  111 LastA[6:0],SourceA[7]
 const char DTV_BLIT_SHIFT0  = %00000000;
 const char DTV_BLIT_SHIFT1  = %00000001;
@@ -158,7 +158,7 @@ const char DTV_BLIT_XNOR    = %00101000;
 const char DTV_BLIT_ADD     = %00110000;
 const char DTV_BLIT_SUB     = %00111000;
 // Blitter Control 2
-char* const DTV_BLITTER_CONTROL2 = $d33f;
+char* const DTV_BLITTER_CONTROL2 = (char*)$d33f;
 // Bit[0] Clear Blitter IRQ
 const char  DTV_BLIT_CLEAR_IRQ      = %00000001;
 // Bit[1] Source A Continue
diff --git a/src/main/kc/include/cx16-vera.h b/src/main/kc/include/cx16-vera.h
index e015d6631..27e4b6975 100644
--- a/src/main/kc/include/cx16-vera.h
+++ b/src/main/kc/include/cx16-vera.h
@@ -29,15 +29,15 @@ const char LIGHT_GREY = 0xf;
 // See https://github.com/commanderx16/x16-emulator/wiki/(VERA-0.8)-Registers-$9F23-and-$9F24-(and-$9F25)
 
 // $9F20 VRAM Address (7:0)
-char * const VERA_ADDRX_L = 0x9f20;
+char * const VERA_ADDRX_L = (char*)0x9f20;
 // $9F21 VRAM Address (15:8)
-char * const VERA_ADDRX_M = 0x9f21;
+char * const VERA_ADDRX_M = (char*)0x9f21;
 // $9F22 VRAM Address (7:0)
 // Bit 4-7: Address Increment  The following is the amount incremented per value value:increment
 //                             0:0, 1:1, 2:2, 3:4, 4:8, 5:16, 6:32, 7:64, 8:128, 9:256, 10:512, 11:40, 12:80, 13:160, 14:320, 15:640
 // Bit 3: DECR Setting the DECR bit, will decrement instead of increment by the value set by the 'Address Increment' field.
 // Bit 0: VRAM Address (16)
-char * const VERA_ADDRX_H = 0x9f22;
+char * const VERA_ADDRX_H = (char*)0x9f22;
 const char VERA_INC_0 = 0x00;
 const char VERA_INC_1 = 0x10;
 const char VERA_INC_2 = 0x20;
@@ -71,14 +71,14 @@ const char VERA_DECR_160 = 0xd8;
 const char VERA_DECR_320 = 0xe8;
 const char VERA_DECR_640 = 0xf8;
 // $9F23	DATA0	VRAM Data port 0
-char * const VERA_DATA0 = 0x9f23;
+char * const VERA_DATA0 = (char*)0x9f23;
 // $9F24	DATA1	VRAM Data port 1
-char * const VERA_DATA1 = 0x9f24;
+char * const VERA_DATA1 = (char*)0x9f24;
 // $9F25	CTRL Control
 // Bit 7: Reset
 // Bit 1: DCSEL
 // Bit 2: ADDRSEL
-char * const VERA_CTRL = 0x9f25;
+char * const VERA_CTRL = (char*)0x9f25;
 const char VERA_DCSEL	= 2;
 const char VERA_ADDRSEL	= 1;
 // $9F26	IEN		Interrupt Enable
@@ -87,7 +87,7 @@ const char VERA_ADDRSEL	= 1;
 // Bit 2: SPRCOL
 // Bit 1: LINE
 // Bit 0: VSYNC
-char * const VERA_IEN = 0x9f26;
+char * const VERA_IEN = (char*)0x9f26;
 const char VERA_AFLOW	= 8;
 const char VERA_SPRCOL	= 4;
 const char VERA_LINE	= 2;
@@ -100,12 +100,12 @@ const char VERA_VSYNC	= 1;
 // Bit 2: SPRCOL
 // Bit 1: LINE
 // Bit 0: VSYNC
-char * const VERA_ISR = 0x9f27;
+char * const VERA_ISR = (char*)0x9f27;
 // $9F28	IRQLINE_L	IRQ line (7:0)
 // IRQ_LINE specifies at which line the LINE interrupt will be generated.
 // Note that bit 8 of this value is present in the IEN register.
 // For interlaced modes the interrupt will be generated each field and the bit 0 of IRQ_LINE is ignored.
-char * const VERA_IRQLINE_L = 0x9f28;
+char * const VERA_IRQLINE_L = (char*)0x9f28;
 
 // $9F29	DC_VIDEO (DCSEL=0)
 // Bit 7: Current Field     Read-only bit which reflects the active interlaced field in composite and RGB modes. (0: even, 1: odd)
@@ -114,7 +114,7 @@ char * const VERA_IRQLINE_L = 0x9f28;
 // Bit 4: Layer0 Enable	    Enable output from the Layer0 renderer
 // Bit 2: Chroma Disable    Setting 'Chroma Disable' disables output of chroma in NTSC composite mode and will give a better picture on a monochrome display. (Setting this bit will also disable the chroma output on the S-video output.)
 // Bit 0-1: Output Mode     0: Video disabled, 1: VGA output, 2: NTSC composite, 3: RGB interlaced, composite sync (via VGA connector)
-char * const VERA_DC_VIDEO = 0x9f29;
+char * const VERA_DC_VIDEO = (char*)0x9f29;
 const char VERA_SPRITES_ENABLE = 0x40;
 const char VERA_LAYER1_ENABLE = 0x20;
 const char VERA_LAYER0_ENABLE = 0x10;
@@ -124,19 +124,19 @@ const char VERA_OUTPUT_VGA = 0x01;
 const char VERA_OUTPUT_NTSC = 0x02;
 const char VERA_OUTPUT_RGB = 0x03;
 // $9F2A	DC_HSCALE (DCSEL=0)	Active Display H-Scale
-char * const VERA_DC_HSCALE = 0x9f2a;
+char * const VERA_DC_HSCALE = (char*)0x9f2a;
 // $9F2B	DC_VSCALE (DCSEL=0)	Active Display V-Scale
-char * const VERA_DC_VSCALE = 0x9f2b;
+char * const VERA_DC_VSCALE = (char*)0x9f2b;
 // $9F2C	DC_BORDER (DCSEL=0)	Border Color
-char * const VERA_DC_BORDER = 0x9f2c;
+char * const VERA_DC_BORDER = (char*)0x9f2c;
 // $9F29	DC_HSTART (DCSEL=1)	Active Display H-Start (9:2)
-char * const VERA_DC_HSTART = 0x9f29;
+char * const VERA_DC_HSTART = (char*)0x9f29;
 // $9F2A	DC_HSTOP (DCSEL=1)	Active Display H-Stop (9:2)
-char * const VERA_DC_HSTOP = 0x9f2a;
+char * const VERA_DC_HSTOP = (char*)0x9f2a;
 // $9F2B	DC_VSTART (DCSEL=1)	Active Display V-Start (8:1)
-char * const VERA_DC_VSTART = 0x9f2b;
+char * const VERA_DC_VSTART = (char*)0x9f2b;
 // $9F2C	DC_VSTOP (DCSEL=1)	Active Display V-Stop (8:1)
-char * const VERA_DC_VSTOP = 0x9f2c;
+char * const VERA_DC_VSTOP = (char*)0x9f2c;
 
 // Configuration work tables
 
@@ -165,7 +165,7 @@ byte const VERA_LAYER_COLOR_DEPTH_MASK = 0x03;
 byte const VERA_LAYER_COLOR_DEPTH[4] = {1, 2, 4, 8};
 
 // $9F2D	L0_CONFIG   Layer 0 Configuration
-char * const VERA_L0_CONFIG = 0x9f2d;
+char * const VERA_L0_CONFIG = (char*)0x9f2d;
 // Bit 2: Bitmap Mode	(0:tile mode, 1: bitmap mode)
 char const VERA_LAYER_CONFIG_MODE_TILE = 0x00;
 char const VERA_LAYER_CONFIG_MODE_BITMAP = 0x04;
@@ -173,7 +173,7 @@ char const VERA_LAYER_CONFIG_MODE_BITMAP = 0x04;
 char const VERA_LAYER_CONFIG_16C = 0x00;
 char const VERA_LAYER_CONFIG_256C = 0x08;
 // $9F2E	L0_MAPBASE	    Layer 0 Map Base Address (16:9)
-char * const VERA_L0_MAPBASE = 0x9f2e;
+char * const VERA_L0_MAPBASE = (char*)0x9f2e;
 // $9F2F	L0_TILEBASE	    Layer 0 Tile Base
 // Bit 2-7: Tile Base Address (16:11)
 // Bit 1:   Tile Height (0:8 pixels, 1:16 pixels)
@@ -185,49 +185,49 @@ byte const VERA_TILEBASE_HEIGHT_16 = 0x02;
 byte const VERA_TILEBASE_HEIGHT_MASK = 0x02;
 byte const VERA_LAYER_TILEBASE_MASK = 0xfC;
 // Bit 0:	Tile Width (0:8 pixels, 1:16 pixels)
-char * const VERA_L0_TILEBASE = 0x9f2f;
+char * const VERA_L0_TILEBASE = (char*)0x9f2f;
 // $9F30	L0_HSCROLL_L	Layer 0 H-Scroll (7:0)
-char * const VERA_L0_HSCROLL_L = 0x9f30;
+char * const VERA_L0_HSCROLL_L = (char*)0x9f30;
 // $9F31	L0_HSCROLL_H	Layer 0 H-Scroll (11:8)
-char * const VERA_L0_HSCROLL_H = 0x9f31;
+char * const VERA_L0_HSCROLL_H = (char*)0x9f31;
 // $9F32	L0_VSCROLL_L	Layer 0 V-Scroll (7:0)
-char * const VERA_L0_VSCROLL_L = 0x9f32;
+char * const VERA_L0_VSCROLL_L = (char*)0x9f32;
 // $9F33	L0_VSCROLL_H    Layer 0 V-Scroll (11:8)
-char * const VERA_L0_VSCROLL_H = 0x9f33;
+char * const VERA_L0_VSCROLL_H = (char*)0x9f33;
 // $9F34	L1_CONFIG   Layer 1 Configuration
-char * const VERA_L1_CONFIG = 0x9f34;
+char * const VERA_L1_CONFIG = (char*)0x9f34;
 // $9F35	L1_MAPBASE	    Layer 1 Map Base Address (16:9)
-char * const VERA_L1_MAPBASE = 0x9f35;
+char * const VERA_L1_MAPBASE = (char*)0x9f35;
 // $9F36	L1_TILEBASE	    Layer 1 Tile Base
 // Bit 2-7: Tile Base Address (16:11)
 // Bit 1:   Tile Height (0:8 pixels, 1:16 pixels)
 // Bit 0:	Tile Width (0:8 pixels, 1:16 pixels)
-char * const VERA_L1_TILEBASE = 0x9f36;
+char * const VERA_L1_TILEBASE = (char*)0x9f36;
 // $9F37	L1_HSCROLL_L	Layer 1 H-Scroll (7:0)
-char * const VERA_L1_HSCROLL_L = 0x9f37;
+char * const VERA_L1_HSCROLL_L = (char*)0x9f37;
 // $9F38	L1_HSCROLL_H	Layer 1 H-Scroll (11:8)
-char * const VERA_L1_HSCROLL_H = 0x9f38;
+char * const VERA_L1_HSCROLL_H = (char*)0x9f38;
 // $9F39	L1_VSCROLL_L	Layer 1 V-Scroll (7:0)
-char * const VERA_L1_VSCROLL_L = 0x9f39;
+char * const VERA_L1_VSCROLL_L = (char*)0x9f39;
 // $9F3A	L1_VSCROLL_H	Layer 1 V-Scroll (11:8)
-char * const VERA_L1_VSCROLL_H = 0x9f3a;
+char * const VERA_L1_VSCROLL_H = (char*)0x9f3a;
 // $9F3B	AUDIO_CTRL
 // Bit 7:   FIFO Full / FIFO Reset
 // Bit 5:   16-Bit
 // Bit 4:   Stereo
 // Bit 0-3: PCM Volume
-char * const VERA_AUDIO_CTRL = 0x9f3b;
+char * const VERA_AUDIO_CTRL = (char*)0x9f3b;
 // $9F3C	AUDIO_RATE	PCM Sample Rate
-char * const VERA_AUDIO_RATE = 0x9f3c;
+char * const VERA_AUDIO_RATE = (char*)0x9f3c;
 // $9F3D	AUDIO_DATA	Audio FIFO data (write-only)
-char * const VERA_AUDIO_DATA = 0x9f3d;
+char * const VERA_AUDIO_DATA = (char*)0x9f3d;
 // $9F3E	SPI_DATA	SPI Data
-char * const VERA_SPI_DATA = 0x9f3e;
+char * const VERA_SPI_DATA = (char*)0x9f3e;
 // $9F3F	SPI_CTRL	SPI Control
 // Bit 7:   Busy
 // Bit 1:   Slow clock
 // Bit 0:   Select
-char * const VERA_SPI_CTRL = 0x9f3f;
+char * const VERA_SPI_CTRL = (char*)0x9f3f;
 
 // VERA Palette address in VRAM  $1FA00 - $1FBFF
 // 256 entries of 2 bytes
diff --git a/src/main/kc/include/cx16.h b/src/main/kc/include/cx16.h
index ba9172380..3908a755b 100644
--- a/src/main/kc/include/cx16.h
+++ b/src/main/kc/include/cx16.h
@@ -11,7 +11,7 @@
 // Port A Bits 0-7 RAM bank
 // Port B Bits 0-2 ROM bank
 // Port B Bits 3-7 [TBD]
-struct MOS6522_VIA * const VIA1 = 0x9f60;
+struct MOS6522_VIA * const VIA1 = (struct MOS6522_VIA *)0x9f60;
 // The VIA#2: Keyboard/Joy/Mouse
 // Port A Bit  0   KBD PS/2 DAT
 // Port A Bit  1   KBD PS/2 CLK
@@ -25,23 +25,23 @@ struct MOS6522_VIA * const VIA1 = 0x9f60;
 // Port B Bit  1   MOUSE PS/2 CLK
 // Port B Bits 2-7 [TBD]
 // NOTE: The pin assignment of the NES/SNES controller is likely to change.
-struct MOS6522_VIA * const VIA2 = 0x9f70;
+struct MOS6522_VIA * const VIA2 = (struct MOS6522_VIA *)0x9f70;
 
 // Interrupt Vectors
 // https://github.com/commanderx16/x16-emulator/wiki/(ASM-Programming)-Interrupts-and-interrupt-handling
 
 // $FFFE	(ROM) Universal interrupt vector - The vector used when the HARDWARE serves IRQ interrupts
-void()** const HARDWARE_IRQ = 0xfffe;
+void()** const HARDWARE_IRQ = (void()**)0xfffe;
 // $0314	(RAM) IRQ vector - The vector used when the KERNAL serves IRQ interrupts
-void()** const KERNEL_IRQ = 0x0314;
+void()** const KERNEL_IRQ = (void()**)0x0314;
 // $0316	(RAM) BRK vector - The vector used when the KERNAL serves IRQ caused by a BRK
-void()** const KERNEL_BRK = 0x0316;
+void()** const KERNEL_BRK = (void()**)0x0316;
 
 
 // VRAM Address of the default screen
-char * const DEFAULT_SCREEN = 0x0000;
+char * const DEFAULT_SCREEN = (char*)0x0000;
 // VRAM Bank (0/1) of the default screen
-char * const DEFAULT_SCREEN_VBANK = 0;
+char * const DEFAULT_SCREEN_VBANK = (char*)0;
 
 // Put a single byte into VRAM.
 // Uses VERA DATA0
diff --git a/src/main/kc/include/mega65-math.h b/src/main/kc/include/mega65-math.h
index e2e16d78f..84f49abb2 100644
--- a/src/main/kc/include/mega65-math.h
+++ b/src/main/kc/include/mega65-math.h
@@ -13,43 +13,43 @@
 // $D70F MATH BUSY
 // Bit 7: DIVBUSY
 // Bit 6: MULBUSY
-char * const MATH_BUSY = 0xd70f;
+char * const MATH_BUSY = (char *)0xd70f;
 
 // $D768-$D76F DIVOUT 64-bit output of MULTINA ÷ MULTINB
 // $D768-$D76B DIVOUT FRAC 32-bit output of MULTINA ÷ MULTINB
-signed char volatile * const MATH_DIVOUT_FRAC_CHAR0 = 0xd768;
-signed char volatile * const MATH_DIVOUT_FRAC_CHAR1 = 0xd769;
-signed char volatile * const MATH_DIVOUT_FRAC_CHAR2 = 0xd76a;
-signed char volatile * const MATH_DIVOUT_FRAC_CHAR3 = 0xd76b;
-signed int  volatile * const MATH_DIVOUT_FRAC_INT0  = 0xd768;
-signed int  volatile * const MATH_DIVOUT_FRAC_INT1  = 0xd76a;
-signed long volatile * const MATH_DIVOUT_FRAC_LONG0 = 0xd768;
+signed char volatile * const MATH_DIVOUT_FRAC_CHAR0 = (signed char*)0xd768;
+signed char volatile * const MATH_DIVOUT_FRAC_CHAR1 = (signed char*)0xd769;
+signed char volatile * const MATH_DIVOUT_FRAC_CHAR2 = (signed char*)0xd76a;
+signed char volatile * const MATH_DIVOUT_FRAC_CHAR3 = (signed char*)0xd76b;
+signed int  volatile * const MATH_DIVOUT_FRAC_INT0  = (signed int*)0xd768;
+signed int  volatile * const MATH_DIVOUT_FRAC_INT1  = (signed int*)0xd76a;
+signed long volatile * const MATH_DIVOUT_FRAC_LONG0 = (signed long*)0xd768;
 // $D768-$D76F DIVOUT 64-bit output of MULTINA ÷ MULTINB
-signed char volatile * const MATH_DIVOUT_WHOLE_CHAR0 = 0xd76c;
-signed int  volatile * const MATH_DIVOUT_WHOLE_INT0  = 0xd76c;
-signed int  volatile * const MATH_DIVOUT_WHOLE_INT1  = 0xd76e;
-signed long volatile * const MATH_DIVOUT_WHOLE_LONG  = 0xd76c;
+signed char volatile * const MATH_DIVOUT_WHOLE_CHAR0 = (signed char*)0xd76c;
+signed int  volatile * const MATH_DIVOUT_WHOLE_INT0  = (signed int*)0xd76c;
+signed int  volatile * const MATH_DIVOUT_WHOLE_INT1  = (signed int*)0xd76e;
+signed long volatile * const MATH_DIVOUT_WHOLE_LONG  = (signed long*)0xd76c;
 
 // $D770-$D773 MULTINA Multiplier input A / Divider numerator (32 bit)
-signed char * const MATH_MULTINA_CHAR0 = 0xd770;
-signed char * const MATH_MULTINA_CHAR1 = 0xd771;
-signed char * const MATH_MULTINA_CHAR2 = 0xd772;
-signed char * const MATH_MULTINA_CHAR3 = 0xd773;
-signed int  * const MATH_MULTINA_INT0  = 0xd770;
-signed int  * const MATH_MULTINA_INT1  = 0xd772;
-signed long * const MATH_MULTINA_LONG  = 0xd770;
+signed char * const MATH_MULTINA_CHAR0 = (signed char*)0xd770;
+signed char * const MATH_MULTINA_CHAR1 = (signed char*)0xd771;
+signed char * const MATH_MULTINA_CHAR2 = (signed char*)0xd772;
+signed char * const MATH_MULTINA_CHAR3 = (signed char*)0xd773;
+signed int  * const MATH_MULTINA_INT0  = (signed int*)0xd770;
+signed int  * const MATH_MULTINA_INT1  = (signed int*)0xd772;
+signed long * const MATH_MULTINA_LONG  = (signed long*)0xd770;
 
 // $D774-$D777 MULTINB Multiplier input B / Divider denominator (32 bit)
-signed char * const MATH_MULTINB_CHAR0 = 0xd774;
-signed char * const MATH_MULTINB_CHAR1 = 0xd775;
-signed char * const MATH_MULTINB_CHAR2 = 0xd776;
-signed char * const MATH_MULTINB_CHAR3 = 0xd777;
-signed int  * const MATH_MULTINB_INT0  = 0xd774;
-signed int  * const MATH_MULTINB_INT1  = 0xd776;
-signed long * const MATH_MULTINB_LONG  = 0xd774;
+signed char * const MATH_MULTINB_CHAR0 = (signed char*)0xd774;
+signed char * const MATH_MULTINB_CHAR1 = (signed char*)0xd775;
+signed char * const MATH_MULTINB_CHAR2 = (signed char*)0xd776;
+signed char * const MATH_MULTINB_CHAR3 = (signed char*)0xd777;
+signed int  * const MATH_MULTINB_INT0  = (signed int*)0xd774;
+signed int  * const MATH_MULTINB_INT1  = (signed int*)0xd776;
+signed long * const MATH_MULTINB_LONG  = (signed long*)0xd774;
 
 // $D778-$D77F MULTOUT 64-bit output of MULTINA × MULTINB
-signed char volatile * const MATH_MULTOUT_CHAR0 = 0xd778;
-signed int  volatile * const MATH_MULTOUT_INT0  = 0xd778;
-signed long volatile * const MATH_MULTOUT_LONG0 = 0xd778;
-signed long volatile * const MATH_MULTOUT_LONG1 = 0xd77c;
\ No newline at end of file
+signed char volatile * const MATH_MULTOUT_CHAR0 = (signed char*)0xd778;
+signed int  volatile * const MATH_MULTOUT_INT0  = (signed int*)0xd778;
+signed long volatile * const MATH_MULTOUT_LONG0 = (signed long*)0xd778;
+signed long volatile * const MATH_MULTOUT_LONG1 = (signed long*)0xd77c;
\ No newline at end of file
diff --git a/src/main/kc/include/mega65.h b/src/main/kc/include/mega65.h
index 739c9f460..57700cfc2 100644
--- a/src/main/kc/include/mega65.h
+++ b/src/main/kc/include/mega65.h
@@ -12,18 +12,18 @@
 #include <mega65-math.h>
 
 // I/O Personality selection
-volatile char * const IO_KEY = 0xd02f;
+volatile char * const IO_KEY = (char*)0xd02f;
 // C65 Banking Register
-volatile char * const IO_BANK = 0xd030;
+volatile char * const IO_BANK = (char*)0xd030;
 // Map 2nd KB of colour RAM $DC00-$DFFF (hiding CIA's)
 const char CRAM2K = 0b00000001;
 
 // Processor port data direction register
-char*  const PROCPORT_DDR = 0x00;
+char*  const PROCPORT_DDR = (char*)0x00;
 // Mask for PROCESSOR_PORT_DDR which allows only memory configuration to be written
 const char PROCPORT_DDR_MEMORY_MASK = 0b00000111;
 // Processor Port Register controlling RAM/ROM configuration and the datasette
-char*  const PROCPORT = 0x01;
+char*  const PROCPORT = (char*)0x01;
 // RAM in all three areas 0xA000, 0xD000, 0xE000
 const char PROCPORT_RAM_ALL         = 0b00000000;
 // RAM in 0xA000, 0xE000 I/O in 0xD000
@@ -36,50 +36,50 @@ const char PROCPORT_KERNEL_IO       = 0b00000110;
 const char PROCPORT_BASIC_KERNEL_IO = 0b00000111;
 
 // The VIC-II MOS 6567/6569
-struct MOS6569_VICII* const VICII = 0xd000;
+struct MOS6569_VICII* const VICII = (struct MOS6569_VICII*)0xd000;
 // The VIC III MOS 4567/4569
-struct MOS4569_VICIII* const VICIII = 0xd000;
+struct MOS4569_VICIII* const VICIII = (struct MOS4569_VICIII*)0xd000;
 // The VIC IV
-struct MEGA65_VICIV* const VICIV = 0xd000;
+struct MEGA65_VICIV* const VICIV = (struct MEGA65_VICIV*)0xd000;
 // The address of the CHARGEN character set
-char * const CHARGEN = 0xd000;
+char * const CHARGEN = (char*)0xd000;
 // Palette RED
-char * const PALETTE_RED = 0xd100;
+char * const PALETTE_RED = (char*)0xd100;
 // Palette GREEN
-char * const PALETTE_GREEN = 0xd200;
+char * const PALETTE_GREEN = (char*)0xd200;
 // Palette BLUE
-char * const PALETTE_BLUE = 0xd300;
+char * const PALETTE_BLUE = (char*)0xd300;
 // The SID MOS 6581/8580
-struct MOS6581_SID * const SID = 0xd400;
+struct MOS6581_SID * const SID = (struct MOS6581_SID *)0xd400;
 // DMAgic F018 Controller
-struct F018_DMAGIC * const DMA = 0xd700;
+struct F018_DMAGIC * const DMA = (struct F018_DMAGIC *)0xd700;
 // Color Ram
-char * const COLORRAM = 0xd800;
+char * const COLORRAM = (char*)0xd800;
 
 // Default address of screen character matrix
 #ifdef __MEGA65_C64__
-    char * const DEFAULT_SCREEN = 0x0400;
+    char * const DEFAULT_SCREEN = (char*)0x0400;
 #else
-    char * const DEFAULT_SCREEN = 0x0800;
+    char * const DEFAULT_SCREEN = (char*)0x0800;
 #endif
 
 // The CIA#1: keyboard matrix, joystick #1/#2
-struct MOS6526_CIA * const CIA1 = 0xdc00;
+struct MOS6526_CIA * const CIA1 = (struct MOS6526_CIA *)0xdc00;
 // The CIA#2: Serial bus, RS-232, VIC memory bank
-struct MOS6526_CIA * const CIA2 = 0xdd00;
+struct MOS6526_CIA * const CIA2 = (struct MOS6526_CIA *)0xdd00;
 // CIA#1 Interrupt for reading in ASM
-char * const CIA1_INTERRUPT = 0xdc0d;
+char * const CIA1_INTERRUPT = (char*)0xdc0d;
 // CIA#2 timer A&B as one single 32-bit value
-unsigned long* const CIA2_TIMER_AB = 0xdd04;
+unsigned long* const CIA2_TIMER_AB = (unsigned long*)0xdd04;
 // CIA#2 Interrupt for reading in ASM
-char * const CIA2_INTERRUPT = 0xdd0d;
+char * const CIA2_INTERRUPT = (char*)0xdd0d;
 
 // The vector used when the KERNAL serves IRQ interrupts
-void()** const KERNEL_IRQ = 0x0314;
+void()** const KERNEL_IRQ = (void()**)0x0314;
 // The vector used when the KERNAL serves NMI interrupts
-void()** const KERNEL_NMI = 0x0318;
+void()** const KERNEL_NMI = (void()**)0x0318;
 // The vector used when the HARDWARE serves IRQ interrupts
-void()** const HARDWARE_IRQ = 0xfffe;
+void()** const HARDWARE_IRQ = (void()**)0xfffe;
 
 // The colors of the C64
 const char BLACK = 0x0;
diff --git a/src/main/kc/include/mos6569.h b/src/main/kc/include/mos6569.h
index 93f2b23e6..24d160b9e 100644
--- a/src/main/kc/include/mos6569.h
+++ b/src/main/kc/include/mos6569.h
@@ -152,46 +152,46 @@ const char BORDER_YPOS_BOTTOM=250;
 // The offset of the sprite pointers from the screen start address
 const unsigned int OFFSET_SPRITE_PTRS = 0x3f8;
 
-char * const SPRITES_XPOS = $d000;
-char * const SPRITES_YPOS = $d001;
-char * const SPRITES_XMSB = $d010;
-char * const SPRITES_COLOR = $d027;
-char*  const SPRITES_ENABLE = $d015;
-char*  const SPRITES_EXPAND_Y = $d017;
-char*  const SPRITES_PRIORITY = $d01b;
-char*  const SPRITES_MC = $d01c;
-char*  const SPRITES_EXPAND_X = $d01d;
+char * const SPRITES_XPOS = (char*)$d000;
+char * const SPRITES_YPOS = (char*)$d001;
+char * const SPRITES_XMSB = (char*)$d010;
+char * const SPRITES_COLOR = (char*)$d027;
+char*  const SPRITES_ENABLE = (char*)$d015;
+char*  const SPRITES_EXPAND_Y = (char*)$d017;
+char*  const SPRITES_PRIORITY = (char*)$d01b;
+char*  const SPRITES_MC = (char*)$d01c;
+char*  const SPRITES_EXPAND_X = (char*)$d01d;
 
-char*  const RASTER = $d012;
-char*  const BORDER_COLOR = $d020;
-char*  const BG_COLOR = $d021;
-char*  const BG_COLOR0 = $d021;
-char*  const BG_COLOR1 = $d022;
-char*  const BG_COLOR2 = $d023;
-char*  const BG_COLOR3 = $d024;
-char*  const SPRITES_MC1 = $d025;
-char*  const SPRITES_MC2 = $d026;
+char*  const RASTER = (char*)$d012;
+char*  const BORDER_COLOR = (char*)$d020;
+char*  const BG_COLOR = (char*)$d021;
+char*  const BG_COLOR0 = (char*)$d021;
+char*  const BG_COLOR1 = (char*)$d022;
+char*  const BG_COLOR2 = (char*)$d023;
+char*  const BG_COLOR3 = (char*)$d024;
+char*  const SPRITES_MC1 = (char*)$d025;
+char*  const SPRITES_MC2 = (char*)$d026;
 
-char*  const VICII_CONTROL1 = $d011;
-char*  const D011 = $d011;
+char*  const VICII_CONTROL1 = (char*)$d011;
+char*  const D011 = (char*)$d011;
 const char VICII_RST8 = %10000000;
 const char VICII_ECM =  %01000000;
 const char VICII_BMM =  %00100000;
 const char VICII_DEN =  %00010000;
 const char VICII_RSEL = %00001000;
 
-char*  const VICII_CONTROL2 = $d016;
-char*  const D016 = $d016;
+char*  const VICII_CONTROL2 = (char*)$d016;
+char*  const D016 = (char*)$d016;
 const char VICII_MCM =  %00010000;
 const char VICII_CSEL = %00001000;
 
-char*  const VICII_MEMORY = $d018;
-char*  const D018 = $d018;
+char*  const VICII_MEMORY = (char*)$d018;
+char*  const D018 = (char*)$d018;
 
 // VIC II IRQ Status Register
-char*  const IRQ_STATUS = $d019;
+char*  const IRQ_STATUS = (char*)$d019;
 // VIC II IRQ Enable Register
-char*  const IRQ_ENABLE = $d01a;
+char*  const IRQ_ENABLE = (char*)$d01a;
 
 // Bits for the VICII IRQ Status/Enable Registers
 const char IRQ_RASTER = %00000001;
diff --git a/src/main/kc/include/mos6581.h b/src/main/kc/include/mos6581.h
index 1d3fb4dfc..41ae1e0ab 100644
--- a/src/main/kc/include/mos6581.h
+++ b/src/main/kc/include/mos6581.h
@@ -50,29 +50,29 @@ struct MOS6581_SID {
 };
 
 // Channel 1 Frequency Low byte
-char * const SID_CH1_FREQ_LO = 0xd400;
+char * const SID_CH1_FREQ_LO = (char*)0xd400;
 // Channel 1 Frequency High byte
-char * const SID_CH1_FREQ_HI = 0xd401;
+char * const SID_CH1_FREQ_HI = (char*)0xd401;
 // Channel 1 Pulse Width (0-4095) Low byte
-char * const SID_CH1_PULSE_WIDTH_LO = 0xd402;
+char * const SID_CH1_PULSE_WIDTH_LO = (char*)0xd402;
 // Channel 1 Pulse Width (0-4095) High byte
-char * const SID_CH1_PULSE_WIDTH_HI = 0xd403;
+char * const SID_CH1_PULSE_WIDTH_HI = (char*)0xd403;
 // Channel 2 Frequency Low byte
-char * const SID_CH2_FREQ_LO = 0xd407;
+char * const SID_CH2_FREQ_LO = (char*)0xd407;
 // Channel 2 Frequency High byte
-char * const SID_CH2_FREQ_HI = 0xd408;
+char * const SID_CH2_FREQ_HI = (char*)0xd408;
 // Channel 2 Pulse Width (0-4095) Low byte
-char * const SID_CH2_PULSE_WIDTH_LO = 0xd409;
+char * const SID_CH2_PULSE_WIDTH_LO = (char*)0xd409;
 // Channel 2 Pulse Width (0-4095) High byte
-char * const SID_CH2_PULSE_WIDTH_HI = 0xd40a;
+char * const SID_CH2_PULSE_WIDTH_HI = (char*)0xd40a;
 // Channel 3 Frequency Low byte
-char * const SID_CH3_FREQ_LO = 0xd40e;
+char * const SID_CH3_FREQ_LO = (char*)0xd40e;
 // Channel 3 Frequency High byte
-char * const SID_CH3_FREQ_HI = 0xd40f;
+char * const SID_CH3_FREQ_HI = (char*)0xd40f;
 // Channel 3 Pulse Width (0-4095) Low byte
-char * const SID_CH3_PULSE_WIDTH_LO = 0xd410;
+char * const SID_CH3_PULSE_WIDTH_LO = (char*)0xd410;
 // Channel 3 Pulse Width (0-4095) High byte
-char * const SID_CH3_PULSE_WIDTH_HI = 0xd411;
+char * const SID_CH3_PULSE_WIDTH_HI = (char*)0xd411;
 
 // SID Channel Control Register Noise Waveform
 const char SID_CONTROL_NOISE = 0x80;
diff --git a/src/main/kc/include/nes.h b/src/main/kc/include/nes.h
index 52ce861b8..afe34095d 100644
--- a/src/main/kc/include/nes.h
+++ b/src/main/kc/include/nes.h
@@ -8,13 +8,13 @@
 #include <ricoh_2a03.h>
 
 // NES Picture Processing Unit (PPU)
-struct RICOH_2C02 * PPU = 0x2000;
+struct RICOH_2C02 * PPU = (struct RICOH_2C02 *)0x2000;
 
 // NES CPU and audion processing unit (APU)
-struct RICOH_2A03 * APU = 0x4000;
+struct RICOH_2A03 * APU = (struct RICOH_2A03 *)0x4000;
 
 // Pointer to the start of RAM memory
-char * const MEMORY = 0;
+char * const MEMORY = (char *)0;
 
 // Sprite Object Attribute Memory Structure
 // The memory layout of a sprite in the PPU's OAM memory
diff --git a/src/main/kc/include/plus4.h b/src/main/kc/include/plus4.h
index 7afde4e87..515ccaaeb 100644
--- a/src/main/kc/include/plus4.h
+++ b/src/main/kc/include/plus4.h
@@ -13,29 +13,29 @@
 #endif
 // The processor port
 // Used for serial I/O and controlling the cassette
-struct MOS7501_PORT * const PROCESSOR_PORT = 0x00;
+struct MOS7501_PORT * const PROCESSOR_PORT = (struct MOS7501_PORT *)0x00;
 
 // Default address of screen luminance/color matrix
-char * const DEFAULT_COLORRAM = 0x0800;
+char * const DEFAULT_COLORRAM = (char*)0x0800;
 
 // Default address of screen character matrix
-char * const DEFAULT_SCREEN = 0x0c00;
+char * const DEFAULT_SCREEN = (char*)0x0c00;
 
 // The ACIA used for RS232 (only on the Plus/4)
-struct MOS6551_ACIA * const ACIA = 0xfd00;
+struct MOS6551_ACIA * const ACIA = (struct MOS6551_ACIA *)0xfd00;
 
 // User Port PIO (P0-P7)
 // Bit 2 (P2) is used to detect if play on cassette is pressed (CST sense)
-struct MOS6529_PIO * const USER_PORT = 0xfd10;
+struct MOS6529_PIO * const USER_PORT = (struct MOS6529_PIO *)0xfd10;
 
 // Keyboard Port PIO (P0-P7)
 // The input latch is part of the TED.
-struct MOS6529_PIO * const KEYBOARD_PORT = 0xfd30;
+struct MOS6529_PIO * const KEYBOARD_PORT = (struct MOS6529_PIO *)0xfd30;
 
 // ROM configuration for the machine, which normally has the BASIC and kernal ROMs enabled.
 // The ROM configuration is adjusted by writing to the registers (the value is irrelevant).
 // The upper portion of the kernal ROM at $FC00-$FCFF is always enabled no matter what the memory configuration, as are the I/O registers.
-struct {
+struct PLUS4_ROM_BANKING {
     // $FDD0 enables or disables BASIC,
     char BASIC;
     // $FDD1 the low function ROM,
@@ -50,10 +50,12 @@ struct {
     char FUNCTION_HIGH;
     // $FDD6 the high cartridge ROM.
     char CARTRIDGE_HIGH;
-} * const ROM_BANKING = 0xfdd0;
+};
+
+struct PLUS4_ROM_BANKING * const ROM_BANKING = (struct PLUS4_ROM_BANKING *)0xfdd0;
 
 // The TED chip controlling video and sound on the Plus/4 and Commodore 16
-struct MOS7360_TED * const TED = 0xff00;
+struct MOS7360_TED * const TED = (struct MOS7360_TED *)0xff00;
 
 
 
diff --git a/src/main/kc/include/ricoh_2a03.h b/src/main/kc/include/ricoh_2a03.h
index 4a212242d..7d340d4bf 100644
--- a/src/main/kc/include/ricoh_2a03.h
+++ b/src/main/kc/include/ricoh_2a03.h
@@ -116,7 +116,7 @@ struct RICOH_2A03 {
 //  ------+-----+---------------------------------------------------------------
 // Side effects	After 3 or 4 CPU clock cycles*, the timer is reset.
 // If the mode flag is set, then both "quarter frame" and "half frame" signals are also generated.
-char * const FR_COUNTER = 0x4017;
+char * const FR_COUNTER = (char*)0x4017;
 
 
 
diff --git a/src/main/kc/include/ricoh_2c02.h b/src/main/kc/include/ricoh_2c02.h
index 556f480b2..6440e9edd 100644
--- a/src/main/kc/include/ricoh_2c02.h
+++ b/src/main/kc/include/ricoh_2c02.h
@@ -7,28 +7,28 @@
 
 // PPU Memory Map
 // $0000-$0fff	$1000	Pattern table 0
-char * const PPU_PATTERN_TABLE_0 = 0x0000;
+char * const PPU_PATTERN_TABLE_0 = (char*)0x0000;
 // $1000-$1fff	$1000	Pattern table 1
-char * const PPU_PATTERN_TABLE_1 = 0x1000;
+char * const PPU_PATTERN_TABLE_1 = (char*)0x1000;
 // $2000-$23bf	$03c0	Name table 0
-char * const PPU_NAME_TABLE_0 = 0x2000;
+char * const PPU_NAME_TABLE_0 = (char*)0x2000;
 // $23c0-$23ff	$0040	Attribute table 0
-char * const PPU_ATTRIBUTE_TABLE_0 = 0x23c0;
+char * const PPU_ATTRIBUTE_TABLE_0 = (char*)0x23c0;
 // $2400-$27bf	$03c0	Name table 1
-char * const PPU_NAME_TABLE_1 = 0x2400;
+char * const PPU_NAME_TABLE_1 = (char*)0x2400;
 // $27c0-$27ff	$0040	Attribute table 1
-char * const PPU_ATTRIBUTE_TABLE_1 = 0x27c0;
+char * const PPU_ATTRIBUTE_TABLE_1 = (char*)0x27c0;
 // $2800-$2bbf	$03c0	Name table 2
-char * const PPU_NAME_TABLE_2 = 0x2800;
+char * const PPU_NAME_TABLE_2 = (char*)0x2800;
 // $2bc0-$2bff	$0040	Attribute table 2
-char * const PPU_ATTRIBUTE_TABLE_2 = 0x2bc0;
+char * const PPU_ATTRIBUTE_TABLE_2 = (char*)0x2bc0;
 // $2c00-$2fbf	$03c0	Name table 3
-char * const PPU_NAME_TABLE_3 = 0x2c00;
+char * const PPU_NAME_TABLE_3 = (char*)0x2c00;
 // $2fc0-$2fff	$0040	Attribute table 3
-char * const PPU_ATTRIBUTE_TABLE_3 = 0x2fc0;
+char * const PPU_ATTRIBUTE_TABLE_3 = (char*)0x2fc0;
 // $3000-$3eff	$0f00	Mirrors of $2000-$2eff
 // $3f00-$3f1f	$0020	Palette RAM indexes
-char * const PPU_PALETTE = 0x3f00;
+char * const PPU_PALETTE = (char*)0x3f00;
 // $3f20-$3fff	$00e0	Mirrors of $3f00-$3f1f
 
 struct RICOH_2C02 { 
@@ -136,7 +136,7 @@ struct RICOH_2C02 {
 };
 
 // PPU Status Register for reading in ASM
-volatile char * const PPU_PPUSTATUS = 0x2002;
+volatile char * const PPU_PPUSTATUS = (char*)0x2002;
 // PPU Data Register for reading in ASM
-volatile char * const PPU_PPUDATA = 0x2007;
+volatile char * const PPU_PPUDATA = (char*)0x2007;
 
diff --git a/src/main/kc/include/vic20.h b/src/main/kc/include/vic20.h
index 8827f3283..05e34dafc 100644
--- a/src/main/kc/include/vic20.h
+++ b/src/main/kc/include/vic20.h
@@ -9,22 +9,22 @@
 #endif
 
 // Default address of screen color matrix
-char * const DEFAULT_COLORRAM = 0x9600;
+char * const DEFAULT_COLORRAM = (char*)0x9600;
 // Address of screen color matrix if bit 7 of $9002 is 1
-char * const ALTERNATIVE_COLORRAM = 0x9400;
+char * const ALTERNATIVE_COLORRAM = (char*)0x9400;
 // Default address of screen character matrix
-char * const DEFAULT_SCREEN = 0x1e00;
+char * const DEFAULT_SCREEN = (char*)0x1e00;
 
 // The address of the CHARGEN character set
-char * const CHARGEN = 0x8000;
+char * const CHARGEN = (char*)0x8000;
 
 // The MOS 6560/6561 VIC Video Interface Chip
-struct MOS6561_VIC * const VIC = 0x9000;
+struct MOS6561_VIC * const VIC = (struct MOS6561_VIC *)0x9000;
 
 // The VIA#1: User port, RS-232, Joystick, Lightpen, Cassette
-struct MOS6522_VIA * const VIA1 = 0x9110;
+struct MOS6522_VIA * const VIA1 = (struct MOS6522_VIA *)0x9110;
 // The VIA#2: Keyboard, Joystick, Cassette
-struct MOS6522_VIA * const VIA2 = 0x9120;
+struct MOS6522_VIA * const VIA2 = (struct MOS6522_VIA *)0x9120;
 
 // The colors of the VIC 20
 const char BLACK = 0x0;
diff --git a/src/main/kc/lib/c64-basic-floats.c b/src/main/kc/lib/c64-basic-floats.c
index c7d4341e5..3f67e9630 100644
--- a/src/main/kc/lib/c64-basic-floats.c
+++ b/src/main/kc/lib/c64-basic-floats.c
@@ -5,8 +5,8 @@
 #include <c64-basic-floats.h>
 
 // Zeropage addresses used to hold lo/hi-bytes of addresses of float numbers in MEM
-char* const memLo = 0xfe;
-char* const memHi = 0xff;
+char* const memLo = (char*)0xfe;
+char* const memHi = (char*)0xff;
 
 // Prepare MEM pointers for operations using MEM
 inline void prepareMEM(unsigned int mem) {
diff --git a/src/main/kc/lib/c64-multiplexer.c b/src/main/kc/lib/c64-multiplexer.c
index b659fe8f5..cc56a2310 100644
--- a/src/main/kc/lib/c64-multiplexer.c
+++ b/src/main/kc/lib/c64-multiplexer.c
@@ -28,7 +28,7 @@ char PLEX_YPOS[PLEX_COUNT];
 char PLEX_PTR[PLEX_COUNT];
 
 // The address of the sprite pointers on the current screen (screen+0x3f8).
-char* volatile PLEX_SCREEN_PTR = 0x400+0x3f8;
+char* volatile PLEX_SCREEN_PTR = (char*)0x400+0x3f8;
 
 // Indexes of the plex-sprites sorted by sprite y-position. Each call to plexSort() will fix the sorting if changes to the Y-positions have ruined it.
 char PLEX_SORTED_IDX[PLEX_COUNT];
diff --git a/src/main/kc/lib/c64-print.c b/src/main/kc/lib/c64-print.c
index 4bb917307..c71b16da5 100644
--- a/src/main/kc/lib/c64-print.c
+++ b/src/main/kc/lib/c64-print.c
@@ -1,7 +1,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-char* print_screen = $0400;
+char* print_screen = (char*)$0400;
 char* print_line_cursor = print_screen;
 char* print_char_cursor = print_line_cursor;
 
diff --git a/src/main/kc/lib/c64dtv.c b/src/main/kc/lib/c64dtv.c
index e35d144c8..3434a012c 100644
--- a/src/main/kc/lib/c64dtv.c
+++ b/src/main/kc/lib/c64dtv.c
@@ -11,7 +11,7 @@
 // The actual memory addressed will be $4000*cpuSegmentIdx
 void dtvSetCpuBankSegment1(char cpuBankIdx) {
     // Move CPU BANK 1 SEGMENT ($4000-$7fff)
-    char* cpuBank = $ff;
+    char* cpuBank = (char*)$ff;
     *cpuBank = cpuBankIdx;
     asm {
         // SAC $dd - A register points to 13 BANK 1 segment
diff --git a/src/main/kc/lib/conio-c64.c b/src/main/kc/lib/conio-c64.c
index a8eb6cd65..dd1b2f617 100644
--- a/src/main/kc/lib/conio-c64.c
+++ b/src/main/kc/lib/conio-c64.c
@@ -22,7 +22,7 @@ const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE;
 // Set initial cursor position
 void conio_c64_init() {
     // Position cursor at current line
-    char * const BASIC_CURSOR_LINE = 0xD6;
+    char * const BASIC_CURSOR_LINE = (char*)0xD6;
     char line = *BASIC_CURSOR_LINE;
     if(line>=CONIO_HEIGHT) line=CONIO_HEIGHT-1;
     gotoxy(0, line);
@@ -31,9 +31,9 @@ void conio_c64_init() {
 // Return true if there's a key waiting, return false if not
 unsigned char kbhit (void) {
     // CIA#1 Port A: keyboard matrix columns and joystick #2
-    char* const CIA1_PORT_A = 0xdc00;
+    char* const CIA1_PORT_A = (char*)0xdc00;
     // CIA#1 Port B: keyboard matrix rows and joystick #1.
-    char* const CIA1_PORT_B = 0xdc01;
+    char* const CIA1_PORT_B = (char*)0xdc01;
     *CIA1_PORT_A = 0;
     return ~*CIA1_PORT_B;
 }
@@ -41,7 +41,7 @@ unsigned char kbhit (void) {
 // Set the color for the background. The old color setting is returned.
 unsigned char bgcolor(unsigned char color) {
     // The background color register address
-    char * const CONIO_BGCOLOR = 0xd021;
+    char * const CONIO_BGCOLOR = (char*)0xd021;
     char old = *CONIO_BGCOLOR;
     *CONIO_BGCOLOR = color;
     return old;
@@ -50,7 +50,7 @@ unsigned char bgcolor(unsigned char color) {
 // Set the color for the border. The old color setting is returned.
 unsigned char bordercolor(unsigned char color) {
     // The border color register address
-    char * const CONIO_BORDERCOLOR = 0xd020;
+    char * const CONIO_BORDERCOLOR = (char*)0xd020;
     char old = *CONIO_BORDERCOLOR;
     *CONIO_BORDERCOLOR = color;
     return old;
diff --git a/src/main/kc/lib/conio-cx16.c b/src/main/kc/lib/conio-cx16.c
index 23dca6fbd..5dbe90d7f 100644
--- a/src/main/kc/lib/conio-cx16.c
+++ b/src/main/kc/lib/conio-cx16.c
@@ -69,7 +69,7 @@ __ma word conio_rowskip = 0;
 // Set initial cursor position
 void conio_x16_init() {
     // Position cursor at current line
-    char * const BASIC_CURSOR_LINE = 0xD6;
+    char * const BASIC_CURSOR_LINE = (char*)0xD6;
     char line = *BASIC_CURSOR_LINE;
     vera_layer_mode_text(1,(dword)0x00000,(dword)0x0F800,128,64,8,8,16);
     screensize(&conio_screen_width, &conio_screen_height);
@@ -88,8 +88,8 @@ unsigned char kbhit(void) {
     char ch = 0;
     char* const chptr = &ch;
 
-    char* const IN_DEV = $028A;        // Current input device number
-    char* const GETIN  = $FFE4;        // CBM GETIN API
+    char* const IN_DEV = (char*)$028A;        // Current input device number
+    char* const GETIN  = (char*)$FFE4;        // CBM GETIN API
 
     kickasm(uses chptr, uses IN_DEV, uses GETIN) {{
 
diff --git a/src/main/kc/lib/conio-mega65.c b/src/main/kc/lib/conio-mega65.c
index 32191cfe8..0e44f87be 100644
--- a/src/main/kc/lib/conio-mega65.c
+++ b/src/main/kc/lib/conio-mega65.c
@@ -37,7 +37,7 @@ void conio_mega65_init() {
     // Enable 2K Color RAM
     *IO_BANK |= CRAM2K;
     // Position cursor at current line
-    char * const BASIC_CURSOR_LINE = 0xeb;
+    char * const BASIC_CURSOR_LINE = (char*)0xeb;
     char line = *BASIC_CURSOR_LINE+1;
     if(line>=CONIO_HEIGHT) line=CONIO_HEIGHT-1;
     gotoxy(0, line);
@@ -46,9 +46,9 @@ void conio_mega65_init() {
 // Return true if there's a key waiting, return false if not
 unsigned char kbhit (void) {
     // CIA#1 Port A: keyboard matrix columns and joystick #2
-    char* const CIA1_PORT_A = 0xdc00;
+    char* const CIA1_PORT_A = (char*)0xdc00;
     // CIA#1 Port B: keyboard matrix rows and joystick #1.
-    char* const CIA1_PORT_B = 0xdc01;
+    char* const CIA1_PORT_B = (char*)0xdc01;
     // Map CIA I/O
     *IO_BANK &= ~CRAM2K;
     // Read keyboard
@@ -62,7 +62,7 @@ unsigned char kbhit (void) {
 // Set the color for the background. The old color setting is returned.
 unsigned char bgcolor(unsigned char color) {
     // The background color register address
-    char * const CONIO_BGCOLOR = 0xd021;
+    char * const CONIO_BGCOLOR = (char*)0xd021;
     char old = *CONIO_BGCOLOR;
     *CONIO_BGCOLOR = color;
     return old;
@@ -71,7 +71,7 @@ unsigned char bgcolor(unsigned char color) {
 // Set the color for the border. The old color setting is returned.
 unsigned char bordercolor(unsigned char color) {
     // The border color register address
-    char * const CONIO_BORDERCOLOR = 0xd020;
+    char * const CONIO_BORDERCOLOR = (char*)0xd020;
     char old = *CONIO_BORDERCOLOR;
     *CONIO_BORDERCOLOR = color;
     return old;
diff --git a/src/main/kc/lib/conio-plus4.c b/src/main/kc/lib/conio-plus4.c
index 53b53066f..a42715c72 100644
--- a/src/main/kc/lib/conio-plus4.c
+++ b/src/main/kc/lib/conio-plus4.c
@@ -22,7 +22,7 @@ const char CONIO_TEXTCOLOR_DEFAULT = 0;
 // Set initial cursor position
 void conio_plus4_init() {
     // Position cursor at current line
-    char * const BASIC_CURSOR_LINE = 0xCD;
+    char * const BASIC_CURSOR_LINE = (char*)0xCD;
     char line = *BASIC_CURSOR_LINE;
     if(line>=CONIO_HEIGHT) line=CONIO_HEIGHT-1;
     gotoxy(0, line);
diff --git a/src/main/kc/lib/conio-vic20.c b/src/main/kc/lib/conio-vic20.c
index e473da316..9e36aa2e1 100644
--- a/src/main/kc/lib/conio-vic20.c
+++ b/src/main/kc/lib/conio-vic20.c
@@ -22,7 +22,7 @@ const char CONIO_TEXTCOLOR_DEFAULT = BLUE;
 // Set initial cursor position
 void conio_vic20_init() {
     // Position cursor at current line
-    char * const BASIC_CURSOR_LINE = 0xD6;
+    char * const BASIC_CURSOR_LINE = (char*)0xD6;
     char line = *BASIC_CURSOR_LINE;
     if(line>=CONIO_HEIGHT) line=CONIO_HEIGHT-1;
     gotoxy(0, line);
diff --git a/src/main/kc/lib/fastmultiply.c b/src/main/kc/lib/fastmultiply.c
index 50cbd9b9e..1d0dfacca 100644
--- a/src/main/kc/lib/fastmultiply.c
+++ b/src/main/kc/lib/fastmultiply.c
@@ -50,7 +50,7 @@ void mulf_init() {
 
 // Prepare for fast multiply with an unsigned char to a unsigned int result
 void mulf8u_prepare(char a) {
-    char* const memA = $fd;
+    char* const memA = (char*)$fd;
     *memA = a;
     asm {
         lda memA
@@ -65,8 +65,8 @@ void mulf8u_prepare(char a) {
 // Calculate fast multiply with a prepared unsigned char to a unsigned int result
 // The prepared number is set by calling mulf8u_prepare(char a)
 unsigned int mulf8u_prepared(char b) {
-    char* const resL = $fe;
-    char* const memB = $ff;
+    char* const resL = (char*)$fe;
+    char* const memB = (char*)$ff;
     *memB = b;
     asm {
         ldx memB
@@ -99,7 +99,7 @@ inline void mulf8s_prepare(signed char a) {
 // Calculate fast multiply with a prepared unsigned char to a unsigned int result
 // The prepared number is set by calling mulf8s_prepare(char a)
 signed int mulf8s_prepared(signed char b) {
-    signed char* const memA = $fd;
+    signed char* const memA = (signed char*)$fd;
     unsigned int m = mulf8u_prepared((char) b);
     if(*memA<0) {
         >m = (>m)-(char)b;
@@ -119,9 +119,9 @@ signed int mulf8s(signed char a, signed char b) {
 // Fast multiply two unsigned ints to a double unsigned int result
 // Done in assembler to utilize fast addition A+X
 unsigned long mulf16u(unsigned int a, unsigned int b) {
-    unsigned int* const memA = $f8;
-    unsigned int* const memB = $fa;
-    unsigned long* const memR = $fc;
+    unsigned int* const memA = (unsigned int*)$f8;
+    unsigned int* const memB = (unsigned int*)$fa;
+    unsigned long* const memR = (unsigned long*)$fc;
     *memA = a;
     *memB = b;
     asm {
diff --git a/src/main/kc/lib/stdlib.c b/src/main/kc/lib/stdlib.c
index 7ef5c5cdd..feaac76c8 100644
--- a/src/main/kc/lib/stdlib.c
+++ b/src/main/kc/lib/stdlib.c
@@ -4,7 +4,7 @@
 #include <string.h>
 
 // Top of the heap used by malloc()
-unsigned char* HEAP_TOP = 0xa000;
+unsigned char* HEAP_TOP = (unsigned char*)0xa000;
 
 // Head of the heap. Moved backward each malloc()
 unsigned char* heap_head = HEAP_TOP;
diff --git a/src/test/java/dk/camelot64/kickc/test/TestProgramsFast.java b/src/test/java/dk/camelot64/kickc/test/TestProgramsFast.java
index 179b6ba54..0ac0625d9 100644
--- a/src/test/java/dk/camelot64/kickc/test/TestProgramsFast.java
+++ b/src/test/java/dk/camelot64/kickc/test/TestProgramsFast.java
@@ -9,6 +9,11 @@ import java.io.IOException;
  */
 public class TestProgramsFast extends TestPrograms {
 
+   @Test
+   public void testSizeOfProblem() throws IOException {
+      compileAndCompare("sizeof-problem.c");
+   }
+
    @Test
    public void testProcedureDeclare0() throws IOException {
       compileAndCompare("procedure-declare-0.c");
@@ -1982,7 +1987,7 @@ public class TestProgramsFast extends TestPrograms {
 
    @Test
    public void testStructPtr12() throws IOException {
-      compileAndCompare("struct-ptr-12.c", log());
+      compileAndCompare("struct-ptr-12.c");
    }
 
    @Test
diff --git a/src/test/kc/address-0.c b/src/test/kc/address-0.c
index 3e9edf129..d8b568c3a 100644
--- a/src/test/kc/address-0.c
+++ b/src/test/kc/address-0.c
@@ -1,7 +1,7 @@
 // Test that address vars are turned into load/store and located at hardcoded addresses
 // Hard-coded zero-page address - global variable
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 char __address(0x02) i = 3;
 
diff --git a/src/test/kc/address-1.c b/src/test/kc/address-1.c
index f524a6bc7..74ab5b2c6 100644
--- a/src/test/kc/address-1.c
+++ b/src/test/kc/address-1.c
@@ -1,7 +1,7 @@
 // Test that address vars are turned into load/store and located at hardcoded addresses
 // Hard-coded zero-page address - local variable
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 
 void main() {
diff --git a/src/test/kc/address-10.c b/src/test/kc/address-10.c
index d267009ab..cfafd249d 100644
--- a/src/test/kc/address-10.c
+++ b/src/test/kc/address-10.c
@@ -1,6 +1,6 @@
 // Test that a local array with a fixed location results in an error
 
-int * const SCREEN = 0x0400;
+int * const SCREEN = (char*)0x0400;
 
 void main() {
     // Local data array at hard-coded location should produce an error
diff --git a/src/test/kc/address-2.c b/src/test/kc/address-2.c
index 69fe42c15..1a2e988bd 100644
--- a/src/test/kc/address-2.c
+++ b/src/test/kc/address-2.c
@@ -1,7 +1,7 @@
 // Test that address vars are turned into load/store and located at hardcoded addresses
 // Hard-coded mainmem-page address - global variable
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 char __address(0x2000) i = 3;
 
diff --git a/src/test/kc/address-3.c b/src/test/kc/address-3.c
index ff9c9dc41..646000171 100644
--- a/src/test/kc/address-3.c
+++ b/src/test/kc/address-3.c
@@ -1,7 +1,7 @@
 // Test that address vars are turned into load/store and located at hardcoded addresses
 // Hard-coded mainmem address - local variable
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     char __address(0x2000) i = 3;
diff --git a/src/test/kc/address-4.c b/src/test/kc/address-4.c
index 4691497c9..2ff76e5ba 100644
--- a/src/test/kc/address-4.c
+++ b/src/test/kc/address-4.c
@@ -1,7 +1,7 @@
 // Test declaring a variable as at a hard-coded address
 // Incrementing a load/store variable will result in cause two *SIZEOF's
 
-unsigned int* SCREEN = 0x0400;
+unsigned int* SCREEN = (char*)0x0400;
 
 void main() {
     __address(0x2) char i=0;
diff --git a/src/test/kc/address-5.c b/src/test/kc/address-5.c
index 45f57fcbd..7a2adc2e2 100644
--- a/src/test/kc/address-5.c
+++ b/src/test/kc/address-5.c
@@ -7,7 +7,7 @@ void main() {
     print('l');
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 volatile char __address(0x03) idx;
 
diff --git a/src/test/kc/address-6.c b/src/test/kc/address-6.c
index 2df4ee1ec..6168f5d29 100644
--- a/src/test/kc/address-6.c
+++ b/src/test/kc/address-6.c
@@ -7,7 +7,7 @@ void main() {
     print('l');
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 volatile char __address(0x3000) idx;
 
diff --git a/src/test/kc/address-8.c b/src/test/kc/address-8.c
index 38e9ff626..e75b5781c 100644
--- a/src/test/kc/address-8.c
+++ b/src/test/kc/address-8.c
@@ -1,7 +1,7 @@
 // Test declaring an array variable as at a hard-coded address
 
 // The screen
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 // Data to be put on the screen
 char __address(0x1000) DATA[1000];
diff --git a/src/test/kc/address-9.c b/src/test/kc/address-9.c
index 3d2a721be..5718a58d1 100644
--- a/src/test/kc/address-9.c
+++ b/src/test/kc/address-9.c
@@ -1,7 +1,7 @@
 // Test declaring an integer array variable as at a hard-coded address
 
 // The screen
-int * const SCREEN = 0x0400;
+int * const SCREEN = (int *)0x0400;
 
 // Data to be put on the screen
 int __address(0x1000) DATA[1000];
diff --git a/src/test/kc/address-of-0.c b/src/test/kc/address-of-0.c
index 584d52282..4de4f2f9a 100644
--- a/src/test/kc/address-of-0.c
+++ b/src/test/kc/address-of-0.c
@@ -1,7 +1,7 @@
 // Test address-of - use the pointer to get the value
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     for( byte b: 0..10) {
          byte* bp = &b;
          byte c = *bp +1;
diff --git a/src/test/kc/address-of-1.c b/src/test/kc/address-of-1.c
index 88337cd71..cf4b35643 100644
--- a/src/test/kc/address-of-1.c
+++ b/src/test/kc/address-of-1.c
@@ -1,7 +1,7 @@
 // Test address-of - pass the pointer as parameter
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     byte b1 = 0;
     byte b2 = 0;
     byte b3 = 0;
diff --git a/src/test/kc/address-of-2.c b/src/test/kc/address-of-2.c
index 8ad5e03b6..edfde4166 100644
--- a/src/test/kc/address-of-2.c
+++ b/src/test/kc/address-of-2.c
@@ -3,7 +3,7 @@
 byte val = 0;
 
 void main() {
-    byte* const SCREEN1 = 0x0400;
+    byte* const SCREEN1 = (char*)0x0400;
     byte* const SCREEN2 = SCREEN1+40;
     byte idx = 0;
     SCREEN1[idx] = val;
diff --git a/src/test/kc/address-of-3.c b/src/test/kc/address-of-3.c
index 422d84a13..d92c2e3ae 100644
--- a/src/test/kc/address-of-3.c
+++ b/src/test/kc/address-of-3.c
@@ -11,7 +11,7 @@ void main() {
 
 }
 
-int* const SCREEN = 0x0400;
+int* const SCREEN = (int*)0x0400;
 char idx = 0;
 
 void print(int* p) {
diff --git a/src/test/kc/address-with-expression-value.c b/src/test/kc/address-with-expression-value.c
index 18a3d7a67..6ae31556c 100644
--- a/src/test/kc/address-with-expression-value.c
+++ b/src/test/kc/address-with-expression-value.c
@@ -1,7 +1,7 @@
 // Test declaring an address as expression
 
 // The screen
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 
 word const var1 = 0x800;
diff --git a/src/test/kc/adventofcode/longlong.c b/src/test/kc/adventofcode/longlong.c
index 4f7e84874..be8c70aeb 100644
--- a/src/test/kc/adventofcode/longlong.c
+++ b/src/test/kc/adventofcode/longlong.c
@@ -52,7 +52,7 @@ struct LongLong plusLongLong(__ma struct LongLong a, __ma struct LongLong b) {
 
 
 
-struct LongLong * SCREEN = 0x0400;
+struct LongLong * SCREEN = (char*)0x0400;
 
 void main() {
     struct LongLong a = toLongLong(1000);
diff --git a/src/test/kc/array-16bit-lookup.c b/src/test/kc/array-16bit-lookup.c
index 96dc3d695..e10ca7210 100644
--- a/src/test/kc/array-16bit-lookup.c
+++ b/src/test/kc/array-16bit-lookup.c
@@ -2,7 +2,7 @@
 // http://8bitworkshop.com/blog/compilers/2019/03/17/cc65-optimization.html
 
 void main() {
-    unsigned int* SCREEN = 0x0400;
+    unsigned int* SCREEN = (unsigned int*)0x0400;
     for(unsigned char idx : 0..128)
         SCREEN[idx] = getValue(idx);
 }
diff --git a/src/test/kc/array-length-mismatch.c b/src/test/kc/array-length-mismatch.c
index 39847d192..5ada16b77 100644
--- a/src/test/kc/array-length-mismatch.c
+++ b/src/test/kc/array-length-mismatch.c
@@ -1,6 +1,6 @@
 byte b[3] = { 1, 2, 3, 4, 5 };
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     SCREEN[0] = b[0];
 }
\ No newline at end of file
diff --git a/src/test/kc/array-uninitialized.c b/src/test/kc/array-uninitialized.c
index 414a60c8f..d6a9bedb7 100644
--- a/src/test/kc/array-uninitialized.c
+++ b/src/test/kc/array-uninitialized.c
@@ -1,6 +1,6 @@
 byte b[];
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     SCREEN[0] = b[0];
 }
diff --git a/src/test/kc/arrays-init-kasm-0.c b/src/test/kc/arrays-init-kasm-0.c
index b09f7f417..028f890eb 100644
--- a/src/test/kc/arrays-init-kasm-0.c
+++ b/src/test/kc/arrays-init-kasm-0.c
@@ -5,7 +5,7 @@ byte SINTAB[256] = kickasm {{
     .fill 256, 128 + 128*sin(i*2*PI/256)
 }};
 
-byte* SCREEN = 0x400;
+byte* SCREEN = (char*)0x400;
 
 void main() {
     SCREEN[0] = SINTAB[0];
diff --git a/src/test/kc/arrays-init-kasm-1.c b/src/test/kc/arrays-init-kasm-1.c
index 0fb9915c0..264eab687 100644
--- a/src/test/kc/arrays-init-kasm-1.c
+++ b/src/test/kc/arrays-init-kasm-1.c
@@ -6,7 +6,7 @@ __address(0x1000) char SINTAB[256] = kickasm {{
     .fill 256, 128 + 128*sin(i*2*PI/256)
 }};
 
-char* SCREEN = 0x400;
+char* SCREEN = (char*)0x400;
 
 void main() {
     SCREEN[0] = SINTAB[0];
diff --git a/src/test/kc/arrays-init-short.c b/src/test/kc/arrays-init-short.c
index 37facaf30..cea21e354 100644
--- a/src/test/kc/arrays-init-short.c
+++ b/src/test/kc/arrays-init-short.c
@@ -3,7 +3,7 @@
 char msg1[16] ="camelot";
 char msg2[16] = { 'c', 'm', 'l' };
 
-char* const SCREEN = 0x400;
+char* const SCREEN = (char*)0x400;
 
 void main() {
     for(char i=0;msg1[i];i++)
diff --git a/src/test/kc/arrays-init.c b/src/test/kc/arrays-init.c
index 8b9466fdb..eb9695542 100644
--- a/src/test/kc/arrays-init.c
+++ b/src/test/kc/arrays-init.c
@@ -3,7 +3,7 @@ byte b[3];
 byte c[] = {'c', 'm', 'l'};
 byte d[] = "cml"z;
 
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 
 void main() {
     b[0] = 'c';
diff --git a/src/test/kc/arrays-nonstandard-syntax.c b/src/test/kc/arrays-nonstandard-syntax.c
index e678021e8..3e47a1581 100644
--- a/src/test/kc/arrays-nonstandard-syntax.c
+++ b/src/test/kc/arrays-nonstandard-syntax.c
@@ -2,7 +2,7 @@
 
 char[16] msg ="camelot";
 
-char* const SCREEN = 0x400;
+char* const SCREEN = (char*)0x400;
 
 void main() {
     for(char i=0;msg[i];i++)
diff --git a/src/test/kc/asm-mnemonic-names.c b/src/test/kc/asm-mnemonic-names.c
index bc438c6bf..fe437244f 100644
--- a/src/test/kc/asm-mnemonic-names.c
+++ b/src/test/kc/asm-mnemonic-names.c
@@ -1,7 +1,7 @@
 // Test using an ASM mnemonic as a C symbol names
 // Works if the C-lexer and the ASM-lexer are separated properly
 
-char* const lda = 0x0400;
+char* const lda = (char*)0x0400;
 
 void main() {
     char jmp = 1;
diff --git a/src/test/kc/asm-uses-0.c b/src/test/kc/asm-uses-0.c
index 43d624c63..5e0eaf2f1 100644
--- a/src/test/kc/asm-uses-0.c
+++ b/src/test/kc/asm-uses-0.c
@@ -6,7 +6,7 @@ void main() {
     }
 }
 
-char* const BG_COLOR = 0xd020;
+char* const BG_COLOR = (char*)0xd020;
 
 // Function only used inside the inline asm
 void init() {
diff --git a/src/test/kc/assign-const.c b/src/test/kc/assign-const.c
index 7bd3167f5..3b70a0eb9 100644
--- a/src/test/kc/assign-const.c
+++ b/src/test/kc/assign-const.c
@@ -2,6 +2,6 @@ const byte prime = 7;
 
 void main() {
     prime = 13;
-    byte* screen = $0400;
+    byte* screen = (byte*)$0400;
     *screen = prime;
 }
\ No newline at end of file
diff --git a/src/test/kc/assignment-chained.c b/src/test/kc/assignment-chained.c
index b5211a560..53638ea3b 100644
--- a/src/test/kc/assignment-chained.c
+++ b/src/test/kc/assignment-chained.c
@@ -1,7 +1,7 @@
 // Tests that chained assignments work as intended
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     byte a;
     screen[0] = a = 'c';
     screen[40] = a;
diff --git a/src/test/kc/assignment-compound.c b/src/test/kc/assignment-compound.c
index 6e418589d..057fc1642 100644
--- a/src/test/kc/assignment-compound.c
+++ b/src/test/kc/assignment-compound.c
@@ -1,8 +1,8 @@
 // Test compound assignment operators
 byte ref[] = { 3, 4, 3, 18, 9, 1, 4, 2, 4, 5, 1 , 0};
-byte* screen1 = $400;
+byte* screen1 = (char*)$400;
 byte* screen2 = screen1+40;
-byte* cols = $d800;
+byte* cols = (char*)$d800;
 byte GREEN = 5;
 byte RED = 2;
 
diff --git a/src/test/kc/atarixl-md5b.c b/src/test/kc/atarixl-md5b.c
index 177741ec3..aecbd272b 100644
--- a/src/test/kc/atarixl-md5b.c
+++ b/src/test/kc/atarixl-md5b.c
@@ -1,12 +1,12 @@
 // 8 bit converted md5 calculator
 
 void main() {
-    for(char* s=0x0400;s<0x0800;s++) *s=' ';
+    for(char* s=(char*)0x0400;s<0x0800;s++) *s=' ';
 	md5();
 	for(;;) ;
 }
 
-__ma char * line = 0x0400;
+__ma char * line = (char*)0x0400;
 __ma char idx = 0;
 char HEX[] = "0123456789abcdef";
 
diff --git a/src/test/kc/bgblacklib.c b/src/test/kc/bgblacklib.c
index 4b66b0222..807257947 100644
--- a/src/test/kc/bgblacklib.c
+++ b/src/test/kc/bgblacklib.c
@@ -1,2 +1,2 @@
-char* const BG_COLOR = 0xd021;
+char* const BG_COLOR = (char*)0xd021;
 const char BLACK = 0x00;
\ No newline at end of file
diff --git a/src/test/kc/bitmap-circle-2.c b/src/test/kc/bitmap-circle-2.c
index 0c5c910cb..5c7114d28 100644
--- a/src/test/kc/bitmap-circle-2.c
+++ b/src/test/kc/bitmap-circle-2.c
@@ -1,8 +1,8 @@
 #include <c64.h>
 
-byte* const SCREEN = $400;
-byte* const BITMAP = $2000;
-byte* const COLORS = $d800;
+byte* const SCREEN = (byte*)$400;
+byte* const BITMAP = (byte*)$2000;
+byte* const COLORS = (byte*)$d800;
 
 byte bitmask[] = { 128, 64, 32, 16, 8, 4, 2, 1 };
 
diff --git a/src/test/kc/bitmap-circle.c b/src/test/kc/bitmap-circle.c
index 703689c16..c9a155f08 100644
--- a/src/test/kc/bitmap-circle.c
+++ b/src/test/kc/bitmap-circle.c
@@ -4,9 +4,9 @@
 
 #include <c64.h>
 
-byte* const SCREEN = $400;
-byte* const BITMAP = $2000;
-byte* const COLORS = $d800;
+byte* const SCREEN = (byte*)$400;
+byte* const BITMAP = (byte*)$2000;
+byte* const COLORS = (byte*)$d800;
 
 byte bitmask[] = { 128, 64, 32, 16, 8, 4, 2, 1 };
 
diff --git a/src/test/kc/bitmap-line-anim-1.c b/src/test/kc/bitmap-line-anim-1.c
index 054fde30b..088131dbc 100644
--- a/src/test/kc/bitmap-line-anim-1.c
+++ b/src/test/kc/bitmap-line-anim-1.c
@@ -4,8 +4,8 @@
 #include <c64.h>
 #include <c64-bitmap.h>
 
-byte* const SCREEN = $400;
-byte* const BITMAP = $2000;
+byte* const SCREEN = (byte*)$400;
+byte* const BITMAP = (byte*)$2000;
 
 byte next=0;
 
diff --git a/src/test/kc/bitmap-line-anim-2.c b/src/test/kc/bitmap-line-anim-2.c
index 875f38ca3..c3f88a36e 100644
--- a/src/test/kc/bitmap-line-anim-2.c
+++ b/src/test/kc/bitmap-line-anim-2.c
@@ -4,8 +4,8 @@
 #include <c64.h>
 #include <c64-bitmap.h>
 
-byte* const SCREEN = $400;
-byte* const BITMAP = $2000;
+byte* const SCREEN = (byte*)$400;
+byte* const BITMAP = (byte*)$2000;
 
 word next=0;
 
diff --git a/src/test/kc/bitmap-plot-0.c b/src/test/kc/bitmap-plot-0.c
index 0550effd6..b1d08ec4b 100644
--- a/src/test/kc/bitmap-plot-0.c
+++ b/src/test/kc/bitmap-plot-0.c
@@ -3,8 +3,8 @@
 #include <c64.h>
 #include <c64-bitmap.h>
 
-byte* BITMAP = 0x2000;
-byte* SCREEN = 0x0400;
+byte* BITMAP = (byte*)0x2000;
+byte* SCREEN = (byte*)0x0400;
 
 byte plots_per_frame[0x100];
 
diff --git a/src/test/kc/bitmap-plot-1.c b/src/test/kc/bitmap-plot-1.c
index 4525906e0..29a31ba4a 100644
--- a/src/test/kc/bitmap-plot-1.c
+++ b/src/test/kc/bitmap-plot-1.c
@@ -5,8 +5,8 @@
 #include <multiply.h>
 #include <c64-bitmap.h>
 
-byte* BITMAP = 0x2000;
-byte* SCREEN = 0x0400;
+byte* BITMAP = (byte*)0x2000;
+byte* SCREEN = (byte*)0x0400;
 
 byte plots_per_frame[0x100];
 
diff --git a/src/test/kc/bitmap-plot-2.c b/src/test/kc/bitmap-plot-2.c
index 39f047541..778f70709 100644
--- a/src/test/kc/bitmap-plot-2.c
+++ b/src/test/kc/bitmap-plot-2.c
@@ -5,8 +5,8 @@
 #include <multiply.h>
 #include <c64-bitmap.h>
 
-byte* BITMAP = 0x2000;
-byte* SCREEN = 0x0400;
+byte* BITMAP = (byte*)0x2000;
+byte* SCREEN = (byte*)0x0400;
 
 byte plots_per_frame[0x100];
 
diff --git a/src/test/kc/bitmap-plot-3.c b/src/test/kc/bitmap-plot-3.c
index c62f57565..bbc38b7ab 100644
--- a/src/test/kc/bitmap-plot-3.c
+++ b/src/test/kc/bitmap-plot-3.c
@@ -4,8 +4,8 @@
 #include <c64-bitmap.h>
 #include <c64-print.h>
 
-byte* BITMAP = 0x2000;
-byte* SCREEN = 0x0400;
+byte* BITMAP = (byte*)0x2000;
+byte* SCREEN = (byte*)0x0400;
 
 byte __align(0x100) SINTAB[0x180] = kickasm {{ .fill $180, 99.5+99.5*sin(i*2*PI/256) }};
 byte* COSTAB = SINTAB+0x40;
diff --git a/src/test/kc/bitmap-plotter.c b/src/test/kc/bitmap-plotter.c
index 69544f769..aec7245e0 100644
--- a/src/test/kc/bitmap-plotter.c
+++ b/src/test/kc/bitmap-plotter.c
@@ -1,22 +1,22 @@
-byte* D011 = $d011;
+byte* D011 = (byte*)$d011;
   byte RST8 = %10000000;
   byte ECM =  %01000000;
   byte BMM =  %00100000;
   byte DEN =  %00010000;
   byte RSEL =  %00001000;
-byte* RASTER = $d012;
-byte* D016 = $d016;
+byte* RASTER = (byte*)$d012;
+byte* D016 = (byte*)$d016;
   byte MCM =  %00010000;
   byte CSEL = %00001000;
-byte* D018 = $d018;
-byte* BG_COLOR = $d020;
-byte* FGCOL = $d021;
+byte* D018 = (byte*)$d018;
+byte* BG_COLOR = (byte*)$d020;
+byte* FGCOL = (byte*)$d021;
 
-byte* COLS = $d800;
+byte* COLS = (byte*)$d800;
 
 
-byte* SCREEN = $400;
-byte* const BITMAP = $2000;
+byte* SCREEN = (byte*)$400;
+byte* const BITMAP = (byte*)$2000;
 
 void main() {
     *BG_COLOR = 0;
@@ -50,7 +50,7 @@ const byte plot_yhi[256];
 const byte plot_bit[256];
 
 void plot(byte x, byte y) {
-    byte* plotter_x = 0;
+    byte* plotter_x = (byte*)0;
     word plotter_y = 0;
     >plotter_x = plot_xhi[x];  // Needs word arrays arranged as two underlying byte arrays to allow byte* plotter_x = plot_x[x]; - and eventually - byte* plotter = plot_x[x] + plot_y[y];
     <plotter_x = plot_xlo[x];
@@ -71,7 +71,7 @@ void init_plot_tables() {
           bits = $80;
         }
     }
-    byte* yoffs = $0;
+    byte* yoffs = (byte*)$0;
     for(byte y : 0..255) {
         plot_ylo[y] = y&$7 | <yoffs;
         plot_yhi[y] = >yoffs;
diff --git a/src/test/kc/bitwise-not-1.c b/src/test/kc/bitwise-not-1.c
index eb2401aa7..01ce85845 100644
--- a/src/test/kc/bitwise-not-1.c
+++ b/src/test/kc/bitwise-not-1.c
@@ -1,7 +1,7 @@
 // Test that bitwise NOT (~) is handled correctly
 
 void main() {
-    char* const screen = 0x0400;
+    char* const screen = (char*)0x0400;
     char b = ~0x10;
     *screen = b;
 }
\ No newline at end of file
diff --git a/src/test/kc/bitwise-not.c b/src/test/kc/bitwise-not.c
index 1da5f5af6..f6ca6dd6a 100644
--- a/src/test/kc/bitwise-not.c
+++ b/src/test/kc/bitwise-not.c
@@ -1,6 +1,6 @@
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     *SCREEN = ~1ub;
 
     for(byte c : 1..26) {
diff --git a/src/test/kc/bool-const.c b/src/test/kc/bool-const.c
index 406e3a79d..93270ac15 100644
--- a/src/test/kc/bool-const.c
+++ b/src/test/kc/bool-const.c
@@ -1,6 +1,6 @@
 // A Minimal test of boolean constants.
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     bool_const_if();
diff --git a/src/test/kc/bool-function.c b/src/test/kc/bool-function.c
index fa568a1ea..3d7bf3627 100644
--- a/src/test/kc/bool-function.c
+++ b/src/test/kc/bool-function.c
@@ -1,7 +1,7 @@
 // Test a function taking boolean parameter and returning boolean result
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     for(byte i: 0..100) {
         if( isSet(i, (i&1)==0)) {
             screen[i] = '*';
diff --git a/src/test/kc/bool-ifs-min.c b/src/test/kc/bool-ifs-min.c
index 8fdc4def9..27095fcd5 100644
--- a/src/test/kc/bool-ifs-min.c
+++ b/src/test/kc/bool-ifs-min.c
@@ -1,7 +1,7 @@
 // A test of boolean conditions using && || and !
 
 void main() {
-    char* const screen = 0x400;
+    char* const screen = (char*)0x400;
     for( char i : 0..20) {
         if( (i<10) && ((i&1)==0) ) {
             screen[i] = '*';
diff --git a/src/test/kc/bool-ifs.c b/src/test/kc/bool-ifs.c
index aed29d918..686fbc668 100644
--- a/src/test/kc/bool-ifs.c
+++ b/src/test/kc/bool-ifs.c
@@ -8,7 +8,7 @@ void main() {
 }
 
 void bool_and() {
-    byte* const screen = $400;
+    byte* const screen = (byte*)$400;
     for( byte i : 0..20) {
         if( (i<10) && ((i&1)==0) ) {
             screen[i] = '*';
@@ -19,7 +19,7 @@ void bool_and() {
 }
 
 void bool_or() {
-    byte* const screen = $428;
+    byte* const screen = (byte*)$428;
     for( byte i : 0..20) {
         if( (i<10) || ((i&1)==0) ) {
             screen[i] = '*';
@@ -30,7 +30,7 @@ void bool_or() {
 }
 
 void bool_not() {
-    byte* const screen = $450;
+    byte* const screen = (byte*)$450;
     for( byte i : 0..20) {
         if( !((i<10) || (i&1)==0))  {
             screen[i] = '*';
@@ -41,7 +41,7 @@ void bool_not() {
 }
 
 void bool_complex() {
-    byte* const screen = $478;
+    byte* const screen = (byte*)$478;
     for( byte i : 0..20) {
         if( ((i<10) && (i&1)==0) || !((i<10) || (i&1)==0) ) {
             screen[i] = '*';
diff --git a/src/test/kc/bool-not-operator-1.c b/src/test/kc/bool-not-operator-1.c
index f52d7b86e..a76b6d0ea 100644
--- a/src/test/kc/bool-not-operator-1.c
+++ b/src/test/kc/bool-not-operator-1.c
@@ -4,7 +4,7 @@
 // https://gitlab.com/camelot/kickc/issues/199
 
 void main() {
-    char* const screen = 0x0400;
+    char* const screen = (char*)0x0400;
     for(char i: 0..7) {
         bool b = (i&1)==1;
         char c = !b ? 1 : 0 ;
diff --git a/src/test/kc/bool-not-operator-2.c b/src/test/kc/bool-not-operator-2.c
index 099105a49..12e3e8c84 100644
--- a/src/test/kc/bool-not-operator-2.c
+++ b/src/test/kc/bool-not-operator-2.c
@@ -4,7 +4,7 @@
 // https://gitlab.com/camelot/kickc/issues/199
 
 void main() {
-    char* const screen = 0x0400;
+    char* const screen = (char*)0x0400;
     for(char i: 0..7) {
         char b = i&1;
         char c = !b ? 1 : 0 ;
diff --git a/src/test/kc/bool-not-operator-3.c b/src/test/kc/bool-not-operator-3.c
index dcf5c457e..d0201462d 100644
--- a/src/test/kc/bool-not-operator-3.c
+++ b/src/test/kc/bool-not-operator-3.c
@@ -4,7 +4,7 @@
 // https://gitlab.com/camelot/kickc/issues/295
 
 void main() {
-    char* const screen = 0x0400;
+    char* const screen = (char*)0x0400;
     for(char i: 0..7) {
         char b = (i&1);
         screen[i] = !b;
diff --git a/src/test/kc/bool-pointer.c b/src/test/kc/bool-pointer.c
index 02046d487..c4b25658e 100644
--- a/src/test/kc/bool-pointer.c
+++ b/src/test/kc/bool-pointer.c
@@ -1,7 +1,7 @@
 // Tests a pointer to a boolean
 
 void main() {
-    bool* bscreen = $400;
+    bool* bscreen = (bool*)$400;
     bscreen[0] = true;
     bscreen[1] = false;
     bscreen = bscreen+2;
diff --git a/src/test/kc/bool-vars.c b/src/test/kc/bool-vars.c
index 631b9309d..148e7a486 100644
--- a/src/test/kc/bool-vars.c
+++ b/src/test/kc/bool-vars.c
@@ -8,7 +8,7 @@ void main() {
 }
 
 void bool_and() {
-    byte* const screen = $400;
+    byte* const screen = (byte*)$400;
     for( byte i : 0..20) {
         bool o1 = (i<10);
         bool o2 = ((i&1)==0);
@@ -22,7 +22,7 @@ void bool_and() {
 }
 
 void bool_or() {
-    byte* const screen = $428;
+    byte* const screen = (byte*)$428;
     for( byte i : 0..20) {
         bool o1 = (i<10);
         bool o2 = ((i&1)==0);
@@ -36,7 +36,7 @@ void bool_or() {
 }
 
 void bool_not() {
-    byte* const screen = $450;
+    byte* const screen = (byte*)$450;
     for( byte i : 0..20) {
         bool o1 = (i<10);
         bool o2 = (i&1)==0;
@@ -50,7 +50,7 @@ void bool_not() {
 }
 
 void bool_complex() {
-    byte* const screen = $478;
+    byte* const screen = (byte*)$478;
     for( byte i : 0..20) {
         bool o1 = (i<10);
         bool o2 = (i&1)==0;
diff --git a/src/test/kc/bresenham.c b/src/test/kc/bresenham.c
index 34aa1c88e..86521c18c 100644
--- a/src/test/kc/bresenham.c
+++ b/src/test/kc/bresenham.c
@@ -1,5 +1,5 @@
 byte STAR = 81;
-byte SCREEN[40*25] = $0400;
+byte SCREEN[40*25] = (byte*)$0400;
 
 void main() {
   byte x0 = 4;
diff --git a/src/test/kc/bresenhamarr.c b/src/test/kc/bresenhamarr.c
index b5a08a275..2039fabba 100644
--- a/src/test/kc/bresenhamarr.c
+++ b/src/test/kc/bresenhamarr.c
@@ -1,7 +1,7 @@
 
 void main() {
   byte STAR = 81;
-  byte screen[40*25] = $0400;
+  byte screen[40*25] = (byte*)$0400;
   byte x0 = 0;
   byte y0 = 0;
   byte x1 = 39;
diff --git a/src/test/kc/c64dtv-8bppcharstretch.c b/src/test/kc/c64dtv-8bppcharstretch.c
index ec2a7bdb6..88d8a38a9 100644
--- a/src/test/kc/c64dtv-8bppcharstretch.c
+++ b/src/test/kc/c64dtv-8bppcharstretch.c
@@ -2,9 +2,9 @@
 #include <c64dtv.h>
 
 // Plane with the screen
-byte* const SCREEN = $7c00;
+byte* const SCREEN = (byte*)$7c00;
 // Plane with all pixels
-byte* const CHARSET8 = $8000;
+byte* const CHARSET8 = (byte*)$8000;
 
 void main() {
     asm { sei }  // Disable normal interrupt (prevent keyboard reading glitches and allows to hide basic/kernal)
@@ -95,7 +95,7 @@ void gfx_init_plane_charset8() {
     // 8bpp cells for Plane B (charset) - ROM charset with 256 colors
     byte gfxbCpuBank = (byte)(CHARSET8/$4000);
     dtvSetCpuBankSegment1(gfxbCpuBank++);
-    byte* gfxa = $4000 + (((word)CHARSET8)& $3fff);
+    byte* gfxa = (char*)$4000 + (((word)CHARSET8)& $3fff);
     byte* chargen = CHARGEN+1;
     *PROCPORT = PROCPORT_RAM_CHARROM;
     byte col = 0;
diff --git a/src/test/kc/c64dtv-8bppchunkystretch.c b/src/test/kc/c64dtv-8bppchunkystretch.c
index 9f25f3a21..bd17253de 100644
--- a/src/test/kc/c64dtv-8bppchunkystretch.c
+++ b/src/test/kc/c64dtv-8bppchunkystretch.c
@@ -2,7 +2,7 @@
 #include <c64dtv.h>
 
 // Plane with all pixels
-byte* const CHUNKY = $8000;
+byte* const CHUNKY = (byte*)$8000;
 
 void main() {
     asm { sei }  // Disable normal interrupt (prevent keyboard reading glitches and allows to hide basic/kernal)
diff --git a/src/test/kc/c64dtv-blitter-box.c b/src/test/kc/c64dtv-blitter-box.c
index ca3c4486a..5f5e7eff6 100644
--- a/src/test/kc/c64dtv-blitter-box.c
+++ b/src/test/kc/c64dtv-blitter-box.c
@@ -2,7 +2,7 @@
 
 #include <c64dtv.h>
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 const byte SRCA[] = "camelot rules!";
 const byte SRCB[] = { $80 };
 
diff --git a/src/test/kc/c64dtv-blittermin.c b/src/test/kc/c64dtv-blittermin.c
index fae896716..6914691dc 100644
--- a/src/test/kc/c64dtv-blittermin.c
+++ b/src/test/kc/c64dtv-blittermin.c
@@ -1,6 +1,6 @@
 #include <c64dtv.h>
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 const byte SRCA[] = { 'c', 'a', 'm', 'e', 'l', 'o', 't', '!', ' '};
 const byte SRCA_LEN = 9;
 const byte SRCB[] = { $80 };
diff --git a/src/test/kc/c64dtv-gfxexplorer.c b/src/test/kc/c64dtv-gfxexplorer.c
index d617c6e04..cfbd82cf4 100644
--- a/src/test/kc/c64dtv-gfxexplorer.c
+++ b/src/test/kc/c64dtv-gfxexplorer.c
@@ -22,15 +22,15 @@ void main() {
 }
 
 // VIC Screens
-byte* const VICII_SCREEN0 = $4000;
-byte* const VICII_SCREEN1 = $4400;
-byte* const VICII_SCREEN2 = $4800;
-byte* const VICII_SCREEN3 = $4c00;
-byte* const VICII_SCREEN4 = $5000;
+byte* const VICII_SCREEN0 = (byte*)$4000;
+byte* const VICII_SCREEN1 = (byte*)$4400;
+byte* const VICII_SCREEN2 = (byte*)$4800;
+byte* const VICII_SCREEN3 = (byte*)$4c00;
+byte* const VICII_SCREEN4 = (byte*)$5000;
 // VIC Charset from ROM
-byte* const VICII_CHARSET_ROM = $5800;
+byte* const VICII_CHARSET_ROM = (byte*)$5800;
 // VIC Bitmap
-byte* const VICII_BITMAP = $6000;
+byte* const VICII_BITMAP = (byte*)$6000;
 
 // 8BPP Chunky Bitmap (contains 8bpp pixels)
 const dword PLANE_8BPP_CHUNKY = $20000;
@@ -110,9 +110,9 @@ byte* get_VICII_charset(byte idx) {
 }
 
 // Screen containing the FORM
-byte* const FORM_SCREEN = $0400;
+byte* const FORM_SCREEN = (byte*)$0400;
 // Charset used for the FORM
-byte* const FORM_CHARSET = $1800; // Charset ROM
+byte* const FORM_CHARSET = (byte*)$1800; // Charset ROM
 
 byte FORM_TEXT[] =
      " C64 DTV Graphics Mode Explorer         @"
@@ -500,7 +500,7 @@ void gfx_init_plane_8bppchunky() {
     // 320x200 8bpp pixels for Plane
     byte gfxbCpuBank = (byte)(PLANE_8BPP_CHUNKY/$4000);
     dtvSetCpuBankSegment1(gfxbCpuBank++);
-    byte* gfxb = $4000;
+    byte* gfxb = (char*)$4000;
     for(byte y : 0..199) {
         for (word x : 0..319) {
             // If we have crossed to $8000 increase the CPU BANK segment and reset to $4000
@@ -520,7 +520,7 @@ void gfx_init_plane_8bppchunky() {
 void gfx_init_plane_horisontal() {
     byte gfxbCpuBank = (byte)(PLANE_HORISONTAL/$4000);
     dtvSetCpuBankSegment1(gfxbCpuBank++);
-    byte* gfxa = $4000 + (PLANE_HORISONTAL & $3fff);
+    byte* gfxa = (char*)$4000 + (PLANE_HORISONTAL & $3fff);
     for(byte ay : 0..199) {
         for (byte ax : 0..39) {
             if((ay&4)==0) {
@@ -538,7 +538,7 @@ void gfx_init_plane_horisontal() {
 void gfx_init_plane_horisontal2() {
     byte gfxbCpuBank = (byte)(PLANE_HORISONTAL2/$4000);
     dtvSetCpuBankSegment1(gfxbCpuBank++);
-    byte* gfxa = $4000 + (PLANE_HORISONTAL2 & $3fff);
+    byte* gfxa = (char*)$4000 + (PLANE_HORISONTAL2 & $3fff);
     byte row_bitmask[] = { %00000000, %01010101, %10101010, %11111111 };
     for(byte ay : 0..199) {
         for (byte ax : 0..39) {
@@ -554,7 +554,7 @@ void gfx_init_plane_horisontal2() {
 void gfx_init_plane_vertical() {
     byte gfxbCpuBank = (byte)(PLANE_VERTICAL/$4000);
     dtvSetCpuBankSegment1(gfxbCpuBank++);
-    byte* gfxb = $4000 + (PLANE_VERTICAL & $3fff);
+    byte* gfxb = (char*)$4000 + (PLANE_VERTICAL & $3fff);
     for(byte by : 0..199) {
         for ( byte bx : 0..39) {
             *gfxb++ = %00001111;
@@ -569,7 +569,7 @@ void gfx_init_plane_charset8() {
     // 8bpp cells for Plane B (charset) - ROM charset with 256 colors
     byte gfxbCpuBank = (byte)(PLANE_CHARSET8/$4000);
     dtvSetCpuBankSegment1(gfxbCpuBank++);
-    byte* gfxa = $4000 + (PLANE_CHARSET8 & $3fff);
+    byte* gfxa = (char*)$4000 + (PLANE_CHARSET8 & $3fff);
     byte* chargen = CHARGEN;
     *PROCPORT = PROCPORT_RAM_CHARROM;
     byte col = 0;
diff --git a/src/test/kc/c64dtv-gfxmodes.c b/src/test/kc/c64dtv-gfxmodes.c
index fbfc7ccf0..2b27bc743 100644
--- a/src/test/kc/c64dtv-gfxmodes.c
+++ b/src/test/kc/c64dtv-gfxmodes.c
@@ -42,8 +42,8 @@ byte MENU_TEXT[] =
 
 
 void menu() {
-    byte* const SCREEN = $8000;
-    byte* const CHARSET = $9800; // Charset ROM
+    byte* const SCREEN = (byte*)$8000;
+    byte* const CHARSET = (byte*)$9800; // Charset ROM
     // DTV Graphics Bank
     *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000);
     // DTV Color Bank
@@ -187,9 +187,9 @@ void mode_ctrl() {
 // - 0: 4bpp BG_COLORor0[3:0]
 // - 1: 4bpp ColorData[3:0]
 void mode_stdchar() {
-    byte* const SCREEN = $8000;
-    byte* const CHARSET = $9000; // Charset ROM
-    byte* const COLORS = $d800;
+    byte* const SCREEN = (byte*)$8000;
+    byte* const CHARSET = (byte*)$9000; // Charset ROM
+    byte* const COLORS = (byte*)$d800;
     // DTV Graphics Bank
     *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000);
     // DTV Color Bank
@@ -238,9 +238,9 @@ void mode_stdchar() {
 //    - CharData[7:6] 11: 4bpp BG_COLORor3[3:0]
 //  - 1: 4bpp ColorData[3:0]
 void mode_ecmchar() {
-    byte* const SCREEN = $8000;
-    byte* const CHARSET = $9000; // Charset ROM
-    byte* const COLORS = $d800;
+    byte* const SCREEN = (byte*)$8000;
+    byte* const CHARSET = (byte*)$9000; // Charset ROM
+    byte* const COLORS = (byte*)$d800;
     // DTV Graphics Bank
     *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000);
     // DTV Color Bank
@@ -294,9 +294,9 @@ void mode_ecmchar() {
 //  - 10: 4bpp BG_COLORor2[3:0]
 //  - 11: 4bpp ColorData[2:0]// Standard Character Mode (LINEAR/HICOL/CHUNK/COLDIS/ECM/MCM/BMM = 0)
 void mode_mcchar() {
-    byte* const SCREEN = $8000;
-    byte* const CHARSET = $9000; // Charset ROM
-    byte* const COLORS = $d800;
+    byte* const SCREEN = (byte*)$8000;
+    byte* const CHARSET = (byte*)$9000; // Charset ROM
+    byte* const COLORS = (byte*)$d800;
     // DTV Graphics Bank
     *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000);
     // DTV Color Bank
@@ -344,8 +344,8 @@ void mode_mcchar() {
 //  - 0: 4bpp CharData[3:0]
 //  - 1: 4bpp CharData[7:4]
 void mode_stdbitmap() {
-    byte* const SCREEN = $4000;
-    byte* const BITMAP = $6000;
+    byte* const SCREEN = (byte*)$4000;
+    byte* const BITMAP = (byte*)$6000;
     // DTV Graphics Bank
     *DTV_GRAPHICS_VIC_BANK = (byte)((dword)BITMAP/$10000);
     // DTV Graphics Mode
@@ -396,9 +396,9 @@ void mode_stdbitmap() {
 //  - 0: 8bpp BG_COLORor0[7:0]
 //  - 1: 8bpp ColorData[7:0]
 void mode_hicolstdchar() {
-    byte* const SCREEN = $8000;
-    byte* const CHARSET = $9000; // Charset ROM
-    byte* const COLORS = $8400;
+    byte* const SCREEN = (byte*)$8000;
+    byte* const CHARSET = (byte*)$9000; // Charset ROM
+    byte* const COLORS = (byte*)$8400;
     // DTV Graphics Bank
     *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000);
     // DTV Color Bank
@@ -449,9 +449,9 @@ void mode_hicolstdchar() {
 //    - CharData[7:6] 11: 8bpp BG_COLORor3[7:0]
 //  - 1: 8bpp ColorData[7:0]
 void mode_hicolecmchar() {
-    byte* const SCREEN = $8000;
-    byte* const CHARSET = $9000; // Charset ROM
-    byte* const COLORS = $8400;
+    byte* const SCREEN = (byte*)$8000;
+    byte* const CHARSET = (byte*)$9000; // Charset ROM
+    byte* const COLORS = (byte*)$8400;
     // DTV Graphics Bank
     *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000);
     // DTV Color Bank
@@ -505,9 +505,9 @@ void mode_hicolecmchar() {
 // - 10: 8bpp BG_COLORor2[7:0]
 // - 11: 8bpp ColorData[7:4] "0" & Color[2:0]
 void mode_hicolmcchar() {
-    byte* const SCREEN = $8000;
-    byte* const CHARSET = $9000; // Charset ROM
-    byte* const COLORS = $8400;
+    byte* const SCREEN = (byte*)$8000;
+    byte* const CHARSET = (byte*)$9000; // Charset ROM
+    byte* const COLORS = (byte*)$8400;
     // DTV Graphics Bank
     *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000);
     // DTV Color Bank
@@ -557,9 +557,9 @@ void mode_hicolmcchar() {
 // - Plane A = 1 Plane B = 0: 8bpp "0000" & ColorData[3:0]
 // - Plane A = 1 Plane B = 1: 8bpp BG_COLORor1[7:0]
 void mode_twoplanebitmap() {
-    byte* const PLANEA = $4000;
-    byte* const PLANEB = $6000;
-    byte* const COLORS = $8000;
+    byte* const PLANEA = (byte*)$4000;
+    byte* const PLANEB = (byte*)$6000;
+    byte* const COLORS = (byte*)$8000;
     // DTV Graphics Mode
     dtv_control = DTV_HIGHCOLOR | DTV_LINEAR;
     *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR;
@@ -627,9 +627,9 @@ void mode_twoplanebitmap() {
 // GfxData/PlaneA Pixel Shifter (2), CharData/PlaneB Pixel Shifter (2):
 // - 8bpp color (ColorData[3:0],CharData/PlaneB[1:0], GfxData/PlaneA[1:0])
 void mode_sixsfred() {
-    byte* const PLANEA = $4000;
-    byte* const PLANEB = $6000;
-    byte* const COLORS = $8000;
+    byte* const PLANEA = (byte*)$4000;
+    byte* const PLANEB = (byte*)$6000;
+    byte* const COLORS = (byte*)$8000;
     // DTV Graphics Mode
     dtv_control = DTV_HIGHCOLOR | DTV_LINEAR;
     *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR;
@@ -693,9 +693,9 @@ void mode_sixsfred() {
 // PlaneA Pixel Shifter (2), PlaneB Pixel Shifter (2):
 // - 8bpp color (PlaneB[1:0],ColorData[5:4],PlaneA[1:0],ColorData[1:0])
 void mode_sixsfred2() {
-    byte* const PLANEA = $4000;
-    byte* const PLANEB = $6000;
-    byte* const COLORS = $8000;
+    byte* const PLANEA = (byte*)$4000;
+    byte* const PLANEB = (byte*)$6000;
+    byte* const COLORS = (byte*)$8000;
     // DTV Graphics Mode
     dtv_control = DTV_LINEAR;
     *DTV_CONTROL = DTV_LINEAR;
@@ -764,9 +764,9 @@ void mode_sixsfred2() {
 //Counter B step and modulo should be set to 0, counter A modulo to 0 and counter A step to 1 for normal operation.
 void mode_8bpppixelcell() {
     // 8BPP Pixel Cell Screen (contains 40x25=1000 chars)
-    byte* const PLANEA = $3c00;
+    byte* const PLANEA = (byte*)$3c00;
     // 8BPP Pixel Cell Charset (contains 256 64 byte chars)
-    byte* const PLANEB = $4000;
+    byte* const PLANEB = (byte*)$4000;
     // DTV Graphics Mode
     dtv_control = DTV_HIGHCOLOR | DTV_LINEAR | DTV_CHUNKY;
     *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR | DTV_CHUNKY;
@@ -802,7 +802,7 @@ void mode_8bpppixelcell() {
     }
     // 8bpp cells for Plane B (charset) - ROM charset with 256 colors
     *PROCPORT = PROCPORT_RAM_CHARROM;
-    byte* CHARGEN = $d000;
+    byte* CHARGEN = (byte*)$d000;
     byte* gfxb = PLANEB;
     byte* chargen = CHARGEN;
     byte col = 0;
@@ -858,13 +858,13 @@ void mode_8bppchunkybmm() {
     // 320x200 8bpp pixels for Plane B
     byte gfxbCpuBank = (byte)(PLANEB/$4000);
     dtvSetCpuBankSegment1(gfxbCpuBank++);
-    byte* gfxb = $4000;
+    byte* gfxb = (byte*)$4000;
     for(byte y : 0..199) {
         for (word x : 0..319) {
             // If we have crossed to $8000 increase the CPU BANK segment and reset to $4000
             if(gfxb==$8000) {
                 dtvSetCpuBankSegment1(gfxbCpuBank++);
-                gfxb = (char*)$4000;
+                gfxb = (byte*)$4000;
             }
             byte c = (byte)(x+y);
             *gfxb++ = c;
diff --git a/src/test/kc/call-parameter-autocast.c b/src/test/kc/call-parameter-autocast.c
index b03c78c0d..7b519bc75 100644
--- a/src/test/kc/call-parameter-autocast.c
+++ b/src/test/kc/call-parameter-autocast.c
@@ -7,7 +7,7 @@ void main() {
     print( {0x12,0x34} );
 }
 
-word* const SCREEN = 0x0400;
+word* const SCREEN = (word*)0x0400;
 byte idx = 0;
 
 void print(word w) {
diff --git a/src/test/kc/callconstparam.c b/src/test/kc/callconstparam.c
index 3ab70c83a..ab137c22a 100644
--- a/src/test/kc/callconstparam.c
+++ b/src/test/kc/callconstparam.c
@@ -2,7 +2,7 @@
 // Currently the same constant parameter is passed on every call.
 // Reason: Multiple versioned parameter constants x0#0, x0#1 are only output as a single constant in the ASM .const x0 = 0
 
-byte* screen = $0400;
+byte* screen = (byte*)$0400;
 
 void main() {
     line(1,2);
diff --git a/src/test/kc/cast-deref.c b/src/test/kc/cast-deref.c
index 8fbd9a3cb..340a42d51 100644
--- a/src/test/kc/cast-deref.c
+++ b/src/test/kc/cast-deref.c
@@ -2,7 +2,7 @@
 
 void main() {
     signed byte sbs[] = { -1, -2, -3, -4};
-    byte* SCREEN = $0400;
+    byte* SCREEN = (byte*)$0400;
     for(byte i : 0..3) {
         SCREEN[i] = (byte) sbs[i];
     }
diff --git a/src/test/kc/cast-not-needed-3.c b/src/test/kc/cast-not-needed-3.c
index 743e07adb..3c94cec8d 100644
--- a/src/test/kc/cast-not-needed-3.c
+++ b/src/test/kc/cast-not-needed-3.c
@@ -3,7 +3,7 @@
 byte* screens[] = { (byte*)$0400, (byte*)$1400 };
 
 void main() {
-    byte* DSP = $400;
+    byte* DSP = (char*)$400;
     DSP[0] = spritePtr(getScreen(0));
 }
 
diff --git a/src/test/kc/cast-not-needed.c b/src/test/kc/cast-not-needed.c
index f47e9af8d..46b031817 100644
--- a/src/test/kc/cast-not-needed.c
+++ b/src/test/kc/cast-not-needed.c
@@ -1,7 +1,7 @@
 // Tests a cast that is not needed
 
-byte* sprite = $5000;
-byte* SCREEN = $4400;
+byte* sprite = (byte*)$5000;
+byte* SCREEN = (byte*)$4400;
 
 void main() {
     byte* sprite_ptr = SCREEN+$378;
diff --git a/src/test/kc/cast-precedence-problem.c b/src/test/kc/cast-precedence-problem.c
index 727ff2812..39410c177 100644
--- a/src/test/kc/cast-precedence-problem.c
+++ b/src/test/kc/cast-precedence-problem.c
@@ -1,7 +1,7 @@
 // Tests that casting inside constants in the output handles precedence between cast and + correctly - should generate the following KA-expression ($ff & sumw>>1)+1
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     byte min = 10;
     byte max = 200;
     word sumw = min+max;
@@ -10,7 +10,7 @@ void main() {
     byte sumb = min+max;
     byte midb = (sumb>>1)+1;
     SCREEN[1] = midb;
-    byte* BG_COLOR = $d021;
+    byte* BG_COLOR = (char*)$d021;
     if(SCREEN[0]==SCREEN[1]) {
         *BG_COLOR = 5;
     } else {
diff --git a/src/test/kc/casting.c b/src/test/kc/casting.c
index 365947843..59b53f46c 100644
--- a/src/test/kc/casting.c
+++ b/src/test/kc/casting.c
@@ -1,4 +1,4 @@
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$0400;
 byte* SCREEN2 = SCREEN+40*3;
 byte* SCREEN3 = SCREEN+40*6;
 byte* SCREEN4 = SCREEN+40*9;
diff --git a/src/test/kc/chargen.c b/src/test/kc/chargen.c
index 9bd1ef430..32f2e6830 100644
--- a/src/test/kc/chargen.c
+++ b/src/test/kc/chargen.c
@@ -1,6 +1,6 @@
-byte* PROCPORT = $01;
-byte* CHARGEN = $d000;
-byte* SCREEN = $0400;
+byte* PROCPORT = (byte*)$01;
+byte* CHARGEN = (byte*)$d000;
+byte* SCREEN = (byte*)$0400;
 
 void main() {
     asm { sei }
diff --git a/src/test/kc/chessboard.c b/src/test/kc/chessboard.c
index 1aef52748..d803bc8b9 100644
--- a/src/test/kc/chessboard.c
+++ b/src/test/kc/chessboard.c
@@ -1,7 +1,7 @@
 // Draws a chess board in the upper left corner of the screen
 void main() {
-    byte* screen = $0400;
-    byte* colors = $d800;
+    byte* screen = (byte*)$0400;
+    byte* colors = (byte*)$d800;
     byte color = 1;
     for( byte row: 0..7) {
         for( byte column: 0..7) {
diff --git a/src/test/kc/chipset-test.c b/src/test/kc/chipset-test.c
index cb9000c59..1f4e31a59 100644
--- a/src/test/kc/chipset-test.c
+++ b/src/test/kc/chipset-test.c
@@ -19,7 +19,7 @@ struct ATARI_PIA {
 
 #define PIA1 (*(struct __pia*)0xD300)
 
-struct ATARI_PIA * const PIA2 = 0xD300;
+struct ATARI_PIA * const PIA2 = (struct ATARI_PIA *)0xD300;
 
 
 void main() {
diff --git a/src/test/kc/cia-timer-cyclecount.c b/src/test/kc/cia-timer-cyclecount.c
index 7188027e8..1d624d2c3 100644
--- a/src/test/kc/cia-timer-cyclecount.c
+++ b/src/test/kc/cia-timer-cyclecount.c
@@ -4,7 +4,7 @@
 #include <c64-time.h>
 #include <c64-print.h>
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (byte*)0x0400;
 
 void main() {
 
diff --git a/src/test/kc/cia-timer-simple.c b/src/test/kc/cia-timer-simple.c
index 4c1dfd676..f89042bef 100644
--- a/src/test/kc/cia-timer-simple.c
+++ b/src/test/kc/cia-timer-simple.c
@@ -4,7 +4,7 @@
 #include <c64-time.h>
 #include <c64-print.h>
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 
 void main() {
 
diff --git a/src/test/kc/circlechars.c b/src/test/kc/circlechars.c
index 26644d4fa..ca737803b 100644
--- a/src/test/kc/circlechars.c
+++ b/src/test/kc/circlechars.c
@@ -4,7 +4,7 @@
 #include <conio.h>
 #include <stdio.h>
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 
 void main() {
diff --git a/src/test/kc/clobber-a-problem.c b/src/test/kc/clobber-a-problem.c
index 1263fee16..d3dab16ef 100644
--- a/src/test/kc/clobber-a-problem.c
+++ b/src/test/kc/clobber-a-problem.c
@@ -1,9 +1,9 @@
 
-byte* BORDER_COLOR = $d020;
-byte* RASTER = $d012;
+byte* BORDER_COLOR = (byte*)$d020;
+byte* RASTER = (byte*)$d012;
 byte DARK_GREY = $b;
 byte BLACK = 0;
-void()** const  KERNEL_IRQ = $0314;
+void()** const  KERNEL_IRQ = (void()**)$0314;
 
 
 void main() {
diff --git a/src/test/kc/coalesce-assignment.c b/src/test/kc/coalesce-assignment.c
index e785928ee..dd090fb9c 100644
--- a/src/test/kc/coalesce-assignment.c
+++ b/src/test/kc/coalesce-assignment.c
@@ -1,7 +1,7 @@
 // Tests variable coalescing over assignments
 
 void main() {
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (byte*)0x0400;
     byte idx = 0;
     for( byte a: 0..5) {
         for( byte b: 0..5) {
diff --git a/src/test/kc/code-after-return-1.c b/src/test/kc/code-after-return-1.c
index c83b70141..d5c120704 100644
--- a/src/test/kc/code-after-return-1.c
+++ b/src/test/kc/code-after-return-1.c
@@ -1,6 +1,6 @@
 // Test code after return in main()
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 char b = 0;
 
diff --git a/src/test/kc/code-after-return.c b/src/test/kc/code-after-return.c
index e2a95f3b1..788d566fb 100644
--- a/src/test/kc/code-after-return.c
+++ b/src/test/kc/code-after-return.c
@@ -1,6 +1,6 @@
 // Test code after return in main()
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = 'a';
diff --git a/src/test/kc/comma-decl-2.c b/src/test/kc/comma-decl-2.c
index 944df2f41..2e649ad14 100644
--- a/src/test/kc/comma-decl-2.c
+++ b/src/test/kc/comma-decl-2.c
@@ -1,7 +1,7 @@
 // Tests comma-separated declarations with different array-ness
 
 void main() {
-    char* const SCREEN = $400;
+    char* const SCREEN = (char*)$400;
     char b, c[3], d;
     SCREEN[0] = b;
     SCREEN[1] = c[0];
diff --git a/src/test/kc/comma-decl-for.c b/src/test/kc/comma-decl-for.c
index 08ae5b88c..14b3f8cbb 100644
--- a/src/test/kc/comma-decl-for.c
+++ b/src/test/kc/comma-decl-for.c
@@ -1,7 +1,7 @@
 // Tests comma-separated declarations inside for()
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for(byte i, j='g'; i<10; i++, j++) {
         SCREEN[i] = j;
     }
diff --git a/src/test/kc/comma-decl.c b/src/test/kc/comma-decl.c
index 201bdd510..e89cf2ff5 100644
--- a/src/test/kc/comma-decl.c
+++ b/src/test/kc/comma-decl.c
@@ -1,7 +1,7 @@
 // Tests comma-separated declarations
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     byte b = 'c', c = b+1, d = c+1;
     SCREEN[0] = b;
     SCREEN[1] = c;
diff --git a/src/test/kc/comma-expr-1.c b/src/test/kc/comma-expr-1.c
index 7e2d1834e..00d5233be 100644
--- a/src/test/kc/comma-expr-1.c
+++ b/src/test/kc/comma-expr-1.c
@@ -1,7 +1,7 @@
 // Tests simple comma-expression (in parenthesis)
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     byte b = (1,2,3);
     byte c = (1+1,b+1);
     SCREEN[1,0] = c;
diff --git a/src/test/kc/comma-expr-2.c b/src/test/kc/comma-expr-2.c
index 04e646d12..22a2f71d3 100644
--- a/src/test/kc/comma-expr-2.c
+++ b/src/test/kc/comma-expr-2.c
@@ -1,7 +1,7 @@
 // Tests simple comma-expressions (without parenthesis)
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     byte b;
     byte c;
     b = 1,2,3;
diff --git a/src/test/kc/comma-expr-for.c b/src/test/kc/comma-expr-for.c
index 13a69d1e1..219f24a60 100644
--- a/src/test/kc/comma-expr-for.c
+++ b/src/test/kc/comma-expr-for.c
@@ -1,7 +1,7 @@
 // Tests comma-expressions in for()-statement
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     byte j='g';
     for( byte i=0; j<10, i<10; i++, j++) {
         SCREEN[i] = j;
diff --git a/src/test/kc/comparison-rewriting-pointer.c b/src/test/kc/comparison-rewriting-pointer.c
index a947aad9c..2fbdddfce 100644
--- a/src/test/kc/comparison-rewriting-pointer.c
+++ b/src/test/kc/comparison-rewriting-pointer.c
@@ -1,10 +1,10 @@
 // Test rewriting of constant comparisons for pointers
 
 void main() {
-    byte* const screen = $0400;
+    byte* const screen = (byte*)$0400;
     for(byte* sc =screen;sc<=screen+999;sc++) *sc='a';
 
-    byte* const cols = $d800;
+    byte* const cols = (byte*)$d800;
     for(byte* cc =cols+999;cc>cols-1;cc--) *cc=2;
 
 }
\ No newline at end of file
diff --git a/src/test/kc/comparison-rewriting.c b/src/test/kc/comparison-rewriting.c
index 83baab7fc..03b76e51a 100644
--- a/src/test/kc/comparison-rewriting.c
+++ b/src/test/kc/comparison-rewriting.c
@@ -1,7 +1,7 @@
 // Test rewriting of constant comparisons
 
 void main() {
-    byte* const SCREEN = $0400;
+    byte* const SCREEN = (byte*)$0400;
 
     for(byte* sc : SCREEN..SCREEN+1000) *sc=' ';
 
diff --git a/src/test/kc/complex-conditional-problem.c b/src/test/kc/complex-conditional-problem.c
index 76d570382..79a189c69 100644
--- a/src/test/kc/complex-conditional-problem.c
+++ b/src/test/kc/complex-conditional-problem.c
@@ -1,7 +1,7 @@
 // Test to provoke Exception when using complex || condition
 
-byte* const RASTER = $d012;
-byte* const SCREEN = $0400;
+byte* const RASTER = (byte*)$d012;
+byte* const SCREEN = (byte*)$0400;
 
 void main() {
     while(true) {
diff --git a/src/test/kc/complex/ataritempest/ataritempest.c b/src/test/kc/complex/ataritempest/ataritempest.c
index dd5cf0c36..cc2356e80 100644
--- a/src/test/kc/complex/ataritempest/ataritempest.c
+++ b/src/test/kc/complex/ataritempest/ataritempest.c
@@ -6,7 +6,7 @@
 #pragma extension("bin")
 #pragma cpu(ROM6502X)
 
-char* const BG_COLOR = 0xc01a;
+char* const BG_COLOR = (char*)0xc01a;
 
 #pragma data_seg(RomData)
 char MESSAGE[] = "hello world";
diff --git a/src/test/kc/complex/borderline_pacman/pacman-logic-data.c b/src/test/kc/complex/borderline_pacman/pacman-logic-data.c
index 26a35f1a6..8359a687a 100644
--- a/src/test/kc/complex/borderline_pacman/pacman-logic-data.c
+++ b/src/test/kc/complex/borderline_pacman/pacman-logic-data.c
@@ -30,7 +30,7 @@ volatile char logic_tile_right_idx;
 
 // Initialize bobs_restore with data to prevent crash on the first call
 void init_bobs_restore() {
-    char * CANVAS_HIDDEN = 0xea00;
+    char * CANVAS_HIDDEN = (char*)0xea00;
     char * bob_restore = bobs_restore;
     for(char bob=0;bob<NUM_BOBS*2;bob++) {
         for(char i=0;i<SIZE_BOB_RESTORE;i++)
diff --git a/src/test/kc/complex/borderline_pacman/pacman.c b/src/test/kc/complex/borderline_pacman/pacman.c
index c6b9a7bd7..3746cff5a 100644
--- a/src/test/kc/complex/borderline_pacman/pacman.c
+++ b/src/test/kc/complex/borderline_pacman/pacman.c
@@ -28,35 +28,35 @@
 
 // Graphics Bank 1
 // Address of the sprites
-char * const BANK_1 = 0x4000;
+char * const BANK_1 = (char*)0x4000;
 // Address of the sprites
-char * const SPRITES_1 = 0x6000;
+char * const SPRITES_1 = (char*)0x6000;
 // Use sprite pointers on all screens (0x43f8, 0x47f8, ...)
-char * const SCREENS_1  = 0x4000;
+char * const SCREENS_1  = (char*)0x4000;
 // Graphics Bank 2
 // Address of the sprites
-char * const BANK_2 = 0xc000;
+char * const BANK_2 = (char*)0xc000;
 // Address of the sprites
-char * const SPRITES_2 = 0xe000;
+char * const SPRITES_2 = (char*)0xe000;
 // Use sprite pointers on all screens (0x43f8, 0x47f8, ...)
-char * const SCREENS_2  = 0xc000;
+char * const SCREENS_2  = (char*)0xc000;
 
 // The location where the logic code will be located before merging
-char * const LOGIC_CODE_UNMERGED = 0xe000;
+char * const LOGIC_CODE_UNMERGED = (char*)0xe000;
 // The location where the screen raster code will be located before merging
-char * const RASTER_CODE_UNMERGED = 0x6000;
+char * const RASTER_CODE_UNMERGED = (char*)0x6000;
 // The location where the screen raster code will be located when running
-char * const RASTER_CODE = 0x8000;
+char * const RASTER_CODE = (char*)0x8000;
 
 // Address of the (decrunched) splash screen
-char * const SPLASH = 0x4000;
+char * const SPLASH = (char*)0x4000;
 // Address for the victory graphics
-char * const WIN_GFX = 0xa700;
+char * const WIN_GFX = (char*)0xa700;
 // Address for the gameover graphics
-char * const GAMEOVER_GFX = 0xa700;
+char * const GAMEOVER_GFX = (char*)0xa700;
 
 // Address used by (decrunched) tiles
-char * const LEVEL_TILES = 0x4800;
+char * const LEVEL_TILES = (char*)0x4800;
 char * const TILES_LEFT = LEVEL_TILES+0x0a00;
 char * const TILES_RIGHT = LEVEL_TILES+0x0a80;
 char * const TILES_TYPE = LEVEL_TILES+0x0b00;
@@ -72,11 +72,11 @@ enum TILE_TYPE {
 // Address used for table containing available directions for all tiles
 // TABLE LEVEL_TILES_DIRECTIONS[64*37]
 // The level data is organized as 37 rows of 64 bytes. Each row is 50 bytes containing DIRECTION bits plus 14 unused bytes to achieve 64-byte alignment.
-char * const LEVEL_TILES_DIRECTIONS = 0x3e00;
+char * const LEVEL_TILES_DIRECTIONS = (char*)0x3e00;
 
 // Address of the (decrunched) splash screen
 const char BOB_ROW_SIZE = 0x80;
-char * const BOB_MASK_LEFT = 0x5400;
+char * const BOB_MASK_LEFT = (char*)0x5400;
 char * const BOB_MASK_RIGT = BOB_MASK_LEFT+BOB_ROW_SIZE*6;
 char * const BOB_PIXEL_LEFT = BOB_MASK_LEFT+BOB_ROW_SIZE*12;
 char * const BOB_PIXEL_RIGT = BOB_MASK_LEFT+BOB_ROW_SIZE*18;
@@ -87,7 +87,7 @@ char * const BOB_PIXEL_RIGT = BOB_MASK_LEFT+BOB_ROW_SIZE*18;
 // - 0xNN00-0xNN4A : low-byte of the graphics for (X-column, Y-fine)
 // - 0xNN50-0xNN9A : high-byte of the graphics for (X-column, Y-fine)
 // - 0xNNA0-0xNNEA : index into RENDER_YPOS_INC for incrementing the y-pos.
-char * const RENDER_INDEX = 0xb600;
+char * const RENDER_INDEX = (char*)0xb600;
 
 #include "pacman-render.c"
 #include "pacman-logic-data.c"
@@ -112,12 +112,12 @@ volatile char bottom_sprites_mc;
 #pragma data_seg(Data)
 
 // Upper memory location used during decrunching
-char * const INTRO_MUSIC_CRUNCHED_UPPER = 0xa700;
+char * const INTRO_MUSIC_CRUNCHED_UPPER = (char*)0xa700;
 // Size of the crunched music
 const unsigned int INTRO_MUSIC_CRUNCHED_SIZE = 0x0600;
 
 // Address of the music during run-time
-char* const INTRO_MUSIC = 0x3000;
+char* const INTRO_MUSIC = (char*)0x3000;
 // Pointer to the music init routine
 void()* const musicInit = (void()*) INTRO_MUSIC+0x00;
 // Pointer to the music play routine
diff --git a/src/test/kc/complex/includes/includes-1.c b/src/test/kc/complex/includes/includes-1.c
index 3aa939fec..70e6bd2d5 100644
--- a/src/test/kc/complex/includes/includes-1.c
+++ b/src/test/kc/complex/includes/includes-1.c
@@ -4,7 +4,7 @@
 
 char* STR = "camelot!";
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN [0] = (char) strlen(STR);
diff --git a/src/test/kc/complex/includes/includes-2.c b/src/test/kc/complex/includes/includes-2.c
index 127ceafb4..05e8d3d62 100644
--- a/src/test/kc/complex/includes/includes-2.c
+++ b/src/test/kc/complex/includes/includes-2.c
@@ -4,7 +4,7 @@
 
 char* STR = "camelot!";
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN [0] = (char) strlen(STR);
diff --git a/src/test/kc/complex/includes/includes-3.c b/src/test/kc/complex/includes/includes-3.c
index c6d9f4d9c..5b1e8fcbf 100644
--- a/src/test/kc/complex/includes/includes-3.c
+++ b/src/test/kc/complex/includes/includes-3.c
@@ -2,7 +2,7 @@
 
 #include "lib.h"
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
 
diff --git a/src/test/kc/complex/new_30_years_low_resolution/multiplex-bucket.c b/src/test/kc/complex/new_30_years_low_resolution/multiplex-bucket.c
index 5add69c1d..973223171 100644
--- a/src/test/kc/complex/new_30_years_low_resolution/multiplex-bucket.c
+++ b/src/test/kc/complex/new_30_years_low_resolution/multiplex-bucket.c
@@ -41,7 +41,7 @@
 #endif
 
 // The screen sprite pointers to update
-char * const SCREEN_SPRITE_PTRS = PLEX_SPRITE_PTRS;
+char * const SCREEN_SPRITE_PTRS = (char*)PLEX_SPRITE_PTRS;
 
 // The Y-position (IRQ raster line) starting each bucket
 char BUCKET_YPOS[BUCKET_COUNT] = { 0x10, 0x48, 0x58, 0x72, 0x8e, 0xaa, 0xc0, 0xd0, 0xde };
diff --git a/src/test/kc/complex/new_30_years_low_resolution/new_30_years_low_resolution.c b/src/test/kc/complex/new_30_years_low_resolution/new_30_years_low_resolution.c
index c94de81cd..198c328ab 100644
--- a/src/test/kc/complex/new_30_years_low_resolution/new_30_years_low_resolution.c
+++ b/src/test/kc/complex/new_30_years_low_resolution/new_30_years_low_resolution.c
@@ -18,7 +18,7 @@
 #pragma code_seg(Code)
 #pragma data_seg(Data)
 
-char* const DEMO_MUSIC = 0xAC00;
+char* const DEMO_MUSIC = (char*)0xAC00;
 // Pointer to the music init routine
 void()* const musicInit = (void()*) DEMO_MUSIC;
 // Pointer to the music play routine
diff --git a/src/test/kc/complex/new_30_years_low_resolution/part1-happynewyear.c b/src/test/kc/complex/new_30_years_low_resolution/part1-happynewyear.c
index ba43f0e75..7dbc5d8ab 100644
--- a/src/test/kc/complex/new_30_years_low_resolution/part1-happynewyear.c
+++ b/src/test/kc/complex/new_30_years_low_resolution/part1-happynewyear.c
@@ -7,21 +7,21 @@
 #pragma code_seg(CodePart1)
 #pragma data_seg(DataPart1)
 
-char * const P1_COLORS  = 0xa800;   // A800-AFFF 
-char * const P1_PIXELS  = 0xc000;   // C000-DFFF
-char * const P1_SCREEN  = 0xe000;   // E000-E3FF 
-char * const P1_SPRITES = 0xfc00;   // E000-E3FF 
-char * const PIXELS_EMPTY = 0xe800; // E800-EFFF
+char * const P1_COLORS  = (char*)0xa800;   // A800-AFFF
+char * const P1_PIXELS  = (char*)0xc000;   // C000-DFFF
+char * const P1_SCREEN  = (char*)0xe000;   // E000-E3FF
+char * const P1_SPRITES = (char*)0xfc00;   // E000-E3FF
+char * const PIXELS_EMPTY = (char*)0xe800; // E800-EFFF
 // A copy of the load screen and colors
-char * const LOAD_SCREEN = 0xe400;  // E400-E7FF
-char * const LOAD_CHARSET = 0xf000; // F000-F7FF
-char * const LOAD_COLORS = 0xf800;  // F800-FBFF
+char * const LOAD_SCREEN = (char*)0xe400;  // E400-E7FF
+char * const LOAD_CHARSET = (char*)0xf000; // F000-F7FF
+char * const LOAD_COLORS = (char*)0xf800;  // F800-FBFF
 
 // Flipper cosine easing table
-unsigned int * const FLIPPER_EASING = 0xa400;
+unsigned int * const FLIPPER_EASING = (unsigned int*)0xa400;
 
 // Sprite pointers 
-char * const P1_SCREEN_SPRITE_PTRS = 0xe3f8; // P1_SCREEN+OFFSET_SPRITE_PTRS;
+char * const P1_SCREEN_SPRITE_PTRS = (char*)0xe3f8; // P1_SCREEN+OFFSET_SPRITE_PTRS;
 
 #pragma data_seg(InitPart1)
 
diff --git a/src/test/kc/complex/new_30_years_low_resolution/part2-swingplex.c b/src/test/kc/complex/new_30_years_low_resolution/part2-swingplex.c
index 5009cf83b..1be120577 100644
--- a/src/test/kc/complex/new_30_years_low_resolution/part2-swingplex.c
+++ b/src/test/kc/complex/new_30_years_low_resolution/part2-swingplex.c
@@ -14,18 +14,18 @@
 #include "multiplex-bucket.h"
 
 // Memory layout of the graphics bank
-char * const LOGO_DATA          = 0x5400; 
-char * const PART2_BITMAP       = 0xc000; // -0xdfff
-char * const PART2_SCREEN       = 0xe000; // -0xe400
-char * const PART2_SPRITES      = 0xe400; // -0xf400
+char * const LOGO_DATA          = (char*)0x5400;
+char * const PART2_BITMAP       = (char*)0xc000; // -0xdfff
+char * const PART2_SCREEN       = (char*)0xe000; // -0xe400
+char * const PART2_SPRITES      = (char*)0xe400; // -0xf400
 // Location PLEX ID updaters are placed when running
-char * const PLEX_ID_UPDATERS   = 0x3c00;
+char * const PLEX_ID_UPDATERS   = (char*)0x3c00;
 // Location where the crunched PLEX ID updaters are placed to be decrunched
-char * const PLEX_ID_UPDATERS_CRUNCHED2 = 0x7c00; // -0xFF72
+char * const PLEX_ID_UPDATERS_CRUNCHED2 = (char*)0x7c00; // -0xFF72
 // Size of the crunched PLEX ID updaters 
 const unsigned int PLEX_ID_UPDATERS_CRUNCHED_SIZE = 0x0b72;
 // Location where the crunched LOGO DATA is placed  to be decrunched
-char * const LOGO_DATA_CRUNCHED2 = 0x8800; // -0xAA2D
+char * const LOGO_DATA_CRUNCHED2 = (char*)0x8800; // -0xAA2D
 // Size of the crunched PLEX ID updaters 
 const unsigned int LOGO_DATA_CRUNCHED_SIZE = 0x222d;
 
diff --git a/src/test/kc/complex/xmega65/xmega65.c b/src/test/kc/complex/xmega65/xmega65.c
index a5b52ac13..53fdb54c7 100644
--- a/src/test/kc/complex/xmega65/xmega65.c
+++ b/src/test/kc/complex/xmega65/xmega65.c
@@ -8,11 +8,11 @@
 #pragma extension("bin")
 
 
-char* const RASTER = 0xd012;
-char* const VICII_MEMORY = 0xd018;
-char* const SCREEN = 0x0400;
-char* const BG_COLOR = 0xd021;
-char* const COLS = 0xd800;
+char* const RASTER = (char*)0xd012;
+char* const VICII_MEMORY = (char*)0xd018;
+char* const SCREEN = (char*)0x0400;
+char* const BG_COLOR = (char*)0xd021;
+char* const COLS = (char*)0xd800;
 const char BLACK = 0;
 const char WHITE = 1;
 
diff --git a/src/test/kc/complex/xmega65/xmega65logo.c b/src/test/kc/complex/xmega65/xmega65logo.c
index 1b0db6fcd..b4adea740 100644
--- a/src/test/kc/complex/xmega65/xmega65logo.c
+++ b/src/test/kc/complex/xmega65/xmega65logo.c
@@ -2,7 +2,7 @@
 // Fill the palette values into
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     for(byte i:0..0xff) {
         (SCREEN+40*0)[i] = LOGO256_RED[i];
         (SCREEN+40*8)[i] = LOGO256_GREEN[i];
diff --git a/src/test/kc/condition-integer-0.c b/src/test/kc/condition-integer-0.c
index 4aab9c67c..d193e5b16 100644
--- a/src/test/kc/condition-integer-0.c
+++ b/src/test/kc/condition-integer-0.c
@@ -1,7 +1,7 @@
 // Tests using integer conditions in if()
 // This should produce '+ ++ ++' at the top of the screen
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (byte*)0x0400;
 
 void main() {
     byte idx = 0;
diff --git a/src/test/kc/condition-integer-1.c b/src/test/kc/condition-integer-1.c
index c4807b60a..a70df4cdd 100644
--- a/src/test/kc/condition-integer-1.c
+++ b/src/test/kc/condition-integer-1.c
@@ -1,7 +1,7 @@
 // Tests using integer conditions in if()
 // This should produce '0 0 0' at the top of the screen
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (byte*)0x0400;
 
 void main() {
     byte idx = 0;
diff --git a/src/test/kc/condition-integer-2.c b/src/test/kc/condition-integer-2.c
index d6aee1435..0abccd7e9 100644
--- a/src/test/kc/condition-integer-2.c
+++ b/src/test/kc/condition-integer-2.c
@@ -1,7 +1,7 @@
 // Tests using integer conditions in while() / for() / do..while
 // This should produce 'ba ba@ ba@' at the top of the screen
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (byte*)0x0400;
 byte idx = 0;
 
 void main() {
diff --git a/src/test/kc/condition-integer-3.c b/src/test/kc/condition-integer-3.c
index 8c84427aa..c323eba4f 100644
--- a/src/test/kc/condition-integer-3.c
+++ b/src/test/kc/condition-integer-3.c
@@ -1,7 +1,7 @@
 // Tests using integer conditions in ternary operator
 // This should produce '++0++' at the top of the screen
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 
 void main() {
     byte idx = 0;
diff --git a/src/test/kc/condition-integer-4.c b/src/test/kc/condition-integer-4.c
index ac290e75e..d9b541219 100644
--- a/src/test/kc/condition-integer-4.c
+++ b/src/test/kc/condition-integer-4.c
@@ -1,7 +1,7 @@
 // Tests using integer conditions in && and || operator
 // This should produce '01010101', '00110011', '00010001', '01110111' at the top of the screen
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 
 void main() {
     byte idx = 0;
diff --git a/src/test/kc/condition-type-mismatch.c b/src/test/kc/condition-type-mismatch.c
index c13316130..657ea6976 100644
--- a/src/test/kc/condition-type-mismatch.c
+++ b/src/test/kc/condition-type-mismatch.c
@@ -3,7 +3,7 @@
 void main() {
     byte b = 12;
     if(b) {
-        byte* screen = $400;
+        byte* screen = (char*)$400;
         *screen = 'a';
     }
 }
\ No newline at end of file
diff --git a/src/test/kc/consolidate-array-index-problem.c b/src/test/kc/consolidate-array-index-problem.c
index a1383eb9a..a509e64ec 100644
--- a/src/test/kc/consolidate-array-index-problem.c
+++ b/src/test/kc/consolidate-array-index-problem.c
@@ -1,8 +1,8 @@
 
 void main() {
 	byte BLACK = 0;
-	byte* screen = $0400;
-	byte* cols = $d800;
+	byte* screen = (byte*)$0400;
+	byte* cols = (byte*)$d800;
 	for(byte x:0..10) {
 		byte y=x+12;
 		screen[y] = 'a';
diff --git a/src/test/kc/consolidate-constant-problem.c b/src/test/kc/consolidate-constant-problem.c
index bf5dbe0f6..ed93a59a8 100644
--- a/src/test/kc/consolidate-constant-problem.c
+++ b/src/test/kc/consolidate-constant-problem.c
@@ -1,4 +1,4 @@
-byte* const screen = $400;
+byte* const screen = (byte*)$400;
 
 void main() {
     inline for( byte j: 0..1) {
diff --git a/src/test/kc/const-bool-0.c b/src/test/kc/const-bool-0.c
index a722aa986..4e029b5c4 100644
--- a/src/test/kc/const-bool-0.c
+++ b/src/test/kc/const-bool-0.c
@@ -3,7 +3,7 @@
 void main() {
 	char bError = 7;
 	bError &= ~(0x10 | 0x20 | 0x40);
-	char* const screen = 0x0400;
+	char* const screen = (char*)0x0400;
 	*screen = bError;
 }
 
diff --git a/src/test/kc/const-condition.c b/src/test/kc/const-condition.c
index 25feee706..9a93a4dd3 100644
--- a/src/test/kc/const-condition.c
+++ b/src/test/kc/const-condition.c
@@ -1,7 +1,7 @@
 // Ensure that if()'s with constant comparisons are identified and eliminated
 
 void main() {
-    byte* const SCREEN = $0400;
+    byte* const SCREEN = (byte*)$0400;
     if(7<4) {
         SCREEN[0] = '*';
     } else {
diff --git a/src/test/kc/const-declaration.c b/src/test/kc/const-declaration.c
index 09ea4cb43..4a537d884 100644
--- a/src/test/kc/const-declaration.c
+++ b/src/test/kc/const-declaration.c
@@ -1,6 +1,6 @@
 // Tests a number of constant declarations
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 const char LINE_LEN = 40;
 const char MARGIN_TOP = 4;
 const char MARGIN_LEFT = 4;
diff --git a/src/test/kc/const-early-identification.c b/src/test/kc/const-early-identification.c
index af9e79a8e..ed53a8b02 100644
--- a/src/test/kc/const-early-identification.c
+++ b/src/test/kc/const-early-identification.c
@@ -1,6 +1,6 @@
 // Tests that constants are identified early
 
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 // Not an early constant (address-of is used)
 byte A = 'a';
 
diff --git a/src/test/kc/const-identification.c b/src/test/kc/const-identification.c
index 3145b9ba7..7a8502c88 100644
--- a/src/test/kc/const-identification.c
+++ b/src/test/kc/const-identification.c
@@ -1,5 +1,5 @@
-byte* const plots = $1000;
-byte* const SCREEN = $0400;
+byte* const plots = (byte*)$1000;
+byte* const SCREEN = (byte*)$0400;
 
 void main() {
     for(byte i : 0..39) {
diff --git a/src/test/kc/const-if-problem.c b/src/test/kc/const-if-problem.c
index 23c328a3d..9427ae134 100644
--- a/src/test/kc/const-if-problem.c
+++ b/src/test/kc/const-if-problem.c
@@ -1,6 +1,6 @@
 // Constant if() contains call to (unused) function - should be optimized away
 
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 
 void main() {
 	if(1==1) {
diff --git a/src/test/kc/const-int-cast-problem.c b/src/test/kc/const-int-cast-problem.c
index 4f1971677..6436b4763 100644
--- a/src/test/kc/const-int-cast-problem.c
+++ b/src/test/kc/const-int-cast-problem.c
@@ -1,5 +1,5 @@
 // Test a problem with converting casted constant numbers to fixed type constant integers
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$0400;
 
 void main() {
     for( byte i: 121..122) {
diff --git a/src/test/kc/const-mult-div.c b/src/test/kc/const-mult-div.c
index 7a6a50242..2bd2a722c 100644
--- a/src/test/kc/const-mult-div.c
+++ b/src/test/kc/const-mult-div.c
@@ -2,6 +2,6 @@
 
 void main() {
     byte b = 6*(14/3) + 22%3;
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     screen[0] = b;
 }
\ No newline at end of file
diff --git a/src/test/kc/const-param.c b/src/test/kc/const-param.c
index 7fd135f80..27a7bb507 100644
--- a/src/test/kc/const-param.c
+++ b/src/test/kc/const-param.c
@@ -1,7 +1,7 @@
 // Test that the compiler optimizes when the same parameter value is passed into a function in all calls
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     const byte reverse = $80;
     screen[0] = sum(reverse, 'c');
     screen[1] = sum(reverse, 'm');
diff --git a/src/test/kc/const-parenthesis.c b/src/test/kc/const-parenthesis.c
index 3a8590f72..0f147487d 100644
--- a/src/test/kc/const-parenthesis.c
+++ b/src/test/kc/const-parenthesis.c
@@ -1,7 +1,7 @@
 // Test parenthesising of constants
 // See https://gitlab.com/camelot/kickc/-/issues/470#note_356486132
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     const char dy = 128;    
diff --git a/src/test/kc/const-pointer-modify.c b/src/test/kc/const-pointer-modify.c
index 7426ab584..9c73d2efe 100644
--- a/src/test/kc/const-pointer-modify.c
+++ b/src/test/kc/const-pointer-modify.c
@@ -1,7 +1,7 @@
 // Test that modifying constant pointers fail
 
 void main() {
-    byte* const screen = $400;
+    byte* const screen = (byte*)$400;
     screen[0] = 'c';
     screen++;
     screen[0] = 'm';
diff --git a/src/test/kc/const-pointer.c b/src/test/kc/const-pointer.c
index d424d534b..8a9d853e9 100644
--- a/src/test/kc/const-pointer.c
+++ b/src/test/kc/const-pointer.c
@@ -1,9 +1,9 @@
 //Test that constant pointers are detected correctly
 
 void main() {
-    byte* screen = $400;
-    byte* NULL = $0;
-    byte* rem = $ff;
+    byte* screen = (byte*)$400;
+    byte* NULL = (byte*)$0;
+    byte* rem = (byte*)$ff;
 
     if(rem!=NULL) {
         screen[0] = '*';
diff --git a/src/test/kc/const-signed-promotion.c b/src/test/kc/const-signed-promotion.c
index 54fc6ee11..7fc084845 100644
--- a/src/test/kc/const-signed-promotion.c
+++ b/src/test/kc/const-signed-promotion.c
@@ -6,6 +6,6 @@ void main() {
     for(byte i:0..2) {
         world[i]= 400;
     }
-    signed word* screen = $400;
+    signed word* screen = (signed word*)$400;
     *screen = world[0];
 }
\ No newline at end of file
diff --git a/src/test/kc/const-volatile-problem.c b/src/test/kc/const-volatile-problem.c
index 0ed1c2f0c..ef3b7c21f 100644
--- a/src/test/kc/const-volatile-problem.c
+++ b/src/test/kc/const-volatile-problem.c
@@ -9,7 +9,7 @@ char* PLEX_SCREEN_PTR1 = (char*)0x400;
 char* PLEX_SCREEN_PTR2 = (char*)0x500;
 volatile char idx = 0;
 
-void()** const IRQ = 0x314;
+void()** const IRQ = (void()**)0x314;
 
 void main() {
     PLEX_SCREEN_PTR1 = (char*)0x400;
diff --git a/src/test/kc/const-word-pointer.c b/src/test/kc/const-word-pointer.c
index ef1e868e3..bfe68fe42 100644
--- a/src/test/kc/const-word-pointer.c
+++ b/src/test/kc/const-word-pointer.c
@@ -2,7 +2,7 @@
 // The result when running is "CML!" on the screen.
 
 void main () {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     word w = $0d03;
     word* wp = &w;
     screen[0] = <*wp;
diff --git a/src/test/kc/constabsmin.c b/src/test/kc/constabsmin.c
index b5b2417b1..079e62196 100644
--- a/src/test/kc/constabsmin.c
+++ b/src/test/kc/constabsmin.c
@@ -1,4 +1,4 @@
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$0400;
 
 void main() {
     *SCREEN = 1;
diff --git a/src/test/kc/constant-string-concat-0.c b/src/test/kc/constant-string-concat-0.c
index 26f839254..b8cb82ac5 100644
--- a/src/test/kc/constant-string-concat-0.c
+++ b/src/test/kc/constant-string-concat-0.c
@@ -1,7 +1,7 @@
 // Concatenates string constants in different ways
 void main() {
     byte msg[] = "camel" "ot";
-    byte* SCREEN = 0x0400;
+    byte* SCREEN = (char*)0x0400;
     for( byte i=0;msg[i]!=0;i++) {
         SCREEN[i] = msg[i];
     }
diff --git a/src/test/kc/constant-string-concat.c b/src/test/kc/constant-string-concat.c
index b00b7d1d9..74681f565 100644
--- a/src/test/kc/constant-string-concat.c
+++ b/src/test/kc/constant-string-concat.c
@@ -3,7 +3,7 @@ void main() {
     byte s[] = "c"
                "ame"
                "lot";
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     for( byte i: 0..7) {
         SCREEN[i] = s[i];
     }
diff --git a/src/test/kc/constantmin.c b/src/test/kc/constantmin.c
index 83d19f87a..69156e268 100644
--- a/src/test/kc/constantmin.c
+++ b/src/test/kc/constantmin.c
@@ -1,7 +1,7 @@
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$0400;
 const byte STAR = 81;
 
-byte* VIC = $d000;
+byte* VIC = (byte*)$d000;
 byte* BG_COLOR = VIC+$10*2+1;
 byte RED = 2;
 
diff --git a/src/test/kc/constants.c b/src/test/kc/constants.c
index b31d803b3..a48b94781 100644
--- a/src/test/kc/constants.c
+++ b/src/test/kc/constants.c
@@ -1,5 +1,5 @@
 #include <c64-print.h>
-byte* const BG_COLOR = $d021;
+byte* const BG_COLOR = (char*)$d021;
 const byte GREEN = 5;
 const byte RED = 2 ;
 
diff --git a/src/test/kc/constref-not-literal-problem.c b/src/test/kc/constref-not-literal-problem.c
index 502ad1ace..5d73eabf4 100644
--- a/src/test/kc/constref-not-literal-problem.c
+++ b/src/test/kc/constref-not-literal-problem.c
@@ -1,7 +1,7 @@
 // Demonstrates a problem where constant references are not literal
 
 char A[] = "qwe";
-char * B = 0x8000;
+char * B = (char*)0x8000;
 
 void main() {
     copy(B, A);
diff --git a/src/test/kc/cordic-atan2-16-ref.c b/src/test/kc/cordic-atan2-16-ref.c
index c74a098ed..aa6855389 100644
--- a/src/test/kc/cordic-atan2-16-ref.c
+++ b/src/test/kc/cordic-atan2-16-ref.c
@@ -6,8 +6,8 @@
 #include <c64.h>
 #include <c64-print.h>
 
-byte* const CHARSET = 0x2000;
-byte* const SCREEN = 0x2800;
+byte* const CHARSET = (byte*)0x2000;
+byte* const SCREEN = (byte*)0x2800;
 
 const byte SCREEN_REF[1000] = kickasm {{
     .for(var y=-12;y<=12;y++)
diff --git a/src/test/kc/cordic-atan2-16.c b/src/test/kc/cordic-atan2-16.c
index 4e2185fc3..3aad055b8 100644
--- a/src/test/kc/cordic-atan2-16.c
+++ b/src/test/kc/cordic-atan2-16.c
@@ -5,8 +5,8 @@
 #include <atan2.h>
 #include <c64.h>
 
-byte* const CHARSET = 0x2000;
-byte* const SCREEN = 0x2800;
+byte* const CHARSET = (byte*)0x2000;
+byte* const SCREEN = (byte*)0x2800;
 
 void main() {
     init_font_hex(CHARSET);
diff --git a/src/test/kc/cordic-atan2-clear.c b/src/test/kc/cordic-atan2-clear.c
index 893fdc653..0bc84e959 100644
--- a/src/test/kc/cordic-atan2-clear.c
+++ b/src/test/kc/cordic-atan2-clear.c
@@ -4,8 +4,8 @@
 #include <atan2.h>
 #include <c64.h>
 
-byte* const CHARSET = 0x2000;
-byte* const SCREEN = 0x2800;
+byte* const CHARSET = (byte*)0x2000;
+byte* const SCREEN = (byte*)0x2800;
 
 void main() {
     init_font_hex(CHARSET);
diff --git a/src/test/kc/cordic-atan2.c b/src/test/kc/cordic-atan2.c
index 91b4d8092..a60b3162d 100644
--- a/src/test/kc/cordic-atan2.c
+++ b/src/test/kc/cordic-atan2.c
@@ -6,8 +6,8 @@
 #include <atan2.h>
 
 
-byte* const CHARSET = 0x2000;
-byte* const SCREEN = 0x2800;
+byte* const CHARSET = (byte*)0x2000;
+byte* const SCREEN = (byte*)0x2800;
 
 void main() {
     init_font_hex(CHARSET);
diff --git a/src/test/kc/cpu-45gs02.c b/src/test/kc/cpu-45gs02.c
index 43a1ace00..0a1d97671 100644
--- a/src/test/kc/cpu-45gs02.c
+++ b/src/test/kc/cpu-45gs02.c
@@ -3,7 +3,7 @@
 
 #pragma cpu(MEGA45GS02)
 
-unsigned long* SCREEN = 0x0400;
+unsigned long* SCREEN = (char*)0x0400;
 
 void main() {
     unsigned long sum = 0;
diff --git a/src/test/kc/cpu-6502.c b/src/test/kc/cpu-6502.c
index 99f742e64..24e6039d9 100644
--- a/src/test/kc/cpu-6502.c
+++ b/src/test/kc/cpu-6502.c
@@ -4,7 +4,7 @@
 #pragma cpu(MOS6502)
 
 void main() {
-    char* const screen = 0x0400;
+    char* const screen = (char*)0x0400;
     char c=0;
     while(c<100) {
         screen[c] = '*';
diff --git a/src/test/kc/cpu-65c02.c b/src/test/kc/cpu-65c02.c
index 824f1403e..a31485b01 100644
--- a/src/test/kc/cpu-65c02.c
+++ b/src/test/kc/cpu-65c02.c
@@ -3,7 +3,7 @@
 
 #pragma cpu(WDC65C02)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     char a = SCREEN[0];
diff --git a/src/test/kc/cpu-65ce02-b.c b/src/test/kc/cpu-65ce02-b.c
index 4ddaafb32..a7e208970 100644
--- a/src/test/kc/cpu-65ce02-b.c
+++ b/src/test/kc/cpu-65ce02-b.c
@@ -3,7 +3,7 @@
 
 #pragma cpu(CSG65CE02)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     for(register(Z) char i=0;i<100;i++)
diff --git a/src/test/kc/cpu-65ce02.c b/src/test/kc/cpu-65ce02.c
index 72adba6db..87699e6be 100644
--- a/src/test/kc/cpu-65ce02.c
+++ b/src/test/kc/cpu-65ce02.c
@@ -3,7 +3,7 @@
 
 #pragma cpu(CSG65CE02)
 
-signed char* const SCREEN = 0x0400;
+signed char* const SCREEN = (signed char*)0x0400;
 
 void main() {
     signed char a = SCREEN[0];
diff --git a/src/test/kc/cstyle-decl-function-mismatch.c b/src/test/kc/cstyle-decl-function-mismatch.c
index b2cebb164..7dda3c930 100644
--- a/src/test/kc/cstyle-decl-function-mismatch.c
+++ b/src/test/kc/cstyle-decl-function-mismatch.c
@@ -4,7 +4,7 @@
 // Declaration of a sum-function
 char sum(char a, int b);
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 // Definition of main()
 void main() {
diff --git a/src/test/kc/cstyle-decl-function-missing.c b/src/test/kc/cstyle-decl-function-missing.c
index 969b98867..bd1310254 100644
--- a/src/test/kc/cstyle-decl-function-missing.c
+++ b/src/test/kc/cstyle-decl-function-missing.c
@@ -4,7 +4,7 @@
 // Declaration of a sum-function
 char sum(char a, int b);
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 // Definition of main()
 void main() {
diff --git a/src/test/kc/cstyle-decl-function-redefinition.c b/src/test/kc/cstyle-decl-function-redefinition.c
index 6a07c5490..a1d4cfba5 100644
--- a/src/test/kc/cstyle-decl-function-redefinition.c
+++ b/src/test/kc/cstyle-decl-function-redefinition.c
@@ -4,7 +4,7 @@
 // Declaration of a sum-function
 char sum(char a, char b);
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 // Definition of main()
 void main() {
diff --git a/src/test/kc/cstyle-decl-function.c b/src/test/kc/cstyle-decl-function.c
index d42c32e15..28ba24abe 100644
--- a/src/test/kc/cstyle-decl-function.c
+++ b/src/test/kc/cstyle-decl-function.c
@@ -6,7 +6,7 @@ void main(void);
 // Declaration of a sum-function
 char sum(char a, char b);
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 // Definition of main()
 void main() {
diff --git a/src/test/kc/cstyle-decl-var-mismatch.c b/src/test/kc/cstyle-decl-var-mismatch.c
index 84556defd..ad7e5e0fa 100644
--- a/src/test/kc/cstyle-decl-var-mismatch.c
+++ b/src/test/kc/cstyle-decl-var-mismatch.c
@@ -5,7 +5,7 @@
 extern unsigned int SCREEN;
 
 // The actual declaration with another
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 char idx;
 
 // And a little code using them
diff --git a/src/test/kc/cstyle-decl-var-multiple.c b/src/test/kc/cstyle-decl-var-multiple.c
index 71212f354..ca5b5b95f 100644
--- a/src/test/kc/cstyle-decl-var-multiple.c
+++ b/src/test/kc/cstyle-decl-var-multiple.c
@@ -1,6 +1,6 @@
 // Test legal definition of multiple local variables with the same name
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 char idx;
 char c;
 
diff --git a/src/test/kc/cstyle-decl-var-redefinition.c b/src/test/kc/cstyle-decl-var-redefinition.c
index 0111df8ec..c0e14fcfb 100644
--- a/src/test/kc/cstyle-decl-var-redefinition.c
+++ b/src/test/kc/cstyle-decl-var-redefinition.c
@@ -2,10 +2,10 @@
 // Redefinition
 
 //First definition
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 //Second definition
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 char idx;
 
 // And a little code using them
diff --git a/src/test/kc/cstyle-decl-var.c b/src/test/kc/cstyle-decl-var.c
index 709df172f..76817e3f1 100644
--- a/src/test/kc/cstyle-decl-var.c
+++ b/src/test/kc/cstyle-decl-var.c
@@ -5,7 +5,7 @@ extern char * const SCREEN;
 extern char idx;
 
 // The actual declarations
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 char idx;
 
 // And a little code using them
diff --git a/src/test/kc/danny-joystick-problem.c b/src/test/kc/danny-joystick-problem.c
index 60384a8ab..54c820967 100644
--- a/src/test/kc/danny-joystick-problem.c
+++ b/src/test/kc/danny-joystick-problem.c
@@ -2,7 +2,7 @@
 // https://www.protovision.games/hardw/build4player.php?language=en&fbclid=IwAR1MJLgQjOU0zVa0ax2aNeGa-xVbE9IGY9zC6b6eInTV4HQzoUAoCPoXu14
 
 #include <c64.h>
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 void main() {
     (CIA2->PORT_B) &= 0x7f;
     asm { lda #0 }
diff --git a/src/test/kc/declared-memory-var-0.c b/src/test/kc/declared-memory-var-0.c
index 5d08f5d77..5ea113105 100644
--- a/src/test/kc/declared-memory-var-0.c
+++ b/src/test/kc/declared-memory-var-0.c
@@ -2,7 +2,7 @@
 
 __mem __ma char idx;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     for( char i: 0..5 ) {
diff --git a/src/test/kc/declared-memory-var-1.c b/src/test/kc/declared-memory-var-1.c
index 775673ce3..dc4a928ae 100644
--- a/src/test/kc/declared-memory-var-1.c
+++ b/src/test/kc/declared-memory-var-1.c
@@ -4,7 +4,7 @@
 __mem __ma char idx;
 char* idx_p = &idx;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     for( char i: 0..5 ) {
diff --git a/src/test/kc/declared-memory-var-2.c b/src/test/kc/declared-memory-var-2.c
index 7655ea061..a997f666d 100644
--- a/src/test/kc/declared-memory-var-2.c
+++ b/src/test/kc/declared-memory-var-2.c
@@ -1,7 +1,7 @@
 // Test declaring a variable as "memory", meaning it will be stored in memory and accessed through an implicit pointer (using load/store)
 // Test a memory variable containing a pointer
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 __mem __ma char* cursor = SCREEN;
 
diff --git a/src/test/kc/declared-memory-var-3.c b/src/test/kc/declared-memory-var-3.c
index d2a13205e..bd272f81d 100644
--- a/src/test/kc/declared-memory-var-3.c
+++ b/src/test/kc/declared-memory-var-3.c
@@ -10,7 +10,7 @@ __mem __ma  struct foo bar = { 'a', 'b' };
 
 void main(void) {
 	struct foo* barp = &bar;
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
 	char i=0;
 	SCREEN[i++] = barp->thing1;
 	SCREEN[i++] = barp->thing2;
diff --git a/src/test/kc/declared-memory-var-4.c b/src/test/kc/declared-memory-var-4.c
index 0d36a826b..6dba4b7d5 100644
--- a/src/test/kc/declared-memory-var-4.c
+++ b/src/test/kc/declared-memory-var-4.c
@@ -11,7 +11,7 @@ __mem __ma  struct foo bar = { 'a', 'b', "qwe" };
 
 void main(void) {
 	struct foo* barp = &bar;
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
 	char i=0;
 	SCREEN[i++] = barp->thing1;
 	SCREEN[i++] = barp->thing2;
diff --git a/src/test/kc/declared-memory-var-5.c b/src/test/kc/declared-memory-var-5.c
index ffc83dd1b..1e085ae26 100644
--- a/src/test/kc/declared-memory-var-5.c
+++ b/src/test/kc/declared-memory-var-5.c
@@ -9,7 +9,7 @@ struct foo {
 __mem __ma struct foo bar = { 'a', 'b' };
 
 void main(void) {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
 	char i=0;
 	SCREEN[i++] = bar.thing1;
 	SCREEN[i++] = bar.thing2;
diff --git a/src/test/kc/declared-memory-var-6.c b/src/test/kc/declared-memory-var-6.c
index 6b281237a..0e4164c21 100644
--- a/src/test/kc/declared-memory-var-6.c
+++ b/src/test/kc/declared-memory-var-6.c
@@ -1,6 +1,6 @@
 // Test declaring a variable as "memory", meaning it will be stored in memory and accessed through an implicit pointer (using load/store)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char i=0;
 
 void main(void) {
diff --git a/src/test/kc/declared-memory-var-7.c b/src/test/kc/declared-memory-var-7.c
index 1a226743e..ce4d4e103 100644
--- a/src/test/kc/declared-memory-var-7.c
+++ b/src/test/kc/declared-memory-var-7.c
@@ -3,7 +3,7 @@
 
 __ma  char idx;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     for( char i: 0..5 ) {
diff --git a/src/test/kc/declared-memory-var-8.c b/src/test/kc/declared-memory-var-8.c
index b5a3f8600..a1de6178d 100644
--- a/src/test/kc/declared-memory-var-8.c
+++ b/src/test/kc/declared-memory-var-8.c
@@ -3,7 +3,7 @@
 
 __ma __address(0x1000) char idx;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     for( char i: 0..5 ) {
diff --git a/src/test/kc/declared-ssa-var-0.c b/src/test/kc/declared-ssa-var-0.c
index 72c709832..3013fa8bd 100644
--- a/src/test/kc/declared-ssa-var-0.c
+++ b/src/test/kc/declared-ssa-var-0.c
@@ -3,10 +3,10 @@
 char __ssa idx_ssa_g;
 char __ma idx_nssa_g;
 
-char* const SCREEN1 = 0x0400;
-char* const SCREEN2 = 0x0400+40;
-char* const SCREEN3 = 0x0400+80;
-char* const SCREEN4 = 0x0400+120;
+char* const SCREEN1 = (char*)0x0400;
+char* const SCREEN2 = (char*)0x0400+40;
+char* const SCREEN3 = (char*)0x0400+80;
+char* const SCREEN4 = (char*)0x0400+120;
 
 void main() {
     char __ssa idx_ssa_l;
diff --git a/src/test/kc/deep-nesting.c b/src/test/kc/deep-nesting.c
index 49aab2831..b7f1eec5e 100644
--- a/src/test/kc/deep-nesting.c
+++ b/src/test/kc/deep-nesting.c
@@ -1,7 +1,7 @@
 // Test that the compiler handles deep nesting well -- mainly a performance issue.
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     const byte reverse = $80;
     screen[0] = f1(0);
 }
diff --git a/src/test/kc/default-font.c b/src/test/kc/default-font.c
index 3323868a1..98302b03c 100644
--- a/src/test/kc/default-font.c
+++ b/src/test/kc/default-font.c
@@ -2,7 +2,7 @@
 
 #include <string.h>
 
-byte* SCREEN = 0x0400;
+byte* SCREEN = (char*)0x0400;
 
 void main() {
     memset(SCREEN, ' ', 1000);
diff --git a/src/test/kc/deref-to-derefidx-2.c b/src/test/kc/deref-to-derefidx-2.c
index 6973476a6..f0d6ab3f6 100644
--- a/src/test/kc/deref-to-derefidx-2.c
+++ b/src/test/kc/deref-to-derefidx-2.c
@@ -8,7 +8,7 @@ void main() {
     print(msg2);
 }
 
-word* const SCREEN = $0400;
+word* const SCREEN = (byte*)$0400;
 byte screen_idx=0;
 
 void print(byte* m) {
diff --git a/src/test/kc/deref-to-derefidx.c b/src/test/kc/deref-to-derefidx.c
index 684a36e54..26c36b637 100644
--- a/src/test/kc/deref-to-derefidx.c
+++ b/src/test/kc/deref-to-derefidx.c
@@ -8,7 +8,7 @@ void main() {
     print(msg2);
 }
 
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$0400;
 byte idx=0;
 
 void print(byte* m) {
diff --git a/src/test/kc/derefidx-word-0.c b/src/test/kc/derefidx-word-0.c
index a740bedfd..abf8bac1f 100644
--- a/src/test/kc/derefidx-word-0.c
+++ b/src/test/kc/derefidx-word-0.c
@@ -1,7 +1,7 @@
 // Tests that array-indexing by a word variable is turned into pointer addition
 
 void main() {
-    byte* const screen = 0x0400;
+    byte* const screen = (char*)0x0400;
     for( word i=0;i<1000;i+=40) {
         screen[i] = 'a';
     }
diff --git a/src/test/kc/derefidx-word-1.c b/src/test/kc/derefidx-word-1.c
index 23d8e0f18..0bdaecd6a 100644
--- a/src/test/kc/derefidx-word-1.c
+++ b/src/test/kc/derefidx-word-1.c
@@ -1,7 +1,7 @@
 // Tests that array-indexing by a constant word is turned into a constant pointer
 
 void main() {
-    byte* const screen = 0x0400;
+    byte* const screen = (char*)0x0400;
     screen[40*10] = 'a';
 }
 
diff --git a/src/test/kc/derefidx-word-2.c b/src/test/kc/derefidx-word-2.c
index 2c9512292..104f2402c 100644
--- a/src/test/kc/derefidx-word-2.c
+++ b/src/test/kc/derefidx-word-2.c
@@ -1,7 +1,7 @@
 // Tests that array-indexing by a word variable that is a sum of a constant word and a byte is turned back into derefidx
 
 void main() {
-    byte* const screen = 0x0400;
+    byte* const screen = (byte*)0x0400;
     for( byte i : 0..39) {
         screen[40*10+i] = 'a';
     }
diff --git a/src/test/kc/divide-2s.c b/src/test/kc/divide-2s.c
index cec3f522c..013605469 100644
--- a/src/test/kc/divide-2s.c
+++ b/src/test/kc/divide-2s.c
@@ -1,7 +1,7 @@
 // Check that division by factors of 2 is converted to shifts
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (byte*)$400;
 
     for(byte i: 0..10) {
         (SCREEN+40*0)[i] = i/1;
diff --git a/src/test/kc/double-assignment.c b/src/test/kc/double-assignment.c
index 59e8fdfe6..4b8fa7463 100644
--- a/src/test/kc/double-assignment.c
+++ b/src/test/kc/double-assignment.c
@@ -3,7 +3,7 @@
 void main() {
     byte a;
     byte b;
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     a = b = 12;
     screen[0] = a;
     screen[1] = b;
diff --git a/src/test/kc/double-call-problem.c b/src/test/kc/double-call-problem.c
index bace9ead4..cad520f40 100644
--- a/src/test/kc/double-call-problem.c
+++ b/src/test/kc/double-call-problem.c
@@ -5,6 +5,6 @@ void main() {
 }
 
 void clrscr(void) {
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
     SCREEN[0] = '@';
 }
\ No newline at end of file
diff --git a/src/test/kc/double-indexing-arrays.c b/src/test/kc/double-indexing-arrays.c
index 4cd26fe89..7016c8ce4 100644
--- a/src/test/kc/double-indexing-arrays.c
+++ b/src/test/kc/double-indexing-arrays.c
@@ -4,8 +4,8 @@ byte MAPDATA[1000];
 byte COLORMAP1[256];
 byte COLORMAP2[256];
 
-byte* SCREEN = $0400;
-byte* COLS = $d800;
+byte* SCREEN = (byte*)$0400;
+byte* COLS = (byte*)$d800;
 
 void main() {
     for (byte x: 0..200) {
diff --git a/src/test/kc/duplicate-loop-problem.c b/src/test/kc/duplicate-loop-problem.c
index 8d455810e..0e424fb77 100755
--- a/src/test/kc/duplicate-loop-problem.c
+++ b/src/test/kc/duplicate-loop-problem.c
@@ -2,7 +2,7 @@
 // Resulted in infinite loop in loop depth analysis
 
 
-byte* const DC00 = $DC00;
+byte* const DC00 = (byte*)$DC00;
 byte rpc;
 byte key;
 
diff --git a/src/test/kc/dword.c b/src/test/kc/dword.c
index 0b7f01cd0..d7537c3fe 100644
--- a/src/test/kc/dword.c
+++ b/src/test/kc/dword.c
@@ -5,7 +5,7 @@ void main() {
     for( byte i: 0..100) {
         dword b = a + i;
         byte c = (byte) b;
-        byte* const SCREEN = $400;
+        byte* const SCREEN = (char*)$400;
         SCREEN[i] = c;
     }
 }
\ No newline at end of file
diff --git a/src/test/kc/empty-function-0.c b/src/test/kc/empty-function-0.c
index 457d53ed3..caaf2e485 100644
--- a/src/test/kc/empty-function-0.c
+++ b/src/test/kc/empty-function-0.c
@@ -2,7 +2,7 @@
 
 char v;
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     set();
diff --git a/src/test/kc/empty-function-1.c b/src/test/kc/empty-function-1.c
index 77ce0f664..8ec77d458 100644
--- a/src/test/kc/empty-function-1.c
+++ b/src/test/kc/empty-function-1.c
@@ -1,6 +1,6 @@
 // Test removal of empty function
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     empty();
diff --git a/src/test/kc/emptyblock-error.c b/src/test/kc/emptyblock-error.c
index f8682d4d7..1fcf408d7 100644
--- a/src/test/kc/emptyblock-error.c
+++ b/src/test/kc/emptyblock-error.c
@@ -15,7 +15,7 @@ void menu() {
 }
 
 byte a = 0;
-byte *B = $1000;
+byte *B = (byte *)$1000;
 
 void mode() {
     while(true) {
diff --git a/src/test/kc/encoding-atascii.c b/src/test/kc/encoding-atascii.c
index fb56b047c..7553c7d05 100644
--- a/src/test/kc/encoding-atascii.c
+++ b/src/test/kc/encoding-atascii.c
@@ -3,7 +3,7 @@
 #pragma encoding(atascii)
 char TEXT[] = "hello, world!\n";
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = TEXT[13];
diff --git a/src/test/kc/encoding-literal-char.c b/src/test/kc/encoding-literal-char.c
index e2c0f8624..a35fedb8b 100644
--- a/src/test/kc/encoding-literal-char.c
+++ b/src/test/kc/encoding-literal-char.c
@@ -13,7 +13,7 @@ const char ssm[] = "A";
 const char csu = 'A';
 const char ssu[] = "A";
 
-char* const screen = 0x0400;
+char* const screen = (char*)0x0400;
 void main() {
     char idx = 0;
     screen[idx++] = cpm;
diff --git a/src/test/kc/enum-0.c b/src/test/kc/enum-0.c
index cf889ed05..2f057d054 100644
--- a/src/test/kc/enum-0.c
+++ b/src/test/kc/enum-0.c
@@ -4,6 +4,6 @@ enum State { OFF , ON };
 
 void main() {
     enum State state = ON;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (byte*)0x0400;
     *SCREEN = state;
 }
\ No newline at end of file
diff --git a/src/test/kc/enum-1.c b/src/test/kc/enum-1.c
index 534c09d98..79bf8167f 100644
--- a/src/test/kc/enum-1.c
+++ b/src/test/kc/enum-1.c
@@ -8,6 +8,6 @@ enum State {
 
 void main() {
     enum State state = BROKEN;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (byte*)0x0400;
     *SCREEN = state;
 }
\ No newline at end of file
diff --git a/src/test/kc/enum-2.c b/src/test/kc/enum-2.c
index dbce8fb0c..3e0c522db 100644
--- a/src/test/kc/enum-2.c
+++ b/src/test/kc/enum-2.c
@@ -8,6 +8,6 @@ enum Letter {
 
 void main() {
     enum Letter letter = B;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (byte*)0x0400;
     *SCREEN = letter;
 }
\ No newline at end of file
diff --git a/src/test/kc/enum-3.c b/src/test/kc/enum-3.c
index 2ef236734..7334fa22d 100644
--- a/src/test/kc/enum-3.c
+++ b/src/test/kc/enum-3.c
@@ -8,6 +8,6 @@ enum State {
 
 void main() {
     enum State state = BROKEN;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (byte*)0x0400;
     *SCREEN = state;
 }
\ No newline at end of file
diff --git a/src/test/kc/enum-4.c b/src/test/kc/enum-4.c
index 572b87876..1b9627c8e 100644
--- a/src/test/kc/enum-4.c
+++ b/src/test/kc/enum-4.c
@@ -2,7 +2,7 @@
 
 void main() {
     enum State { OFF,  ON } state = ON;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     *SCREEN = state;
 }
 
diff --git a/src/test/kc/enum-5.c b/src/test/kc/enum-5.c
index 886878f06..62fcff295 100644
--- a/src/test/kc/enum-5.c
+++ b/src/test/kc/enum-5.c
@@ -2,13 +2,13 @@
 
 void main() {
     enum State { OFF,  ON } state = ON;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (byte*)0x0400;
     *SCREEN = state;
     test();
 }
 
 void test() {
     enum State { OFF=7,  ON } state = ON;
-    byte* const SCREEN = 0x0428;
+    byte* const SCREEN = (byte*)0x0428;
     *SCREEN = state;
 }
diff --git a/src/test/kc/enum-6.c b/src/test/kc/enum-6.c
index 93c9b5f2e..308c4120e 100644
--- a/src/test/kc/enum-6.c
+++ b/src/test/kc/enum-6.c
@@ -2,7 +2,7 @@
 
 void main() {
     enum { OFF,  ON } state = ON;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = state;
     state = OFF;
     SCREEN[1] = state;
diff --git a/src/test/kc/enum-7.c b/src/test/kc/enum-7.c
index d12c460ff..9b7573f1e 100644
--- a/src/test/kc/enum-7.c
+++ b/src/test/kc/enum-7.c
@@ -9,7 +9,7 @@ struct Button {
 
 void main() {
     struct Button button = { RED, 24};
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = button.color;
     SCREEN[1] = button.size;
 }
diff --git a/src/test/kc/enum-8.c b/src/test/kc/enum-8.c
index 336732a57..e53b4f4aa 100644
--- a/src/test/kc/enum-8.c
+++ b/src/test/kc/enum-8.c
@@ -7,7 +7,7 @@ struct Button {
 
 void main() {
     struct Button button = { RED, 24 };
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = button.color;
     SCREEN[1] = button.size;
 }
diff --git a/src/test/kc/enum-err-0.c b/src/test/kc/enum-err-0.c
index e76ce679b..efecb0cd8 100644
--- a/src/test/kc/enum-err-0.c
+++ b/src/test/kc/enum-err-0.c
@@ -9,7 +9,7 @@ enum State {
 
 void main() {
     enum State state = ON;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     *SCREEN = state;
 }
 
diff --git a/src/test/kc/enum-err-1.c b/src/test/kc/enum-err-1.c
index cb7645ea5..2295bd1f8 100644
--- a/src/test/kc/enum-err-1.c
+++ b/src/test/kc/enum-err-1.c
@@ -8,7 +8,7 @@ enum State {
 
 void main() {
     enum State state = ON;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     *SCREEN = state;
 }
 
diff --git a/src/test/kc/enum-err-2.c b/src/test/kc/enum-err-2.c
index f77d653cd..468ffb6b3 100644
--- a/src/test/kc/enum-err-2.c
+++ b/src/test/kc/enum-err-2.c
@@ -9,7 +9,7 @@ enum State {
 
 void main() {
     enum State state = ON;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     *SCREEN = state;
 }
 
diff --git a/src/test/kc/euclid-problem-2.c b/src/test/kc/euclid-problem-2.c
index c579b14d3..fdef586db 100644
--- a/src/test/kc/euclid-problem-2.c
+++ b/src/test/kc/euclid-problem-2.c
@@ -1,7 +1,7 @@
 // Demonstrates a problem where wrong alive ranges result in clobbering an alive variable
 // The compiler does not realize that A is alive in the statement b=b-a - and thus can clobber it.
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/euclid-problem.c b/src/test/kc/euclid-problem.c
index a1cbbfea4..4f707ff39 100644
--- a/src/test/kc/euclid-problem.c
+++ b/src/test/kc/euclid-problem.c
@@ -1,7 +1,7 @@
 // Demonstrates a problem where wrong alive ranges result in clobbering an alive variable
 // The compiler does not realize that A is alive in the statement b=b-a - and thus can clobber it.
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
     char a = 128;
diff --git a/src/test/kc/examples/c64/3d/3d.c b/src/test/kc/examples/c64/3d/3d.c
index 3eb6dd560..afe825e3b 100644
--- a/src/test/kc/examples/c64/3d/3d.c
+++ b/src/test/kc/examples/c64/3d/3d.c
@@ -19,7 +19,7 @@ signed char yp;
 unsigned int psp1;
 unsigned int psp2;
 
-char* SCREEN = $400;
+char* SCREEN = (char*)$400;
 
 void main() {
 	asm { sei }
@@ -102,7 +102,7 @@ void debug_print_init() {
 
     char* at_line = SCREEN+16*40;
  	char c = 4;
- 	char* COLS = $d800;
+ 	char* COLS = (char*)$d800;
  	char* at_cols = COLS+16*40;
     for( char i: 0..7) {
     	print_schar_at(xs[i], at_line+40*0+c);
@@ -156,7 +156,7 @@ void debug_print() {
 
 // Initialize sprites
 void sprites_init() {
-	char* SCREEN = $400;
+	char* SCREEN = (char*)$400;
     VICII->SPRITES_ENABLE = %11111111;
     char* sprites_ptr = SCREEN+$3f8;
     for(char i: 0..7) {
diff --git a/src/test/kc/examples/c64/bresenham/bitmap-bresenham.c b/src/test/kc/examples/c64/bresenham/bitmap-bresenham.c
index e28f17482..2c9ad945f 100644
--- a/src/test/kc/examples/c64/bresenham/bitmap-bresenham.c
+++ b/src/test/kc/examples/c64/bresenham/bitmap-bresenham.c
@@ -1,8 +1,8 @@
 #include <c64.h>
 #include <c64-bitmap.h>
 
-char* const SCREEN = $400;
-char* const BITMAP = $2000;
+char* const SCREEN = (char*)$400;
+char* const BITMAP = (char*)$2000;
 
 const char LINES = 8;
 char lines_x[LINES+1] = { 60, 80, 110, 80, 60, 40, 10, 40, 60 };
diff --git a/src/test/kc/examples/c64/chargen/chargen-analysis.c b/src/test/kc/examples/c64/chargen/chargen-analysis.c
index 98bc05581..1566269ff 100644
--- a/src/test/kc/examples/c64/chargen/chargen-analysis.c
+++ b/src/test/kc/examples/c64/chargen/chargen-analysis.c
@@ -2,7 +2,7 @@
 #include <c64.h>
 #include <c64-keyboard.h>
 
-char* SCREEN = $400;
+char* SCREEN = (char*)$400;
 
 void main() {
     // Clear screen
diff --git a/src/test/kc/examples/c64/crunching/test-byteboozer.c b/src/test/kc/examples/c64/crunching/test-byteboozer.c
index bc45ae32c..32970826d 100644
--- a/src/test/kc/examples/c64/crunching/test-byteboozer.c
+++ b/src/test/kc/examples/c64/crunching/test-byteboozer.c
@@ -8,7 +8,7 @@
 #include "byteboozer.h"
 
 // Address to decrunch the sprite to
-char * const SPRITE = 0x2000;
+char * const SPRITE = (char *)0x2000;
 
 // The sprite pointers
 char * const SPRITES_PTR = DEFAULT_SCREEN+OFFSET_SPRITE_PTRS;
diff --git a/src/test/kc/examples/c64/crunching/test-exomizer.c b/src/test/kc/examples/c64/crunching/test-exomizer.c
index b4de19817..f84a2a8c5 100644
--- a/src/test/kc/examples/c64/crunching/test-exomizer.c
+++ b/src/test/kc/examples/c64/crunching/test-exomizer.c
@@ -7,7 +7,7 @@
 #include <c64.h>
 
 // Address to decrunch the sprite to
-char * const SPRITE = 0x2000;
+char * const SPRITE = (char*)0x2000;
 
 char * const SPRITES_PTR = DEFAULT_SCREEN+OFFSET_SPRITE_PTRS;
 
diff --git a/src/test/kc/examples/c64/fastmultiply/fastmultiply8.c b/src/test/kc/examples/c64/fastmultiply/fastmultiply8.c
index 850ae8568..442b6c3d3 100644
--- a/src/test/kc/examples/c64/fastmultiply/fastmultiply8.c
+++ b/src/test/kc/examples/c64/fastmultiply/fastmultiply8.c
@@ -12,7 +12,7 @@ signed char vals[] = {-95, -64, -32, -16, 0, 16, 32, 64, 95};
 
 void main() {
 	init_screen();
-	char* at_line = $400;
+	char* at_line = (char*)$400;
 	char* at = at_line+4;
 	for(char k: 0..8) {
 		print_schar_at(vals[k], at);
@@ -32,7 +32,7 @@ void main() {
 
 void init_screen() {
 	print_cls();
-	char* COLS = $d800;
+	char* COLS = (char*)$d800;
 	char WHITE = 1;
 	for(char l: 0..39) {
 		COLS[l] = WHITE;
diff --git a/src/test/kc/examples/c64/fire/fire.c b/src/test/kc/examples/c64/fire/fire.c
index f15c2d62e..7fc6184e6 100644
--- a/src/test/kc/examples/c64/fire/fire.c
+++ b/src/test/kc/examples/c64/fire/fire.c
@@ -6,10 +6,10 @@
 
 #include <c64.h>
 
-unsigned char* SCREEN1 = 0x3800;
-unsigned char* SCREEN2 = 0x3c00;
-unsigned char* BUFFER = 0x4000;
-unsigned char* CHARSET = 0x3000;
+unsigned char* SCREEN1 = (unsigned char*)0x3800;
+unsigned char* SCREEN2 = (unsigned char*)0x3c00;
+unsigned char* BUFFER = (unsigned char*)0x4000;
+unsigned char* CHARSET = (unsigned char*)0x3000;
 
 void main() {
     asm { sei }
diff --git a/src/test/kc/examples/c64/font-2x2/font-2x2.c b/src/test/kc/examples/c64/font-2x2/font-2x2.c
index 6098f6938..9b013defc 100644
--- a/src/test/kc/examples/c64/font-2x2/font-2x2.c
+++ b/src/test/kc/examples/c64/font-2x2/font-2x2.c
@@ -3,9 +3,9 @@
 #include <c64.h>
 #include <string.h>
 
-char* const SCREEN = 0x0400;
-char* const FONT_ORIGINAL = 0x2000;
-char* const FONT_COMPRESSED = 0x2800;
+char* const SCREEN = (char*)0x0400;
+char* const FONT_ORIGINAL = (char*)0x2000;
+char* const FONT_COMPRESSED = (char*)0x2800;
 char __align(0x100) FONT_COMPRESSED_MAP[0x100];
 
 void main() {
diff --git a/src/test/kc/examples/c64/irq/irq-hyperscreen.c b/src/test/kc/examples/c64/irq/irq-hyperscreen.c
index bc433db65..147d78759 100644
--- a/src/test/kc/examples/c64/irq/irq-hyperscreen.c
+++ b/src/test/kc/examples/c64/irq/irq-hyperscreen.c
@@ -1,7 +1,7 @@
 // A raster IRQ that opens the top/bottom border.
 #include <c64.h>
 
-char* const GHOST_BYTE = $3fff;
+char* const GHOST_BYTE = (char*)$3fff;
 
 void main() {
     *GHOST_BYTE = 0;
diff --git a/src/test/kc/examples/c64/kernalload/kernalload.c b/src/test/kc/examples/c64/kernalload/kernalload.c
index ba926297e..eba0f34f6 100644
--- a/src/test/kc/examples/c64/kernalload/kernalload.c
+++ b/src/test/kc/examples/c64/kernalload/kernalload.c
@@ -20,9 +20,9 @@ export char SPRITE[] = kickasm(resource "sprite.png") {{
 #pragma data_seg(Data)
 
 // Address to load to
-char* const LOAD_SPRITE = 0x3000;
+char* const LOAD_SPRITE = (char*)0x3000;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char* const SPRITES_PTR = SCREEN+OFFSET_SPRITE_PTRS;
 
 void main() {
diff --git a/src/test/kc/examples/c64/krillload/krill.c b/src/test/kc/examples/c64/krillload/krill.c
index 8905d1d78..030488f1b 100755
--- a/src/test/kc/examples/c64/krillload/krill.c
+++ b/src/test/kc/examples/c64/krillload/krill.c
@@ -34,7 +34,7 @@ enum KrillStatus {
 // The KERNAL ROM may be disabled and zeropage variables clobbered.
 // Returns the status of the installation
 enum KrillStatus krill_install() {
-    enum KrillStatus* const status = 0xff;
+    enum KrillStatus* const status = (enum KrillStatus*)0xff;
     asm(clobbers "AXY") {
         jsr KRILL_INSTALL
         sta status
@@ -49,8 +49,8 @@ enum KrillStatus krill_install() {
 // - filename - The name of the file to load (zero-terminated in petscii encoding)
 // Returns the status of the load
 enum KrillStatus krill_loadraw(char* filename) {
-    enum KrillStatus* const status = 0xff;
-    char** const fname = 0xfe;
+    enum KrillStatus* const status = (enum KrillStatus*)0xff;
+    char** const fname = (char**)0xfe;
     *fname = filename;
     asm(clobbers "AXY") {
         ldx fname
diff --git a/src/test/kc/examples/c64/krillload/krillload.c b/src/test/kc/examples/c64/krillload/krillload.c
index 59c6eef6e..8b20d74d2 100644
--- a/src/test/kc/examples/c64/krillload/krillload.c
+++ b/src/test/kc/examples/c64/krillload/krillload.c
@@ -24,7 +24,7 @@ export __address(0x2040) char SPRITE[0x40] = kickasm(resource "sprite.png") {{
 // Program file
 #pragma data_seg(Data)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char* const SPRITES_PTR = SCREEN+OFFSET_SPRITE_PTRS;
 
 void main() {
diff --git a/src/test/kc/examples/c64/linking/linking.c b/src/test/kc/examples/c64/linking/linking.c
index 2984a5e46..d7979abfb 100644
--- a/src/test/kc/examples/c64/linking/linking.c
+++ b/src/test/kc/examples/c64/linking/linking.c
@@ -6,7 +6,7 @@
 
 #pragma link("linking.ld")
 
-char* BG_COLOR = 0xd021;
+char* BG_COLOR = (char*)0xd021;
 
 void main() {
     for(char i:0..255)
@@ -21,7 +21,7 @@ void main() {
 #pragma code_seg(CodeHigh)
 #pragma data_seg(DataHigh)
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void fillscreen(char c) {
     char i = 0;
diff --git a/src/test/kc/examples/c64/multiplexer/simple-multiplexer.c b/src/test/kc/examples/c64/multiplexer/simple-multiplexer.c
index e15eec1a6..3d970025c 100644
--- a/src/test/kc/examples/c64/multiplexer/simple-multiplexer.c
+++ b/src/test/kc/examples/c64/multiplexer/simple-multiplexer.c
@@ -3,7 +3,7 @@
 #include <c64-multiplexer.h>
 
 // Location of screen & sprites
-char* SCREEN = $400;
+char* SCREEN = (char*)$400;
 
 char __align(0x100) YSIN[0x100] = kickasm {{
     .var min = 50
diff --git a/src/test/kc/examples/c64/plasma/plasma-unroll.c b/src/test/kc/examples/c64/plasma/plasma-unroll.c
index 01e7737f1..d43c28303 100644
--- a/src/test/kc/examples/c64/plasma/plasma-unroll.c
+++ b/src/test/kc/examples/c64/plasma/plasma-unroll.c
@@ -9,8 +9,8 @@
 #include <c64.h>
 #include <c64-print.h>
 
-unsigned char* const SCREEN1 = $2800;
-unsigned char* const CHARSET = $2000;
+unsigned char* const SCREEN1 = (char*)$2800;
+unsigned char* const CHARSET = (char*)$2000;
 
 const unsigned char __align(0x100) SINTABLE[0x100] = kickasm {{
     .for(var i=0;i<$100;i++)
diff --git a/src/test/kc/examples/c64/plasma/plasma.c b/src/test/kc/examples/c64/plasma/plasma.c
index 7cbbe2427..a04be0bf8 100644
--- a/src/test/kc/examples/c64/plasma/plasma.c
+++ b/src/test/kc/examples/c64/plasma/plasma.c
@@ -7,9 +7,9 @@
 #include <c64.h>
 #include <c64-print.h>
 
-char* const SCREEN1 = 0x2800;
-char* const SCREEN2 = 0x2c00;
-char* const CHARSET = 0x2000;
+char* const SCREEN1 = (char*)0x2800;
+char* const SCREEN2 = (char*)0x2c00;
+char* const CHARSET = (char*)0x2000;
 
 const char __align(0x100) SINTABLE[0x100] = kickasm {{
     .for(var i=0;i<$100;i++)
diff --git a/src/test/kc/examples/c64/rotate/rotate.c b/src/test/kc/examples/c64/rotate/rotate.c
index 231c3f9e7..ea4b7fd30 100644
--- a/src/test/kc/examples/c64/rotate/rotate.c
+++ b/src/test/kc/examples/c64/rotate/rotate.c
@@ -5,7 +5,7 @@
 #include <c64-time.h>
 #include <c64-print.h>
 
-char* SCREEN = $0400;
+char* SCREEN = (byte*)$0400;
 
 // Sine and Cosine tables  
 // Angles: $00=0, $80=PI,$100=2*PI
diff --git a/src/test/kc/examples/c64/scroll/scroll.c b/src/test/kc/examples/c64/scroll/scroll.c
index 7d52de967..d31211df7 100644
--- a/src/test/kc/examples/c64/scroll/scroll.c
+++ b/src/test/kc/examples/c64/scroll/scroll.c
@@ -1,6 +1,6 @@
 #include <c64.h>
 
-char* const SCREEN = $0400;
+char* const SCREEN = (char*)$0400;
 const char TEXT[] = "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =-     ";
 
 void main() {
diff --git a/src/test/kc/examples/c64/scrollbig/scrollbig.c b/src/test/kc/examples/c64/scrollbig/scrollbig.c
index 88de72150..8ff7f87bb 100644
--- a/src/test/kc/examples/c64/scrollbig/scrollbig.c
+++ b/src/test/kc/examples/c64/scrollbig/scrollbig.c
@@ -1,7 +1,7 @@
 // An 8x8 char letter scroller
 #include <c64.h>
 
-char* SCREEN = $0400;
+char* SCREEN = (char*)$0400;
 char* TEXT = "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =-     ";
 
 void main() {
diff --git a/src/test/kc/examples/c64/scrolllogo/scrolllogo.c b/src/test/kc/examples/c64/scrolllogo/scrolllogo.c
index 3c61edc68..57ce32bcc 100644
--- a/src/test/kc/examples/c64/scrolllogo/scrolllogo.c
+++ b/src/test/kc/examples/c64/scrolllogo/scrolllogo.c
@@ -2,7 +2,7 @@
 #include <sine.h>
 #include <string.h>
 
-char* SCREEN = $400;
+char* SCREEN = (char*)$400;
 __address(0x2000) char LOGO[6*40*8]  = kickasm(resource "logo.png") {{
     .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff))
     .for (var y=0; y<6	; y++)
diff --git a/src/test/kc/examples/c64/showlogo/showlogo.c b/src/test/kc/examples/c64/showlogo/showlogo.c
index ac73923c9..3f821d0fc 100644
--- a/src/test/kc/examples/c64/showlogo/showlogo.c
+++ b/src/test/kc/examples/c64/showlogo/showlogo.c
@@ -1,7 +1,7 @@
 #include <c64.h>
 #include <string.h>
 
-char* SCREEN = $400;
+char* SCREEN = (char*)$400;
 __address(0x2000) char LOGO[6*40*8] = kickasm(resource "logo.png") {{
     .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff))
     .for (var y=0; y<6	; y++)
diff --git a/src/test/kc/examples/c64/sinplotter/sine-plotter.c b/src/test/kc/examples/c64/sinplotter/sine-plotter.c
index 0b99d2b4d..e8c5e8727 100644
--- a/src/test/kc/examples/c64/sinplotter/sine-plotter.c
+++ b/src/test/kc/examples/c64/sinplotter/sine-plotter.c
@@ -5,8 +5,8 @@
 #include <string.h>
 #include <c64-bitmap.h>
 
-char* SCREEN = $400;
-char* BITMAP = $2000;
+char* SCREEN = (char*)$400;
+char* BITMAP = (char*)$2000;
 
 const unsigned int SIN_SIZE = 512;
 
diff --git a/src/test/kc/examples/c64/sinsprites/sinus-sprites.c b/src/test/kc/examples/c64/sinsprites/sinus-sprites.c
index 541aa711f..e83914d4f 100644
--- a/src/test/kc/examples/c64/sinsprites/sinus-sprites.c
+++ b/src/test/kc/examples/c64/sinsprites/sinus-sprites.c
@@ -6,8 +6,8 @@ const char sinlen_x = 221;
 const char sintab_x[221];
 const char sinlen_y = 197;
 const char sintab_y[197];
-char* const sprites = $2000;
-char* const SCREEN = $400;
+char* const sprites = (char*)$2000;
+char* const SCREEN = (char*)$400;
 
 void main() {
     init();
@@ -184,7 +184,7 @@ void gen_sintab(char* sintab, char length, char min, char max) {
     char f_i[] = {0, 0, 0, 0, 0};   // i * 2 * PI
     char f_min[] = {0, 0, 0, 0, 0}; // amplitude/2 + min
     char f_amp[] = {0, 0, 0, 0, 0}; // amplitude/2
-    char* f_2pi = $e2e5;            // 2 * PI
+    char* f_2pi = (char*)$e2e5;            // 2 * PI
     setFAC((unsigned int)max);       // fac = max
     setARGtoFAC();           // arg = max
     setFAC((unsigned int)min);       // fac = min
diff --git a/src/test/kc/examples/c64/zpcode/zpcode.c b/src/test/kc/examples/c64/zpcode/zpcode.c
index bf1cb804a..304cb73e1 100644
--- a/src/test/kc/examples/c64/zpcode/zpcode.c
+++ b/src/test/kc/examples/c64/zpcode/zpcode.c
@@ -4,8 +4,8 @@
 
 #pragma link("zpcode.ld")
 
-char* RASTER = 0xd012;
-char* BG_COLOR = 0xd020;
+char* RASTER = (char*)0xd012;
+char* BG_COLOR = (char*)0xd020;
 
 void main() {
     asm { sei }
diff --git a/src/test/kc/examples/cx16/cx16-sprites.c b/src/test/kc/examples/cx16/cx16-sprites.c
index d68accc04..84b8f2792 100644
--- a/src/test/kc/examples/cx16/cx16-sprites.c
+++ b/src/test/kc/examples/cx16/cx16-sprites.c
@@ -57,7 +57,7 @@ void main() {
     // Copy sprite palette to VRAM
     memcpy_to_vram((char)>VERA_PALETTE, (char*)<VERA_PALETTE, SPRITE_PIXELS+64*64, 0x200);
     // Copy 8* sprite attributes to VRAM    
-    char* vram_sprite_attr = <VERA_SPRITE_ATTR;
+    char* vram_sprite_attr = (char*)<VERA_SPRITE_ATTR;
     for(char s=0;s<NUM_SPRITES;s++) {
         SPRITE_ATTR.X += 10;
         SPRITE_ATTR.Y += 10;
@@ -97,7 +97,7 @@ __interrupt(rom_sys_cx16) void irq_vsync() {
     if(++sin_idx_x==SINX_LEN) sin_idx_x = 0;
     if(--sin_idx_y==0xffff) sin_idx_y = SINY_LEN-1;
     const char vram_sprite_attr_bank = (char)>VERA_SPRITE_ATTR;
-    char *vram_sprite_pos = <VERA_SPRITE_ATTR+2;
+    char *vram_sprite_pos = (char*)<VERA_SPRITE_ATTR+2;
     unsigned int i_x = sin_idx_x;
     unsigned int i_y = sin_idx_y;
     for(char s=0;s<NUM_SPRITES;s++) {
diff --git a/src/test/kc/examples/cx16/spacedemo/spacedemo.c b/src/test/kc/examples/cx16/spacedemo/spacedemo.c
index 101616026..ee1e39aba 100644
--- a/src/test/kc/examples/cx16/spacedemo/spacedemo.c
+++ b/src/test/kc/examples/cx16/spacedemo/spacedemo.c
@@ -315,7 +315,7 @@ void main() {
 
     // Copy sprite palette to VRAM
     // Copy 8* sprite attributes to VRAM    
-    char* vram_sprite_attr = <VERA_SPRITE_ATTR;
+    char* vram_sprite_attr = (char*)<VERA_SPRITE_ATTR;
     for(char s=0;s<NUM_SPRITES;s++) {
         sprites[s] = sprite_offset;
         SPRITE_ATTR.ADDR = sprite_offset;
@@ -350,7 +350,7 @@ __interrupt(rom_sys_cx16) void irq_vsync() {
     if(a==0) {
         a=4;
         const char vram_sprite_attr_bank = (char)>VERA_SPRITE_ATTR;
-        char *vram_sprite_attr = <VERA_SPRITE_ATTR;
+        char *vram_sprite_attr = (char*)<VERA_SPRITE_ATTR;
         unsigned int i_x = 0;
         unsigned int i_y = 0;
         for(word s=0;s<NUM_SPRITES;s++) {
diff --git a/src/test/kc/examples/cx16/veralib/tilemap_8bpp_16_x_16.c b/src/test/kc/examples/cx16/veralib/tilemap_8bpp_16_x_16.c
index 4944c483a..0f151f3b3 100644
--- a/src/test/kc/examples/cx16/veralib/tilemap_8bpp_16_x_16.c
+++ b/src/test/kc/examples/cx16/veralib/tilemap_8bpp_16_x_16.c
@@ -56,7 +56,7 @@ void main() {
     vera_layer_mode_tile(0, 0x14000, 0x00000, 64, 64, 16, 16, 8);
 
 
-    char* tilebase = 0x0000;
+    char* tilebase = (char*)0x0000;
     memcpy_to_vram(0, tilebase, tiles, 256);
     tilebase+=256;
     for(byte t:1..255) {
diff --git a/src/test/kc/examples/mega65/banked-music.c b/src/test/kc/examples/mega65/banked-music.c
index bbec41ee7..7a5256fd4 100644
--- a/src/test/kc/examples/mega65/banked-music.c
+++ b/src/test/kc/examples/mega65/banked-music.c
@@ -94,7 +94,7 @@ __address(0x4000) char MUSIC[] = kickasm(resource "Cybernoid_II_4000.sid") {{
     .fill music.size, music.getData(i)
 }};
 // Address after the end of the music
-char * const MUSIC_END = 0x5200;
+char * const MUSIC_END = (char*)0x5200;
 // Pointer to the music init routine
 void()* musicInit = (void()*) MUSIC;
 // Pointer to the music play routine
diff --git a/src/test/kc/examples/mega65/dypp65.c b/src/test/kc/examples/mega65/dypp65.c
index 871860daf..479e01859 100644
--- a/src/test/kc/examples/mega65/dypp65.c
+++ b/src/test/kc/examples/mega65/dypp65.c
@@ -9,9 +9,9 @@
 #include <string.h>
 
 // The screen address (45*25*2=0x08ca bytes)
-char * const SCREEN = 0x5000;
+char * const SCREEN = (char*)0x5000;
 // The charset address (45*32*8=0x2d00 bytes)
-char * const CHARSET = 0x6000;
+char * const CHARSET = (char*)0x6000;
 // A logo in column-wide linear single-color memory layout
 char LOGO[45*25*8]  = kickasm(resource "camelot.png") {{
 	.var pic = LoadPicture("camelot.png", List().add($ffffff, $000000))
diff --git a/src/test/kc/examples/mega65/hello-mega65.c b/src/test/kc/examples/mega65/hello-mega65.c
index 09f3b1a95..ea03131ae 100644
--- a/src/test/kc/examples/mega65/hello-mega65.c
+++ b/src/test/kc/examples/mega65/hello-mega65.c
@@ -1,8 +1,8 @@
 // Hello World for MEGA 65 - putting chars directly to the screen
 #pragma target(mega65)
 
-char * SCREEN = 0x0800;
-char * COLORS = 0xd800;
+char * SCREEN = (char*)0x0800;
+char * COLORS = (char*)0xd800;
 
 char MSG[] = "hello world!";
 
diff --git a/src/test/kc/examples/mega65/memorymap-test.c b/src/test/kc/examples/mega65/memorymap-test.c
index edf4b5840..6929a3410 100644
--- a/src/test/kc/examples/mega65/memorymap-test.c
+++ b/src/test/kc/examples/mega65/memorymap-test.c
@@ -5,8 +5,8 @@
 #include <mega65.h>
 
 void main() {
-    char * BLOCK_4000 = 0x4000;
-    char * BLOCK_8000 = 0x8000;
+    char * BLOCK_4000 = (char*)0x4000;
+    char * BLOCK_8000 = (char*)0x8000;
 
     // Remap [$4000-$5fff] to point to [$10000-$11fff]
     memoryRemapBlock(0x40, 0x100);
diff --git a/src/test/kc/examples/mega65/test-fullcolour.c b/src/test/kc/examples/mega65/test-fullcolour.c
index 39261db53..67edc8c14 100644
--- a/src/test/kc/examples/mega65/test-fullcolour.c
+++ b/src/test/kc/examples/mega65/test-fullcolour.c
@@ -7,7 +7,7 @@
 #include <string.h>
 
 // The screen address (40*25=0x03e8 bytes)
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 // The charset address (45*32*8=0x2d00 bytes)
 char * const CHARSET = 0x2000;
 
diff --git a/src/test/kc/examples/mega65/test-vic4.c b/src/test/kc/examples/mega65/test-vic4.c
index a4c1993d9..1ea670973 100644
--- a/src/test/kc/examples/mega65/test-vic4.c
+++ b/src/test/kc/examples/mega65/test-vic4.c
@@ -2,11 +2,11 @@
 #pragma target(mega65)
 #include <mega65.h>
 
-char * const SCREEN = 0x0800;
-char * const COLORS = 0xd800;
+char * const SCREEN = (char *)0x0800;
+char * const COLORS = (char *)0xd800;
 
-char * const TBDRPOS = 0xd048;
-char * const TBDRPOS_HI = 0xd049;
+char * const TBDRPOS = (char *)0xd048;
+char * const TBDRPOS_HI = (char *)0xd049;
 
 void main() {
 
diff --git a/src/test/kc/examples/rom/rom.c b/src/test/kc/examples/rom/rom.c
index 3ca99ae1a..0a6f793bb 100644
--- a/src/test/kc/examples/rom/rom.c
+++ b/src/test/kc/examples/rom/rom.c
@@ -29,7 +29,7 @@ char call3(char param1, char param2) {
 // To make sure the functions are generated into the final code they must be calling them with different values for each parameter and the return value must used in some way.
 #pragma code_seg(TestRom)
 void main() {
-    char* ptr = 0xfe;
+    char* ptr = (char*)0xfe;
     *ptr = call1(1,2);
     *ptr = call1(3,4);
     *ptr = call2(1,2);
diff --git a/src/test/kc/fastmultiply-127.c b/src/test/kc/fastmultiply-127.c
index 1b2c73462..33c983bd9 100644
--- a/src/test/kc/fastmultiply-127.c
+++ b/src/test/kc/fastmultiply-127.c
@@ -62,11 +62,11 @@ unsigned char __align($100) mulf127_sqr2_lo[512]  = kickasm{{ .fill 512, <round(
 unsigned char __align($100) mulf127_sqr2_hi[512]  = kickasm{{ .fill 512, >round(((i-255)/127*(i-255)/127)*127/4) }};
 
 unsigned word mulf8u127(unsigned char a, unsigned char b) {
-    byte* const memA = $fc;
-    byte* const memB = $fd;
-    word* const res = $fe;
-    byte* const resL = $fe;
-    byte* const resH = $ff;
+    byte* const memA = (byte*)$fc;
+    byte* const memB = (byte*)$fd;
+    word* const res = (word*)$fe;
+    byte* const resL = (byte*)$fe;
+    byte* const resH = (byte*)$ff;
     *memA = a;
     *memB = b;
     asm {
diff --git a/src/test/kc/fill-square.c b/src/test/kc/fill-square.c
index d0862ff6f..2ccdc641c 100644
--- a/src/test/kc/fill-square.c
+++ b/src/test/kc/fill-square.c
@@ -1,6 +1,6 @@
 // Fill a square on the screen
 
-byte* SCREEN = 0x0400;
+byte* SCREEN = (char*)0x0400;
 
 void main() {
     for( byte y: 5..15) {
diff --git a/src/test/kc/fillscreen-1.c b/src/test/kc/fillscreen-1.c
index c733a0510..3e10b37a8 100644
--- a/src/test/kc/fillscreen-1.c
+++ b/src/test/kc/fillscreen-1.c
@@ -1,6 +1,6 @@
 // Fill screen using an efficient char-based index
 
-byte *SCREEN = $0400;
+byte *SCREEN = (byte*)$0400;
 
 void main() {
     for(char i=0;i<250;i++) {
diff --git a/src/test/kc/fillscreen-2.c b/src/test/kc/fillscreen-2.c
index 36ecc450e..352c1e720 100644
--- a/src/test/kc/fillscreen-2.c
+++ b/src/test/kc/fillscreen-2.c
@@ -1,6 +1,6 @@
 // Fill screen using an word-based index
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 
 void main() {
 	for(unsigned int i=0;i<1000; i++) 
diff --git a/src/test/kc/fillscreen-3.c b/src/test/kc/fillscreen-3.c
index d4e21689d..6621724d6 100644
--- a/src/test/kc/fillscreen-3.c
+++ b/src/test/kc/fillscreen-3.c
@@ -1,6 +1,6 @@
 // Fill screen using a pointer
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 
 void main() {
     for(char* dst = SCREEN; dst!=SCREEN + 1000; dst++)
diff --git a/src/test/kc/flipper-rex2.c b/src/test/kc/flipper-rex2.c
index 2c0345c31..279fb5afa 100644
--- a/src/test/kc/flipper-rex2.c
+++ b/src/test/kc/flipper-rex2.c
@@ -1,7 +1,7 @@
 byte buffer1[16*16];
 byte buffer2[16*16];
-byte *RASTER = $d012;
-byte* SCREEN = $0400;
+byte *RASTER = (byte*)$d012;
+byte* SCREEN = (byte*)$0400;
 
 void main() {
   prepare();
diff --git a/src/test/kc/float-error-message.c b/src/test/kc/float-error-message.c
index 614f1f354..c793b5b99 100644
--- a/src/test/kc/float-error-message.c
+++ b/src/test/kc/float-error-message.c
@@ -1,6 +1,6 @@
 // Tests what error message an accidental float gives
 
-char* VICII_MEMORY = 0xd018;
+char* VICII_MEMORY = (char*)0xd018;
 
 void main() {
     *VICII_MEMORY = 0.14;
diff --git a/src/test/kc/font-hex-show.c b/src/test/kc/font-hex-show.c
index b0ea67e40..56b0d65f3 100644
--- a/src/test/kc/font-hex-show.c
+++ b/src/test/kc/font-hex-show.c
@@ -3,8 +3,8 @@
 #include <string.h>
 #include "font-hex.c"
 
-byte* SCREEN = 0x0400;
-byte* CHARSET = 0x2000;
+byte* SCREEN = (byte*)0x0400;
+byte* CHARSET = (byte*)0x2000;
 
 void main() {
     *D018 = toD018(SCREEN, CHARSET);
diff --git a/src/test/kc/for-empty-increment.c b/src/test/kc/for-empty-increment.c
index 2b14ece13..b15406082 100644
--- a/src/test/kc/for-empty-increment.c
+++ b/src/test/kc/for-empty-increment.c
@@ -1,7 +1,7 @@
 // Tests that for()-loops can have empty increments
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for(unsigned char i=0;i<10;) {
         SCREEN[i] = i++;
     }
diff --git a/src/test/kc/for-empty-init.c b/src/test/kc/for-empty-init.c
index 73cb884ba..a41ca8d0e 100644
--- a/src/test/kc/for-empty-init.c
+++ b/src/test/kc/for-empty-init.c
@@ -1,7 +1,7 @@
 // Tests that for()-loops can have empty inits
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     unsigned char i=0;
     for(;i<10;i++) {
         SCREEN[i] = i;
diff --git a/src/test/kc/for-ever-2.c b/src/test/kc/for-ever-2.c
index e1139c1c3..f7c574848 100644
--- a/src/test/kc/for-ever-2.c
+++ b/src/test/kc/for-ever-2.c
@@ -1,6 +1,6 @@
 // Test a for() loop that runs forever
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     for (char i=0;;i++) {
diff --git a/src/test/kc/for-ever.c b/src/test/kc/for-ever.c
index e3089ca5e..a41077523 100644
--- a/src/test/kc/for-ever.c
+++ b/src/test/kc/for-ever.c
@@ -1,6 +1,6 @@
 // Test a for() loop that runs forever
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     for (;;) {
diff --git a/src/test/kc/for-ranged-novar.c b/src/test/kc/for-ranged-novar.c
index 712e0fba0..76032bfcd 100644
--- a/src/test/kc/for-ranged-novar.c
+++ b/src/test/kc/for-ranged-novar.c
@@ -1,7 +1,7 @@
 // Tests that ranged for()-loops must have an iterator variable
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
 
     for( : 0..10) {
         SCREEN[i] = i;
diff --git a/src/test/kc/for-two-vars.c b/src/test/kc/for-two-vars.c
index 9c7a639ab..c60cf21cc 100644
--- a/src/test/kc/for-two-vars.c
+++ b/src/test/kc/for-two-vars.c
@@ -2,7 +2,7 @@
 // Illustrates that for()-loops currently cannot contain two variable declarations.
 
 void main() {
-    byte* const SCREEN = 0x400;
+    byte* const SCREEN = (char*)0x400;
     byte *sc=SCREEN+39;
     for( byte i=0; i<40; i++, sc--)
         *sc = i;
diff --git a/src/test/kc/forincrementassign.c b/src/test/kc/forincrementassign.c
index e82c0a5eb..14f835bbd 100644
--- a/src/test/kc/forincrementassign.c
+++ b/src/test/kc/forincrementassign.c
@@ -1,7 +1,7 @@
 // Classic for() does not allow assignment as increment, eg. for(byte i=0;i<40;i=i+2) {}
 // The following should give a program rendering a char on every second char of the first line - but results in a syntax error
 
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$0400;
 void main() {
     for(byte i=0;i<40;i=i+2) {
        SCREEN[i] = i;
diff --git a/src/test/kc/forrangedwords.c b/src/test/kc/forrangedwords.c
index 0f9584502..0952b5650 100644
--- a/src/test/kc/forrangedwords.c
+++ b/src/test/kc/forrangedwords.c
@@ -1,6 +1,6 @@
 
 void main() {
-    byte* SCREEN = $0400;
+    byte* SCREEN = (byte*)$0400;
     for( word w: 0..$ffff) {
         SCREEN[0] = <w;
         SCREEN[1] = >w;
diff --git a/src/test/kc/forrangemin.c b/src/test/kc/forrangemin.c
index 3d36d97e2..4cceed108 100644
--- a/src/test/kc/forrangemin.c
+++ b/src/test/kc/forrangemin.c
@@ -1,7 +1,7 @@
 // Minimal range based for() loop
 
-char* SCREEN1 = 0x0400;
-char* SCREEN2 = 0x0500;
+char* SCREEN1 = (char*)0x0400;
+char* SCREEN2 = (char*)0x0500;
 
 void main() {
     for(char i : 0..255) {
diff --git a/src/test/kc/forrangesymbolic.c b/src/test/kc/forrangesymbolic.c
index 07ecb2bc0..3ab50a862 100644
--- a/src/test/kc/forrangesymbolic.c
+++ b/src/test/kc/forrangesymbolic.c
@@ -2,7 +2,7 @@
 // The following should work but gives a not-constant exception
 
 void main() {
-    byte* const BITMAP = $2000;
+    byte* const BITMAP = (byte*)$2000;
     for(byte* b : BITMAP+$1fff..BITMAP) {
        *b = $5a;
     }
diff --git a/src/test/kc/fragment-synth.c b/src/test/kc/fragment-synth.c
index 31ea34671..5be82ec95 100644
--- a/src/test/kc/fragment-synth.c
+++ b/src/test/kc/fragment-synth.c
@@ -3,8 +3,8 @@
 
 
 void main() {
-    byte* screen = $400;
-    byte* z = $450;
+    byte* screen = (byte*)$400;
+    byte* z = (byte*)$450;
     z[2] = $f0;
     z[3] = $0f;
     byte x = $aa;
diff --git a/src/test/kc/fragment-variations.c b/src/test/kc/fragment-variations.c
index ded7edfd4..9259117dc 100644
--- a/src/test/kc/fragment-variations.c
+++ b/src/test/kc/fragment-variations.c
@@ -2,7 +2,7 @@
 // ASM fragment variations "cast" constants to different types
 
 void main() {
-    dword* screen = 0x400;
+    dword* screen = (dword*)0x400;
     word w = 10;
     screen[0] = mul16u(w, w);
     w = 1000;
diff --git a/src/test/kc/function-infinite-loop.c b/src/test/kc/function-infinite-loop.c
index e74299d3f..92a4d6ce7 100644
--- a/src/test/kc/function-infinite-loop.c
+++ b/src/test/kc/function-infinite-loop.c
@@ -1,7 +1,7 @@
 // Test a function returning a value that has an infinite loop
 // https://gitlab.com/camelot/kickc/-/issues/310
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = get(7);
diff --git a/src/test/kc/function-pointer-noarg-2.c b/src/test/kc/function-pointer-noarg-2.c
index 6c70ad442..ec0ff19b6 100644
--- a/src/test/kc/function-pointer-noarg-2.c
+++ b/src/test/kc/function-pointer-noarg-2.c
@@ -1,7 +1,7 @@
 // Tests creating and assigning pointers to non-args no-return functions
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
 
     void()* f;
 
@@ -15,11 +15,11 @@ void main() {
 }
 
 void fn1() {
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 
 void fn2() {
-    byte* const BG_COLOR = $d021;
+    byte* const BG_COLOR = (char*)$d021;
     (*BG_COLOR)++;
 }
\ No newline at end of file
diff --git a/src/test/kc/function-pointer-noarg-3.c b/src/test/kc/function-pointer-noarg-3.c
index efbf6d9a9..243e032a8 100644
--- a/src/test/kc/function-pointer-noarg-3.c
+++ b/src/test/kc/function-pointer-noarg-3.c
@@ -1,7 +1,7 @@
 // Tests creating and assigning pointers to non-args no-return functions - plus inline kickasm-based calling
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
 
     void()* f;
 
@@ -25,11 +25,11 @@ char ff[] = kickasm {{
 }};
 
 void fn1() {
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 
 void fn2() {
-    byte* const BG_COLOR = $d021;
+    byte* const BG_COLOR = (char*)$d021;
     (*BG_COLOR)++;
 }
\ No newline at end of file
diff --git a/src/test/kc/function-pointer-noarg-call-10.c b/src/test/kc/function-pointer-noarg-call-10.c
index a7f1737f8..ebce4f19c 100644
--- a/src/test/kc/function-pointer-noarg-call-10.c
+++ b/src/test/kc/function-pointer-noarg-call-10.c
@@ -18,7 +18,7 @@ void main() {
     do10(&world);
 }
 
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$0400;
 volatile byte idx = 0;
 
 void print(byte* msg) {
diff --git a/src/test/kc/function-pointer-noarg-call-11.c b/src/test/kc/function-pointer-noarg-call-11.c
index b4c273207..0441924f0 100644
--- a/src/test/kc/function-pointer-noarg-call-11.c
+++ b/src/test/kc/function-pointer-noarg-call-11.c
@@ -1,11 +1,11 @@
 // Tests calling through pointers to non-args no-return functions
 
 void myFunc(){
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 void myFunc2(){
-    byte* const BG_COLOR = $d021;
+    byte* const BG_COLOR = (char*)$d021;
     (*BG_COLOR)++;
 }
 void () *funcPointer;
diff --git a/src/test/kc/function-pointer-noarg-call-12.c b/src/test/kc/function-pointer-noarg-call-12.c
index 48186f6e1..e7e09dca6 100644
--- a/src/test/kc/function-pointer-noarg-call-12.c
+++ b/src/test/kc/function-pointer-noarg-call-12.c
@@ -1,11 +1,11 @@
 // Tests calling through pointers to non-args no-return functions
 
 void myFunc(){
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 void myFunc2(){
-    byte* const BG_COLOR = $d021;
+    byte* const BG_COLOR = (char*)$d021;
     (*BG_COLOR)++;
 }
 
diff --git a/src/test/kc/function-pointer-noarg-call-13.c b/src/test/kc/function-pointer-noarg-call-13.c
index d7c1688f8..4c8809ada 100644
--- a/src/test/kc/function-pointer-noarg-call-13.c
+++ b/src/test/kc/function-pointer-noarg-call-13.c
@@ -7,7 +7,7 @@
 
 #include <stdint.h>
 
-uint8_t const * r = 0x8000;
+uint8_t const * r = (uint8_t*)0x8000;
 
 void main() {
 	enableDLI(&fn1);
diff --git a/src/test/kc/function-pointer-noarg-call-2.c b/src/test/kc/function-pointer-noarg-call-2.c
index 3ac568234..95bfc2033 100644
--- a/src/test/kc/function-pointer-noarg-call-2.c
+++ b/src/test/kc/function-pointer-noarg-call-2.c
@@ -1,7 +1,7 @@
 // Tests creating, assigning and calling pointers to non-args no-return functions
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
 
     void()* f;
 
@@ -18,11 +18,11 @@ void main() {
 }
 
 void fn1() {
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 
 void fn2() {
-    byte* const BG_COLOR = $d021;
+    byte* const BG_COLOR = (char*)$d021;
     (*BG_COLOR)++;
 }
\ No newline at end of file
diff --git a/src/test/kc/function-pointer-noarg-call-3.c b/src/test/kc/function-pointer-noarg-call-3.c
index 0421357cd..37a1a3168 100644
--- a/src/test/kc/function-pointer-noarg-call-3.c
+++ b/src/test/kc/function-pointer-noarg-call-3.c
@@ -16,11 +16,11 @@ void()* getfn(byte b) {
 }
 
 void fn1() {
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 
 void fn2() {
-    byte* const BG_COLOR = $d021;
+    byte* const BG_COLOR = (char*)$d021;
     (*BG_COLOR)++;
 }
\ No newline at end of file
diff --git a/src/test/kc/function-pointer-noarg-call-4.c b/src/test/kc/function-pointer-noarg-call-4.c
index 399337135..e7b4552a1 100644
--- a/src/test/kc/function-pointer-noarg-call-4.c
+++ b/src/test/kc/function-pointer-noarg-call-4.c
@@ -12,7 +12,7 @@ void()* getfn(byte b) {
 }
 
 void fn1() {
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 
diff --git a/src/test/kc/function-pointer-noarg-call-5.c b/src/test/kc/function-pointer-noarg-call-5.c
index 3fb660a67..cba7ae8f9 100644
--- a/src/test/kc/function-pointer-noarg-call-5.c
+++ b/src/test/kc/function-pointer-noarg-call-5.c
@@ -1,12 +1,12 @@
 // Tests calling into arrays of pointers to non-args no-return functions
 
 void fn1() {
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 
 void fn2() {
-    byte* const BG_COLOR = $d021;
+    byte* const BG_COLOR = (char*)$d021;
     (*BG_COLOR)++;
 }
 
diff --git a/src/test/kc/function-pointer-noarg-call-6.c b/src/test/kc/function-pointer-noarg-call-6.c
index 68f15123b..304daac2c 100644
--- a/src/test/kc/function-pointer-noarg-call-6.c
+++ b/src/test/kc/function-pointer-noarg-call-6.c
@@ -1,13 +1,13 @@
 // Tests calling into a function pointer with local variables
 
 void fn1() {
-    for(byte* screen=$400;screen<$400+1000;screen++)
+    for(byte* screen=(byte*)$400;screen<$400+1000;screen++)
         (*screen)++;
 }
 
 void main() {
    void()* cls = &fn1;
-    for(byte* cols = $d800; cols<$d800+1000;cols++) {
+    for(byte* cols = (char*)$d800; cols<$d800+1000;cols++) {
         (*cls)();
         (*cols)++;
     }
diff --git a/src/test/kc/function-pointer-noarg-call-7.c b/src/test/kc/function-pointer-noarg-call-7.c
index ece5bd16a..3b049d5c0 100644
--- a/src/test/kc/function-pointer-noarg-call-7.c
+++ b/src/test/kc/function-pointer-noarg-call-7.c
@@ -5,7 +5,7 @@ void do10(void()* fn) {
         (*fn)();
 }
 
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$0400;
 const byte msg[] = "hello ";
 
 volatile byte idx = 0;
diff --git a/src/test/kc/function-pointer-noarg-call-8.c b/src/test/kc/function-pointer-noarg-call-8.c
index 8409ff32d..32db7f999 100644
--- a/src/test/kc/function-pointer-noarg-call-8.c
+++ b/src/test/kc/function-pointer-noarg-call-8.c
@@ -5,7 +5,7 @@ void do10(void()* fn) {
         (*fn)();
 }
 
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$0400;
 
 const byte msg1[] = "hello ";
 const byte msg2[] = "world ";
diff --git a/src/test/kc/function-pointer-noarg-call-9.c b/src/test/kc/function-pointer-noarg-call-9.c
index bab0cfe99..ea04d9f5d 100644
--- a/src/test/kc/function-pointer-noarg-call-9.c
+++ b/src/test/kc/function-pointer-noarg-call-9.c
@@ -1,6 +1,6 @@
 // Tests calling into a function pointer which modifies global volatile
 
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$0400;
 
 volatile byte idx = 0;
 
diff --git a/src/test/kc/function-pointer-noarg-call.c b/src/test/kc/function-pointer-noarg-call.c
index 741d39183..0ba344d8c 100644
--- a/src/test/kc/function-pointer-noarg-call.c
+++ b/src/test/kc/function-pointer-noarg-call.c
@@ -1,7 +1,7 @@
 // Tests creating, assigning and calling pointers to non-args no-return functions
 
 void fn1() {
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 
diff --git a/src/test/kc/function-pointer-noarg.c b/src/test/kc/function-pointer-noarg.c
index 9fb25a3ab..147458434 100644
--- a/src/test/kc/function-pointer-noarg.c
+++ b/src/test/kc/function-pointer-noarg.c
@@ -1,7 +1,7 @@
 // Tests creating pointers to non-args no-return functions
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
 
     void()* f;
     f = &fn1;
@@ -14,11 +14,11 @@ void main() {
 }
 
 void fn1() {
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
 }
 
 void fn2() {
-    byte* const BG_COLOR = $d021;
+    byte* const BG_COLOR = (char*)$d021;
     (*BG_COLOR)++;
 }
\ No newline at end of file
diff --git a/src/test/kc/function-pointer-param-workaround.c b/src/test/kc/function-pointer-param-workaround.c
index becc9f90f..c95675775 100644
--- a/src/test/kc/function-pointer-param-workaround.c
+++ b/src/test/kc/function-pointer-param-workaround.c
@@ -16,8 +16,8 @@
 // Pass a char parameter
 #define CALL_CHAR(name) param_char=name; asm { lda param_char pha }
 
-char * const SCREEN1 = 0x0400;
-char * const SCREEN2 = 0x0428;
+char * const SCREEN1 = (char*)0x0400;
+char * const SCREEN2 = (char*)0x0428;
 
 volatile char idx1 = 0;
 volatile char idx2 = 0;
diff --git a/src/test/kc/function-pointer-problem-1.c b/src/test/kc/function-pointer-problem-1.c
index 6ab88cc29..808722ca6 100644
--- a/src/test/kc/function-pointer-problem-1.c
+++ b/src/test/kc/function-pointer-problem-1.c
@@ -1,7 +1,7 @@
 // The following casuses an exception in pass 2
 // https://gitlab.com/camelot/kickc/-/issues/561
 
-char const * r = 0x8000;
+char const * r = (char *)0x8000;
 
 void main() {
 	enableDLI(&fn1);
diff --git a/src/test/kc/function-pointer-return.c b/src/test/kc/function-pointer-return.c
index 688bc3be2..b6aa900aa 100644
--- a/src/test/kc/function-pointer-return.c
+++ b/src/test/kc/function-pointer-return.c
@@ -1,7 +1,7 @@
 // Tests creating and assigning pointers to non-args return with function value
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
 
     byte()* f;
 
@@ -18,13 +18,13 @@ void main() {
 }
 
 byte fn1() {
-    byte* const BORDER_COLOR = $d020;
+    byte* const BORDER_COLOR = (char*)$d020;
     (*BORDER_COLOR)++;
     return *BORDER_COLOR;
 }
 
 byte fn2() {
-    byte* const BG_COLOR = $d021;
+    byte* const BG_COLOR = (char*)$d021;
     (*BG_COLOR)++;
     return *BG_COLOR;
 }
\ No newline at end of file
diff --git a/src/test/kc/gfxbank.c b/src/test/kc/gfxbank.c
index 330bac557..e4d214ea4 100644
--- a/src/test/kc/gfxbank.c
+++ b/src/test/kc/gfxbank.c
@@ -3,6 +3,6 @@
 #include <c64.h>
 
 void main() {
-    byte* const PLAYFIELD_CHARSET = $2800;
+    byte* const PLAYFIELD_CHARSET = (byte*)$2800;
 	vicSelectGfxBank(PLAYFIELD_CHARSET);
 }
diff --git a/src/test/kc/global-label-problem.c b/src/test/kc/global-label-problem.c
index 2ebf4f3d6..61aeb0135 100644
--- a/src/test/kc/global-label-problem.c
+++ b/src/test/kc/global-label-problem.c
@@ -13,7 +13,7 @@ void print1() {
 }
 
 // Screen pointer and index
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 void print(char* msg) {
diff --git a/src/test/kc/global-pc-multiple.c b/src/test/kc/global-pc-multiple.c
index 0962b843f..c0737d2a7 100644
--- a/src/test/kc/global-pc-multiple.c
+++ b/src/test/kc/global-pc-multiple.c
@@ -1,8 +1,8 @@
 // Test setting the program PC through a #pc directive
 
 
-byte* const BG_COLOR = 0xd021;
-byte* const RASTER = 0xd012;
+byte* const BG_COLOR = (char*)0xd021;
+byte* const RASTER = (char*)0xd012;
 
 #pragma start_address(0x1000)
 
diff --git a/src/test/kc/global-pc.c b/src/test/kc/global-pc.c
index 5eb2fa2e7..8497b9803 100644
--- a/src/test/kc/global-pc.c
+++ b/src/test/kc/global-pc.c
@@ -2,8 +2,8 @@
 
 #pragma start_address(0x1000)
 
-byte* const BG_COLOR = 0xd021;
-byte* const RASTER = 0xd012;
+byte* const BG_COLOR = (char*)0xd021;
+byte* const RASTER = (char*)0xd012;
 
 void main() {
     asm { sei }
diff --git a/src/test/kc/halfscii.c b/src/test/kc/halfscii.c
index dd98f13a7..50783ea92 100644
--- a/src/test/kc/halfscii.c
+++ b/src/test/kc/halfscii.c
@@ -1,9 +1,9 @@
-byte* SCREEN = $0400;
-byte* CHARSET = $2000;
-byte* CHARGEN = $D000;
-byte* PROCPORT = $01;
-byte* D018 = $d018;
-byte* CHARSET4 = $2800;
+byte* SCREEN = (byte*)$400;
+byte* CHARSET = (byte*)$2000;
+byte* CHARGEN = (byte*)$D000;
+byte* PROCPORT = (byte*)$01;
+byte* D018 = (byte*)$d018;
+byte* CHARSET4 = (byte*)$2800;
 
 byte bits_count[] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
 
diff --git a/src/test/kc/helloworld0.c b/src/test/kc/helloworld0.c
index 8eebac941..b646e5416 100644
--- a/src/test/kc/helloworld0.c
+++ b/src/test/kc/helloworld0.c
@@ -1,7 +1,7 @@
 // Tests minimal hello world
 
 byte msg[] = "hello world!";
-byte* SCREEN = 0x0400;
+byte* SCREEN = (char*)0x0400;
 
 void main() {
     for( byte i: 0..11) SCREEN[i] = msg[i];
diff --git a/src/test/kc/helloworld2-inline.c b/src/test/kc/helloworld2-inline.c
index a71aee9f0..c9ba3a48f 100644
--- a/src/test/kc/helloworld2-inline.c
+++ b/src/test/kc/helloworld2-inline.c
@@ -1,4 +1,4 @@
-byte* screen = $400;
+byte* screen = (char*)$400;
 void main() {
     byte* hello = "hello world!";
     print2(screen, hello);
diff --git a/src/test/kc/helloworld2.c b/src/test/kc/helloworld2.c
index 1405a10ca..a114438a0 100644
--- a/src/test/kc/helloworld2.c
+++ b/src/test/kc/helloworld2.c
@@ -1,4 +1,4 @@
-byte* screen = $400;
+byte* screen = (char*)$400;
 void main() {
     byte* hello = "hello world!";
     print2(screen, hello);
diff --git a/src/test/kc/hex2dec-ptrptr.c b/src/test/kc/hex2dec-ptrptr.c
index b828b38ae..7f5a1cbfe 100644
--- a/src/test/kc/hex2dec-ptrptr.c
+++ b/src/test/kc/hex2dec-ptrptr.c
@@ -2,7 +2,7 @@
 
 void main() {
     cls();
-    unsigned char *screen = 0x0400;
+    unsigned char *screen = (char*)0x0400;
     utoa16w(00000, screen); screen += 40;
     utoa16w(01234, screen); screen += 40;
     utoa16w(05678, screen); screen += 40;
@@ -11,7 +11,7 @@ void main() {
 }
 
 void cls() {
-    unsigned char *screen = 0x0400;
+    unsigned char *screen = (char*)0x0400;
     for( unsigned char *sc: screen..screen+999) *sc=' ';
 }
 
diff --git a/src/test/kc/hex2dec.c b/src/test/kc/hex2dec.c
index 4a51b6e61..f173b35b5 100644
--- a/src/test/kc/hex2dec.c
+++ b/src/test/kc/hex2dec.c
@@ -1,8 +1,8 @@
 // Testing hex to decimal conversion
 
-unsigned char * const control = 0xd011;
-unsigned char * const raster = 0xd012;
-unsigned char * const BORDER_COLOR = 0xd020;
+unsigned char * const control = (char*)0xd011;
+unsigned char * const raster = (char*)0xd012;
+unsigned char * const BORDER_COLOR = (char*)0xd020;
 
 void main() {
     asm { sei }
@@ -11,7 +11,7 @@ void main() {
         do {
             unsigned char rst = (*control&0x80)|(*raster>>1);
         } while (rst!=0x30);
-        unsigned char *screen = 0x0400;
+        unsigned char *screen = (char*)0x0400;
         *BORDER_COLOR = 1;
         unsigned char time_start = *raster;
         utoa16w(00000, screen); (*BORDER_COLOR)++; screen += 40;
@@ -31,7 +31,7 @@ void main() {
 }
 
 void cls() {
-    unsigned char *screen = 0x0400;
+    unsigned char *screen = (char*)0x0400;
     for( unsigned char *sc: screen..screen+999) *sc=' ';
 }
 
diff --git a/src/test/kc/ifmin.c b/src/test/kc/ifmin.c
index f9dd14d8b..f65e1ba6c 100644
--- a/src/test/kc/ifmin.c
+++ b/src/test/kc/ifmin.c
@@ -1,5 +1,5 @@
 // Minimal if() test
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 
 void main() {
   byte i=0;
diff --git a/src/test/kc/imported.c b/src/test/kc/imported.c
index cd43324d4..71df7f251 100644
--- a/src/test/kc/imported.c
+++ b/src/test/kc/imported.c
@@ -1,2 +1,2 @@
-byte * const BG_COLOR = $d021;
+byte * const BG_COLOR = (char*)$d021;
 const byte RED = 2;
diff --git a/src/test/kc/importing.c b/src/test/kc/importing.c
index b06eaa6c7..219fe9769 100644
--- a/src/test/kc/importing.c
+++ b/src/test/kc/importing.c
@@ -1,7 +1,7 @@
 #include "imported.c"
 
 void main() {
-    byte* screen = $0400;
+    byte* screen = (byte*)$400;
     *screen = 1;
     *BG_COLOR = RED;
 }
\ No newline at end of file
diff --git a/src/test/kc/incd020.c b/src/test/kc/incd020.c
index a2817d732..4acb83e0f 100644
--- a/src/test/kc/incd020.c
+++ b/src/test/kc/incd020.c
@@ -1,7 +1,7 @@
 // Incrementing / decrementing pointer content should result in code modifying the memory location - eg. inc $d020.
 // Currently it does not but instead leads to just reading the value a few times.
 
-byte* BG_COLOR = $d020;
+byte* BG_COLOR = (char*)$d020;
 void main() {
     do {
         ++*BG_COLOR;
diff --git a/src/test/kc/include-define.c b/src/test/kc/include-define.c
index 3de6bb8f4..6f2db8bc3 100644
--- a/src/test/kc/include-define.c
+++ b/src/test/kc/include-define.c
@@ -2,7 +2,7 @@
 
 #include "include-define-sub.h"
 DEFX;
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 void main() {
     SCREEN[0] = x;
 }
\ No newline at end of file
diff --git a/src/test/kc/index-sizeof-reuse-2.c b/src/test/kc/index-sizeof-reuse-2.c
index c91d1e02f..757805cc6 100644
--- a/src/test/kc/index-sizeof-reuse-2.c
+++ b/src/test/kc/index-sizeof-reuse-2.c
@@ -4,9 +4,9 @@
 
 unsigned int entities[NUM_ENTITIES];
 
-char * const VICII_RASTER = 0xd012;
-char * const VICII_BG_COLOR = 0xd020;
-char * const SCREEN = 0x0400;
+char * const VICII_RASTER = (char*)0xd012;
+char * const VICII_BG_COLOR = (char*)0xd020;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
 
diff --git a/src/test/kc/index-sizeof-reuse.c b/src/test/kc/index-sizeof-reuse.c
index ba311ec02..2109e2a2d 100644
--- a/src/test/kc/index-sizeof-reuse.c
+++ b/src/test/kc/index-sizeof-reuse.c
@@ -10,9 +10,9 @@ struct Entity {
 
 struct Entity entities[NUM_ENTITIES];
 
-char * const VICII_RASTER = 0xd012;
-char * const VICII_BG_COLOR = 0xd020;
-char * const SCREEN = 0x0400;
+char * const VICII_RASTER = (char*)0xd012;
+char * const VICII_BG_COLOR = (char*)0xd020;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
 
diff --git a/src/test/kc/infloop-error.c b/src/test/kc/infloop-error.c
index 76ac0119b..df097b04d 100644
--- a/src/test/kc/infloop-error.c
+++ b/src/test/kc/infloop-error.c
@@ -1,5 +1,5 @@
 // Results in infinite compile loop as the compiler keeps trying to remove the same (empty) alias
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 void main() {
 	byte min = $ff;
 	byte max = $0;
diff --git a/src/test/kc/init-value-npe.c b/src/test/kc/init-value-npe.c
index ef2b1a47a..ff6e7d88b 100644
--- a/src/test/kc/init-value-npe.c
+++ b/src/test/kc/init-value-npe.c
@@ -1,5 +1,5 @@
 // https://gitlab.com/camelot/kickc/-/issues/650
-char * const myscreen = $7000;
+char * const myscreen = (char*)$7000;
 char * bitmap_screen;
 void main() {
     memset(myscreen);
diff --git a/src/test/kc/initializer-0.c b/src/test/kc/initializer-0.c
index d3145b3e9..275bce0ba 100644
--- a/src/test/kc/initializer-0.c
+++ b/src/test/kc/initializer-0.c
@@ -4,7 +4,7 @@
 unsigned char chars[] = { 1, 2, 3 };
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     char idx = 0;
     for( char i: 0..2) {
         SCREEN[idx++] = chars[i];
diff --git a/src/test/kc/initializer-1.c b/src/test/kc/initializer-1.c
index 1a81e0696..14c7e5dc7 100644
--- a/src/test/kc/initializer-1.c
+++ b/src/test/kc/initializer-1.c
@@ -4,7 +4,7 @@
 unsigned int words[] = { 1, 2, 3 };
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     char idx = 0;
     for( char i: 0..2) {
         SCREEN[idx++] = <words[i];
diff --git a/src/test/kc/initializer-2.c b/src/test/kc/initializer-2.c
index ec5db775b..a1b6e1d87 100644
--- a/src/test/kc/initializer-2.c
+++ b/src/test/kc/initializer-2.c
@@ -13,7 +13,7 @@ struct Point points[] = {
 };
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     char idx = 0;
     for( char i: 0..2) {
         SCREEN[idx++] = points[i].x;
diff --git a/src/test/kc/initializer-3.c b/src/test/kc/initializer-3.c
index 943366850..ab9af9343 100644
--- a/src/test/kc/initializer-3.c
+++ b/src/test/kc/initializer-3.c
@@ -13,7 +13,7 @@ struct Point points[] = {
 };
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     char idx = 0;
     for( char i: 0..2) {
         SCREEN[idx++] = points[i].x;
diff --git a/src/test/kc/initializer-4.c b/src/test/kc/initializer-4.c
index b71d25ef5..7db3403bc 100644
--- a/src/test/kc/initializer-4.c
+++ b/src/test/kc/initializer-4.c
@@ -3,7 +3,7 @@
 unsigned char chars[] = { 1, 2, 3, };
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     char idx = 0;
     for( char i: 0..2) {
         SCREEN[idx++] = chars[i];
diff --git a/src/test/kc/initializer-5.c b/src/test/kc/initializer-5.c
index 4a3289b8c..d7386aa2d 100644
--- a/src/test/kc/initializer-5.c
+++ b/src/test/kc/initializer-5.c
@@ -12,7 +12,7 @@ struct Point points[] = {
 };
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     char idx = 0;
     for( char i: 0..2) {
         SCREEN[idx++] = points[i].x;
diff --git a/src/test/kc/inline-asm-clobber-none.c b/src/test/kc/inline-asm-clobber-none.c
index f8f5ee657..b7c5dc738 100644
--- a/src/test/kc/inline-asm-clobber-none.c
+++ b/src/test/kc/inline-asm-clobber-none.c
@@ -1,5 +1,5 @@
 // Tests that inline ASM JSR clobbers all registers
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 void main() {
     for( byte i:0..10) {
         for( byte j:0..10) {
diff --git a/src/test/kc/inline-asm-clobber.c b/src/test/kc/inline-asm-clobber.c
index e353a19a1..aec822cb4 100644
--- a/src/test/kc/inline-asm-clobber.c
+++ b/src/test/kc/inline-asm-clobber.c
@@ -1,5 +1,5 @@
 // Tests that inline ASM clobbering is taken into account when assigning registers
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 void main() {
     // First loop with no clobber
     for(byte i : 0..100) {
diff --git a/src/test/kc/inline-asm-jsr-clobber.c b/src/test/kc/inline-asm-jsr-clobber.c
index 7f50f4e52..be87460e2 100644
--- a/src/test/kc/inline-asm-jsr-clobber.c
+++ b/src/test/kc/inline-asm-jsr-clobber.c
@@ -1,5 +1,5 @@
 // Tests that inline ASM JSR clobbers all registers
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 void main() {
     for( byte i:0..10) {
         asm {
diff --git a/src/test/kc/inline-asm-label.c b/src/test/kc/inline-asm-label.c
index 39c362e6d..b49f443cc 100644
--- a/src/test/kc/inline-asm-label.c
+++ b/src/test/kc/inline-asm-label.c
@@ -1,6 +1,6 @@
 // Illustrates how inline assembler use internal labels and external references
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 byte table[] = "cml!"z;
 void main() {
     asm {
diff --git a/src/test/kc/inline-asm-ma-var.c b/src/test/kc/inline-asm-ma-var.c
index e6fe0ad31..c5d3832a3 100644
--- a/src/test/kc/inline-asm-ma-var.c
+++ b/src/test/kc/inline-asm-ma-var.c
@@ -1,6 +1,6 @@
 // Test access to __ma variable from inline ASM
 
-char * const SCREEN = 0x0400; 
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     __ma char value = 0;
diff --git a/src/test/kc/inline-asm-optimized.c b/src/test/kc/inline-asm-optimized.c
index 4362d7265..875fe9192 100644
--- a/src/test/kc/inline-asm-optimized.c
+++ b/src/test/kc/inline-asm-optimized.c
@@ -1,6 +1,6 @@
 // Tests that inline assembler is optimized
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
 
diff --git a/src/test/kc/inline-asm-param.c b/src/test/kc/inline-asm-param.c
index ef01c491a..ff4c66cbb 100644
--- a/src/test/kc/inline-asm-param.c
+++ b/src/test/kc/inline-asm-param.c
@@ -1,4 +1,4 @@
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$400;
 
 void main() {
     byte a = 'a';
diff --git a/src/test/kc/inline-asm-refout-const.c b/src/test/kc/inline-asm-refout-const.c
index b5cf9c7c3..f20cae9b4 100644
--- a/src/test/kc/inline-asm-refout-const.c
+++ b/src/test/kc/inline-asm-refout-const.c
@@ -1,6 +1,6 @@
 // Illustrates how inline assembler can reference data from the outside program without the data being optimized away as unused
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 byte table[] = "cml!"z;
 void main() {
     asm {
diff --git a/src/test/kc/inline-asm-refout-var.c b/src/test/kc/inline-asm-refout-var.c
index 9e76cc118..4cf1a2932 100644
--- a/src/test/kc/inline-asm-refout-var.c
+++ b/src/test/kc/inline-asm-refout-var.c
@@ -1,6 +1,6 @@
 // Illustrates how inline assembler referencing variables is automatically converted to __ma
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     for(byte i: 0..10) {
diff --git a/src/test/kc/inline-asm-refout.c b/src/test/kc/inline-asm-refout.c
index 2e0aac5dc..1c262390b 100644
--- a/src/test/kc/inline-asm-refout.c
+++ b/src/test/kc/inline-asm-refout.c
@@ -3,7 +3,7 @@
 byte table[] = "cml!"z;
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     *(SCREEN+40) = table[0];
 
     asm {
diff --git a/src/test/kc/inline-asm-uses-1.c b/src/test/kc/inline-asm-uses-1.c
index 420f7d38e..461f112d3 100644
--- a/src/test/kc/inline-asm-uses-1.c
+++ b/src/test/kc/inline-asm-uses-1.c
@@ -2,14 +2,14 @@
 
 
 void main() {
-    char * const SCREEN = 0x1009;
+    char * const SCREEN = (char*)0x1009;
     char x = fgetc(7);
     *SCREEN = x;
 }
 
-char * const CHKIN = 0x1000;
-char * const GETIN = 0x1003;
-char * const CLRCHN = 0x1006;
+char * const CHKIN = (char*)0x1000;
+char * const GETIN = (char*)0x1003;
+char * const CLRCHN = (char*)0x1006;
 
 char fgetc(byte channel)
 {
diff --git a/src/test/kc/inline-asm-uses-problem-2.c b/src/test/kc/inline-asm-uses-problem-2.c
index 54315ce51..fe6ce17d0 100644
--- a/src/test/kc/inline-asm-uses-problem-2.c
+++ b/src/test/kc/inline-asm-uses-problem-2.c
@@ -2,7 +2,7 @@
 // zp2 should be forced to live at address $fc - but is identified to be constant by Pass1EarlyConstantIdentification
 
 void main() {
-    __address(0xfc) char * zp2 = 0x0400;
+    __address(0xfc) char * zp2 = (char*)0x0400;
     zp2[1] = '*';
     asm {
         lda #$28
diff --git a/src/test/kc/inline-assignment.c b/src/test/kc/inline-assignment.c
index 2e2ba03dc..a288f8945 100644
--- a/src/test/kc/inline-assignment.c
+++ b/src/test/kc/inline-assignment.c
@@ -1,4 +1,4 @@
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     byte a;
diff --git a/src/test/kc/inline-dword-0.c b/src/test/kc/inline-dword-0.c
index 22b2e629c..7956d15f6 100644
--- a/src/test/kc/inline-dword-0.c
+++ b/src/test/kc/inline-dword-0.c
@@ -2,6 +2,6 @@
 
 void main() {
     dword w = { 0x01234, 0x5678 };
-    dword* screen = 0x0400;
+    dword* screen = (char*)0x0400;
     screen[0] = w;
 }
\ No newline at end of file
diff --git a/src/test/kc/inline-function-if.c b/src/test/kc/inline-function-if.c
index 8e0cd117a..8bb7ce047 100644
--- a/src/test/kc/inline-function-if.c
+++ b/src/test/kc/inline-function-if.c
@@ -1,6 +1,6 @@
 // Test inlining a slightly complex print function (containing an if)
 
-byte* screen = $400;
+byte* screen = (char*)$400;
 
 void main() {
     screen[0] = toUpper('c',true);
diff --git a/src/test/kc/inline-function-min.c b/src/test/kc/inline-function-min.c
index 9e03aed12..3d24bf017 100644
--- a/src/test/kc/inline-function-min.c
+++ b/src/test/kc/inline-function-min.c
@@ -1,6 +1,6 @@
 // Test minimal inline function
 
-byte* screen = $0400;
+byte* screen = (byte*)$400;
 
 void main() {
     screen[0] = sum(2, 1);
diff --git a/src/test/kc/inline-function-print.c b/src/test/kc/inline-function-print.c
index aa1d8d385..1ddca1dbb 100644
--- a/src/test/kc/inline-function-print.c
+++ b/src/test/kc/inline-function-print.c
@@ -1,6 +1,6 @@
 // TEst inlining a slightly complex print function (containing a loop)
 
-byte* screen = $400;
+byte* screen = (char*)$400;
 
 void main() {
     byte* hello = "hello world!";
diff --git a/src/test/kc/inline-function.c b/src/test/kc/inline-function.c
index 85fa47cc2..a98324339 100644
--- a/src/test/kc/inline-function.c
+++ b/src/test/kc/inline-function.c
@@ -1,13 +1,13 @@
 // Test inline function
 // Splits screen so upper half is lower case and lower half lower case
 
-byte* RASTER = $d012;
-byte* D018 = $d018;
-byte* BG_COLOR = $d021;
+byte* RASTER = (byte*)$d012;
+byte* D018 = (byte*)$d018;
+byte* BG_COLOR = (byte*)$d021;
 
-byte* screen = $0400;
-byte* charset1 = $1000;
-byte* charset2 = $1800;
+byte* screen = (byte*)$400;
+byte* charset1 = (byte*)$1000;
+byte* charset2 = (byte*)$1800;
 
 void main() {
     asm { sei }
diff --git a/src/test/kc/inline-kasm-clobber.c b/src/test/kc/inline-kasm-clobber.c
index 722b9f7bc..daab5b834 100644
--- a/src/test/kc/inline-kasm-clobber.c
+++ b/src/test/kc/inline-kasm-clobber.c
@@ -1,5 +1,5 @@
 // Tests that inline kickasm supports the clobbering directive
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$400;
 void main() {
     for(byte k : 0..10) {
         for(byte l: 0..10) {
diff --git a/src/test/kc/inline-kasm-data.c b/src/test/kc/inline-kasm-data.c
index b3f117168..6e41359c1 100644
--- a/src/test/kc/inline-kasm-data.c
+++ b/src/test/kc/inline-kasm-data.c
@@ -5,8 +5,8 @@ __address(0x1000) char sintab[] = kickasm {{
 }};
 
 void main() {
-    byte* screen = $400;
-    byte* cols = $d800;
+    byte* screen = (char*)$400;
+    byte* cols = (char*)$d800;
     for(byte i:0..24) {
         byte sin = sintab[i];
         screen[sin] = '*';
diff --git a/src/test/kc/inline-kasm-loop.c b/src/test/kc/inline-kasm-loop.c
index 3f091696c..8e249eaa3 100644
--- a/src/test/kc/inline-kasm-loop.c
+++ b/src/test/kc/inline-kasm-loop.c
@@ -1,7 +1,7 @@
 // Example of inline kickasm in a function
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     *(SCREEN+1000) = 0;
 
     kickasm {{
diff --git a/src/test/kc/inline-kasm-refout.c b/src/test/kc/inline-kasm-refout.c
index 1d6abfb7e..597cb7c64 100644
--- a/src/test/kc/inline-kasm-refout.c
+++ b/src/test/kc/inline-kasm-refout.c
@@ -3,7 +3,7 @@
 byte table[] = "cml!"z;
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
 
     kickasm(uses SCREEN, uses table) {{
         ldx #0
diff --git a/src/test/kc/inline-kasm-resource.c b/src/test/kc/inline-kasm-resource.c
index c90da3ee5..1316ed88f 100644
--- a/src/test/kc/inline-kasm-resource.c
+++ b/src/test/kc/inline-kasm-resource.c
@@ -7,10 +7,10 @@ __address(0x0c00) byte SPRITE[] = kickasm(resource "balloon.png") {{
             .byte pic.getSinglecolorByte(x,y)
 }};
 
-char* const SCREEN= 0x400;
-char* const SPRITES_ENABLE = 0xd015;
-char* const SPRITES_XPOS = 0xd000;
-char* const SPRITES_YPOS = 0xd001;
+char* const SCREEN= (char*)0x400;
+char* const SPRITES_ENABLE = (char*)0xd015;
+char* const SPRITES_XPOS = (char*)0xd000;
+char* const SPRITES_YPOS = (char*)0xd001;
 
 void main() {
     *(SCREEN+0x3f8) = (char)((unsigned int)SPRITE/$40);
diff --git a/src/test/kc/inline-kickasm-uses-problem.c b/src/test/kc/inline-kickasm-uses-problem.c
index 4239c7cfc..8f5e3880a 100644
--- a/src/test/kc/inline-kickasm-uses-problem.c
+++ b/src/test/kc/inline-kickasm-uses-problem.c
@@ -7,7 +7,7 @@
 
 #include <stdint.h>
 
-uint8_t const * OUT = 0x8000;
+uint8_t const * OUT = (uint8_t*)0x8000;
 
 __ma uint8_t l[1];
 __ma uint8_t m[1];
diff --git a/src/test/kc/inline-string-2.c b/src/test/kc/inline-string-2.c
index cb77ae488..7f0f3473a 100644
--- a/src/test/kc/inline-string-2.c
+++ b/src/test/kc/inline-string-2.c
@@ -15,7 +15,7 @@ void print_msg(byte idx) {
     print(msg);
 }
 
-byte* screen = $0400;
+byte* screen = (byte*)$400;
 void print(byte* msg) {
     while(*msg) {
         *(screen++) = *(msg++);
diff --git a/src/test/kc/inline-string-4.c b/src/test/kc/inline-string-4.c
index ce376fd95..2ff086d5f 100644
--- a/src/test/kc/inline-string-4.c
+++ b/src/test/kc/inline-string-4.c
@@ -6,7 +6,7 @@ void main() {
     output(dw);
 }
 
-unsigned long* const screen = 0x0400;
+unsigned long* const screen = (char*)0x0400;
 
 void output(unsigned long dw) {
     *screen = dw;
diff --git a/src/test/kc/inline-string.c b/src/test/kc/inline-string.c
index 03287e0a9..664d9091e 100644
--- a/src/test/kc/inline-string.c
+++ b/src/test/kc/inline-string.c
@@ -8,7 +8,7 @@ void main() {
     print("message 3 ");
 }
 
-byte* screen = $0400;
+byte* screen = (byte*)$400;
 void print(byte* msg) {
     while(*msg) {
         *(screen++) = *(msg++);
diff --git a/src/test/kc/inline-word-0.c b/src/test/kc/inline-word-0.c
index e4ef83c7c..eb0814a38 100644
--- a/src/test/kc/inline-word-0.c
+++ b/src/test/kc/inline-word-0.c
@@ -2,6 +2,6 @@
 
 void main() {
     word w = { 0x02ub, 0x01ub };
-    word* screen = 0x0400;
+    word* screen = (char*)0x0400;
     screen[0] = w;
 }
\ No newline at end of file
diff --git a/src/test/kc/inline-word-1.c b/src/test/kc/inline-word-1.c
index 9154746f8..9b74698f3 100644
--- a/src/test/kc/inline-word-1.c
+++ b/src/test/kc/inline-word-1.c
@@ -2,6 +2,6 @@
 
 void main() {
     word w = { 0x01, 0x02 };
-    word* screen = 0x0400;
+    word* screen = (char*)0x0400;
     screen[0] = w;
 }
\ No newline at end of file
diff --git a/src/test/kc/inline-word-2.c b/src/test/kc/inline-word-2.c
index 9cff6751a..c92538396 100644
--- a/src/test/kc/inline-word-2.c
+++ b/src/test/kc/inline-word-2.c
@@ -2,6 +2,6 @@
 
 void main() {
     word w = { 0x01, 0x02ub };
-    word* screen = 0x0400;
+    word* screen = (word*)0x0400;
     screen[0] = w;
 }
\ No newline at end of file
diff --git a/src/test/kc/inline-word.c b/src/test/kc/inline-word.c
index 141276c11..3ad75ddd4 100644
--- a/src/test/kc/inline-word.c
+++ b/src/test/kc/inline-word.c
@@ -1,4 +1,4 @@
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
    byte his[] = { >SCREEN, >SCREEN+$100, >SCREEN+$200 }; // constant array
diff --git a/src/test/kc/inlinearrayproblem.c b/src/test/kc/inlinearrayproblem.c
index 9019eec3d..c255d9703 100644
--- a/src/test/kc/inlinearrayproblem.c
+++ b/src/test/kc/inlinearrayproblem.c
@@ -1,8 +1,8 @@
 // Arrays / strings allocated inline destroy functions (because they are allocated where the call enters.
 // The following places the text at the start of the main-function - and JSR's straight into the text - not the code.
 
-byte* SCREEN = $0400;
-byte* SCREEN2 = $0400+$28;
+byte* SCREEN = (byte*)$400;
+byte* SCREEN2 = (byte*)$400+$28;
 void main() {
     byte txt[] = "qwe"z;
     byte data[] = { 1, 2, 3 };
diff --git a/src/test/kc/inmem-const-array.c b/src/test/kc/inmem-const-array.c
index 397141ee9..c3bc7176f 100644
--- a/src/test/kc/inmem-const-array.c
+++ b/src/test/kc/inmem-const-array.c
@@ -4,8 +4,8 @@ const byte GREEN = 5;
 
 void main() {
    byte colseq[] = { WHITE, RED, GREEN };
-   byte* screen = $0400;
-   byte* cols = $d800;
+   byte* screen = (byte*)$400;
+   byte* cols = (byte*)$d800;
    byte j = 0;
    for( byte i : 0..39) {
       screen[i] = '*';
diff --git a/src/test/kc/inmemarray.c b/src/test/kc/inmemarray.c
index 818f2d1c0..e5623aeda 100644
--- a/src/test/kc/inmemarray.c
+++ b/src/test/kc/inmemarray.c
@@ -1,5 +1,5 @@
 
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 byte TXT[] = { 3, 1, 13, 5, 12, 15, 20, 32};
 
 void main() {
diff --git a/src/test/kc/inmemstring.c b/src/test/kc/inmemstring.c
index d11cd20de..0cbc5d59a 100644
--- a/src/test/kc/inmemstring.c
+++ b/src/test/kc/inmemstring.c
@@ -1,5 +1,5 @@
 
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 byte TEXT[] = "camelot "z;
 
 void main() {
diff --git a/src/test/kc/inner-increment-problem.c b/src/test/kc/inner-increment-problem.c
index 79e86556e..59c928b9d 100644
--- a/src/test/kc/inner-increment-problem.c
+++ b/src/test/kc/inner-increment-problem.c
@@ -4,7 +4,7 @@ const word CHAR_COUNTS[0x100];
 
 void main() {
     // Count the number of the different chars on the screen
-    byte* screen = 0x0400;
+    byte* screen = (char*)0x0400;
     for( word i:0..999) {
         CHAR_COUNTS[*screen++]++;
     }
diff --git a/src/test/kc/int-conversion.c b/src/test/kc/int-conversion.c
index 90ee3f0c2..77431a141 100644
--- a/src/test/kc/int-conversion.c
+++ b/src/test/kc/int-conversion.c
@@ -3,8 +3,8 @@
 const byte RED = 2ub;
 const byte GREEN = 5ub;
 
-byte* const SCREEN = $0400;
-byte* const COLS = $d800;
+byte* const SCREEN = (byte*)$400;
+byte* const COLS = (char*)$d800;
 byte idx = 0ub;
 
 void main() {
diff --git a/src/test/kc/int-literals.c b/src/test/kc/int-literals.c
index 7be3188eb..69442f9e5 100644
--- a/src/test/kc/int-literals.c
+++ b/src/test/kc/int-literals.c
@@ -3,8 +3,8 @@
 const byte RED = 2ub;
 const byte GREEN = 5ub;
 
-byte* const SCREEN = $0400uw;
-byte* const COLS = $d800uw;
+byte* const SCREEN = (byte*)$400uw;
+byte* const COLS = (char*)$d800uw;
 byte idx = 0ub;
 
 void main() {
diff --git a/src/test/kc/interrupt-volatile-reuse-problem1.c b/src/test/kc/interrupt-volatile-reuse-problem1.c
index 7fdc2406a..da98a653f 100644
--- a/src/test/kc/interrupt-volatile-reuse-problem1.c
+++ b/src/test/kc/interrupt-volatile-reuse-problem1.c
@@ -1,6 +1,6 @@
 // Illustrates problem where volatiles reuse the same ZP addresses for multiple overlapping volatiles
-void()** const  KERNEL_IRQ = $0314;
-byte* const SCREEN=$400;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const SCREEN = (byte*)$400;
 volatile byte col1 = 0;
 volatile byte col2 = 8;
 
diff --git a/src/test/kc/interrupt-volatile-reuse-problem2.c b/src/test/kc/interrupt-volatile-reuse-problem2.c
index 15792675d..5061424d1 100644
--- a/src/test/kc/interrupt-volatile-reuse-problem2.c
+++ b/src/test/kc/interrupt-volatile-reuse-problem2.c
@@ -1,9 +1,9 @@
 // Illustrates problem where volatiles reuse ZP addresses of other variables
-void()** const  KERNEL_IRQ = $0314;
-byte* const IRQ_STATUS = $d019;
-byte* const CIA1_INTERRUPT = $dc0d;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const IRQ_STATUS = (byte*)$d019;
+byte* const CIA1_INTERRUPT = (byte*)$dc0d;
 
-byte* const SCREEN=$400;
+byte* const SCREEN=(byte*)$400;
 volatile byte col1 = 0;
 
 void main() {
diff --git a/src/test/kc/invalid-consttype.c b/src/test/kc/invalid-consttype.c
index fb4c21b72..c7b57c58b 100644
--- a/src/test/kc/invalid-consttype.c
+++ b/src/test/kc/invalid-consttype.c
@@ -1,5 +1,5 @@
 void main() {
     signed byte b = -400;
-    byte* SCREEN = $0400;
+    byte* SCREEN = (byte*)$400;
     *SCREEN = (byte)b;
 }
\ No newline at end of file
diff --git a/src/test/kc/irq-hardware-clobber.c b/src/test/kc/irq-hardware-clobber.c
index 78e46c02c..0a0fb8114 100644
--- a/src/test/kc/irq-hardware-clobber.c
+++ b/src/test/kc/irq-hardware-clobber.c
@@ -1,30 +1,30 @@
 // A minimal working raster hardware IRQ with clobber-based register savings
 
-void()** const  KERNEL_IRQ = $0314;
-void()** const  HARDWARE_IRQ = $fffe;
-byte* const RASTER = $d012;
-byte* const VICII_CONTROL1 = $d011;
-byte* const IRQ_STATUS = $d019;
-byte* const IRQ_ENABLE = $d01a;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+void()** const  HARDWARE_IRQ = (void()**)$fffe;
+byte* const RASTER = (byte*)$d012;
+byte* const VICII_CONTROL1 = (byte*)$d011;
+byte* const IRQ_STATUS = (byte*)$d019;
+byte* const IRQ_ENABLE = (byte*)$d01a;
 const byte IRQ_RASTER = %00000001;
 const byte IRQ_COLLISION_BG = %00000010;
 const byte IRQ_COLLISION_SPRITE = %00000100;
 const byte IRQ_LIGHTPEN = %00001000;
-byte* const BG_COLOR = $d020;
-byte* const FGCOL = $d021;
+byte* const BG_COLOR = (byte*)$d020;
+byte* const FGCOL = (byte*)$d021;
 const byte WHITE = 1;
 const byte BLACK = 0;
 
-byte* const CIA1_INTERRUPT = $dc0d;
+byte* const CIA1_INTERRUPT = (byte*)$dc0d;
 const byte CIA_INTERRUPT_CLEAR = $7f;
 
 // Processor port data direction register
-byte* const PROCPORT_DDR = $00;
+byte* const PROCPORT_DDR = (byte*)$00;
 // Mask for PROCESSOR_PORT_DDR which allows only memory configuration to be written
 const byte PROCPORT_DDR_MEMORY_MASK = %00000111;
 
 // Processor Port Register controlling RAM/ROM configuration and the datasette
-byte* const PROCPORT = $01;
+byte* const PROCPORT = (byte*)$01;
 // RAM in $A000, $E000 I/O in $D000
 const byte PROCPORT_RAM_IO          = %00110101;
 // RAM in $A000, $E000 CHAR ROM in $D000
diff --git a/src/test/kc/irq-hardware-stack.c b/src/test/kc/irq-hardware-stack.c
index cc1948572..6b8205eae 100644
--- a/src/test/kc/irq-hardware-stack.c
+++ b/src/test/kc/irq-hardware-stack.c
@@ -2,31 +2,31 @@
 
 #pragma cpu(rom6502x)
 
-void()** const  KERNEL_IRQ = $0314;
-void()** const  HARDWARE_IRQ = $fffe;
-byte* const RASTER = $d012;
-byte* const VICII_CONTROL1 = $d011;
-byte* const IRQ_STATUS = $d019;
-byte* const IRQ_ENABLE = $d01a;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+void()** const  HARDWARE_IRQ = (void()**)$fffe;
+byte* const RASTER = (byte*)$d012;
+byte* const VICII_CONTROL1 = (byte*)$d011;
+byte* const IRQ_STATUS = (byte*)$d019;
+byte* const IRQ_ENABLE = (byte*)$d01a;
 const byte IRQ_RASTER = %00000001;
 const byte IRQ_COLLISION_BG = %00000010;
 const byte IRQ_COLLISION_SPRITE = %00000100;
 const byte IRQ_LIGHTPEN = %00001000;
-byte* const BG_COLOR = $d020;
-byte* const FGCOL = $d021;
+byte* const BG_COLOR = (byte*)$d020;
+byte* const FGCOL = (byte*)$d021;
 const byte WHITE = 1;
 const byte BLACK = 0;
 
-byte* const CIA1_INTERRUPT = $dc0d;
+byte* const CIA1_INTERRUPT = (byte*)$dc0d;
 const byte CIA_INTERRUPT_CLEAR = $7f;
 
 // Processor port data direction register
-byte* const PROCPORT_DDR = $00;
+byte* const PROCPORT_DDR = (byte*)$00;
 // Mask for PROCESSOR_PORT_DDR which allows only memory configuration to be written
 const byte PROCPORT_DDR_MEMORY_MASK = %00000111;
 
 // Processor Port Register controlling RAM/ROM configuration and the datasette
-byte* const PROCPORT = $01;
+byte* const PROCPORT = (byte*)$01;
 // RAM in $A000, $E000 I/O in $D000
 const byte PROCPORT_RAM_IO          = %00110101;
 // RAM in $A000, $E000 CHAR ROM in $D000
diff --git a/src/test/kc/irq-hardware.c b/src/test/kc/irq-hardware.c
index 88134b7ae..31949262f 100644
--- a/src/test/kc/irq-hardware.c
+++ b/src/test/kc/irq-hardware.c
@@ -1,30 +1,30 @@
 // A minimal working raster IRQ
 
-void()** const  KERNEL_IRQ = $0314;
-void()** const  HARDWARE_IRQ = $fffe;
-byte* const RASTER = $d012;
-byte* const VICII_CONTROL1 = $d011;
-byte* const IRQ_STATUS = $d019;
-byte* const IRQ_ENABLE = $d01a;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+void()** const  HARDWARE_IRQ = (void()**)$fffe;
+byte* const RASTER = (byte*)$d012;
+byte* const VICII_CONTROL1 = (byte*)$d011;
+byte* const IRQ_STATUS = (byte*)$d019;
+byte* const IRQ_ENABLE = (byte*)$d01a;
 const byte IRQ_RASTER = %00000001;
 const byte IRQ_COLLISION_BG = %00000010;
 const byte IRQ_COLLISION_SPRITE = %00000100;
 const byte IRQ_LIGHTPEN = %00001000;
-byte* const BG_COLOR = $d020;
-byte* const FGCOL = $d021;
+byte* const BG_COLOR = (byte*)$d020;
+byte* const FGCOL = (byte*)$d021;
 const byte WHITE = 1;
 const byte BLACK = 0;
 
-byte* const CIA1_INTERRUPT = $dc0d;
+byte* const CIA1_INTERRUPT = (byte*)$dc0d;
 const byte CIA_INTERRUPT_CLEAR = $7f;
 
 // Processor port data direction register
-byte* const PROCPORT_DDR = $00;
+byte* const PROCPORT_DDR = (byte*)$00;
 // Mask for PROCESSOR_PORT_DDR which allows only memory configuration to be written
 const byte PROCPORT_DDR_MEMORY_MASK = %00000111;
 
 // Processor Port Register controlling RAM/ROM configuration and the datasette
-byte* const PROCPORT = $01;
+byte* const PROCPORT = (byte*)$01;
 // RAM in $A000, $E000 I/O in $D000
 const byte PROCPORT_RAM_IO          = %00110101;
 // RAM in $A000, $E000 CHAR ROM in $D000
diff --git a/src/test/kc/irq-idx-problem.c b/src/test/kc/irq-idx-problem.c
index d1bbbb021..a5d6453f0 100644
--- a/src/test/kc/irq-idx-problem.c
+++ b/src/test/kc/irq-idx-problem.c
@@ -1,7 +1,7 @@
 // Test interrupt routine using a variable between calls (irq_idx)
 #include <c64.h>
 
-byte* const SCREEN  = $0400;
+byte* const SCREEN  = (byte*)$400;
 
 void main() {
     asm { sei }
@@ -19,7 +19,7 @@ void main() {
     asm { cli }
 }
 
-byte * const VICII_BASE = $D000;
+byte * const VICII_BASE = (byte*)$D000;
 const byte VICII_SIZE = 48;
 const byte IRQ_CHANGE_NEXT = $7f;
 
diff --git a/src/test/kc/irq-kernel.c b/src/test/kc/irq-kernel.c
index 8ff7d1293..cb6d3c972 100644
--- a/src/test/kc/irq-kernel.c
+++ b/src/test/kc/irq-kernel.c
@@ -1,19 +1,19 @@
 // A minimal working raster IRQ
 
-void()** const  KERNEL_IRQ = $0314;
-byte* const RASTER = $d012;
-byte* const VICII_CONTROL1 = $d011;
-byte* const IRQ_STATUS = $d019;
-byte* const IRQ_ENABLE = $d01a;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const RASTER = (byte*)$d012;
+byte* const VICII_CONTROL1 = (byte*)$d011;
+byte* const IRQ_STATUS = (byte*)$d019;
+byte* const IRQ_ENABLE = (byte*)$d01a;
 const byte IRQ_RASTER = %00000001;
 const byte IRQ_COLLISION_BG = %00000010;
 const byte IRQ_COLLISION_SPRITE = %00000100;
 const byte IRQ_LIGHTPEN = %00001000;
-byte* const BG_COLOR = $d020;
+byte* const BG_COLOR = (byte*)$d020;
 const byte WHITE = 1;
 const byte BLACK = 0;
 
-byte* const CIA1_INTERRUPT = $dc0d;
+byte* const CIA1_INTERRUPT = (byte*)$dc0d;
 const byte CIA_INTERRUPT_CLEAR = $7f;
 
 void main() {
diff --git a/src/test/kc/irq-local-var-overlap-problem.c b/src/test/kc/irq-local-var-overlap-problem.c
index c30373ccd..de8cfcab2 100644
--- a/src/test/kc/irq-local-var-overlap-problem.c
+++ b/src/test/kc/irq-local-var-overlap-problem.c
@@ -1,15 +1,15 @@
 // Illustrates a problem where local variables inside an IRQ are assigned the same zeropage as a variable outside the IRQ
 
-void()** const  KERNEL_IRQ = $0314;
-byte* const RASTER = $d012;
-byte* const VICII_CONTROL1 = $d011;
-byte* const IRQ_STATUS = $d019;
-byte* const IRQ_ENABLE = $d01a;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const RASTER = (byte*)$d012;
+byte* const VICII_CONTROL1 = (byte*)$d011;
+byte* const IRQ_STATUS = (byte*)$d019;
+byte* const IRQ_ENABLE = (byte*)$d01a;
 const byte IRQ_RASTER = %00000001;
-byte* const BG_COLOR = $d020;
-byte* const FGCOL = $d021;
+byte* const BG_COLOR = (byte*)$d020;
+byte* const FGCOL = (byte*)$d021;
 
-byte* const CIA1_INTERRUPT = $dc0d;
+byte* const CIA1_INTERRUPT = (byte*)$dc0d;
 const byte CIA_INTERRUPT_CLEAR = $7f;
 
 
diff --git a/src/test/kc/irq-pragma.c b/src/test/kc/irq-pragma.c
index 43e47607f..b95dbba19 100644
--- a/src/test/kc/irq-pragma.c
+++ b/src/test/kc/irq-pragma.c
@@ -3,8 +3,8 @@
 #pragma interrupt(rom_sys_c64)
 
 // The vector used when the KERNAL serves IRQ interrupts
-void()** const KERNEL_IRQ = 0x0314;
-char*  const BG_COLOR = 0xd021;
+void()** const KERNEL_IRQ = (void()**)0x0314;
+char*  const BG_COLOR = (char*)0xd021;
 
 
 // Setup the IRQ routine
diff --git a/src/test/kc/irq-raster.c b/src/test/kc/irq-raster.c
index 9a778471b..34c3e9afe 100644
--- a/src/test/kc/irq-raster.c
+++ b/src/test/kc/irq-raster.c
@@ -1,19 +1,19 @@
 // A minimal working raster IRQ
 
-void()** const  KERNEL_IRQ = $0314;
-byte* const RASTER = $d012;
-byte* const VICII_CONTROL1 = $d011;
-byte* const IRQ_STATUS = $d019;
-byte* const IRQ_ENABLE = $d01a;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const RASTER = (byte*)$d012;
+byte* const VICII_CONTROL1 = (byte*)$d011;
+byte* const IRQ_STATUS = (byte*)$d019;
+byte* const IRQ_ENABLE = (byte*)$d01a;
 const byte IRQ_RASTER = %00000001;
 const byte IRQ_COLLISION_BG = %00000010;
 const byte IRQ_COLLISION_SPRITE = %00000100;
 const byte IRQ_LIGHTPEN = %00001000;
-byte* const BG_COLOR = $d020;
+byte* const BG_COLOR = (byte*)$d020;
 const byte WHITE = 1;
 const byte BLACK = 0;
 
-byte* const CIA1_INTERRUPT = $dc0d;
+byte* const CIA1_INTERRUPT = (byte*)$dc0d;
 const byte CIA_INTERRUPT_CLEAR = $7f;
 
 void main() {
diff --git a/src/test/kc/irq-unknown-type.c b/src/test/kc/irq-unknown-type.c
index 0ff7662dc..1864cc8f3 100644
--- a/src/test/kc/irq-unknown-type.c
+++ b/src/test/kc/irq-unknown-type.c
@@ -1,8 +1,8 @@
 // Unknown interrupt type
 
 // The vector used when the KERNAL serves IRQ interrupts
-void()** const KERNEL_IRQ = 0x0314;
-char*  const BG_COLOR = 0xd021;
+void()** const KERNEL_IRQ = (void()**)0x0314;
+char*  const BG_COLOR = (char*)0xd021;
 
 // Setup the IRQ routine
 void main() {
diff --git a/src/test/kc/irq-volatile-bool-problem.c b/src/test/kc/irq-volatile-bool-problem.c
index 1b5e6c2b8..3ac7410ec 100644
--- a/src/test/kc/irq-volatile-bool-problem.c
+++ b/src/test/kc/irq-volatile-bool-problem.c
@@ -1,15 +1,15 @@
 // Illustrates a problem where a volatile bool modified at the end of an IRQ is not stored properly
 // because it is assigned to the A register
 
-void()** const  KERNEL_IRQ = $0314;
-byte* const RASTER = $d012;
-byte* const VICII_CONTROL1 = $d011;
-byte* const IRQ_STATUS = $d019;
-byte* const IRQ_ENABLE = $d01a;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const RASTER = (byte*)$d012;
+byte* const VICII_CONTROL1 = (byte*)$d011;
+byte* const IRQ_STATUS = (byte*)$d019;
+byte* const IRQ_ENABLE = (byte*)$d01a;
 const byte IRQ_RASTER = %00000001;
-byte* const BG_COLOR = $d020;
+byte* const BG_COLOR = (byte*)$d020;
 
-byte* const CIA1_INTERRUPT = $dc0d;
+byte* const CIA1_INTERRUPT = (byte*)$dc0d;
 const byte CIA_INTERRUPT_CLEAR = $7f;
 
 
diff --git a/src/test/kc/issue-594-case.c b/src/test/kc/issue-594-case.c
index 9a2902c81..9aefd06a4 100644
--- a/src/test/kc/issue-594-case.c
+++ b/src/test/kc/issue-594-case.c
@@ -9,7 +9,7 @@ typedef enum _substate_hosts SubState;
 #define ORIGIN_HOST_SLOTS 2
 #define ORIGIN_DEVICE_SLOTS 13
 
-const char * OUT = 0x8000;
+const char * OUT = (char*)0x8000;
 
 void main() {
 	SubState substate = HOSTS;
diff --git a/src/test/kc/iterarray.c b/src/test/kc/iterarray.c
index aea003b0f..ebf8be63f 100644
--- a/src/test/kc/iterarray.c
+++ b/src/test/kc/iterarray.c
@@ -1,5 +1,5 @@
 void main() {
-  byte buf[16] = $1100;
+  byte buf[16] = (byte*)$1100;
   byte i = 5;
   do {
       buf[i] = 2+i+2;
diff --git a/src/test/kc/keyboard-glitch.c b/src/test/kc/keyboard-glitch.c
index 49d6eef99..ca2b03d32 100644
--- a/src/test/kc/keyboard-glitch.c
+++ b/src/test/kc/keyboard-glitch.c
@@ -15,7 +15,7 @@ void main() {
     }
 }
 
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 
 void menu() {
     // Wait for key press
diff --git a/src/test/kc/kickasm-uses-prevent-deletion.c b/src/test/kc/kickasm-uses-prevent-deletion.c
index c495ddb76..99a574b89 100644
--- a/src/test/kc/kickasm-uses-prevent-deletion.c
+++ b/src/test/kc/kickasm-uses-prevent-deletion.c
@@ -1,8 +1,8 @@
 // Ensure that an inline kickasm uses-clause is anough to prevent a function from being deleted
 
 // The vector used when the KERNAL serves IRQ interrupts
-void()** const  KERNEL_IRQ = $0314;
-byte* const BG_COLOR = $d021;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const BG_COLOR = (byte*)$d021;
 const byte BLACK = $0;
 const byte WHITE = $1;
 
diff --git a/src/test/kc/library-constructor-0.c b/src/test/kc/library-constructor-0.c
index 50b37bb5b..3fa73af93 100644
--- a/src/test/kc/library-constructor-0.c
+++ b/src/test/kc/library-constructor-0.c
@@ -9,7 +9,7 @@ void my_init(void) {
     my_value = '*';
 }
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main(void) {
     *SCREEN = my_value;
diff --git a/src/test/kc/library-constructor-1.c b/src/test/kc/library-constructor-1.c
index 5142ef4ac..6d4316eff 100644
--- a/src/test/kc/library-constructor-1.c
+++ b/src/test/kc/library-constructor-1.c
@@ -9,7 +9,7 @@ void my_init(void) {
     my_value = '*';
 }
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main(void) {
     print();
diff --git a/src/test/kc/library-constructor-2.c b/src/test/kc/library-constructor-2.c
index 22c9fc7b6..c031c86ed 100644
--- a/src/test/kc/library-constructor-2.c
+++ b/src/test/kc/library-constructor-2.c
@@ -10,7 +10,7 @@ void my_init(void) {
     SCREEN[0] = '*';
 }
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main(void) {
     SCREEN[2] = '*';
diff --git a/src/test/kc/library-constructor-error-0.c b/src/test/kc/library-constructor-error-0.c
index 88f7fd7a6..c8936fc87 100644
--- a/src/test/kc/library-constructor-error-0.c
+++ b/src/test/kc/library-constructor-error-0.c
@@ -7,7 +7,7 @@
 void my_init(void) {
 }
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main(void) {
 }
diff --git a/src/test/kc/library-constructor-error-1.c b/src/test/kc/library-constructor-error-1.c
index 3a62e0040..13e995a61 100644
--- a/src/test/kc/library-constructor-error-1.c
+++ b/src/test/kc/library-constructor-error-1.c
@@ -3,7 +3,7 @@
 
 #pragma constructor_for(my_init, main)
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main(void) {
 }
diff --git a/src/test/kc/library-constructor-error-2.c b/src/test/kc/library-constructor-error-2.c
index 683bf67d0..9424d3125 100644
--- a/src/test/kc/library-constructor-error-2.c
+++ b/src/test/kc/library-constructor-error-2.c
@@ -3,7 +3,7 @@
 
 #pragma constructor_for(my_init, print)
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 // Constructor
 void my_init(void) {
diff --git a/src/test/kc/line-anim.c b/src/test/kc/line-anim.c
index ff753ec30..7a4927ce1 100644
--- a/src/test/kc/line-anim.c
+++ b/src/test/kc/line-anim.c
@@ -2,8 +2,8 @@
 #include <c64.h>
 #include <division.h>
 
-byte* BITMAP = $a000;
-byte* SCREEN = $8800;
+byte* BITMAP = (byte*)$a000;
+byte* SCREEN = (byte*)$8800;
 
 // The number of points
 const byte SIZE = 4;
diff --git a/src/test/kc/literal-char-minus-number.c b/src/test/kc/literal-char-minus-number.c
index 5cce3c0f4..ea4794755 100644
--- a/src/test/kc/literal-char-minus-number.c
+++ b/src/test/kc/literal-char-minus-number.c
@@ -1,6 +1,6 @@
 // Tests subtracting a number from a literal char
 
 void main() {
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     *SCREEN = 'a' - 1;
 }
\ No newline at end of file
diff --git a/src/test/kc/literal-string-array.c b/src/test/kc/literal-string-array.c
index 14392f069..0f1d07651 100644
--- a/src/test/kc/literal-string-array.c
+++ b/src/test/kc/literal-string-array.c
@@ -1,6 +1,6 @@
 // Tests literal string array
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 void* const NUL = (void*)0;
 
 // Works
diff --git a/src/test/kc/literal-strings.c b/src/test/kc/literal-strings.c
index 955006f2f..fbcd0959a 100644
--- a/src/test/kc/literal-strings.c
+++ b/src/test/kc/literal-strings.c
@@ -1,6 +1,6 @@
 // Tests literal strings with and without zero-termination
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 byte msgz[] = "cml"z;
 byte msg[] = "cml";
diff --git a/src/test/kc/literals.c b/src/test/kc/literals.c
index 587ff2f34..ec7be2906 100644
--- a/src/test/kc/literals.c
+++ b/src/test/kc/literals.c
@@ -1,4 +1,4 @@
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 
 byte ch = 'a';
 byte num = 1;
diff --git a/src/test/kc/liverange-1.c b/src/test/kc/liverange-1.c
index 7412bb8ae..ad740dfe0 100644
--- a/src/test/kc/liverange-1.c
+++ b/src/test/kc/liverange-1.c
@@ -7,7 +7,7 @@ void main() {
     out('m');
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 void out(char c) {
diff --git a/src/test/kc/liverange-10.c b/src/test/kc/liverange-10.c
index baa904ea1..6416deaa5 100644
--- a/src/test/kc/liverange-10.c
+++ b/src/test/kc/liverange-10.c
@@ -1,7 +1,7 @@
 // Test effective live range and register allocation
 // Here outsw::sw and outw::w should have the same allocation
 
-char* const SCREEN  = 0x0400;
+char* const SCREEN  = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/liverange-2.c b/src/test/kc/liverange-2.c
index d219674b4..87b442926 100644
--- a/src/test/kc/liverange-2.c
+++ b/src/test/kc/liverange-2.c
@@ -12,7 +12,7 @@ void main() {
     }
 }
 
-char* const SCREEN  = 0x0400;
+char* const SCREEN  = (char*)0x0400;
 
 void print(char b, char ca) {
     SCREEN[b] = ca;
diff --git a/src/test/kc/liverange-3.c b/src/test/kc/liverange-3.c
index 866dea7eb..f9bb28256 100644
--- a/src/test/kc/liverange-3.c
+++ b/src/test/kc/liverange-3.c
@@ -12,7 +12,7 @@ void main() {
     }
 }
 
-char* const SCREEN  = 0x0400;
+char* const SCREEN  = (char*)0x0400;
 
 void print(char b, char ca) {
     (*(SCREEN+999))++;
diff --git a/src/test/kc/liverange-4.c b/src/test/kc/liverange-4.c
index bb2947fce..10a261304 100644
--- a/src/test/kc/liverange-4.c
+++ b/src/test/kc/liverange-4.c
@@ -12,7 +12,7 @@ void main() {
     }
 }
 
-char* const SCREEN  = 0x0400;
+char* const SCREEN  = (char*)0x0400;
 
 void print(char b, char ca) {
     out(b, ca);
diff --git a/src/test/kc/liverange-5.c b/src/test/kc/liverange-5.c
index 563276911..f7f00af5a 100644
--- a/src/test/kc/liverange-5.c
+++ b/src/test/kc/liverange-5.c
@@ -12,7 +12,7 @@ void main() {
     }
 }
 
-char* const SCREEN  = 0x0400;
+char* const SCREEN  = (char*)0x0400;
 
 void print(char b, char ca) {
     out(b, ca);
diff --git a/src/test/kc/liverange-6.c b/src/test/kc/liverange-6.c
index 1345ba670..4617c2cbc 100644
--- a/src/test/kc/liverange-6.c
+++ b/src/test/kc/liverange-6.c
@@ -3,7 +3,7 @@
 
 
 byte msg[] = "hello world!";
-char* const SCREEN  = 0x0400;
+char* const SCREEN  = (char*)0x0400;
 char idx  = 0;
 
 void main() {
diff --git a/src/test/kc/liverange-7.c b/src/test/kc/liverange-7.c
index a82b52e08..70ac6a51b 100644
--- a/src/test/kc/liverange-7.c
+++ b/src/test/kc/liverange-7.c
@@ -1,7 +1,7 @@
 // Test effective live range and register allocation
 // Here main::c, out2::c and out::c can all have the same allocation - and the global idx can be allocated to a hardware register.
 
-char* const SCREEN  = 0x0400;
+char* const SCREEN  = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/liverange-8.c b/src/test/kc/liverange-8.c
index eafc6db10..99c370723 100644
--- a/src/test/kc/liverange-8.c
+++ b/src/test/kc/liverange-8.c
@@ -1,7 +1,7 @@
 // Test effective live range and register allocation
 // Here main::c, out2::c and out::c can all have the same allocation - and the global idx can be allocated to a hardware register.
 
-char* const SCREEN  = 0x0400;
+char* const SCREEN  = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/liverange-9.c b/src/test/kc/liverange-9.c
index b3d09359f..4173063c3 100644
--- a/src/test/kc/liverange-9.c
+++ b/src/test/kc/liverange-9.c
@@ -1,7 +1,7 @@
 // Test effective live range and register allocation
 // Here main::c, outsw::c and outw::c can all have the same allocation
 
-char* const SCREEN  = 0x0400;
+char* const SCREEN  = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/liverange-call-problem.c b/src/test/kc/liverange-call-problem.c
index ae59f43c2..12d161a0e 100644
--- a/src/test/kc/liverange-call-problem.c
+++ b/src/test/kc/liverange-call-problem.c
@@ -9,7 +9,7 @@ void main() {
     incw2();
     incw1();
     incw2();
-    word* SCREEN = $400;
+    word* SCREEN = (char*)$400;
     SCREEN[0] = w1;
     SCREEN[2] = w2;
 }
diff --git a/src/test/kc/liverange-problem-0.c b/src/test/kc/liverange-problem-0.c
index 1513ff022..d283fbb20 100644
--- a/src/test/kc/liverange-problem-0.c
+++ b/src/test/kc/liverange-problem-0.c
@@ -3,7 +3,7 @@
 // Problem is that outside main() scope statements have zero call-paths and then isStatementAllocationOverlapping() never checks liveranges
 // CallPath code must be rewritten to use @begin as the outermost call instead of main()
 
-byte* MEM = 0x0400;
+byte* MEM = (char*)0x0400;
 byte* malloc() {
     return ++MEM;
 }
diff --git a/src/test/kc/liverange.c b/src/test/kc/liverange.c
index 77dbfab30..5d2aa975e 100644
--- a/src/test/kc/liverange.c
+++ b/src/test/kc/liverange.c
@@ -4,7 +4,7 @@ void main() {
    byte a=4;
    a=a+inci();
    a=a+inci();
-   byte* SCREEN = $400;
+   byte* SCREEN = (char*)$400;
    *SCREEN = i;
    *(SCREEN+1) = a;
 }
diff --git a/src/test/kc/local-string.c b/src/test/kc/local-string.c
index 1f168a8a6..19d935067 100644
--- a/src/test/kc/local-string.c
+++ b/src/test/kc/local-string.c
@@ -1,6 +1,6 @@
 // Local constant strings are placed at the start of the method. This means the generated ASM jumps / calls straignt into the constant string
 void main() {
-    byte* screen = $0400;
+    byte* screen = (byte*)$400;
     byte msg[] = "message 2 ";
     byte i=0;
     while(msg[i]) {
diff --git a/src/test/kc/local-var-shadowing-procedure.c b/src/test/kc/local-var-shadowing-procedure.c
index 6210a6065..d2ac0a628 100644
--- a/src/test/kc/local-var-shadowing-procedure.c
+++ b/src/test/kc/local-var-shadowing-procedure.c
@@ -5,7 +5,7 @@ void main() {
     doit();
 }
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void doit() {
     SCREEN[0] = '*';
diff --git a/src/test/kc/localscope-loops.c b/src/test/kc/localscope-loops.c
index 7ce5253f7..dcb89185f 100644
--- a/src/test/kc/localscope-loops.c
+++ b/src/test/kc/localscope-loops.c
@@ -1,6 +1,6 @@
 // Illustrates introducing local scopes inside loops etc
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 void main() {
     for (byte i: 0..5)
         SCREEN[i] = 'a';
diff --git a/src/test/kc/localscope-simple.c b/src/test/kc/localscope-simple.c
index 2363be985..404e2e9a6 100644
--- a/src/test/kc/localscope-simple.c
+++ b/src/test/kc/localscope-simple.c
@@ -1,6 +1,6 @@
 // Tests anonymous scopes inside functions
 
-byte* const BG_COLOR = $d021;
+byte* const BG_COLOR = (char*)$d021;
 
 void main() {
     {
diff --git a/src/test/kc/longbranch-interrupt-problem.c b/src/test/kc/longbranch-interrupt-problem.c
index 23f2cc8a4..c7e659387 100644
--- a/src/test/kc/longbranch-interrupt-problem.c
+++ b/src/test/kc/longbranch-interrupt-problem.c
@@ -1,7 +1,7 @@
 // Tests that long branch fixing works with interrupt exits (to $ea81)
 
-void()** const  KERNEL_IRQ = $0314;
-byte* const BG_COLOR = $d020;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const BG_COLOR = (byte*)$d020;
 volatile byte col = 0;
 
 void main() {
diff --git a/src/test/kc/longjump.c b/src/test/kc/longjump.c
index ec3482221..ad70276b6 100644
--- a/src/test/kc/longjump.c
+++ b/src/test/kc/longjump.c
@@ -1,7 +1,7 @@
 // Minimal example program generating a long jump
 
 void main() {
-    byte* SCREEN = $0400;
+    byte* SCREEN = (byte*)$400;
     for(byte i : 0..10) {
     asm {
         nop
diff --git a/src/test/kc/longjump2.c b/src/test/kc/longjump2.c
index 462c959e0..455f44ccc 100644
--- a/src/test/kc/longjump2.c
+++ b/src/test/kc/longjump2.c
@@ -7,7 +7,7 @@ void main() {
 
 
 void long1() {
-    byte* SCREEN = $0400;
+    byte* SCREEN = (byte*)$400;
     for(byte i : 0..10) {
     asm {
         nop
@@ -272,7 +272,7 @@ void long1() {
 }
 
 void long2() {
-    byte* SCREEN = $0400;
+    byte* SCREEN = (byte*)$400;
     for(byte i : 0..10) {
     asm {
         nop
diff --git a/src/test/kc/loop-break-continue.c b/src/test/kc/loop-break-continue.c
index 2a6cd3da9..dc2e04c7b 100644
--- a/src/test/kc/loop-break-continue.c
+++ b/src/test/kc/loop-break-continue.c
@@ -1,7 +1,7 @@
 // Illustrates both break & continue statements in a loop
 // Prints a message ending at NUL skipping all spaces
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     byte str[] = "hello brave new world";
     for( byte i: 0..255) {
     	if(str[i]==0) break;
diff --git a/src/test/kc/loop-break-nested.c b/src/test/kc/loop-break-nested.c
index bcb9b15f9..8083bd06c 100644
--- a/src/test/kc/loop-break-nested.c
+++ b/src/test/kc/loop-break-nested.c
@@ -1,9 +1,9 @@
 // Tests break statement in a simple loop
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
-    for(byte* line = $400; line<$400+40*25;line+=40 ) {
+    for(byte* line = (char*)$400; line<$400+40*25;line+=40 ) {
         if(*line=='a') break;
         for( byte i: 0..39) {
             if(line[i]=='a') break;
diff --git a/src/test/kc/loop-break.c b/src/test/kc/loop-break.c
index cababe09d..51805c7bc 100644
--- a/src/test/kc/loop-break.c
+++ b/src/test/kc/loop-break.c
@@ -1,6 +1,6 @@
 // Tests break statement in a simple loop
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     for( byte i: 0..40*6) {
diff --git a/src/test/kc/loop-continue.c b/src/test/kc/loop-continue.c
index dab08fecc..8e73ea631 100644
--- a/src/test/kc/loop-continue.c
+++ b/src/test/kc/loop-continue.c
@@ -1,6 +1,6 @@
 // Tests break statement in a simple loop
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     for( byte i: 0..40*6) {
diff --git a/src/test/kc/loop-for-continue.c b/src/test/kc/loop-for-continue.c
index 53f9b52ac..28fc21d69 100644
--- a/src/test/kc/loop-for-continue.c
+++ b/src/test/kc/loop-for-continue.c
@@ -1,6 +1,6 @@
 // Tests continue statement in a simple for()-loop
 
-char* const SCREEN = $400;
+char* const SCREEN = (char*)$400;
 
 const char MESSAGE[] = "hello brave new world!";
 
diff --git a/src/test/kc/loop-for-empty-body.c b/src/test/kc/loop-for-empty-body.c
index 7d375548c..5e58e5e94 100644
--- a/src/test/kc/loop-for-empty-body.c
+++ b/src/test/kc/loop-for-empty-body.c
@@ -1,7 +1,7 @@
 // Test a for-loop with an empty body
 
 const char str[] = "Hello!";
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     char b = 0;
diff --git a/src/test/kc/loop-for-sideeffect.c b/src/test/kc/loop-for-sideeffect.c
index c0c3a9402..87bd83319 100644
--- a/src/test/kc/loop-for-sideeffect.c
+++ b/src/test/kc/loop-for-sideeffect.c
@@ -1,7 +1,7 @@
 // Test a for()-loop where the condition has a side-effect
 // Currently not standard C compliant (since the condition is not evaluated before the body)
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main(void) {
     char i;
diff --git a/src/test/kc/loop-memset-min.c b/src/test/kc/loop-memset-min.c
index 4b95f4f3c..231753024 100644
--- a/src/test/kc/loop-memset-min.c
+++ b/src/test/kc/loop-memset-min.c
@@ -3,7 +3,7 @@
 
 typedef word size_t ;
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
     memset(SCREEN, 'c', 1000);
diff --git a/src/test/kc/loop-problem.c b/src/test/kc/loop-problem.c
index eebe46f43..34d50f668 100644
--- a/src/test/kc/loop-problem.c
+++ b/src/test/kc/loop-problem.c
@@ -1,6 +1,6 @@
 // A simple loop results in NullPointerException during loop analysis
 
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 
 void main() {
     *SCREEN = '0';
diff --git a/src/test/kc/loop-problem2.c b/src/test/kc/loop-problem2.c
index d55095790..e9df0b85f 100644
--- a/src/test/kc/loop-problem2.c
+++ b/src/test/kc/loop-problem2.c
@@ -1,5 +1,5 @@
-byte* const BORDER_COLOR = $d020;
-byte* const SCREEN = $0400;
+byte* const BORDER_COLOR = (char*)$d020;
+byte* const SCREEN = (byte*)$400;
 
 void main() {
     print_cls();
diff --git a/src/test/kc/loop-problem3.c b/src/test/kc/loop-problem3.c
index b35696519..1bbe10bfd 100644
--- a/src/test/kc/loop-problem3.c
+++ b/src/test/kc/loop-problem3.c
@@ -2,6 +2,6 @@
 
 void main() {
     for(;;)
-        for(char* sc = 0x0400;sc<0x0800; sc++)
+        for(char* sc = (char*)0x0400;sc<0x0800; sc++)
             (*sc)++;
 }
\ No newline at end of file
diff --git a/src/test/kc/loop-while-continue.c b/src/test/kc/loop-while-continue.c
index 9653a1848..30b6a4878 100644
--- a/src/test/kc/loop-while-continue.c
+++ b/src/test/kc/loop-while-continue.c
@@ -1,6 +1,6 @@
 // Tests break statement in a simple loop
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     byte i=0;
diff --git a/src/test/kc/loop-while-min.c b/src/test/kc/loop-while-min.c
index 8568894ff..05cb1a6ef 100644
--- a/src/test/kc/loop-while-min.c
+++ b/src/test/kc/loop-while-min.c
@@ -1,7 +1,7 @@
 
 // Minimal classic while() loop
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
     char i = 0;
diff --git a/src/test/kc/loop-while-sideeffect.c b/src/test/kc/loop-while-sideeffect.c
index 41881df50..243e92c07 100644
--- a/src/test/kc/loop-while-sideeffect.c
+++ b/src/test/kc/loop-while-sideeffect.c
@@ -1,6 +1,6 @@
 // Test a while()-loop where the condition has a side-effect
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main(void) {
     char i = 7;
diff --git a/src/test/kc/loophead-problem-2.c b/src/test/kc/loophead-problem-2.c
index 641e6e386..3914cebfa 100644
--- a/src/test/kc/loophead-problem-2.c
+++ b/src/test/kc/loophead-problem-2.c
@@ -6,7 +6,7 @@
 int ball_y[8] = {  50, 100, -200, 12, -100, 75, 0, -121 } ;
 
 void main() {
-    char* const screen = 0x0400;
+    char* const screen = (char*)0x0400;
     char hit_check=scan_for_lowest();
     screen[0] = hit_check;
     screen[2] = <ball_y[hit_check];
diff --git a/src/test/kc/loophead-problem.c b/src/test/kc/loophead-problem.c
index 90907e10d..7380eaf01 100755
--- a/src/test/kc/loophead-problem.c
+++ b/src/test/kc/loophead-problem.c
@@ -3,7 +3,7 @@
 // The cause is that the Unroller does not handle the variable opcode correctly.
 // The Unroller gets the verwions for opcode wrong because it misses the fact that it is modified inside call to popup_selector()
 
-byte* const screen = $0400;
+byte* const screen = (byte*)$400;
 
 byte opcode = 'a'; // Offending unroll variable
 
diff --git a/src/test/kc/loophead-trivial-1.c b/src/test/kc/loophead-trivial-1.c
index 79f43e65f..4eeabc684 100644
--- a/src/test/kc/loophead-trivial-1.c
+++ b/src/test/kc/loophead-trivial-1.c
@@ -2,7 +2,7 @@
 // For trivially constant loop heads for(;;) loops can be written to run body before comparison
 // The simplest possible for-loop with a constant loop head.
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     for(char i=0;i<40;i++)
diff --git a/src/test/kc/loopnest.c b/src/test/kc/loopnest.c
index f0c7c9a56..681a8cedc 100644
--- a/src/test/kc/loopnest.c
+++ b/src/test/kc/loopnest.c
@@ -1,4 +1,4 @@
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 
 void main() {
   byte i=100;
diff --git a/src/test/kc/loopnest2.c b/src/test/kc/loopnest2.c
index d5608743f..6960e4ceb 100644
--- a/src/test/kc/loopnest2.c
+++ b/src/test/kc/loopnest2.c
@@ -1,4 +1,4 @@
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 
 void main() {
     byte i=100;
diff --git a/src/test/kc/loopnest3.c b/src/test/kc/loopnest3.c
index 163512d9c..e5e386c0b 100644
--- a/src/test/kc/loopnest3.c
+++ b/src/test/kc/loopnest3.c
@@ -9,7 +9,7 @@ void b(byte i) {
     c(i);
 }
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void c(byte i) {
     for( byte j: 0..100) {
diff --git a/src/test/kc/loopsplit.c b/src/test/kc/loopsplit.c
index 11cd115d5..c67e896c9 100644
--- a/src/test/kc/loopsplit.c
+++ b/src/test/kc/loopsplit.c
@@ -8,6 +8,6 @@ void main() {
          s--;
       }
   }
-  byte* const SCREEN = $400;
+  byte* const SCREEN = (char*)$400;
   *SCREEN = s;
 }
diff --git a/src/test/kc/ma_coalesce_problem.c b/src/test/kc/ma_coalesce_problem.c
index 0e3f4014c..deafb596a 100644
--- a/src/test/kc/ma_coalesce_problem.c
+++ b/src/test/kc/ma_coalesce_problem.c
@@ -3,7 +3,7 @@
 
 #pragma var_model(ma_mem)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 // Plasma state variables
 char c1A = 0;
diff --git a/src/test/kc/malloc-problem-0.c b/src/test/kc/malloc-problem-0.c
index d1af5815f..afa181d0a 100644
--- a/src/test/kc/malloc-problem-0.c
+++ b/src/test/kc/malloc-problem-0.c
@@ -1,6 +1,6 @@
 // Error where the compiler is reusing the same ZP for two byte* variables.
 
-byte* MEM = 0x0400;
+byte* MEM = (char*)0x0400;
 byte* malloc() {
     return ++MEM;
 }
diff --git a/src/test/kc/memcpy-0.c b/src/test/kc/memcpy-0.c
index 7222383fe..60255821a 100644
--- a/src/test/kc/memcpy-0.c
+++ b/src/test/kc/memcpy-0.c
@@ -3,9 +3,9 @@
 #include <c64.h>
 #include <string.h>
 
-byte* const CHARSET = 0x2000;
-byte* const SCREEN = 0x0400;
-byte* const SCREEN_COPY = 0x2400;
+byte* const CHARSET = (byte*)0x2000;
+byte* const SCREEN = (byte*)0x0400;
+byte* const SCREEN_COPY = (byte*)0x2400;
 
 void main() {
     *D018 = toD018(SCREEN_COPY, CHARSET);
diff --git a/src/test/kc/memcpy-1.c b/src/test/kc/memcpy-1.c
index b77dea5f5..29d7bf72f 100644
--- a/src/test/kc/memcpy-1.c
+++ b/src/test/kc/memcpy-1.c
@@ -2,7 +2,7 @@
 
 #include <string.h>
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 const char CAMELOT[] = "camelot";
 
 void main() {
diff --git a/src/test/kc/memory-heap.c b/src/test/kc/memory-heap.c
index 4dca3c566..d35f8ffc6 100644
--- a/src/test/kc/memory-heap.c
+++ b/src/test/kc/memory-heap.c
@@ -11,7 +11,7 @@ void main() {
     }
     free(buf1);
     free(buf2);
-    unsigned char* screen = 0x0400;
+    unsigned char* screen = (char*)0x0400;
     screen[0] = *buf1;
     screen[1] = *buf2;
 }
diff --git a/src/test/kc/millfork-benchmarks/plasma-kc.c b/src/test/kc/millfork-benchmarks/plasma-kc.c
index e09585224..8a4a97589 100644
--- a/src/test/kc/millfork-benchmarks/plasma-kc.c
+++ b/src/test/kc/millfork-benchmarks/plasma-kc.c
@@ -1,9 +1,9 @@
 #include "benchcommon.c"
 #include <c64.h>
 
-char* const SCREEN1 = 0xE000;
-char* const SCREEN2 = 0xE400;
-char* const CHARSET = 0xE800;
+char* const SCREEN1 = (char*)0xE000;
+char* const SCREEN2 = (char*)0xE400;
+char* const CHARSET = (char*)0xE800;
 const char PAGE1 = ((((unsigned int)SCREEN1) >> 6) & 0xF0) | (((unsigned int)CHARSET >> 10) & 0x0E);
 const char PAGE2 = ((((unsigned int)SCREEN2) >> 6) & 0xF0) | (((unsigned int)CHARSET >> 10) & 0x0E);
 
diff --git a/src/test/kc/min-fmul-16.c b/src/test/kc/min-fmul-16.c
index 9c092320f..2e0c63d2c 100644
--- a/src/test/kc/min-fmul-16.c
+++ b/src/test/kc/min-fmul-16.c
@@ -1,8 +1,8 @@
 #include <c64-print.h>
 
-byte* RASTER = $d012;
-byte* BORDER_COLOR = $d020;
-byte* SCREEN = $400;
+byte* RASTER = (byte*)$d012;
+byte* BORDER_COLOR = (byte*)$d020;
+byte* SCREEN = (byte*)$400;
 
 void main() {
 	mulf_init();
@@ -70,9 +70,9 @@ void mulf_init() {
 // Fast multiply two unsigned words to a double word result
 // Done in assembler to utilize fast addition A+X
 dword mulf16u(word a, word b) {
-    word* const memA = $f8;
-    word* const memB = $fa;
-    dword* const memR = $fc;
+    word* const memA = (word*)$f8;
+    word* const memB = (word*)$fa;
+    dword* const memR = (dword*)$fc;
     *memA = a;
     *memB = b;
     asm {
diff --git a/src/test/kc/missing-band.c b/src/test/kc/missing-band.c
index ae8db62c1..b273ddbf9 100644
--- a/src/test/kc/missing-band.c
+++ b/src/test/kc/missing-band.c
@@ -2,7 +2,7 @@
 // https://gitlab.com/camelot/kickc/-/issues/293
 
 byte bar[10]={9,1,2,3,4,5,6,7,8,9};
-byte *SCREEN = $0400;
+byte *SCREEN = (byte*)$400;
 
 void main() {
 word a=0;
diff --git a/src/test/kc/mixed-array-0.c b/src/test/kc/mixed-array-0.c
index 7a93d4cc4..f9348beaf 100644
--- a/src/test/kc/mixed-array-0.c
+++ b/src/test/kc/mixed-array-0.c
@@ -2,7 +2,7 @@
 
 void main() {
     byte msg[] = { 1ub, 2, 3 };
-    byte* SCREEN = 0x400;
+    byte* SCREEN = (char*)0x400;
     SCREEN[0] = msg[0];
     SCREEN[1] = msg[1];
     SCREEN[2] = msg[2];
diff --git a/src/test/kc/mixed-array-1.c b/src/test/kc/mixed-array-1.c
index 957b43252..0f1ddde71 100644
--- a/src/test/kc/mixed-array-1.c
+++ b/src/test/kc/mixed-array-1.c
@@ -2,7 +2,7 @@
 
 void main() {
     signed byte msg[] = { -1, 0, 1 };
-    signed byte* SCREEN = 0x400;
+    signed byte* SCREEN = (signed byte*)0x400;
     SCREEN[0] = msg[0];
     SCREEN[1] = msg[1];
     SCREEN[2] = msg[2];
diff --git a/src/test/kc/modglobal.c b/src/test/kc/modglobal.c
index 65db5ec08..d1d106e79 100644
--- a/src/test/kc/modglobal.c
+++ b/src/test/kc/modglobal.c
@@ -1,7 +1,7 @@
 byte cnt = 0;
 byte cnt2 = 0;
 byte cnt3 = 0;
-byte SCREEN[256]=$0400;
+byte SCREEN[256]=(byte*)$0400;
 
 void main() {
   SCREEN[0]=inccnt();
diff --git a/src/test/kc/modglobalmin.c b/src/test/kc/modglobalmin.c
index dd769d858..befd489a4 100644
--- a/src/test/kc/modglobalmin.c
+++ b/src/test/kc/modglobalmin.c
@@ -1,5 +1,5 @@
 byte cnt = 0;
-byte SCREEN[256]=$0400;
+byte SCREEN[256]=(byte*)$0400;
 
 void main() {
   inccnt();
diff --git a/src/test/kc/mul8u-min.c b/src/test/kc/mul8u-min.c
index 5666e926e..b21628933 100644
--- a/src/test/kc/mul8u-min.c
+++ b/src/test/kc/mul8u-min.c
@@ -4,7 +4,7 @@
 
 void main() {
 
-    word* const screen = 0x0400;
+    word* const screen = (word*)0x0400;
     byte i = 0;
 
     for(byte a: 0..5)
diff --git a/src/test/kc/multiplexer-irq/simple-multiplexer-irq.c b/src/test/kc/multiplexer-irq/simple-multiplexer-irq.c
index e37e888d3..fe326b5f7 100644
--- a/src/test/kc/multiplexer-irq/simple-multiplexer-irq.c
+++ b/src/test/kc/multiplexer-irq/simple-multiplexer-irq.c
@@ -2,7 +2,7 @@
 #include <c64.h>
 #include <c64-multiplexer.h>
 // Location of screen & sprites
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 char __align(0x40) SPRITE[0x40] = kickasm(resource "balloon.png") {{
     .var pic = LoadPicture("balloon.png", List().add($000000, $ffffff))
diff --git a/src/test/kc/multiply-1.c b/src/test/kc/multiply-1.c
index af9dbf8ce..22fb51d67 100644
--- a/src/test/kc/multiply-1.c
+++ b/src/test/kc/multiply-1.c
@@ -1,7 +1,7 @@
 // Test compile-time and run-time multiplication
 // Compile-time multiplication
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     char c1 = 4;
diff --git a/src/test/kc/multiply-2.c b/src/test/kc/multiply-2.c
index 39e5d21e7..595b3c21e 100644
--- a/src/test/kc/multiply-2.c
+++ b/src/test/kc/multiply-2.c
@@ -1,7 +1,7 @@
 // Test compile-time and run-time multiplication
 // var*const multiplication - converted to shift/add
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     char i=0;
diff --git a/src/test/kc/multiply-2s.c b/src/test/kc/multiply-2s.c
index 38b134dfd..3bc807373 100644
--- a/src/test/kc/multiply-2s.c
+++ b/src/test/kc/multiply-2s.c
@@ -1,7 +1,7 @@
 // Check that multiplication by factors of 2 is converted to shifts
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
 
     for(byte i: 0..10) {
         (SCREEN+0*40)[i] = i*1;
diff --git a/src/test/kc/multiply-3.c b/src/test/kc/multiply-3.c
index 20762ebfc..bbf83e3df 100644
--- a/src/test/kc/multiply-3.c
+++ b/src/test/kc/multiply-3.c
@@ -1,7 +1,7 @@
 // Test compile-time and run-time multiplication
 // var*var multiplication - converted to call
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     char i = 0;
diff --git a/src/test/kc/multiply-ns.c b/src/test/kc/multiply-ns.c
index 4e2befc86..8f3ba59b4 100644
--- a/src/test/kc/multiply-ns.c
+++ b/src/test/kc/multiply-ns.c
@@ -1,7 +1,7 @@
 // Check that multiplication by constants is converted to shift/add
 
 void main() {
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
 
     for(byte i: 0..17) {
         (SCREEN+0*40)[i] = i*1;
diff --git a/src/test/kc/nes-array.c b/src/test/kc/nes-array.c
index 1b111ee64..d2bdf128f 100644
--- a/src/test/kc/nes-array.c
+++ b/src/test/kc/nes-array.c
@@ -8,7 +8,7 @@ int foo(unsigned char x, int *y) {
 }
 
 void main() {
-    int* SCREEN = 0x400;
+    int* SCREEN = (int*)0x400;
     int y1 = 0x1234;
     int y2 = 0x1234;
     *SCREEN++ = foo(1, &y1);
diff --git a/src/test/kc/no-calledinterrupt.c b/src/test/kc/no-calledinterrupt.c
index 390cf17c0..212cdc801 100644
--- a/src/test/kc/no-calledinterrupt.c
+++ b/src/test/kc/no-calledinterrupt.c
@@ -1,6 +1,6 @@
 // Test that inline interrupts not allowed
 
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 
 void main() {
     SCREEN[0]++;
diff --git a/src/test/kc/no-div-runtime.c b/src/test/kc/no-div-runtime.c
index 16983f520..632c8da08 100644
--- a/src/test/kc/no-div-runtime.c
+++ b/src/test/kc/no-div-runtime.c
@@ -1,7 +1,7 @@
 // Test that division at runtime gives a proper error
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     for (byte i: 2..5) {
         screen[i] = 100/i;
     }
diff --git a/src/test/kc/no-inlineinterrupt.c b/src/test/kc/no-inlineinterrupt.c
index d4104c851..cfe63886f 100644
--- a/src/test/kc/no-inlineinterrupt.c
+++ b/src/test/kc/no-inlineinterrupt.c
@@ -1,6 +1,6 @@
 // Test that inline interrupts not allowed
 
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 
 void main() {
     SCREEN[0]++;
diff --git a/src/test/kc/no-mod-runtime.c b/src/test/kc/no-mod-runtime.c
index 0b651022e..bf6d3075f 100644
--- a/src/test/kc/no-mod-runtime.c
+++ b/src/test/kc/no-mod-runtime.c
@@ -1,7 +1,7 @@
 // Test that modulo at runtime gives a proper error
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     for (byte i: 2..5) {
         screen[i] = 100%i;
     }
diff --git a/src/test/kc/no-mul-runtime.c b/src/test/kc/no-mul-runtime.c
index 4673617d3..4eeb9b925 100644
--- a/src/test/kc/no-mul-runtime.c
+++ b/src/test/kc/no-mul-runtime.c
@@ -1,7 +1,7 @@
 // Test that division at runtime gives a proper error
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     for (byte i: 2..5) {
         screen[i] = 5*i;
     }
diff --git a/src/test/kc/no-paraminterrupt.c b/src/test/kc/no-paraminterrupt.c
index f13a9c21d..5a1fb9084 100644
--- a/src/test/kc/no-paraminterrupt.c
+++ b/src/test/kc/no-paraminterrupt.c
@@ -1,6 +1,6 @@
 // Test that inline interrupts not allowed
 
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 
 void main() {
     SCREEN[0]++;
diff --git a/src/test/kc/no-returninterrupt.c b/src/test/kc/no-returninterrupt.c
index c66762bf4..5ab139234 100644
--- a/src/test/kc/no-returninterrupt.c
+++ b/src/test/kc/no-returninterrupt.c
@@ -1,6 +1,6 @@
 // Test that inline interrupts not allowed
 
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 
 void main() {
     SCREEN[0]++;
diff --git a/src/test/kc/nocast.c b/src/test/kc/nocast.c
index f970f1338..4a7792cdd 100644
--- a/src/test/kc/nocast.c
+++ b/src/test/kc/nocast.c
@@ -1,7 +1,7 @@
 // Casting sprites/$40 to byte results in lda #$ff & sprite/$40 - proper constant calculation & type inference should detect that "$ff &" is not necessary as $2000/$40 is already a byte.
 
 byte* sprite = $2000;
-byte* SCREEN = $400;
+byte* SCREEN = (char*)$400;
 
 void main() {
     byte* sprite_ptr = SCREEN+$378;
diff --git a/src/test/kc/nomodify-3.c b/src/test/kc/nomodify-3.c
index 2746573c8..d8d93d6ba 100644
--- a/src/test/kc/nomodify-3.c
+++ b/src/test/kc/nomodify-3.c
@@ -2,7 +2,7 @@
 
 const volatile char i = 7;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = i;
diff --git a/src/test/kc/nomodify-4.c b/src/test/kc/nomodify-4.c
index e794eff4b..5824ade96 100644
--- a/src/test/kc/nomodify-4.c
+++ b/src/test/kc/nomodify-4.c
@@ -5,7 +5,7 @@ void main() {
     print('b');
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void print(const char c) {
     *SCREEN = c;
diff --git a/src/test/kc/nomodify-5.c b/src/test/kc/nomodify-5.c
index 297eb1ed4..765fc8976 100644
--- a/src/test/kc/nomodify-5.c
+++ b/src/test/kc/nomodify-5.c
@@ -5,7 +5,7 @@ void main() {
     print('b');
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void print(const char c) {
     *SCREEN = c++;
diff --git a/src/test/kc/noop-cast-elimination.c b/src/test/kc/noop-cast-elimination.c
index 49425ef37..341e8054b 100644
--- a/src/test/kc/noop-cast-elimination.c
+++ b/src/test/kc/noop-cast-elimination.c
@@ -2,7 +2,7 @@
 
 
 void main() {
-    signed word* const screen = 0x400;
+    signed word* const screen = (signed word*)0x400;
     signed word sw = 0x1234;
     for( byte i: 0..10) {
         sw += (signed byte)i;
diff --git a/src/test/kc/noreturn.c b/src/test/kc/noreturn.c
index 17a56ac27..cbeaecdf7 100644
--- a/src/test/kc/noreturn.c
+++ b/src/test/kc/noreturn.c
@@ -1,6 +1,6 @@
 void main() {
     byte b = get();
-    byte* screen = $400;
+    byte* screen = (char*)$400;
 }
 
 byte get() {
diff --git a/src/test/kc/norom-charset.c b/src/test/kc/norom-charset.c
index 793067048..dc3f7884f 100644
--- a/src/test/kc/norom-charset.c
+++ b/src/test/kc/norom-charset.c
@@ -1,7 +1,7 @@
 // Generate a charset based on a 5x3 pattern stored in 2 bytes
-byte* VICII_MEMORY = $d018;
-byte* SCREEN = $400;
-byte* CHARSET = $3000;
+byte* VICII_MEMORY = (byte*)$d018;
+byte* SCREEN = (byte*)$400;
+byte* CHARSET = (byte*)$3000;
 
 // Stores chars as 15 bits (in 2 bytes) specifying the 3x5
 // The 5x3 char is stored as 5x 3-bit rows followed by a zero. %aaabbbcc cdddeee0
diff --git a/src/test/kc/norom.asm b/src/test/kc/norom.asm
deleted file mode 100644
index 896f17894..000000000
--- a/src/test/kc/norom.asm
+++ /dev/null
@@ -1,71 +0,0 @@
-.pc = $801 "Basic"
-:BasicUpstart(main)
-.pc = $80d "Program"
-  .label VICII_MEMORY = $d018
-  .label SCREEN = $400
-  .label CHARSET = $3000
-main: {
-    .label charset = 2
-    .label c = 4
-    .label spec = 5
-    .label b = 7
-
-    lda #26
-    sta c
-    lda #<CHARSET+8
-    sta charset
-    lda #>CHARSET+8
-    sta charset+1
-  b2:
-
-    ldy #0
-  gb1:
-    ldx #0
-    stx b
-  gb2:
-sr1:asl charset_spec_row_lo
-sr2:rol charset_spec_row_hi
-    rol b
-    inx
-    cpx #3
-    bne gb2
-    lda b
-    sta (charset),y
-    iny
-    cpy #5
-    bne gb1
-
-    lda charset
-    clc
-    adc #8
-    sta charset
-    bcc !+
-    inc charset+1
-  !:
-    inc sr1+1
-    inc sr2+1
-    dec c
-    bne b2
-    lda #SCREEN/$40|CHARSET/$400
-    sta VICII_MEMORY
-    rts
-}
-
-charset_spec_hi:
-    .word /*A*/ %11110111, /*B*/ %11110111, /*C*/ %11110010, /*D*/ %11010110
-    .word /*E*/ %11110011, /*F*/ %11110011, /*G*/ %11110010, /*H*/ %10110111
-    .word /*I*/ %11101001, /*J*/ %11100100, /*K*/ %10110111, /*L*/ %10010010
-    .word /*M*/ %10111111, /*N*/ %11010110, /*O*/ %11110110, /*P*/ %11110111
-    .word /*Q*/ %11110110, /*R*/ %11110111, /*S*/ %11110011, /*T*/ %11101001
-    .word /*U*/ %10110110, /*V*/ %10110101, /*W*/ %10110111, /*X*/ %10110101
-    .word /*Y*/ %10110111, /*Z*/ %11100101
-
-
-charset_spec_lo:
-    .byte /*A*/ %11011010, /*B*/ %11011110, /*C*/ %01001110, /*D*/ %11011110
-    .byte /*E*/ %01001110, /*F*/ %01001000, /*G*/ %11011110, /*H*/ %11011010
-    .byte /*I*/ %00101110, /*J*/ %11011100, /*K*/ %01011010, /*L*/ %01001110
-    .byte /*M*/ %11011010, /*N*/ %11011010, /*O*/ %11011110, /*P*/ %11001000
-    .byte /*Q*/ %11110110, /*R*/ %01011010, /*S*/ %10011110, /*T*/ %00100100
-    .byte /*U*/ %11011110, /*V*/ %10110010, /*W*/ %11111010, /*X*/ %01011010
-    .byte /*Y*/ %10100100, /*Z*/ %01001110
\ No newline at end of file
diff --git a/src/test/kc/number-conversion.c b/src/test/kc/number-conversion.c
index 374359934..e8b8f103d 100644
--- a/src/test/kc/number-conversion.c
+++ b/src/test/kc/number-conversion.c
@@ -67,8 +67,8 @@ void main() {
 const byte RED = 2ub;
 const byte GREEN = 5ub;
 
-byte* const SCREEN = $0400uw;
-byte* const COLS = $d800uw;
+byte* const SCREEN = (byte*)$0400uw;
+byte* const COLS = (byte*)$d800uw;
 byte idx = 0ub;
 
 // Check that the two passed type IDs are equal.
diff --git a/src/test/kc/number-inference-sum.c b/src/test/kc/number-inference-sum.c
index 7d188413b..94e8c3d08 100644
--- a/src/test/kc/number-inference-sum.c
+++ b/src/test/kc/number-inference-sum.c
@@ -2,8 +2,8 @@
 // Currently fails - because the compiler does not handle byte+byte correctly (not truncating the result to 8 bits)
 
 void main() {
-    word* const screen = 0x0400;
-    byte* const BG_COLOR = 0xd020;
+    word* const screen = (word*)0x0400;
+    byte* const BG_COLOR = (byte*)0xd020;
     const byte RED = 2;
 
     byte b1 = 250;
diff --git a/src/test/kc/number-ternary-fail-3.c b/src/test/kc/number-ternary-fail-3.c
index cb788238a..d137c2029 100644
--- a/src/test/kc/number-ternary-fail-3.c
+++ b/src/test/kc/number-ternary-fail-3.c
@@ -2,8 +2,8 @@
 // Currently fails in the ternary operator with number-issues if integer literal is not specified!
 
 void main() {
-    char* BASIC = 0xa000;
-    char* SCREEN = 0x0400;
+    char* BASIC = (char*)0xa000;
+    char* SCREEN = (char*)0x0400;
     for( char i: 0..7 ) {
         char glyph_bits = BASIC[i];
         char glyph_bit = (glyph_bits&0x80)?1:0;
diff --git a/src/test/kc/number-ternary-fail.c b/src/test/kc/number-ternary-fail.c
index af0869735..efaa1bafd 100644
--- a/src/test/kc/number-ternary-fail.c
+++ b/src/test/kc/number-ternary-fail.c
@@ -1,7 +1,7 @@
 // Failing number type resolving in ternary operator
 // Currently fails in the ternary operator with number-issues if integer literal is not specified!
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 void main() {
     for( byte i: 0..40) {
         SCREEN[i] = (i&1)?0:0x80;
diff --git a/src/test/kc/number-type.c b/src/test/kc/number-type.c
index c4e13e5c3..2bcc09f80 100644
--- a/src/test/kc/number-type.c
+++ b/src/test/kc/number-type.c
@@ -8,7 +8,7 @@ void main() {
 
 void testBytes() {
     // Constant values resolvable to bytes
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (byte*)0x0400;
     byte idx = 0;
     SCREEN[idx++] = 12;
     SCREEN[idx++] = 6+6;
@@ -27,7 +27,7 @@ void testBytes() {
 
 void testSBytes() {
     // Constant values resolvable to signed bytes
-    signed byte* const SCREEN = 0x0428;
+    signed byte* const SCREEN = (signed byte*)0x0428;
     byte idx = 0;
     SCREEN[idx++] = -12;
     SCREEN[idx++] = -6-6;
diff --git a/src/test/kc/operator-byte0-initializer.c b/src/test/kc/operator-byte0-initializer.c
index b69c02058..c5ebf697b 100644
--- a/src/test/kc/operator-byte0-initializer.c
+++ b/src/test/kc/operator-byte0-initializer.c
@@ -10,7 +10,7 @@ char VALS[] = {
 
 void main() {
 
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
     char i = 0;
     SCREEN[i++] = VALS[0];
     SCREEN[i++] = VALS[1];
diff --git a/src/test/kc/operator-byte0.c b/src/test/kc/operator-byte0.c
index fb31dc573..d5824d425 100644
--- a/src/test/kc/operator-byte0.c
+++ b/src/test/kc/operator-byte0.c
@@ -7,9 +7,9 @@ void main() {
     volatile signed int ws = -177;
     volatile unsigned long du = 2000000;
     volatile signed long ds = -3777777;
-    char * volatile ptr = 0x0000;
+    char * volatile ptr = (char*)0x0000;
 
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
     char i = 0;
     SCREEN[i++] = BYTE0(17);
     SCREEN[i++] = BYTE0(377);
diff --git a/src/test/kc/operator-byte1.c b/src/test/kc/operator-byte1.c
index d63bf16c5..c12e4819f 100644
--- a/src/test/kc/operator-byte1.c
+++ b/src/test/kc/operator-byte1.c
@@ -7,9 +7,9 @@ void main() {
     volatile signed int ws = -177;
     volatile unsigned long du = 2000000;
     volatile signed long ds = -3777777;
-    char * volatile ptr = 0x0000;
+    char * volatile ptr = (char*)0x0000;
 
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
     char i = 0;
     SCREEN[i++] = BYTE1(17);
     SCREEN[i++] = BYTE1(377);
diff --git a/src/test/kc/operator-byte2.c b/src/test/kc/operator-byte2.c
index acea7c2f9..6cf77f497 100644
--- a/src/test/kc/operator-byte2.c
+++ b/src/test/kc/operator-byte2.c
@@ -7,9 +7,9 @@ void main() {
     volatile signed int ws = -177;
     volatile unsigned long du = 2000000;
     volatile signed long ds = -3777777;
-    char * volatile ptr = 0x0000;
+    char * volatile ptr = (char*)0x0000;
 
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
     char i = 0;
     SCREEN[i++] = BYTE2(17);
     SCREEN[i++] = BYTE2(377);
diff --git a/src/test/kc/operator-byte3.c b/src/test/kc/operator-byte3.c
index 4ad8e18ba..47ae4bcf8 100644
--- a/src/test/kc/operator-byte3.c
+++ b/src/test/kc/operator-byte3.c
@@ -7,9 +7,9 @@ void main() {
     volatile signed int ws = -177;
     volatile unsigned long du = 2000000;
     volatile signed long ds = -3777777;
-    char * volatile ptr = 0x0000;
+    char * volatile ptr = (char*)0x0000;
 
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
     char i = 0;
     SCREEN[i++] = BYTE3(17);
     SCREEN[i++] = BYTE3(377);
diff --git a/src/test/kc/operator-lohi-problem-1.c b/src/test/kc/operator-lohi-problem-1.c
index fc5292c04..57e492845 100644
--- a/src/test/kc/operator-lohi-problem-1.c
+++ b/src/test/kc/operator-lohi-problem-1.c
@@ -5,7 +5,7 @@
 // - enabling the lo/hi to know that their operand is a word (from the cast).
 
 const dword DVAL = $20000;
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
      SCREEN[0] = <(word)(DVAL/$400);
diff --git a/src/test/kc/operator-lohi-problem.c b/src/test/kc/operator-lohi-problem.c
index f45e84736..422e7afcd 100644
--- a/src/test/kc/operator-lohi-problem.c
+++ b/src/test/kc/operator-lohi-problem.c
@@ -4,7 +4,7 @@
 // A fix could be adding support for "declared" types for constant literal values
 // - enabling the lo/hi to know that their operand is a word (from the cast).
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     dword dw = $2000;
diff --git a/src/test/kc/operator-word0.c b/src/test/kc/operator-word0.c
index 26d8a55c2..b80dde3ff 100644
--- a/src/test/kc/operator-word0.c
+++ b/src/test/kc/operator-word0.c
@@ -7,9 +7,9 @@ void main() {
     volatile signed int ws = -177;
     volatile unsigned long du = 2000000;
     volatile signed long ds = -3777777;
-    char * volatile ptr = 0x0000;
+    char * volatile ptr = (char*)0x0000;
 
-    unsigned int * const SCREEN = 0x0400;
+    unsigned int * const SCREEN = (char*)0x0400;
     char i = 0;
     SCREEN[i++] = WORD0(17);
     SCREEN[i++] = WORD0(377);
diff --git a/src/test/kc/operator-word1.c b/src/test/kc/operator-word1.c
index 9e6fe0597..9ae9cae10 100644
--- a/src/test/kc/operator-word1.c
+++ b/src/test/kc/operator-word1.c
@@ -7,9 +7,9 @@ void main() {
     volatile signed int ws = -177;
     volatile unsigned long du = 2000000;
     volatile signed long ds = -3777777;
-    char * volatile ptr = 0x0000;
+    char * volatile ptr = (char*)0x0000;
 
-    unsigned int * const SCREEN = 0x0400;
+    unsigned int * const SCREEN = (char*)0x0400;
     char i = 0;
     SCREEN[i++] = WORD1(17);
     SCREEN[i++] = WORD1(377);
diff --git a/src/test/kc/optimize-unsigned-comparisons.c b/src/test/kc/optimize-unsigned-comparisons.c
index 799325893..ed24fb6bd 100644
--- a/src/test/kc/optimize-unsigned-comparisons.c
+++ b/src/test/kc/optimize-unsigned-comparisons.c
@@ -4,7 +4,7 @@
 byte ball_active[8] = { 0, 1, 0, 1, 0, 1, 1, 1 };
 
 void main() {
-    byte* const screen = 0x0400;
+    byte* const screen = (char*)0x0400;
     byte temp;
     for( char i: 0..7) {
         // Always false
diff --git a/src/test/kc/overlap-allocation-2.c b/src/test/kc/overlap-allocation-2.c
index b9d4b0de8..f5c8b526f 100644
--- a/src/test/kc/overlap-allocation-2.c
+++ b/src/test/kc/overlap-allocation-2.c
@@ -1,5 +1,5 @@
 // Two levels of functions to test that register allocation handles live ranges and call-ranges optimally to allocate the fewest possible ZP-variables
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 
 void main() {
     for(byte i : 0..8) {
diff --git a/src/test/kc/overlap-allocation.c b/src/test/kc/overlap-allocation.c
index 4f938e54b..22915b6dc 100644
--- a/src/test/kc/overlap-allocation.c
+++ b/src/test/kc/overlap-allocation.c
@@ -1,6 +1,6 @@
 // Allocates ZP to j/k-variables even though all of i, j, k could be allocates to x and be more efficient.
 // Reason: Pass4RegisterUpliftCombinations.isAllocationOverlapping() believes i/j/k variables overlaps insode plot()
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 
 void main() {
     for(byte i : 0..10) {
diff --git a/src/test/kc/parameter-autocast-wrong.c b/src/test/kc/parameter-autocast-wrong.c
index 71f62652b..1ea289634 100644
--- a/src/test/kc/parameter-autocast-wrong.c
+++ b/src/test/kc/parameter-autocast-wrong.c
@@ -7,7 +7,7 @@ void main() {
     print_to_screen(*message); // Passes *(char*) - effectively char to function that takes char*
 }
 
-char* screen = 0x0400;
+char* screen = (char*)0x0400;
 
 void print_to_screen(char *message) {
     while(*message)
diff --git a/src/test/kc/parse-negated-struct-ref.c b/src/test/kc/parse-negated-struct-ref.c
index e3f3cb66a..00776df2e 100644
--- a/src/test/kc/parse-negated-struct-ref.c
+++ b/src/test/kc/parse-negated-struct-ref.c
@@ -8,7 +8,7 @@ struct A {
 struct A aa = { 1 };
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     struct A* a = &aa;
     // A negated struct reference!
     if(!a->b) {
diff --git a/src/test/kc/plasma-center.c b/src/test/kc/plasma-center.c
index ed7a8f127..97f32211b 100644
--- a/src/test/kc/plasma-center.c
+++ b/src/test/kc/plasma-center.c
@@ -17,11 +17,11 @@ byte* SCREEN_DIST = malloc(1000);
 // Screen containing angle to center
 byte* SCREEN_ANGLE = malloc(1000);
 // Plasma charset
-char* const CHARSET = 0x2000;
+char* const CHARSET = (char*)0x2000;
 // Plasma screen 1
-char* const SCREEN1 = 0x2800;
+char* const SCREEN1 = (char*)0x2800;
 // Plasma screen 2
-char* const SCREEN2 = 0x2c00;
+char* const SCREEN2 = (char*)0x2c00;
 
 void main() {
     init_dist_screen(SCREEN_DIST);
diff --git a/src/test/kc/platform-default-define.c b/src/test/kc/platform-default-define.c
index bcb327169..ff2396cde 100644
--- a/src/test/kc/platform-default-define.c
+++ b/src/test/kc/platform-default-define.c
@@ -1,6 +1,6 @@
 // Test the #define for the default platform
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     #ifdef __C64__
diff --git a/src/test/kc/platform-plus4-define.c b/src/test/kc/platform-plus4-define.c
index 6c2209074..7b7b078b4 100644
--- a/src/test/kc/platform-plus4-define.c
+++ b/src/test/kc/platform-plus4-define.c
@@ -1,7 +1,7 @@
 // Test the #define for the plus4 target platform
 #pragma target(plus4)
 
-char * const SCREEN = 0x0c00;
+char * const SCREEN = (char *)0x0c00;
 
 void main() {
     #ifdef __PLUS4__
diff --git a/src/test/kc/plus4-keyboard-test.c b/src/test/kc/plus4-keyboard-test.c
index 0b05e45e0..be6d83244 100644
--- a/src/test/kc/plus4-keyboard-test.c
+++ b/src/test/kc/plus4-keyboard-test.c
@@ -4,11 +4,11 @@
 #include <string.h>
 
 // Keyboard latch
-char * const KEYBOARD_INPUT = 0xff08;
+char * const KEYBOARD_INPUT = (char*)0xff08;
 // Keyboard scan
-char * const KEYBOARD_SCAN = 0xfd30;
+char * const KEYBOARD_SCAN = (char*)0xfd30;
 // Default address of screen character matrix
-char * const DEFAULT_SCREEN = 0x0c00;
+char * const DEFAULT_SCREEN = (char*)0x0c00;
 
 void main() {
     asm { sei }
diff --git a/src/test/kc/pointer-anding.c b/src/test/kc/pointer-anding.c
index ee92daac9..15e132e95 100644
--- a/src/test/kc/pointer-anding.c
+++ b/src/test/kc/pointer-anding.c
@@ -1,8 +1,8 @@
 // Test binary ANDing pointers by Clay Cowgill
 
 void main() {
-    int* pos_ptr = 0x0400;
-    byte* vram_ptr = 0x0428;
+    int* pos_ptr = (int*)0x0400;
+    byte* vram_ptr = (byte*)0x0428;
     for( char i:0..2) {
         *pos_ptr=(int)0x55AA;
         *vram_ptr++=<(*pos_ptr&(int)0xAA55); // stores 0x00
diff --git a/src/test/kc/pointer-cast-2.c b/src/test/kc/pointer-cast-2.c
index 7c1d1c16a..66c0a2a1b 100644
--- a/src/test/kc/pointer-cast-2.c
+++ b/src/test/kc/pointer-cast-2.c
@@ -2,7 +2,7 @@
 
 void main() {
     {
-    byte* const ub_screen = $400;
+    byte* const ub_screen = (char*)$400;
     byte ub = 0xff;
     signed byte* sb_ptr = (signed byte*) &ub;
     *sb_ptr = 1;
@@ -10,7 +10,7 @@ void main() {
     }
 
     {
-    signed byte* const sb_screen = $428;
+    signed byte* const sb_screen = (signed byte*)$428;
     signed byte sb = (signed byte)0x7f;
     byte* ub_ptr = (byte*) &sb;
     *ub_ptr = 1;
diff --git a/src/test/kc/pointer-cast-3.c b/src/test/kc/pointer-cast-3.c
index 0582b436b..20b72584c 100644
--- a/src/test/kc/pointer-cast-3.c
+++ b/src/test/kc/pointer-cast-3.c
@@ -1,7 +1,7 @@
 // Tests casting pointer types to other pointer types
 
 void main() {
-    signed byte* const sb_screen = $400;
+    signed byte* const sb_screen = (signed byte*)$400;
     signed byte sb = (signed byte)0xff;
     *sb_screen = sb;
 }
\ No newline at end of file
diff --git a/src/test/kc/pointer-cast-4.c b/src/test/kc/pointer-cast-4.c
index 1219412bd..f6de6f132 100644
--- a/src/test/kc/pointer-cast-4.c
+++ b/src/test/kc/pointer-cast-4.c
@@ -1,7 +1,7 @@
 // Tests casting pointer types to other pointer types does not produce any ASM code
 
 void main() {
-    byte* bscreen = 0x0400;
+    byte* bscreen = (char*)0x0400;
     for(byte i: 0..2) {
         word* wscreen = (word*)bscreen;
         wscreen[i] = (word)i;
diff --git a/src/test/kc/pointer-cast.c b/src/test/kc/pointer-cast.c
index ea5858224..81623c404 100644
--- a/src/test/kc/pointer-cast.c
+++ b/src/test/kc/pointer-cast.c
@@ -1,9 +1,9 @@
 // Tests casting pointer types to other pointer types
 
-byte* ub_screen = $400;
-signed byte* sb_screen = $428;
-word* uw_screen = $450;
-signed word* sw_screen = $478;
+byte* ub_screen = (byte*)$400;
+signed byte* sb_screen = (signed byte*)$428;
+word* uw_screen = (word*)$450;
+signed word* sw_screen = (signed word*)$478;
 
 byte ub = 41;
 signed byte sb = -41;
diff --git a/src/test/kc/pointer-const-typedef.c b/src/test/kc/pointer-const-typedef.c
index ca77b93dc..bd4c1c0bc 100644
--- a/src/test/kc/pointer-const-typedef.c
+++ b/src/test/kc/pointer-const-typedef.c
@@ -13,21 +13,21 @@ typedef const char * PC;
 typedef char * const CP;
 
 // Pointer to const
-const char * pc0 = 0x0400;
-CC *pc1 = 0x0400;
-PC pc2 = 0x0400;
+const char * pc0 = (char*)0x0400;
+CC *pc1 = (char*)0x0400;
+PC pc2 = (char*)0x0400;
 
 // Const pointer
-char * const cp0 = 0x0400;
-CP cp1 = 0x0400;
-const P cp2 = 0x0400;
+char * const cp0 = (char*)0x0400;
+CP cp1 = (char*)0x0400;
+const P cp2 = (char*)0x0400;
 
 // Const pointer to const
-const char * const cpc0 = 0x0400;
-CC * const cpc1 = 0x0400;
-const PC cpc2 = 0x0400;
+const char * const cpc0 = (char*)0x0400;
+CC * const cpc1 = (char*)0x0400;
+const PC cpc2 = (char*)0x0400;
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
     char idx = 0;
diff --git a/src/test/kc/pointer-const.c b/src/test/kc/pointer-const.c
index f266ae7fb..6088c5315 100644
--- a/src/test/kc/pointer-const.c
+++ b/src/test/kc/pointer-const.c
@@ -4,10 +4,10 @@
 char const * MSG = "hello world!";
 
 // Const pointer
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 // Const pointer to const
-char const * const BASIC = 0xa004;
+char const * const BASIC = (char*)0xa004;
 
 void main() {
     char i=0;
diff --git a/src/test/kc/pointer-plus-0.c b/src/test/kc/pointer-plus-0.c
index cd1e2fd68..2897c6f54 100644
--- a/src/test/kc/pointer-plus-0.c
+++ b/src/test/kc/pointer-plus-0.c
@@ -4,7 +4,7 @@ byte msg1[] = "hello world!";
 byte msg2[] = "goodbye sky?";
 
 void main() {
-    byte* const SCREEN = $0400;
+    byte* const SCREEN = (byte*)$400;
     SCREEN[0] = *(first(msg1)+0);
     SCREEN[1] = *(first(msg2)+0);
 }
diff --git a/src/test/kc/pointer-plus-signed-word.c b/src/test/kc/pointer-plus-signed-word.c
index 10037939d..0e49a50b5 100644
--- a/src/test/kc/pointer-plus-signed-word.c
+++ b/src/test/kc/pointer-plus-signed-word.c
@@ -1,7 +1,7 @@
 // Test adding a signed word to a pointer
 // Fragment pbuz1=pbuc1_plus_vwsz1.asm supplied by Richard-William Loerakker
 
-char* SCREEN = 0x0400+40*10;
+char* SCREEN = (char*)0x0400+40*10;
 
 void main() {
     for (signed word i : -10..10 ) {
diff --git a/src/test/kc/pointer-pointer-1.c b/src/test/kc/pointer-pointer-1.c
index 896892bc8..7a28e8e85 100644
--- a/src/test/kc/pointer-pointer-1.c
+++ b/src/test/kc/pointer-pointer-1.c
@@ -1,7 +1,7 @@
 // Tests a simple pointer to a pointer
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
 
     byte b = 'a';
     byte* pb = &b;
diff --git a/src/test/kc/pointer-pointer-2.c b/src/test/kc/pointer-pointer-2.c
index 130b1257d..d1cce1de6 100644
--- a/src/test/kc/pointer-pointer-2.c
+++ b/src/test/kc/pointer-pointer-2.c
@@ -2,7 +2,7 @@
 
 void main() {
 
-    byte* screen = $400;
+    byte* screen = (char*)$400;
 
     byte* text;
     for(byte i: 0..20) {
diff --git a/src/test/kc/pointer-pointer-3.c b/src/test/kc/pointer-pointer-3.c
index 833b910c0..22bc796e6 100644
--- a/src/test/kc/pointer-pointer-3.c
+++ b/src/test/kc/pointer-pointer-3.c
@@ -1,10 +1,10 @@
 // Tests pointer to pointer in a more complex setup
 
 
-byte* screen = $400;
+byte* screen = (char*)$400;
 
-byte* screen1 = $400;
-byte* screen2 = $400+40;
+byte* screen1 = (char*)$400;
+byte* screen2 = (char*)$400+40;
 
 void main() {
     setscreen(&screen, screen1);
diff --git a/src/test/kc/pointer-to-pointer-const.c b/src/test/kc/pointer-to-pointer-const.c
index 39f545d23..94612aad7 100644
--- a/src/test/kc/pointer-to-pointer-const.c
+++ b/src/test/kc/pointer-to-pointer-const.c
@@ -1,6 +1,6 @@
 // Demonstrates const pointer to pointer
 
-void ** const IRQ = 0xfffe;
+void ** const IRQ = (void **)0xfffe;
 
 void main() {
     *IRQ = (void*) 0x1003;
diff --git a/src/test/kc/pointer-void-0.c b/src/test/kc/pointer-void-0.c
index c4c101686..45644cdd5 100644
--- a/src/test/kc/pointer-void-0.c
+++ b/src/test/kc/pointer-void-0.c
@@ -1,7 +1,7 @@
 // Test simple void pointer (conversion without casting)
 
 void main() {
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     word w = 1234;
     word* wp = &w;
     void* vp = wp;
diff --git a/src/test/kc/pointer-void-1.c b/src/test/kc/pointer-void-1.c
index ace9554a6..3365322e0 100644
--- a/src/test/kc/pointer-void-1.c
+++ b/src/test/kc/pointer-void-1.c
@@ -12,7 +12,7 @@ void main() {
     print(vd);
 }
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 byte idx = 0;
 
 void print(void* ptr) {
diff --git a/src/test/kc/pointer-void-2.c b/src/test/kc/pointer-void-2.c
index ed9c95bc0..2a98064bf 100644
--- a/src/test/kc/pointer-void-2.c
+++ b/src/test/kc/pointer-void-2.c
@@ -9,7 +9,7 @@ void main() {
     print(&d);
 }
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 byte idx = 0;
 
 void print(void* ptr) {
diff --git a/src/test/kc/pointer-void-3.c b/src/test/kc/pointer-void-3.c
index b9660c91c..e5820b069 100644
--- a/src/test/kc/pointer-void-3.c
+++ b/src/test/kc/pointer-void-3.c
@@ -1,7 +1,7 @@
 // Test void pointer - issues when assigning returns from malloc()
 
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 
 void main() {
     byte* buf1 = malloc();
@@ -13,7 +13,7 @@ void main() {
 }
 
 
-byte* heap_head = 0xc000;
+byte* heap_head = (byte*)0xc000;
 
 void* malloc() {
     heap_head++;
diff --git a/src/test/kc/pointer-void-err-0.c b/src/test/kc/pointer-void-err-0.c
index 3c04f1672..63bd4cde9 100644
--- a/src/test/kc/pointer-void-err-0.c
+++ b/src/test/kc/pointer-void-err-0.c
@@ -1,7 +1,7 @@
 // Test simple void pointer - void pointer addition should fail
 
 void main() {
-   void* SCREEN = 0x0400;
+   void* SCREEN = (void*)0x0400;
     byte idx = 0;
     *((byte*)SCREEN) = idx;
     SCREEN++;
diff --git a/src/test/kc/post-increment-problem-2.c b/src/test/kc/post-increment-problem-2.c
index 9e9123d78..ad78d91bb 100644
--- a/src/test/kc/post-increment-problem-2.c
+++ b/src/test/kc/post-increment-problem-2.c
@@ -1,4 +1,4 @@
-const byte *screen=$0400;
+byte *screen=(byte *)$0400;
 void main() {
   word offset=40*10;
   for (char x=0;x<254;x++)
diff --git a/src/test/kc/post-increment-problem-4.c b/src/test/kc/post-increment-problem-4.c
index a7a07376b..7652249c4 100644
--- a/src/test/kc/post-increment-problem-4.c
+++ b/src/test/kc/post-increment-problem-4.c
@@ -2,7 +2,7 @@
 // https://gitlab.com/camelot/kickc/-/issues/486
 
 char MESSAGE[] = "hello world!";
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main(void) {
     char * s = MESSAGE;
diff --git a/src/test/kc/post-increment-problem-5.c b/src/test/kc/post-increment-problem-5.c
index 4a5b9fed2..1031ebbd2 100644
--- a/src/test/kc/post-increment-problem-5.c
+++ b/src/test/kc/post-increment-problem-5.c
@@ -1,7 +1,7 @@
 // Post-increment expression causes  java.lang.ClassCastException: class dk.camelot64.kickc.model.values.ConstantBinary cannot be cast to class dk.camelot64.kickc.model.values.LValue
 // Should result in a proper error
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     *(SCREEN+999)++;
diff --git a/src/test/kc/post-increment-problem.c b/src/test/kc/post-increment-problem.c
index 11deacbd5..628206c71 100644
--- a/src/test/kc/post-increment-problem.c
+++ b/src/test/kc/post-increment-problem.c
@@ -2,7 +2,7 @@
 
 char MESSAGE[20] = "camelot";
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     char* msg = MESSAGE;
diff --git a/src/test/kc/pragma-noparenthesis.c b/src/test/kc/pragma-noparenthesis.c
index 9d2265af3..2a1aa8c61 100644
--- a/src/test/kc/pragma-noparenthesis.c
+++ b/src/test/kc/pragma-noparenthesis.c
@@ -3,7 +3,7 @@
 #pragma target vic20
 #pragma constructor_for init main
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[1] = 'b';
diff --git a/src/test/kc/pragma-unknown.c b/src/test/kc/pragma-unknown.c
index c40c5f1f8..0e8f68265 100644
--- a/src/test/kc/pragma-unknown.c
+++ b/src/test/kc/pragma-unknown.c
@@ -2,7 +2,7 @@
 
 #pragma unknown(x)
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     *SCREEN = 'a';
diff --git a/src/test/kc/preprocessor-0.c b/src/test/kc/preprocessor-0.c
index 3f5dd33f2..7d09b2c7d 100644
--- a/src/test/kc/preprocessor-0.c
+++ b/src/test/kc/preprocessor-0.c
@@ -3,7 +3,7 @@
 
 #define A 'a'
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     *SCREEN = A;
diff --git a/src/test/kc/preprocessor-1.c b/src/test/kc/preprocessor-1.c
index 6de16e04a..480cfe0a0 100644
--- a/src/test/kc/preprocessor-1.c
+++ b/src/test/kc/preprocessor-1.c
@@ -1,7 +1,7 @@
 // Test the preprocessor
 // #define's with complex token bodies
 
-#define USE_SCREEN_DEFAULT char * const SCREEN = 0x0400;
+#define USE_SCREEN_DEFAULT char * const SCREEN = (char*)0x0400;
 #define START_MAIN void main() {
 #define END_MAIN }
 
diff --git a/src/test/kc/preprocessor-11.c b/src/test/kc/preprocessor-11.c
index 6818e3ec8..e2a6ea668 100644
--- a/src/test/kc/preprocessor-11.c
+++ b/src/test/kc/preprocessor-11.c
@@ -5,7 +5,7 @@
 #error Preprocessor causing an error!
 #endif
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = 'a';
diff --git a/src/test/kc/preprocessor-12.c b/src/test/kc/preprocessor-12.c
index 5e9dcfd99..5603f368b 100644
--- a/src/test/kc/preprocessor-12.c
+++ b/src/test/kc/preprocessor-12.c
@@ -5,7 +5,7 @@
 #include "qwe.h"
 #endif
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = 'a';
diff --git a/src/test/kc/preprocessor-13.c b/src/test/kc/preprocessor-13.c
index 76c6e59e8..c0f47217e 100644
--- a/src/test/kc/preprocessor-13.c
+++ b/src/test/kc/preprocessor-13.c
@@ -10,7 +10,7 @@
 
 void main() {
     char x = 7;
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
     // Call without spaces
     SCREEN[0] = FOO(1);
     // Call with spaces
diff --git a/src/test/kc/preprocessor-14.c b/src/test/kc/preprocessor-14.c
index 3b52fb8ee..ab48ed912 100644
--- a/src/test/kc/preprocessor-14.c
+++ b/src/test/kc/preprocessor-14.c
@@ -2,7 +2,7 @@
 // Test for existence of the __KICKC__ define
 
 void main() {
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
     #ifdef __KICKC__
         *SCREEN = 1;
     #endif
diff --git a/src/test/kc/preprocessor-2.c b/src/test/kc/preprocessor-2.c
index b47323891..c59291c37 100644
--- a/src/test/kc/preprocessor-2.c
+++ b/src/test/kc/preprocessor-2.c
@@ -1,7 +1,7 @@
 // Test the preprocessor
 // #define and #undef - expected output on screen is xa
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 
 void main() {
     char a = 'a';
diff --git a/src/test/kc/preprocessor-3.c b/src/test/kc/preprocessor-3.c
index 584eab124..4f59557b1 100644
--- a/src/test/kc/preprocessor-3.c
+++ b/src/test/kc/preprocessor-3.c
@@ -3,7 +3,7 @@
 
 #include "preprocessor-3b.c"
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = STAR;
diff --git a/src/test/kc/preprocessor-4.c b/src/test/kc/preprocessor-4.c
index 7be6d3cd0..c65a4faec 100644
--- a/src/test/kc/preprocessor-4.c
+++ b/src/test/kc/preprocessor-4.c
@@ -3,7 +3,7 @@
 
 #define A
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/preprocessor-5.c b/src/test/kc/preprocessor-5.c
index d7540d655..e627028fe 100644
--- a/src/test/kc/preprocessor-5.c
+++ b/src/test/kc/preprocessor-5.c
@@ -5,7 +5,7 @@
     SCREEN[idx++] = 'x'; \
     SCREEN[idx++] = 'x'
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/preprocessor-6.c b/src/test/kc/preprocessor-6.c
index 7052b2676..289985353 100644
--- a/src/test/kc/preprocessor-6.c
+++ b/src/test/kc/preprocessor-6.c
@@ -5,7 +5,7 @@ char A = 'a';
 
 #define A A+1
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/preprocessor-7.c b/src/test/kc/preprocessor-7.c
index 483c453c1..10d400039 100644
--- a/src/test/kc/preprocessor-7.c
+++ b/src/test/kc/preprocessor-7.c
@@ -4,7 +4,7 @@
 #define SEI asm { sei }
 #define CLI asm { cli }
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/preprocessor-8.c b/src/test/kc/preprocessor-8.c
index f87f41cac..8910c1a38 100644
--- a/src/test/kc/preprocessor-8.c
+++ b/src/test/kc/preprocessor-8.c
@@ -4,7 +4,7 @@
 #define SEI kickasm {{ sei }}
 #define CLI kickasm {{ cli }}
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/preprocessor-9.c b/src/test/kc/preprocessor-9.c
index 7dd5474a7..11026f9c3 100644
--- a/src/test/kc/preprocessor-9.c
+++ b/src/test/kc/preprocessor-9.c
@@ -5,7 +5,7 @@
 #define DOUBLE(x) SUM(x,x)
 #define SUM(x,y) x+y
 
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 
 void main() {
     char idx = 0;
diff --git a/src/test/kc/print-problem.c b/src/test/kc/print-problem.c
index aa964dba4..77dee57a2 100644
--- a/src/test/kc/print-problem.c
+++ b/src/test/kc/print-problem.c
@@ -1,4 +1,4 @@
-byte* SCREEN= $400;
+byte* SCREEN= (char*)$400;
 byte line = $40;
 byte ch = line;
 
diff --git a/src/test/kc/printf-10.c b/src/test/kc/printf-10.c
index 16f026895..8b34f8144 100644
--- a/src/test/kc/printf-10.c
+++ b/src/test/kc/printf-10.c
@@ -3,7 +3,7 @@
 
 __intrinsic void printf(char* format, ...);
 
-char * screen = 0x0400;
+char * screen = (char*)0x0400;
 char idx = 0;
 
 void cputs(char* str) {
diff --git a/src/test/kc/printf-11.c b/src/test/kc/printf-11.c
index 76684e3e0..597fa902d 100644
--- a/src/test/kc/printf-11.c
+++ b/src/test/kc/printf-11.c
@@ -3,7 +3,7 @@
 
 __intrinsic void printf(char* format, ...);
 
-char * screen = 0x0400;
+char * screen = (char*)0x0400;
 char idx = 0;
 
 void cputs(char* str) {
diff --git a/src/test/kc/problem-array-struct-init.c b/src/test/kc/problem-array-struct-init.c
index 50e204245..95f84544c 100644
--- a/src/test/kc/problem-array-struct-init.c
+++ b/src/test/kc/problem-array-struct-init.c
@@ -25,7 +25,7 @@ struct List[] lists = { { 1, { 2, 3, 4 }}, { 5, { 6, 7, 8 }}, { 9, { 10, 11, 12
 */
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     char idx = 0;
     for ( char i: 0..2) {
         SCREEN[idx++] = points[i].x;
diff --git a/src/test/kc/problem-bool-compare-2.c b/src/test/kc/problem-bool-compare-2.c
index 2fb665e43..7ee6bf67b 100644
--- a/src/test/kc/problem-bool-compare-2.c
+++ b/src/test/kc/problem-bool-compare-2.c
@@ -5,7 +5,7 @@
 #define TRUE 1
 
 void main() {
-    char * SCREEN = 0x0400;
+    char * SCREEN = (char*)0x0400;
 
     if(FALSE!=FALSE)
         SCREEN[0] = '*';
diff --git a/src/test/kc/problem-bool-compare.c b/src/test/kc/problem-bool-compare.c
index 06145cfe6..ed4c98b3f 100644
--- a/src/test/kc/problem-bool-compare.c
+++ b/src/test/kc/problem-bool-compare.c
@@ -2,7 +2,7 @@
 // https://atariage.com/forums/topic/311788-kickc-optimizing-c-compiler-now-supports-atari-8bit-xlxe/?tab=comments#comment-4644101
 
 void main() {
-    char * SCREEN = 0x0400;
+    char * SCREEN = (char*)0x0400;
 
     if(false!=false)
         SCREEN[0] = '*';
diff --git a/src/test/kc/problem-const-addition.c b/src/test/kc/problem-const-addition.c
index 519e88231..63e1bc298 100644
--- a/src/test/kc/problem-const-addition.c
+++ b/src/test/kc/problem-const-addition.c
@@ -1,8 +1,8 @@
 // Illustrates problem with constant addition not handling mixed types properly
 
-char* SCREEN = $400;
-char* CHARGEN = 0xd000;
-char* PROCPORT = 0x01;
+char* SCREEN = (char*)$400;
+char* CHARGEN = (char*)0xd000;
+char* PROCPORT = (char*)0x01;
 
 void main() {
     for(char pos: 0..3)
diff --git a/src/test/kc/problem-inline-struct-return.c b/src/test/kc/problem-inline-struct-return.c
index fd3e2442d..849a8ea4f 100644
--- a/src/test/kc/problem-inline-struct-return.c
+++ b/src/test/kc/problem-inline-struct-return.c
@@ -9,7 +9,7 @@ void main() {
     struct SplineVector p1 = { 12, 24};
     struct SplineVector p2 = splineDouble(p1);
 
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     SCREEN[0] = p2.x;
     SCREEN[1] = p2.y;
 
diff --git a/src/test/kc/problem-negate-const.c b/src/test/kc/problem-negate-const.c
index a79e51297..8a03493cc 100644
--- a/src/test/kc/problem-negate-const.c
+++ b/src/test/kc/problem-negate-const.c
@@ -1,7 +1,7 @@
 // Illustrates problem with negating a constant negative number
 // KickAsm requires parenthesis for double negation to work
 
-signed char * const SCREEN = 0x0400;
+signed char * const SCREEN = (signed char*)0x0400;
 
 void main() {
     printneg(-4);
diff --git a/src/test/kc/problem-negative-word-const.c b/src/test/kc/problem-negative-word-const.c
index 2a7ebabba..64c8ecd46 100644
--- a/src/test/kc/problem-negative-word-const.c
+++ b/src/test/kc/problem-negative-word-const.c
@@ -1,6 +1,6 @@
 // Problem with assigning negative word constant (vwuz1=vbuc1)
 
-word* screen = 0x0400;
+word* screen = (char*)0x0400;
 
 void main() {
     for( byte i:0..7) {
diff --git a/src/test/kc/problem-struct-inline-parameter-1.c b/src/test/kc/problem-struct-inline-parameter-1.c
index 03db5dbb0..6e68df08a 100644
--- a/src/test/kc/problem-struct-inline-parameter-1.c
+++ b/src/test/kc/problem-struct-inline-parameter-1.c
@@ -9,7 +9,7 @@ void main() {
     print('c', { '-', '-' } );
 }
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 char idx = 0;
 
 void print(char c, struct format fmt) {
diff --git a/src/test/kc/problem-struct-inline-parameter.c b/src/test/kc/problem-struct-inline-parameter.c
index f76267c5e..bab63ee36 100644
--- a/src/test/kc/problem-struct-inline-parameter.c
+++ b/src/test/kc/problem-struct-inline-parameter.c
@@ -9,7 +9,7 @@ void main() {
     print('c', (struct format){ '-', '-' } );
 }
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 char idx = 0;
 
 void print(char c, struct format fmt) {
diff --git a/src/test/kc/procedure-callingconvention-stack-0.c b/src/test/kc/procedure-callingconvention-stack-0.c
index 6f79c6e6b..c8c2d72b1 100644
--- a/src/test/kc/procedure-callingconvention-stack-0.c
+++ b/src/test/kc/procedure-callingconvention-stack-0.c
@@ -1,6 +1,6 @@
 // Test a procedure with calling convention stack
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main(void) {
     SCREEN[0] = plus('0', 7);
diff --git a/src/test/kc/procedure-callingconvention-stack-1.c b/src/test/kc/procedure-callingconvention-stack-1.c
index 0c8e06d2c..ab53c4520 100644
--- a/src/test/kc/procedure-callingconvention-stack-1.c
+++ b/src/test/kc/procedure-callingconvention-stack-1.c
@@ -1,6 +1,6 @@
 // Test a procedure with calling convention stack
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main(void) {
     SCREEN[0] = plus('0', 7);
diff --git a/src/test/kc/procedure-callingconvention-stack-10.c b/src/test/kc/procedure-callingconvention-stack-10.c
index e35f868a4..b3b0339f7 100644
--- a/src/test/kc/procedure-callingconvention-stack-10.c
+++ b/src/test/kc/procedure-callingconvention-stack-10.c
@@ -3,7 +3,7 @@
 
 #pragma calling(__stackcall)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 struct Point {
diff --git a/src/test/kc/procedure-callingconvention-stack-11.c b/src/test/kc/procedure-callingconvention-stack-11.c
index 1f3696836..2c4c9047d 100644
--- a/src/test/kc/procedure-callingconvention-stack-11.c
+++ b/src/test/kc/procedure-callingconvention-stack-11.c
@@ -3,7 +3,7 @@
 
 #pragma calling(__stackcall)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 struct Point {
diff --git a/src/test/kc/procedure-callingconvention-stack-12.c b/src/test/kc/procedure-callingconvention-stack-12.c
index 899af7210..364f5572b 100644
--- a/src/test/kc/procedure-callingconvention-stack-12.c
+++ b/src/test/kc/procedure-callingconvention-stack-12.c
@@ -3,7 +3,7 @@
 
 #pragma calling(__stackcall)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 void main(void) {
diff --git a/src/test/kc/procedure-callingconvention-stack-13.c b/src/test/kc/procedure-callingconvention-stack-13.c
index 634f9dbb7..8335ef180 100644
--- a/src/test/kc/procedure-callingconvention-stack-13.c
+++ b/src/test/kc/procedure-callingconvention-stack-13.c
@@ -1,7 +1,7 @@
 // Test a procedure with calling convention stack
 // Recursion that works (no local variables)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main(void) {
     *SCREEN = pow2(6);
diff --git a/src/test/kc/procedure-callingconvention-stack-2.c b/src/test/kc/procedure-callingconvention-stack-2.c
index c7010a445..36a45f3b2 100644
--- a/src/test/kc/procedure-callingconvention-stack-2.c
+++ b/src/test/kc/procedure-callingconvention-stack-2.c
@@ -1,6 +1,6 @@
 // Test a procedure with calling convention stack - and enough parameters to use fast ASM for cleaning stack
 
-word* const SCREEN = 0x0400;
+word* const SCREEN = (char*)0x0400;
 
 void main(void) {
     SCREEN[0] = plus(0x1234, 0x2345);
diff --git a/src/test/kc/procedure-callingconvention-stack-3.c b/src/test/kc/procedure-callingconvention-stack-3.c
index abdd3ac68..5431b976f 100644
--- a/src/test/kc/procedure-callingconvention-stack-3.c
+++ b/src/test/kc/procedure-callingconvention-stack-3.c
@@ -3,7 +3,7 @@
 // Currently fails because the pushed are done based on the actual value instead of the declared parameter type
 // https://gitlab.com/camelot/kickc/issues/319
 
-word* const SCREEN = 0x0400;
+word* const SCREEN = (char*)0x0400;
 
 void main(void) {
     SCREEN[0] = plus('0', 7);
diff --git a/src/test/kc/procedure-callingconvention-stack-4.c b/src/test/kc/procedure-callingconvention-stack-4.c
index e1fd9c50a..1ee50e59e 100644
--- a/src/test/kc/procedure-callingconvention-stack-4.c
+++ b/src/test/kc/procedure-callingconvention-stack-4.c
@@ -1,7 +1,7 @@
 // Test a procedure with calling convention stack
 // A slightly more complex call
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 char i = 0;
 
diff --git a/src/test/kc/procedure-callingconvention-stack-5.c b/src/test/kc/procedure-callingconvention-stack-5.c
index 52be53538..de4436107 100644
--- a/src/test/kc/procedure-callingconvention-stack-5.c
+++ b/src/test/kc/procedure-callingconvention-stack-5.c
@@ -1,7 +1,7 @@
 // Test a procedure with calling convention stack
 // Return value larger than parameter
 
-int* const SCREEN = 0x0400;
+int* const SCREEN = (int*)0x0400;
 
 void main(void) {
     SCREEN[0] = next();
diff --git a/src/test/kc/procedure-callingconvention-stack-6.c b/src/test/kc/procedure-callingconvention-stack-6.c
index b9c1deea8..72ce7c9c0 100644
--- a/src/test/kc/procedure-callingconvention-stack-6.c
+++ b/src/test/kc/procedure-callingconvention-stack-6.c
@@ -1,7 +1,7 @@
 // Test a procedure with calling convention stack
 // Recursive fibonacci
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main(void) {
     *SCREEN = fib(5);
diff --git a/src/test/kc/procedure-callingconvention-stack-7.c b/src/test/kc/procedure-callingconvention-stack-7.c
index c08b731ba..b157ad1bc 100644
--- a/src/test/kc/procedure-callingconvention-stack-7.c
+++ b/src/test/kc/procedure-callingconvention-stack-7.c
@@ -3,7 +3,7 @@
 
 #pragma calling(__stackcall)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main(void) {
     char val;
diff --git a/src/test/kc/procedure-callingconvention-stack-8.c b/src/test/kc/procedure-callingconvention-stack-8.c
index 16e2907d8..3bfdfd262 100644
--- a/src/test/kc/procedure-callingconvention-stack-8.c
+++ b/src/test/kc/procedure-callingconvention-stack-8.c
@@ -3,7 +3,7 @@
 
 #pragma calling(__stackcall)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 char val = 0;
 
diff --git a/src/test/kc/procedure-callingconvention-stack-9.c b/src/test/kc/procedure-callingconvention-stack-9.c
index 6cf831859..a31d5d8ca 100644
--- a/src/test/kc/procedure-callingconvention-stack-9.c
+++ b/src/test/kc/procedure-callingconvention-stack-9.c
@@ -3,7 +3,7 @@
 
 #pragma calling(__stackcall)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 char val = 0;
 
diff --git a/src/test/kc/procedure-declare-0.c b/src/test/kc/procedure-declare-0.c
index ba67cd5f0..900d194c0 100644
--- a/src/test/kc/procedure-declare-0.c
+++ b/src/test/kc/procedure-declare-0.c
@@ -3,7 +3,7 @@
 char f(char a);
 
 void main() {
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
     SCREEN[0] = f('a');
     SCREEN[1] = f('b');
 }
diff --git a/src/test/kc/processor-port-test.c b/src/test/kc/processor-port-test.c
index 07f41e190..7aab9dbad 100644
--- a/src/test/kc/processor-port-test.c
+++ b/src/test/kc/processor-port-test.c
@@ -4,10 +4,10 @@
 #include <c64.h>
 #include <c64-print.h>
 
-char* const BASIC_ROM = $a000;
-char* const KERNAL_ROM = $e000;
-char* const IO_RAM = $d000;
-char* const SCREEN = 0x400;
+char* const BASIC_ROM = (char*)$a000;
+char* const KERNAL_ROM = (char*)$e000;
+char* const IO_RAM = (char*)$d000;
+char* const SCREEN = (char*)0x400;
 
 void main() {
     // Avoid interrupts
diff --git a/src/test/kc/ptr-complex.c b/src/test/kc/ptr-complex.c
index 179fb72e4..ccb34235e 100644
--- a/src/test/kc/ptr-complex.c
+++ b/src/test/kc/ptr-complex.c
@@ -3,7 +3,7 @@
 void main() {
 
     // RValue pointer expression (constant)
-    byte* screen = $0400;
+    byte* screen = (byte*)$400;
     byte a = *(screen+80);
 
     // RValue pointer expression (variable)
@@ -28,7 +28,7 @@ void main() {
     --*(byte*)($d000+$21);
 
     // Increment on a const named pointer
-    byte* BG_COLOR = $d020;
+    byte* BG_COLOR = (char*)$d020;
     ++*BG_COLOR;
 
 
diff --git a/src/test/kc/ptrptr-optimize-0.c b/src/test/kc/ptrptr-optimize-0.c
index c615190e5..8fa415789 100644
--- a/src/test/kc/ptrptr-optimize-0.c
+++ b/src/test/kc/ptrptr-optimize-0.c
@@ -1,6 +1,6 @@
 // Tests optimization of constant pointers to pointers
 void main() {
-    byte* screen = 0x400;
+    byte* screen = (char*)0x400;
     byte** pscreen = &screen;
     **pscreen = 'a';
     (*pscreen)++;
diff --git a/src/test/kc/ptrptr-optimize-1.c b/src/test/kc/ptrptr-optimize-1.c
index 5e78562a3..3c6a61064 100644
--- a/src/test/kc/ptrptr-optimize-1.c
+++ b/src/test/kc/ptrptr-optimize-1.c
@@ -1,6 +1,6 @@
 // Tests optimization of constant pointers to pointers
 void main() {
-    byte* screen = 0x400;
+    byte* screen = (char*)0x400;
     byte** pscreen = &screen;
     sub('a',pscreen);
     sub('b',pscreen);
diff --git a/src/test/kc/ptrptr-optimize-2.c b/src/test/kc/ptrptr-optimize-2.c
index 5b76ac29e..9ea337bc6 100644
--- a/src/test/kc/ptrptr-optimize-2.c
+++ b/src/test/kc/ptrptr-optimize-2.c
@@ -1,7 +1,7 @@
 // Tests (non-)optimization of constant pointers to pointers
 // The two examples of &screen is not detected as identical leading to ASM that could be optimized more
 void main() {
-    byte* screen = 0x400;
+    byte* screen = (char*)0x400;
     sub('a',&screen);
     sub('b',&screen);
 }
diff --git a/src/test/kc/ptrtest.c b/src/test/kc/ptrtest.c
index eccf8b14f..d7e7ab22a 100644
--- a/src/test/kc/ptrtest.c
+++ b/src/test/kc/ptrtest.c
@@ -10,7 +10,7 @@ void main() {
 void lvalue() {
 
   // A constant pointer
-  byte SCREEN[1024] = $0400;
+  byte SCREEN[1024] = (byte*)$0400;
 
   // LValue constant pointer dereference
   *SCREEN = 1;
@@ -28,7 +28,7 @@ void lvalue() {
 void rvalue() {
 
   // A constant pointer
-  byte SCREEN[1024] = $0400;
+  byte SCREEN[1024] = (byte*)$0400;
 
   // RValue constant pointer
   byte b = *SCREEN;
@@ -42,13 +42,13 @@ void rvalue() {
     b = SCREEN[i++];
   }
 
-  byte* screen2 = $400;
+  byte* screen2 = (char*)$400;
   *screen2 = b;
 
 }
 
 void lvaluevar() {
-  byte *screen = $0400;
+  byte *screen = (byte*)$0400;
 
   // LValue Variable pointer dereference
   byte b=4;
@@ -62,7 +62,7 @@ void lvaluevar() {
 }
 
 void rvaluevar() {
-  byte *screen = $0400;
+  byte *screen = (byte*)$0400;
 
   // RValue Variable pointer dereference
   byte b;
@@ -73,7 +73,7 @@ void rvaluevar() {
     i++;
   }
 
-  byte* screen2 = $400;
+  byte* screen2 = (char*)$400;
   *screen2 = b;
 
 }
diff --git a/src/test/kc/ptrtestmin.c b/src/test/kc/ptrtestmin.c
index 9b82c7b60..a41dd371a 100644
--- a/src/test/kc/ptrtestmin.c
+++ b/src/test/kc/ptrtestmin.c
@@ -3,7 +3,7 @@
 void main() {
 
   // A constant pointer
-  byte SCREEN[1024] = $0400;
+  byte SCREEN[1024] = (byte*)$400;
 
   byte b;
 
diff --git a/src/test/kc/recursion-error-complex.c b/src/test/kc/recursion-error-complex.c
index 584c835f2..9d39e465f 100644
--- a/src/test/kc/recursion-error-complex.c
+++ b/src/test/kc/recursion-error-complex.c
@@ -1,7 +1,7 @@
 // Test that a complex recursion results in a CompileError
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     byte f = fa(8);
     *screen = f;
 }
diff --git a/src/test/kc/recursion-error.c b/src/test/kc/recursion-error.c
index bdb62a543..24031c02b 100644
--- a/src/test/kc/recursion-error.c
+++ b/src/test/kc/recursion-error.c
@@ -1,7 +1,7 @@
 // Test that recursion results in a CompileError, as it is not supported
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     byte f = fib(8);
     *screen = f;
 }
diff --git a/src/test/kc/register-0.c b/src/test/kc/register-0.c
index b43778483..3bbd51b4c 100644
--- a/src/test/kc/register-0.c
+++ b/src/test/kc/register-0.c
@@ -7,7 +7,7 @@ void main() {
     print('l');
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 volatile char __address(0x03) idx;
 
diff --git a/src/test/kc/register-1.c b/src/test/kc/register-1.c
index 56704318f..dcb0b108e 100644
--- a/src/test/kc/register-1.c
+++ b/src/test/kc/register-1.c
@@ -2,7 +2,7 @@
 // Unknown hard-coded register
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     char register(H) idx = 3;
     while(idx++<7)
         SCREEN[idx] = 'a';
diff --git a/src/test/kc/register-clobber.c b/src/test/kc/register-clobber.c
index 97a3451e1..ac0d00faf 100644
--- a/src/test/kc/register-clobber.c
+++ b/src/test/kc/register-clobber.c
@@ -1,5 +1,5 @@
 void main() {
-    byte* SCREEN  = $0400;
+    byte* SCREEN  = (byte*)$400;
     for( register(X) byte x: 0..100 ) {
         for( register(X) byte y: 0..100 ) {
             SCREEN[x] = y;
diff --git a/src/test/kc/reserve-zp-global-range.c b/src/test/kc/reserve-zp-global-range.c
index 2041e838b..396b89db5 100644
--- a/src/test/kc/reserve-zp-global-range.c
+++ b/src/test/kc/reserve-zp-global-range.c
@@ -3,7 +3,7 @@
 #pragma zp_reserve(0x00..0x7f)
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for( volatile byte i : 0..2) {
         SCREEN[i] = sub1(i);
     }
diff --git a/src/test/kc/reserve-zp-global.c b/src/test/kc/reserve-zp-global.c
index ecf2e784d..a7ced343d 100644
--- a/src/test/kc/reserve-zp-global.c
+++ b/src/test/kc/reserve-zp-global.c
@@ -3,7 +3,7 @@
 #pragma zp_reserve(2,5)
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for( volatile byte i : 0..2) {
         SCREEN[i] = sub1(i);
     }
diff --git a/src/test/kc/reserve-zp-procedure-1.c b/src/test/kc/reserve-zp-procedure-1.c
index c6bc50fe7..2eed7d855 100644
--- a/src/test/kc/reserve-zp-procedure-1.c
+++ b/src/test/kc/reserve-zp-procedure-1.c
@@ -1,7 +1,7 @@
 // Demonstrates a procedure reserving addresses on zeropage
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for( volatile byte i : 0..2) {
         SCREEN[i] = sub1(i);
     }
diff --git a/src/test/kc/reserve-zp-procedure-2.c b/src/test/kc/reserve-zp-procedure-2.c
index 75de34df1..f093d85f4 100644
--- a/src/test/kc/reserve-zp-procedure-2.c
+++ b/src/test/kc/reserve-zp-procedure-2.c
@@ -1,7 +1,7 @@
 // Demonstrates a procedure reserving addresses on zeropage
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for( volatile byte i : 0..2) {
         SCREEN[i] = sub1(i);
         (SCREEN+40)[i] = sub2(i);
diff --git a/src/test/kc/reserve-zp-procedure-3.c b/src/test/kc/reserve-zp-procedure-3.c
index 38f5e7675..2e197e511 100644
--- a/src/test/kc/reserve-zp-procedure-3.c
+++ b/src/test/kc/reserve-zp-procedure-3.c
@@ -1,7 +1,7 @@
 // Demonstrates a procedure reserving addresses on zeropage
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for( volatile byte i : 0..2) {
         SCREEN[i] = sub1(i);
     }
diff --git a/src/test/kc/reserve-zp-procedure-4.c b/src/test/kc/reserve-zp-procedure-4.c
index 6a1da87ce..f8093ce25 100644
--- a/src/test/kc/reserve-zp-procedure-4.c
+++ b/src/test/kc/reserve-zp-procedure-4.c
@@ -1,7 +1,7 @@
 // Demonstrates a procedure reserving addresses on zeropage
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for( volatile byte i : 0..2) {
         SCREEN[i] = sub1(i);
     }
diff --git a/src/test/kc/robozzle64-label-problem.c b/src/test/kc/robozzle64-label-problem.c
index 2c7afd0f6..99ebd186b 100644
--- a/src/test/kc/robozzle64-label-problem.c
+++ b/src/test/kc/robozzle64-label-problem.c
@@ -1,7 +1,7 @@
 #include <multiply.h>
 
 void main() {
-    word* screen = 0x0400;
+    word* screen = (char*)0x0400;
     for( byte y: 0..5) {
 	    word z1 = mul8u(y,40);
 	    *screen++ = z1;
diff --git a/src/test/kc/roll-variable.c b/src/test/kc/roll-variable.c
index 01edddced..de15ad021 100644
--- a/src/test/kc/roll-variable.c
+++ b/src/test/kc/roll-variable.c
@@ -1,7 +1,7 @@
 // Rolling constants by a variable amount
 
 void main() {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     for( byte b: 0..7) {
         screen[b] = $55 << b;
     }
diff --git a/src/test/kc/runtime-unused-procedure.c b/src/test/kc/runtime-unused-procedure.c
index b23c40cf5..905e58e35 100644
--- a/src/test/kc/runtime-unused-procedure.c
+++ b/src/test/kc/runtime-unused-procedure.c
@@ -2,7 +2,7 @@
 
 byte call = 0;
 
-byte* screen = $0400;
+byte* screen = (byte*)$400;
 void main() {
     screen[0] = 'a';
     if(call!=0) {
diff --git a/src/test/kc/sandbox-ternary-error.c b/src/test/kc/sandbox-ternary-error.c
index f66610e2d..169355a61 100644
--- a/src/test/kc/sandbox-ternary-error.c
+++ b/src/test/kc/sandbox-ternary-error.c
@@ -1,7 +1,7 @@
 // Demonstrates error with nested ternary operator
 
 void main(void) {
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     for ( byte b: 0..2 ) {
     	    *SCREEN = (b == 0) ? 'a' : ((b == 1) ? 'b' : 'c'); 
     }
diff --git a/src/test/kc/sandbox.c b/src/test/kc/sandbox.c
index 970a22868..c1c08c1c7 100644
--- a/src/test/kc/sandbox.c
+++ b/src/test/kc/sandbox.c
@@ -1,10 +1,10 @@
 #include <division.h>
 
-byte * const zp1 = 0x61; // #define zp1 *(byte *)0x61 -- allows "zp1" vs "*zp1" below -- not supported --  https://gitlab.com/camelot/kickc/issues/169
-byte * const zp2 = 0x62;
-byte * const TIMEHI = 0xA1;
-byte * const TIMELO = 0xA2;
-byte * const VICBANK = 0xD018;
+byte * const zp1 = (byte*)0x61; // #define zp1 *(byte *)0x61 -- allows "zp1" vs "*zp1" below -- not supported --  https://gitlab.com/camelot/kickc/issues/169
+byte * const zp2 = (byte*)0x62;
+byte * const TIMEHI = (byte*)0xA1;
+byte * const TIMELO = (byte*)0xA2;
+byte * const VICBANK = (byte*)0xD018;
 byte  buf16[16]; // "char buf16[16]" is the normal way -- not supported -- https://gitlab.com/camelot/kickc/issues/162
 byte strTemp[100];
 
diff --git a/src/test/kc/scan-desire-problem.c b/src/test/kc/scan-desire-problem.c
index 7d24c9cf9..83a096c34 100644
--- a/src/test/kc/scan-desire-problem.c
+++ b/src/test/kc/scan-desire-problem.c
@@ -4,11 +4,11 @@
 #include <string.h>
 #include <multiply.h>
 
-byte* const screen = $400;
-byte* const charset = $2000;
-byte* const tileset = $2800;
-byte* const colors = $d800;
-byte* const level_address = $3000;
+byte* const screen = (byte*)$400;
+byte* const charset = (byte*)$2000;
+byte* const tileset = (byte*)$2800;
+byte* const colors = (byte*)$d800;
+byte* const level_address = (byte*)$3000;
 
 void main() {
     init();
diff --git a/src/test/kc/screen-center-angle.c b/src/test/kc/screen-center-angle.c
index 7816e1212..3e9e93419 100644
--- a/src/test/kc/screen-center-angle.c
+++ b/src/test/kc/screen-center-angle.c
@@ -7,8 +7,8 @@
 #include <c64-time.h>
 #include <c64-print.h>
 
-byte* const CHARSET = 0x2000;
-byte* const SCREEN = 0x2800;
+byte* const CHARSET = (byte*)0x2000;
+byte* const SCREEN = (byte*)0x2800;
 
 void main() {
     init_font_hex(CHARSET);
@@ -17,8 +17,8 @@ void main() {
     clock_start();
     init_angle_screen(SCREEN);
     clock_t cyclecount = clock()-CLOCKS_PER_INIT;
-    byte* BASE_SCREEN = 0x0400;
-    byte* BASE_CHARSET = 0x1000;
+    byte* BASE_SCREEN = (byte*)0x0400;
+    byte* BASE_CHARSET = (byte*)0x1000;
     print_ulong_at(cyclecount, BASE_SCREEN);
     *D018 = toD018(BASE_SCREEN, BASE_CHARSET);
 }
diff --git a/src/test/kc/screen-center-distance.c b/src/test/kc/screen-center-distance.c
index e85a22d2a..3c36a2786 100644
--- a/src/test/kc/screen-center-distance.c
+++ b/src/test/kc/screen-center-distance.c
@@ -9,8 +9,8 @@
 
 #pragma zp_reserve(08)
 
-byte* const CHARSET = 0x2000;
-byte* const SCREEN = 0x2800;
+byte* const CHARSET = (byte*)0x2000;
+byte* const SCREEN = (byte*)0x2800;
 
 void main() {
     init_font_hex(CHARSET);
@@ -18,8 +18,8 @@ void main() {
     clock_start();
     init_dist_screen(SCREEN);
     clock_t cyclecount = clock()-CLOCKS_PER_INIT;
-    byte* BASE_SCREEN = 0x0400;
-    byte* BASE_CHARSET = 0x1000;
+    byte* BASE_SCREEN = (byte*)0x0400;
+    byte* BASE_CHARSET = (byte*)0x1000;
     print_ulong_at(cyclecount, BASE_SCREEN);
     *D018 = toD018(BASE_SCREEN, BASE_CHARSET);
 }
diff --git a/src/test/kc/screen-show-spiral-buckets.c b/src/test/kc/screen-show-spiral-buckets.c
index cac3a3339..242c4df5c 100644
--- a/src/test/kc/screen-show-spiral-buckets.c
+++ b/src/test/kc/screen-show-spiral-buckets.c
@@ -11,7 +11,7 @@ byte* SCREEN_DIST = malloc(1000);
 // Screen containing angle to center
 byte* SCREEN_ANGLE= malloc(1000);
 // Screen containing angle to center
-byte* const SCREEN_FILL = 0x0400;
+byte* const SCREEN_FILL = (char*)0x0400;
 
 // Char to fill with
 const byte FILL_CHAR = '*';
diff --git a/src/test/kc/screen-show-spiral.c b/src/test/kc/screen-show-spiral.c
index 3e3e0f7e4..96b6520c2 100644
--- a/src/test/kc/screen-show-spiral.c
+++ b/src/test/kc/screen-show-spiral.c
@@ -10,7 +10,7 @@ byte* SCREEN_DIST = malloc(1000);
 // Screen containing angle to center
 byte* SCREEN_ANGLE = malloc(1000);
 // Screen containing angle to center
-byte* const SCREEN_FILL = 0x0400;
+byte* const SCREEN_FILL = (char*)0x0400;
 
 // Char to fill with
 const byte FILL_CHAR = '@';
diff --git a/src/test/kc/scroll-clobber.c b/src/test/kc/scroll-clobber.c
index 15b4915cf..42f11ee8b 100644
--- a/src/test/kc/scroll-clobber.c
+++ b/src/test/kc/scroll-clobber.c
@@ -1,5 +1,5 @@
-byte* SCREEN = $0400;
-byte* SCROLL = $d016;
+byte* SCREEN = (byte*)$400;
+byte* SCROLL = (byte*)$d016;
 byte TEXT[] = "01234567";
 
 void main() {
diff --git a/src/test/kc/scrollbig-clobber.c b/src/test/kc/scrollbig-clobber.c
index 47ff3452f..59fc263d4 100644
--- a/src/test/kc/scrollbig-clobber.c
+++ b/src/test/kc/scrollbig-clobber.c
@@ -3,7 +3,7 @@
 byte* TEXT = "cml ";
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     for( byte i: 0..255) {
         SCREEN[i] = next_char();
     }
diff --git a/src/test/kc/sequence-locality-0.c b/src/test/kc/sequence-locality-0.c
index 11de6f470..becf15796 100644
--- a/src/test/kc/sequence-locality-0.c
+++ b/src/test/kc/sequence-locality-0.c
@@ -2,7 +2,7 @@
 
 void main() {
 
-    byte* const screen = 0x0400;
+    byte* const screen = (char*)0x0400;
     byte idx = 0;
 
     for(byte i: 0..10) {
diff --git a/src/test/kc/sequence-locality-1.c b/src/test/kc/sequence-locality-1.c
index 8d850ffcd..20e78b2bf 100644
--- a/src/test/kc/sequence-locality-1.c
+++ b/src/test/kc/sequence-locality-1.c
@@ -2,7 +2,7 @@
 
 void main() {
 
-    byte* const screen = 0x0400;
+    byte* const screen = (char*)0x0400;
     byte idx = 0;
 
     for(byte i: 0..10) {
diff --git a/src/test/kc/sieve-min.c b/src/test/kc/sieve-min.c
index 2c173b844..b1cfbb9c0 100644
--- a/src/test/kc/sieve-min.c
+++ b/src/test/kc/sieve-min.c
@@ -4,10 +4,10 @@
 #include <c64-print.h>
 
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 const uint16_t COUNT = 16384;           /* Up to what number? */
 const uint8_t SQRT_COUNT = 128;         /* Sqrt of COUNT */
-uint8_t* sieve = 0x1000;
+uint8_t* sieve = (uint8_t*)0x1000;
 
 void main (void) {
     // Fill sieve with zeros
diff --git a/src/test/kc/sieve.c b/src/test/kc/sieve.c
index 83c1ceedf..087606a9b 100644
--- a/src/test/kc/sieve.c
+++ b/src/test/kc/sieve.c
@@ -6,11 +6,11 @@
 #include <c64-print.h>
 
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 const uint16_t COUNT = 16384;           /* Up to what number? */
 const uint8_t SQRT_COUNT = 128;         /* Sqrt of COUNT */
-uint8_t* sieve = 0x1000;
+uint8_t* sieve = (uint8_t*)0x1000;
 
 void main (void) {
     //Show lower case font
diff --git a/src/test/kc/signed-bytes.c b/src/test/kc/signed-bytes.c
index 7c4a67768..ff0dd4d1f 100644
--- a/src/test/kc/signed-bytes.c
+++ b/src/test/kc/signed-bytes.c
@@ -1,6 +1,6 @@
 
 void main() {
-    byte* screen = $0400;
+    byte* screen = (byte*)$400;
     byte j = 0;
     signed byte i = -127;
     while(i<127) {
diff --git a/src/test/kc/signed-char-comparison.c b/src/test/kc/signed-char-comparison.c
index 04b388c2c..de830cc5f 100644
--- a/src/test/kc/signed-char-comparison.c
+++ b/src/test/kc/signed-char-comparison.c
@@ -6,7 +6,7 @@ void main() {
         debug(dy);
 }
 
-char *SCREEN = 0x0400;
+char *SCREEN = (char*)0x0400;
 
 void debug(signed char dy) {
     char i = (char)dy;
diff --git a/src/test/kc/signed-word-minus-byte-2.c b/src/test/kc/signed-word-minus-byte-2.c
index e35709acd..b7f165381 100644
--- a/src/test/kc/signed-word-minus-byte-2.c
+++ b/src/test/kc/signed-word-minus-byte-2.c
@@ -2,7 +2,7 @@
 
 void main() {
     signed word w1 = 1234;
-    signed word* screen = 0x0400;
+    signed word* screen = (signed word*)0x0400;
     for( byte i: 0..10 ) {
         w1 = w1 - 41;
         screen[i] = w1;
diff --git a/src/test/kc/signed-words.c b/src/test/kc/signed-words.c
index b69a7bff4..6414610e6 100644
--- a/src/test/kc/signed-words.c
+++ b/src/test/kc/signed-words.c
@@ -1,8 +1,8 @@
 #include <c64.h>
 
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$400;
 byte* const SPRITES_PTR = SCREEN+$3f8;
-byte* const SPRITE = $2000;
+byte* const SPRITE = (byte*)$2000;
 
 void main() {
     init();
diff --git a/src/test/kc/simple-loop.c b/src/test/kc/simple-loop.c
index 127da4e0c..d62299b3b 100644
--- a/src/test/kc/simple-loop.c
+++ b/src/test/kc/simple-loop.c
@@ -1,5 +1,5 @@
 void main() {
-	unsigned char* const SCREEN = 0x0400;
+	unsigned char* const SCREEN = (char*)0x0400;
 	for( unsigned char i = 0; i<128; i+=2) {
 		SCREEN[i] = 'a';
 		 (*(unsigned char*)0xD020)=0;
diff --git a/src/test/kc/sinus-basic.c b/src/test/kc/sinus-basic.c
index 61c6a744b..231eb35c5 100644
--- a/src/test/kc/sinus-basic.c
+++ b/src/test/kc/sinus-basic.c
@@ -4,7 +4,7 @@
 void main() {
     byte f_i[] = {0, 0, 0, 0, 0};
     byte f_127[] = {0, 0, 0, 0, 0};
-    byte* const f_2pi = $e2e5;
+    byte* const f_2pi = (byte*)$e2e5;
     setFAC(1275);
     divFACby10();
     setMEMtoFAC(f_127);
diff --git a/src/test/kc/sizeof-arrays.c b/src/test/kc/sizeof-arrays.c
index dc6817c0b..913ed795d 100644
--- a/src/test/kc/sizeof-arrays.c
+++ b/src/test/kc/sizeof-arrays.c
@@ -1,29 +1,28 @@
 // Tests the sizeof() operator on arrays
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     byte idx = 0;
 
     // Arrays
     byte ba[3];
-    SCREEN[idx++] = '0'+sizeof(ba)/sizeof(byte);
+    SCREEN[idx++] = '0'+(char)(sizeof(ba)/sizeof(byte));
 
     word wa[3];
-    SCREEN[idx++] = '0'+sizeof(wa)/sizeof(word);
+    SCREEN[idx++] = '0'+(char)(sizeof(wa)/sizeof(word));
 
     const byte sz = 7;
     byte bb[sz+2];
-    SCREEN[idx++] = '0'+sizeof(bb)/sizeof(byte);
+    SCREEN[idx++] = '0'+(char)(sizeof(bb)/sizeof(byte));
 
     word wb[] = { 1, 2, 3, 4 };
-    SCREEN[idx++] = '0'+sizeof(wb)/sizeof(word);
+    SCREEN[idx++] = '0'+(char)(sizeof(wb)/sizeof(word));
 
     byte sa[] = "camelot";
-    SCREEN[idx++] = '0'+sizeof(sa)/sizeof(byte);
+    SCREEN[idx++] = '0'+(char)(sizeof(sa)/sizeof(byte));
 
     byte sb[] = { 'a', 'b', 'c', 0};
-    SCREEN[idx++] = '0'+sizeof(sb)/sizeof(byte);
-
+    SCREEN[idx++] = '0'+(char)(sizeof(sb)/sizeof(byte));
 
 }
\ No newline at end of file
diff --git a/src/test/kc/sizeof-expr.c b/src/test/kc/sizeof-expr.c
index 4e01cad47..c29b79ad6 100644
--- a/src/test/kc/sizeof-expr.c
+++ b/src/test/kc/sizeof-expr.c
@@ -1,6 +1,6 @@
 // Tests the sizeof() operator on values/expressions
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (byte*)$400;
 
 void main() {
     byte idx = 0;
@@ -9,18 +9,18 @@ void main() {
     volatile byte b = 0;
     volatile word w = 0;
     // Pointers
-    byte* bp = $1000;
+    byte* bp = (byte*)$1000;
     word* wp = &w;
 
-    SCREEN[idx++] = '0'+sizeof(0);
-    SCREEN[idx++] = '0'+sizeof(idx);
-    SCREEN[idx++] = '0'+sizeof(b);
-    SCREEN[idx++] = '0'+sizeof(b*2);
+    SCREEN[idx++] = '0'+(char)sizeof(0);
+    SCREEN[idx++] = '0'+(char)sizeof(idx);
+    SCREEN[idx++] = '0'+(char)sizeof(b);
+    SCREEN[idx++] = '0'+(char)sizeof(b*2);
     idx++;
-    SCREEN[idx++] = '0'+sizeof($43ff);
-    SCREEN[idx++] = '0'+sizeof(w);
+    SCREEN[idx++] = '0'+(char)sizeof($43ff);
+    SCREEN[idx++] = '0'+(char)sizeof(w);
     idx++;
-    SCREEN[idx++] = '0'+sizeof(bp);
-    SCREEN[idx++] = '0'+sizeof(wp);
+    SCREEN[idx++] = '0'+(char)sizeof(bp);
+    SCREEN[idx++] = '0'+(char)sizeof(wp);
 
 }
\ No newline at end of file
diff --git a/src/test/kc/sizeof-in-const-pointer.c b/src/test/kc/sizeof-in-const-pointer.c
index b81a63a84..a181a3040 100644
--- a/src/test/kc/sizeof-in-const-pointer.c
+++ b/src/test/kc/sizeof-in-const-pointer.c
@@ -1,7 +1,7 @@
 // Support for sizeof() in const pointer definition
 
 // Commodore 64 processor port
-char * const SCREEN = 0x0400 +sizeof(char)*100;
+char * const SCREEN = (char*)0x0400 +sizeof(char)*100;
 void main() {
     SCREEN[0] = 'a';
 }
\ No newline at end of file
diff --git a/src/test/kc/sizeof-problem.c b/src/test/kc/sizeof-problem.c
new file mode 100644
index 000000000..ae00e54a3
--- /dev/null
+++ b/src/test/kc/sizeof-problem.c
@@ -0,0 +1,11 @@
+
+char ARR1[0x130];
+
+char ARR2[] = { 1, 2, 3 };
+
+void main() {
+    unsigned i = sizeof(ARR1);
+    ARR1[i-1] = 0;
+    char j = (char)sizeof(ARR2);
+    ARR2[j-1] = 0;
+}
diff --git a/src/test/kc/sizeof-struct.c b/src/test/kc/sizeof-struct.c
index fb4169831..8f800af2b 100644
--- a/src/test/kc/sizeof-struct.c
+++ b/src/test/kc/sizeof-struct.c
@@ -10,31 +10,31 @@ struct Circle {
     byte radius;
 };
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     byte idx = 0;
 
     // Struct Types
-    SCREEN[idx++] = '0'+sizeof(struct Point);
-    SCREEN[idx++] = '0'+sizeof(struct Circle);
+    SCREEN[idx++] = '0'+(char)sizeof(struct Point);
+    SCREEN[idx++] = '0'+(char)sizeof(struct Circle);
 
     idx++;
     // Struct Values
     struct Point p;
-    SCREEN[idx++] = '0'+sizeof(p);
+    SCREEN[idx++] = '0'+(char)sizeof(p);
     struct Circle c;
-    SCREEN[idx++] = '0'+sizeof(c);
+    SCREEN[idx++] = '0'+(char)sizeof(c);
 
     idx++;
     // Struct Arrays
     const byte NUM_POINTS = 4;
     struct Point points[NUM_POINTS];
-    SCREEN[idx++] = '0'+sizeof(points);
-    SCREEN[idx++] = '0'+sizeof(points)/sizeof(struct Point);
+    SCREEN[idx++] = '0'+(char)sizeof(points);
+    SCREEN[idx++] = '0'+(char)(sizeof(points)/sizeof(struct Point));
     const byte NUM_CIRCLES = NUM_POINTS-1;
     struct Circle circles[NUM_CIRCLES];
-    SCREEN[idx++] = '0'+sizeof(circles);
-    SCREEN[idx++] = '0'+sizeof(circles)/sizeof(struct Circle);
+    SCREEN[idx++] = '0'+(char)(sizeof(circles));
+    SCREEN[idx++] = '0'+(char)(sizeof(circles)/sizeof(struct Circle));
 
 }
\ No newline at end of file
diff --git a/src/test/kc/sizeof-types.c b/src/test/kc/sizeof-types.c
index 29876fd0e..c22f2b682 100644
--- a/src/test/kc/sizeof-types.c
+++ b/src/test/kc/sizeof-types.c
@@ -1,6 +1,6 @@
 // Tests the sizeof() operator on types
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     byte idx = 0;
diff --git a/src/test/kc/sprite-font.c b/src/test/kc/sprite-font.c
index 1a77aa3a9..31aece207 100644
--- a/src/test/kc/sprite-font.c
+++ b/src/test/kc/sprite-font.c
@@ -3,7 +3,7 @@
 #include <c64.h>
 #include <string.h>
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char* const SPRITE = 0x2000;
 char* const SPRITES = SCREEN+OFFSET_SPRITE_PTRS;
 
diff --git a/src/test/kc/sqr-delta.c b/src/test/kc/sqr-delta.c
index 6d83498c8..b62ead05f 100644
--- a/src/test/kc/sqr-delta.c
+++ b/src/test/kc/sqr-delta.c
@@ -10,7 +10,7 @@ unsigned long ifunc(unsigned long a){
     return --x;
 }
 
-unsigned long* SCREEN = 0x0400;
+unsigned long* SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = ifunc(8);
diff --git a/src/test/kc/stack-relative-addressing.c b/src/test/kc/stack-relative-addressing.c
index 8c7024517..3695eeed3 100644
--- a/src/test/kc/stack-relative-addressing.c
+++ b/src/test/kc/stack-relative-addressing.c
@@ -1,7 +1,7 @@
 // Test stack-relative addressing (for passing parameters through the stack)
 
 /** The hardware stack. The offset 3 is to skip the return address and the fact that the pointer is to the next free position. */
-char* const STACK = 0x0103;
+char* const STACK = (char*)0x0103;
 
 
 void main() {
@@ -26,7 +26,7 @@ void main() {
 }
 
 /** The screen. */
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 // Peek values from the stack using stack-relative addressing
 void peek_stack() {
diff --git a/src/test/kc/statement-sequence-1.c b/src/test/kc/statement-sequence-1.c
index ec91d5ef2..d6168d960 100644
--- a/src/test/kc/statement-sequence-1.c
+++ b/src/test/kc/statement-sequence-1.c
@@ -2,7 +2,7 @@
 
 void main() {
 
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
 
     for(byte i: 0..10) {
         byte c = i+5;
diff --git a/src/test/kc/static-init-code-0.c b/src/test/kc/static-init-code-0.c
index c475249cb..3e8fde6ce 100644
--- a/src/test/kc/static-init-code-0.c
+++ b/src/test/kc/static-init-code-0.c
@@ -5,7 +5,7 @@
 // Initialize a volatile ZP-variable (will be done in the initializer)
 volatile char c1 = 'o';
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = c1;
diff --git a/src/test/kc/static-init-code-1.c b/src/test/kc/static-init-code-1.c
index 24b594948..c2af800f5 100644
--- a/src/test/kc/static-init-code-1.c
+++ b/src/test/kc/static-init-code-1.c
@@ -1,7 +1,7 @@
 // Tests static initialization code
 // No initialization code should call main() directly removing _start() and _init()
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = 'o';
diff --git a/src/test/kc/static-init-code-2.c b/src/test/kc/static-init-code-2.c
index f53374e6a..aa8c210a1 100644
--- a/src/test/kc/static-init-code-2.c
+++ b/src/test/kc/static-init-code-2.c
@@ -4,7 +4,7 @@
 char c1 = 'o';
 char c2 = 'k';
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = c1;
diff --git a/src/test/kc/static-register-optimization-problem.c b/src/test/kc/static-register-optimization-problem.c
index 811ece515..530a89cfb 100644
--- a/src/test/kc/static-register-optimization-problem.c
+++ b/src/test/kc/static-register-optimization-problem.c
@@ -2,7 +2,7 @@
 // ASM Static Register Value analysis erronously believes >-1 == 0
 
 void main() {
-    char* screen = 0x0400;
+    char* screen = (char*)0x0400;
     int lasti = -1;
     for(int i=0;i<10;i++) {
         screen[i] = <lasti;
diff --git a/src/test/kc/stmt-empty-1.c b/src/test/kc/stmt-empty-1.c
index 85b4edd66..a93ba86c0 100644
--- a/src/test/kc/stmt-empty-1.c
+++ b/src/test/kc/stmt-empty-1.c
@@ -1,7 +1,7 @@
 // Test an empty statement ';'
 
-const char str[] = "Hello!";
-const char* SCREEN = 0x0400;
+char str[] = "Hello!";
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     char b = 0;
diff --git a/src/test/kc/stmt-empty.c b/src/test/kc/stmt-empty.c
index bd0817bc2..b53b2c6c7 100644
--- a/src/test/kc/stmt-empty.c
+++ b/src/test/kc/stmt-empty.c
@@ -4,7 +4,7 @@ void main() {
     // Start with an empty statement
     ;
     // Fill screen with '*'. Body is an empty statement.
-    for( char * screen = 0x0400; screen<0x400+1000; (*screen++)='*') ;
+    for( char * screen = (char*)0x0400; screen<0x400+1000; (*screen++)='*') ;
     // End with two empty statements
     ; ;
 }
\ No newline at end of file
diff --git a/src/test/kc/stmt-outside-method.c b/src/test/kc/stmt-outside-method.c
index 6c7bc4a03..8fd99f8da 100644
--- a/src/test/kc/stmt-outside-method.c
+++ b/src/test/kc/stmt-outside-method.c
@@ -3,6 +3,6 @@ byte b=12;
 b=b+1;
 
 void main() {
-    byte* screen = $0400;
+    byte* screen = (byte*)$400;
     *screen = b;
 }
\ No newline at end of file
diff --git a/src/test/kc/strength-reduction-1.c b/src/test/kc/strength-reduction-1.c
index 5f0bdd0f8..947da0fe0 100644
--- a/src/test/kc/strength-reduction-1.c
+++ b/src/test/kc/strength-reduction-1.c
@@ -1,6 +1,6 @@
 // Test loop invariant computation detection
 // http://www.cs.toronto.edu/~pekhimenko/courses/cscd70-w18/docs/Lecture%205%20[LICM%20and%20Strength%20Reduction]%2002.08.2018.pdf
-char * SCREEN = 0x0400;
+char * SCREEN = (char*)0x0400;
 void main() {
     char x = *SCREEN;
     for(char c=0;c<40;c++) {
diff --git a/src/test/kc/string-const-consolidation-noroot.c b/src/test/kc/string-const-consolidation-noroot.c
index b82602a97..62f2aa6fc 100644
--- a/src/test/kc/string-const-consolidation-noroot.c
+++ b/src/test/kc/string-const-consolidation-noroot.c
@@ -1,6 +1,6 @@
 // Tests that identical strings are consolidated
 
-byte* screen = $400;
+byte* screen = (char*)$400;
 
 void main() {
     byte rex1[] = "rex";
diff --git a/src/test/kc/string-const-consolidation-root.c b/src/test/kc/string-const-consolidation-root.c
index cbbf04573..386ec2276 100644
--- a/src/test/kc/string-const-consolidation-root.c
+++ b/src/test/kc/string-const-consolidation-root.c
@@ -21,7 +21,7 @@ void print2() {
     print(s1);
 }
 
-char* screen = 0x400;
+char* screen = (char*)0x400;
 
 void print(char* s) {
     while(*s) {
diff --git a/src/test/kc/string-const-consolidation.c b/src/test/kc/string-const-consolidation.c
index 8f2a11971..3816b24ca 100644
--- a/src/test/kc/string-const-consolidation.c
+++ b/src/test/kc/string-const-consolidation.c
@@ -1,7 +1,7 @@
 // Tests that identical strings are consolidated
 byte rex1[] = "rex";
 
-byte* screen = $400;
+byte* screen = (char*)$400;
 
 void main() {
     byte rex2[] = "rex";
diff --git a/src/test/kc/string-encoding-literals.c b/src/test/kc/string-encoding-literals.c
index 6d6300aea..1dd7d3cd6 100644
--- a/src/test/kc/string-encoding-literals.c
+++ b/src/test/kc/string-encoding-literals.c
@@ -14,8 +14,8 @@ char standard[] = "abcABC0";
 
 
 void main() {
-    char* const SCREEN = 0x0400;
-    char * const D018 = 0xd018;
+    char* const SCREEN = (char*)0x0400;
+    char * const D018 = (char*)0xd018;
     *D018 = 0x16;
     for( char i: 0..7 ) {
         (SCREEN+40*0)[i] = petscii_mixed[i];
diff --git a/src/test/kc/string-encoding-pragma.c b/src/test/kc/string-encoding-pragma.c
index ba3a24a84..dd937df44 100644
--- a/src/test/kc/string-encoding-pragma.c
+++ b/src/test/kc/string-encoding-pragma.c
@@ -14,7 +14,7 @@ char screencode_upper[] = "abcABC5"su;
 char screencode_mixed3[] = "abcABC6";
 
 void main() {
-    char* SCREEN = 0x0400;
+    char* SCREEN = (char*)0x0400;
     for( char i: 0..5 ) {
         (SCREEN+40*2)[i] = screencode_mixed1[i];
         (SCREEN+40*0)[i] = petscii_mixed1[i];
diff --git a/src/test/kc/string-escapes-0.c b/src/test/kc/string-escapes-0.c
index d0435476b..b2f0519ba 100644
--- a/src/test/kc/string-escapes-0.c
+++ b/src/test/kc/string-escapes-0.c
@@ -1,7 +1,7 @@
 // Test using some simple supported string escapes \r \f \n \' \"
 
 char MESSAGE[] = "\r\f\n\"\'\\";
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
     byte i=0;
diff --git a/src/test/kc/string-escapes-1.c b/src/test/kc/string-escapes-1.c
index 49867ee6b..2bb489c7f 100644
--- a/src/test/kc/string-escapes-1.c
+++ b/src/test/kc/string-escapes-1.c
@@ -1,10 +1,10 @@
 // Test using some simple supported string escape \n in both string and char
 
 char MESSAGE[] = "hello\nworld";
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
-    byte* line = 0x0400;
+    byte* line = (char*)0x0400;
     byte* cursor = line;
     byte* msg = MESSAGE;
 
diff --git a/src/test/kc/string-escapes-2.c b/src/test/kc/string-escapes-2.c
index 2e9feb48a..0ac9506ef 100644
--- a/src/test/kc/string-escapes-2.c
+++ b/src/test/kc/string-escapes-2.c
@@ -4,7 +4,7 @@
 
 char MESSAGE[] = "hello\nworld\\";
 
-char* const memA = 0xff;
+char* const memA = (char*)0xff;
 
 void main() {
     byte i=0;
diff --git a/src/test/kc/string-escapes-3.c b/src/test/kc/string-escapes-3.c
index 5824e202d..2e81ab005 100644
--- a/src/test/kc/string-escapes-3.c
+++ b/src/test/kc/string-escapes-3.c
@@ -6,10 +6,10 @@
 char MESSAGE[] = "hello\nworld";
 char CH = '\n';
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
-    byte* line = 0x0400;
+    byte* line = (char*)0x0400;
     byte* cursor = line;
     byte* msg = MESSAGE;
 
diff --git a/src/test/kc/string-escapes-4.c b/src/test/kc/string-escapes-4.c
index f68f1dc38..7917a4524 100644
--- a/src/test/kc/string-escapes-4.c
+++ b/src/test/kc/string-escapes-4.c
@@ -9,8 +9,8 @@ char MSG2[] = "C\x01M\x05LOT";
 
 char CH = '\xde';
 
-char* SCREEN1 = 0x0400;
-char* SCREEN2 = 0x0428;
+char* SCREEN1 = (char*)0x0400;
+char* SCREEN2 = (char*)0x0428;
 
 void main() {
     // Show mixed chars on screen
diff --git a/src/test/kc/string-escapes-5.c b/src/test/kc/string-escapes-5.c
index d6b3d853f..28d6138d9 100644
--- a/src/test/kc/string-escapes-5.c
+++ b/src/test/kc/string-escapes-5.c
@@ -6,7 +6,7 @@ char MESSAGE[] = "q\xffw\x60e\xddr";
 
 char CH = '\xff';
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main() {
     char i=0;
diff --git a/src/test/kc/string-escapes-err-0.c b/src/test/kc/string-escapes-err-0.c
index 4ad830ffa..f5ee55c64 100644
--- a/src/test/kc/string-escapes-err-0.c
+++ b/src/test/kc/string-escapes-err-0.c
@@ -2,7 +2,7 @@
 // Unfinished escape at end of string
 
 char MESSAGE[] = "qwe\";
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
     byte i=0;
diff --git a/src/test/kc/string-escapes-err-1.c b/src/test/kc/string-escapes-err-1.c
index 54abf8f68..3db578f57 100644
--- a/src/test/kc/string-escapes-err-1.c
+++ b/src/test/kc/string-escapes-err-1.c
@@ -2,7 +2,7 @@
 // Unsupported escape sequence
 
 char MESSAGE[] = "qwe\qasd";
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
     byte i=0;
diff --git a/src/test/kc/string-length-mismatch.c b/src/test/kc/string-length-mismatch.c
index fc80e4767..b503a9531 100644
--- a/src/test/kc/string-length-mismatch.c
+++ b/src/test/kc/string-length-mismatch.c
@@ -1,6 +1,6 @@
 byte b[3] = "qwe!";
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     SCREEN[0] = b[0];
 }
\ No newline at end of file
diff --git a/src/test/kc/string-pointer-problem.c b/src/test/kc/string-pointer-problem.c
index 2ce821b48..4ddcaf7e9 100644
--- a/src/test/kc/string-pointer-problem.c
+++ b/src/test/kc/string-pointer-problem.c
@@ -5,7 +5,7 @@ void main() {
     set_process_name("keyboard");
 }
 
-char* process_name = 0x0400;
+char* process_name = (char*)0x0400;
 
 void set_process_name(char* name) {
     for(signed int j = 0; j < 17; j++){
diff --git a/src/test/kc/strip.c b/src/test/kc/strip.c
index 8b860d7a7..e7225080e 100644
--- a/src/test/kc/strip.c
+++ b/src/test/kc/strip.c
@@ -17,7 +17,7 @@ void strip(unsigned char *p, unsigned char c) {
     } while(*p++!=0);
 }
 
-unsigned char* screen = $400;
+unsigned char* screen = (char*)$400;
 
 void print(unsigned char* msg) {
     do {
diff --git a/src/test/kc/strncat-0.c b/src/test/kc/strncat-0.c
index 52737bfbb..66456dc08 100644
--- a/src/test/kc/strncat-0.c
+++ b/src/test/kc/strncat-0.c
@@ -6,7 +6,7 @@ char world[] = "world war 3";
 
 char build[40];
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     strncat(build, hello, 5);
diff --git a/src/test/kc/struct-0.c b/src/test/kc/struct-0.c
index 106e0fae5..bf5bcc75e 100644
--- a/src/test/kc/struct-0.c
+++ b/src/test/kc/struct-0.c
@@ -8,7 +8,7 @@ struct Point {
 void main() {
     point.x = 2;
     point.y = 3;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = point.x;
     SCREEN[1] = point.y;
 }
\ No newline at end of file
diff --git a/src/test/kc/struct-1.c b/src/test/kc/struct-1.c
index 2ead695dd..cda404ab4 100644
--- a/src/test/kc/struct-1.c
+++ b/src/test/kc/struct-1.c
@@ -12,7 +12,7 @@ void main() {
     point1.y = 3;
     point2.x = point1.y;
     point2.y = point1.x;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = point2.x;
     SCREEN[1] = point2.y;
 }
\ No newline at end of file
diff --git a/src/test/kc/struct-10.c b/src/test/kc/struct-10.c
index 9c89850ef..d1e974514 100644
--- a/src/test/kc/struct-10.c
+++ b/src/test/kc/struct-10.c
@@ -7,7 +7,7 @@ struct RadixInfo {
 };
 
 void main() {
-    unsigned int* const SCREEN = 0x400;
+    unsigned int* const SCREEN = (unsigned int*)0x400;
     struct RadixInfo info = { RADIX_DECIMAL_VALUES };
     SCREEN[0] = info.values[1];
     SCREEN[1] = RADIX_DECIMAL_VALUES[1];
diff --git a/src/test/kc/struct-11.c b/src/test/kc/struct-11.c
index f5262f6e9..a02e95eb1 100644
--- a/src/test/kc/struct-11.c
+++ b/src/test/kc/struct-11.c
@@ -13,7 +13,7 @@ void main() {
     print_person(henriette);
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 char DIGIT[] = "0123456789";
 
diff --git a/src/test/kc/struct-11b.c b/src/test/kc/struct-11b.c
index 7be88e6a8..904af34f2 100644
--- a/src/test/kc/struct-11b.c
+++ b/src/test/kc/struct-11b.c
@@ -11,7 +11,7 @@ void main() {
     print_person(henry_id, henry_initials);
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 void print_person(unsigned long person_id, char* person_initials) {
diff --git a/src/test/kc/struct-12.c b/src/test/kc/struct-12.c
index 95fcbcd75..0f152003a 100644
--- a/src/test/kc/struct-12.c
+++ b/src/test/kc/struct-12.c
@@ -14,7 +14,7 @@ void main() {
     print_person(henriette);
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 char DIGIT[] = "0123456789";
 
diff --git a/src/test/kc/struct-13.c b/src/test/kc/struct-13.c
index cd2903a95..d85ac94bf 100644
--- a/src/test/kc/struct-13.c
+++ b/src/test/kc/struct-13.c
@@ -7,7 +7,7 @@ struct Point {
 
 __ma struct Point point;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     point.x = 2;
diff --git a/src/test/kc/struct-14.c b/src/test/kc/struct-14.c
index f7f212ef4..ce2240c4c 100644
--- a/src/test/kc/struct-14.c
+++ b/src/test/kc/struct-14.c
@@ -7,7 +7,7 @@ struct Point {
 
 struct Point points[1];
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     points[0].x = 2;
diff --git a/src/test/kc/struct-15.c b/src/test/kc/struct-15.c
index 9840b2095..daa785aed 100644
--- a/src/test/kc/struct-15.c
+++ b/src/test/kc/struct-15.c
@@ -5,7 +5,7 @@ struct Point {
     char y;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point point1;
diff --git a/src/test/kc/struct-16.c b/src/test/kc/struct-16.c
index 74503d733..02e47b118 100644
--- a/src/test/kc/struct-16.c
+++ b/src/test/kc/struct-16.c
@@ -5,7 +5,7 @@ struct Point {
     char y;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point point1 = { 2, 3 };
diff --git a/src/test/kc/struct-17.c b/src/test/kc/struct-17.c
index 8d71759e8..1a4a19ff3 100644
--- a/src/test/kc/struct-17.c
+++ b/src/test/kc/struct-17.c
@@ -10,7 +10,7 @@ struct Vector {
     struct Point q;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Vector v;
diff --git a/src/test/kc/struct-18.c b/src/test/kc/struct-18.c
index d2ff79089..4d08b70c4 100644
--- a/src/test/kc/struct-18.c
+++ b/src/test/kc/struct-18.c
@@ -10,7 +10,7 @@ struct Vector {
     struct Point q;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Vector v = { {2, 3}, {4, 5} };
diff --git a/src/test/kc/struct-19.c b/src/test/kc/struct-19.c
index 1571a84c5..64cae3af6 100644
--- a/src/test/kc/struct-19.c
+++ b/src/test/kc/struct-19.c
@@ -10,7 +10,7 @@ struct Vector {
     struct Point q;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Vector v;
diff --git a/src/test/kc/struct-2.c b/src/test/kc/struct-2.c
index 56c32a7c2..48110eb76 100644
--- a/src/test/kc/struct-2.c
+++ b/src/test/kc/struct-2.c
@@ -12,7 +12,7 @@ void main() {
     point1.y = 3;
     point2 = point1;
     point2.x = 4;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = point1.x;
     SCREEN[1] = point1.y;
     SCREEN[2] = point2.x;
diff --git a/src/test/kc/struct-20.c b/src/test/kc/struct-20.c
index 5c8580300..8bf68a5b0 100644
--- a/src/test/kc/struct-20.c
+++ b/src/test/kc/struct-20.c
@@ -10,7 +10,7 @@ struct Vector {
     struct Point q;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point p1 = { 2, 3 };
diff --git a/src/test/kc/struct-21.c b/src/test/kc/struct-21.c
index 2bbede226..4df1ecf4e 100644
--- a/src/test/kc/struct-21.c
+++ b/src/test/kc/struct-21.c
@@ -5,7 +5,7 @@ struct Point {
     char y;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point point1 = { 2, 3 };
diff --git a/src/test/kc/struct-22.c b/src/test/kc/struct-22.c
index d8fb6a077..573f8289b 100644
--- a/src/test/kc/struct-22.c
+++ b/src/test/kc/struct-22.c
@@ -12,7 +12,7 @@ void main() {
     print(point2);
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void print(struct Point p) {
     SCREEN[0] = p.x;
diff --git a/src/test/kc/struct-23.c b/src/test/kc/struct-23.c
index fc0b9ea59..f4c94302b 100644
--- a/src/test/kc/struct-23.c
+++ b/src/test/kc/struct-23.c
@@ -5,7 +5,7 @@ struct Point {
     char y;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point point1 = getPoint(2, 3);
diff --git a/src/test/kc/struct-24.c b/src/test/kc/struct-24.c
index 4f4af654d..f086257e0 100644
--- a/src/test/kc/struct-24.c
+++ b/src/test/kc/struct-24.c
@@ -5,7 +5,7 @@ struct Point {
     char initials[2];
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point point1;
diff --git a/src/test/kc/struct-25.c b/src/test/kc/struct-25.c
index 68e821e61..31fab6048 100644
--- a/src/test/kc/struct-25.c
+++ b/src/test/kc/struct-25.c
@@ -5,7 +5,7 @@ struct Point {
     char initials[2];
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = sizeof(struct Point);
diff --git a/src/test/kc/struct-26.c b/src/test/kc/struct-26.c
index ad52934f6..5a5cd5637 100644
--- a/src/test/kc/struct-26.c
+++ b/src/test/kc/struct-26.c
@@ -5,7 +5,7 @@ struct Point {
     char initials[2];
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point point1;
diff --git a/src/test/kc/struct-27.c b/src/test/kc/struct-27.c
index 63d399e0b..0fac430e3 100644
--- a/src/test/kc/struct-27.c
+++ b/src/test/kc/struct-27.c
@@ -5,7 +5,7 @@ struct Point {
     char initials[3];
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point point1 = { 2, "jg" };
diff --git a/src/test/kc/struct-28.c b/src/test/kc/struct-28.c
index f0c9445b9..50ddcd184 100644
--- a/src/test/kc/struct-28.c
+++ b/src/test/kc/struct-28.c
@@ -5,7 +5,7 @@ struct Point {
     char initials[2];
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point point1 = { 2, { 'j', 'g' } };
diff --git a/src/test/kc/struct-29.c b/src/test/kc/struct-29.c
index c3d8f4450..4468f1645 100644
--- a/src/test/kc/struct-29.c
+++ b/src/test/kc/struct-29.c
@@ -7,7 +7,7 @@ struct Point {
 
 __mem __ma struct Point point1 = { 2, { 'j', 'g' } };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = point1.x;
diff --git a/src/test/kc/struct-3.c b/src/test/kc/struct-3.c
index 9b0b62da9..a172058e3 100644
--- a/src/test/kc/struct-3.c
+++ b/src/test/kc/struct-3.c
@@ -14,7 +14,7 @@ void main() {
     print(p1);
 }
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 byte idx = 0;
 
 void print(struct Point p) {
diff --git a/src/test/kc/struct-30.c b/src/test/kc/struct-30.c
index 40076158b..cbfd3a0da 100644
--- a/src/test/kc/struct-30.c
+++ b/src/test/kc/struct-30.c
@@ -5,7 +5,7 @@ struct Point {
     char initials[3];
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 
 void main() {
diff --git a/src/test/kc/struct-31.c b/src/test/kc/struct-31.c
index 518f804bc..ab96cb406 100644
--- a/src/test/kc/struct-31.c
+++ b/src/test/kc/struct-31.c
@@ -5,7 +5,7 @@ struct Point {
     char y;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 
 void main() {
diff --git a/src/test/kc/struct-32.c b/src/test/kc/struct-32.c
index 4440378c8..1838f341d 100644
--- a/src/test/kc/struct-32.c
+++ b/src/test/kc/struct-32.c
@@ -5,7 +5,7 @@ struct Point {
     char y;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     __ma struct Point point1;
diff --git a/src/test/kc/struct-33.c b/src/test/kc/struct-33.c
index 1d9415927..2b67457de 100644
--- a/src/test/kc/struct-33.c
+++ b/src/test/kc/struct-33.c
@@ -7,7 +7,7 @@ struct Point {
 
 __mem __ma struct Point point;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     point.x = 2;
diff --git a/src/test/kc/struct-34.c b/src/test/kc/struct-34.c
index 31406adf8..36b7c04d5 100644
--- a/src/test/kc/struct-34.c
+++ b/src/test/kc/struct-34.c
@@ -7,7 +7,7 @@ struct Point {
 
 __mem __ssa struct Point point;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     point.x = 2;
diff --git a/src/test/kc/struct-35.c b/src/test/kc/struct-35.c
index d1c5c3065..82f84ad3b 100644
--- a/src/test/kc/struct-35.c
+++ b/src/test/kc/struct-35.c
@@ -8,7 +8,7 @@ struct Point {
 __mem __ma struct Point point1 = { 2, 3 };
 __mem __ma struct Point point2;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     struct Point* p2 = &point2;
diff --git a/src/test/kc/struct-36.c b/src/test/kc/struct-36.c
index 7a3016348..0d60803ae 100644
--- a/src/test/kc/struct-36.c
+++ b/src/test/kc/struct-36.c
@@ -7,7 +7,7 @@ struct Point {
 
 __mem __ma struct Point point1 = { 2, "jg" };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = point1.x;
diff --git a/src/test/kc/struct-37.c b/src/test/kc/struct-37.c
index e90ff3b0a..6a219e9f9 100644
--- a/src/test/kc/struct-37.c
+++ b/src/test/kc/struct-37.c
@@ -20,7 +20,7 @@ struct Segment letter_c[] = {
      { SPLINE_TO, {'e','f'}, {75,195} }
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     char j=0;
diff --git a/src/test/kc/struct-38.c b/src/test/kc/struct-38.c
index 460a4a84b..7029a951a 100644
--- a/src/test/kc/struct-38.c
+++ b/src/test/kc/struct-38.c
@@ -20,7 +20,7 @@ struct Segment letter_c[] = {
      { SPLINE_TO, {'e','f'}, {75,195} }
 };
 
-signed int* const SCREEN = 0x0400;
+signed int* const SCREEN = (signed int*)0x0400;
 
 void main() {
     char j=0;
diff --git a/src/test/kc/struct-39.c b/src/test/kc/struct-39.c
index 8e5942301..054ba7540 100644
--- a/src/test/kc/struct-39.c
+++ b/src/test/kc/struct-39.c
@@ -20,7 +20,7 @@ struct Segment letter_c[] = {
      { SPLINE_TO, {'e','f'}, {75,195} }
 };
 
-signed int* const SCREEN = 0x0400;
+signed int* const SCREEN = (signed int*)0x0400;
 
 void main() {
     char j=0;
diff --git a/src/test/kc/struct-4.c b/src/test/kc/struct-4.c
index e03df3e02..232ebbc85 100644
--- a/src/test/kc/struct-4.c
+++ b/src/test/kc/struct-4.c
@@ -11,7 +11,7 @@ void main() {
     byte y = 3;
 
     struct Point p = { x, y+1 };
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = p.x;
     SCREEN[1] = p.y;
 }
diff --git a/src/test/kc/struct-40.c b/src/test/kc/struct-40.c
index 69ca411bc..80a1bb317 100644
--- a/src/test/kc/struct-40.c
+++ b/src/test/kc/struct-40.c
@@ -10,7 +10,7 @@ struct Vector {
     struct Point q;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     char idx = 0;
diff --git a/src/test/kc/struct-41.c b/src/test/kc/struct-41.c
index 182547696..8a2b1807e 100644
--- a/src/test/kc/struct-41.c
+++ b/src/test/kc/struct-41.c
@@ -10,7 +10,7 @@ struct Vector {
     struct Point q;
 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     char idx = 0;
diff --git a/src/test/kc/struct-42.c b/src/test/kc/struct-42.c
index 9aa043b5e..34e19a804 100644
--- a/src/test/kc/struct-42.c
+++ b/src/test/kc/struct-42.c
@@ -7,7 +7,7 @@ struct Point {
 
 struct Point points[3];
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     for( char i: 0..2)
diff --git a/src/test/kc/struct-43.c b/src/test/kc/struct-43.c
index a3cb7a3eb..ddc692418 100644
--- a/src/test/kc/struct-43.c
+++ b/src/test/kc/struct-43.c
@@ -8,7 +8,7 @@ struct Point {
 
 __mem __ma struct Point point1 = { 4, {1, 2}, 3 };
 
-unsigned int* const SCREEN = 0x0400;
+unsigned int* const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = point1.id;
diff --git a/src/test/kc/struct-5.c b/src/test/kc/struct-5.c
index 24dee25cb..6618f6a5e 100644
--- a/src/test/kc/struct-5.c
+++ b/src/test/kc/struct-5.c
@@ -9,7 +9,7 @@ void main() {
     struct Point q;
     q = point();
 
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = q.x;
     SCREEN[1] = q.y;
 }
diff --git a/src/test/kc/struct-6.c b/src/test/kc/struct-6.c
index d3911d397..bc4dc5373 100644
--- a/src/test/kc/struct-6.c
+++ b/src/test/kc/struct-6.c
@@ -13,7 +13,7 @@ struct Circle {
 void main() {
     struct Point p = { 10, 10 };
     struct Circle c = { p, 5 };
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = c.center.x;
     SCREEN[1] = c.center.y;
     SCREEN[2] = c.radius;
diff --git a/src/test/kc/struct-7.c b/src/test/kc/struct-7.c
index 06df23d0c..23894093f 100644
--- a/src/test/kc/struct-7.c
+++ b/src/test/kc/struct-7.c
@@ -18,7 +18,7 @@ struct TwoCircles {
 
 void main() {
     struct TwoCircles t = { { { 1, 2}, 3 }, { { 4, 5}, 6 } };
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = t.c1.center.x;
     SCREEN[1] = t.c1.center.y;
     SCREEN[2] = t.c1.radius;
diff --git a/src/test/kc/struct-8.c b/src/test/kc/struct-8.c
index 034251aa3..6f382cdc6 100644
--- a/src/test/kc/struct-8.c
+++ b/src/test/kc/struct-8.c
@@ -14,7 +14,7 @@ void main() {
     struct Point p = { 10, 10 };
     struct Circle c = { p, 5 };
     struct Point point = c.center;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = point.x;
     SCREEN[1] = point.y;
     SCREEN[1] = c.radius;
diff --git a/src/test/kc/struct-9.c b/src/test/kc/struct-9.c
index b65ff1320..eabbb6741 100644
--- a/src/test/kc/struct-9.c
+++ b/src/test/kc/struct-9.c
@@ -15,7 +15,7 @@ void main() {
     struct Circle c;
     c.center = p;
     c.radius = 12;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = c.center.x;
     SCREEN[1] = c.center.y;
     SCREEN[2] = c.radius;
diff --git a/src/test/kc/struct-directives.c b/src/test/kc/struct-directives.c
index 52642186f..9054d80da 100644
--- a/src/test/kc/struct-directives.c
+++ b/src/test/kc/struct-directives.c
@@ -2,7 +2,7 @@
 
 volatile struct { const char x;  char z;} y = { 1, 2 };
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = y.x;
diff --git a/src/test/kc/struct-err-1.c b/src/test/kc/struct-err-1.c
index 72b3f03df..3f954c673 100644
--- a/src/test/kc/struct-err-1.c
+++ b/src/test/kc/struct-err-1.c
@@ -15,7 +15,7 @@ void main() {
     struct Point2 p2;
     p1.x = 4;
     p2 = p1;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = p2.x;
     SCREEN[0] = p2.y;
 
diff --git a/src/test/kc/struct-err-2.c b/src/test/kc/struct-err-2.c
index 0c7a9e393..2e133876d 100644
--- a/src/test/kc/struct-err-2.c
+++ b/src/test/kc/struct-err-2.c
@@ -8,7 +8,7 @@ struct Point {
 void main() {
     struct Point p1;
     p1 = 4;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = p1.x;
 }
 
diff --git a/src/test/kc/struct-err-3.c b/src/test/kc/struct-err-3.c
index 0f9c22190..f8a310983 100644
--- a/src/test/kc/struct-err-3.c
+++ b/src/test/kc/struct-err-3.c
@@ -9,7 +9,7 @@ void main() {
     print(7);
 }
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 
 void print(struct Point p) {
     *SCREEN = p.x;
diff --git a/src/test/kc/struct-err-4.c b/src/test/kc/struct-err-4.c
index e95685b4c..400650e57 100644
--- a/src/test/kc/struct-err-4.c
+++ b/src/test/kc/struct-err-4.c
@@ -5,7 +5,7 @@ struct Point {
     byte y;
 };
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 
 void main() {
     struct Point p;
diff --git a/src/test/kc/struct-err-5.c b/src/test/kc/struct-err-5.c
index d1c047d6d..35f34dc19 100644
--- a/src/test/kc/struct-err-5.c
+++ b/src/test/kc/struct-err-5.c
@@ -5,7 +5,7 @@ struct Point {
     byte y;
 };
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 
 void main() {
     struct Point p;
diff --git a/src/test/kc/struct-err-6.c b/src/test/kc/struct-err-6.c
index ccab336e7..fae5eec52 100644
--- a/src/test/kc/struct-err-6.c
+++ b/src/test/kc/struct-err-6.c
@@ -8,7 +8,7 @@ struct Person {
 
 void main() {
     struct Person* jesper = { 4, 46, 2 };
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     SCREEN[0] = jesper->id;
 }
 
diff --git a/src/test/kc/struct-pointer-to-member.c b/src/test/kc/struct-pointer-to-member.c
index 245beccbc..c295ad9c3 100644
--- a/src/test/kc/struct-pointer-to-member.c
+++ b/src/test/kc/struct-pointer-to-member.c
@@ -10,7 +10,7 @@ struct SCREEN_COLORS {
 };
 
 // Commodore 64 processor port
-struct SCREEN_COLORS* const COLORS = 0xd020;
+struct SCREEN_COLORS* const COLORS = (struct SCREEN_COLORS*)0xd020;
 
 // The border color
 char * const BORDER_COLOR = &COLORS->BORDER;
diff --git a/src/test/kc/struct-ptr-0.c b/src/test/kc/struct-ptr-0.c
index a8bdb8530..80ed3a1d2 100644
--- a/src/test/kc/struct-ptr-0.c
+++ b/src/test/kc/struct-ptr-0.c
@@ -12,7 +12,7 @@ void main() {
         points[i].x = i;
         points[i].y = i+1;
     }
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     for( byte i: 0..4) {
         SCREEN[i] = points[i].x;
         (SCREEN+40)[i] = points[i].y;
diff --git a/src/test/kc/struct-ptr-1.c b/src/test/kc/struct-ptr-1.c
index 24c9432ad..122f1d072 100644
--- a/src/test/kc/struct-ptr-1.c
+++ b/src/test/kc/struct-ptr-1.c
@@ -16,7 +16,7 @@ void main() {
         *((byte*)points+OFFS_X+i*SIZEOF_POINT) = i;    // points[i].x = i;
         *((byte*)points+OFFS_Y+i*SIZEOF_POINT) = i+4;  // points[i].y = i+4;
     }
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     for( byte i: 0..3) {
         SCREEN[i] = *((byte*)points+OFFS_X+i*SIZEOF_POINT);      // SCREEN[i] = points[i].x;
         (SCREEN+40)[i] = *((byte*)points+OFFS_Y+i*SIZEOF_POINT); // (SCREEN+40)[i] = points[i].y;
diff --git a/src/test/kc/struct-ptr-10.c b/src/test/kc/struct-ptr-10.c
index 45397defc..6fcd21346 100644
--- a/src/test/kc/struct-ptr-10.c
+++ b/src/test/kc/struct-ptr-10.c
@@ -11,7 +11,7 @@ void main() {
     for( word i: 0..499) {
         points[i] = { 2, (byte)i };
     }
-    struct Point* const SCREEN = 0x0400;
+    struct Point* const SCREEN = (struct Point*)0x0400;
     for( word i: 0..499) {
         SCREEN[i] = points[i];
     }
diff --git a/src/test/kc/struct-ptr-11.c b/src/test/kc/struct-ptr-11.c
index 55cd8b889..abc6636a5 100644
--- a/src/test/kc/struct-ptr-11.c
+++ b/src/test/kc/struct-ptr-11.c
@@ -12,7 +12,7 @@ void main() {
     for( byte i: 0..3) {
         points[i] = { (signed byte)i, -(signed byte)i, (signed byte)i };
     }
-    struct Point* const SCREEN = 0x0400;
+    struct Point* const SCREEN = (struct Point*)0x0400;
     for( byte i: 0..3) {
         SCREEN[i] = points[i];
     }
diff --git a/src/test/kc/struct-ptr-12-ref.c b/src/test/kc/struct-ptr-12-ref.c
index e7f5b642a..8fa0d77d5 100644
--- a/src/test/kc/struct-ptr-12-ref.c
+++ b/src/test/kc/struct-ptr-12-ref.c
@@ -3,7 +3,7 @@
 void main() {
     word p = { 2, 3 };
     word *q = &p;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = <*q;
     SCREEN[1] = >*q;
 }
\ No newline at end of file
diff --git a/src/test/kc/struct-ptr-12.c b/src/test/kc/struct-ptr-12.c
index f92dc8b1b..39cc19ae1 100644
--- a/src/test/kc/struct-ptr-12.c
+++ b/src/test/kc/struct-ptr-12.c
@@ -7,7 +7,7 @@ struct Point {
 void main() {
     volatile struct Point p = { 2, 3 };
     struct Point *q = &p;
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = q->x;
     SCREEN[1] = q->y;
 }
\ No newline at end of file
diff --git a/src/test/kc/struct-ptr-13.c b/src/test/kc/struct-ptr-13.c
index 0c2d1c3d9..6fe474a0e 100644
--- a/src/test/kc/struct-ptr-13.c
+++ b/src/test/kc/struct-ptr-13.c
@@ -5,13 +5,13 @@ struct Point {
     byte y;
 };
 
-struct Point* points = 0x1000;
+struct Point* points = (struct Point*)0x1000;
 
 void main() {
     points->x += 5;
     points->y += 5;
 
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (byte*)0x0400;
     SCREEN[0] = points->x;
     SCREEN[1] = points->y;
 }
\ No newline at end of file
diff --git a/src/test/kc/struct-ptr-14.c b/src/test/kc/struct-ptr-14.c
index e8224e557..97256b655 100644
--- a/src/test/kc/struct-ptr-14.c
+++ b/src/test/kc/struct-ptr-14.c
@@ -8,7 +8,7 @@ void main() {
     volatile struct Point p = { 2, 3 };
     struct Point *q = &p;
     set(q);
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = q->x;
     SCREEN[1] = q->y;
 }
diff --git a/src/test/kc/struct-ptr-15.c b/src/test/kc/struct-ptr-15.c
index 35fc41df0..788fce6b9 100644
--- a/src/test/kc/struct-ptr-15.c
+++ b/src/test/kc/struct-ptr-15.c
@@ -20,7 +20,7 @@ void main() {
     circles[1].center.y = 9;
     circles[1].radius = 15;
 
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     byte idx =0;
     struct Circle* ptr = circles;
     for(byte i:0..1) {
diff --git a/src/test/kc/struct-ptr-16.c b/src/test/kc/struct-ptr-16.c
index 95d5b1daf..55b7ddcf2 100644
--- a/src/test/kc/struct-ptr-16.c
+++ b/src/test/kc/struct-ptr-16.c
@@ -5,7 +5,7 @@ struct Point {
     char y;
 };
 
-struct Point* const SCREEN = 0x0400;
+struct Point* const SCREEN = (struct Point*)0x0400;
 char idx = 0;
 
 void main() {
@@ -15,9 +15,9 @@ void main() {
     }
 }
 
-struct Point* p0 = 0xa000;
-struct Point* p1 = 0xb000;
-struct Point* p2 = 0xe000;
+struct Point* p0 = (struct Point*)0xa000;
+struct Point* p1 = (struct Point*)0xb000;
+struct Point* p2 = (struct Point*)0xe000;
 
 struct Point get(char i) {
     if(i==0) {
diff --git a/src/test/kc/struct-ptr-17.c b/src/test/kc/struct-ptr-17.c
index ca5272637..861970c1c 100644
--- a/src/test/kc/struct-ptr-17.c
+++ b/src/test/kc/struct-ptr-17.c
@@ -5,7 +5,7 @@ struct Point {
     char y;
 };
 
-struct Point* const SCREEN = 0x0400;
+struct Point* const SCREEN = (struct Point*)0x0400;
 char idx = 0;
 
 void main() {
diff --git a/src/test/kc/struct-ptr-18.c b/src/test/kc/struct-ptr-18.c
index c7c069c66..678219229 100644
--- a/src/test/kc/struct-ptr-18.c
+++ b/src/test/kc/struct-ptr-18.c
@@ -1,6 +1,6 @@
 // Demonstrates problem with passing struct array element as parameter to call
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 struct Point {
diff --git a/src/test/kc/struct-ptr-19.c b/src/test/kc/struct-ptr-19.c
index a230c809e..704a7f7b6 100644
--- a/src/test/kc/struct-ptr-19.c
+++ b/src/test/kc/struct-ptr-19.c
@@ -1,6 +1,6 @@
 // Demonstrates problem with passing struct pointer deref as parameter to call
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 struct Point {
diff --git a/src/test/kc/struct-ptr-2.c b/src/test/kc/struct-ptr-2.c
index 2c829bc1f..d8f4b5607 100644
--- a/src/test/kc/struct-ptr-2.c
+++ b/src/test/kc/struct-ptr-2.c
@@ -17,7 +17,7 @@ void main() {
         *((byte*)point_i+OFFS_X) = i;    // points[i].x = i;
         *((byte*)point_i+OFFS_Y)  = i+4;  // points[i].y = i+4;
     }
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     for( byte i: 0..3) {
         struct Point* point_i = points+i;
         SCREEN[i] = *((byte*)point_i+OFFS_X);      // SCREEN[i] = points[i].x;
diff --git a/src/test/kc/struct-ptr-20.c b/src/test/kc/struct-ptr-20.c
index 7e0555c1b..5c51c6b32 100644
--- a/src/test/kc/struct-ptr-20.c
+++ b/src/test/kc/struct-ptr-20.c
@@ -1,6 +1,6 @@
 // Demonstrates problem with conditions using negated struct references
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 struct Setting {
     char off;
@@ -15,7 +15,7 @@ const struct Setting settings[] = {
 
 void main() {
     char idx = 0;
-    char len = sizeof(settings)/sizeof(struct Setting);
+    char len = (char) (sizeof(settings) / sizeof(struct Setting));
     for(struct Setting* setting = settings; setting<settings+len; setting++) {
         if (! setting->off) {
             SCREEN[idx++] = setting->id;
diff --git a/src/test/kc/struct-ptr-21.c b/src/test/kc/struct-ptr-21.c
index b03798e1d..d53302fe8 100644
--- a/src/test/kc/struct-ptr-21.c
+++ b/src/test/kc/struct-ptr-21.c
@@ -1,6 +1,6 @@
 // Demonstrates problem with conditions using negated struct references
 
-unsigned int* const SCREEN = 0x0400;
+unsigned int* const SCREEN = (char*)0x0400;
 
 struct Setting {
     char len;
diff --git a/src/test/kc/struct-ptr-23.c b/src/test/kc/struct-ptr-23.c
index d383c38e5..b2c1b9853 100644
--- a/src/test/kc/struct-ptr-23.c
+++ b/src/test/kc/struct-ptr-23.c
@@ -17,7 +17,7 @@ void main() {
     print_person(person);
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 void print_person(struct Person *person) {
diff --git a/src/test/kc/struct-ptr-25.c b/src/test/kc/struct-ptr-25.c
index df13301c8..a51914911 100644
--- a/src/test/kc/struct-ptr-25.c
+++ b/src/test/kc/struct-ptr-25.c
@@ -1,9 +1,9 @@
-char *fileCur = 0x1005;
-char *fileTop = 0x1010;
-char *filesEnd = 0x1010;
-char *file = 0x1000;
+char *fileCur = (char*)0x1005;
+char *fileTop = (char*)0x1010;
+char *filesEnd = (char*)0x1010;
+char *file = (char*)0x1000;
 
-char * const SCREEN = 0x0400;
+char * const SCREEN = (char*)0x0400;
 
 void main(void) {
     if (fileTop == filesEnd) --fileTop;
diff --git a/src/test/kc/struct-ptr-28.c b/src/test/kc/struct-ptr-28.c
index 997c1a730..6f8d25441 100644
--- a/src/test/kc/struct-ptr-28.c
+++ b/src/test/kc/struct-ptr-28.c
@@ -15,7 +15,7 @@ void main() {
     print_person(&henriette);
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 char DIGIT[] = "0123456789";
 
diff --git a/src/test/kc/struct-ptr-29.c b/src/test/kc/struct-ptr-29.c
index a89212f20..7110797e9 100644
--- a/src/test/kc/struct-ptr-29.c
+++ b/src/test/kc/struct-ptr-29.c
@@ -15,7 +15,7 @@ void main() {
     print_person(&persons[1]);
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 char DIGIT[] = "0123456789";
 
diff --git a/src/test/kc/struct-ptr-3.c b/src/test/kc/struct-ptr-3.c
index 16d7d553d..0fdc00924 100644
--- a/src/test/kc/struct-ptr-3.c
+++ b/src/test/kc/struct-ptr-3.c
@@ -5,10 +5,10 @@ struct Point {
     byte y;
 };
 
-struct Point* points = 0x1000;
+struct Point* points = (struct Point*)0x1000;
 
 void main() {
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = (*points).x;
     SCREEN[1] = (*points).y;
     points++;
diff --git a/src/test/kc/struct-ptr-30.c b/src/test/kc/struct-ptr-30.c
index a6b55cc4f..b8d204b9e 100644
--- a/src/test/kc/struct-ptr-30.c
+++ b/src/test/kc/struct-ptr-30.c
@@ -13,7 +13,7 @@ void main() {
     }
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 
 void print(struct Point p) {
diff --git a/src/test/kc/struct-ptr-31.c b/src/test/kc/struct-ptr-31.c
index 7028ff9ee..874724696 100644
--- a/src/test/kc/struct-ptr-31.c
+++ b/src/test/kc/struct-ptr-31.c
@@ -15,7 +15,7 @@ void main() {
     print_person(persons+1);
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 char DIGIT[] = "0123456789";
 
diff --git a/src/test/kc/struct-ptr-32.c b/src/test/kc/struct-ptr-32.c
index ff7968956..ce2352511 100644
--- a/src/test/kc/struct-ptr-32.c
+++ b/src/test/kc/struct-ptr-32.c
@@ -15,7 +15,7 @@ void main() {
     persons[1].name[8] = 'b';
     persons[0].age = 321;
     persons[1].age = 123;
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     struct Person* person = persons;
     SCREEN[0] = person->name[8];
     person++;
diff --git a/src/test/kc/struct-ptr-33.c b/src/test/kc/struct-ptr-33.c
index c8f24a4fa..495244543 100644
--- a/src/test/kc/struct-ptr-33.c
+++ b/src/test/kc/struct-ptr-33.c
@@ -12,7 +12,7 @@ struct Person persons[2] = {
 };
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     struct Person* person = persons;
     SCREEN[0] = person->name[2];
     person++;
diff --git a/src/test/kc/struct-ptr-34.c b/src/test/kc/struct-ptr-34.c
index 6b693d8e0..f9a3afbb8 100644
--- a/src/test/kc/struct-ptr-34.c
+++ b/src/test/kc/struct-ptr-34.c
@@ -13,7 +13,7 @@ void main() {
     print_person(henriette);
 }
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char idx = 0;
 char DIGIT[] = "0123456789";
 
diff --git a/src/test/kc/struct-ptr-35.c b/src/test/kc/struct-ptr-35.c
index 8b97f2d14..f56169da4 100644
--- a/src/test/kc/struct-ptr-35.c
+++ b/src/test/kc/struct-ptr-35.c
@@ -13,7 +13,7 @@ struct Tile S2 = {Enemy2Sprites, 50, 128, "Jesper" };
 struct Tile *TileDB[2] = {&S1, &S2}; 
 
 void main() {
-    char * const SCREEN = 0x0400;
+    char * const SCREEN = (char*)0x0400;
 
     for(int i:0..1) {
         struct Tile *tile = TileDB[i];
diff --git a/src/test/kc/struct-ptr-4.c b/src/test/kc/struct-ptr-4.c
index 7dc129d59..3dbc171bb 100644
--- a/src/test/kc/struct-ptr-4.c
+++ b/src/test/kc/struct-ptr-4.c
@@ -5,7 +5,7 @@ struct Point {
     byte y;
 };
 
-struct Point* POINTS = 0x1000;
+struct Point* POINTS = (struct Point*)0x1000;
 
 void main() {
     // Fill points
@@ -17,7 +17,7 @@ void main() {
     }
 
     // Print points
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     byte idx = 0;
     points = POINTS;
     for( byte i: 0..3) {
diff --git a/src/test/kc/struct-ptr-6.c b/src/test/kc/struct-ptr-6.c
index 4a3ff0bdc..16392bc4b 100644
--- a/src/test/kc/struct-ptr-6.c
+++ b/src/test/kc/struct-ptr-6.c
@@ -5,10 +5,10 @@ struct Point {
     byte y;
 };
 
-struct Point* points = 0x1000;
+struct Point* points = (struct Point*)0x1000;
 
 void main() {
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = points->x;
     SCREEN[1] = points->y;
     points++;
diff --git a/src/test/kc/struct-ptr-7.c b/src/test/kc/struct-ptr-7.c
index c5116d682..4da3ee42a 100644
--- a/src/test/kc/struct-ptr-7.c
+++ b/src/test/kc/struct-ptr-7.c
@@ -13,7 +13,7 @@ void main() {
     points[1].x = 5;
     points[1].y = 6;
 
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     SCREEN[0] = points[0].x;
     SCREEN[1] = points[0].y;
     SCREEN[3] = points[1].x;
diff --git a/src/test/kc/struct-ptr-8.c b/src/test/kc/struct-ptr-8.c
index a1c180e7d..6938cab92 100644
--- a/src/test/kc/struct-ptr-8.c
+++ b/src/test/kc/struct-ptr-8.c
@@ -13,7 +13,7 @@ void main() {
         points[i].y = 3+i;
     }
 
-    byte* const SCREEN = 0x0400;
+    byte* const SCREEN = (char*)0x0400;
     byte idx = 0;
     for( byte i: 0..1) {
         SCREEN[idx++] = points[i].x;
diff --git a/src/test/kc/struct-ptr-9.c b/src/test/kc/struct-ptr-9.c
index c146cda09..1dc031fbd 100644
--- a/src/test/kc/struct-ptr-9.c
+++ b/src/test/kc/struct-ptr-9.c
@@ -12,7 +12,7 @@ void main() {
         points[i] = { 2, i };
     }
 
-    struct Point* const SCREEN = 0x0400;
+    struct Point* const SCREEN = (struct Point*)0x0400;
     for( byte i: 0..1) {
         SCREEN[i] = points[i];
     }
diff --git a/src/test/kc/struct-unwinding-1.c b/src/test/kc/struct-unwinding-1.c
index 6a04bb6c8..7a6d9febb 100644
--- a/src/test/kc/struct-unwinding-1.c
+++ b/src/test/kc/struct-unwinding-1.c
@@ -5,7 +5,7 @@ struct Point {
     char y;
 };
 
-struct Point * const SCREEN = 0x0400;
+struct Point * const SCREEN = (struct Point *)0x0400;
 
 void main() {
     // Initialize classic struct
diff --git a/src/test/kc/struct-unwinding-2.c b/src/test/kc/struct-unwinding-2.c
index de6cc33ba..5838890ec 100644
--- a/src/test/kc/struct-unwinding-2.c
+++ b/src/test/kc/struct-unwinding-2.c
@@ -6,7 +6,7 @@ struct Point {
     char y;
 };
 
-struct Point * const SCREEN = 0x0400;
+struct Point * const SCREEN = (struct Point *)0x0400;
 
 void main() {
     // Initialize classic struct
diff --git a/src/test/kc/struct-unwinding-3.c b/src/test/kc/struct-unwinding-3.c
index 5f5662c16..a668d186b 100644
--- a/src/test/kc/struct-unwinding-3.c
+++ b/src/test/kc/struct-unwinding-3.c
@@ -6,7 +6,7 @@ struct Point {
     char y;
 };
 
-struct Point * const SCREEN = 0x0400;
+struct Point * const SCREEN = (char*)0x0400;
 
 void main() {
     // Initialize classic struct from function returning unwound
diff --git a/src/test/kc/subexpr-optimize-0.c b/src/test/kc/subexpr-optimize-0.c
index ddfa12a63..7fd1512e2 100644
--- a/src/test/kc/subexpr-optimize-0.c
+++ b/src/test/kc/subexpr-optimize-0.c
@@ -1,7 +1,7 @@
 // Tests optimization of identical sub-expressions
 // The two examples of i*2 is detected as identical leading to optimized ASM where *2 is only calculated once
 void main() {
-    byte* screen = 0x400;
+    byte* screen = (char*)0x400;
     for( byte i: 0..2) {
         *screen++ = i*2;
         *screen++ = i*2;
diff --git a/src/test/kc/subexpr-optimize-1.c b/src/test/kc/subexpr-optimize-1.c
index 4fdabcfce..5117a3bd8 100644
--- a/src/test/kc/subexpr-optimize-1.c
+++ b/src/test/kc/subexpr-optimize-1.c
@@ -1,7 +1,7 @@
 // A sub-expression that should not be optimized (+1 to a pointer)
 
 void main() {
-    byte* SCREEN = 0x0400;
+    byte* SCREEN = (char*)0x0400;
     for(byte i: 0..38) {
         SCREEN[i] = SCREEN[i+1];
         (SCREEN+40)[i] = (SCREEN+40)[i+1];
diff --git a/src/test/kc/subexpr-optimize-2.c b/src/test/kc/subexpr-optimize-2.c
index 1a1f93175..7f7cd1da4 100644
--- a/src/test/kc/subexpr-optimize-2.c
+++ b/src/test/kc/subexpr-optimize-2.c
@@ -1,6 +1,6 @@
 // Tests optimization of identical sub-expressions
 void main() {
-    byte* screen = 0x400;
+    byte* screen = (char*)0x400;
     for( byte i: 0..2) {
         *screen++ = (i+1)*2;
         *screen++ = (i+1)*2;
diff --git a/src/test/kc/subexpr-optimize-3.c b/src/test/kc/subexpr-optimize-3.c
index a2e87a6ce..de913e92f 100644
--- a/src/test/kc/subexpr-optimize-3.c
+++ b/src/test/kc/subexpr-optimize-3.c
@@ -1,6 +1,6 @@
 // Tests optimization of identical sub-expressions
 void main() {
-    byte* screen = 0x400;
+    byte* screen = (char*)0x400;
     for( byte i: 0..2) {
         *screen++ = i*2+i+3;
         *screen++ = i*2+i+3;
diff --git a/src/test/kc/subexpr-optimize-4.c b/src/test/kc/subexpr-optimize-4.c
index 07642cdb0..dd3550701 100644
--- a/src/test/kc/subexpr-optimize-4.c
+++ b/src/test/kc/subexpr-optimize-4.c
@@ -1,6 +1,6 @@
 // Tests optimization of identical sub-expressions
 void main() {
-    byte* screen = 0x400;
+    byte* screen = (char*)0x400;
     for( byte i: 0..2) {
         *screen++ = (i&1)?i+3:i*4;
         *screen++ = (i&1)?i+3:i*4;
diff --git a/src/test/kc/summin.c b/src/test/kc/summin.c
index a3e16e2f5..63d5685bb 100644
--- a/src/test/kc/summin.c
+++ b/src/test/kc/summin.c
@@ -1,4 +1,4 @@
-byte* screen = $0400;
+byte* screen = (byte*)$400;
 
 void main() {
   byte s1=sum(1,2);
diff --git a/src/test/kc/switch-0.c b/src/test/kc/switch-0.c
index 1cb413fc6..b1645b8f8 100644
--- a/src/test/kc/switch-0.c
+++ b/src/test/kc/switch-0.c
@@ -2,7 +2,7 @@
 // Expected output 'd1444d'
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
 
     for(char i:0..5) {
         // Test switching on a simple char
diff --git a/src/test/kc/switch-1.c b/src/test/kc/switch-1.c
index 50d45084c..f213ce499 100644
--- a/src/test/kc/switch-1.c
+++ b/src/test/kc/switch-1.c
@@ -2,7 +2,7 @@
 // Expected output 'a1aa1a' (numbers should be inverted)
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     for(char i:0..5) {
         // Test switching on a simple char
         switch(i) {
diff --git a/src/test/kc/switch-2.c b/src/test/kc/switch-2.c
index 0c1adf9b5..9e4a796f3 100644
--- a/src/test/kc/switch-2.c
+++ b/src/test/kc/switch-2.c
@@ -1,7 +1,7 @@
 // Tests simple switch()-statement - not inside a loop
 
 void main() {
-    char* SCREEN = 0x0400;
+    char* SCREEN = (char*)0x0400;
     char b=0;
     char v64 = 0;
     switch(v64){
diff --git a/src/test/kc/switch-3-err.c b/src/test/kc/switch-3-err.c
index 84b89c7cb..58be5a47d 100644
--- a/src/test/kc/switch-3-err.c
+++ b/src/test/kc/switch-3-err.c
@@ -1,7 +1,7 @@
 // Tests simple switch()-statement - including a continue statement for the enclosing loop
 
 void main() {
-    char* SCREEN = 0x0400;
+    char* SCREEN = (char*)0x0400;
     char b=0;
     char v64 = 0;
     switch(v64){
diff --git a/src/test/kc/switch-4.c b/src/test/kc/switch-4.c
index cce06cecd..7c89efd78 100644
--- a/src/test/kc/switch-4.c
+++ b/src/test/kc/switch-4.c
@@ -2,7 +2,7 @@
 // Expected output " 1  4 "
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     for(char i:0..5) {
         // Test switching on a simple char
         switch(i) {
diff --git a/src/test/kc/ternary-1.c b/src/test/kc/ternary-1.c
index 3983f9cf8..c977b702e 100644
--- a/src/test/kc/ternary-1.c
+++ b/src/test/kc/ternary-1.c
@@ -1,7 +1,7 @@
 // Tests the ternary operator
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for( byte i: 0..9) {
         SCREEN[i] = i<5?'a':'b';
     }
diff --git a/src/test/kc/ternary-2.c b/src/test/kc/ternary-2.c
index 38d534493..afc25d6fa 100644
--- a/src/test/kc/ternary-2.c
+++ b/src/test/kc/ternary-2.c
@@ -1,7 +1,7 @@
 // Tests the ternary operator - when the condition is constant
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     SCREEN[0] = true?'a':'b';
     SCREEN[1] = false?'a':'b';
 }
diff --git a/src/test/kc/ternary-3.c b/src/test/kc/ternary-3.c
index 39ddf0301..c42bca4cd 100644
--- a/src/test/kc/ternary-3.c
+++ b/src/test/kc/ternary-3.c
@@ -1,7 +1,7 @@
 // Tests the ternary operator - when the condition is constant
 
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     for( byte i: 0..9) {
         SCREEN[i] = cond(i)?m1(i):m2(i);
     }
diff --git a/src/test/kc/ternary-4.c b/src/test/kc/ternary-4.c
index 6ace4c534..b9cc487c6 100644
--- a/src/test/kc/ternary-4.c
+++ b/src/test/kc/ternary-4.c
@@ -1,7 +1,7 @@
 // Tests the ternary operator - complex nested conditional operators
 
 void main() {
-    char* const SCREEN = $400;
+    char* const SCREEN = (char*)$400;
     char i=0;
     for(char b: 0..3) {
         for( char v: 0..3) {
diff --git a/src/test/kc/ternary-inference.c b/src/test/kc/ternary-inference.c
index a84af6fba..819609094 100644
--- a/src/test/kc/ternary-inference.c
+++ b/src/test/kc/ternary-inference.c
@@ -1,7 +1,7 @@
 // Type inference into the ternary operator
 
 void main() {
-    byte* const screen = 0x400;
+    byte* const screen = (char*)0x400;
     for(byte i: 0..10) {
         screen[i] = (i<5?0x57:'0')+i;
     }
diff --git a/src/test/kc/test-comments-block.c b/src/test/kc/test-comments-block.c
index 661c23e99..a122c3b1a 100644
--- a/src/test/kc/test-comments-block.c
+++ b/src/test/kc/test-comments-block.c
@@ -3,7 +3,7 @@
  */
 
 // The C64 screen
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 // One of the bytes used for addition
 byte a = 'a';
diff --git a/src/test/kc/test-comments-global.c b/src/test/kc/test-comments-global.c
index 20c89f752..03210ac88 100644
--- a/src/test/kc/test-comments-global.c
+++ b/src/test/kc/test-comments-global.c
@@ -1,7 +1,7 @@
 // Tests that global variables with initializer gets their comments
 
 // The screen (should become a var-comment in ASM)
-__ma char * screen = 0x0400;
+__ma char * screen = (char*)0x0400;
 
 // The program entry point
 void main() {
diff --git a/src/test/kc/test-comments-loop.c b/src/test/kc/test-comments-loop.c
index a42e8ebd7..8fa062091 100644
--- a/src/test/kc/test-comments-loop.c
+++ b/src/test/kc/test-comments-loop.c
@@ -1,5 +1,5 @@
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     // Do some sums
     for(byte b: 0..10 ) {
         SCREEN[b] = 'a';
diff --git a/src/test/kc/test-comments-single.c b/src/test/kc/test-comments-single.c
index 65d5f88d3..3a55cbc77 100644
--- a/src/test/kc/test-comments-single.c
+++ b/src/test/kc/test-comments-single.c
@@ -2,7 +2,7 @@
  // Has a bunch of comments that will be moved into the generated ASM
 
  // The C64 screen
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
  // One of the bytes used for addition
 byte a = 'a';
diff --git a/src/test/kc/test-comments-usage.c b/src/test/kc/test-comments-usage.c
index a6b1f674b..07ab68dfb 100644
--- a/src/test/kc/test-comments-usage.c
+++ b/src/test/kc/test-comments-usage.c
@@ -1,6 +1,6 @@
  // Tests that single-line comments are only included once in the output
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
  // The program entry point
 void main() {
diff --git a/src/test/kc/test-interrupt-notype.c b/src/test/kc/test-interrupt-notype.c
index 0e4d6ebff..477b9bd5e 100644
--- a/src/test/kc/test-interrupt-notype.c
+++ b/src/test/kc/test-interrupt-notype.c
@@ -1,6 +1,6 @@
-void()** const  KERNEL_IRQ = $0314;
-byte* const BG_COLOR = $d020;
-byte* const FGCOL = $d021;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const BG_COLOR = (byte*)$d020;
+byte* const FGCOL = (byte*)$d021;
 
 void main() {
     *KERNEL_IRQ = &irq;
diff --git a/src/test/kc/test-interrupt-volatile-write.c b/src/test/kc/test-interrupt-volatile-write.c
index 9218cd27f..d8b03156d 100644
--- a/src/test/kc/test-interrupt-volatile-write.c
+++ b/src/test/kc/test-interrupt-volatile-write.c
@@ -1,8 +1,8 @@
 // Tests that volatile variables can be both read & written inside & outside interrupts
 // Currently fails because the modification is optimized away
 
-void()** const  KERNEL_IRQ = $0314;
-byte* const BG_COLOR = $d020;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const BG_COLOR = (byte*)$d020;
 volatile byte col = 0;
 
 void main() {
diff --git a/src/test/kc/test-interrupt-volatile.c b/src/test/kc/test-interrupt-volatile.c
index ee6980f75..ec5509537 100644
--- a/src/test/kc/test-interrupt-volatile.c
+++ b/src/test/kc/test-interrupt-volatile.c
@@ -1,5 +1,5 @@
-void()** const  KERNEL_IRQ = $0314;
-byte* const BG_COLOR = $d020;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const BG_COLOR = (byte*)$d020;
 volatile byte col = 0;
 
 void main() {
diff --git a/src/test/kc/test-interrupt.c b/src/test/kc/test-interrupt.c
index 0e4d6ebff..477b9bd5e 100644
--- a/src/test/kc/test-interrupt.c
+++ b/src/test/kc/test-interrupt.c
@@ -1,6 +1,6 @@
-void()** const  KERNEL_IRQ = $0314;
-byte* const BG_COLOR = $d020;
-byte* const FGCOL = $d021;
+void()** const  KERNEL_IRQ = (void()**)$0314;
+byte* const BG_COLOR = (byte*)$d020;
+byte* const FGCOL = (byte*)$d021;
 
 void main() {
     *KERNEL_IRQ = &irq;
diff --git a/src/test/kc/test-kasm-pc-error.c b/src/test/kc/test-kasm-pc-error.c
index ef5cd913e..8f99bd781 100644
--- a/src/test/kc/test-kasm-pc-error.c
+++ b/src/test/kc/test-kasm-pc-error.c
@@ -7,7 +7,7 @@ char a[] = kickasm(pc TABLE) {{
 }};
 
 void main() {
-    byte* BORDER_COLOR = $d020;
+    byte* BORDER_COLOR = (char*)$d020;
     byte i=0;
     while(true) {
         *BORDER_COLOR = TABLE[i++];
diff --git a/src/test/kc/test-kasm-pc.c b/src/test/kc/test-kasm-pc.c
index 262bb5274..272b1ec0a 100644
--- a/src/test/kc/test-kasm-pc.c
+++ b/src/test/kc/test-kasm-pc.c
@@ -5,7 +5,7 @@ __address(0x2000) byte TABLE[] = kickasm {{
 }};
 
 void main() {
-    byte* BORDER_COLOR = $d020;
+    byte* BORDER_COLOR = (char*)$d020;
     byte i=0;
     while(true) {
         *BORDER_COLOR = TABLE[i++];
diff --git a/src/test/kc/test-keyboard.c b/src/test/kc/test-keyboard.c
index 1abb5e5cf..fbab7f7f4 100644
--- a/src/test/kc/test-keyboard.c
+++ b/src/test/kc/test-keyboard.c
@@ -4,7 +4,7 @@
 
 void main() {
     // Clear screen
-    for(byte* sc = $400; sc<$400+1000;sc++) {
+    for(byte* sc = (char*)$400; sc<$400+1000;sc++) {
         *sc = ' ';
     }
     // Init keyboard
@@ -12,7 +12,7 @@ void main() {
     // Loop
     while(true) {
         do {} while (*RASTER!=$ff);
-        byte* screen = $400;
+        byte* screen = (char*)$400;
         // Read & print keyboard matrix
         for(byte row : 0..7) {
             byte row_pressed_bits = keyboard_matrix_read(row);
diff --git a/src/test/kc/test-lohiconst.c b/src/test/kc/test-lohiconst.c
index 2d8bf39e1..73b36b20d 100644
--- a/src/test/kc/test-lohiconst.c
+++ b/src/test/kc/test-lohiconst.c
@@ -2,7 +2,7 @@
 const dword PI_u4f28 = $3243f6a9;
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     SCREEN[0] = > > PI_u4f28;
     SCREEN[1] = < > PI_u4f28;
     SCREEN[2] = > < PI_u4f28;
diff --git a/src/test/kc/test-multiply-16bit.c b/src/test/kc/test-multiply-16bit.c
index 4bf84ea23..241c1d8f5 100644
--- a/src/test/kc/test-multiply-16bit.c
+++ b/src/test/kc/test-multiply-16bit.c
@@ -3,7 +3,7 @@
 #include <multiply.h>
 #include <fastmultiply.h>
 
-byte* BG_COLOR = $d021;
+byte* BG_COLOR = (char*)$d021;
 
 void main() {
     *BG_COLOR = 5;
diff --git a/src/test/kc/test-multiply-8bit.c b/src/test/kc/test-multiply-8bit.c
index dc3e6c5a0..3297b6d4c 100644
--- a/src/test/kc/test-multiply-8bit.c
+++ b/src/test/kc/test-multiply-8bit.c
@@ -3,7 +3,7 @@
 #include <multiply.h>
 #include <fastmultiply.h>
 
-byte* BG_COLOR = $d021;
+byte* BG_COLOR = (char*)$d021;
 
 void main() {
     *BG_COLOR = 5;
@@ -96,7 +96,7 @@ void mulf_init_asm() {
         bne !-
     }
     // Ensure the ASM tables are not detected as unused by the optimizer
-    byte* mem = $ff;
+    byte* mem = (byte*)$ff;
     *mem = *mula_sqr1_lo;
     *mem = *mula_sqr1_hi;
     *mem = *mula_sqr2_lo;
diff --git a/src/test/kc/test-scroll-up.c b/src/test/kc/test-scroll-up.c
index 2af0f16dc..5e40cd473 100644
--- a/src/test/kc/test-scroll-up.c
+++ b/src/test/kc/test-scroll-up.c
@@ -1,6 +1,6 @@
 // Tests different ways of scrolling up the screen
 
-byte* const screen = $400;
+byte* const screen = (char*)$400;
 
 void main() {
     scrollup1();
diff --git a/src/test/kc/test-word-size-arrays.c b/src/test/kc/test-word-size-arrays.c
index c85272564..ec7b551ce 100644
--- a/src/test/kc/test-word-size-arrays.c
+++ b/src/test/kc/test-word-size-arrays.c
@@ -1,6 +1,6 @@
 void main()
 {
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     word line;
     for (line = 0; line < 40*24; line += 40) {
         for (byte c=0; c<40; ++c)
diff --git a/src/test/kc/tetris-npe.c b/src/test/kc/tetris-npe.c
index 18de261e1..c6683aa11 100644
--- a/src/test/kc/tetris-npe.c
+++ b/src/test/kc/tetris-npe.c
@@ -1,7 +1,7 @@
 // NullPointerException using current_movedown_rate in the main loop
 
-byte* RASTER = $d012;	
-byte* SCREEN = $400;	
+byte* RASTER = (byte*)$d012;
+byte* SCREEN = (byte*)$400;
 byte ypos = 0;
 byte RATE = 50;
 byte counter = RATE;
diff --git a/src/test/kc/textbox.c b/src/test/kc/textbox.c
index 98b1f16be..b42496e3c 100644
--- a/src/test/kc/textbox.c
+++ b/src/test/kc/textbox.c
@@ -1,7 +1,7 @@
 /* Textbox routine with word wrap for KickC by Scan/Desire */
 #include <c64.h>
 
-byte* const screen = $0400;
+byte* const screen = (byte*)$400;
 const byte text[] = "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[] = "textbox by scan of desire";
 
diff --git a/src/test/kc/tod018-problem.c b/src/test/kc/tod018-problem.c
index e2e0bfa1d..90368589d 100644
--- a/src/test/kc/tod018-problem.c
+++ b/src/test/kc/tod018-problem.c
@@ -1,8 +1,8 @@
 // Tests a problem with tod018 not calculating types correctly
 
 void main() {
-    byte * const D018 = 0xd018;
-    byte* const screen = 0x0400;
+    byte* const D018 = (byte*)0xd018;
+    byte* const screen = (byte*)0x0400;
     byte d018val = >(screen&$3fff);
     *D018 = d018val;
 }
diff --git a/src/test/kc/tofewparams.c b/src/test/kc/tofewparams.c
index 7072b647c..4b0738ccc 100644
--- a/src/test/kc/tofewparams.c
+++ b/src/test/kc/tofewparams.c
@@ -6,7 +6,7 @@ void main() {
 
 
 void plot(byte x, byte y) {
-    byte* const screen = $0400;
+    byte* const screen = (byte*)$400;
     byte* pos = screen+x+y;
     *pos = 1;
 }
\ No newline at end of file
diff --git a/src/test/kc/tomanyparams.c b/src/test/kc/tomanyparams.c
index 0270f03bb..21635f987 100644
--- a/src/test/kc/tomanyparams.c
+++ b/src/test/kc/tomanyparams.c
@@ -6,7 +6,7 @@ void main() {
 
 
 void plot(byte x, byte y) {
-    byte* const screen = $0400;
+    byte* const screen = (byte*)$400;
     byte* pos = screen+x+y;
     *pos = 1;
 }
\ No newline at end of file
diff --git a/src/test/kc/type-inference.c b/src/test/kc/type-inference.c
index 3fa991f2a..abe90ac02 100644
--- a/src/test/kc/type-inference.c
+++ b/src/test/kc/type-inference.c
@@ -1,7 +1,7 @@
 // Test inference of integer types in expressions
 
 void main() {
-    word* const screen = 0x0400;
+    word* const screen = (char*)0x0400;
     for( byte b: 0..20) {
         screen[b] = -0x30+b;
     }
diff --git a/src/test/kc/type-mix.c b/src/test/kc/type-mix.c
index e3245f2ab..955fa3a09 100644
--- a/src/test/kc/type-mix.c
+++ b/src/test/kc/type-mix.c
@@ -3,7 +3,7 @@
 void main() {
 
     signed word w = 0;
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
 
     for (byte i: 0..10) {
         w = w - 12;
diff --git a/src/test/kc/type-promotion-bool-param.c b/src/test/kc/type-promotion-bool-param.c
index f58cc1acc..213fd803d 100644
--- a/src/test/kc/type-promotion-bool-param.c
+++ b/src/test/kc/type-promotion-bool-param.c
@@ -1,6 +1,6 @@
 // Test promoting a bool to a byte
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char i = 0;
 
 
diff --git a/src/test/kc/type-promotion-schar-param.c b/src/test/kc/type-promotion-schar-param.c
index 32a266a58..d49839b5e 100644
--- a/src/test/kc/type-promotion-schar-param.c
+++ b/src/test/kc/type-promotion-schar-param.c
@@ -1,6 +1,6 @@
 // Test promotion of signed char parameter to word
 
-unsigned int* const SCREEN = 0x0400;
+unsigned int* const SCREEN = (char*)0x0400;
 int i = 0;
 
 void main() {
diff --git a/src/test/kc/typedef-0.c b/src/test/kc/typedef-0.c
index 652cc886d..8fef8a576 100644
--- a/src/test/kc/typedef-0.c
+++ b/src/test/kc/typedef-0.c
@@ -3,6 +3,6 @@ typedef byte uint8;
 
 void main() {
     uint8 b = 'a';
-    uint8* SCREEN = 0x0400;
+    uint8* SCREEN = (char*)0x0400;
     *SCREEN = b;
 }
\ No newline at end of file
diff --git a/src/test/kc/typedef-1.c b/src/test/kc/typedef-1.c
index d2189bf71..94b02e0d5 100644
--- a/src/test/kc/typedef-1.c
+++ b/src/test/kc/typedef-1.c
@@ -10,6 +10,6 @@ typedef Point* PointPtr;
 
 void main() {
     Point p = { 4, 7 };
-    PointPtr SCREEN = 0x0400;
+    PointPtr SCREEN = (PointPtr)0x0400;
     *SCREEN = p;
 }
\ No newline at end of file
diff --git a/src/test/kc/typedef-2.c b/src/test/kc/typedef-2.c
index 7ba59f90b..606a3dd02 100644
--- a/src/test/kc/typedef-2.c
+++ b/src/test/kc/typedef-2.c
@@ -1,9 +1,9 @@
 
 typedef unsigned int WORD;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
-char* ptr = 0x1000;
+char* ptr = (char*)0x1000;
 
 void main() {
     WORD w = (WORD)&ptr;
diff --git a/src/test/kc/typedef-3.c b/src/test/kc/typedef-3.c
index fb6ae4482..4a4d4342e 100644
--- a/src/test/kc/typedef-3.c
+++ b/src/test/kc/typedef-3.c
@@ -1,6 +1,6 @@
 // Typedef an array
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 typedef char STR[7];
 
diff --git a/src/test/kc/typedef-4.c b/src/test/kc/typedef-4.c
index 8eada8a8e..a99ea1d3f 100644
--- a/src/test/kc/typedef-4.c
+++ b/src/test/kc/typedef-4.c
@@ -1,6 +1,6 @@
 // Typedef const/volatile type
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 typedef const char C;
 typedef volatile char V;
diff --git a/src/test/kc/typedef-5.c b/src/test/kc/typedef-5.c
index 4f56d2b5a..45981c9ea 100644
--- a/src/test/kc/typedef-5.c
+++ b/src/test/kc/typedef-5.c
@@ -1,12 +1,12 @@
 // Typedef a const/volatile type and instantiate a pointer to it
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 typedef const char C;
 typedef volatile char V;
 
-C * cp = 0xa003;
-V * vp = 0xa004;
+C * cp = (C*)0xa003;
+V * vp = (V*)0xa004;
 
 void main() {
     SCREEN[0] = *cp;
diff --git a/src/test/kc/typedef-6.c b/src/test/kc/typedef-6.c
index c21e32290..08c6154b0 100644
--- a/src/test/kc/typedef-6.c
+++ b/src/test/kc/typedef-6.c
@@ -1,12 +1,12 @@
 // Typedef pointer to const/volatile type and instantiate it
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 typedef const char * C;
 typedef volatile char * V;
 
-C cp = 0xa003;
-V vp = 0xa004;
+C cp = (C)0xa003;
+V vp = (V)0xa004;
 
 void main() {
     SCREEN[0] = *cp;
diff --git a/src/test/kc/typedef-7.c b/src/test/kc/typedef-7.c
index f6522688e..81f7d36a2 100644
--- a/src/test/kc/typedef-7.c
+++ b/src/test/kc/typedef-7.c
@@ -1,12 +1,12 @@
 // Typedef pointer to const/volatile type and instantiate it to const variable
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 typedef const char * C;
 typedef volatile char * V;
 
-const C cp = 0xa003;
-const V vp = 0xa004;
+const C cp = (C)0xa003;
+const V vp = (V)0xa004;
 
 void main() {
     SCREEN[0] = *cp;
diff --git a/src/test/kc/typeid-plus-byte-problem.c b/src/test/kc/typeid-plus-byte-problem.c
index 36abf0cbe..4f361b4a2 100644
--- a/src/test/kc/typeid-plus-byte-problem.c
+++ b/src/test/kc/typeid-plus-byte-problem.c
@@ -1,6 +1,6 @@
 // Test that byte+byte creates a byte - even when there is a value overflow
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     unsigned byte ubc1 = 12+13+14;
diff --git a/src/test/kc/typeid-plus-bytes.c b/src/test/kc/typeid-plus-bytes.c
index e3bf867cd..51b59a481 100644
--- a/src/test/kc/typeid-plus-bytes.c
+++ b/src/test/kc/typeid-plus-bytes.c
@@ -1,7 +1,7 @@
 // Test that plus creates the expected type for all legal combinations of bytes (signed/unsigned - constant/variable)
 
-byte* const SCREEN = $400;
-signed byte* const SSCREEN = $400;
+byte* const SCREEN = (byte*)$400;
+signed byte* const SSCREEN = (signed byte*)$400;
 byte idx = 0;
 
 void main() {
diff --git a/src/test/kc/typeid-simple.c b/src/test/kc/typeid-simple.c
index 8ee95b5e3..ab036be71 100644
--- a/src/test/kc/typeid-simple.c
+++ b/src/test/kc/typeid-simple.c
@@ -1,6 +1,6 @@
 // Test typeid() of the different types
 void main() {
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     byte idx = 0;
     // Simple types
     SCREEN[idx++] = typeid(void);
diff --git a/src/test/kc/typemismatch.c b/src/test/kc/typemismatch.c
index 638efdaed..3920996bc 100644
--- a/src/test/kc/typemismatch.c
+++ b/src/test/kc/typemismatch.c
@@ -2,6 +2,6 @@
 void main() {
     word w = 5000;
     byte b = w;
-    byte* const screen = 0x0400;
+    byte* const screen = (char*)0x0400;
     screen[0] = b;
 }
\ No newline at end of file
diff --git a/src/test/kc/unary-plus.c b/src/test/kc/unary-plus.c
index d4042c5a4..c385511f6 100644
--- a/src/test/kc/unary-plus.c
+++ b/src/test/kc/unary-plus.c
@@ -2,8 +2,8 @@
 
 void main() {
 
-    char* SCREEN = 0x0400;
-    int* SCREEN2 = 0x0428;
+    char* SCREEN = (char*)0x0400;
+    int* SCREEN2 = (int*)0x0428;
 
     char i = +3;
     SCREEN[0] = i;
diff --git a/src/test/kc/uninitialized.c b/src/test/kc/uninitialized.c
index 67eac3c79..94ed62081 100644
--- a/src/test/kc/uninitialized.c
+++ b/src/test/kc/uninitialized.c
@@ -4,7 +4,7 @@ byte b;
 word w;
 byte* ptr;
 
-byte* const SCREEN = $400;
+byte* const SCREEN = (char*)$400;
 
 void main() {
     SCREEN[0] = b;
diff --git a/src/test/kc/unknown-var-problem-2.c b/src/test/kc/unknown-var-problem-2.c
index 5c3f0026e..2f5ebe7d1 100644
--- a/src/test/kc/unknown-var-problem-2.c
+++ b/src/test/kc/unknown-var-problem-2.c
@@ -1,6 +1,6 @@
 // Demonstrates problem with unknown variable
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 char* const SPRITES_PTR = SCREEN + QWE;
 
 void main() {
diff --git a/src/test/kc/unroll-call.c b/src/test/kc/unroll-call.c
index 6da24b305..67c4499a9 100644
--- a/src/test/kc/unroll-call.c
+++ b/src/test/kc/unroll-call.c
@@ -1,7 +1,7 @@
 // Unrolling a loop containing an inner call
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     byte a=$10;
     inline for(byte i: 0..2) {
         a = plus(a, i);
diff --git a/src/test/kc/unroll-for-min.c b/src/test/kc/unroll-for-min.c
index e764eaee9..f2828677d 100644
--- a/src/test/kc/unroll-for-min.c
+++ b/src/test/kc/unroll-for-min.c
@@ -1,6 +1,6 @@
 // Minimal unrolled ranged for() loop
 void main() {
-    char* SCREEN = 0x0400;
+    char* SCREEN = (char*)0x0400;
     inline for(char i : 0..2) {
         SCREEN[i] = 'a';
     }
diff --git a/src/test/kc/unroll-infinite.c b/src/test/kc/unroll-infinite.c
index 1b5e059f4..782b85827 100644
--- a/src/test/kc/unroll-infinite.c
+++ b/src/test/kc/unroll-infinite.c
@@ -1,7 +1,7 @@
 // Unrolling an infinite loop
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
 
     byte b=0;
     inline do {
diff --git a/src/test/kc/unroll-loop-modifyvar.c b/src/test/kc/unroll-loop-modifyvar.c
index 65458cba4..d6d169b9d 100644
--- a/src/test/kc/unroll-loop-modifyvar.c
+++ b/src/test/kc/unroll-loop-modifyvar.c
@@ -1,7 +1,7 @@
 // An unrolled loop modifying a var used later
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
 
     byte a=3;
     inline do {
diff --git a/src/test/kc/unroll-screenfill-for-double.c b/src/test/kc/unroll-screenfill-for-double.c
index 959c75d56..1d606a542 100644
--- a/src/test/kc/unroll-screenfill-for-double.c
+++ b/src/test/kc/unroll-screenfill-for-double.c
@@ -1,7 +1,7 @@
 // Fills the screen using two unrolled ranged for()-loops
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     inline for(byte x: 0..10) {
         inline for(byte line: 0..10) {
             (SCREEN+line*40)[x] = x;
diff --git a/src/test/kc/unroll-screenfill-for.c b/src/test/kc/unroll-screenfill-for.c
index 2a8b0b32d..bf9bc6c30 100644
--- a/src/test/kc/unroll-screenfill-for.c
+++ b/src/test/kc/unroll-screenfill-for.c
@@ -1,7 +1,7 @@
 // Fills the screen using an unrolled inner ranged for()-loop
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
 
     for(byte x: 0..39) {
         inline for(byte line: 0..24) {
diff --git a/src/test/kc/unroll-screenfill-while.c b/src/test/kc/unroll-screenfill-while.c
index b860a5e6b..558b1c791 100644
--- a/src/test/kc/unroll-screenfill-while.c
+++ b/src/test/kc/unroll-screenfill-while.c
@@ -1,7 +1,7 @@
 // Fills the screen using an unrolled inner while()-loop
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     for(byte x: 0..39) {
      byte line = 0;
      inline while(line!=25) {
diff --git a/src/test/kc/unroll-while-min.c b/src/test/kc/unroll-while-min.c
index 485b6d867..5ecc54f38 100644
--- a/src/test/kc/unroll-while-min.c
+++ b/src/test/kc/unroll-while-min.c
@@ -1,6 +1,6 @@
 // Minimal unrolled while() loop
 void main() {
-    char* SCREEN = $400;
+    char* SCREEN = (char*)$400;
     char i=0;
     inline while(i<2) {
         SCREEN[i++] = 'a';
diff --git a/src/test/kc/unused-irq.c b/src/test/kc/unused-irq.c
index d2c253c36..cb02b6eca 100644
--- a/src/test/kc/unused-irq.c
+++ b/src/test/kc/unused-irq.c
@@ -1,12 +1,12 @@
 // Unused interrupts pointing to each other but never used from main loop - should be optimized away
 
-byte* const SCREEN = 0x0400;
+byte* const SCREEN = (char*)0x0400;
 
 void main() {
     *SCREEN = 'x';
 }
 
-void()** const HARDWARE_IRQ = $fffe;
+void()** const HARDWARE_IRQ = (void()**)$fffe;
 
 // Unused Interrupt Routine
 __interrupt void irq1() {
diff --git a/src/test/kc/unused-method.c b/src/test/kc/unused-method.c
index 994967839..0ca5bcfe0 100644
--- a/src/test/kc/unused-method.c
+++ b/src/test/kc/unused-method.c
@@ -1,5 +1,5 @@
 void main() {
-    byte* screen = $0400;
+    byte* screen = (byte*)$400;
     screen[0] = 1;
 }
 
diff --git a/src/test/kc/unused-vars.c b/src/test/kc/unused-vars.c
index 9d8981241..1c69b72d5 100644
--- a/src/test/kc/unused-vars.c
+++ b/src/test/kc/unused-vars.c
@@ -1,9 +1,9 @@
 // used vars
-byte* const SCREEN = $0400;
+byte* const SCREEN = (byte*)$400;
 byte b=2/2;
 
 // unused vars
-byte* const BG_COLOR = $d021;
+byte* const BG_COLOR = (char*)$d021;
 byte msg[] = "hello world";
 byte arr[] = { 7, 8, 9};
 byte c=1;
@@ -13,7 +13,7 @@ word d=1000;
 void main() {
     // used vars
     byte col=2;
-    byte* COLS=$d800;
+    byte* COLS=(byte*)$d800;
     // unused vars
     byte e=3+3+3+s(); // The call to s() should survive even when e is eliminated
     word f=2000+2000+d+b++; // b++ should survive even when f is eliminated.
diff --git a/src/test/kc/unusedblockproblem.c b/src/test/kc/unusedblockproblem.c
index 05fe301f6..6e085644d 100644
--- a/src/test/kc/unusedblockproblem.c
+++ b/src/test/kc/unusedblockproblem.c
@@ -1,7 +1,7 @@
 // Problem with eliminating unused blocks/vars after the infinite loop (symbol line#2 not removed from symbol table)
 
 void main() {
-    byte* SCREEN = $400;
+    byte* SCREEN = (char*)$400;
     while(true) {
         (*SCREEN)++;
     }
diff --git a/src/test/kc/useglobal.c b/src/test/kc/useglobal.c
index 2845105c0..aeada82f9 100644
--- a/src/test/kc/useglobal.c
+++ b/src/test/kc/useglobal.c
@@ -1,5 +1,5 @@
 // Tests procedures using global variables (should not fail)
-byte* SCREEN = $0400;
+byte* SCREEN = (byte*)$400;
 void main() {
    *SCREEN = 1;
 }
\ No newline at end of file
diff --git a/src/test/kc/useuninitialized.c b/src/test/kc/useuninitialized.c
index 2283a0b03..e41a75f6e 100644
--- a/src/test/kc/useuninitialized.c
+++ b/src/test/kc/useuninitialized.c
@@ -7,7 +7,7 @@ byte w=2;
 void main() {
    s=b+1;
    b=3;
-   byte* screen = $0400;
+   byte* screen = (byte*)$400;
    *screen = b;
    *(screen+1) = s;
 }
\ No newline at end of file
diff --git a/src/test/kc/useuninitialized2.c b/src/test/kc/useuninitialized2.c
index f47ba6f8c..a419a75e2 100644
--- a/src/test/kc/useuninitialized2.c
+++ b/src/test/kc/useuninitialized2.c
@@ -3,7 +3,7 @@
 void main() {
     const byte b = a;
     const byte a = 'c';
-    byte* screen = $400;
+    byte* screen = (char*)$400;
     screen[0] = a;
     screen[1] = b;
 }
\ No newline at end of file
diff --git a/src/test/kc/var-export.c b/src/test/kc/var-export.c
index 2814d7871..d466276f0 100644
--- a/src/test/kc/var-export.c
+++ b/src/test/kc/var-export.c
@@ -1,6 +1,6 @@
 // Test the export directive usable for ensuring a data variable is always added to the output - even if it is never used
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 
 void main() {
     SCREEN[0] = 'x';
diff --git a/src/test/kc/var-forward-problem.c b/src/test/kc/var-forward-problem.c
index ba21106db..6c7edd1a8 100644
--- a/src/test/kc/var-forward-problem.c
+++ b/src/test/kc/var-forward-problem.c
@@ -4,5 +4,5 @@ void main() {
     *screen = b;
 }
 
-byte* const screen = $400;
+byte* const screen = (char*)$400;
 const byte b = 'a';
\ No newline at end of file
diff --git a/src/test/kc/var-register-noarg.c b/src/test/kc/var-register-noarg.c
index f4ddfc66a..48977cc52 100644
--- a/src/test/kc/var-register-noarg.c
+++ b/src/test/kc/var-register-noarg.c
@@ -2,7 +2,7 @@
 
 #pragma encoding(screencode_upper)
 
-char* SCREEN = 0x0400;
+char* SCREEN = (char*)0x0400;
 char MSG[] = "CAMELOT!";
 
 void main() {
diff --git a/src/test/kc/var-register-zp-2.c b/src/test/kc/var-register-zp-2.c
index b38a1531c..9dd107978 100644
--- a/src/test/kc/var-register-zp-2.c
+++ b/src/test/kc/var-register-zp-2.c
@@ -1,6 +1,6 @@
 // Test declaring a variable as register on a specific ZP address
 
-int* SCREEN = 0x0400;
+int* SCREEN = (int*)0x0400;
 
 void main() {
     __address(257) char i=0;
diff --git a/src/test/kc/var-register-zp-3.c b/src/test/kc/var-register-zp-3.c
index d924bc13b..b559dbe60 100644
--- a/src/test/kc/var-register-zp-3.c
+++ b/src/test/kc/var-register-zp-3.c
@@ -1,6 +1,6 @@
 // Test declaring a variable as register on a specific ZP address
 
-char* screen = $400;
+char* screen = (char*)$400;
 
 void main() {
     print2(screen, "hello");
diff --git a/src/test/kc/var-register-zp.c b/src/test/kc/var-register-zp.c
index 707d757a8..2dfc08c3b 100644
--- a/src/test/kc/var-register-zp.c
+++ b/src/test/kc/var-register-zp.c
@@ -1,6 +1,6 @@
 // Test declaring a variable as register on a specific ZP address
 
-int* SCREEN = 0x0400;
+int* SCREEN = (int*)0x0400;
 
 void main() {
     __address(0x2) char i=0;
diff --git a/src/test/kc/var-register.c b/src/test/kc/var-register.c
index ca84de707..954e8c26e 100644
--- a/src/test/kc/var-register.c
+++ b/src/test/kc/var-register.c
@@ -12,6 +12,6 @@ void main() {
 }
 
 void print(register(X) byte idx, byte val) {
-    byte* SCREEN  = $0400;
+    byte* SCREEN  = (byte*)$400;
     SCREEN[idx] = val;
 }
\ No newline at end of file
diff --git a/src/test/kc/varcall-1.c b/src/test/kc/varcall-1.c
index 95b7441e6..c3da5a8ce 100644
--- a/src/test/kc/varcall-1.c
+++ b/src/test/kc/varcall-1.c
@@ -6,7 +6,7 @@ void main() {
     setbg(0x0b);
 }
 
-char * const BGCOL = 0xd021;
+char * const BGCOL = (char *)0xd021;
 
 __varcall void setbg(char col) {
     *BGCOL = col;
diff --git a/src/test/kc/varcall-2.c b/src/test/kc/varcall-2.c
index 5d28fd857..d90e0b590 100644
--- a/src/test/kc/varcall-2.c
+++ b/src/test/kc/varcall-2.c
@@ -1,7 +1,7 @@
 // Test __varcall calling convention
 // Return value
 
-char * const BGCOL = 0xd021;
+char * const BGCOL = (char*)0xd021;
 
 void main() {
     char a = 1;
diff --git a/src/test/kc/varcall-3.c b/src/test/kc/varcall-3.c
index b6b1d0279..76cdb0e9d 100644
--- a/src/test/kc/varcall-3.c
+++ b/src/test/kc/varcall-3.c
@@ -1,7 +1,7 @@
 // Test __varcall calling convention
 // Larger type parameter & return value
 
-int * const BGCOL = 0xd020;
+int * const BGCOL = (int *)0xd020;
 
 void main() {
     int a = 0x0102;
diff --git a/src/test/kc/varcall-4.c b/src/test/kc/varcall-4.c
index 2b21060c5..f5e00cc96 100644
--- a/src/test/kc/varcall-4.c
+++ b/src/test/kc/varcall-4.c
@@ -6,7 +6,7 @@ struct Cols {
     char bg;
 };
 
-struct Cols * const COLS = 0xd020;
+struct Cols * const COLS = (struct Cols *)0xd020;
 
 void main() {
     struct Cols a = { 1, 2 };
diff --git a/src/test/kc/varmodel-ma_mem-2.c b/src/test/kc/varmodel-ma_mem-2.c
index c8d59d3e7..95b961f3f 100644
--- a/src/test/kc/varmodel-ma_mem-2.c
+++ b/src/test/kc/varmodel-ma_mem-2.c
@@ -4,7 +4,7 @@
 
 void main() {
     // A local pointer 
-    char* screen = 0x0400;
+    char* screen = (char*)0x0400;
     // A local counter
     for( char i: 0..5 )
         *(screen++) = 'a';
diff --git a/src/test/kc/varmodel-ma_mem-3.c b/src/test/kc/varmodel-ma_mem-3.c
index 07e984950..fc822c9e1 100644
--- a/src/test/kc/varmodel-ma_mem-3.c
+++ b/src/test/kc/varmodel-ma_mem-3.c
@@ -9,7 +9,7 @@ void main() {
 
 void model_ma_mem() {
     // A local pointer
-    char* screen = 0x0400;
+    char* screen = (char*)0x0400;
     // A local counter
     for( char i: 0..5 )
         *(screen++) = 'a';
@@ -19,7 +19,7 @@ void model_ma_mem() {
 
 void model_ssa_zp() {
     // A local pointer
-    char* screen = 0x0428;
+    char* screen = (char*)0x0428;
     // A local counter
     for( char i: 0..5 )
         *(screen++) = 'b';
diff --git a/src/test/kc/varmodel-ma_mem-4.c b/src/test/kc/varmodel-ma_mem-4.c
index 90702c856..3d7283d95 100644
--- a/src/test/kc/varmodel-ma_mem-4.c
+++ b/src/test/kc/varmodel-ma_mem-4.c
@@ -3,7 +3,7 @@
 
 #pragma var_model(ma_mem, pointer_ssa_zp)
 
-char* screen = 0x0400;
+char* screen = (char*)0x0400;
 
 char a = 'a';
 
diff --git a/src/test/kc/varmodel-ma_mem-5.c b/src/test/kc/varmodel-ma_mem-5.c
index 4bb47c1bf..53529c63f 100644
--- a/src/test/kc/varmodel-ma_mem-5.c
+++ b/src/test/kc/varmodel-ma_mem-5.c
@@ -3,7 +3,7 @@
 
 #pragma var_model(ma_mem, pointer_ssa_zp)
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     char i=0;
diff --git a/src/test/kc/varmodel-ma_mem.c b/src/test/kc/varmodel-ma_mem.c
index 00b76fbc7..78ac1f768 100644
--- a/src/test/kc/varmodel-ma_mem.c
+++ b/src/test/kc/varmodel-ma_mem.c
@@ -4,7 +4,7 @@
 
 void main() {
     // A local pointer 
-    char* screen = 0x0400;
+    char* screen = (char*)0x0400;
     // A local counter
     for( char i: 0..5 )
         *(screen++) = 'a';
diff --git a/src/test/kc/varmodel-unknown.c b/src/test/kc/varmodel-unknown.c
index 7038473c4..e09e862da 100644
--- a/src/test/kc/varmodel-unknown.c
+++ b/src/test/kc/varmodel-unknown.c
@@ -2,6 +2,6 @@
 #pragma var_model(qweasd)
 
 void main() {
-    char* const SCREEN = 0x0400;
+    char* const SCREEN = (char*)0x0400;
     *SCREEN = 'a';
 }
\ No newline at end of file
diff --git a/src/test/kc/void-parameter.c b/src/test/kc/void-parameter.c
index 00bbd6381..9ddf6676b 100644
--- a/src/test/kc/void-parameter.c
+++ b/src/test/kc/void-parameter.c
@@ -7,7 +7,7 @@ void main(void) {
     print();
 }
 
-byte* const SCREEN = 0x400;
+byte* const SCREEN = (char*)0x400;
 byte idx = 0;
 
 void print(void) {
diff --git a/src/test/kc/volatile-0.c b/src/test/kc/volatile-0.c
index 4bada517c..22236c643 100644
--- a/src/test/kc/volatile-0.c
+++ b/src/test/kc/volatile-0.c
@@ -2,7 +2,7 @@
 
 volatile char i = 3;
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     while(i<7)
diff --git a/src/test/kc/volatile-1.c b/src/test/kc/volatile-1.c
index f11676a1e..e58ef03aa 100644
--- a/src/test/kc/volatile-1.c
+++ b/src/test/kc/volatile-1.c
@@ -1,6 +1,6 @@
 // Test that volatile vars are turned into load/store
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 void main() {
     volatile char i = 3;
diff --git a/src/test/kc/volatile-2.c b/src/test/kc/volatile-2.c
index 1ee9f3b1f..6ba484c40 100644
--- a/src/test/kc/volatile-2.c
+++ b/src/test/kc/volatile-2.c
@@ -1,6 +1,6 @@
 // Test that volatile const vars are turned into load/store
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 const volatile char ch = 3;
 
diff --git a/src/test/kc/voronoi.c b/src/test/kc/voronoi.c
index 7e176734b..917482e43 100644
--- a/src/test/kc/voronoi.c
+++ b/src/test/kc/voronoi.c
@@ -1,6 +1,6 @@
 // The screen
-byte *SCREEN = $0400;
-byte *COLORS = $D800;
+byte *SCREEN = (byte*)$400;
+byte *COLORS = (byte*)$D800;
 
 byte FILL = 230;
 
diff --git a/src/test/kc/word-array-0.c b/src/test/kc/word-array-0.c
index dcbf4060c..2750f55d1 100644
--- a/src/test/kc/word-array-0.c
+++ b/src/test/kc/word-array-0.c
@@ -1,7 +1,7 @@
 // Tests a simple word array
 void main() {
-    byte* const SCREEN = $400+6*40;
-    word words[3] = $0400;
+    byte* const SCREEN = (char*)$400+6*40;
+    word words[3] = (word*)$0400;
     word w1 = words[1];
     SCREEN[0] = <w1;
     SCREEN[1] = >w1;
diff --git a/src/test/kc/word-array-1.c b/src/test/kc/word-array-1.c
index 573e07bfb..028cd97be 100644
--- a/src/test/kc/word-array-1.c
+++ b/src/test/kc/word-array-1.c
@@ -2,7 +2,7 @@
 void main() {
     // Clever word array that represents C64 numbers 0-7
     word words[] = { $3031, $3233, $3435, $3637 };
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     byte idx = 0;
     for( byte i: 0..3) {
         word w = words[i];
diff --git a/src/test/kc/word-array-2.c b/src/test/kc/word-array-2.c
index 82e05c5c8..90e456598 100644
--- a/src/test/kc/word-array-2.c
+++ b/src/test/kc/word-array-2.c
@@ -7,7 +7,7 @@ void main() {
         words[(word)i] = ((word)i)*0x100+i;
     }
 
-    word* const SCREEN = $0400;
+    word* const SCREEN = (word*)$0400;
     SCREEN[0] = words[(word)255];
 
 }
diff --git a/src/test/kc/word-pointer-compound.c b/src/test/kc/word-pointer-compound.c
index 9dde5d7f8..3873c5b19 100644
--- a/src/test/kc/word-pointer-compound.c
+++ b/src/test/kc/word-pointer-compound.c
@@ -7,7 +7,7 @@ void main() {
         words[i] += $0101;
     }
 
-    byte* const SCREEN = $0400;
+    byte* const SCREEN = (byte*)$400;
 
     SCREEN[0] = >words[0];
     SCREEN[1] = <words[0];
diff --git a/src/test/kc/word-pointer-iteration-0.c b/src/test/kc/word-pointer-iteration-0.c
index 443a61916..cc31f09a2 100644
--- a/src/test/kc/word-pointer-iteration-0.c
+++ b/src/test/kc/word-pointer-iteration-0.c
@@ -1,7 +1,7 @@
 // Tests simple word pointer iteration
 void main() {
-    byte* const SCREEN = $400+40*6;
-    word* wp = $0400;
+    byte* const SCREEN = (char*)$400+40*6;
+    word* wp = (word*)$0400;
     wp++;
     SCREEN[0] = <*wp;
     SCREEN[1] = >*wp;
diff --git a/src/test/kc/word-pointer-iteration.c b/src/test/kc/word-pointer-iteration.c
index 938b527ac..b9b225308 100644
--- a/src/test/kc/word-pointer-iteration.c
+++ b/src/test/kc/word-pointer-iteration.c
@@ -2,7 +2,7 @@
 void main() {
     // Clever word array that represents C64 numbers 0-7
     word words[] = { $3130, $3332, $3534, $3736};
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     byte idx = 0;
     word* wp = words;
     for( byte i: 0..3) {
diff --git a/src/test/kc/word-pointer-math-0.c b/src/test/kc/word-pointer-math-0.c
index bf8ea5796..767f35841 100644
--- a/src/test/kc/word-pointer-math-0.c
+++ b/src/test/kc/word-pointer-math-0.c
@@ -1,7 +1,7 @@
 // Tests simple word pointer math
 void main() {
-    word* words = $0400;
-    byte* const SCREEN = $400+6*40;
+    word* words = (word*)$0400;
+    byte* const SCREEN = (byte*)$400+6*40;
     word w1 = *(words+1);
     SCREEN[0] = <w1;
     SCREEN[1] = >w1;
diff --git a/src/test/kc/word-pointer-math-1.c b/src/test/kc/word-pointer-math-1.c
index 43c96c2e7..2d56be04c 100644
--- a/src/test/kc/word-pointer-math-1.c
+++ b/src/test/kc/word-pointer-math-1.c
@@ -1,8 +1,8 @@
 // Tests word pointer math - subtracting two word pointers
 void main() {
-    word* w1 = 0x1000;
-    word* w2 = 0x1140;
+    word* w1 = (word*)0x1000;
+    word* w2 = (word*)0x1140;
     word wd = w2 - w1;
-    word* const SCREEN = 0x0400;
+    word* const SCREEN = (word*)0x0400;
     *SCREEN = wd;
 }
diff --git a/src/test/kc/word-pointer-math.c b/src/test/kc/word-pointer-math.c
index abf272e74..54782c931 100644
--- a/src/test/kc/word-pointer-math.c
+++ b/src/test/kc/word-pointer-math.c
@@ -2,7 +2,7 @@
 void main() {
     // Clever word array that represents C64 numbers 0-7
     word words[] = { $3130, $3332, $3534, $3736};
-    byte* const SCREEN = $400;
+    byte* const SCREEN = (char*)$400;
     byte idx = 0;
     for( byte i: 0..3) {
         word w = *(words+i);
diff --git a/src/test/kc/zeropage-exhausted.c b/src/test/kc/zeropage-exhausted.c
index ace80ee6b..431b9ff72 100644
--- a/src/test/kc/zeropage-exhausted.c
+++ b/src/test/kc/zeropage-exhausted.c
@@ -1,11 +1,11 @@
 // Tests warning when running out of zeropage-addresses for variables
 
 // Start by reserving most of zeropage (254 bytes)
-#pragma zp_reserve(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254)
+#pragma zp_reserve(1..254)
 
 // And then allocate a 2-byte-variable
 void main() {
-    int* const SCREEN = 0x0400;
+    int* const SCREEN = (int*)0x0400;
     for(__zp int i=0;i<10;i++)
         SCREEN[(char)i] = i;
 }
diff --git a/src/test/kc/zeropage-sinus.c b/src/test/kc/zeropage-sinus.c
index a8b3bafaa..cfc24b93e 100644
--- a/src/test/kc/zeropage-sinus.c
+++ b/src/test/kc/zeropage-sinus.c
@@ -12,7 +12,7 @@ const unsigned char __align(0x100) SINTABLE[0x100] = kickasm {{
 // Storage for saving/restoring zeropage
 const unsigned char __align(0x100) ZP_STORAGE[0x100];
 
-char* const SCREEN = 0x0400;
+char* const SCREEN = (char*)0x0400;
 
 // A single sprite to animate
 const __align(0x40) char SPRITE[0x40] = kickasm {{ .fill $40,$ff }};
diff --git a/src/test/kc/zp-reserve-coalesce-problem.c b/src/test/kc/zp-reserve-coalesce-problem.c
index ce33740c8..82d3224ef 100644
--- a/src/test/kc/zp-reserve-coalesce-problem.c
+++ b/src/test/kc/zp-reserve-coalesce-problem.c
@@ -13,7 +13,7 @@ char landscapeBase[] = kickasm {{
 		.fill 14, 0
 	}};
 
-char * const lms = 0xa000;
+char * const lms = (char*)0xa000;
 
 void benchmarkCountdownFor() {
 	__address(0x41) signed char a;
diff --git a/src/test/kc/zpparammin.c b/src/test/kc/zpparammin.c
index 193cc590c..1a8fcd4fa 100644
--- a/src/test/kc/zpparammin.c
+++ b/src/test/kc/zpparammin.c
@@ -1,5 +1,5 @@
-byte* SCREEN = $0400;
-byte* SCREEN2 = $0400+40;
+byte* SCREEN = (byte*)$400;
+byte* SCREEN2 = (byte*)$400+40;
 
 void main() {
     for(byte i : 0..10) {
diff --git a/src/test/kc/zpptr.c b/src/test/kc/zpptr.c
index abccb4a75..d37ee6360 100644
--- a/src/test/kc/zpptr.c
+++ b/src/test/kc/zpptr.c
@@ -1,5 +1,5 @@
 void main() {
-    byte* zpptr = $1000;
+    byte* zpptr = (byte*)$1000;
     for(byte j : 0..10) {
         for(byte i : 0..10) {
             for(byte k : 0..10) {
diff --git a/src/test/ref/32bit-rols.log b/src/test/ref/32bit-rols.log
index ed85b1ce4..b2da72845 100644
--- a/src/test/ref/32bit-rols.log
+++ b/src/test/ref/32bit-rols.log
@@ -4757,7 +4757,7 @@ dword rol_fixed::val#81
 dword rol_fixed::val#82
 dword rol_fixed::val#9
 void rol_var(dword rol_var::val)
-byte~ rol_var::$1
+word~ rol_var::$1
 bool~ rol_var::$2
 dword~ rol_var::$3
 byte rol_var::i
@@ -4957,7 +4957,7 @@ dword ror_fixed::val#81
 dword ror_fixed::val#82
 dword ror_fixed::val#9
 void ror_var(dword ror_var::val)
-byte~ ror_var::$1
+word~ ror_var::$1
 bool~ ror_var::$2
 dword~ ror_var::$3
 byte ror_var::i
diff --git a/src/test/ref/address-4.log b/src/test/ref/address-4.log
index 94e863a66..5a8a9aa87 100644
--- a/src/test/ref/address-4.log
+++ b/src/test/ref/address-4.log
@@ -37,7 +37,7 @@ __start::@return: scope:[__start]  from __start::@2
   to:@return
 
 SYMBOL TABLE SSA
-constant word* SCREEN = (word*)$400
+constant word* SCREEN = (byte*)$400
 constant byte SIZEOF_WORD = 2
 void __start()
 void main()
@@ -49,7 +49,7 @@ byte main::i loadstore !zp[-1]:2
 
 Adding number conversion cast (unumber) 8 in main::$0 = main::i < 8
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 8
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) 8
@@ -202,7 +202,7 @@ Removing instruction __breturn:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant word* SCREEN = (word*) 1024
+constant word* SCREEN = (byte*) 1024
 void main()
 byte~ main::$1 reg byte a 22.0
 byte~ main::$2 reg byte a 22.0
diff --git a/src/test/ref/address-4.sym b/src/test/ref/address-4.sym
index 6dbd8f686..860f247cf 100644
--- a/src/test/ref/address-4.sym
+++ b/src/test/ref/address-4.sym
@@ -1,4 +1,4 @@
-constant word* SCREEN = (word*) 1024
+constant word* SCREEN = (byte*) 1024
 void main()
 byte~ main::$1 reg byte a 22.0
 byte~ main::$2 reg byte a 22.0
diff --git a/src/test/ref/adventofcode/2020-01.log b/src/test/ref/adventofcode/2020-01.log
index e8b9faa2c..613c44d1d 100644
--- a/src/test/ref/adventofcode/2020-01.log
+++ b/src/test/ref/adventofcode/2020-01.log
@@ -1920,8 +1920,8 @@ byte gotoxy::y#0
 byte gotoxy::y#1
 byte gotoxy::y#2
 void main()
-byte~ main::$0
-byte~ main::$1
+word~ main::$0
+word~ main::$1
 bool~ main::$10
 dword~ main::$13
 bool~ main::$16
diff --git a/src/test/ref/array-16bit-init.log b/src/test/ref/array-16bit-init.log
index 13e08d43e..e23117dd6 100644
--- a/src/test/ref/array-16bit-init.log
+++ b/src/test/ref/array-16bit-init.log
@@ -35,10 +35,10 @@ __start::@return: scope:[__start]  from __start::@1
 SYMBOL TABLE SSA
 constant byte SIZEOF_POINTER = 2
 void __start()
-constant byte** levelRowOff[$1f]  = { (byte*)1, (byte*)2, (byte*)3 }
+constant byte** levelRowOff[$1f]  = { 1, 2, 3 }
 void main()
-byte~ main::$0
-byte~ main::$1
+word~ main::$0
+word~ main::$1
 bool~ main::$2
 byte~ main::$3
 byte main::c
@@ -47,9 +47,6 @@ byte main::c#1
 byte main::c#2
 byte main::c#3
 
-Simplifying constant pointer cast (byte*) 1
-Simplifying constant pointer cast (byte*) 2
-Simplifying constant pointer cast (byte*) 3
 Simplifying constant pointer cast (byte*) 12345
 Successful SSA optimization PassNCastSimplification
 Alias main::c#2 = main::c#3 
@@ -85,6 +82,9 @@ Constant inlined main::$1 = $1f*SIZEOF_POINTER/SIZEOF_POINTER
 Constant inlined main::c#0 = 0
 Constant inlined main::$0 = $1f*SIZEOF_POINTER
 Successful SSA optimization Pass2ConstantInlining
+Finalized unsigned number type (byte) 1
+Finalized unsigned number type (byte) 2
+Finalized unsigned number type (byte) 3
 Finalized unsigned number type (byte) $1f
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Adding NOP phi() at start of main
@@ -213,7 +213,7 @@ Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
 constant byte SIZEOF_POINTER = 2
-constant byte** levelRowOff[$1f]  = { (byte*) 1, (byte*) 2, (byte*) 3 }
+constant byte** levelRowOff[$1f]  = { 1, 2, 3 }
 void main()
 byte~ main::$3 reg byte a 22.0
 byte main::c
diff --git a/src/test/ref/array-16bit-init.sym b/src/test/ref/array-16bit-init.sym
index 478d4d69f..1728b2f4a 100644
--- a/src/test/ref/array-16bit-init.sym
+++ b/src/test/ref/array-16bit-init.sym
@@ -1,5 +1,5 @@
 constant byte SIZEOF_POINTER = 2
-constant byte** levelRowOff[$1f]  = { (byte*) 1, (byte*) 2, (byte*) 3 }
+constant byte** levelRowOff[$1f]  = { 1, 2, 3 }
 void main()
 byte~ main::$3 reg byte a 22.0
 byte main::c
diff --git a/src/test/ref/atarixl-md5b.asm b/src/test/ref/atarixl-md5b.asm
index 6fc61ae17..f332cd10e 100644
--- a/src/test/ref/atarixl-md5b.asm
+++ b/src/test/ref/atarixl-md5b.asm
@@ -11,7 +11,7 @@
   .label idx = $b
 .segment Code
 __start: {
-    // __ma char * line = 0x0400
+    // __ma char * line = (char*)0x0400
     lda #<$400
     sta.z line
     lda #>$400
@@ -29,7 +29,7 @@ main: {
     lda #>$400
     sta.z s+1
   __b1:
-    // for(char* s=0x0400;s<0x0800;s++)
+    // for(char* s=(char*)0x0400;s<0x0800;s++)
     lda.z s+1
     cmp #>$800
     bcc __b2
@@ -47,7 +47,7 @@ main: {
     lda #' '
     ldy #0
     sta (s),y
-    // for(char* s=0x0400;s<0x0800;s++)
+    // for(char* s=(char*)0x0400;s<0x0800;s++)
     inc.z s
     bne !+
     inc.z s+1
diff --git a/src/test/ref/atarixl-md5b.log b/src/test/ref/atarixl-md5b.log
index 69f908ce8..6fbf25035 100644
--- a/src/test/ref/atarixl-md5b.log
+++ b/src/test/ref/atarixl-md5b.log
@@ -1386,7 +1386,7 @@ Score: 1690
   // __start
 __start: {
     // __start::__init1
-    // __ma char * line = 0x0400
+    // __ma char * line = (char*)0x0400
     // [1] line = (byte*) 1024 -- pbuz1=pbuc1 
     lda #<$400
     sta.z line
@@ -1416,7 +1416,7 @@ main: {
     sta.z s+1
     // main::@1
   __b1:
-    // for(char* s=0x0400;s<0x0800;s++)
+    // for(char* s=(char*)0x0400;s<0x0800;s++)
     // [8] if(main::s#2<$800) goto main::@2 -- pbuz1_lt_vwuc1_then_la1 
     lda.z s+1
     cmp #>$800
@@ -1443,7 +1443,7 @@ main: {
     lda #' '
     ldy #0
     sta (s),y
-    // for(char* s=0x0400;s<0x0800;s++)
+    // for(char* s=(char*)0x0400;s<0x0800;s++)
     // [13] main::s#1 = ++ main::s#2 -- pbuz1=_inc_pbuz1 
     inc.z s
     bne !+
diff --git a/src/test/ref/c64dtv-8bppcharstretch.cfg b/src/test/ref/c64dtv-8bppcharstretch.cfg
index 85c82e9e5..d25a00b34 100644
--- a/src/test/ref/c64dtv-8bppcharstretch.cfg
+++ b/src/test/ref/c64dtv-8bppcharstretch.cfg
@@ -107,7 +107,7 @@ gfx_init_plane_charset8::@9: scope:[gfx_init_plane_charset8]  from gfx_init_plan
 gfx_init_plane_charset8::@1: scope:[gfx_init_plane_charset8]  from gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@9
   [62] gfx_init_plane_charset8::ch#8 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::ch#1, gfx_init_plane_charset8::@9/0 )
   [62] gfx_init_plane_charset8::col#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::col#1, gfx_init_plane_charset8::@9/0 )
-  [62] gfx_init_plane_charset8::gfxa#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::gfxa#1, gfx_init_plane_charset8::@9/(byte*)$4000 )
+  [62] gfx_init_plane_charset8::gfxa#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::gfxa#1, gfx_init_plane_charset8::@9/(byte*) 16384 )
   [62] gfx_init_plane_charset8::chargen#3 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::chargen#1, gfx_init_plane_charset8::@9/CHARGEN+1 )
   to:gfx_init_plane_charset8::@2
 gfx_init_plane_charset8::@2: scope:[gfx_init_plane_charset8]  from gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@6
diff --git a/src/test/ref/c64dtv-8bppcharstretch.log b/src/test/ref/c64dtv-8bppcharstretch.log
index cf8b64140..8ccdc6236 100644
--- a/src/test/ref/c64dtv-8bppcharstretch.log
+++ b/src/test/ref/c64dtv-8bppcharstretch.log
@@ -447,7 +447,8 @@ Adding number conversion cast (unumber) $f in gfx_init_screen0::$2 = gfx_init_sc
 Adding number conversion cast (unumber) gfx_init_screen0::$2 in gfx_init_screen0::$2 = gfx_init_screen0::cx#2 & (unumber)$f
 Adding number conversion cast (unumber) gfx_init_screen0::$3 in gfx_init_screen0::$3 = gfx_init_screen0::$1 | gfx_init_screen0::$2
 Adding number conversion cast (unumber) $4000 in gfx_init_plane_charset8::gfxbCpuBank#0 = (byte)CHARSET8/$4000
-Adding number conversion cast (unumber) $3fff in gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+(word)CHARSET8&$3fff
+Adding number conversion cast (unumber) (word)CHARSET8&$3fff in gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+(word)CHARSET8&$3fff
+Adding number conversion cast (unumber) $3fff in gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+(unumber)(word)CHARSET8&$3fff
 Adding number conversion cast (unumber) 1 in gfx_init_plane_charset8::chargen#0 = CHARGEN+1
 Adding number conversion cast (unumber) $80 in gfx_init_plane_charset8::$2 = gfx_init_plane_charset8::bits#2 & $80
 Adding number conversion cast (unumber) gfx_init_plane_charset8::$2 in gfx_init_plane_charset8::$2 = gfx_init_plane_charset8::bits#2 & (unumber)$80
@@ -457,7 +458,6 @@ Adding number conversion cast (unumber) gfx_init_plane_charset8::$5 in gfx_init_
 Successful SSA optimization PassNAddNumberTypeConversions
 Adding number conversion cast (unumber) $40 in *VICII_MEMORY = ((unumber)) (byte)(word)SCREEN&(unumber)$3fff/$40|(unumber)>(word)SCREEN&(unumber)$3fff/4
 Adding number conversion cast (unumber) 4 in *VICII_MEMORY = ((unumber)) (byte)(word)SCREEN&(unumber)$3fff/(unumber)$40|(unumber)>(word)SCREEN&(unumber)$3fff/4
-Adding number conversion cast (unumber) $4000 in gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+(word)CHARSET8&(unumber)$3fff
 Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast *VICII_CONTROL1 = (unumber)VICII_DEN|VICII_ECM|VICII_RSEL|(unumber)3
 Inlining cast *DTV_PLANEA_START_HI = (unumber)0
@@ -531,7 +531,8 @@ Simplifying constant integer cast $f
 Simplifying constant integer cast $10
 Simplifying constant integer cast $f
 Simplifying constant integer cast $4000
-Simplifying constant integer cast $4000
+Simplifying constant pointer cast (byte*) 16384
+Simplifying constant integer cast (word)CHARSET8&(unumber)$3fff
 Simplifying constant integer cast $3fff
 Simplifying constant integer cast 1
 Simplifying constant integer cast $80
@@ -563,7 +564,6 @@ Finalized unsigned number type (byte) $f
 Finalized unsigned number type (byte) $10
 Finalized unsigned number type (byte) $f
 Finalized unsigned number type (word) $4000
-Finalized unsigned number type (word) $4000
 Finalized unsigned number type (word) $3fff
 Finalized unsigned number type (byte) 1
 Finalized unsigned number type (byte) $80
@@ -630,7 +630,7 @@ Constant gfx_init_screen0::ch#0 = SCREEN
 Constant gfx_init_screen0::cy#0 = 0
 Constant gfx_init_screen0::cx#0 = 0
 Constant gfx_init_plane_charset8::gfxbCpuBank#0 = (byte)CHARSET8/$4000
-Constant gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+(word)CHARSET8&$3fff
+Constant gfx_init_plane_charset8::gfxa#0 = (byte*) 16384+(word)CHARSET8&$3fff
 Constant gfx_init_plane_charset8::chargen#0 = CHARGEN+1
 Constant gfx_init_plane_charset8::col#0 = 0
 Constant gfx_init_plane_charset8::ch#0 = 0
@@ -659,7 +659,7 @@ Simplifying constant evaluating to zero (word)CHARSET8&$3fff in
 Simplifying constant evaluating to zero <SCREEN in [12] *DTV_PLANEA_START_LO = <SCREEN
 Simplifying constant evaluating to zero <CHARSET8 in [18] *DTV_PLANEB_START_LO = <CHARSET8
 Successful SSA optimization PassNSimplifyConstantZero
-Simplifying expression containing zero $4000 in 
+Simplifying expression containing zero (byte*) 16384 in 
 Simplifying expression containing zero (byte*)CIA2 in [25] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = 3^(byte)(word)SCREEN/$4000
 Successful SSA optimization PassNSimplifyExpressionWithZero
 Removing unused block main::@return
@@ -716,7 +716,7 @@ Inlining constant with var siblings gfx_init_plane_charset8::c#0
 Constant inlined dtvSetCpuBankSegment1::cpuBankIdx#1 = (byte)$4000/$4000
 Constant inlined gfx_init_screen0::cx#0 = 0
 Constant inlined dtvSetCpuBankSegment1::cpuBankIdx#0 = gfx_init_plane_charset8::gfxbCpuBank#0
-Constant inlined gfx_init_plane_charset8::gfxa#0 = (byte*)$4000
+Constant inlined gfx_init_plane_charset8::gfxa#0 = (byte*) 16384
 Constant inlined main::rst#0 = $42
 Constant inlined gfx_init_plane_charset8::cp#0 = 0
 Constant inlined gfx_init_screen0::cy#0 = 0
@@ -905,7 +905,7 @@ gfx_init_plane_charset8::@9: scope:[gfx_init_plane_charset8]  from gfx_init_plan
 gfx_init_plane_charset8::@1: scope:[gfx_init_plane_charset8]  from gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@9
   [62] gfx_init_plane_charset8::ch#8 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::ch#1, gfx_init_plane_charset8::@9/0 )
   [62] gfx_init_plane_charset8::col#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::col#1, gfx_init_plane_charset8::@9/0 )
-  [62] gfx_init_plane_charset8::gfxa#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::gfxa#1, gfx_init_plane_charset8::@9/(byte*)$4000 )
+  [62] gfx_init_plane_charset8::gfxa#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::gfxa#1, gfx_init_plane_charset8::@9/(byte*) 16384 )
   [62] gfx_init_plane_charset8::chargen#3 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::chargen#1, gfx_init_plane_charset8::@9/CHARGEN+1 )
   to:gfx_init_plane_charset8::@2
 gfx_init_plane_charset8::@2: scope:[gfx_init_plane_charset8]  from gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@6
@@ -1677,7 +1677,7 @@ gfx_init_plane_charset8: {
     // [62] phi gfx_init_plane_charset8::col#6 = 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 
     lda #0
     sta.z col
-    // [62] phi gfx_init_plane_charset8::gfxa#6 = (byte*)$4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 
+    // [62] phi gfx_init_plane_charset8::gfxa#6 = (byte*) 16384 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 
     lda #<$4000
     sta.z gfxa
     lda #>$4000
@@ -2485,7 +2485,7 @@ gfx_init_plane_charset8: {
     sta.z ch
     // [62] phi gfx_init_plane_charset8::col#6 = 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 
     sta.z col
-    // [62] phi gfx_init_plane_charset8::gfxa#6 = (byte*)$4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 
+    // [62] phi gfx_init_plane_charset8::gfxa#6 = (byte*) 16384 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 
     lda #<$4000
     sta.z gfxa
     lda #>$4000
diff --git a/src/test/ref/c64dtv-gfxexplorer.cfg b/src/test/ref/c64dtv-gfxexplorer.cfg
index 1fd5b89fc..50b0741df 100644
--- a/src/test/ref/c64dtv-gfxexplorer.cfg
+++ b/src/test/ref/c64dtv-gfxexplorer.cfg
@@ -660,7 +660,7 @@ gfx_init_plane_charset8::@9: scope:[gfx_init_plane_charset8]  from gfx_init_plan
 gfx_init_plane_charset8::@1: scope:[gfx_init_plane_charset8]  from gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@9
   [349] gfx_init_plane_charset8::ch#8 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::ch#1, gfx_init_plane_charset8::@9/0 )
   [349] gfx_init_plane_charset8::col#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::col#1, gfx_init_plane_charset8::@9/0 )
-  [349] gfx_init_plane_charset8::gfxa#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::gfxa#1, gfx_init_plane_charset8::@9/(byte*)$4000 )
+  [349] gfx_init_plane_charset8::gfxa#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::gfxa#1, gfx_init_plane_charset8::@9/(byte*) 16384 )
   [349] gfx_init_plane_charset8::chargen#3 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::chargen#1, gfx_init_plane_charset8::@9/CHARGEN )
   to:gfx_init_plane_charset8::@2
 gfx_init_plane_charset8::@2: scope:[gfx_init_plane_charset8]  from gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@6
@@ -713,7 +713,7 @@ gfx_init_plane_horisontal: scope:[gfx_init_plane_horisontal]  from gfx_init::@9
   [372] call dtvSetCpuBankSegment1 
   to:gfx_init_plane_horisontal::@1
 gfx_init_plane_horisontal::@1: scope:[gfx_init_plane_horisontal]  from gfx_init_plane_horisontal gfx_init_plane_horisontal::@6
-  [373] gfx_init_plane_horisontal::gfxa#6 = phi( gfx_init_plane_horisontal::@6/gfx_init_plane_horisontal::gfxa#7, gfx_init_plane_horisontal/(byte*)$4000 )
+  [373] gfx_init_plane_horisontal::gfxa#6 = phi( gfx_init_plane_horisontal::@6/gfx_init_plane_horisontal::gfxa#7, gfx_init_plane_horisontal/(byte*) 16384 )
   [373] gfx_init_plane_horisontal::ay#4 = phi( gfx_init_plane_horisontal::@6/gfx_init_plane_horisontal::ay#1, gfx_init_plane_horisontal/0 )
   to:gfx_init_plane_horisontal::@2
 gfx_init_plane_horisontal::@2: scope:[gfx_init_plane_horisontal]  from gfx_init_plane_horisontal::@1 gfx_init_plane_horisontal::@4
@@ -754,7 +754,7 @@ gfx_init_plane_vertical: scope:[gfx_init_plane_vertical]  from gfx_init::@10
   to:gfx_init_plane_vertical::@1
 gfx_init_plane_vertical::@1: scope:[gfx_init_plane_vertical]  from gfx_init_plane_vertical gfx_init_plane_vertical::@3
   [391] gfx_init_plane_vertical::by#4 = phi( gfx_init_plane_vertical::@3/gfx_init_plane_vertical::by#1, gfx_init_plane_vertical/0 )
-  [391] gfx_init_plane_vertical::gfxb#3 = phi( gfx_init_plane_vertical::@3/gfx_init_plane_vertical::gfxb#1, gfx_init_plane_vertical/(byte*)$4000+PLANE_VERTICAL&$3fff )
+  [391] gfx_init_plane_vertical::gfxb#3 = phi( gfx_init_plane_vertical::@3/gfx_init_plane_vertical::gfxb#1, gfx_init_plane_vertical/(byte*) 16384+PLANE_VERTICAL&$3fff )
   to:gfx_init_plane_vertical::@2
 gfx_init_plane_vertical::@2: scope:[gfx_init_plane_vertical]  from gfx_init_plane_vertical::@1 gfx_init_plane_vertical::@2
   [392] gfx_init_plane_vertical::bx#2 = phi( gfx_init_plane_vertical::@1/0, gfx_init_plane_vertical::@2/gfx_init_plane_vertical::bx#1 )
@@ -782,7 +782,7 @@ gfx_init_plane_horisontal2: scope:[gfx_init_plane_horisontal2]  from gfx_init::@
   [403] call dtvSetCpuBankSegment1 
   to:gfx_init_plane_horisontal2::@1
 gfx_init_plane_horisontal2::@1: scope:[gfx_init_plane_horisontal2]  from gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@3
-  [404] gfx_init_plane_horisontal2::gfxa#3 = phi( gfx_init_plane_horisontal2::@3/gfx_init_plane_horisontal2::gfxa#1, gfx_init_plane_horisontal2/(byte*)$4000 )
+  [404] gfx_init_plane_horisontal2::gfxa#3 = phi( gfx_init_plane_horisontal2::@3/gfx_init_plane_horisontal2::gfxa#1, gfx_init_plane_horisontal2/(byte*) 16384 )
   [404] gfx_init_plane_horisontal2::ay#4 = phi( gfx_init_plane_horisontal2::@3/gfx_init_plane_horisontal2::ay#1, gfx_init_plane_horisontal2/0 )
   to:gfx_init_plane_horisontal2::@2
 gfx_init_plane_horisontal2::@2: scope:[gfx_init_plane_horisontal2]  from gfx_init_plane_horisontal2::@1 gfx_init_plane_horisontal2::@2
diff --git a/src/test/ref/c64dtv-gfxexplorer.log b/src/test/ref/c64dtv-gfxexplorer.log
index 7f67564cb..0f75ccc5f 100644
--- a/src/test/ref/c64dtv-gfxexplorer.log
+++ b/src/test/ref/c64dtv-gfxexplorer.log
@@ -5793,23 +5793,27 @@ Adding number conversion cast (unumber) gfx_init_VICII_bitmap::$4 in gfx_init_VI
 Adding number conversion cast (unumber) $4000 in gfx_init_plane_8bppchunky::gfxbCpuBank#0 = (byte)PLANE_8BPP_CHUNKY/$4000
 Adding number conversion cast (unumber) $8000 in gfx_init_plane_8bppchunky::$2 = gfx_init_plane_8bppchunky::gfxb#3 == $8000
 Adding number conversion cast (unumber) $4000 in gfx_init_plane_horisontal::gfxbCpuBank#0 = (byte)PLANE_HORISONTAL/$4000
-Adding number conversion cast (unumber) $3fff in gfx_init_plane_horisontal::gfxa#0 = (byte*)$4000+PLANE_HORISONTAL&$3fff
+Adding number conversion cast (unumber) PLANE_HORISONTAL&$3fff in gfx_init_plane_horisontal::gfxa#0 = (byte*)$4000+PLANE_HORISONTAL&$3fff
+Adding number conversion cast (unumber) $3fff in gfx_init_plane_horisontal::gfxa#0 = (byte*)$4000+(unumber)PLANE_HORISONTAL&$3fff
 Adding number conversion cast (unumber) 4 in gfx_init_plane_horisontal::$2 = gfx_init_plane_horisontal::ay#2 & 4
 Adding number conversion cast (unumber) gfx_init_plane_horisontal::$2 in gfx_init_plane_horisontal::$2 = gfx_init_plane_horisontal::ay#2 & (unumber)4
 Adding number conversion cast (unumber) 0 in gfx_init_plane_horisontal::$3 = gfx_init_plane_horisontal::$2 == 0
 Adding number conversion cast (unumber) 0 in *gfx_init_plane_horisontal::gfxa#3 = 0
 Adding number conversion cast (unumber) $ff in *gfx_init_plane_horisontal::gfxa#4 = $ff
 Adding number conversion cast (unumber) $4000 in gfx_init_plane_horisontal2::gfxbCpuBank#0 = (byte)PLANE_HORISONTAL2/$4000
-Adding number conversion cast (unumber) $3fff in gfx_init_plane_horisontal2::gfxa#0 = (byte*)$4000+PLANE_HORISONTAL2&$3fff
+Adding number conversion cast (unumber) PLANE_HORISONTAL2&$3fff in gfx_init_plane_horisontal2::gfxa#0 = (byte*)$4000+PLANE_HORISONTAL2&$3fff
+Adding number conversion cast (unumber) $3fff in gfx_init_plane_horisontal2::gfxa#0 = (byte*)$4000+(unumber)PLANE_HORISONTAL2&$3fff
 Adding number conversion cast (unumber) 2 in gfx_init_plane_horisontal2::$2 = gfx_init_plane_horisontal2::ay#2 / 2
 Adding number conversion cast (unumber) gfx_init_plane_horisontal2::$2 in gfx_init_plane_horisontal2::$2 = gfx_init_plane_horisontal2::ay#2 / (unumber)2
 Adding number conversion cast (unumber) 3 in gfx_init_plane_horisontal2::$3 = gfx_init_plane_horisontal2::$2 & 3
 Adding number conversion cast (unumber) gfx_init_plane_horisontal2::$3 in gfx_init_plane_horisontal2::$3 = gfx_init_plane_horisontal2::$2 & (unumber)3
 Adding number conversion cast (unumber) $4000 in gfx_init_plane_vertical::gfxbCpuBank#0 = (byte)PLANE_VERTICAL/$4000
-Adding number conversion cast (unumber) $3fff in gfx_init_plane_vertical::gfxb#0 = (byte*)$4000+PLANE_VERTICAL&$3fff
+Adding number conversion cast (unumber) PLANE_VERTICAL&$3fff in gfx_init_plane_vertical::gfxb#0 = (byte*)$4000+PLANE_VERTICAL&$3fff
+Adding number conversion cast (unumber) $3fff in gfx_init_plane_vertical::gfxb#0 = (byte*)$4000+(unumber)PLANE_VERTICAL&$3fff
 Adding number conversion cast (unumber) $f in *gfx_init_plane_vertical::gfxb#2 = $f
 Adding number conversion cast (unumber) $4000 in gfx_init_plane_charset8::gfxbCpuBank#0 = (byte)PLANE_CHARSET8/$4000
-Adding number conversion cast (unumber) $3fff in gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+PLANE_CHARSET8&$3fff
+Adding number conversion cast (unumber) PLANE_CHARSET8&$3fff in gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+PLANE_CHARSET8&$3fff
+Adding number conversion cast (unumber) $3fff in gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+(unumber)PLANE_CHARSET8&$3fff
 Adding number conversion cast (unumber) $80 in gfx_init_plane_charset8::$2 = gfx_init_plane_charset8::bits#2 & $80
 Adding number conversion cast (unumber) gfx_init_plane_charset8::$2 in gfx_init_plane_charset8::$2 = gfx_init_plane_charset8::bits#2 & (unumber)$80
 Adding number conversion cast (unumber) 0 in gfx_init_plane_charset8::$3 = gfx_init_plane_charset8::$2 != 0
@@ -5867,10 +5871,6 @@ Adding number conversion cast (unumber) 0 in form_control::return#4 = 0
 Adding number conversion cast (unumber) $ff in form_control::return#5 = $ff
 Adding number conversion cast (snumber) 2 in form_cursor_count#8 = (signed byte)FORM_CURSOR_BLINK/2
 Successful SSA optimization PassNAddNumberTypeConversions
-Adding number conversion cast (unumber) $4000 in gfx_init_plane_horisontal::gfxa#0 = (byte*)$4000+PLANE_HORISONTAL&(unumber)$3fff
-Adding number conversion cast (unumber) $4000 in gfx_init_plane_horisontal2::gfxa#0 = (byte*)$4000+PLANE_HORISONTAL2&(unumber)$3fff
-Adding number conversion cast (unumber) $4000 in gfx_init_plane_vertical::gfxb#0 = (byte*)$4000+PLANE_VERTICAL&(unumber)$3fff
-Adding number conversion cast (unumber) $4000 in gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+PLANE_CHARSET8&(unumber)$3fff
 Adding number conversion cast (unumber) $40 in *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY) = (byte)(word)FORM_SCREEN&(unumber)$3fff/$40|(word)FORM_CHARSET&(unumber)$3fff/$400
 Adding number conversion cast (unumber) $400 in *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY) = (byte)(word)FORM_SCREEN&(unumber)$3fff/(unumber)$40|(word)FORM_CHARSET&(unumber)$3fff/$400
 Successful SSA optimization PassNAddNumberTypeConversions
@@ -6136,23 +6136,27 @@ Simplifying constant pointer cast (byte*) 16384
 Simplifying constant integer cast $8000
 Simplifying constant pointer cast (byte*) 16384
 Simplifying constant integer cast $4000
-Simplifying constant integer cast $4000
+Simplifying constant pointer cast (byte*) 16384
+Simplifying constant integer cast PLANE_HORISONTAL&(unumber)$3fff
 Simplifying constant integer cast $3fff
 Simplifying constant integer cast 4
 Simplifying constant integer cast 0
 Simplifying constant integer cast 0
 Simplifying constant integer cast $ff
 Simplifying constant integer cast $4000
-Simplifying constant integer cast $4000
+Simplifying constant pointer cast (byte*) 16384
+Simplifying constant integer cast PLANE_HORISONTAL2&(unumber)$3fff
 Simplifying constant integer cast $3fff
 Simplifying constant integer cast 2
 Simplifying constant integer cast 3
 Simplifying constant integer cast $4000
-Simplifying constant integer cast $4000
+Simplifying constant pointer cast (byte*) 16384
+Simplifying constant integer cast PLANE_VERTICAL&(unumber)$3fff
 Simplifying constant integer cast $3fff
 Simplifying constant integer cast $f
 Simplifying constant integer cast $4000
-Simplifying constant integer cast $4000
+Simplifying constant pointer cast (byte*) 16384
+Simplifying constant integer cast PLANE_CHARSET8&(unumber)$3fff
 Simplifying constant integer cast $3fff
 Simplifying constant integer cast $80
 Simplifying constant integer cast 0
@@ -6379,23 +6383,19 @@ Finalized unsigned number type (byte) 1
 Finalized unsigned number type (word) $4000
 Finalized unsigned number type (word) $8000
 Finalized unsigned number type (word) $4000
-Finalized unsigned number type (word) $4000
 Finalized unsigned number type (word) $3fff
 Finalized unsigned number type (byte) 4
 Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) $ff
 Finalized unsigned number type (word) $4000
-Finalized unsigned number type (word) $4000
 Finalized unsigned number type (word) $3fff
 Finalized unsigned number type (byte) 2
 Finalized unsigned number type (byte) 3
 Finalized unsigned number type (word) $4000
-Finalized unsigned number type (word) $4000
 Finalized unsigned number type (word) $3fff
 Finalized unsigned number type (byte) $f
 Finalized unsigned number type (word) $4000
-Finalized unsigned number type (word) $4000
 Finalized unsigned number type (word) $3fff
 Finalized unsigned number type (byte) $80
 Finalized unsigned number type (byte) 0
@@ -7419,22 +7419,22 @@ Constant gfx_init_plane_8bppchunky::x#0 = 0
 Constant gfx_init_plane_8bppchunky::gfxb#2 = (byte*) 16384
 Constant dtvSetCpuBankSegment1::cpuBankIdx#2 = (byte)$4000/$4000
 Constant gfx_init_plane_horisontal::gfxbCpuBank#0 = (byte)PLANE_HORISONTAL/$4000
-Constant gfx_init_plane_horisontal::gfxa#0 = (byte*)$4000+PLANE_HORISONTAL&$3fff
+Constant gfx_init_plane_horisontal::gfxa#0 = (byte*) 16384+PLANE_HORISONTAL&$3fff
 Constant gfx_init_plane_horisontal::ay#0 = 0
 Constant gfx_init_plane_horisontal::ax#0 = 0
 Constant dtvSetCpuBankSegment1::cpuBankIdx#4 = (byte)$4000/$4000
 Constant gfx_init_plane_horisontal2::gfxbCpuBank#0 = (byte)PLANE_HORISONTAL2/$4000
-Constant gfx_init_plane_horisontal2::gfxa#0 = (byte*)$4000+PLANE_HORISONTAL2&$3fff
+Constant gfx_init_plane_horisontal2::gfxa#0 = (byte*) 16384+PLANE_HORISONTAL2&$3fff
 Constant gfx_init_plane_horisontal2::ay#0 = 0
 Constant gfx_init_plane_horisontal2::ax#0 = 0
 Constant dtvSetCpuBankSegment1::cpuBankIdx#6 = (byte)$4000/$4000
 Constant gfx_init_plane_vertical::gfxbCpuBank#0 = (byte)PLANE_VERTICAL/$4000
-Constant gfx_init_plane_vertical::gfxb#0 = (byte*)$4000+PLANE_VERTICAL&$3fff
+Constant gfx_init_plane_vertical::gfxb#0 = (byte*) 16384+PLANE_VERTICAL&$3fff
 Constant gfx_init_plane_vertical::by#0 = 0
 Constant gfx_init_plane_vertical::bx#0 = 0
 Constant dtvSetCpuBankSegment1::cpuBankIdx#8 = (byte)$4000/$4000
 Constant gfx_init_plane_charset8::gfxbCpuBank#0 = (byte)PLANE_CHARSET8/$4000
-Constant gfx_init_plane_charset8::gfxa#0 = (byte*)$4000+PLANE_CHARSET8&$3fff
+Constant gfx_init_plane_charset8::gfxa#0 = (byte*) 16384+PLANE_CHARSET8&$3fff
 Constant gfx_init_plane_charset8::chargen#0 = CHARGEN
 Constant gfx_init_plane_charset8::col#0 = 0
 Constant gfx_init_plane_charset8::ch#0 = 0
@@ -7579,9 +7579,9 @@ Simplifying constant evaluating to zero (byte)(word)FORM_CHARSET/$4000 in [970]
 Simplifying constant evaluating to zero <FORM_SCREEN in [975] *DTV_PLANEA_START_LO = <FORM_SCREEN
 Successful SSA optimization PassNSimplifyConstantZero
 Simplifying expression containing zero form_fields_val in 
-Simplifying expression containing zero $4000 in 
-Simplifying expression containing zero $4000 in 
-Simplifying expression containing zero $4000 in 
+Simplifying expression containing zero (byte*) 16384 in 
+Simplifying expression containing zero (byte*) 16384 in 
+Simplifying expression containing zero (byte*) 16384 in 
 Simplifying expression containing zero (byte*)CIA1 in [67] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0]
 Simplifying expression containing zero KEY_MODIFIER_LSHIFT in [121] keyboard_modifiers#1 = keyboard_modifiers#0 | KEY_MODIFIER_LSHIFT
 Simplifying expression containing zero bitmap_clear::$0 in [189] bitmap_clear::col#0 = bitmap_clear::$0 + bitmap_clear::bgcol#0
@@ -7968,7 +7968,7 @@ Constant inlined dtvSetCpuBankSegment1::cpuBankIdx#3 = gfx_init_plane_horisontal
 Constant inlined gfx_mode::i#0 = 0
 Constant inlined gfx_init_plane_charset8::cp#0 = 0
 Constant inlined dtvSetCpuBankSegment1::cpuBankIdx#2 = (byte)$4000/$4000
-Constant inlined gfx_init_plane_horisontal::gfxa#0 = (byte*)$4000
+Constant inlined gfx_init_plane_horisontal::gfxa#0 = (byte*) 16384
 Constant inlined gfx_init_screen3::cx#0 = 0
 Constant inlined apply_preset::i#0 = 0
 Constant inlined gfx_init_plane_horisontal::ax#0 = 0
@@ -8013,7 +8013,7 @@ Constant inlined sgn_u16::return#3 = 1
 Constant inlined sgn_u16::return#2 = -1
 Constant inlined keyboard_events_size#16 = 0
 Constant inlined gfx_init_plane_horisontal2::ay#0 = 0
-Constant inlined gfx_init_plane_vertical::gfxb#0 = (byte*)$4000+PLANE_VERTICAL&$3fff
+Constant inlined gfx_init_plane_vertical::gfxb#0 = (byte*) 16384+PLANE_VERTICAL&$3fff
 Constant inlined get_VICII_screen::return#2 = VICII_SCREEN2
 Constant inlined apply_preset::preset#11 = preset_8bpppixelcell
 Constant inlined gfx_init_screen0::cx#0 = 0
@@ -8054,7 +8054,7 @@ Constant inlined get_plane::return#0 = (dword)VICII_SCREEN0
 Constant inlined bitmap_init::gfx#0 = VICII_BITMAP
 Constant inlined print_str_at::at#1 = FORM_SCREEN+(byte)$28*2+$a
 Constant inlined get_plane::return#1 = (dword)VICII_SCREEN1
-Constant inlined gfx_init_plane_horisontal2::gfxa#0 = (byte*)$4000
+Constant inlined gfx_init_plane_horisontal2::gfxa#0 = (byte*) 16384
 Constant inlined get_plane::return#6 = PLANE_8BPP_CHUNKY
 Constant inlined keyboard_modifiers#0 = 0
 Constant inlined get_plane::return#7 = PLANE_HORISONTAL
@@ -8092,7 +8092,7 @@ Constant inlined gfx_init_screen4::cx#0 = 0
 Constant inlined bitmap_init::x#0 = 0
 Constant inlined render_preset_name::$13 = render_preset_name::name#2
 Constant inlined render_preset_name::$14 = render_preset_name::name#3
-Constant inlined gfx_init_plane_charset8::gfxa#0 = (byte*)$4000
+Constant inlined gfx_init_plane_charset8::gfxa#0 = (byte*) 16384
 Constant inlined render_preset_name::$15 = render_preset_name::name#4
 Constant inlined render_preset_name::$16 = render_preset_name::name#5
 Constant inlined gfx_init_VICII_bitmap::l#0 = 0
@@ -9699,7 +9699,7 @@ gfx_init_plane_charset8::@9: scope:[gfx_init_plane_charset8]  from gfx_init_plan
 gfx_init_plane_charset8::@1: scope:[gfx_init_plane_charset8]  from gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@9
   [349] gfx_init_plane_charset8::ch#8 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::ch#1, gfx_init_plane_charset8::@9/0 )
   [349] gfx_init_plane_charset8::col#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::col#1, gfx_init_plane_charset8::@9/0 )
-  [349] gfx_init_plane_charset8::gfxa#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::gfxa#1, gfx_init_plane_charset8::@9/(byte*)$4000 )
+  [349] gfx_init_plane_charset8::gfxa#6 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::gfxa#1, gfx_init_plane_charset8::@9/(byte*) 16384 )
   [349] gfx_init_plane_charset8::chargen#3 = phi( gfx_init_plane_charset8::@7/gfx_init_plane_charset8::chargen#1, gfx_init_plane_charset8::@9/CHARGEN )
   to:gfx_init_plane_charset8::@2
 gfx_init_plane_charset8::@2: scope:[gfx_init_plane_charset8]  from gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@6
@@ -9752,7 +9752,7 @@ gfx_init_plane_horisontal: scope:[gfx_init_plane_horisontal]  from gfx_init::@9
   [372] call dtvSetCpuBankSegment1 
   to:gfx_init_plane_horisontal::@1
 gfx_init_plane_horisontal::@1: scope:[gfx_init_plane_horisontal]  from gfx_init_plane_horisontal gfx_init_plane_horisontal::@6
-  [373] gfx_init_plane_horisontal::gfxa#6 = phi( gfx_init_plane_horisontal::@6/gfx_init_plane_horisontal::gfxa#7, gfx_init_plane_horisontal/(byte*)$4000 )
+  [373] gfx_init_plane_horisontal::gfxa#6 = phi( gfx_init_plane_horisontal::@6/gfx_init_plane_horisontal::gfxa#7, gfx_init_plane_horisontal/(byte*) 16384 )
   [373] gfx_init_plane_horisontal::ay#4 = phi( gfx_init_plane_horisontal::@6/gfx_init_plane_horisontal::ay#1, gfx_init_plane_horisontal/0 )
   to:gfx_init_plane_horisontal::@2
 gfx_init_plane_horisontal::@2: scope:[gfx_init_plane_horisontal]  from gfx_init_plane_horisontal::@1 gfx_init_plane_horisontal::@4
@@ -9793,7 +9793,7 @@ gfx_init_plane_vertical: scope:[gfx_init_plane_vertical]  from gfx_init::@10
   to:gfx_init_plane_vertical::@1
 gfx_init_plane_vertical::@1: scope:[gfx_init_plane_vertical]  from gfx_init_plane_vertical gfx_init_plane_vertical::@3
   [391] gfx_init_plane_vertical::by#4 = phi( gfx_init_plane_vertical::@3/gfx_init_plane_vertical::by#1, gfx_init_plane_vertical/0 )
-  [391] gfx_init_plane_vertical::gfxb#3 = phi( gfx_init_plane_vertical::@3/gfx_init_plane_vertical::gfxb#1, gfx_init_plane_vertical/(byte*)$4000+PLANE_VERTICAL&$3fff )
+  [391] gfx_init_plane_vertical::gfxb#3 = phi( gfx_init_plane_vertical::@3/gfx_init_plane_vertical::gfxb#1, gfx_init_plane_vertical/(byte*) 16384+PLANE_VERTICAL&$3fff )
   to:gfx_init_plane_vertical::@2
 gfx_init_plane_vertical::@2: scope:[gfx_init_plane_vertical]  from gfx_init_plane_vertical::@1 gfx_init_plane_vertical::@2
   [392] gfx_init_plane_vertical::bx#2 = phi( gfx_init_plane_vertical::@1/0, gfx_init_plane_vertical::@2/gfx_init_plane_vertical::bx#1 )
@@ -9821,7 +9821,7 @@ gfx_init_plane_horisontal2: scope:[gfx_init_plane_horisontal2]  from gfx_init::@
   [403] call dtvSetCpuBankSegment1 
   to:gfx_init_plane_horisontal2::@1
 gfx_init_plane_horisontal2::@1: scope:[gfx_init_plane_horisontal2]  from gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@3
-  [404] gfx_init_plane_horisontal2::gfxa#3 = phi( gfx_init_plane_horisontal2::@3/gfx_init_plane_horisontal2::gfxa#1, gfx_init_plane_horisontal2/(byte*)$4000 )
+  [404] gfx_init_plane_horisontal2::gfxa#3 = phi( gfx_init_plane_horisontal2::@3/gfx_init_plane_horisontal2::gfxa#1, gfx_init_plane_horisontal2/(byte*) 16384 )
   [404] gfx_init_plane_horisontal2::ay#4 = phi( gfx_init_plane_horisontal2::@3/gfx_init_plane_horisontal2::ay#1, gfx_init_plane_horisontal2/0 )
   to:gfx_init_plane_horisontal2::@2
 gfx_init_plane_horisontal2::@2: scope:[gfx_init_plane_horisontal2]  from gfx_init_plane_horisontal2::@1 gfx_init_plane_horisontal2::@2
@@ -15408,7 +15408,7 @@ gfx_init_plane_charset8: {
     // [349] phi gfx_init_plane_charset8::col#6 = 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 
     lda #0
     sta.z col
-    // [349] phi gfx_init_plane_charset8::gfxa#6 = (byte*)$4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 
+    // [349] phi gfx_init_plane_charset8::gfxa#6 = (byte*) 16384 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 
     lda #<$4000
     sta.z gfxa
     lda #>$4000
@@ -15561,7 +15561,7 @@ gfx_init_plane_horisontal: {
     jsr dtvSetCpuBankSegment1
     // [373] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1]
   __b1_from_gfx_init_plane_horisontal:
-    // [373] phi gfx_init_plane_horisontal::gfxa#6 = (byte*)$4000 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 
+    // [373] phi gfx_init_plane_horisontal::gfxa#6 = (byte*) 16384 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 
     lda #<$4000
     sta.z gfxa
     lda #>$4000
@@ -15676,7 +15676,7 @@ gfx_init_plane_vertical: {
     // [391] phi gfx_init_plane_vertical::by#4 = 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 
     lda #0
     sta.z by
-    // [391] phi gfx_init_plane_vertical::gfxb#3 = (byte*)$4000+PLANE_VERTICAL&$3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 
+    // [391] phi gfx_init_plane_vertical::gfxb#3 = (byte*) 16384+PLANE_VERTICAL&$3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 
     lda #<$4000+(PLANE_VERTICAL&$3fff)
     sta.z gfxb
     lda #>$4000+(PLANE_VERTICAL&$3fff)
@@ -15757,7 +15757,7 @@ gfx_init_plane_horisontal2: {
     jsr dtvSetCpuBankSegment1
     // [404] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1]
   __b1_from_gfx_init_plane_horisontal2:
-    // [404] phi gfx_init_plane_horisontal2::gfxa#3 = (byte*)$4000 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 
+    // [404] phi gfx_init_plane_horisontal2::gfxa#3 = (byte*) 16384 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 
     lda #<$4000
     sta.z gfxa
     lda #>$4000
@@ -22480,7 +22480,7 @@ gfx_init_plane_charset8: {
     sta.z ch
     // [349] phi gfx_init_plane_charset8::col#6 = 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 
     sta.z col
-    // [349] phi gfx_init_plane_charset8::gfxa#6 = (byte*)$4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 
+    // [349] phi gfx_init_plane_charset8::gfxa#6 = (byte*) 16384 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 
     lda #<$4000
     sta.z gfxa
     lda #>$4000
@@ -22621,7 +22621,7 @@ gfx_init_plane_horisontal: {
     lda #gfxbCpuBank
     jsr dtvSetCpuBankSegment1
     // [373] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1]
-    // [373] phi gfx_init_plane_horisontal::gfxa#6 = (byte*)$4000 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 
+    // [373] phi gfx_init_plane_horisontal::gfxa#6 = (byte*) 16384 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 
     lda #<$4000
     sta.z gfxa
     lda #>$4000
@@ -22725,7 +22725,7 @@ gfx_init_plane_vertical: {
     // [391] phi gfx_init_plane_vertical::by#4 = 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 
     lda #0
     sta.z by
-    // [391] phi gfx_init_plane_vertical::gfxb#3 = (byte*)$4000+PLANE_VERTICAL&$3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 
+    // [391] phi gfx_init_plane_vertical::gfxb#3 = (byte*) 16384+PLANE_VERTICAL&$3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 
     lda #<$4000+(PLANE_VERTICAL&$3fff)
     sta.z gfxb
     lda #>$4000+(PLANE_VERTICAL&$3fff)
@@ -22796,7 +22796,7 @@ gfx_init_plane_horisontal2: {
     lda #gfxbCpuBank
     jsr dtvSetCpuBankSegment1
     // [404] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1]
-    // [404] phi gfx_init_plane_horisontal2::gfxa#3 = (byte*)$4000 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 
+    // [404] phi gfx_init_plane_horisontal2::gfxa#3 = (byte*) 16384 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 
     lda #<$4000
     sta.z gfxa
     lda #>$4000
diff --git a/src/test/ref/complex/borderline_pacman/pacman.log b/src/test/ref/complex/borderline_pacman/pacman.log
index a26be365e..483a97cf1 100644
--- a/src/test/ref/complex/borderline_pacman/pacman.log
+++ b/src/test/ref/complex/borderline_pacman/pacman.log
@@ -3698,7 +3698,7 @@ constant byte* const RENDER_INDEX = (byte*)$b600
 constant const byte RENDER_OFFSET_CANVAS_HI = $50
 constant const byte RENDER_OFFSET_CANVAS_LO = 0
 constant const byte RENDER_OFFSET_YPOS_INC = $a0
-constant byte** RENDER_XCOLS[$1a]  = { (byte*)0, (byte*)1, (byte*)2, (byte*)$400, (byte*)$401, (byte*)$402, (byte*)$800, (byte*)$801, (byte*)$802, (byte*)$c00, (byte*)$c01, (byte*)$c02, (byte*)$1000, (byte*)$1001, (byte*)$1002, (byte*)$1400, (byte*)$1401, (byte*)$1402, (byte*)$1800, (byte*)$1801, (byte*)$1802, (byte*)$1c00, (byte*)$1c01, (byte*)$1c02, (byte*)0, (byte*)0 }
+constant byte** RENDER_XCOLS[$1a]  = { 0, 1, 2, $400, $401, $402, $800, $801, $802, $c00, $c01, $c02, $1000, $1001, $1002, $1400, $1401, $1402, $1800, $1801, $1802, $1c00, $1c01, $1c02, 0, 0 }
 constant word* RENDER_YPOS[$95]  = { (word)0+0, (word)0+0, (word)0+0, (word)0+6, (word)0+$c, (word)0+$12, (word)0+$18, (word)0+$1e, (word)0+$24, (word)0+$2a, (word)0+$30, (word)0+$36, (word)0+$3c, (word)$40+3, (word)$40+9, (word)$40+$f, (word)$40+$15, (word)$40+$1b, (word)$40+$21, (word)$40+$27, (word)$40+$2d, (word)$40+$33, (word)$40+$39, (word)$80+0, (word)$80+6, (word)$80+$c, (word)$80+$12, (word)$80+$18, (word)$80+$1e, (word)$80+$24, (word)$80+$2a, (word)$80+$30, (word)$80+$36, (word)$80+$3c, (word)$c0+3, (word)$c0+9, (word)$c0+$f, (word)$c0+$15, (word)$c0+$1b, (word)$c0+$21, (word)$c0+$27, (word)$c0+$2d, (word)$c0+$33, (word)$c0+$39, (word)$100+0, (word)$100+6, (word)$100+$c, (word)$100+$12, (word)$100+$18, (word)$100+$1e, (word)$100+$24, (word)$100+$2a, (word)$100+$30, (word)$100+$36, (word)$100+$3c, (word)$140+3, (word)$140+9, (word)$140+$f, (word)$140+$15, (word)$140+$1b, (word)$140+$21, (word)$140+$27, (word)$140+$2d, (word)$140+$33, (word)$140+$39, (word)$180+0, (word)$180+6, (word)$180+$c, (word)$180+$12, (word)$180+$18, (word)$180+$1e, (word)$180+$24, (word)$180+$2a, (word)$180+$30, (word)$180+$36, (word)$180+$3c, (word)$1c0+3, (word)$1c0+9, (word)$1c0+$f, (word)$1c0+$15, (word)$1c0+$1b, (word)$1c0+$21, (word)$1c0+$27, (word)$1c0+$2d, (word)$1c0+$33, (word)$1c0+$39, (word)$200+0, (word)$200+6, (word)$200+$c, (word)$200+$12, (word)$200+$18, (word)$200+$1e, (word)$200+$24, (word)$200+$2a, (word)$200+$30, (word)$200+$36, (word)$200+$3c, (word)$240+3, (word)$240+9, (word)$240+$f, (word)$240+$15, (word)$240+$1b, (word)$240+$21, (word)$240+$27, (word)$240+$2d, (word)$240+$33, (word)$240+$39, (word)$280+0, (word)$280+6, (word)$280+$c, (word)$280+$12, (word)$280+$18, (word)$280+$1e, (word)$280+$24, (word)$280+$2a, (word)$280+$30, (word)$280+$36, (word)$280+$3c, (word)$2c0+3, (word)$2c0+9, (word)$2c0+$f, (word)$2c0+$15, (word)$2c0+$1b, (word)$2c0+$21, (word)$2c0+$27, (word)$2c0+$2d, (word)$2c0+$33, (word)$2c0+$39, (word)$300+0, (word)$300+6, (word)$300+$c, (word)$300+$12, (word)$300+$18, (word)$300+$1e, (word)$300+$24, (word)$300+$2a, (word)$300+$30, (word)$300+$36, (word)$300+$3c, (word)$340+3, (word)$340+9, (word)$340+$f, (word)$340+$15, (word)$340+$1b, (word)$340+$21, (word)$340+$27, (word)$340+$2d, (word)$340+$33, (word)$340+$39 }
 constant word* RENDER_YPOS_9TH[$95]  = { (word)0+3, (word)0+3, (word)0+3, (word)0+9, (word)0+$f, (word)0+$15, (word)0+$1b, (word)0+$21, (word)0+$27, (word)0+$2d, (word)0+$33, (word)0+$39, (word)$40+0, (word)$40+6, (word)$40+$c, (word)$40+$12, (word)$40+$18, (word)$40+$1e, (word)$40+$24, (word)$40+$2a, (word)$40+$30, (word)$40+$36, (word)$40+$3c, (word)$80+3, (word)$80+9, (word)$80+$f, (word)$80+$15, (word)$80+$1b, (word)$80+$21, (word)$80+$27, (word)$80+$2d, (word)$80+$33, (word)$80+$39, (word)$c0+0, (word)$c0+6, (word)$c0+$c, (word)$c0+$12, (word)$c0+$18, (word)$c0+$1e, (word)$c0+$24, (word)$c0+$2a, (word)$c0+$30, (word)$c0+$36, (word)$c0+$3c, (word)$100+3, (word)$100+9, (word)$100+$f, (word)$100+$15, (word)$100+$1b, (word)$100+$21, (word)$100+$27, (word)$100+$2d, (word)$100+$33, (word)$100+$39, (word)$140+0, (word)$140+6, (word)$140+$c, (word)$140+$12, (word)$140+$18, (word)$140+$1e, (word)$140+$24, (word)$140+$2a, (word)$140+$30, (word)$140+$36, (word)$140+$3c, (word)$180+3, (word)$180+9, (word)$180+$f, (word)$180+$15, (word)$180+$1b, (word)$180+$21, (word)$180+$27, (word)$180+$2d, (word)$180+$33, (word)$180+$39, (word)$1c0+0, (word)$1c0+6, (word)$1c0+$c, (word)$1c0+$12, (word)$1c0+$18, (word)$1c0+$1e, (word)$1c0+$24, (word)$1c0+$2a, (word)$1c0+$30, (word)$1c0+$36, (word)$1c0+$3c, (word)$200+3, (word)$200+9, (word)$200+$f, (word)$200+$15, (word)$200+$1b, (word)$200+$21, (word)$200+$27, (word)$200+$2d, (word)$200+$33, (word)$200+$39, (word)$240+0, (word)$240+6, (word)$240+$c, (word)$240+$12, (word)$240+$18, (word)$240+$1e, (word)$240+$24, (word)$240+$2a, (word)$240+$30, (word)$240+$36, (word)$240+$3c, (word)$280+3, (word)$280+9, (word)$280+$f, (word)$280+$15, (word)$280+$1b, (word)$280+$21, (word)$280+$27, (word)$280+$2d, (word)$280+$33, (word)$280+$39, (word)$2c0+0, (word)$2c0+6, (word)$2c0+$c, (word)$2c0+$12, (word)$2c0+$18, (word)$2c0+$1e, (word)$2c0+$24, (word)$2c0+$2a, (word)$2c0+$30, (word)$2c0+$36, (word)$2c0+$3c, (word)$300+3, (word)$300+9, (word)$300+$f, (word)$300+$15, (word)$300+$1b, (word)$300+$21, (word)$300+$27, (word)$300+$2d, (word)$300+$33, (word)$300+$39, (word)$340+0, (word)$340+6, (word)$340+$c, (word)$340+$12, (word)$340+$18, (word)$340+$1e, (word)$340+$24, (word)$340+$2a, (word)$340+$30, (word)$340+$36, (word)$340+$3c }
 constant byte* RENDER_YPOS_INC[$a0]  = { 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7 }
@@ -5120,7 +5120,7 @@ volatile byte pacman_lives loadstore
 void pacman_sound_init()
 void pacman_sound_play()
 bool~ pacman_sound_play::$0
-byte~ pacman_sound_play::$1
+word~ pacman_sound_play::$1
 bool~ pacman_sound_play::$2
 bool~ pacman_sound_play::$3
 bool~ pacman_sound_play::$4
@@ -6085,32 +6085,6 @@ Simplifying constant integer cast $c
 Simplifying constant integer cast BOB_ROW_SIZE*(unumber)$12
 Simplifying constant integer cast $12
 Simplifying constant pointer cast (byte*) 46592
-Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (byte*) 1
-Simplifying constant pointer cast (byte*) 2
-Simplifying constant pointer cast (byte*) 1024
-Simplifying constant pointer cast (byte*) 1025
-Simplifying constant pointer cast (byte*) 1026
-Simplifying constant pointer cast (byte*) 2048
-Simplifying constant pointer cast (byte*) 2049
-Simplifying constant pointer cast (byte*) 2050
-Simplifying constant pointer cast (byte*) 3072
-Simplifying constant pointer cast (byte*) 3073
-Simplifying constant pointer cast (byte*) 3074
-Simplifying constant pointer cast (byte*) 4096
-Simplifying constant pointer cast (byte*) 4097
-Simplifying constant pointer cast (byte*) 4098
-Simplifying constant pointer cast (byte*) 5120
-Simplifying constant pointer cast (byte*) 5121
-Simplifying constant pointer cast (byte*) 5122
-Simplifying constant pointer cast (byte*) 6144
-Simplifying constant pointer cast (byte*) 6145
-Simplifying constant pointer cast (byte*) 6146
-Simplifying constant pointer cast (byte*) 7168
-Simplifying constant pointer cast (byte*) 7169
-Simplifying constant pointer cast (byte*) 7170
-Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (byte*) 0
 Simplifying constant integer cast 2
 Simplifying constant pointer cast (byte*) 59904
 Simplifying constant pointer cast (byte*) 42752
@@ -8454,6 +8428,32 @@ Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) 1
 Finalized unsigned number type (byte) 2
 Finalized unsigned number type (byte) 4
+Finalized unsigned number type (byte) 0
+Finalized unsigned number type (byte) 1
+Finalized unsigned number type (byte) 2
+Finalized unsigned number type (word) $400
+Finalized unsigned number type (word) $401
+Finalized unsigned number type (word) $402
+Finalized unsigned number type (word) $800
+Finalized unsigned number type (word) $801
+Finalized unsigned number type (word) $802
+Finalized unsigned number type (word) $c00
+Finalized unsigned number type (word) $c01
+Finalized unsigned number type (word) $c02
+Finalized unsigned number type (word) $1000
+Finalized unsigned number type (word) $1001
+Finalized unsigned number type (word) $1002
+Finalized unsigned number type (word) $1400
+Finalized unsigned number type (word) $1401
+Finalized unsigned number type (word) $1402
+Finalized unsigned number type (word) $1800
+Finalized unsigned number type (word) $1801
+Finalized unsigned number type (word) $1802
+Finalized unsigned number type (word) $1c00
+Finalized unsigned number type (word) $1c01
+Finalized unsigned number type (word) $1c02
+Finalized unsigned number type (byte) 0
+Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) $1a
 Finalized unsigned number type (byte) $40
 Finalized unsigned number type (byte) 3
@@ -23939,7 +23939,7 @@ constant byte* const RENDER_INDEX = (byte*) 46592
 constant const byte RENDER_OFFSET_CANVAS_HI = $50
 constant const byte RENDER_OFFSET_CANVAS_LO = 0
 constant const byte RENDER_OFFSET_YPOS_INC = $a0
-constant byte** RENDER_XCOLS[$1a]  = { (byte*) 0, (byte*) 1, (byte*) 2, (byte*) 1024, (byte*) 1025, (byte*) 1026, (byte*) 2048, (byte*) 2049, (byte*) 2050, (byte*) 3072, (byte*) 3073, (byte*) 3074, (byte*) 4096, (byte*) 4097, (byte*) 4098, (byte*) 5120, (byte*) 5121, (byte*) 5122, (byte*) 6144, (byte*) 6145, (byte*) 6146, (byte*) 7168, (byte*) 7169, (byte*) 7170, (byte*) 0, (byte*) 0 }
+constant byte** RENDER_XCOLS[$1a]  = { 0, 1, 2, $400, $401, $402, $800, $801, $802, $c00, $c01, $c02, $1000, $1001, $1002, $1400, $1401, $1402, $1800, $1801, $1802, $1c00, $1c01, $1c02, 0, 0 }
 constant word* RENDER_YPOS[$95]  = { 0, 0, 0, 6, $c, $12, $18, $1e, $24, $2a, $30, $36, $3c, (word)$40+3, (word)$40+9, (word)$40+$f, (word)$40+$15, (word)$40+$1b, (word)$40+$21, (word)$40+$27, (word)$40+$2d, (word)$40+$33, (word)$40+$39, $80, (word)$80+6, (word)$80+$c, (word)$80+$12, (word)$80+$18, (word)$80+$1e, (word)$80+$24, (word)$80+$2a, (word)$80+$30, (word)$80+$36, (word)$80+$3c, (word)$c0+3, (word)$c0+9, (word)$c0+$f, (word)$c0+$15, (word)$c0+$1b, (word)$c0+$21, (word)$c0+$27, (word)$c0+$2d, (word)$c0+$33, (word)$c0+$39, $100, $100+6, $100+$c, $100+$12, $100+$18, $100+$1e, $100+$24, $100+$2a, $100+$30, $100+$36, $100+$3c, $140+3, $140+9, $140+$f, $140+$15, $140+$1b, $140+$21, $140+$27, $140+$2d, $140+$33, $140+$39, $180, $180+6, $180+$c, $180+$12, $180+$18, $180+$1e, $180+$24, $180+$2a, $180+$30, $180+$36, $180+$3c, $1c0+3, $1c0+9, $1c0+$f, $1c0+$15, $1c0+$1b, $1c0+$21, $1c0+$27, $1c0+$2d, $1c0+$33, $1c0+$39, $200, $200+6, $200+$c, $200+$12, $200+$18, $200+$1e, $200+$24, $200+$2a, $200+$30, $200+$36, $200+$3c, $240+3, $240+9, $240+$f, $240+$15, $240+$1b, $240+$21, $240+$27, $240+$2d, $240+$33, $240+$39, $280, $280+6, $280+$c, $280+$12, $280+$18, $280+$1e, $280+$24, $280+$2a, $280+$30, $280+$36, $280+$3c, $2c0+3, $2c0+9, $2c0+$f, $2c0+$15, $2c0+$1b, $2c0+$21, $2c0+$27, $2c0+$2d, $2c0+$33, $2c0+$39, $300, $300+6, $300+$c, $300+$12, $300+$18, $300+$1e, $300+$24, $300+$2a, $300+$30, $300+$36, $300+$3c, $340+3, $340+9, $340+$f, $340+$15, $340+$1b, $340+$21, $340+$27, $340+$2d, $340+$33, $340+$39 }
 constant word* RENDER_YPOS_9TH[$95]  = { 3, 3, 3, 9, $f, $15, $1b, $21, $27, $2d, $33, $39, $40, (word)$40+6, (word)$40+$c, (word)$40+$12, (word)$40+$18, (word)$40+$1e, (word)$40+$24, (word)$40+$2a, (word)$40+$30, (word)$40+$36, (word)$40+$3c, (word)$80+3, (word)$80+9, (word)$80+$f, (word)$80+$15, (word)$80+$1b, (word)$80+$21, (word)$80+$27, (word)$80+$2d, (word)$80+$33, (word)$80+$39, $c0, (word)$c0+6, (word)$c0+$c, (word)$c0+$12, (word)$c0+$18, (word)$c0+$1e, (word)$c0+$24, (word)$c0+$2a, (word)$c0+$30, (word)$c0+$36, (word)$c0+$3c, $100+3, $100+9, $100+$f, $100+$15, $100+$1b, $100+$21, $100+$27, $100+$2d, $100+$33, $100+$39, $140, $140+6, $140+$c, $140+$12, $140+$18, $140+$1e, $140+$24, $140+$2a, $140+$30, $140+$36, $140+$3c, $180+3, $180+9, $180+$f, $180+$15, $180+$1b, $180+$21, $180+$27, $180+$2d, $180+$33, $180+$39, $1c0, $1c0+6, $1c0+$c, $1c0+$12, $1c0+$18, $1c0+$1e, $1c0+$24, $1c0+$2a, $1c0+$30, $1c0+$36, $1c0+$3c, $200+3, $200+9, $200+$f, $200+$15, $200+$1b, $200+$21, $200+$27, $200+$2d, $200+$33, $200+$39, $240, $240+6, $240+$c, $240+$12, $240+$18, $240+$1e, $240+$24, $240+$2a, $240+$30, $240+$36, $240+$3c, $280+3, $280+9, $280+$f, $280+$15, $280+$1b, $280+$21, $280+$27, $280+$2d, $280+$33, $280+$39, $2c0, $2c0+6, $2c0+$c, $2c0+$12, $2c0+$18, $2c0+$1e, $2c0+$24, $2c0+$2a, $2c0+$30, $2c0+$36, $2c0+$3c, $300+3, $300+9, $300+$f, $300+$15, $300+$1b, $300+$21, $300+$27, $300+$2d, $300+$33, $300+$39, $340, $340+6, $340+$c, $340+$12, $340+$18, $340+$1e, $340+$24, $340+$2a, $340+$30, $340+$36, $340+$3c }
 constant byte* RENDER_YPOS_INC[$a0]  = { 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7 }
diff --git a/src/test/ref/complex/borderline_pacman/pacman.sym b/src/test/ref/complex/borderline_pacman/pacman.sym
index 29bfe46d2..1284718f0 100644
--- a/src/test/ref/complex/borderline_pacman/pacman.sym
+++ b/src/test/ref/complex/borderline_pacman/pacman.sym
@@ -735,7 +735,7 @@ constant byte* const RENDER_INDEX = (byte*) 46592
 constant const byte RENDER_OFFSET_CANVAS_HI = $50
 constant const byte RENDER_OFFSET_CANVAS_LO = 0
 constant const byte RENDER_OFFSET_YPOS_INC = $a0
-constant byte** RENDER_XCOLS[$1a]  = { (byte*) 0, (byte*) 1, (byte*) 2, (byte*) 1024, (byte*) 1025, (byte*) 1026, (byte*) 2048, (byte*) 2049, (byte*) 2050, (byte*) 3072, (byte*) 3073, (byte*) 3074, (byte*) 4096, (byte*) 4097, (byte*) 4098, (byte*) 5120, (byte*) 5121, (byte*) 5122, (byte*) 6144, (byte*) 6145, (byte*) 6146, (byte*) 7168, (byte*) 7169, (byte*) 7170, (byte*) 0, (byte*) 0 }
+constant byte** RENDER_XCOLS[$1a]  = { 0, 1, 2, $400, $401, $402, $800, $801, $802, $c00, $c01, $c02, $1000, $1001, $1002, $1400, $1401, $1402, $1800, $1801, $1802, $1c00, $1c01, $1c02, 0, 0 }
 constant word* RENDER_YPOS[$95]  = { 0, 0, 0, 6, $c, $12, $18, $1e, $24, $2a, $30, $36, $3c, (word)$40+3, (word)$40+9, (word)$40+$f, (word)$40+$15, (word)$40+$1b, (word)$40+$21, (word)$40+$27, (word)$40+$2d, (word)$40+$33, (word)$40+$39, $80, (word)$80+6, (word)$80+$c, (word)$80+$12, (word)$80+$18, (word)$80+$1e, (word)$80+$24, (word)$80+$2a, (word)$80+$30, (word)$80+$36, (word)$80+$3c, (word)$c0+3, (word)$c0+9, (word)$c0+$f, (word)$c0+$15, (word)$c0+$1b, (word)$c0+$21, (word)$c0+$27, (word)$c0+$2d, (word)$c0+$33, (word)$c0+$39, $100, $100+6, $100+$c, $100+$12, $100+$18, $100+$1e, $100+$24, $100+$2a, $100+$30, $100+$36, $100+$3c, $140+3, $140+9, $140+$f, $140+$15, $140+$1b, $140+$21, $140+$27, $140+$2d, $140+$33, $140+$39, $180, $180+6, $180+$c, $180+$12, $180+$18, $180+$1e, $180+$24, $180+$2a, $180+$30, $180+$36, $180+$3c, $1c0+3, $1c0+9, $1c0+$f, $1c0+$15, $1c0+$1b, $1c0+$21, $1c0+$27, $1c0+$2d, $1c0+$33, $1c0+$39, $200, $200+6, $200+$c, $200+$12, $200+$18, $200+$1e, $200+$24, $200+$2a, $200+$30, $200+$36, $200+$3c, $240+3, $240+9, $240+$f, $240+$15, $240+$1b, $240+$21, $240+$27, $240+$2d, $240+$33, $240+$39, $280, $280+6, $280+$c, $280+$12, $280+$18, $280+$1e, $280+$24, $280+$2a, $280+$30, $280+$36, $280+$3c, $2c0+3, $2c0+9, $2c0+$f, $2c0+$15, $2c0+$1b, $2c0+$21, $2c0+$27, $2c0+$2d, $2c0+$33, $2c0+$39, $300, $300+6, $300+$c, $300+$12, $300+$18, $300+$1e, $300+$24, $300+$2a, $300+$30, $300+$36, $300+$3c, $340+3, $340+9, $340+$f, $340+$15, $340+$1b, $340+$21, $340+$27, $340+$2d, $340+$33, $340+$39 }
 constant word* RENDER_YPOS_9TH[$95]  = { 3, 3, 3, 9, $f, $15, $1b, $21, $27, $2d, $33, $39, $40, (word)$40+6, (word)$40+$c, (word)$40+$12, (word)$40+$18, (word)$40+$1e, (word)$40+$24, (word)$40+$2a, (word)$40+$30, (word)$40+$36, (word)$40+$3c, (word)$80+3, (word)$80+9, (word)$80+$f, (word)$80+$15, (word)$80+$1b, (word)$80+$21, (word)$80+$27, (word)$80+$2d, (word)$80+$33, (word)$80+$39, $c0, (word)$c0+6, (word)$c0+$c, (word)$c0+$12, (word)$c0+$18, (word)$c0+$1e, (word)$c0+$24, (word)$c0+$2a, (word)$c0+$30, (word)$c0+$36, (word)$c0+$3c, $100+3, $100+9, $100+$f, $100+$15, $100+$1b, $100+$21, $100+$27, $100+$2d, $100+$33, $100+$39, $140, $140+6, $140+$c, $140+$12, $140+$18, $140+$1e, $140+$24, $140+$2a, $140+$30, $140+$36, $140+$3c, $180+3, $180+9, $180+$f, $180+$15, $180+$1b, $180+$21, $180+$27, $180+$2d, $180+$33, $180+$39, $1c0, $1c0+6, $1c0+$c, $1c0+$12, $1c0+$18, $1c0+$1e, $1c0+$24, $1c0+$2a, $1c0+$30, $1c0+$36, $1c0+$3c, $200+3, $200+9, $200+$f, $200+$15, $200+$1b, $200+$21, $200+$27, $200+$2d, $200+$33, $200+$39, $240, $240+6, $240+$c, $240+$12, $240+$18, $240+$1e, $240+$24, $240+$2a, $240+$30, $240+$36, $240+$3c, $280+3, $280+9, $280+$f, $280+$15, $280+$1b, $280+$21, $280+$27, $280+$2d, $280+$33, $280+$39, $2c0, $2c0+6, $2c0+$c, $2c0+$12, $2c0+$18, $2c0+$1e, $2c0+$24, $2c0+$2a, $2c0+$30, $2c0+$36, $2c0+$3c, $300+3, $300+9, $300+$f, $300+$15, $300+$1b, $300+$21, $300+$27, $300+$2d, $300+$33, $300+$39, $340, $340+6, $340+$c, $340+$12, $340+$18, $340+$1e, $340+$24, $340+$2a, $340+$30, $340+$36, $340+$3c }
 constant byte* RENDER_YPOS_INC[$a0]  = { 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7 }
diff --git a/src/test/ref/complex/new_30_years_low_resolution/new_30_years_low_resolution.log b/src/test/ref/complex/new_30_years_low_resolution/new_30_years_low_resolution.log
index 290561dab..d458204ec 100644
--- a/src/test/ref/complex/new_30_years_low_resolution/new_30_years_low_resolution.log
+++ b/src/test/ref/complex/new_30_years_low_resolution/new_30_years_low_resolution.log
@@ -2113,7 +2113,7 @@ byte flipper_fix_colors::i#3
 word flipper_fix_colors::offset
 word flipper_fix_colors::offset#0
 void init_rasters()
-byte~ init_rasters::$0
+word~ init_rasters::$0
 bool~ init_rasters::$1
 bool~ init_rasters::$2
 byte init_rasters::b
@@ -2226,7 +2226,7 @@ number~ irq_swing_plex::$12
 number~ irq_swing_plex::$14
 number~ irq_swing_plex::$16
 bool~ irq_swing_plex::$17
-byte~ irq_swing_plex::$19
+word~ irq_swing_plex::$19
 bool~ irq_swing_plex::$2
 bool~ irq_swing_plex::$20
 bool~ irq_swing_plex::$21
@@ -2425,7 +2425,7 @@ byte~ part2_init::$16
 byte~ part2_init::$17
 bool~ part2_init::$18
 number~ part2_init::$19
-byte~ part2_init::$9
+word~ part2_init::$9
 struct BucketSprite* part2_init::frame
 struct BucketSprite* part2_init::frame#0
 struct BucketSprite* part2_init::frame#1
@@ -8171,13 +8171,13 @@ ASSEMBLER BEFORE OPTIMIZATION
   // The vector used when the HARDWARE serves IRQ interrupts
   .label HARDWARE_IRQ = $fffe
   .label P1_COLORS = $a800
-  // A800-AFFF 
+  // A800-AFFF
   .label P1_PIXELS = $c000
   // C000-DFFF
   .label P1_SCREEN = $e000
-  // E000-E3FF 
+  // E000-E3FF
   .label P1_SPRITES = $fc00
-  // E000-E3FF 
+  // E000-E3FF
   .label PIXELS_EMPTY = $e800
   // E800-EFFF
   // A copy of the load screen and colors
@@ -13202,13 +13202,13 @@ Score: 79370
   // The vector used when the HARDWARE serves IRQ interrupts
   .label HARDWARE_IRQ = $fffe
   .label P1_COLORS = $a800
-  // A800-AFFF 
+  // A800-AFFF
   .label P1_PIXELS = $c000
   // C000-DFFF
   .label P1_SCREEN = $e000
-  // E000-E3FF 
+  // E000-E3FF
   .label P1_SPRITES = $fc00
-  // E000-E3FF 
+  // E000-E3FF
   .label PIXELS_EMPTY = $e800
   // E800-EFFF
   // A copy of the load screen and colors
diff --git a/src/test/ref/cpu-45gs02.log b/src/test/ref/cpu-45gs02.log
index 236808819..8bfecccae 100644
--- a/src/test/ref/cpu-45gs02.log
+++ b/src/test/ref/cpu-45gs02.log
@@ -46,7 +46,7 @@ __start::@return: scope:[__start]  from __start::@2
   to:@return
 
 SYMBOL TABLE SSA
-constant dword* SCREEN = (dword*)$400
+constant dword* SCREEN = (byte*)$400
 void __start()
 void main()
 bool~ main::$0
@@ -69,7 +69,7 @@ dword main::sum#4
 
 Adding number conversion cast (unumber) $64 in main::$0 = main::i#2 < $64
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (dword*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast $64
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) $64
@@ -291,7 +291,7 @@ Removing instruction __b1_from___b2:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant dword* SCREEN = (dword*) 1024
+constant dword* SCREEN = (byte*) 1024
 void main()
 dword main::addend
 dword main::addend#1 addend zp[4]:7 11.0
diff --git a/src/test/ref/cpu-45gs02.sym b/src/test/ref/cpu-45gs02.sym
index 0a3e64f72..21782ac27 100644
--- a/src/test/ref/cpu-45gs02.sym
+++ b/src/test/ref/cpu-45gs02.sym
@@ -1,4 +1,4 @@
-constant dword* SCREEN = (dword*) 1024
+constant dword* SCREEN = (byte*) 1024
 void main()
 dword main::addend
 dword main::addend#1 addend zp[4]:7 11.0
diff --git a/src/test/ref/declared-ssa-var-0.log b/src/test/ref/declared-ssa-var-0.log
index c34e19a84..e5c8ec729 100644
--- a/src/test/ref/declared-ssa-var-0.log
+++ b/src/test/ref/declared-ssa-var-0.log
@@ -171,8 +171,22 @@ byte main::idx_ssa_l#7
 byte main::idx_ssa_l#8
 byte main::idx_ssa_l#9
 
+Adding number conversion cast (unumber) $28 in 
+Adding number conversion cast (unumber) $50 in 
+Adding number conversion cast (unumber) $78 in 
+Successful SSA optimization PassNAddNumberTypeConversions
 Simplifying constant pointer cast (byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant integer cast $28
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant integer cast $50
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant integer cast $78
 Successful SSA optimization PassNCastSimplification
+Finalized unsigned number type (byte) $28
+Finalized unsigned number type (byte) $50
+Finalized unsigned number type (byte) $78
+Successful SSA optimization PassNFinalizeNumberTypeConversions
 Alias idx_ssa_g#1 = idx_ssa_g#9 
 Alias main::idx_ssa_l#8 = main::idx_ssa_l#9 
 Alias main::idx_ssa_l#4 = main::idx_ssa_l#7 
@@ -266,13 +280,6 @@ Successful SSA optimization Pass2ConstantInlining
 Simplifying constant integer increment ++0
 Simplifying constant integer increment ++0
 Successful SSA optimization Pass2ConstantSimplification
-Finalized unsigned number type (word) $400
-Finalized unsigned number type (byte) $28
-Finalized unsigned number type (word) $400
-Finalized unsigned number type (byte) $50
-Finalized unsigned number type (word) $400
-Finalized unsigned number type (byte) $78
-Successful SSA optimization PassNFinalizeNumberTypeConversions
 Added new block during phi lifting main::@9(between main::@1 and main::@1)
 Added new block during phi lifting main::@10(between main::@3 and main::@3)
 Added new block during phi lifting main::@11(between main::@5 and main::@5)
@@ -718,9 +725,9 @@ Succesful ASM optimization Pass5NextJumpElimination
 
 FINAL SYMBOL TABLE
 constant byte* const SCREEN1 = (byte*) 1024
-constant byte* const SCREEN2 = (byte*)$400+$28
-constant byte* const SCREEN3 = (byte*)$400+$50
-constant byte* const SCREEN4 = (byte*)$400+$78
+constant byte* const SCREEN2 = (byte*) 1024+$28
+constant byte* const SCREEN3 = (byte*) 1024+$50
+constant byte* const SCREEN4 = (byte*) 1024+$78
 void __start()
 byte idx_nssa_g loadstore zp[1]:2 20.61111111111111
 byte idx_ssa_g
diff --git a/src/test/ref/declared-ssa-var-0.sym b/src/test/ref/declared-ssa-var-0.sym
index cb84f9a10..fb43b0b26 100644
--- a/src/test/ref/declared-ssa-var-0.sym
+++ b/src/test/ref/declared-ssa-var-0.sym
@@ -1,7 +1,7 @@
 constant byte* const SCREEN1 = (byte*) 1024
-constant byte* const SCREEN2 = (byte*)$400+$28
-constant byte* const SCREEN3 = (byte*)$400+$50
-constant byte* const SCREEN4 = (byte*)$400+$78
+constant byte* const SCREEN2 = (byte*) 1024+$28
+constant byte* const SCREEN3 = (byte*) 1024+$50
+constant byte* const SCREEN4 = (byte*) 1024+$78
 void __start()
 byte idx_nssa_g loadstore zp[1]:2 20.61111111111111
 byte idx_ssa_g
diff --git a/src/test/ref/deref-to-derefidx-2.log b/src/test/ref/deref-to-derefidx-2.log
index 976c45e2b..7c8d5adbb 100644
--- a/src/test/ref/deref-to-derefidx-2.log
+++ b/src/test/ref/deref-to-derefidx-2.log
@@ -60,7 +60,7 @@ __start::@return: scope:[__start]  from __start::@2
   to:@return
 
 SYMBOL TABLE SSA
-constant word* const SCREEN = (word*)$400
+constant word* const SCREEN = (byte*)$400
 constant byte SIZEOF_WORD = 2
 void __start()
 void main()
@@ -94,7 +94,7 @@ byte screen_idx#9
 
 Adding number conversion cast (unumber) 2 in print::$0 = print::m#2 + 2
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 2
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) 2
@@ -313,7 +313,7 @@ Removing instruction __breturn:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 void main()
 constant byte* msg1[]  = { 'a', 'b', 'c', 'd' }
 constant byte* msg2[]  = { '1', '2', '3', '4' }
diff --git a/src/test/ref/deref-to-derefidx-2.sym b/src/test/ref/deref-to-derefidx-2.sym
index ad72cff56..8838b2aa6 100644
--- a/src/test/ref/deref-to-derefidx-2.sym
+++ b/src/test/ref/deref-to-derefidx-2.sym
@@ -1,4 +1,4 @@
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 void main()
 constant byte* msg1[]  = { 'a', 'b', 'c', 'd' }
 constant byte* msg2[]  = { '1', '2', '3', '4' }
diff --git a/src/test/ref/examples/c64/multiplexer/simple-multiplexer.asm b/src/test/ref/examples/c64/multiplexer/simple-multiplexer.asm
index d411207da..50a02c225 100644
--- a/src/test/ref/examples/c64/multiplexer/simple-multiplexer.asm
+++ b/src/test/ref/examples/c64/multiplexer/simple-multiplexer.asm
@@ -42,7 +42,7 @@
   .label plex_free_next = $b
 .segment Code
 __start: {
-    // char* volatile PLEX_SCREEN_PTR = 0x400+0x3f8
+    // char* volatile PLEX_SCREEN_PTR = (char*)0x400+0x3f8
     lda #<$400+$3f8
     sta.z PLEX_SCREEN_PTR
     lda #>$400+$3f8
diff --git a/src/test/ref/examples/c64/multiplexer/simple-multiplexer.cfg b/src/test/ref/examples/c64/multiplexer/simple-multiplexer.cfg
index d017d745b..b3ab63460 100644
--- a/src/test/ref/examples/c64/multiplexer/simple-multiplexer.cfg
+++ b/src/test/ref/examples/c64/multiplexer/simple-multiplexer.cfg
@@ -4,7 +4,7 @@ __start: scope:[__start]  from
   [0] phi()
   to:__start::__init1
 __start::__init1: scope:[__start]  from __start
-  [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8
+  [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8
   [2] plex_show_idx = 0
   [3] plex_sprite_idx = 0
   [4] plex_sprite_msb = 1
diff --git a/src/test/ref/examples/c64/multiplexer/simple-multiplexer.log b/src/test/ref/examples/c64/multiplexer/simple-multiplexer.log
index 96ed4732f..5182c519b 100644
--- a/src/test/ref/examples/c64/multiplexer/simple-multiplexer.log
+++ b/src/test/ref/examples/c64/multiplexer/simple-multiplexer.log
@@ -550,6 +550,7 @@ Adding number conversion cast (unumber) 1 in loop::sy#1 = loop::sy#2 + rangenext
 Adding number conversion cast (unumber) 1 in loop::sin_idx#1 = loop::sin_idx#3 + 1
 Adding number conversion cast (unumber) 0 in loop::$6 = loop::$5 != 0
 Adding number conversion cast (unumber) 1 in loop::ss#1 = loop::ss#2 + rangenext(0,PLEX_COUNT-1)
+Adding number conversion cast (unumber) $3f8 in PLEX_SCREEN_PTR = (byte*)$400+$3f8
 Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast plex_show_idx = (unumber)0
 Inlining cast plex_sprite_idx = (unumber)0
@@ -601,6 +602,8 @@ Simplifying constant integer cast 1
 Simplifying constant integer cast 1
 Simplifying constant integer cast 0
 Simplifying constant integer cast 1
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant integer cast $3f8
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (word) $3f8
 Finalized unsigned number type (byte) 1
@@ -635,6 +638,7 @@ Finalized unsigned number type (byte) 1
 Finalized unsigned number type (byte) 1
 Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) 1
+Finalized unsigned number type (word) $3f8
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Inferred type updated to byte in plexSort::$1 = plexSort::m#2 + 1
 Inferred type updated to byte in plexSort::$4 = plexSort::s#3 + 1
@@ -830,8 +834,6 @@ Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (word) $100
 Finalized unsigned number type (word) $2000
-Finalized unsigned number type (word) $400
-Finalized unsigned number type (word) $3f8
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Alias candidate removed (volatile)plex_free_next = plexShowSprite::plexFreeAdd1_$2 
 Alias candidate removed (volatile)plex_sprite_idx = plexShowSprite::$6 
@@ -916,7 +918,7 @@ __start: scope:[__start]  from
   [0] phi()
   to:__start::__init1
 __start::__init1: scope:[__start]  from __start
-  [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8
+  [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8
   [2] plex_show_idx = 0
   [3] plex_sprite_idx = 0
   [4] plex_sprite_msb = 1
@@ -1322,7 +1324,7 @@ Allocated zp[1]:35 [ plexShowSprite::$9 ]
 Allocated zp[1]:36 [ plexShowSprite::$5 ]
 Allocated zp[1]:37 [ plexShowSprite::$6 ]
 REGISTER UPLIFT POTENTIAL REGISTERS
-Statement [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
+Statement [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [2] plex_show_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [3] plex_sprite_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [4] plex_sprite_msb = 1 [ ] (  [ ] { }  ) always clobbers reg byte a 
@@ -1385,7 +1387,7 @@ Statement [102] *SPRITES_XMSB = *SPRITES_XMSB & plexShowSprite::$9 [ PLEX_SCREEN
 Statement [108] if(plex_sprite_msb!=0) goto plexShowSprite::@return [ PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] ( main:7::loop:12::plexShowSprite:50 [ loop::sin_idx#1 loop::ss#5 PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] { }  ) always clobbers reg byte a 
 Statement [109] plex_sprite_msb = 1 [ PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] ( main:7::loop:12::plexShowSprite:50 [ loop::sin_idx#1 loop::ss#5 PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] { }  ) always clobbers reg byte a 
 Statement [111] *SPRITES_XMSB = *SPRITES_XMSB | plex_sprite_msb [ PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] ( main:7::loop:12::plexShowSprite:50 [ loop::sin_idx#1 loop::ss#5 PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] { }  ) always clobbers reg byte a 
-Statement [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
+Statement [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [2] plex_show_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [3] plex_sprite_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [4] plex_sprite_msb = 1 [ ] (  [ ] { }  ) always clobbers reg byte a 
@@ -1432,7 +1434,7 @@ Statement [102] *SPRITES_XMSB = *SPRITES_XMSB & plexShowSprite::$9 [ PLEX_SCREEN
 Statement [108] if(plex_sprite_msb!=0) goto plexShowSprite::@return [ PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] ( main:7::loop:12::plexShowSprite:50 [ loop::sin_idx#1 loop::ss#5 PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] { }  ) always clobbers reg byte a 
 Statement [109] plex_sprite_msb = 1 [ PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] ( main:7::loop:12::plexShowSprite:50 [ loop::sin_idx#1 loop::ss#5 PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] { }  ) always clobbers reg byte a 
 Statement [111] *SPRITES_XMSB = *SPRITES_XMSB | plex_sprite_msb [ PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] ( main:7::loop:12::plexShowSprite:50 [ loop::sin_idx#1 loop::ss#5 PLEX_SCREEN_PTR plex_show_idx plex_sprite_idx plex_sprite_msb plex_free_next ] { }  ) always clobbers reg byte a 
-Statement [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
+Statement [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [2] plex_show_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [3] plex_sprite_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [4] plex_sprite_msb = 1 [ ] (  [ ] { }  ) always clobbers reg byte a 
@@ -1655,7 +1657,7 @@ __start: {
     jmp __init1
     // __start::__init1
   __init1:
-    // [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 -- pbuz1=pbuc1 
+    // [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 -- pbuz1=pbuc1 
     lda #<$400+$3f8
     sta.z PLEX_SCREEN_PTR
     lda #>$400+$3f8
@@ -2549,8 +2551,8 @@ Score: 58107
   // __start
 __start: {
     // __start::__init1
-    // char* volatile PLEX_SCREEN_PTR = 0x400+0x3f8
-    // [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 -- pbuz1=pbuc1 
+    // char* volatile PLEX_SCREEN_PTR = (char*)0x400+0x3f8
+    // [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 -- pbuz1=pbuc1 
     lda #<$400+$3f8
     sta.z PLEX_SCREEN_PTR
     lda #>$400+$3f8
diff --git a/src/test/ref/examples/conio/nacht-screen.log b/src/test/ref/examples/conio/nacht-screen.log
index 8d1eecf7c..cbdcb9c16 100644
--- a/src/test/ref/examples/conio/nacht-screen.log
+++ b/src/test/ref/examples/conio/nacht-screen.log
@@ -819,8 +819,8 @@ constant const byte LIGHT_BLUE = $e
 void MakeNiceScreen()
 number~ MakeNiceScreen::$12
 number~ MakeNiceScreen::$15
-byte~ MakeNiceScreen::$19
-byte~ MakeNiceScreen::$20
+word~ MakeNiceScreen::$19
+word~ MakeNiceScreen::$20
 bool~ MakeNiceScreen::$21
 word~ MakeNiceScreen::$22
 byte~ MakeNiceScreen::$23
diff --git a/src/test/ref/examples/cx16/cx16-bankload.log b/src/test/ref/examples/cx16/cx16-bankload.log
index 9eff9766a..73ac22f5e 100644
--- a/src/test/ref/examples/cx16/cx16-bankload.log
+++ b/src/test/ref/examples/cx16/cx16-bankload.log
@@ -2106,7 +2106,7 @@ byte load_to_bank::return#1
 byte load_to_bank::return#2
 byte load_to_bank::return#3
 void main()
-byte~ main::$7
+word~ main::$7
 constant const dword main::BANK_SPRITE = $12000
 volatile struct VERA_SPRITE main::SPRITE_ATTR loadstore
 constant const dword main::VRAM_SPRITE = $10000
diff --git a/src/test/ref/examples/cx16/cx16-rasterbars.log b/src/test/ref/examples/cx16/cx16-rasterbars.log
index cfa22bfef..ddfcac2a3 100644
--- a/src/test/ref/examples/cx16/cx16-rasterbars.log
+++ b/src/test/ref/examples/cx16/cx16-rasterbars.log
@@ -247,9 +247,9 @@ __interrupt(rom_min_cx16) void irq_line()
 bool~ irq_line::$0
 bool~ irq_line::$1
 byte*~ irq_line::$10
-byte~ irq_line::$11
+word~ irq_line::$11
 bool~ irq_line::$12
-byte~ irq_line::$2
+word~ irq_line::$2
 bool~ irq_line::$4
 bool~ irq_line::$5
 bool~ irq_line::$6
diff --git a/src/test/ref/examples/cx16/cx16-sprites.log b/src/test/ref/examples/cx16/cx16-sprites.log
index a37490f0d..01b3985f1 100644
--- a/src/test/ref/examples/cx16/cx16-sprites.log
+++ b/src/test/ref/examples/cx16/cx16-sprites.log
@@ -301,7 +301,7 @@ word~ irq_vsync::$12
 bool~ irq_vsync::$2
 bool~ irq_vsync::$3
 bool~ irq_vsync::$4
-byte~ irq_vsync::$6
+word~ irq_vsync::$6
 bool~ irq_vsync::$7
 bool~ irq_vsync::$8
 bool~ irq_vsync::$9
@@ -350,8 +350,8 @@ byte* irq_vsync::vram_sprite_pos#7
 byte* irq_vsync::vram_sprite_pos#8
 void main()
 bool~ main::$4
-byte~ main::$5
-byte~ main::$7
+word~ main::$5
+word~ main::$7
 byte main::s
 byte main::s#0
 byte main::s#1
diff --git a/src/test/ref/examples/cx16/cx16-text.log b/src/test/ref/examples/cx16/cx16-text.log
index 02de22634..334db0bf0 100644
--- a/src/test/ref/examples/cx16/cx16-text.log
+++ b/src/test/ref/examples/cx16/cx16-text.log
@@ -130,7 +130,7 @@ constant const byte VERA_INC_0 = 0
 constant const byte VERA_INC_1 = $10
 void __start()
 void main()
-byte~ main::$0
+word~ main::$0
 bool~ main::$4
 constant byte* main::MSG[]  = "hello world!"
 constant byte* main::MSG2[]  = "h e l l o   w o r l d ! "
diff --git a/src/test/ref/examples/mega65/banked-music.log b/src/test/ref/examples/mega65/banked-music.log
index 05b669daf..c495e8d59 100644
--- a/src/test/ref/examples/mega65/banked-music.log
+++ b/src/test/ref/examples/mega65/banked-music.log
@@ -317,7 +317,7 @@ void* memcpy_dma4::src#1
 byte memcpy_dma4::src_bank
 byte memcpy_dma4::src_bank#0
 byte memcpy_dma4::src_bank#1
-volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore = { command: DMA_COMMAND_COPY, count: 0, src: (byte*)0, src_bank: 0, dest: (byte*)0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 byte~ memoryRemap::$0
 byte~ memoryRemap::$1
@@ -449,8 +449,6 @@ Simplifying constant pointer cast (struct F018_DMAGIC*) 55040
 Simplifying constant pointer cast (byte*) 2048
 Simplifying constant pointer cast (struct MOS6526_CIA*) 56320
 Simplifying constant pointer cast (void()**) 65534
-Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (byte*) 0
 Simplifying constant pointer cast (byte*) 20992
 Simplifying constant integer cast 3
 Simplifying constant integer cast 4
@@ -674,6 +672,8 @@ Alias candidate removed (volatile)memoryRemap::yVal = memoryRemap::$5
 Alias candidate removed (volatile)memoryRemap::zVal = memoryRemap::$9 
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) 8
+Finalized unsigned number type (byte) 0
+Finalized unsigned number type (byte) 0
 Finalized unsigned number type (word) $4000
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Alias candidate removed (volatile)memoryRemap::aVal = memoryRemap::$0 
@@ -846,7 +846,7 @@ byte memcpy_dma4::dmaMode#0 2.0
 word memcpy_dma4::num
 void* memcpy_dma4::src
 byte memcpy_dma4::src_bank
-volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore = { command: DMA_COMMAND_COPY, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 byte~ memoryRemap::$0 202.0
 byte~ memoryRemap::$1 67.33333333333333
@@ -1726,7 +1726,7 @@ void* memcpy_dma4::src
 constant void* memcpy_dma4::src#0 src = (void*)upperCodeData
 byte memcpy_dma4::src_bank
 constant byte memcpy_dma4::src_bank#0 src_bank = 0
-volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 byte~ memoryRemap::$0 reg byte a 202.0
 byte~ memoryRemap::$1 zp[1]:7 67.33333333333333
diff --git a/src/test/ref/examples/mega65/banked-music.sym b/src/test/ref/examples/mega65/banked-music.sym
index a89eacb10..fba2cc3d7 100644
--- a/src/test/ref/examples/mega65/banked-music.sym
+++ b/src/test/ref/examples/mega65/banked-music.sym
@@ -58,7 +58,7 @@ void* memcpy_dma4::src
 constant void* memcpy_dma4::src#0 src = (void*)upperCodeData
 byte memcpy_dma4::src_bank
 constant byte memcpy_dma4::src_bank#0 src_bank = 0
-volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 byte~ memoryRemap::$0 reg byte a 202.0
 byte~ memoryRemap::$1 zp[1]:7 67.33333333333333
diff --git a/src/test/ref/examples/mega65/dma-test2.log b/src/test/ref/examples/mega65/dma-test2.log
index a44b00e38..2be069487 100644
--- a/src/test/ref/examples/mega65/dma-test2.log
+++ b/src/test/ref/examples/mega65/dma-test2.log
@@ -146,7 +146,7 @@ word memcpy_dma::num#1
 void* memcpy_dma::src
 void* memcpy_dma::src#0
 void* memcpy_dma::src#1
-volatile struct DMA_LIST_F018B memcpy_dma_command loadstore = { command: DMA_COMMAND_COPY, count: 0, src: (byte*)0, src_bank: 0, dest: (byte*)0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command loadstore = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 byte~ memoryRemap::$0
 byte~ memoryRemap::$1
@@ -202,8 +202,6 @@ Inlining cast memcpy_dma::num#0 = (unumber)$18*$50
 Successful SSA optimization Pass2InlineCast
 Simplifying constant pointer cast (struct F018_DMAGIC*) 55040
 Simplifying constant pointer cast (byte*) 2048
-Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (byte*) 0
 Simplifying constant integer cast 4
 Simplifying constant integer cast $f
 Simplifying constant integer cast $f0
@@ -327,6 +325,8 @@ Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) $18
 Finalized unsigned number type (byte) $50
+Finalized unsigned number type (byte) 0
+Finalized unsigned number type (byte) 0
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Adding NOP phi() at start of main
 Adding NOP phi() at start of main::@1
@@ -393,7 +393,7 @@ byte memcpy_dma::dmaMode
 byte memcpy_dma::dmaMode#0 2.4444444444444446
 word memcpy_dma::num
 void* memcpy_dma::src
-volatile struct DMA_LIST_F018B memcpy_dma_command loadstore = { command: DMA_COMMAND_COPY, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command loadstore = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 volatile byte memoryRemap::aVal loadstore 2.75
 word memoryRemap::lowerPageOffset
@@ -713,7 +713,7 @@ word memcpy_dma::num
 constant word memcpy_dma::num#0 num = (word)$18*$50
 void* memcpy_dma::src
 constant void* memcpy_dma::src#0 src = (void*)DEFAULT_SCREEN+$50
-volatile struct DMA_LIST_F018B memcpy_dma_command loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 volatile byte memoryRemap::aVal loadstore zp[1]:2 2.75
 word memoryRemap::lowerPageOffset
diff --git a/src/test/ref/examples/mega65/dma-test2.sym b/src/test/ref/examples/mega65/dma-test2.sym
index 088be437d..7c93bee4f 100644
--- a/src/test/ref/examples/mega65/dma-test2.sym
+++ b/src/test/ref/examples/mega65/dma-test2.sym
@@ -18,7 +18,7 @@ word memcpy_dma::num
 constant word memcpy_dma::num#0 num = (word)$18*$50
 void* memcpy_dma::src
 constant void* memcpy_dma::src#0 src = (void*)DEFAULT_SCREEN+$50
-volatile struct DMA_LIST_F018B memcpy_dma_command loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 volatile byte memoryRemap::aVal loadstore zp[1]:2 2.75
 word memoryRemap::lowerPageOffset
diff --git a/src/test/ref/examples/mega65/dma-test3.log b/src/test/ref/examples/mega65/dma-test3.log
index f81f0e61b..af125fc70 100644
--- a/src/test/ref/examples/mega65/dma-test3.log
+++ b/src/test/ref/examples/mega65/dma-test3.log
@@ -160,7 +160,7 @@ void* memcpy_dma4::src#1
 byte memcpy_dma4::src_bank
 byte memcpy_dma4::src_bank#0
 byte memcpy_dma4::src_bank#1
-volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore = { command: DMA_COMMAND_COPY, count: 0, src: (byte*)0, src_bank: 0, dest: (byte*)0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 byte~ memoryRemap::$0
 byte~ memoryRemap::$1
@@ -220,8 +220,6 @@ Inlining cast memcpy_dma4::num#0 = (unumber)$18*$50
 Successful SSA optimization Pass2InlineCast
 Simplifying constant pointer cast (struct F018_DMAGIC*) 55040
 Simplifying constant pointer cast (byte*) 2048
-Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (byte*) 0
 Simplifying constant integer cast 4
 Simplifying constant integer cast $f
 Simplifying constant integer cast $f0
@@ -353,6 +351,8 @@ Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) $18
 Finalized unsigned number type (byte) $50
+Finalized unsigned number type (byte) 0
+Finalized unsigned number type (byte) 0
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Adding NOP phi() at start of main
 Adding NOP phi() at start of main::@1
@@ -423,7 +423,7 @@ byte memcpy_dma4::dmaMode#0 2.0
 word memcpy_dma4::num
 void* memcpy_dma4::src
 byte memcpy_dma4::src_bank
-volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore = { command: DMA_COMMAND_COPY, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 volatile byte memoryRemap::aVal loadstore 2.75
 word memoryRemap::lowerPageOffset
@@ -765,7 +765,7 @@ void* memcpy_dma4::src
 constant void* memcpy_dma4::src#0 src = (void*)DEFAULT_SCREEN+$50
 byte memcpy_dma4::src_bank
 constant byte memcpy_dma4::src_bank#0 src_bank = 0
-volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 volatile byte memoryRemap::aVal loadstore zp[1]:2 2.75
 word memoryRemap::lowerPageOffset
diff --git a/src/test/ref/examples/mega65/dma-test3.sym b/src/test/ref/examples/mega65/dma-test3.sym
index 4c710814f..eb4f46223 100644
--- a/src/test/ref/examples/mega65/dma-test3.sym
+++ b/src/test/ref/examples/mega65/dma-test3.sym
@@ -24,7 +24,7 @@ void* memcpy_dma4::src
 constant void* memcpy_dma4::src#0 src = (void*)DEFAULT_SCREEN+$50
 byte memcpy_dma4::src_bank
 constant byte memcpy_dma4::src_bank#0 src_bank = 0
-volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memcpy_dma_command4 loadstore mem[12] = { command: DMA_COMMAND_COPY, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 void memoryRemap(byte memoryRemap::remapBlocks , word memoryRemap::lowerPageOffset , word memoryRemap::upperPageOffset)
 volatile byte memoryRemap::aVal loadstore zp[1]:2 2.75
 word memoryRemap::lowerPageOffset
diff --git a/src/test/ref/examples/mega65/dma-test5.log b/src/test/ref/examples/mega65/dma-test5.log
index d9cfbfc0c..4d6e100b7 100644
--- a/src/test/ref/examples/mega65/dma-test5.log
+++ b/src/test/ref/examples/mega65/dma-test5.log
@@ -170,7 +170,7 @@ byte memset_dma::fill#1
 word memset_dma::num
 word memset_dma::num#0
 word memset_dma::num#1
-volatile struct DMA_LIST_F018B memset_dma_command loadstore = { command: DMA_COMMAND_FILL, count: 0, src: (byte*)0, src_bank: 0, dest: (byte*)0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memset_dma_command loadstore = { command: DMA_COMMAND_FILL, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 
 Adding number conversion cast (unumber) 4 in memoryRemap::$1 = memoryRemap::remapBlocks#1 << 4
 Adding number conversion cast (unumber) $f in memoryRemap::$3 = memoryRemap::$2 & $f
@@ -200,8 +200,6 @@ Inlining cast memset_dma::num#0 = (unumber)$50*$a
 Successful SSA optimization Pass2InlineCast
 Simplifying constant pointer cast (struct F018_DMAGIC*) 55040
 Simplifying constant pointer cast (byte*) 2048
-Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (byte*) 0
 Simplifying constant integer cast 4
 Simplifying constant integer cast $f
 Simplifying constant integer cast $f0
@@ -323,6 +321,8 @@ Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) $50
 Finalized unsigned number type (byte) $a
+Finalized unsigned number type (byte) 0
+Finalized unsigned number type (byte) 0
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Adding NOP phi() at start of main
 Adding NOP phi() at start of main::@1
@@ -397,7 +397,7 @@ byte memset_dma::dmaMode
 byte memset_dma::dmaMode#0 2.4444444444444446
 byte memset_dma::fill
 word memset_dma::num
-volatile struct DMA_LIST_F018B memset_dma_command loadstore = { command: DMA_COMMAND_FILL, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memset_dma_command loadstore = { command: DMA_COMMAND_FILL, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 
 Initial phi equivalence classes
 Added variable memoryRemap::aVal to live range equivalence class [ memoryRemap::aVal ]
@@ -717,7 +717,7 @@ byte memset_dma::fill
 constant byte memset_dma::fill#0 fill = '*'
 word memset_dma::num
 constant word memset_dma::num#0 num = (word)$50*$a
-volatile struct DMA_LIST_F018B memset_dma_command loadstore mem[12] = { command: DMA_COMMAND_FILL, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memset_dma_command loadstore mem[12] = { command: DMA_COMMAND_FILL, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 
 zp[1]:2 [ memoryRemap::aVal ]
 zp[1]:3 [ memoryRemap::xVal ]
diff --git a/src/test/ref/examples/mega65/dma-test5.sym b/src/test/ref/examples/mega65/dma-test5.sym
index 83d155666..f19d6f769 100644
--- a/src/test/ref/examples/mega65/dma-test5.sym
+++ b/src/test/ref/examples/mega65/dma-test5.sym
@@ -26,7 +26,7 @@ byte memset_dma::fill
 constant byte memset_dma::fill#0 fill = '*'
 word memset_dma::num
 constant word memset_dma::num#0 num = (word)$50*$a
-volatile struct DMA_LIST_F018B memset_dma_command loadstore mem[12] = { command: DMA_COMMAND_FILL, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memset_dma_command loadstore mem[12] = { command: DMA_COMMAND_FILL, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 
 zp[1]:2 [ memoryRemap::aVal ]
 zp[1]:3 [ memoryRemap::xVal ]
diff --git a/src/test/ref/examples/mega65/dypp65.log b/src/test/ref/examples/mega65/dypp65.log
index 75f78c741..c2c8d2421 100644
--- a/src/test/ref/examples/mega65/dypp65.log
+++ b/src/test/ref/examples/mega65/dypp65.log
@@ -468,7 +468,7 @@ byte memset_dma256::fill#1
 word memset_dma256::num
 word memset_dma256::num#0
 word memset_dma256::num#1
-volatile struct DMA_LIST_F018B memset_dma_command loadstore = { command: DMA_COMMAND_FILL, count: 0, src: (byte*)0, src_bank: 0, dest: (byte*)0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memset_dma_command loadstore = { command: DMA_COMMAND_FILL, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 constant byte* memset_dma_command256[]  = { DMA_OPTION_DEST_MB, 0, DMA_OPTION_FORMAT_F018B, DMA_OPTION_END, DMA_COMMAND_FILL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 
 Adding number conversion cast (unumber) 4 in memoryRemap::$1 = memoryRemap::remapBlocks#1 << 4
@@ -566,8 +566,6 @@ Successful SSA optimization Pass2InlineCast
 Simplifying constant pointer cast (struct MOS6569_VICII*) 53248
 Simplifying constant pointer cast (struct MEGA65_VICIV*) 53248
 Simplifying constant pointer cast (struct F018_DMAGIC*) 55040
-Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (byte*) 0
 Simplifying constant pointer cast (byte*) 20480
 Simplifying constant pointer cast (byte*) 24576
 Simplifying constant integer cast 4
@@ -881,6 +879,8 @@ Consolidated array index constant in *((byte**)memset_dma256::f018b#0+OFFSET_STR
 Successful SSA optimization Pass2ConstantAdditionElimination
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) 8
+Finalized unsigned number type (byte) 0
+Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) $2d
 Finalized unsigned number type (byte) $19
 Finalized unsigned number type (byte) 2
@@ -1144,7 +1144,7 @@ byte memset_dma256::dmaMode#0 2.0
 struct DMA_LIST_F018B* memset_dma256::f018b
 byte memset_dma256::fill
 word memset_dma256::num
-volatile struct DMA_LIST_F018B memset_dma_command loadstore = { command: DMA_COMMAND_FILL, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memset_dma_command loadstore = { command: DMA_COMMAND_FILL, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 
 Initial phi equivalence classes
 [ main::r#2 main::r#1 ]
@@ -2144,7 +2144,7 @@ constant struct DMA_LIST_F018B* memset_dma256::f018b#0 f018b = (struct DMA_LIST_
 byte memset_dma256::fill
 word memset_dma256::num
 constant word memset_dma256::num#0 num = (word)$2d*$19*2
-volatile struct DMA_LIST_F018B memset_dma_command loadstore mem[12] = { command: DMA_COMMAND_FILL, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memset_dma_command loadstore mem[12] = { command: DMA_COMMAND_FILL, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 constant byte* memset_dma_command256[]  = { DMA_OPTION_DEST_MB, 0, DMA_OPTION_FORMAT_F018B, DMA_OPTION_END, DMA_COMMAND_FILL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 
 reg byte x [ main::r#2 main::r#1 ]
diff --git a/src/test/ref/examples/mega65/dypp65.sym b/src/test/ref/examples/mega65/dypp65.sym
index 234e6a9e1..66ed27792 100644
--- a/src/test/ref/examples/mega65/dypp65.sym
+++ b/src/test/ref/examples/mega65/dypp65.sym
@@ -104,7 +104,7 @@ constant struct DMA_LIST_F018B* memset_dma256::f018b#0 f018b = (struct DMA_LIST_
 byte memset_dma256::fill
 word memset_dma256::num
 constant word memset_dma256::num#0 num = (word)$2d*$19*2
-volatile struct DMA_LIST_F018B memset_dma_command loadstore mem[12] = { command: DMA_COMMAND_FILL, count: 0, src: (byte*) 0, src_bank: 0, dest: (byte*) 0, dest_bank: 0, sub_command: 0, modulo: 0 }
+volatile struct DMA_LIST_F018B memset_dma_command loadstore mem[12] = { command: DMA_COMMAND_FILL, count: 0, src: 0, src_bank: 0, dest: 0, dest_bank: 0, sub_command: 0, modulo: 0 }
 constant byte* memset_dma_command256[]  = { DMA_OPTION_DEST_MB, 0, DMA_OPTION_FORMAT_F018B, DMA_OPTION_END, DMA_COMMAND_FILL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 
 reg byte x [ main::r#2 main::r#1 ]
diff --git a/src/test/ref/examples/mega65/helloworld-mega65.log b/src/test/ref/examples/mega65/helloworld-mega65.log
index 75ffcd982..789b04236 100644
--- a/src/test/ref/examples/mega65/helloworld-mega65.log
+++ b/src/test/ref/examples/mega65/helloworld-mega65.log
@@ -373,8 +373,8 @@ constant byte* const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
 constant const byte CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
 constant const byte CRAM2K = 1
 constant byte* const DEFAULT_SCREEN = (byte*)$800
-constant volatile byte* const IO_BANK = (volatile byte*)$d030
-constant volatile byte* const IO_KEY = (volatile byte*)$d02f
+constant volatile byte* const IO_BANK = (byte*)$d030
+constant volatile byte* const IO_KEY = (byte*)$d02f
 constant const byte LIGHT_BLUE = $e
 constant byte RADIX::BINARY = 2
 constant byte RADIX::DECIMAL = $a
@@ -625,8 +625,8 @@ Inlining cast *IO_KEY = (unumber)$53
 Inlining cast gotoxy::x#2 = (unumber)0
 Inlining cast conio_mega65_init::line#1 = (unumber)$19-1
 Successful SSA optimization Pass2InlineCast
-Simplifying constant pointer cast (volatile byte*) 53295
-Simplifying constant pointer cast (volatile byte*) 53296
+Simplifying constant pointer cast (byte*) 53295
+Simplifying constant pointer cast (byte*) 53296
 Simplifying constant pointer cast (byte*) 55296
 Simplifying constant pointer cast (byte*) 2048
 Simplifying constant pointer cast (byte*) 235
@@ -2407,8 +2407,8 @@ FINAL SYMBOL TABLE
 constant byte* const COLORRAM = (byte*) 55296
 constant const byte CRAM2K = 1
 constant byte* const DEFAULT_SCREEN = (byte*) 2048
-constant volatile byte* const IO_BANK = (volatile byte*) 53296
-constant volatile byte* const IO_KEY = (volatile byte*) 53295
+constant volatile byte* const IO_BANK = (byte*) 53296
+constant volatile byte* const IO_KEY = (byte*) 53295
 constant const byte LIGHT_BLUE = $e
 constant byte RADIX::BINARY = 2
 constant byte RADIX::DECIMAL = $a
diff --git a/src/test/ref/examples/mega65/helloworld-mega65.sym b/src/test/ref/examples/mega65/helloworld-mega65.sym
index 6e0f03541..66703a6d7 100644
--- a/src/test/ref/examples/mega65/helloworld-mega65.sym
+++ b/src/test/ref/examples/mega65/helloworld-mega65.sym
@@ -1,8 +1,8 @@
 constant byte* const COLORRAM = (byte*) 55296
 constant const byte CRAM2K = 1
 constant byte* const DEFAULT_SCREEN = (byte*) 2048
-constant volatile byte* const IO_BANK = (volatile byte*) 53296
-constant volatile byte* const IO_KEY = (volatile byte*) 53295
+constant volatile byte* const IO_BANK = (byte*) 53296
+constant volatile byte* const IO_KEY = (byte*) 53295
 constant const byte LIGHT_BLUE = $e
 constant byte RADIX::BINARY = 2
 constant byte RADIX::DECIMAL = $a
diff --git a/src/test/ref/examples/mega65/raster65.log b/src/test/ref/examples/mega65/raster65.log
index 93742ec93..16d59076c 100644
--- a/src/test/ref/examples/mega65/raster65.log
+++ b/src/test/ref/examples/mega65/raster65.log
@@ -674,7 +674,7 @@ byte irq::wobble_idx#9
 byte irq::zoomval
 byte irq::zoomval#0
 void main()
-byte~ main::$2
+word~ main::$2
 bool~ main::$3
 bool~ main::$4
 bool~ main::$5
diff --git a/src/test/ref/examples/mega65/test-vic4.log b/src/test/ref/examples/mega65/test-vic4.log
index 64e62491b..200ac6fff 100644
--- a/src/test/ref/examples/mega65/test-vic4.log
+++ b/src/test/ref/examples/mega65/test-vic4.log
@@ -67,8 +67,8 @@ __start::@return: scope:[__start]  from __start::@1
 SYMBOL TABLE SSA
 constant byte* const COLORS = (byte*)$d800
 constant const byte CRAM2K = 1
-constant volatile byte* const IO_BANK = (volatile byte*)$d030
-constant volatile byte* const IO_KEY = (volatile byte*)$d02f
+constant volatile byte* const IO_BANK = (byte*)$d030
+constant volatile byte* const IO_KEY = (byte*)$d02f
 constant byte OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
 constant byte OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
 constant byte* const SCREEN = (byte*)$800
@@ -97,8 +97,8 @@ Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast *IO_KEY = (unumber)$47
 Inlining cast *IO_KEY = (unumber)$53
 Successful SSA optimization Pass2InlineCast
-Simplifying constant pointer cast (volatile byte*) 53295
-Simplifying constant pointer cast (volatile byte*) 53296
+Simplifying constant pointer cast (byte*) 53295
+Simplifying constant pointer cast (byte*) 53296
 Simplifying constant pointer cast (struct MOS6569_VICII*) 53248
 Simplifying constant pointer cast (byte*) 2048
 Simplifying constant pointer cast (byte*) 55296
@@ -384,8 +384,8 @@ Succesful ASM optimization Pass5UnusedLabelElimination
 FINAL SYMBOL TABLE
 constant byte* const COLORS = (byte*) 55296
 constant const byte CRAM2K = 1
-constant volatile byte* const IO_BANK = (volatile byte*) 53296
-constant volatile byte* const IO_KEY = (volatile byte*) 53295
+constant volatile byte* const IO_BANK = (byte*) 53296
+constant volatile byte* const IO_KEY = (byte*) 53295
 constant byte OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
 constant byte OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
 constant byte* const SCREEN = (byte*) 2048
diff --git a/src/test/ref/examples/mega65/test-vic4.sym b/src/test/ref/examples/mega65/test-vic4.sym
index 0686f51b8..753811527 100644
--- a/src/test/ref/examples/mega65/test-vic4.sym
+++ b/src/test/ref/examples/mega65/test-vic4.sym
@@ -1,7 +1,7 @@
 constant byte* const COLORS = (byte*) 55296
 constant const byte CRAM2K = 1
-constant volatile byte* const IO_BANK = (volatile byte*) 53296
-constant volatile byte* const IO_KEY = (volatile byte*) 53295
+constant volatile byte* const IO_BANK = (byte*) 53296
+constant volatile byte* const IO_KEY = (byte*) 53295
 constant byte OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
 constant byte OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
 constant byte* const SCREEN = (byte*) 2048
diff --git a/src/test/ref/examples/nes/nes-conio.log b/src/test/ref/examples/nes/nes-conio.log
index b9860831b..0272cf316 100644
--- a/src/test/ref/examples/nes/nes-conio.log
+++ b/src/test/ref/examples/nes/nes-conio.log
@@ -1076,8 +1076,8 @@ constant byte* const PPU_ATTRIBUTE_TABLE_0 = (byte*)$23c0
 constant byte* const PPU_ATTRIBUTE_TABLE_1 = (byte*)$27c0
 constant byte* const PPU_NAME_TABLE_0 = (byte*)$2000
 constant byte* const PPU_PALETTE = (byte*)$3f00
-constant volatile byte* const PPU_PPUDATA = (volatile byte*)$2007
-constant volatile byte* const PPU_PPUSTATUS = (volatile byte*)$2002
+constant volatile byte* const PPU_PPUDATA = (byte*)$2007
+constant volatile byte* const PPU_PPUSTATUS = (byte*)$2002
 constant byte RADIX::BINARY = 2
 constant byte RADIX::DECIMAL = $a
 constant byte RADIX::HEXADECIMAL = $10
@@ -1094,7 +1094,7 @@ constant byte* TILES[]  = kickasm {{ .var filechargen = LoadBinary("characters.9
         .fill 8, 0
     }
  }}
-constant void()* const* VECTORS[]  = { &vblank, &main, (void()*)0 }
+constant void()* const* VECTORS[]  = { &vblank, &main, 0 }
 void __start()
 void clrscr()
 constant byte* conio_cscroll_buffer[$20]  = { fill( $20, 0) }
@@ -1213,7 +1213,7 @@ byte gotoxy::y#5
 byte gotoxy::y#6
 byte gotoxy::y#7
 void main()
-byte~ main::$1
+word~ main::$1
 byte~ main::$11
 number~ main::$12
 byte~ main::$14
@@ -1840,11 +1840,10 @@ Simplifying constant pointer cast (byte*) 8192
 Simplifying constant pointer cast (byte*) 9152
 Simplifying constant pointer cast (byte*) 10176
 Simplifying constant pointer cast (byte*) 16128
-Simplifying constant pointer cast (volatile byte*) 8194
-Simplifying constant pointer cast (volatile byte*) 8199
+Simplifying constant pointer cast (byte*) 8194
+Simplifying constant pointer cast (byte*) 8199
 Simplifying constant pointer cast (byte*) 16407
 Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (void()*) 0
 Simplifying constant pointer cast (struct RICOH_2C02*) 8192
 Simplifying constant pointer cast (struct RICOH_2A03*) 16384
 Simplifying constant integer cast 1
@@ -2627,6 +2626,7 @@ Finalized unsigned number type (byte) $b
 Finalized unsigned number type (byte) $b
 Finalized unsigned number type (byte) $b
 Finalized unsigned number type (byte) $20
+Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) $1e
 Finalized unsigned number type (byte) $20
 Finalized unsigned number type (byte) $1e
@@ -6054,8 +6054,8 @@ constant byte* const PPU_ATTRIBUTE_TABLE_0 = (byte*) 9152
 constant byte* const PPU_ATTRIBUTE_TABLE_1 = (byte*) 10176
 constant byte* const PPU_NAME_TABLE_0 = (byte*) 8192
 constant byte* const PPU_PALETTE = (byte*) 16128
-constant volatile byte* const PPU_PPUDATA = (volatile byte*) 8199
-constant volatile byte* const PPU_PPUSTATUS = (volatile byte*) 8194
+constant volatile byte* const PPU_PPUDATA = (byte*) 8199
+constant volatile byte* const PPU_PPUSTATUS = (byte*) 8194
 constant byte RADIX::BINARY = 2
 constant byte RADIX::DECIMAL = $a
 constant byte RADIX::HEXADECIMAL = $10
@@ -6070,7 +6070,7 @@ constant byte* TILES[]  = kickasm {{ .var filechargen = LoadBinary("characters.9
         .fill 8, 0
     }
  }}
-constant void()* const* VECTORS[]  = { &vblank, &main, (void()*) 0 }
+constant void()* const* VECTORS[]  = { &vblank, &main, 0 }
 void __start()
 void clrscr()
 constant byte* conio_cscroll_buffer[$20]  = { fill( $20, 0) }
diff --git a/src/test/ref/examples/nes/nes-conio.sym b/src/test/ref/examples/nes/nes-conio.sym
index d10280573..8503c2a98 100644
--- a/src/test/ref/examples/nes/nes-conio.sym
+++ b/src/test/ref/examples/nes/nes-conio.sym
@@ -19,8 +19,8 @@ constant byte* const PPU_ATTRIBUTE_TABLE_0 = (byte*) 9152
 constant byte* const PPU_ATTRIBUTE_TABLE_1 = (byte*) 10176
 constant byte* const PPU_NAME_TABLE_0 = (byte*) 8192
 constant byte* const PPU_PALETTE = (byte*) 16128
-constant volatile byte* const PPU_PPUDATA = (volatile byte*) 8199
-constant volatile byte* const PPU_PPUSTATUS = (volatile byte*) 8194
+constant volatile byte* const PPU_PPUDATA = (byte*) 8199
+constant volatile byte* const PPU_PPUSTATUS = (byte*) 8194
 constant byte RADIX::BINARY = 2
 constant byte RADIX::DECIMAL = $a
 constant byte RADIX::HEXADECIMAL = $10
@@ -35,7 +35,7 @@ constant byte* TILES[]  = kickasm {{ .var filechargen = LoadBinary("characters.9
         .fill 8, 0
     }
  }}
-constant void()* const* VECTORS[]  = { &vblank, &main, (void()*) 0 }
+constant void()* const* VECTORS[]  = { &vblank, &main, 0 }
 void __start()
 void clrscr()
 constant byte* conio_cscroll_buffer[$20]  = { fill( $20, 0) }
diff --git a/src/test/ref/examples/nes/nes-demo.log b/src/test/ref/examples/nes/nes-demo.log
index 7e564d2a0..cd304855f 100644
--- a/src/test/ref/examples/nes/nes-demo.log
+++ b/src/test/ref/examples/nes/nes-demo.log
@@ -671,19 +671,19 @@ constant struct RICOH_2C02* PPU = (struct RICOH_2C02*)$2000
 constant byte* const PPU_ATTRIBUTE_TABLE_0 = (byte*)$23c0
 constant byte* const PPU_NAME_TABLE_0 = (byte*)$2000
 constant byte* const PPU_PALETTE = (byte*)$3f00
-constant volatile byte* const PPU_PPUSTATUS = (volatile byte*)$2002
+constant volatile byte* const PPU_PPUSTATUS = (byte*)$2002
 constant byte SIZEOF_STRUCT_SPRITEDATA = 4
 constant struct SpriteData* SPRITES[]  = { { y: $96, tile: $36, attributes: 2, x: $c }, { y: $96, tile: $37, attributes: 2, x: $14 }, { y: $9e, tile: $38, attributes: 2, x: $c }, { y: $9e, tile: $39, attributes: 2, x: $14 }, { y: $96, tile: $70, attributes: 0, x: $48 }, { y: $96, tile: $71, attributes: 0, x: $50 }, { y: $9e, tile: $72, attributes: 1, x: $48 }, { y: $9e, tile: $73, attributes: 1, x: $50 } }
 constant struct SpriteData* SPRITE_BUFFER[$40]  = { fill( $40, 0) }
 constant byte* TILES[]  = kickasm {{ .import binary "smb1_chr.bin"
  }}
-constant void()* const* VECTORS[]  = { &vblank, &main, (void()*)0 }
+constant void()* const* VECTORS[]  = { &vblank, &main, 0 }
 void __start()
 void main()
-byte~ main::$1
+word~ main::$1
 byte*~ main::$10
 bool~ main::$12
-byte~ main::$6
+word~ main::$6
 bool~ main::$9
 byte*~ main::enableVideoOutput1_$0
 byte*~ main::enableVideoOutput1_$1
@@ -1140,10 +1140,9 @@ Successful SSA optimization Pass2InlineCast
 Simplifying constant pointer cast (byte*) 8192
 Simplifying constant pointer cast (byte*) 9152
 Simplifying constant pointer cast (byte*) 16128
-Simplifying constant pointer cast (volatile byte*) 8194
+Simplifying constant pointer cast (byte*) 8194
 Simplifying constant pointer cast (byte*) 16407
 Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (void()*) 0
 Simplifying constant pointer cast (struct RICOH_2C02*) 8192
 Simplifying constant pointer cast (struct RICOH_2A03*) 16384
 Simplifying constant integer cast 1
@@ -1851,6 +1850,7 @@ Successful SSA optimization Pass2ConstantAdditionElimination
 Finalized unsigned number type (byte) $20
 Finalized unsigned number type (byte) $40
 Finalized unsigned number type (byte) $40
+Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) $12
 Finalized unsigned number type (byte) $20
 Finalized unsigned number type (byte) $14
@@ -3613,14 +3613,14 @@ constant struct RICOH_2C02* PPU = (struct RICOH_2C02*) 8192
 constant byte* const PPU_ATTRIBUTE_TABLE_0 = (byte*) 9152
 constant byte* const PPU_NAME_TABLE_0 = (byte*) 8192
 constant byte* const PPU_PALETTE = (byte*) 16128
-constant volatile byte* const PPU_PPUSTATUS = (volatile byte*) 8194
+constant volatile byte* const PPU_PPUSTATUS = (byte*) 8194
 constant byte SIZEOF_BYTE = 1
 constant byte SIZEOF_STRUCT_SPRITEDATA = 4
 constant struct SpriteData* SPRITES[]  = { { y: $96, tile: $36, attributes: 2, x: $c }, { y: $96, tile: $37, attributes: 2, x: $14 }, { y: $9e, tile: $38, attributes: 2, x: $c }, { y: $9e, tile: $39, attributes: 2, x: $14 }, { y: $96, tile: $70, attributes: 0, x: $48 }, { y: $96, tile: $71, attributes: 0, x: $50 }, { y: $9e, tile: $72, attributes: 1, x: $48 }, { y: $9e, tile: $73, attributes: 1, x: $50 } }
 constant struct SpriteData* SPRITE_BUFFER[$40]  = { fill( $40, 0) }
 constant byte* TILES[]  = kickasm {{ .import binary "smb1_chr.bin"
  }}
-constant void()* const* VECTORS[]  = { &vblank, &main, (void()*) 0 }
+constant void()* const* VECTORS[]  = { &vblank, &main, 0 }
 void main()
 byte main::initNES1_i
 byte main::initNES1_i#1 reg byte x 16.5
diff --git a/src/test/ref/examples/nes/nes-demo.sym b/src/test/ref/examples/nes/nes-demo.sym
index 194bcd718..88d1d91d7 100644
--- a/src/test/ref/examples/nes/nes-demo.sym
+++ b/src/test/ref/examples/nes/nes-demo.sym
@@ -22,14 +22,14 @@ constant struct RICOH_2C02* PPU = (struct RICOH_2C02*) 8192
 constant byte* const PPU_ATTRIBUTE_TABLE_0 = (byte*) 9152
 constant byte* const PPU_NAME_TABLE_0 = (byte*) 8192
 constant byte* const PPU_PALETTE = (byte*) 16128
-constant volatile byte* const PPU_PPUSTATUS = (volatile byte*) 8194
+constant volatile byte* const PPU_PPUSTATUS = (byte*) 8194
 constant byte SIZEOF_BYTE = 1
 constant byte SIZEOF_STRUCT_SPRITEDATA = 4
 constant struct SpriteData* SPRITES[]  = { { y: $96, tile: $36, attributes: 2, x: $c }, { y: $96, tile: $37, attributes: 2, x: $14 }, { y: $9e, tile: $38, attributes: 2, x: $c }, { y: $9e, tile: $39, attributes: 2, x: $14 }, { y: $96, tile: $70, attributes: 0, x: $48 }, { y: $96, tile: $71, attributes: 0, x: $50 }, { y: $9e, tile: $72, attributes: 1, x: $48 }, { y: $9e, tile: $73, attributes: 1, x: $50 } }
 constant struct SpriteData* SPRITE_BUFFER[$40]  = { fill( $40, 0) }
 constant byte* TILES[]  = kickasm {{ .import binary "smb1_chr.bin"
  }}
-constant void()* const* VECTORS[]  = { &vblank, &main, (void()*) 0 }
+constant void()* const* VECTORS[]  = { &vblank, &main, 0 }
 void main()
 byte main::initNES1_i
 byte main::initNES1_i#1 reg byte x 16.5
diff --git a/src/test/ref/examples/nes/nes-dxycp.log b/src/test/ref/examples/nes/nes-dxycp.log
index 310db0f32..ef26944c8 100644
--- a/src/test/ref/examples/nes/nes-dxycp.log
+++ b/src/test/ref/examples/nes/nes-dxycp.log
@@ -496,7 +496,7 @@ constant struct RICOH_2C02* PPU = (struct RICOH_2C02*)$2000
 constant byte* const PPU_ATTRIBUTE_TABLE_0 = (byte*)$23c0
 constant byte* const PPU_NAME_TABLE_0 = (byte*)$2000
 constant byte* const PPU_PALETTE = (byte*)$3f00
-constant volatile byte* const PPU_PPUSTATUS = (volatile byte*)$2002
+constant volatile byte* const PPU_PPUSTATUS = (byte*)$2002
 constant const byte* SINTABLE_184[$ef]  = kickasm {{ .fill 239, round(71.5+71.5*sin(2*PI*i/239))
  }}
 constant const byte* SINTABLE_240[$100]  = kickasm {{ .fill $100, round(115.5+107.5*sin(2*PI*i/256))
@@ -513,10 +513,10 @@ constant byte* TILES[]  = kickasm {{ .var filechargen = LoadBinary("characters.9
         .fill 8, 0
     }
  }}
-constant void()* const* VECTORS[]  = { &vblank, &main, (void()*)0 }
+constant void()* const* VECTORS[]  = { &vblank, &main, 0 }
 void __start()
 void main()
-byte~ main::$1
+word~ main::$1
 bool~ main::$6
 byte~ main::$7
 bool~ main::$8
@@ -890,10 +890,9 @@ Successful SSA optimization Pass2InlineCast
 Simplifying constant pointer cast (byte*) 8192
 Simplifying constant pointer cast (byte*) 9152
 Simplifying constant pointer cast (byte*) 16128
-Simplifying constant pointer cast (volatile byte*) 8194
+Simplifying constant pointer cast (byte*) 8194
 Simplifying constant pointer cast (byte*) 16407
 Simplifying constant pointer cast (byte*) 0
-Simplifying constant pointer cast (void()*) 0
 Simplifying constant pointer cast (struct RICOH_2C02*) 8192
 Simplifying constant pointer cast (struct RICOH_2A03*) 16384
 Simplifying constant integer cast 1
@@ -1347,6 +1346,7 @@ Finalized unsigned number type (byte) $59
 Finalized unsigned number type (byte) $ef
 Finalized unsigned number type (word) $100
 Finalized unsigned number type (word) $100
+Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) $20
 Finalized unsigned number type (byte) $1e
 Successful SSA optimization PassNFinalizeNumberTypeConversions
@@ -3026,7 +3026,7 @@ constant struct RICOH_2C02* PPU = (struct RICOH_2C02*) 8192
 constant byte* const PPU_ATTRIBUTE_TABLE_0 = (byte*) 9152
 constant byte* const PPU_NAME_TABLE_0 = (byte*) 8192
 constant byte* const PPU_PALETTE = (byte*) 16128
-constant volatile byte* const PPU_PPUSTATUS = (volatile byte*) 8194
+constant volatile byte* const PPU_PPUSTATUS = (byte*) 8194
 constant const byte* SINTABLE_184[$ef]  = kickasm {{ .fill 239, round(71.5+71.5*sin(2*PI*i/239))
  }}
 constant const byte* SINTABLE_240[$100]  = kickasm {{ .fill $100, round(115.5+107.5*sin(2*PI*i/256))
@@ -3043,7 +3043,7 @@ constant byte* TILES[]  = kickasm {{ .var filechargen = LoadBinary("characters.9
         .fill 8, 0
     }
  }}
-constant void()* const* VECTORS[]  = { &vblank, &main, (void()*) 0 }
+constant void()* const* VECTORS[]  = { &vblank, &main, 0 }
 void __start()
 void main()
 byte~ main::$7 reg byte y 126.25
diff --git a/src/test/ref/examples/nes/nes-dxycp.sym b/src/test/ref/examples/nes/nes-dxycp.sym
index 06cf220f2..c7df80fcc 100644
--- a/src/test/ref/examples/nes/nes-dxycp.sym
+++ b/src/test/ref/examples/nes/nes-dxycp.sym
@@ -19,7 +19,7 @@ constant struct RICOH_2C02* PPU = (struct RICOH_2C02*) 8192
 constant byte* const PPU_ATTRIBUTE_TABLE_0 = (byte*) 9152
 constant byte* const PPU_NAME_TABLE_0 = (byte*) 8192
 constant byte* const PPU_PALETTE = (byte*) 16128
-constant volatile byte* const PPU_PPUSTATUS = (volatile byte*) 8194
+constant volatile byte* const PPU_PPUSTATUS = (byte*) 8194
 constant const byte* SINTABLE_184[$ef]  = kickasm {{ .fill 239, round(71.5+71.5*sin(2*PI*i/239))
  }}
 constant const byte* SINTABLE_240[$100]  = kickasm {{ .fill $100, round(115.5+107.5*sin(2*PI*i/256))
@@ -36,7 +36,7 @@ constant byte* TILES[]  = kickasm {{ .var filechargen = LoadBinary("characters.9
         .fill 8, 0
     }
  }}
-constant void()* const* VECTORS[]  = { &vblank, &main, (void()*) 0 }
+constant void()* const* VECTORS[]  = { &vblank, &main, 0 }
 void __start()
 void main()
 byte~ main::$7 reg byte y 126.25
diff --git a/src/test/ref/examples/plus4/plus4-randomwalk.log b/src/test/ref/examples/plus4/plus4-randomwalk.log
index aa6dbe8dc..c51d727e2 100644
--- a/src/test/ref/examples/plus4/plus4-randomwalk.log
+++ b/src/test/ref/examples/plus4/plus4-randomwalk.log
@@ -1106,7 +1106,7 @@ Uplift Scope [MOS7360_TED]
 Uplift Scope [MOS6551_ACIA] 
 Uplift Scope [MOS6529_PIO] 
 Uplift Scope [MOS7501_PORT] 
-Uplift Scope [$0] 
+Uplift Scope [PLUS4_ROM_BANKING] 
 Uplift Scope [RADIX] 
 
 Uplifting [main] best 8134 combination reg byte x [ main::x#11 main::x#10 main::x#2 main::x#1 ] zp[1]:2 [ main::y#11 main::y#10 main::y#2 main::y#1 ] zp[2]:13 [ main::$29 ] zp[2]:15 [ main::$30 ] zp[2]:17 [ main::$3 ] zp[2]:21 [ main::$6 ] reg byte a [ main::$9 ] zp[2]:29 [ main::$10 ] reg byte a [ main::$12 ] reg byte a [ main::$13 ] zp[1]:34 [ main::$18 ] zp[2]:11 [ main::$24 ] zp[1]:31 [ main::rnd#0 ] zp[1]:23 [ main::cnt#0 ] zp[2]:24 [ main::$8 ] zp[2]:19 [ main::offset#0 ] 
@@ -1118,7 +1118,7 @@ Uplifting [MOS7360_TED] best 8115 combination
 Uplifting [MOS6551_ACIA] best 8115 combination 
 Uplifting [MOS6529_PIO] best 8115 combination 
 Uplifting [MOS7501_PORT] best 8115 combination 
-Uplifting [$0] best 8115 combination 
+Uplifting [PLUS4_ROM_BANKING] best 8115 combination 
 Uplifting [RADIX] best 8115 combination 
 Attempting to uplift remaining variables inzp[1]:2 [ main::y#11 main::y#10 main::y#2 main::y#1 ]
 Uplifting [main] best 8115 combination zp[1]:2 [ main::y#11 main::y#10 main::y#2 main::y#1 ] 
diff --git a/src/test/ref/function-pointer-noarg-call-13.log b/src/test/ref/function-pointer-noarg-call-13.log
index b819d6824..a0cf5026f 100644
--- a/src/test/ref/function-pointer-noarg-call-13.log
+++ b/src/test/ref/function-pointer-noarg-call-13.log
@@ -65,7 +65,7 @@ void* volatile enableDLI::dliptr loadstore
 void fn1()
 void fn2()
 void main()
-constant const byte* r = (const byte*)$8000
+constant const byte* r = (byte*)$8000
 
 Adding number conversion cast (unumber) 1 in *r = 1
 Adding number conversion cast (unumber) 2 in *r = 2
@@ -73,7 +73,7 @@ Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast *r = (unumber)1
 Inlining cast *r = (unumber)2
 Successful SSA optimization Pass2InlineCast
-Simplifying constant pointer cast (const byte*) 32768
+Simplifying constant pointer cast (byte*) 32768
 Simplifying constant integer cast 1
 Simplifying constant integer cast 2
 Successful SSA optimization PassNCastSimplification
@@ -272,7 +272,7 @@ void* volatile enableDLI::dliptr loadstore zp[2]:128 2.0
 void fn1()
 void fn2()
 void main()
-constant const byte* r = (const byte*) 32768
+constant const byte* r = (byte*) 32768
 
 zp[2]:128 [ enableDLI::dliptr ]
 
diff --git a/src/test/ref/function-pointer-noarg-call-13.sym b/src/test/ref/function-pointer-noarg-call-13.sym
index 694de0d46..d46269bf9 100644
--- a/src/test/ref/function-pointer-noarg-call-13.sym
+++ b/src/test/ref/function-pointer-noarg-call-13.sym
@@ -3,6 +3,6 @@ void* volatile enableDLI::dliptr loadstore zp[2]:128 2.0
 void fn1()
 void fn2()
 void main()
-constant const byte* r = (const byte*) 32768
+constant const byte* r = (byte*) 32768
 
 zp[2]:128 [ enableDLI::dliptr ]
diff --git a/src/test/ref/function-pointer-noarg-call-6.asm b/src/test/ref/function-pointer-noarg-call-6.asm
index 0df3b0f25..5a65dc56b 100644
--- a/src/test/ref/function-pointer-noarg-call-6.asm
+++ b/src/test/ref/function-pointer-noarg-call-6.asm
@@ -15,7 +15,7 @@ main: {
     lda #>$d800
     sta.z cols+1
   __b1:
-    // for(byte* cols = $d800; cols<$d800+1000;cols++)
+    // for(byte* cols = (char*)$d800; cols<$d800+1000;cols++)
     lda.z cols+1
     cmp #>$d800+$3e8
     bcc __b2
@@ -35,7 +35,7 @@ main: {
     clc
     adc #1
     sta (cols),y
-    // for(byte* cols = $d800; cols<$d800+1000;cols++)
+    // for(byte* cols = (char*)$d800; cols<$d800+1000;cols++)
     inc.z cols
     bne !+
     inc.z cols+1
@@ -49,7 +49,7 @@ fn1: {
     lda #>$400
     sta.z screen+1
   __b1:
-    // for(byte* screen=$400;screen<$400+1000;screen++)
+    // for(byte* screen=(byte*)$400;screen<$400+1000;screen++)
     lda.z screen+1
     cmp #>$400+$3e8
     bcc __b2
@@ -67,7 +67,7 @@ fn1: {
     clc
     adc #1
     sta (screen),y
-    // for(byte* screen=$400;screen<$400+1000;screen++)
+    // for(byte* screen=(byte*)$400;screen<$400+1000;screen++)
     inc.z screen
     bne !+
     inc.z screen+1
diff --git a/src/test/ref/function-pointer-noarg-call-6.log b/src/test/ref/function-pointer-noarg-call-6.log
index ef345f628..00dfd44af 100644
--- a/src/test/ref/function-pointer-noarg-call-6.log
+++ b/src/test/ref/function-pointer-noarg-call-6.log
@@ -365,7 +365,7 @@ main: {
     sta.z cols+1
     // main::@1
   __b1:
-    // for(byte* cols = $d800; cols<$d800+1000;cols++)
+    // for(byte* cols = (char*)$d800; cols<$d800+1000;cols++)
     // [2] if(main::cols#2<$d800+$3e8) goto main::@2 -- pbuz1_lt_vwuc1_then_la1 
     lda.z cols+1
     cmp #>$d800+$3e8
@@ -392,7 +392,7 @@ main: {
     clc
     adc #1
     sta (cols),y
-    // for(byte* cols = $d800; cols<$d800+1000;cols++)
+    // for(byte* cols = (char*)$d800; cols<$d800+1000;cols++)
     // [7] main::cols#1 = ++ main::cols#2 -- pbuz1=_inc_pbuz1 
     inc.z cols
     bne !+
@@ -413,7 +413,7 @@ fn1: {
     sta.z screen+1
     // fn1::@1
   __b1:
-    // for(byte* screen=$400;screen<$400+1000;screen++)
+    // for(byte* screen=(byte*)$400;screen<$400+1000;screen++)
     // [10] if(fn1::screen#2<$400+$3e8) goto fn1::@2 -- pbuz1_lt_vwuc1_then_la1 
     lda.z screen+1
     cmp #>$400+$3e8
@@ -436,7 +436,7 @@ fn1: {
     clc
     adc #1
     sta (screen),y
-    // for(byte* screen=$400;screen<$400+1000;screen++)
+    // for(byte* screen=(byte*)$400;screen<$400+1000;screen++)
     // [13] fn1::screen#1 = ++ fn1::screen#2 -- pbuz1=_inc_pbuz1 
     inc.z screen
     bne !+
diff --git a/src/test/ref/function-pointer-problem-1.log b/src/test/ref/function-pointer-problem-1.log
index 5f1b87caa..33cfe7505 100644
--- a/src/test/ref/function-pointer-problem-1.log
+++ b/src/test/ref/function-pointer-problem-1.log
@@ -51,13 +51,13 @@ void enableDLI(void* volatile enableDLI::dliptr)
 void* volatile enableDLI::dliptr loadstore
 void fn1()
 void main()
-constant const byte* r = (const byte*)$8000
+constant const byte* r = (byte*)$8000
 
 Adding number conversion cast (unumber) 1 in *r = 1
 Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast *r = (unumber)1
 Successful SSA optimization Pass2InlineCast
-Simplifying constant pointer cast (const byte*) 32768
+Simplifying constant pointer cast (byte*) 32768
 Simplifying constant integer cast 1
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) 1
@@ -211,7 +211,7 @@ void enableDLI(void* volatile enableDLI::dliptr)
 void* volatile enableDLI::dliptr loadstore zp[2]:2 2.0
 void fn1()
 void main()
-constant const byte* r = (const byte*) 32768
+constant const byte* r = (byte*) 32768
 
 zp[2]:2 [ enableDLI::dliptr ]
 
diff --git a/src/test/ref/function-pointer-problem-1.sym b/src/test/ref/function-pointer-problem-1.sym
index 0a6b0343d..e6b373120 100644
--- a/src/test/ref/function-pointer-problem-1.sym
+++ b/src/test/ref/function-pointer-problem-1.sym
@@ -2,6 +2,6 @@ void enableDLI(void* volatile enableDLI::dliptr)
 void* volatile enableDLI::dliptr loadstore zp[2]:2 2.0
 void fn1()
 void main()
-constant const byte* r = (const byte*) 32768
+constant const byte* r = (byte*) 32768
 
 zp[2]:2 [ enableDLI::dliptr ]
diff --git a/src/test/ref/inline-asm-uses-problem-2.asm b/src/test/ref/inline-asm-uses-problem-2.asm
index 4ffeb58ea..5400af3fd 100644
--- a/src/test/ref/inline-asm-uses-problem-2.asm
+++ b/src/test/ref/inline-asm-uses-problem-2.asm
@@ -11,7 +11,7 @@
 .segment Code
 main: {
     .label zp2 = $fc
-    // __address(0xfc) char * zp2 = 0x0400
+    // __address(0xfc) char * zp2 = (char*)0x0400
     lda #<$400
     sta.z zp2
     lda #>$400
diff --git a/src/test/ref/inline-asm-uses-problem-2.log b/src/test/ref/inline-asm-uses-problem-2.log
index e613462bc..9cf13536d 100644
--- a/src/test/ref/inline-asm-uses-problem-2.log
+++ b/src/test/ref/inline-asm-uses-problem-2.log
@@ -159,7 +159,7 @@ Score: 42
   // main
 main: {
     .label zp2 = $fc
-    // __address(0xfc) char * zp2 = 0x0400
+    // __address(0xfc) char * zp2 = (char*)0x0400
     // [0] main::zp2 = (byte*) 1024 -- pbuz1=pbuc1 
     lda #<$400
     sta.z zp2
diff --git a/src/test/ref/inline-dword-0.log b/src/test/ref/inline-dword-0.log
index 25df64c38..423139c00 100644
--- a/src/test/ref/inline-dword-0.log
+++ b/src/test/ref/inline-dword-0.log
@@ -25,13 +25,13 @@ constant byte SIZEOF_DWORD = 4
 void __start()
 void main()
 number~ main::$0
-constant dword* main::screen = (dword*)$400
+constant dword* main::screen = (byte*)$400
 constant dword main::w = $1234*$10000+$5678
 
 Adding number conversion cast (unumber) 0 in main::$0 = 0 * SIZEOF_DWORD
 Adding number conversion cast (unumber) main::$0 in main::$0 = (unumber)0 * SIZEOF_DWORD
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (dword*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 0
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) 0
@@ -127,7 +127,7 @@ Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
 void main()
-constant dword* main::screen = (dword*) 1024
+constant dword* main::screen = (byte*) 1024
 constant dword main::w = $1234*$10000+$5678
 
 
diff --git a/src/test/ref/inline-dword-0.sym b/src/test/ref/inline-dword-0.sym
index 7cfdb50ff..2f08843d9 100644
--- a/src/test/ref/inline-dword-0.sym
+++ b/src/test/ref/inline-dword-0.sym
@@ -1,4 +1,4 @@
 void main()
-constant dword* main::screen = (dword*) 1024
+constant dword* main::screen = (byte*) 1024
 constant dword main::w = $1234*$10000+$5678
 
diff --git a/src/test/ref/inline-kickasm-uses-problem.log b/src/test/ref/inline-kickasm-uses-problem.log
index 99fc394d1..367fc8b74 100644
--- a/src/test/ref/inline-kickasm-uses-problem.log
+++ b/src/test/ref/inline-kickasm-uses-problem.log
@@ -53,7 +53,7 @@ __start::@return: scope:[__start]  from __start::@2
   to:@return
 
 SYMBOL TABLE SSA
-constant const byte* OUT = (const byte*)$8000
+constant const byte* OUT = (byte*)$8000
 void __start()
 void foo(byte* foo::x1 , byte* foo::x2)
 volatile byte foo::a2 loadstore
@@ -68,7 +68,7 @@ void main()
 constant byte* main::a[]  = { $80, $4f, 2, $d }
 constant byte* main::b[]  = { $80, $6e, $d9, $ec }
 
-Simplifying constant pointer cast (const byte*) 32768
+Simplifying constant pointer cast (byte*) 32768
 Successful SSA optimization PassNCastSimplification
 Alias candidate removed (volatile)foo::x1#1 = foo::v1 
 Identical Phi Values foo::x1#1 foo::x1#0
@@ -254,7 +254,7 @@ Removing instruction __breturn:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant const byte* OUT = (const byte*) 32768
+constant const byte* OUT = (byte*) 32768
 void foo(byte* foo::x1 , byte* foo::x2)
 volatile byte foo::a2 loadstore zp[1]:132 5.5
 volatile byte* volatile foo::v1 loadstore zp[2]:128 11.0
diff --git a/src/test/ref/inline-kickasm-uses-problem.sym b/src/test/ref/inline-kickasm-uses-problem.sym
index f57ab08fc..8bfdd9c12 100644
--- a/src/test/ref/inline-kickasm-uses-problem.sym
+++ b/src/test/ref/inline-kickasm-uses-problem.sym
@@ -1,4 +1,4 @@
-constant const byte* OUT = (const byte*) 32768
+constant const byte* OUT = (byte*) 32768
 void foo(byte* foo::x1 , byte* foo::x2)
 volatile byte foo::a2 loadstore zp[1]:132 5.5
 volatile byte* volatile foo::v1 loadstore zp[2]:128 11.0
diff --git a/src/test/ref/inline-string-4.log b/src/test/ref/inline-string-4.log
index 3b696568e..e72e2c6c0 100644
--- a/src/test/ref/inline-string-4.log
+++ b/src/test/ref/inline-string-4.log
@@ -40,9 +40,9 @@ void output(dword output::dw)
 dword output::dw
 dword output::dw#0
 dword output::dw#1
-constant dword* const screen = (dword*)$400
+constant dword* const screen = (byte*)$400
 
-Simplifying constant pointer cast (dword*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Successful SSA optimization PassNCastSimplification
 Identical Phi Values output::dw#1 output::dw#0
 Successful SSA optimization Pass2IdenticalPhiElimination
@@ -167,7 +167,7 @@ constant dword main::dw = (dword)main::msg
 constant const byte* main::msg[]  = "camelot"
 void output(dword output::dw)
 dword output::dw
-constant dword* const screen = (dword*) 1024
+constant dword* const screen = (byte*) 1024
 
 
 
diff --git a/src/test/ref/inline-string-4.sym b/src/test/ref/inline-string-4.sym
index 37f946229..ea2c15c06 100644
--- a/src/test/ref/inline-string-4.sym
+++ b/src/test/ref/inline-string-4.sym
@@ -3,5 +3,5 @@ constant dword main::dw = (dword)main::msg
 constant const byte* main::msg[]  = "camelot"
 void output(dword output::dw)
 dword output::dw
-constant dword* const screen = (dword*) 1024
+constant dword* const screen = (byte*) 1024
 
diff --git a/src/test/ref/inline-word-0.log b/src/test/ref/inline-word-0.log
index 6a4dbaa87..8e0f1b23b 100644
--- a/src/test/ref/inline-word-0.log
+++ b/src/test/ref/inline-word-0.log
@@ -25,13 +25,13 @@ constant byte SIZEOF_WORD = 2
 void __start()
 void main()
 number~ main::$0
-constant word* main::screen = (word*)$400
+constant word* main::screen = (byte*)$400
 constant word main::w = 2*$100+1
 
 Adding number conversion cast (unumber) 0 in main::$0 = 0 * SIZEOF_WORD
 Adding number conversion cast (unumber) main::$0 in main::$0 = (unumber)0 * SIZEOF_WORD
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 0
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) 0
@@ -123,7 +123,7 @@ Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
 void main()
-constant word* main::screen = (word*) 1024
+constant word* main::screen = (byte*) 1024
 constant word main::w = 2*$100+1
 
 
diff --git a/src/test/ref/inline-word-0.sym b/src/test/ref/inline-word-0.sym
index c4cdda9b1..e3225e651 100644
--- a/src/test/ref/inline-word-0.sym
+++ b/src/test/ref/inline-word-0.sym
@@ -1,4 +1,4 @@
 void main()
-constant word* main::screen = (word*) 1024
+constant word* main::screen = (byte*) 1024
 constant word main::w = 2*$100+1
 
diff --git a/src/test/ref/inline-word-1.log b/src/test/ref/inline-word-1.log
index 7a1f564ca..7aec51c51 100644
--- a/src/test/ref/inline-word-1.log
+++ b/src/test/ref/inline-word-1.log
@@ -25,13 +25,13 @@ constant byte SIZEOF_WORD = 2
 void __start()
 void main()
 number~ main::$0
-constant word* main::screen = (word*)$400
+constant word* main::screen = (byte*)$400
 constant word main::w = 1*$100+2
 
 Adding number conversion cast (unumber) 0 in main::$0 = 0 * SIZEOF_WORD
 Adding number conversion cast (unumber) main::$0 in main::$0 = (unumber)0 * SIZEOF_WORD
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 0
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) 0
@@ -123,7 +123,7 @@ Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
 void main()
-constant word* main::screen = (word*) 1024
+constant word* main::screen = (byte*) 1024
 constant word main::w = 1*$100+2
 
 
diff --git a/src/test/ref/inline-word-1.sym b/src/test/ref/inline-word-1.sym
index 1f4e2bcc5..197a2f4e7 100644
--- a/src/test/ref/inline-word-1.sym
+++ b/src/test/ref/inline-word-1.sym
@@ -1,4 +1,4 @@
 void main()
-constant word* main::screen = (word*) 1024
+constant word* main::screen = (byte*) 1024
 constant word main::w = 1*$100+2
 
diff --git a/src/test/ref/inlinearrayproblem.log b/src/test/ref/inlinearrayproblem.log
index dafae0c15..e6127226f 100644
--- a/src/test/ref/inlinearrayproblem.log
+++ b/src/test/ref/inlinearrayproblem.log
@@ -45,8 +45,14 @@ byte main::i#1
 byte main::i#2
 constant byte* main::txt[]  = "qwe"z
 
+Adding number conversion cast (unumber) $28 in 
+Successful SSA optimization PassNAddNumberTypeConversions
 Simplifying constant pointer cast (byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant integer cast $28
 Successful SSA optimization PassNCastSimplification
+Finalized unsigned number type (byte) $28
+Successful SSA optimization PassNFinalizeNumberTypeConversions
 Simple Condition main::$0 [6] if(main::i#1!=rangelast(0,3)) goto main::@1
 Successful SSA optimization Pass2ConditionalJumpSimplification
 Constant main::i#0 = 0
@@ -69,9 +75,6 @@ Successful SSA optimization PassNFinalizeNumberTypeConversions
 Inlining constant with var siblings main::i#0
 Constant inlined main::i#0 = 0
 Successful SSA optimization Pass2ConstantInlining
-Finalized unsigned number type (word) $400
-Finalized unsigned number type (byte) $28
-Successful SSA optimization PassNFinalizeNumberTypeConversions
 Added new block during phi lifting main::@2(between main::@1 and main::@1)
 Adding NOP phi() at start of main
 CALL GRAPH
@@ -193,7 +196,7 @@ Succesful ASM optimization Pass5NextJumpElimination
 
 FINAL SYMBOL TABLE
 constant byte* SCREEN = (byte*) 1024
-constant byte* SCREEN2 = (byte*)$400+$28
+constant byte* SCREEN2 = (byte*) 1024+$28
 void main()
 constant byte* main::data[]  = { 1, 2, 3 }
 byte main::i
diff --git a/src/test/ref/inlinearrayproblem.sym b/src/test/ref/inlinearrayproblem.sym
index 2a1efb40e..2e4c41543 100644
--- a/src/test/ref/inlinearrayproblem.sym
+++ b/src/test/ref/inlinearrayproblem.sym
@@ -1,5 +1,5 @@
 constant byte* SCREEN = (byte*) 1024
-constant byte* SCREEN2 = (byte*)$400+$28
+constant byte* SCREEN2 = (byte*) 1024+$28
 void main()
 constant byte* main::data[]  = { 1, 2, 3 }
 byte main::i
diff --git a/src/test/ref/issue-594-case.log b/src/test/ref/issue-594-case.log
index b713b3a9b..55115a13c 100644
--- a/src/test/ref/issue-594-case.log
+++ b/src/test/ref/issue-594-case.log
@@ -41,7 +41,7 @@ __start::@return: scope:[__start]  from __start::@2
 SYMBOL TABLE SSA
 constant byte DEVICES = 1
 constant byte HOSTS = 0
-constant const byte* OUT = (const byte*)$8000
+constant const byte* OUT = (byte*)$8000
 void __start()
 constant byte _substate_hosts::DEVICES = 1
 constant byte _substate_hosts::DONE = 2
@@ -60,7 +60,7 @@ Adding number conversion cast (unumber) main::$3 in main::x#0 = main::$3
 Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast main::x#0 = (unumber)main::$3
 Successful SSA optimization Pass2InlineCast
-Simplifying constant pointer cast (const byte*) 32768
+Simplifying constant pointer cast (byte*) 32768
 Successful SSA optimization PassNCastSimplification
 Simple Condition main::$0 [2] if(*main::ss==DEVICES) goto main::@1
 Successful SSA optimization Pass2ConditionalJumpSimplification
@@ -218,7 +218,7 @@ Succesful ASM optimization Pass5UnusedLabelElimination
 FINAL SYMBOL TABLE
 constant byte DEVICES = 1
 constant byte HOSTS = 0
-constant const byte* OUT = (const byte*) 32768
+constant const byte* OUT = (byte*) 32768
 constant byte _substate_hosts::DEVICES = 1
 constant byte _substate_hosts::DONE = 2
 constant byte _substate_hosts::HOSTS = 0
diff --git a/src/test/ref/issue-594-case.sym b/src/test/ref/issue-594-case.sym
index 31675cb99..e4ce391b2 100644
--- a/src/test/ref/issue-594-case.sym
+++ b/src/test/ref/issue-594-case.sym
@@ -1,6 +1,6 @@
 constant byte DEVICES = 1
 constant byte HOSTS = 0
-constant const byte* OUT = (const byte*) 32768
+constant const byte* OUT = (byte*) 32768
 constant byte _substate_hosts::DEVICES = 1
 constant byte _substate_hosts::DONE = 2
 constant byte _substate_hosts::HOSTS = 0
diff --git a/src/test/ref/liverange-call-problem.log b/src/test/ref/liverange-call-problem.log
index 4a1083d80..7576d1642 100644
--- a/src/test/ref/liverange-call-problem.log
+++ b/src/test/ref/liverange-call-problem.log
@@ -99,7 +99,7 @@ void incw2()
 void main()
 number~ main::$4
 number~ main::$5
-constant word* main::SCREEN = (word*)$400
+constant word* main::SCREEN = (byte*)$400
 word w1
 word w1#0
 word w1#1
@@ -146,7 +146,7 @@ Adding number conversion cast (unumber) main::$4 in main::$4 = (unumber)0 * SIZE
 Adding number conversion cast (unumber) 2 in main::$5 = 2 * SIZEOF_WORD
 Adding number conversion cast (unumber) main::$5 in main::$5 = (unumber)2 * SIZEOF_WORD
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 0
 Simplifying constant integer cast 2
 Successful SSA optimization PassNCastSimplification
@@ -446,7 +446,7 @@ constant byte SIZEOF_WORD = 2
 void incw1()
 void incw2()
 void main()
-constant word* main::SCREEN = (word*) 1024
+constant word* main::SCREEN = (byte*) 1024
 word w1
 word w1#12 w1 zp[2]:2 13.0
 word w1#13 w1 zp[2]:2 1.6666666666666667
diff --git a/src/test/ref/liverange-call-problem.sym b/src/test/ref/liverange-call-problem.sym
index a8c32dd0b..09c0ca2c2 100644
--- a/src/test/ref/liverange-call-problem.sym
+++ b/src/test/ref/liverange-call-problem.sym
@@ -2,7 +2,7 @@ constant byte SIZEOF_WORD = 2
 void incw1()
 void incw2()
 void main()
-constant word* main::SCREEN = (word*) 1024
+constant word* main::SCREEN = (byte*) 1024
 word w1
 word w1#12 w1 zp[2]:2 13.0
 word w1#13 w1 zp[2]:2 1.6666666666666667
diff --git a/src/test/ref/loop-break-nested.asm b/src/test/ref/loop-break-nested.asm
index ae5bb53eb..186210390 100644
--- a/src/test/ref/loop-break-nested.asm
+++ b/src/test/ref/loop-break-nested.asm
@@ -15,7 +15,7 @@ main: {
     lda #>$400
     sta.z line+1
   __b1:
-    // for(byte* line = $400; line<$400+40*25;line+=40 )
+    // for(byte* line = (char*)$400; line<$400+40*25;line+=40 )
     lda.z line+1
     cmp #>$400+$28*$19
     bcc !+
diff --git a/src/test/ref/loop-break-nested.log b/src/test/ref/loop-break-nested.log
index 500d783d8..8e76db3c7 100644
--- a/src/test/ref/loop-break-nested.log
+++ b/src/test/ref/loop-break-nested.log
@@ -372,7 +372,7 @@ main: {
     sta.z line+1
     // main::@1
   __b1:
-    // for(byte* line = $400; line<$400+40*25;line+=40 )
+    // for(byte* line = (char*)$400; line<$400+40*25;line+=40 )
     // [2] if(main::line#2>=$400+$28*$19) goto main::@return -- pbuz1_ge_vwuc1_then_la1 
     lda.z line+1
     cmp #>$400+$28*$19
diff --git a/src/test/ref/loop-problem3.asm b/src/test/ref/loop-problem3.asm
index e7fcbf9b7..300d112d5 100644
--- a/src/test/ref/loop-problem3.asm
+++ b/src/test/ref/loop-problem3.asm
@@ -16,7 +16,7 @@ main: {
     lda #>$400
     sta.z sc+1
   __b1:
-    // for(char* sc = 0x0400;sc<0x0800; sc++)
+    // for(char* sc = (char*)0x0400;sc<0x0800; sc++)
     lda.z sc+1
     cmp #>$800
     bcc __b2
@@ -33,7 +33,7 @@ main: {
     clc
     adc #1
     sta (sc),y
-    // for(char* sc = 0x0400;sc<0x0800; sc++)
+    // for(char* sc = (char*)0x0400;sc<0x0800; sc++)
     inc.z sc
     bne !+
     inc.z sc+1
diff --git a/src/test/ref/loop-problem3.log b/src/test/ref/loop-problem3.log
index d8f42ba3f..ce1fa97c1 100644
--- a/src/test/ref/loop-problem3.log
+++ b/src/test/ref/loop-problem3.log
@@ -223,7 +223,7 @@ main: {
     sta.z sc+1
     // main::@1
   __b1:
-    // for(char* sc = 0x0400;sc<0x0800; sc++)
+    // for(char* sc = (char*)0x0400;sc<0x0800; sc++)
     // [2] if(main::sc#2<$800) goto main::@2 -- pbuz1_lt_vwuc1_then_la1 
     lda.z sc+1
     cmp #>$800
@@ -243,7 +243,7 @@ main: {
     clc
     adc #1
     sta (sc),y
-    // for(char* sc = 0x0400;sc<0x0800; sc++)
+    // for(char* sc = (char*)0x0400;sc<0x0800; sc++)
     // [4] main::sc#1 = ++ main::sc#2 -- pbuz1=_inc_pbuz1 
     inc.z sc
     bne !+
diff --git a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.asm b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.asm
index a26289e1d..9011d9a19 100644
--- a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.asm
+++ b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.asm
@@ -54,7 +54,7 @@
   .label framedone = $c
 .segment Code
 __start: {
-    // char* volatile PLEX_SCREEN_PTR = 0x400+0x3f8
+    // char* volatile PLEX_SCREEN_PTR = (char*)0x400+0x3f8
     lda #<$400+$3f8
     sta.z PLEX_SCREEN_PTR
     lda #>$400+$3f8
diff --git a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.cfg b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.cfg
index eda107e82..44e52b9ac 100644
--- a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.cfg
+++ b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.cfg
@@ -4,7 +4,7 @@ __start: scope:[__start]  from
   [0] phi()
   to:__start::__init1
 __start::__init1: scope:[__start]  from __start
-  [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8
+  [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8
   [2] plex_show_idx = 0
   [3] plex_sprite_idx = 0
   [4] plex_sprite_msb = 1
diff --git a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log
index 517b61b44..131da767d 100644
--- a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log
+++ b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log
@@ -547,6 +547,7 @@ Adding number conversion cast (unumber) 0 in *BORDER_COLOR = 0
 Adding number conversion cast (unumber) 8 in loop::y_idx#1 = loop::y_idx#2 + 8
 Adding number conversion cast (unumber) 1 in loop::sy#1 = loop::sy#2 + rangenext(0,PLEX_COUNT-1)
 Adding number conversion cast (unumber) 1 in loop::sin_idx#1 = loop::sin_idx#3 + 1
+Adding number conversion cast (unumber) $3f8 in PLEX_SCREEN_PTR = (byte*)$400+$3f8
 Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast plex_show_idx = (unumber)0
 Inlining cast plex_sprite_idx = (unumber)0
@@ -610,6 +611,8 @@ Simplifying constant integer cast 0
 Simplifying constant integer cast 8
 Simplifying constant integer cast 1
 Simplifying constant integer cast 1
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant integer cast $3f8
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (word) $3f8
 Finalized unsigned number type (byte) 1
@@ -646,6 +649,7 @@ Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) 1
 Finalized unsigned number type (byte) 1
+Finalized unsigned number type (word) $3f8
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Inferred type updated to byte in plexSort::$1 = plexSort::m#2 + 1
 Inferred type updated to byte in plexSort::$4 = plexSort::s#3 + 1
@@ -827,8 +831,6 @@ Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) $40
 Finalized unsigned number type (word) $100
-Finalized unsigned number type (word) $400
-Finalized unsigned number type (word) $3f8
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Alias candidate removed (volatile)plex_free_next = plexShowSprite::plexFreeAdd1_$2 
 Alias candidate removed (volatile)plex_sprite_idx = plexShowSprite::$6 
@@ -906,7 +908,7 @@ __start: scope:[__start]  from
   [0] phi()
   to:__start::__init1
 __start::__init1: scope:[__start]  from __start
-  [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8
+  [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8
   [2] plex_show_idx = 0
   [3] plex_sprite_idx = 0
   [4] plex_sprite_msb = 1
@@ -1336,7 +1338,7 @@ Allocated zp[1]:35 [ plexSort::nxt_idx#0 ]
 Allocated zp[1]:36 [ plexSort::nxt_y#0 ]
 Allocated zp[1]:37 [ plexSort::s#2 ]
 REGISTER UPLIFT POTENTIAL REGISTERS
-Statement [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
+Statement [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [2] plex_show_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [3] plex_sprite_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [4] plex_sprite_msb = 1 [ ] (  [ ] { }  ) always clobbers reg byte a 
@@ -1409,7 +1411,7 @@ Statement [119] plex_sprite_msb = 1 [ ] ( main:8::loop:29::plexSort:92 [ loop::s
 Statement [122] PLEX_FREE_YPOS[plexSort::plexFreePrepare1_s#2] = 0 [ plexSort::plexFreePrepare1_s#2 ] ( main:8::loop:29::plexSort:92 [ loop::sin_idx#1 plexSort::plexFreePrepare1_s#2 ] { }  ) always clobbers reg byte a 
 Removing always clobbered register reg byte a as potential for zp[1]:12 [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ]
 Statement [125] plex_free_next = 0 [ ] ( main:8::loop:29::plexSort:92 [ loop::sin_idx#1 ] { }  ) always clobbers reg byte a 
-Statement [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
+Statement [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [2] plex_show_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [3] plex_sprite_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [4] plex_sprite_msb = 1 [ ] (  [ ] { }  ) always clobbers reg byte a 
@@ -1468,7 +1470,7 @@ Statement [118] plex_sprite_idx = 0 [ ] ( main:8::loop:29::plexSort:92 [ loop::s
 Statement [119] plex_sprite_msb = 1 [ ] ( main:8::loop:29::plexSort:92 [ loop::sin_idx#1 ] { }  ) always clobbers reg byte a 
 Statement [122] PLEX_FREE_YPOS[plexSort::plexFreePrepare1_s#2] = 0 [ plexSort::plexFreePrepare1_s#2 ] ( main:8::loop:29::plexSort:92 [ loop::sin_idx#1 plexSort::plexFreePrepare1_s#2 ] { }  ) always clobbers reg byte a 
 Statement [125] plex_free_next = 0 [ ] ( main:8::loop:29::plexSort:92 [ loop::sin_idx#1 ] { }  ) always clobbers reg byte a 
-Statement [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
+Statement [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [2] plex_show_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [3] plex_sprite_idx = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
 Statement [4] plex_sprite_msb = 1 [ ] (  [ ] { }  ) always clobbers reg byte a 
@@ -1713,7 +1715,7 @@ __start: {
     jmp __init1
     // __start::__init1
   __init1:
-    // [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 -- pbuz1=pbuc1 
+    // [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 -- pbuz1=pbuc1 
     lda #<$400+$3f8
     sta.z PLEX_SCREEN_PTR
     lda #>$400+$3f8
@@ -2674,8 +2676,8 @@ Score: 43652
   // __start
 __start: {
     // __start::__init1
-    // char* volatile PLEX_SCREEN_PTR = 0x400+0x3f8
-    // [1] PLEX_SCREEN_PTR = (byte*)$400+$3f8 -- pbuz1=pbuc1 
+    // char* volatile PLEX_SCREEN_PTR = (char*)0x400+0x3f8
+    // [1] PLEX_SCREEN_PTR = (byte*) 1024+$3f8 -- pbuz1=pbuc1 
     lda #<$400+$3f8
     sta.z PLEX_SCREEN_PTR
     lda #>$400+$3f8
diff --git a/src/test/ref/operator-byte0.asm b/src/test/ref/operator-byte0.asm
index f912caadc..6db016991 100644
--- a/src/test/ref/operator-byte0.asm
+++ b/src/test/ref/operator-byte0.asm
@@ -50,7 +50,7 @@ main: {
     sta.z ds+2
     lda #>-$39a4f1>>$10
     sta.z ds+3
-    // char * volatile ptr = 0x0000
+    // char * volatile ptr = (char*)0x0000
     lda #<0
     sta.z ptr
     sta.z ptr+1
diff --git a/src/test/ref/operator-byte0.log b/src/test/ref/operator-byte0.log
index 281b47681..629948f00 100644
--- a/src/test/ref/operator-byte0.log
+++ b/src/test/ref/operator-byte0.log
@@ -534,7 +534,7 @@ main: {
     sta.z ds+2
     lda #>-$39a4f1>>$10
     sta.z ds+3
-    // char * volatile ptr = 0x0000
+    // char * volatile ptr = (char*)0x0000
     // [6] main::ptr = (byte*) 0 -- pbuz1=pbuc1 
     lda #<0
     sta.z ptr
diff --git a/src/test/ref/operator-byte1.asm b/src/test/ref/operator-byte1.asm
index 103448b40..b5902ff68 100644
--- a/src/test/ref/operator-byte1.asm
+++ b/src/test/ref/operator-byte1.asm
@@ -43,7 +43,7 @@ main: {
     sta.z ds+2
     lda #>-$39a4f1>>$10
     sta.z ds+3
-    // char * volatile ptr = 0x0000
+    // char * volatile ptr = (char*)0x0000
     lda #<0
     sta.z ptr
     sta.z ptr+1
diff --git a/src/test/ref/operator-byte1.log b/src/test/ref/operator-byte1.log
index 83f96c55c..c4c9e3ec9 100644
--- a/src/test/ref/operator-byte1.log
+++ b/src/test/ref/operator-byte1.log
@@ -484,7 +484,7 @@ main: {
     sta.z ds+2
     lda #>-$39a4f1>>$10
     sta.z ds+3
-    // char * volatile ptr = 0x0000
+    // char * volatile ptr = (char*)0x0000
     // [4] main::ptr = (byte*) 0 -- pbuz1=pbuc1 
     lda #<0
     sta.z ptr
diff --git a/src/test/ref/operator-word0.asm b/src/test/ref/operator-word0.asm
index 369550f29..a33a08ed7 100644
--- a/src/test/ref/operator-word0.asm
+++ b/src/test/ref/operator-word0.asm
@@ -58,7 +58,7 @@ main: {
     sta.z ds+2
     lda #>-$39a4f1>>$10
     sta.z ds+3
-    // char * volatile ptr = 0x0000
+    // char * volatile ptr = (char*)0x0000
     lda #<0
     sta.z ptr
     sta.z ptr+1
diff --git a/src/test/ref/operator-word0.log b/src/test/ref/operator-word0.log
index 032374aad..0d8098761 100644
--- a/src/test/ref/operator-word0.log
+++ b/src/test/ref/operator-word0.log
@@ -80,7 +80,7 @@ word~ main::$6
 byte~ main::$7
 byte~ main::$8
 byte~ main::$9
-constant word* const main::SCREEN = (word*)$400
+constant word* const main::SCREEN = (byte*)$400
 volatile signed byte main::bs loadstore
 volatile byte main::bu loadstore
 volatile signed dword main::ds loadstore
@@ -100,7 +100,7 @@ byte* volatile main::ptr loadstore
 volatile signed word main::ws loadstore
 volatile word main::wu loadstore
 
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant pointer cast (byte*) 0
 Successful SSA optimization PassNCastSimplification
 Constant main::i#0 = 0
@@ -557,7 +557,7 @@ word~ main::$3 zp[2]:24 4.0
 word~ main::$4 zp[2]:26 4.0
 word~ main::$5 zp[2]:28 4.0
 word~ main::$6 zp[2]:30 4.0
-constant word* const main::SCREEN = (word*) 1024
+constant word* const main::SCREEN = (byte*) 1024
 volatile signed byte main::bs loadstore zp[1]:3 0.4
 volatile byte main::bu loadstore zp[1]:2 0.4444444444444444
 volatile signed dword main::ds loadstore zp[4]:12 0.2857142857142857
@@ -656,7 +656,7 @@ main: {
     sta.z ds+2
     lda #>-$39a4f1>>$10
     sta.z ds+3
-    // char * volatile ptr = 0x0000
+    // char * volatile ptr = (char*)0x0000
     // [6] main::ptr = (byte*) 0 -- pbuz1=pbuc1 
     lda #<0
     sta.z ptr
diff --git a/src/test/ref/operator-word0.sym b/src/test/ref/operator-word0.sym
index 514ebe1ab..e220e7c1d 100644
--- a/src/test/ref/operator-word0.sym
+++ b/src/test/ref/operator-word0.sym
@@ -7,7 +7,7 @@ word~ main::$3 zp[2]:24 4.0
 word~ main::$4 zp[2]:26 4.0
 word~ main::$5 zp[2]:28 4.0
 word~ main::$6 zp[2]:30 4.0
-constant word* const main::SCREEN = (word*) 1024
+constant word* const main::SCREEN = (byte*) 1024
 volatile signed byte main::bs loadstore zp[1]:3 0.4
 volatile byte main::bu loadstore zp[1]:2 0.4444444444444444
 volatile signed dword main::ds loadstore zp[4]:12 0.2857142857142857
diff --git a/src/test/ref/operator-word1.log b/src/test/ref/operator-word1.log
index 4e365c11e..5152690e5 100644
--- a/src/test/ref/operator-word1.log
+++ b/src/test/ref/operator-word1.log
@@ -80,7 +80,7 @@ word~ main::$6
 byte~ main::$7
 byte~ main::$8
 byte~ main::$9
-constant word* const main::SCREEN = (word*)$400
+constant word* const main::SCREEN = (byte*)$400
 volatile signed byte main::bs loadstore
 volatile byte main::bu loadstore
 volatile signed dword main::ds loadstore
@@ -100,7 +100,7 @@ byte* volatile main::ptr loadstore
 volatile signed word main::ws loadstore
 volatile word main::wu loadstore
 
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant pointer cast (byte*) 0
 Successful SSA optimization PassNCastSimplification
 Constant right-side identified [14] main::$0 = _word1_ main::bu
@@ -450,7 +450,7 @@ constant byte SIZEOF_WORD = 2
 void main()
 word~ main::$4 zp[2]:10 4.0
 word~ main::$5 zp[2]:12 4.0
-constant word* const main::SCREEN = (word*) 1024
+constant word* const main::SCREEN = (byte*) 1024
 volatile signed dword main::ds loadstore zp[4]:6 0.4444444444444444
 volatile dword main::du loadstore zp[4]:2 0.5
 byte main::i
diff --git a/src/test/ref/operator-word1.sym b/src/test/ref/operator-word1.sym
index eca0186a5..30e69d944 100644
--- a/src/test/ref/operator-word1.sym
+++ b/src/test/ref/operator-word1.sym
@@ -2,7 +2,7 @@ constant byte SIZEOF_WORD = 2
 void main()
 word~ main::$4 zp[2]:10 4.0
 word~ main::$5 zp[2]:12 4.0
-constant word* const main::SCREEN = (word*) 1024
+constant word* const main::SCREEN = (byte*) 1024
 volatile signed dword main::ds loadstore zp[4]:6 0.4444444444444444
 volatile dword main::du loadstore zp[4]:2 0.5
 byte main::i
diff --git a/src/test/ref/plus4-kbhit.log b/src/test/ref/plus4-kbhit.log
index 67af272f4..afd6ef357 100644
--- a/src/test/ref/plus4-kbhit.log
+++ b/src/test/ref/plus4-kbhit.log
@@ -174,7 +174,7 @@ Uplift Scope [MOS7360_TED]
 Uplift Scope [MOS6551_ACIA] 
 Uplift Scope [MOS6529_PIO] 
 Uplift Scope [MOS7501_PORT] 
-Uplift Scope [$0] 
+Uplift Scope [PLUS4_ROM_BANKING] 
 Uplift Scope [] 
 
 Uplifting [kbhit] best 268 combination reg byte a [ kbhit::return#1 ] reg byte a [ kbhit::return#0 ] 
@@ -183,7 +183,7 @@ Uplifting [MOS7360_TED] best 228 combination
 Uplifting [MOS6551_ACIA] best 228 combination 
 Uplifting [MOS6529_PIO] best 228 combination 
 Uplifting [MOS7501_PORT] best 228 combination 
-Uplifting [$0] best 228 combination 
+Uplifting [PLUS4_ROM_BANKING] best 228 combination 
 Uplifting [] best 228 combination 
 
 ASSEMBLER BEFORE OPTIMIZATION
diff --git a/src/test/ref/pointer-const-typedef.log b/src/test/ref/pointer-const-typedef.log
index 452cc23c2..0a30708b9 100644
--- a/src/test/ref/pointer-const-typedef.log
+++ b/src/test/ref/pointer-const-typedef.log
@@ -48,9 +48,9 @@ void __start()
 constant byte* const cp0 = (byte*)$400
 constant byte* const cp1 = (byte*)$400
 constant byte* const cp2 = (byte*)$400
-constant const byte* const cpc0 = (const byte*)$400
-constant const byte* const cpc1 = (const byte*)$400
-constant const byte* const cpc2 = (const byte*)$400
+constant const byte* const cpc0 = (byte*)$400
+constant const byte* const cpc1 = (byte*)$400
+constant const byte* const cpc2 = (byte*)$400
 void main()
 byte main::idx
 byte main::idx#0
@@ -63,19 +63,19 @@ byte main::idx#6
 byte main::idx#7
 byte main::idx#8
 byte main::idx#9
-constant const byte* pc0 = (const byte*)$400
-constant const byte* pc1 = (const byte*)$400
-constant const byte* pc2 = (const byte*)$400
+constant const byte* pc0 = (byte*)$400
+constant const byte* pc1 = (byte*)$400
+constant const byte* pc2 = (byte*)$400
 
 Simplifying constant pointer cast (byte*) 1024
 Simplifying constant pointer cast (byte*) 1024
 Simplifying constant pointer cast (byte*) 1024
-Simplifying constant pointer cast (const byte*) 1024
-Simplifying constant pointer cast (const byte*) 1024
-Simplifying constant pointer cast (const byte*) 1024
-Simplifying constant pointer cast (const byte*) 1024
-Simplifying constant pointer cast (const byte*) 1024
-Simplifying constant pointer cast (const byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant pointer cast (byte*) 1024
 Successful SSA optimization PassNCastSimplification
 Constant main::idx#0 = 0
@@ -291,14 +291,14 @@ constant byte* SCREEN = (byte*) 1024
 constant byte* const cp0 = (byte*) 1024
 constant byte* const cp1 = (byte*) 1024
 constant byte* const cp2 = (byte*) 1024
-constant const byte* const cpc0 = (const byte*) 1024
-constant const byte* const cpc1 = (const byte*) 1024
-constant const byte* const cpc2 = (const byte*) 1024
+constant const byte* const cpc0 = (byte*) 1024
+constant const byte* const cpc1 = (byte*) 1024
+constant const byte* const cpc2 = (byte*) 1024
 void main()
 byte main::idx
-constant const byte* pc0 = (const byte*) 1024
-constant const byte* pc1 = (const byte*) 1024
-constant const byte* pc2 = (const byte*) 1024
+constant const byte* pc0 = (byte*) 1024
+constant const byte* pc1 = (byte*) 1024
+constant const byte* pc2 = (byte*) 1024
 
 
 
diff --git a/src/test/ref/pointer-const-typedef.sym b/src/test/ref/pointer-const-typedef.sym
index c6bf1c333..e67413e06 100644
--- a/src/test/ref/pointer-const-typedef.sym
+++ b/src/test/ref/pointer-const-typedef.sym
@@ -2,12 +2,12 @@ constant byte* SCREEN = (byte*) 1024
 constant byte* const cp0 = (byte*) 1024
 constant byte* const cp1 = (byte*) 1024
 constant byte* const cp2 = (byte*) 1024
-constant const byte* const cpc0 = (const byte*) 1024
-constant const byte* const cpc1 = (const byte*) 1024
-constant const byte* const cpc2 = (const byte*) 1024
+constant const byte* const cpc0 = (byte*) 1024
+constant const byte* const cpc1 = (byte*) 1024
+constant const byte* const cpc2 = (byte*) 1024
 void main()
 byte main::idx
-constant const byte* pc0 = (const byte*) 1024
-constant const byte* pc1 = (const byte*) 1024
-constant const byte* pc2 = (const byte*) 1024
+constant const byte* pc0 = (byte*) 1024
+constant const byte* pc1 = (byte*) 1024
+constant const byte* pc2 = (byte*) 1024
 
diff --git a/src/test/ref/pointer-const.log b/src/test/ref/pointer-const.log
index 7a129a14f..934d0d003 100644
--- a/src/test/ref/pointer-const.log
+++ b/src/test/ref/pointer-const.log
@@ -50,7 +50,7 @@ __start::@return: scope:[__start]  from __start::@2
   to:@return
 
 SYMBOL TABLE SSA
-constant const byte* const BASIC = (const byte*)$a004
+constant const byte* const BASIC = (byte*)$a004
 constant const byte* MSG = "hello world!"
 constant byte* const SCREEN = (byte*)$400
 void __start()
@@ -79,7 +79,7 @@ Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast main::i#2 = (unumber)0
 Successful SSA optimization Pass2InlineCast
 Simplifying constant pointer cast (byte*) 1024
-Simplifying constant pointer cast (const byte*) 40964
+Simplifying constant pointer cast (byte*) 40964
 Simplifying constant integer cast 0
 Simplifying constant integer cast 0
 Simplifying constant integer cast $28
@@ -291,7 +291,7 @@ Removing instruction __b1_from___b2:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant const byte* const BASIC = (const byte*) 40964
+constant const byte* const BASIC = (byte*) 40964
 constant const byte* MSG = "hello world!"
 constant byte* const SCREEN = (byte*) 1024
 void main()
diff --git a/src/test/ref/pointer-const.sym b/src/test/ref/pointer-const.sym
index d251505a3..e2ff9d225 100644
--- a/src/test/ref/pointer-const.sym
+++ b/src/test/ref/pointer-const.sym
@@ -1,4 +1,4 @@
-constant const byte* const BASIC = (const byte*) 40964
+constant const byte* const BASIC = (byte*) 40964
 constant const byte* MSG = "hello world!"
 constant byte* const SCREEN = (byte*) 1024
 void main()
diff --git a/src/test/ref/pointer-plus-signed-word.log b/src/test/ref/pointer-plus-signed-word.log
index 3df6d7dcd..c3f79e05c 100644
--- a/src/test/ref/pointer-plus-signed-word.log
+++ b/src/test/ref/pointer-plus-signed-word.log
@@ -46,6 +46,10 @@ signed word main::i#2
 byte* main::sc
 byte* main::sc#0
 
+Adding number conversion cast (unumber) $28*$a in 
+Successful SSA optimization PassNAddNumberTypeConversions
+Simplifying constant pointer cast (byte*) 1024
+Successful SSA optimization PassNCastSimplification
 Alias main::sc#0 = main::$0 
 Successful SSA optimization Pass2AliasElimination
 Simple Condition main::$1 [6] if(main::i#1!=rangelast(-$a,$a)) goto main::@1
@@ -70,7 +74,6 @@ Successful SSA optimization PassNFinalizeNumberTypeConversions
 Inlining constant with var siblings main::i#0
 Constant inlined main::i#0 = -$a
 Successful SSA optimization Pass2ConstantInlining
-Finalized unsigned number type (word) $400
 Finalized unsigned number type (byte) $28
 Finalized unsigned number type (byte) $a
 Successful SSA optimization PassNFinalizeNumberTypeConversions
@@ -213,7 +216,7 @@ Removing instruction jmp __b1
 Succesful ASM optimization Pass5NextJumpElimination
 
 FINAL SYMBOL TABLE
-constant byte* SCREEN = (byte*)$400+$28*$a
+constant byte* SCREEN = (byte*) 1024+(word)$28*$a
 void main()
 signed word main::i
 signed word main::i#1 i zp[2]:2 16.5
diff --git a/src/test/ref/pointer-plus-signed-word.sym b/src/test/ref/pointer-plus-signed-word.sym
index 449324faf..1ec2b183f 100644
--- a/src/test/ref/pointer-plus-signed-word.sym
+++ b/src/test/ref/pointer-plus-signed-word.sym
@@ -1,4 +1,4 @@
-constant byte* SCREEN = (byte*)$400+$28*$a
+constant byte* SCREEN = (byte*) 1024+(word)$28*$a
 void main()
 signed word main::i
 signed word main::i#1 i zp[2]:2 16.5
diff --git a/src/test/ref/pointer-pointer-3.asm b/src/test/ref/pointer-pointer-3.asm
index 38c63f625..de9393eb7 100644
--- a/src/test/ref/pointer-pointer-3.asm
+++ b/src/test/ref/pointer-pointer-3.asm
@@ -12,7 +12,7 @@
   .label screen = 4
 .segment Code
 __start: {
-    // byte* screen = $400
+    // byte* screen = (char*)$400
     lda #<$400
     sta.z screen
     lda #>$400
diff --git a/src/test/ref/pointer-pointer-3.log b/src/test/ref/pointer-pointer-3.log
index ed201ebf1..de1ac487f 100644
--- a/src/test/ref/pointer-pointer-3.log
+++ b/src/test/ref/pointer-pointer-3.log
@@ -63,14 +63,18 @@ byte* setscreen::val#0
 byte* setscreen::val#1
 byte* setscreen::val#2
 
+Adding number conversion cast (unumber) $28 in 
 Adding number conversion cast (unumber) 0 in screen[0] = 'a'
 Adding number conversion cast (unumber) 0 in screen[0] = 'a'
 Successful SSA optimization PassNAddNumberTypeConversions
 Simplifying constant pointer cast (byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant integer cast $28
 Simplifying constant integer cast 0
 Simplifying constant integer cast 0
 Simplifying constant pointer cast (byte*) 1024
 Successful SSA optimization PassNCastSimplification
+Finalized unsigned number type (byte) $28
 Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) 0
 Successful SSA optimization PassNFinalizeNumberTypeConversions
@@ -93,9 +97,6 @@ Constant inlined setscreen::val#0 = screen1
 Successful SSA optimization Pass2ConstantInlining
 Identical Phi Values setscreen::screen#2 &screen
 Successful SSA optimization Pass2IdenticalPhiElimination
-Finalized unsigned number type (word) $400
-Finalized unsigned number type (byte) $28
-Successful SSA optimization PassNFinalizeNumberTypeConversions
 Adding NOP phi() at start of __start
 Adding NOP phi() at start of __start::@1
 Adding NOP phi() at start of __start::@2
@@ -317,7 +318,7 @@ void __start()
 void main()
 byte* volatile screen loadstore zp[2]:4 2.666666666666667
 constant byte* screen1 = (byte*) 1024
-constant byte* screen2 = (byte*)$400+$28
+constant byte* screen2 = (byte*) 1024+$28
 void setscreen(byte** setscreen::screen , byte* setscreen::val)
 byte** setscreen::screen
 byte* setscreen::val
@@ -349,7 +350,7 @@ Score: 98
   // __start
 __start: {
     // __start::__init1
-    // byte* screen = $400
+    // byte* screen = (char*)$400
     // [1] screen = (byte*) 1024 -- pbuz1=pbuc1 
     lda #<$400
     sta.z screen
diff --git a/src/test/ref/pointer-pointer-3.sym b/src/test/ref/pointer-pointer-3.sym
index a792c5620..8124ed3d6 100644
--- a/src/test/ref/pointer-pointer-3.sym
+++ b/src/test/ref/pointer-pointer-3.sym
@@ -2,7 +2,7 @@ void __start()
 void main()
 byte* volatile screen loadstore zp[2]:4 2.666666666666667
 constant byte* screen1 = (byte*) 1024
-constant byte* screen2 = (byte*)$400+$28
+constant byte* screen2 = (byte*) 1024+$28
 void setscreen(byte** setscreen::screen , byte* setscreen::val)
 byte** setscreen::screen
 byte* setscreen::val
diff --git a/src/test/ref/post-increment-problem-2.log b/src/test/ref/post-increment-problem-2.log
index ddf0441b3..36f3e68f7 100644
--- a/src/test/ref/post-increment-problem-2.log
+++ b/src/test/ref/post-increment-problem-2.log
@@ -59,12 +59,12 @@ __start::@return: scope:[__start]  from __start::@2
 SYMBOL TABLE SSA
 void __start()
 void incscreen(word incscreen::ptr)
-const byte*~ incscreen::$0
-const byte*~ incscreen::$10
-const byte*~ incscreen::$11
-const byte*~ incscreen::$20
-const byte*~ incscreen::$21
-const byte*~ incscreen::$9
+byte*~ incscreen::$0
+byte*~ incscreen::$10
+byte*~ incscreen::$11
+byte*~ incscreen::$20
+byte*~ incscreen::$21
+byte*~ incscreen::$9
 word incscreen::ptr
 word incscreen::ptr#0
 word incscreen::ptr#1
@@ -77,13 +77,13 @@ byte main::x#1
 byte main::x#2
 byte main::x#3
 byte main::x#4
-constant const byte* screen = (const byte*)$400
+constant byte* screen = (byte*)$400
 
 Adding number conversion cast (unumber) $fe in main::$0 = main::x#2 < $fe
 Adding number conversion cast (unumber) 1 in incscreen::$10 = incscreen::$9 + 1
 Adding number conversion cast (unumber) 1 in incscreen::$21 = incscreen::$20 + 1
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (const byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast $fe
 Simplifying constant integer cast 1
 Simplifying constant integer cast 1
@@ -300,7 +300,7 @@ constant word main::offset = (word)$28*$a
 byte main::x
 byte main::x#1 reg byte x 22.0
 byte main::x#2 reg byte x 8.25
-constant const byte* screen = (const byte*) 1024
+constant byte* screen = (byte*) 1024
 
 reg byte x [ main::x#2 main::x#1 ]
 
diff --git a/src/test/ref/post-increment-problem-2.sym b/src/test/ref/post-increment-problem-2.sym
index 73004194b..2e240861c 100644
--- a/src/test/ref/post-increment-problem-2.sym
+++ b/src/test/ref/post-increment-problem-2.sym
@@ -5,6 +5,6 @@ constant word main::offset = (word)$28*$a
 byte main::x
 byte main::x#1 reg byte x 22.0
 byte main::x#2 reg byte x 8.25
-constant const byte* screen = (const byte*) 1024
+constant byte* screen = (byte*) 1024
 
 reg byte x [ main::x#2 main::x#1 ]
diff --git a/src/test/ref/problem-negative-word-const.log b/src/test/ref/problem-negative-word-const.log
index 90d979f66..8480e01ad 100644
--- a/src/test/ref/problem-negative-word-const.log
+++ b/src/test/ref/problem-negative-word-const.log
@@ -64,7 +64,7 @@ word main::w
 word main::w#0
 word main::w#1
 word main::w#2
-constant word* screen = (word*)$400
+constant word* screen = (byte*)$400
 
 Adding number conversion cast (unumber) 1 in main::$0 = main::i#2 & 1
 Adding number conversion cast (unumber) main::$0 in main::$0 = main::i#2 & (unumber)1
@@ -73,7 +73,7 @@ Adding number conversion cast (unumber) -1 in main::w#1 = -1
 Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast main::w#1 = (unumber)-1
 Successful SSA optimization Pass2InlineCast
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 1
 Simplifying constant integer cast 0
 Simplifying constant integer cast -1
@@ -324,7 +324,7 @@ byte main::i#2 reg byte x 5.5
 word main::w
 word main::w#0 w zp[2]:2 5.5
 word main::w#2 w zp[2]:2 11.0
-constant word* screen = (word*) 1024
+constant word* screen = (byte*) 1024
 
 reg byte x [ main::i#2 main::i#1 ]
 zp[2]:2 [ main::w#2 main::w#0 ]
diff --git a/src/test/ref/problem-negative-word-const.sym b/src/test/ref/problem-negative-word-const.sym
index 533a87ed4..34f3cb360 100644
--- a/src/test/ref/problem-negative-word-const.sym
+++ b/src/test/ref/problem-negative-word-const.sym
@@ -7,7 +7,7 @@ byte main::i#2 reg byte x 5.5
 word main::w
 word main::w#0 w zp[2]:2 5.5
 word main::w#2 w zp[2]:2 11.0
-constant word* screen = (word*) 1024
+constant word* screen = (byte*) 1024
 
 reg byte x [ main::i#2 main::i#1 ]
 zp[2]:2 [ main::w#2 main::w#0 ]
diff --git a/src/test/ref/procedure-callingconvention-stack-2.log b/src/test/ref/procedure-callingconvention-stack-2.log
index ed87bfed6..e20e0b146 100644
--- a/src/test/ref/procedure-callingconvention-stack-2.log
+++ b/src/test/ref/procedure-callingconvention-stack-2.log
@@ -46,7 +46,7 @@ __start::@return: scope:[__start]  from __start::@1
   to:@return
 
 SYMBOL TABLE SSA
-constant word* const SCREEN = (word*)$400
+constant word* const SCREEN = (byte*)$400
 constant byte SIZEOF_WORD = 2
 constant word STACK_BASE = $103
 void __start()
@@ -74,7 +74,7 @@ Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast stackpush(word) = (unumber)$1234
 Inlining cast stackpush(word) = (unumber)$2345
 Successful SSA optimization Pass2InlineCast
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast $1234
 Simplifying constant integer cast $2345
 Simplifying constant integer cast 0
@@ -292,7 +292,7 @@ Removing instruction __breturn:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 constant word STACK_BASE = $103
 void main()
 word~ main::$0 zp[2]:4 4.0
diff --git a/src/test/ref/procedure-callingconvention-stack-2.sym b/src/test/ref/procedure-callingconvention-stack-2.sym
index 7923bce0f..6ce921833 100644
--- a/src/test/ref/procedure-callingconvention-stack-2.sym
+++ b/src/test/ref/procedure-callingconvention-stack-2.sym
@@ -1,4 +1,4 @@
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 constant word STACK_BASE = $103
 void main()
 word~ main::$0 zp[2]:4 4.0
diff --git a/src/test/ref/procedure-callingconvention-stack-3.log b/src/test/ref/procedure-callingconvention-stack-3.log
index cb27857f1..81e652fbf 100644
--- a/src/test/ref/procedure-callingconvention-stack-3.log
+++ b/src/test/ref/procedure-callingconvention-stack-3.log
@@ -46,7 +46,7 @@ __start::@return: scope:[__start]  from __start::@1
   to:@return
 
 SYMBOL TABLE SSA
-constant word* const SCREEN = (word*)$400
+constant word* const SCREEN = (byte*)$400
 constant byte SIZEOF_WORD = 2
 constant word STACK_BASE = $103
 void __start()
@@ -72,7 +72,7 @@ Adding number conversion cast (unumber) main::$1 in main::$1 = (unumber)0 * SIZE
 Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast stackpush(word) = (unumber)7
 Successful SSA optimization Pass2InlineCast
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 7
 Simplifying constant integer cast 0
 Successful SSA optimization PassNCastSimplification
@@ -291,7 +291,7 @@ Removing instruction __breturn:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 constant word STACK_BASE = $103
 void main()
 word~ main::$0 zp[2]:4 4.0
diff --git a/src/test/ref/procedure-callingconvention-stack-3.sym b/src/test/ref/procedure-callingconvention-stack-3.sym
index 7923bce0f..6ce921833 100644
--- a/src/test/ref/procedure-callingconvention-stack-3.sym
+++ b/src/test/ref/procedure-callingconvention-stack-3.sym
@@ -1,4 +1,4 @@
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 constant word STACK_BASE = $103
 void main()
 word~ main::$0 zp[2]:4 4.0
diff --git a/src/test/ref/ptrptr-optimize-0.asm b/src/test/ref/ptrptr-optimize-0.asm
index 2e8e4752d..1968c016d 100644
--- a/src/test/ref/ptrptr-optimize-0.asm
+++ b/src/test/ref/ptrptr-optimize-0.asm
@@ -11,7 +11,7 @@
 main: {
     .label pscreen = screen
     .label screen = 2
-    // byte* screen = 0x400
+    // byte* screen = (char*)0x400
     lda #<$400
     sta.z screen
     lda #>$400
diff --git a/src/test/ref/ptrptr-optimize-0.log b/src/test/ref/ptrptr-optimize-0.log
index b1c63439b..a25ac7e79 100644
--- a/src/test/ref/ptrptr-optimize-0.log
+++ b/src/test/ref/ptrptr-optimize-0.log
@@ -163,7 +163,7 @@ Score: 72
 main: {
     .label pscreen = screen
     .label screen = 2
-    // byte* screen = 0x400
+    // byte* screen = (char*)0x400
     // [0] main::screen = (byte*) 1024 -- pbuz1=pbuc1 
     lda #<$400
     sta.z screen
diff --git a/src/test/ref/ptrptr-optimize-1.asm b/src/test/ref/ptrptr-optimize-1.asm
index a1079966f..a6b68c33c 100644
--- a/src/test/ref/ptrptr-optimize-1.asm
+++ b/src/test/ref/ptrptr-optimize-1.asm
@@ -11,7 +11,7 @@
 main: {
     .label pscreen = screen
     .label screen = 2
-    // byte* screen = 0x400
+    // byte* screen = (char*)0x400
     lda #<$400
     sta.z screen
     lda #>$400
diff --git a/src/test/ref/ptrptr-optimize-1.log b/src/test/ref/ptrptr-optimize-1.log
index 036bcd76b..87d62610d 100644
--- a/src/test/ref/ptrptr-optimize-1.log
+++ b/src/test/ref/ptrptr-optimize-1.log
@@ -263,7 +263,7 @@ Score: 70
 main: {
     .label pscreen = screen
     .label screen = 2
-    // byte* screen = 0x400
+    // byte* screen = (char*)0x400
     // [0] main::screen = (byte*) 1024 -- pbuz1=pbuc1 
     lda #<$400
     sta.z screen
diff --git a/src/test/ref/ptrptr-optimize-2.asm b/src/test/ref/ptrptr-optimize-2.asm
index 43cc333e8..50f1ec6fe 100644
--- a/src/test/ref/ptrptr-optimize-2.asm
+++ b/src/test/ref/ptrptr-optimize-2.asm
@@ -11,7 +11,7 @@
 .segment Code
 main: {
     .label screen = 2
-    // byte* screen = 0x400
+    // byte* screen = (char*)0x400
     lda #<$400
     sta.z screen
     lda #>$400
diff --git a/src/test/ref/ptrptr-optimize-2.log b/src/test/ref/ptrptr-optimize-2.log
index d1477dac2..383717073 100644
--- a/src/test/ref/ptrptr-optimize-2.log
+++ b/src/test/ref/ptrptr-optimize-2.log
@@ -261,7 +261,7 @@ Score: 70
   // main
 main: {
     .label screen = 2
-    // byte* screen = 0x400
+    // byte* screen = (char*)0x400
     // [0] main::screen = (byte*) 1024 -- pbuz1=pbuc1 
     lda #<$400
     sta.z screen
diff --git a/src/test/ref/robozzle64-label-problem.cfg b/src/test/ref/robozzle64-label-problem.cfg
index 3196940e3..6c7ad2b08 100644
--- a/src/test/ref/robozzle64-label-problem.cfg
+++ b/src/test/ref/robozzle64-label-problem.cfg
@@ -4,7 +4,7 @@ main: scope:[main]  from
   [0] phi()
   to:main::@1
 main::@1: scope:[main]  from main main::@3
-  [1] main::screen#1 = phi( main/(word*) 1024, main::@3/main::screen#2 )
+  [1] main::screen#1 = phi( main/(byte*) 1024, main::@3/main::screen#2 )
   [1] main::y#2 = phi( main/0, main::@3/main::y#1 )
   [2] mul8u::a#1 = main::y#2
   [3] call mul8u 
diff --git a/src/test/ref/robozzle64-label-problem.log b/src/test/ref/robozzle64-label-problem.log
index cda6cbe39..872840d1a 100644
--- a/src/test/ref/robozzle64-label-problem.log
+++ b/src/test/ref/robozzle64-label-problem.log
@@ -52,7 +52,7 @@ mul8u::@return: scope:[mul8u]  from mul8u::@3
 
 void main()
 main: scope:[main]  from __start
-  main::screen#0 = (word*)$400
+  main::screen#0 = (byte*)$400
   main::y#0 = 0
   to:main::@1
 main::@1: scope:[main]  from main main::@3
@@ -188,7 +188,7 @@ Simplifying constant integer cast 1
 Simplifying constant integer cast 0
 Simplifying constant integer cast 1
 Simplifying constant integer cast 1
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast $28
 Simplifying constant integer cast $28
 Successful SSA optimization PassNCastSimplification
@@ -225,7 +225,7 @@ Simple Condition mul8u::$3 [8] if(mul8u::$1==0) goto mul8u::@4
 Simple Condition main::$2 [33] if(main::y#1!=rangelast(0,5)) goto main::@1
 Successful SSA optimization Pass2ConditionalJumpSimplification
 Constant mul8u::res#0 = 0
-Constant main::screen#0 = (word*) 1024
+Constant main::screen#0 = (byte*) 1024
 Constant main::y#0 = 0
 Constant mul8u::b#0 = $28
 Constant mul8u::b#1 = $28
@@ -250,7 +250,7 @@ Inlining constant with var siblings mul8u::b#0
 Inlining constant with var siblings mul8u::b#1
 Inlining constant with var siblings main::screen#0
 Inlining constant with var siblings main::y#0
-Constant inlined main::screen#0 = (word*) 1024
+Constant inlined main::screen#0 = (byte*) 1024
 Constant inlined mul8u::res#0 = 0
 Constant inlined main::y#0 = 0
 Constant inlined mul8u::b#1 = $28
@@ -304,7 +304,7 @@ main: scope:[main]  from
   [0] phi()
   to:main::@1
 main::@1: scope:[main]  from main main::@3
-  [1] main::screen#1 = phi( main/(word*) 1024, main::@3/main::screen#2 )
+  [1] main::screen#1 = phi( main/(byte*) 1024, main::@3/main::screen#2 )
   [1] main::y#2 = phi( main/0, main::@3/main::y#1 )
   [2] mul8u::a#1 = main::y#2
   [3] call mul8u 
@@ -491,7 +491,7 @@ main: {
     .label y = 2
     // [1] phi from main to main::@1 [phi:main->main::@1]
   __b1_from_main:
-    // [1] phi main::screen#1 = (word*) 1024 [phi:main->main::@1#0] -- pwuz1=pwuc1 
+    // [1] phi main::screen#1 = (byte*) 1024 [phi:main->main::@1#0] -- pwuz1=pbuc1 
     lda #<$400
     sta.z screen
     lda #>$400
@@ -735,7 +735,7 @@ main: {
     .label z2 = 5
     .label y = 2
     // [1] phi from main to main::@1 [phi:main->main::@1]
-    // [1] phi main::screen#1 = (word*) 1024 [phi:main->main::@1#0] -- pwuz1=pwuc1 
+    // [1] phi main::screen#1 = (byte*) 1024 [phi:main->main::@1#0] -- pwuz1=pbuc1 
     lda #<$400
     sta.z screen
     lda #>$400
diff --git a/src/test/ref/semi-struct-2.asm b/src/test/ref/semi-struct-2.asm
index e71bf9734..893d5db6b 100644
--- a/src/test/ref/semi-struct-2.asm
+++ b/src/test/ref/semi-struct-2.asm
@@ -286,7 +286,7 @@ initEntry: {
     .label __7 = $c
     .label __17 = $e
     .label entry = 4
-    // (byte*)0x1111+n
+    // 0x1111+n
     txa
     clc
     adc #<$1111
@@ -294,14 +294,14 @@ initEntry: {
     lda #>$1111
     adc #0
     sta.z __1+1
-    // *entryBufDisk(entry) = (byte*)0x1111+n
+    // *entryBufDisk(entry) = (byte*)(0x1111+n)
     ldy #0
     lda.z __1
     sta (entry),y
     iny
     lda.z __1+1
     sta (entry),y
-    // (byte*)0x2222+n
+    // 0x2222+n
     txa
     clc
     adc #<$2222
@@ -309,7 +309,7 @@ initEntry: {
     lda #>$2222
     adc #0
     sta.z __3+1
-    // *entryBufEdit(entry) = (byte*)0x2222+n
+    // *entryBufEdit(entry) = (byte*)(0x2222+n)
     ldy #2
     lda.z __3
     sta (entry),y
@@ -331,16 +331,15 @@ initEntry: {
     iny
     lda.z __5+1
     sta (entry),y
-    // (word*)0x4444+n
+    // 0x4444+n
     txa
-    asl
     clc
     adc #<$4444
     sta.z __7
     lda #>$4444
     adc #0
     sta.z __7+1
-    // *entryTsOrder(entry) = (word*)0x4444+n
+    // *entryTsOrder(entry) = (word*)(0x4444+n)
     ldy #6
     lda.z __7
     sta (entry),y
diff --git a/src/test/ref/semi-struct-2.cfg b/src/test/ref/semi-struct-2.cfg
index 63fafb7de..c405ace5a 100644
--- a/src/test/ref/semi-struct-2.cfg
+++ b/src/test/ref/semi-struct-2.cfg
@@ -160,15 +160,15 @@ initEntry::entryBufDisk1: scope:[initEntry]  from initEntry
   [75] phi()
   to:initEntry::@1
 initEntry::@1: scope:[initEntry]  from initEntry::entryBufDisk1
-  [76] initEntry::$1 = (byte*) 4369 + initEntry::n#10
-  [77] *((byte**)initEntry::entry#10) = initEntry::$1
+  [76] initEntry::$1 = $1111 + initEntry::n#10
+  [77] *((byte**)initEntry::entry#10) = (byte*)initEntry::$1
   to:initEntry::entryBufEdit1
 initEntry::entryBufEdit1: scope:[initEntry]  from initEntry::@1
   [78] phi()
   to:initEntry::@2
 initEntry::@2: scope:[initEntry]  from initEntry::entryBufEdit1
-  [79] initEntry::$3 = (byte*) 8738 + initEntry::n#10
-  [80] ((byte**)initEntry::entry#10)[2] = initEntry::$3
+  [79] initEntry::$3 = $2222 + initEntry::n#10
+  [80] ((byte**)initEntry::entry#10)[2] = (byte*)initEntry::$3
   to:initEntry::entryTsLen1
 initEntry::entryTsLen1: scope:[initEntry]  from initEntry::@2
   [81] phi()
@@ -181,402 +181,401 @@ initEntry::entryTsOrder1: scope:[initEntry]  from initEntry::@3
   [84] phi()
   to:initEntry::@4
 initEntry::@4: scope:[initEntry]  from initEntry::entryTsOrder1
-  [85] initEntry::$26 = initEntry::n#10 << 1
-  [86] initEntry::$7 = (word*) 17476 + initEntry::$26
-  [87] ((word**)initEntry::entry#10)[6] = initEntry::$7
+  [85] initEntry::$7 = $4444 + initEntry::n#10
+  [86] ((word**)initEntry::entry#10)[6] = (word*)initEntry::$7
   to:initEntry::entryTLastLink1
 initEntry::entryTLastLink1: scope:[initEntry]  from initEntry::@4
-  [88] phi()
+  [87] phi()
   to:initEntry::@5
 initEntry::@5: scope:[initEntry]  from initEntry::entryTLastLink1
-  [89] initEntry::$9 = $55 + initEntry::n#10
-  [90] initEntry::entry#10[8] = initEntry::$9
+  [88] initEntry::$9 = $55 + initEntry::n#10
+  [89] initEntry::entry#10[8] = initEntry::$9
   to:initEntry::entrySLastLink1
 initEntry::entrySLastLink1: scope:[initEntry]  from initEntry::@5
-  [91] phi()
+  [90] phi()
   to:initEntry::@6
 initEntry::@6: scope:[initEntry]  from initEntry::entrySLastLink1
-  [92] initEntry::$11 = $66 + initEntry::n#10
-  [93] initEntry::entry#10[9] = initEntry::$11
+  [91] initEntry::$11 = $66 + initEntry::n#10
+  [92] initEntry::entry#10[9] = initEntry::$11
   to:initEntry::entryBFlag1
 initEntry::entryBFlag1: scope:[initEntry]  from initEntry::@6
-  [94] phi()
+  [93] phi()
   to:initEntry::@7
 initEntry::@7: scope:[initEntry]  from initEntry::entryBFlag1
-  [95] initEntry::$13 = $77 + initEntry::n#10
-  [96] initEntry::entry#10[$a] = initEntry::$13
+  [94] initEntry::$13 = $77 + initEntry::n#10
+  [95] initEntry::entry#10[$a] = initEntry::$13
   to:initEntry::entryBError1
 initEntry::entryBError1: scope:[initEntry]  from initEntry::@7
-  [97] phi()
+  [96] phi()
   to:initEntry::@8
 initEntry::@8: scope:[initEntry]  from initEntry::entryBError1
-  [98] initEntry::$15 = $88 + initEntry::n#10
-  [99] initEntry::entry#10[$b] = initEntry::$15
+  [97] initEntry::$15 = $88 + initEntry::n#10
+  [98] initEntry::entry#10[$b] = initEntry::$15
   to:initEntry::entryUCross1
 initEntry::entryUCross1: scope:[initEntry]  from initEntry::@8
-  [100] phi()
+  [99] phi()
   to:initEntry::@9
 initEntry::@9: scope:[initEntry]  from initEntry::entryUCross1
-  [101] initEntry::$17 = $9999 + initEntry::n#10
-  [102] ((word*)initEntry::entry#10)[$c] = initEntry::$17
+  [100] initEntry::$17 = $9999 + initEntry::n#10
+  [101] ((word*)initEntry::entry#10)[$c] = initEntry::$17
   to:initEntry::entryBAddrLo1
 initEntry::entryBAddrLo1: scope:[initEntry]  from initEntry::@9
-  [103] phi()
+  [102] phi()
   to:initEntry::@10
 initEntry::@10: scope:[initEntry]  from initEntry::entryBAddrLo1
-  [104] initEntry::$19 = $aa + initEntry::n#10
-  [105] initEntry::entry#10[$e] = initEntry::$19
+  [103] initEntry::$19 = $aa + initEntry::n#10
+  [104] initEntry::entry#10[$e] = initEntry::$19
   to:initEntry::entryBAddrHi1
 initEntry::entryBAddrHi1: scope:[initEntry]  from initEntry::@10
-  [106] phi()
+  [105] phi()
   to:initEntry::@11
 initEntry::@11: scope:[initEntry]  from initEntry::entryBAddrHi1
-  [107] initEntry::$21 = $bb + initEntry::n#10
-  [108] initEntry::entry#10[$f] = initEntry::$21
+  [106] initEntry::$21 = $bb + initEntry::n#10
+  [107] initEntry::entry#10[$f] = initEntry::$21
   to:initEntry::entryTHi1
 initEntry::entryTHi1: scope:[initEntry]  from initEntry::@11
-  [109] phi()
+  [108] phi()
   to:initEntry::@12
 initEntry::@12: scope:[initEntry]  from initEntry::entryTHi1
-  [110] initEntry::$23 = $cc + initEntry::n#10
-  [111] initEntry::entry#10[$10] = initEntry::$23
+  [109] initEntry::$23 = $cc + initEntry::n#10
+  [110] initEntry::entry#10[$10] = initEntry::$23
   to:initEntry::entryTLo1
 initEntry::entryTLo1: scope:[initEntry]  from initEntry::@12
-  [112] phi()
+  [111] phi()
   to:initEntry::@13
 initEntry::@13: scope:[initEntry]  from initEntry::entryTLo1
-  [113] initEntry::$25 = $dd + initEntry::n#10
-  [114] initEntry::entry#10[$11] = initEntry::$25
+  [112] initEntry::$25 = $dd + initEntry::n#10
+  [113] initEntry::entry#10[$11] = initEntry::$25
   to:initEntry::@return
 initEntry::@return: scope:[initEntry]  from initEntry::@13
-  [115] return 
+  [114] return 
   to:@return
 
 void print_cls()
 print_cls: scope:[print_cls]  from main::@2 main::@4 main::@9
-  [116] phi()
-  [117] call memset 
+  [115] phi()
+  [116] call memset 
   to:print_cls::@return
 print_cls::@return: scope:[print_cls]  from print_cls
-  [118] return 
+  [117] return 
   to:@return
 
 void print_str(byte* print_str::str)
 print_str: scope:[print_str]  from main::@10 main::@15 main::@17 main::@22 printEntry printEntry::@15 printEntry::@17 printEntry::@19 printEntry::@21 printEntry::@23 printEntry::@25 printEntry::@27 printEntry::@29 printEntry::@31 printEntry::@33 printEntry::@35 printEntry::@37
-  [119] print_char_cursor#167 = phi( main::@10/print_screen#0, main::@15/print_char_cursor#209, main::@17/print_screen#0, main::@22/print_char_cursor#210, printEntry/print_char_cursor#211, printEntry::@15/print_char_cursor#212, printEntry::@17/print_char_cursor#213, printEntry::@19/print_char_cursor#214, printEntry::@21/print_char_cursor#215, printEntry::@23/print_char_cursor#216, printEntry::@25/print_char_cursor#217, printEntry::@27/print_char_cursor#218, printEntry::@29/print_char_cursor#219, printEntry::@31/print_char_cursor#220, printEntry::@33/print_char_cursor#221, printEntry::@35/print_char_cursor#222, printEntry::@37/print_char_cursor#223 )
-  [119] print_str::str#21 = phi( main::@10/main::str, main::@15/main::str1, main::@17/main::str2, main::@22/main::str1, printEntry/printEntry::str, printEntry::@15/printEntry::str1, printEntry::@17/printEntry::str2, printEntry::@19/printEntry::str3, printEntry::@21/printEntry::str4, printEntry::@23/printEntry::str5, printEntry::@25/printEntry::str6, printEntry::@27/printEntry::str7, printEntry::@29/printEntry::str8, printEntry::@31/printEntry::str9, printEntry::@33/printEntry::str10, printEntry::@35/printEntry::str11, printEntry::@37/printEntry::str12 )
+  [118] print_char_cursor#167 = phi( main::@10/print_screen#0, main::@15/print_char_cursor#209, main::@17/print_screen#0, main::@22/print_char_cursor#210, printEntry/print_char_cursor#211, printEntry::@15/print_char_cursor#212, printEntry::@17/print_char_cursor#213, printEntry::@19/print_char_cursor#214, printEntry::@21/print_char_cursor#215, printEntry::@23/print_char_cursor#216, printEntry::@25/print_char_cursor#217, printEntry::@27/print_char_cursor#218, printEntry::@29/print_char_cursor#219, printEntry::@31/print_char_cursor#220, printEntry::@33/print_char_cursor#221, printEntry::@35/print_char_cursor#222, printEntry::@37/print_char_cursor#223 )
+  [118] print_str::str#21 = phi( main::@10/main::str, main::@15/main::str1, main::@17/main::str2, main::@22/main::str1, printEntry/printEntry::str, printEntry::@15/printEntry::str1, printEntry::@17/printEntry::str2, printEntry::@19/printEntry::str3, printEntry::@21/printEntry::str4, printEntry::@23/printEntry::str5, printEntry::@25/printEntry::str6, printEntry::@27/printEntry::str7, printEntry::@29/printEntry::str8, printEntry::@31/printEntry::str9, printEntry::@33/printEntry::str10, printEntry::@35/printEntry::str11, printEntry::@37/printEntry::str12 )
   to:print_str::@1
 print_str::@1: scope:[print_str]  from print_str print_str::@3
-  [120] print_char_cursor#1 = phi( print_str/print_char_cursor#167, print_str::@3/print_char_cursor#10 )
-  [120] print_str::str#18 = phi( print_str/print_str::str#21, print_str::@3/print_str::str#0 )
-  [121] if(0!=*print_str::str#18) goto print_str::@2
+  [119] print_char_cursor#1 = phi( print_str/print_char_cursor#167, print_str::@3/print_char_cursor#10 )
+  [119] print_str::str#18 = phi( print_str/print_str::str#21, print_str::@3/print_str::str#0 )
+  [120] if(0!=*print_str::str#18) goto print_str::@2
   to:print_str::@return
 print_str::@return: scope:[print_str]  from print_str::@1
-  [122] return 
+  [121] return 
   to:@return
 print_str::@2: scope:[print_str]  from print_str::@1
-  [123] print_char::ch#0 = *print_str::str#18
-  [124] call print_char 
+  [122] print_char::ch#0 = *print_str::str#18
+  [123] call print_char 
   to:print_str::@3
 print_str::@3: scope:[print_str]  from print_str::@2
-  [125] print_str::str#0 = ++ print_str::str#18
+  [124] print_str::str#0 = ++ print_str::str#18
   to:print_str::@1
 
 void print_ln()
 print_ln: scope:[print_ln]  from main::@11 main::@12 main::@14 main::@18 main::@19 main::@21 printEntry::@14 printEntry::@16 printEntry::@18 printEntry::@20 printEntry::@22 printEntry::@24 printEntry::@26 printEntry::@28 printEntry::@30 printEntry::@32 printEntry::@34 printEntry::@36 printEntry::@38
-  [126] print_char_cursor#146 = phi( main::@11/print_char_cursor#1, main::@12/print_char_cursor#227, main::@14/print_char_cursor#228, main::@18/print_char_cursor#1, main::@19/print_char_cursor#230, main::@21/print_char_cursor#231, printEntry::@14/print_char_cursor#10, printEntry::@16/print_char_cursor#10, printEntry::@18/print_char_cursor#10, printEntry::@20/print_char_cursor#10, printEntry::@22/print_char_cursor#10, printEntry::@24/print_char_cursor#10, printEntry::@26/print_char_cursor#10, printEntry::@28/print_char_cursor#10, printEntry::@30/print_char_cursor#10, printEntry::@32/print_char_cursor#10, printEntry::@34/print_char_cursor#10, printEntry::@36/print_char_cursor#10, printEntry::@38/print_char_cursor#10 )
-  [126] print_line_cursor#65 = phi( main::@11/print_screen#0, main::@12/print_line_cursor#155, main::@14/print_line_cursor#156, main::@18/print_screen#0, main::@19/print_line_cursor#157, main::@21/print_line_cursor#158, printEntry::@14/print_line_cursor#159, printEntry::@16/print_line_cursor#160, printEntry::@18/print_line_cursor#161, printEntry::@20/print_line_cursor#162, printEntry::@22/print_line_cursor#163, printEntry::@24/print_line_cursor#164, printEntry::@26/print_line_cursor#165, printEntry::@28/print_line_cursor#166, printEntry::@30/print_line_cursor#167, printEntry::@32/print_line_cursor#168, printEntry::@34/print_line_cursor#169, printEntry::@36/print_line_cursor#170, printEntry::@38/print_line_cursor#171 )
+  [125] print_char_cursor#146 = phi( main::@11/print_char_cursor#1, main::@12/print_char_cursor#227, main::@14/print_char_cursor#228, main::@18/print_char_cursor#1, main::@19/print_char_cursor#230, main::@21/print_char_cursor#231, printEntry::@14/print_char_cursor#10, printEntry::@16/print_char_cursor#10, printEntry::@18/print_char_cursor#10, printEntry::@20/print_char_cursor#10, printEntry::@22/print_char_cursor#10, printEntry::@24/print_char_cursor#10, printEntry::@26/print_char_cursor#10, printEntry::@28/print_char_cursor#10, printEntry::@30/print_char_cursor#10, printEntry::@32/print_char_cursor#10, printEntry::@34/print_char_cursor#10, printEntry::@36/print_char_cursor#10, printEntry::@38/print_char_cursor#10 )
+  [125] print_line_cursor#65 = phi( main::@11/print_screen#0, main::@12/print_line_cursor#155, main::@14/print_line_cursor#156, main::@18/print_screen#0, main::@19/print_line_cursor#157, main::@21/print_line_cursor#158, printEntry::@14/print_line_cursor#159, printEntry::@16/print_line_cursor#160, printEntry::@18/print_line_cursor#161, printEntry::@20/print_line_cursor#162, printEntry::@22/print_line_cursor#163, printEntry::@24/print_line_cursor#164, printEntry::@26/print_line_cursor#165, printEntry::@28/print_line_cursor#166, printEntry::@30/print_line_cursor#167, printEntry::@32/print_line_cursor#168, printEntry::@34/print_line_cursor#169, printEntry::@36/print_line_cursor#170, printEntry::@38/print_line_cursor#171 )
   to:print_ln::@1
 print_ln::@1: scope:[print_ln]  from print_ln print_ln::@2
-  [127] print_line_cursor#33 = phi( print_ln/print_line_cursor#65, print_ln::@2/print_line_cursor#173 )
-  [128] print_line_cursor#0 = print_line_cursor#33 + $28
-  [129] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2
+  [126] print_line_cursor#33 = phi( print_ln/print_line_cursor#65, print_ln::@2/print_line_cursor#173 )
+  [127] print_line_cursor#0 = print_line_cursor#33 + $28
+  [128] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2
   to:print_ln::@return
 print_ln::@return: scope:[print_ln]  from print_ln::@1
-  [130] return 
+  [129] return 
   to:@return
 print_ln::@2: scope:[print_ln]  from print_ln::@1
-  [131] print_line_cursor#173 = print_line_cursor#0
+  [130] print_line_cursor#173 = print_line_cursor#0
   to:print_ln::@1
 
 void printEntry(byte* printEntry::entry)
 printEntry: scope:[printEntry]  from main::@13 main::@20
-  [132] printEntry::entry#10 = phi( main::@13/printEntry::entry#0, main::@20/printEntry::entry#1 )
-  [133] print_char_cursor#211 = print_line_cursor#0
-  [134] call print_str 
+  [131] printEntry::entry#10 = phi( main::@13/printEntry::entry#0, main::@20/printEntry::entry#1 )
+  [132] print_char_cursor#211 = print_line_cursor#0
+  [133] call print_str 
   to:printEntry::entryBufDisk1
 printEntry::entryBufDisk1: scope:[printEntry]  from printEntry
-  [135] phi()
+  [134] phi()
   to:printEntry::@1
 printEntry::@1: scope:[printEntry]  from printEntry::entryBufDisk1
-  [136] print_uint::w#7 = (word)*((byte**)printEntry::entry#10)
-  [137] call print_uint 
+  [135] print_uint::w#7 = (word)*((byte**)printEntry::entry#10)
+  [136] call print_uint 
   to:printEntry::@14
 printEntry::@14: scope:[printEntry]  from printEntry::@1
-  [138] print_line_cursor#159 = print_line_cursor#0
-  [139] call print_ln 
+  [137] print_line_cursor#159 = print_line_cursor#0
+  [138] call print_ln 
   to:printEntry::@15
 printEntry::@15: scope:[printEntry]  from printEntry::@14
-  [140] print_char_cursor#212 = print_line_cursor#0
-  [141] call print_str 
+  [139] print_char_cursor#212 = print_line_cursor#0
+  [140] call print_str 
   to:printEntry::entryBufEdit1
 printEntry::entryBufEdit1: scope:[printEntry]  from printEntry::@15
-  [142] phi()
+  [141] phi()
   to:printEntry::@2
 printEntry::@2: scope:[printEntry]  from printEntry::entryBufEdit1
-  [143] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2]
-  [144] call print_uint 
+  [142] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2]
+  [143] call print_uint 
   to:printEntry::@16
 printEntry::@16: scope:[printEntry]  from printEntry::@2
-  [145] print_line_cursor#160 = print_line_cursor#0
-  [146] call print_ln 
+  [144] print_line_cursor#160 = print_line_cursor#0
+  [145] call print_ln 
   to:printEntry::@17
 printEntry::@17: scope:[printEntry]  from printEntry::@16
-  [147] print_char_cursor#213 = print_line_cursor#0
-  [148] call print_str 
+  [146] print_char_cursor#213 = print_line_cursor#0
+  [147] call print_str 
   to:printEntry::entryTsLen1
 printEntry::entryTsLen1: scope:[printEntry]  from printEntry::@17
-  [149] phi()
+  [148] phi()
   to:printEntry::@3
 printEntry::@3: scope:[printEntry]  from printEntry::entryTsLen1
-  [150] print_uint::w#2 = ((word*)printEntry::entry#10)[4]
-  [151] call print_uint 
+  [149] print_uint::w#2 = ((word*)printEntry::entry#10)[4]
+  [150] call print_uint 
   to:printEntry::@18
 printEntry::@18: scope:[printEntry]  from printEntry::@3
-  [152] print_line_cursor#161 = print_line_cursor#0
-  [153] call print_ln 
+  [151] print_line_cursor#161 = print_line_cursor#0
+  [152] call print_ln 
   to:printEntry::@19
 printEntry::@19: scope:[printEntry]  from printEntry::@18
-  [154] print_char_cursor#214 = print_line_cursor#0
-  [155] call print_str 
+  [153] print_char_cursor#214 = print_line_cursor#0
+  [154] call print_str 
   to:printEntry::entryTsOrder1
 printEntry::entryTsOrder1: scope:[printEntry]  from printEntry::@19
-  [156] phi()
+  [155] phi()
   to:printEntry::@4
 printEntry::@4: scope:[printEntry]  from printEntry::entryTsOrder1
-  [157] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6]
-  [158] call print_uint 
+  [156] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6]
+  [157] call print_uint 
   to:printEntry::@20
 printEntry::@20: scope:[printEntry]  from printEntry::@4
-  [159] print_line_cursor#162 = print_line_cursor#0
-  [160] call print_ln 
+  [158] print_line_cursor#162 = print_line_cursor#0
+  [159] call print_ln 
   to:printEntry::@21
 printEntry::@21: scope:[printEntry]  from printEntry::@20
-  [161] print_char_cursor#215 = print_line_cursor#0
-  [162] call print_str 
+  [160] print_char_cursor#215 = print_line_cursor#0
+  [161] call print_str 
   to:printEntry::entryTLastLink1
 printEntry::entryTLastLink1: scope:[printEntry]  from printEntry::@21
-  [163] phi()
+  [162] phi()
   to:printEntry::@5
 printEntry::@5: scope:[printEntry]  from printEntry::entryTLastLink1
-  [164] print_uchar::b#2 = printEntry::entry#10[8]
-  [165] call print_uchar 
+  [163] print_uchar::b#2 = printEntry::entry#10[8]
+  [164] call print_uchar 
   to:printEntry::@22
 printEntry::@22: scope:[printEntry]  from printEntry::@5
-  [166] print_line_cursor#163 = print_line_cursor#0
-  [167] call print_ln 
+  [165] print_line_cursor#163 = print_line_cursor#0
+  [166] call print_ln 
   to:printEntry::@23
 printEntry::@23: scope:[printEntry]  from printEntry::@22
-  [168] print_char_cursor#216 = print_line_cursor#0
-  [169] call print_str 
+  [167] print_char_cursor#216 = print_line_cursor#0
+  [168] call print_str 
   to:printEntry::entrySLastLink1
 printEntry::entrySLastLink1: scope:[printEntry]  from printEntry::@23
-  [170] phi()
+  [169] phi()
   to:printEntry::@6
 printEntry::@6: scope:[printEntry]  from printEntry::entrySLastLink1
-  [171] print_uchar::b#3 = printEntry::entry#10[9]
-  [172] call print_uchar 
+  [170] print_uchar::b#3 = printEntry::entry#10[9]
+  [171] call print_uchar 
   to:printEntry::@24
 printEntry::@24: scope:[printEntry]  from printEntry::@6
-  [173] print_line_cursor#164 = print_line_cursor#0
-  [174] call print_ln 
+  [172] print_line_cursor#164 = print_line_cursor#0
+  [173] call print_ln 
   to:printEntry::@25
 printEntry::@25: scope:[printEntry]  from printEntry::@24
-  [175] print_char_cursor#217 = print_line_cursor#0
-  [176] call print_str 
+  [174] print_char_cursor#217 = print_line_cursor#0
+  [175] call print_str 
   to:printEntry::entryBFlag1
 printEntry::entryBFlag1: scope:[printEntry]  from printEntry::@25
-  [177] phi()
+  [176] phi()
   to:printEntry::@7
 printEntry::@7: scope:[printEntry]  from printEntry::entryBFlag1
-  [178] print_uchar::b#4 = printEntry::entry#10[$a]
-  [179] call print_uchar 
+  [177] print_uchar::b#4 = printEntry::entry#10[$a]
+  [178] call print_uchar 
   to:printEntry::@26
 printEntry::@26: scope:[printEntry]  from printEntry::@7
-  [180] print_line_cursor#165 = print_line_cursor#0
-  [181] call print_ln 
+  [179] print_line_cursor#165 = print_line_cursor#0
+  [180] call print_ln 
   to:printEntry::@27
 printEntry::@27: scope:[printEntry]  from printEntry::@26
-  [182] print_char_cursor#218 = print_line_cursor#0
-  [183] call print_str 
+  [181] print_char_cursor#218 = print_line_cursor#0
+  [182] call print_str 
   to:printEntry::entryBError1
 printEntry::entryBError1: scope:[printEntry]  from printEntry::@27
-  [184] phi()
+  [183] phi()
   to:printEntry::@8
 printEntry::@8: scope:[printEntry]  from printEntry::entryBError1
-  [185] print_uchar::b#5 = printEntry::entry#10[$b]
-  [186] call print_uchar 
+  [184] print_uchar::b#5 = printEntry::entry#10[$b]
+  [185] call print_uchar 
   to:printEntry::@28
 printEntry::@28: scope:[printEntry]  from printEntry::@8
-  [187] print_line_cursor#166 = print_line_cursor#0
-  [188] call print_ln 
+  [186] print_line_cursor#166 = print_line_cursor#0
+  [187] call print_ln 
   to:printEntry::@29
 printEntry::@29: scope:[printEntry]  from printEntry::@28
-  [189] print_char_cursor#219 = print_line_cursor#0
-  [190] call print_str 
+  [188] print_char_cursor#219 = print_line_cursor#0
+  [189] call print_str 
   to:printEntry::entryUCross1
 printEntry::entryUCross1: scope:[printEntry]  from printEntry::@29
-  [191] phi()
+  [190] phi()
   to:printEntry::@9
 printEntry::@9: scope:[printEntry]  from printEntry::entryUCross1
-  [192] print_uint::w#4 = ((word*)printEntry::entry#10)[$c]
-  [193] call print_uint 
+  [191] print_uint::w#4 = ((word*)printEntry::entry#10)[$c]
+  [192] call print_uint 
   to:printEntry::@30
 printEntry::@30: scope:[printEntry]  from printEntry::@9
-  [194] print_line_cursor#167 = print_line_cursor#0
-  [195] call print_ln 
+  [193] print_line_cursor#167 = print_line_cursor#0
+  [194] call print_ln 
   to:printEntry::@31
 printEntry::@31: scope:[printEntry]  from printEntry::@30
-  [196] print_char_cursor#220 = print_line_cursor#0
-  [197] call print_str 
+  [195] print_char_cursor#220 = print_line_cursor#0
+  [196] call print_str 
   to:printEntry::entryBAddrLo1
 printEntry::entryBAddrLo1: scope:[printEntry]  from printEntry::@31
-  [198] phi()
+  [197] phi()
   to:printEntry::@10
 printEntry::@10: scope:[printEntry]  from printEntry::entryBAddrLo1
-  [199] print_uchar::b#6 = printEntry::entry#10[$e]
-  [200] call print_uchar 
+  [198] print_uchar::b#6 = printEntry::entry#10[$e]
+  [199] call print_uchar 
   to:printEntry::@32
 printEntry::@32: scope:[printEntry]  from printEntry::@10
-  [201] print_line_cursor#168 = print_line_cursor#0
-  [202] call print_ln 
+  [200] print_line_cursor#168 = print_line_cursor#0
+  [201] call print_ln 
   to:printEntry::@33
 printEntry::@33: scope:[printEntry]  from printEntry::@32
-  [203] print_char_cursor#221 = print_line_cursor#0
-  [204] call print_str 
+  [202] print_char_cursor#221 = print_line_cursor#0
+  [203] call print_str 
   to:printEntry::entryBAddrHi1
 printEntry::entryBAddrHi1: scope:[printEntry]  from printEntry::@33
-  [205] phi()
+  [204] phi()
   to:printEntry::@11
 printEntry::@11: scope:[printEntry]  from printEntry::entryBAddrHi1
-  [206] print_uchar::b#7 = printEntry::entry#10[$f]
-  [207] call print_uchar 
+  [205] print_uchar::b#7 = printEntry::entry#10[$f]
+  [206] call print_uchar 
   to:printEntry::@34
 printEntry::@34: scope:[printEntry]  from printEntry::@11
-  [208] print_line_cursor#169 = print_line_cursor#0
-  [209] call print_ln 
+  [207] print_line_cursor#169 = print_line_cursor#0
+  [208] call print_ln 
   to:printEntry::@35
 printEntry::@35: scope:[printEntry]  from printEntry::@34
-  [210] print_char_cursor#222 = print_line_cursor#0
-  [211] call print_str 
+  [209] print_char_cursor#222 = print_line_cursor#0
+  [210] call print_str 
   to:printEntry::entryTHi1
 printEntry::entryTHi1: scope:[printEntry]  from printEntry::@35
-  [212] phi()
+  [211] phi()
   to:printEntry::@12
 printEntry::@12: scope:[printEntry]  from printEntry::entryTHi1
-  [213] print_uchar::b#8 = printEntry::entry#10[$10]
-  [214] call print_uchar 
+  [212] print_uchar::b#8 = printEntry::entry#10[$10]
+  [213] call print_uchar 
   to:printEntry::@36
 printEntry::@36: scope:[printEntry]  from printEntry::@12
-  [215] print_line_cursor#170 = print_line_cursor#0
-  [216] call print_ln 
+  [214] print_line_cursor#170 = print_line_cursor#0
+  [215] call print_ln 
   to:printEntry::@37
 printEntry::@37: scope:[printEntry]  from printEntry::@36
-  [217] print_char_cursor#223 = print_line_cursor#0
-  [218] call print_str 
+  [216] print_char_cursor#223 = print_line_cursor#0
+  [217] call print_str 
   to:printEntry::entryTLo1
 printEntry::entryTLo1: scope:[printEntry]  from printEntry::@37
-  [219] phi()
+  [218] phi()
   to:printEntry::@13
 printEntry::@13: scope:[printEntry]  from printEntry::entryTLo1
-  [220] print_uchar::b#9 = printEntry::entry#10[$11]
-  [221] call print_uchar 
+  [219] print_uchar::b#9 = printEntry::entry#10[$11]
+  [220] call print_uchar 
   to:printEntry::@38
 printEntry::@38: scope:[printEntry]  from printEntry::@13
-  [222] print_line_cursor#171 = print_line_cursor#0
-  [223] call print_ln 
+  [221] print_line_cursor#171 = print_line_cursor#0
+  [222] call print_ln 
   to:printEntry::@return
 printEntry::@return: scope:[printEntry]  from printEntry::@38
-  [224] return 
+  [223] return 
   to:@return
 
 byte keyboard_key_pressed(byte keyboard_key_pressed::key)
 keyboard_key_pressed: scope:[keyboard_key_pressed]  from main::@1 main::@3
-  [225] phi()
-  [226] call keyboard_matrix_read 
-  [227] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
+  [224] phi()
+  [225] call keyboard_matrix_read 
+  [226] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
   to:keyboard_key_pressed::@1
 keyboard_key_pressed::@1: scope:[keyboard_key_pressed]  from keyboard_key_pressed
-  [228] keyboard_key_pressed::$2 = keyboard_matrix_read::return#2
-  [229] keyboard_key_pressed::return#0 = keyboard_key_pressed::$2 & *(keyboard_matrix_col_bitmask+keyboard_key_pressed::colidx#0)
+  [227] keyboard_key_pressed::$2 = keyboard_matrix_read::return#2
+  [228] keyboard_key_pressed::return#0 = keyboard_key_pressed::$2 & *(keyboard_matrix_col_bitmask+keyboard_key_pressed::colidx#0)
   to:keyboard_key_pressed::@return
 keyboard_key_pressed::@return: scope:[keyboard_key_pressed]  from keyboard_key_pressed::@1
-  [230] return 
+  [229] return 
   to:@return
 
 void* memset(void* memset::str , byte memset::c , word memset::num)
 memset: scope:[memset]  from print_cls
-  [231] phi()
+  [230] phi()
   to:memset::@1
 memset::@1: scope:[memset]  from memset memset::@2
-  [232] memset::dst#2 = phi( memset/(byte*)memset::str#0, memset::@2/memset::dst#1 )
-  [233] if(memset::dst#2!=memset::end#0) goto memset::@2
+  [231] memset::dst#2 = phi( memset/(byte*)memset::str#0, memset::@2/memset::dst#1 )
+  [232] if(memset::dst#2!=memset::end#0) goto memset::@2
   to:memset::@return
 memset::@return: scope:[memset]  from memset::@1
-  [234] return 
+  [233] return 
   to:@return
 memset::@2: scope:[memset]  from memset::@1
-  [235] *memset::dst#2 = memset::c#0
-  [236] memset::dst#1 = ++ memset::dst#2
+  [234] *memset::dst#2 = memset::c#0
+  [235] memset::dst#1 = ++ memset::dst#2
   to:memset::@1
 
 void print_char(byte print_char::ch)
 print_char: scope:[print_char]  from print_str::@2 print_uchar print_uchar::@1
-  [237] print_char_cursor#83 = phi( print_str::@2/print_char_cursor#1, print_uchar/print_char_cursor#148, print_uchar::@1/print_char_cursor#10 )
-  [237] print_char::ch#3 = phi( print_str::@2/print_char::ch#0, print_uchar/print_char::ch#1, print_uchar::@1/print_char::ch#2 )
-  [238] *print_char_cursor#83 = print_char::ch#3
-  [239] print_char_cursor#10 = ++ print_char_cursor#83
+  [236] print_char_cursor#83 = phi( print_str::@2/print_char_cursor#1, print_uchar/print_char_cursor#148, print_uchar::@1/print_char_cursor#10 )
+  [236] print_char::ch#3 = phi( print_str::@2/print_char::ch#0, print_uchar/print_char::ch#1, print_uchar::@1/print_char::ch#2 )
+  [237] *print_char_cursor#83 = print_char::ch#3
+  [238] print_char_cursor#10 = ++ print_char_cursor#83
   to:print_char::@return
 print_char::@return: scope:[print_char]  from print_char
-  [240] return 
+  [239] return 
   to:@return
 
 void print_uint(word print_uint::w)
 print_uint: scope:[print_uint]  from printEntry::@1 printEntry::@2 printEntry::@3 printEntry::@4 printEntry::@9
-  [241] print_uint::w#5 = phi( printEntry::@1/print_uint::w#7, printEntry::@2/print_uint::w#8, printEntry::@3/print_uint::w#2, printEntry::@4/print_uint::w#10, printEntry::@9/print_uint::w#4 )
-  [242] print_uchar::b#0 = > print_uint::w#5
-  [243] call print_uchar 
+  [240] print_uint::w#5 = phi( printEntry::@1/print_uint::w#7, printEntry::@2/print_uint::w#8, printEntry::@3/print_uint::w#2, printEntry::@4/print_uint::w#10, printEntry::@9/print_uint::w#4 )
+  [241] print_uchar::b#0 = > print_uint::w#5
+  [242] call print_uchar 
   to:print_uint::@1
 print_uint::@1: scope:[print_uint]  from print_uint
-  [244] print_uchar::b#1 = < print_uint::w#5
-  [245] call print_uchar 
+  [243] print_uchar::b#1 = < print_uint::w#5
+  [244] call print_uchar 
   to:print_uint::@return
 print_uint::@return: scope:[print_uint]  from print_uint::@1
-  [246] return 
+  [245] return 
   to:@return
 
 void print_uchar(byte print_uchar::b)
 print_uchar: scope:[print_uchar]  from printEntry::@10 printEntry::@11 printEntry::@12 printEntry::@13 printEntry::@5 printEntry::@6 printEntry::@7 printEntry::@8 print_uint print_uint::@1
-  [247] print_char_cursor#148 = phi( printEntry::@10/print_char_cursor#1, printEntry::@11/print_char_cursor#1, printEntry::@12/print_char_cursor#1, printEntry::@13/print_char_cursor#1, printEntry::@5/print_char_cursor#1, printEntry::@6/print_char_cursor#1, printEntry::@7/print_char_cursor#1, printEntry::@8/print_char_cursor#1, print_uint/print_char_cursor#1, print_uint::@1/print_char_cursor#10 )
-  [247] print_uchar::b#10 = phi( printEntry::@10/print_uchar::b#6, printEntry::@11/print_uchar::b#7, printEntry::@12/print_uchar::b#8, printEntry::@13/print_uchar::b#9, printEntry::@5/print_uchar::b#2, printEntry::@6/print_uchar::b#3, printEntry::@7/print_uchar::b#4, printEntry::@8/print_uchar::b#5, print_uint/print_uchar::b#0, print_uint::@1/print_uchar::b#1 )
-  [248] print_uchar::$0 = print_uchar::b#10 >> 4
-  [249] print_char::ch#1 = print_hextab[print_uchar::$0]
-  [250] call print_char 
+  [246] print_char_cursor#148 = phi( printEntry::@10/print_char_cursor#1, printEntry::@11/print_char_cursor#1, printEntry::@12/print_char_cursor#1, printEntry::@13/print_char_cursor#1, printEntry::@5/print_char_cursor#1, printEntry::@6/print_char_cursor#1, printEntry::@7/print_char_cursor#1, printEntry::@8/print_char_cursor#1, print_uint/print_char_cursor#1, print_uint::@1/print_char_cursor#10 )
+  [246] print_uchar::b#10 = phi( printEntry::@10/print_uchar::b#6, printEntry::@11/print_uchar::b#7, printEntry::@12/print_uchar::b#8, printEntry::@13/print_uchar::b#9, printEntry::@5/print_uchar::b#2, printEntry::@6/print_uchar::b#3, printEntry::@7/print_uchar::b#4, printEntry::@8/print_uchar::b#5, print_uint/print_uchar::b#0, print_uint::@1/print_uchar::b#1 )
+  [247] print_uchar::$0 = print_uchar::b#10 >> 4
+  [248] print_char::ch#1 = print_hextab[print_uchar::$0]
+  [249] call print_char 
   to:print_uchar::@1
 print_uchar::@1: scope:[print_uchar]  from print_uchar
-  [251] print_uchar::$2 = print_uchar::b#10 & $f
-  [252] print_char::ch#2 = print_hextab[print_uchar::$2]
-  [253] call print_char 
+  [250] print_uchar::$2 = print_uchar::b#10 & $f
+  [251] print_char::ch#2 = print_hextab[print_uchar::$2]
+  [252] call print_char 
   to:print_uchar::@return
 print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
-  [254] return 
+  [253] return 
   to:@return
 
 byte keyboard_matrix_read(byte keyboard_matrix_read::rowid)
 keyboard_matrix_read: scope:[keyboard_matrix_read]  from keyboard_key_pressed
-  [255] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0)
-  [256] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B)
+  [254] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0)
+  [255] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B)
   to:keyboard_matrix_read::@return
 keyboard_matrix_read::@return: scope:[keyboard_matrix_read]  from keyboard_matrix_read
-  [257] return 
+  [256] return 
   to:@return
diff --git a/src/test/ref/semi-struct-2.log b/src/test/ref/semi-struct-2.log
index 8fbc3cdf1..942c02a12 100644
--- a/src/test/ref/semi-struct-2.log
+++ b/src/test/ref/semi-struct-2.log
@@ -633,8 +633,8 @@ initEntry::@1: scope:[initEntry]  from initEntry::entryBufDisk1_@return
   initEntry::n#2 = phi( initEntry::entryBufDisk1_@return/initEntry::n#15 )
   initEntry::entryBufDisk1_return#3 = phi( initEntry::entryBufDisk1_@return/initEntry::entryBufDisk1_return#1 )
   initEntry::$0 = initEntry::entryBufDisk1_return#3
-  initEntry::$1 = (byte*)$1111 + initEntry::n#2
-  *initEntry::$0 = initEntry::$1
+  initEntry::$1 = $1111 + initEntry::n#2
+  *initEntry::$0 = (byte*)initEntry::$1
   initEntry::entryBufEdit1_entry#0 = initEntry::entry#3
   to:initEntry::entryBufEdit1
 initEntry::entryBufEdit1: scope:[initEntry]  from initEntry::@1
@@ -655,8 +655,8 @@ initEntry::@2: scope:[initEntry]  from initEntry::entryBufEdit1_@return
   initEntry::n#3 = phi( initEntry::entryBufEdit1_@return/initEntry::n#16 )
   initEntry::entryBufEdit1_return#3 = phi( initEntry::entryBufEdit1_@return/initEntry::entryBufEdit1_return#1 )
   initEntry::$2 = initEntry::entryBufEdit1_return#3
-  initEntry::$3 = (byte*)$2222 + initEntry::n#3
-  *initEntry::$2 = initEntry::$3
+  initEntry::$3 = $2222 + initEntry::n#3
+  *initEntry::$2 = (byte*)initEntry::$3
   initEntry::entryTsLen1_entry#0 = initEntry::entry#4
   to:initEntry::entryTsLen1
 initEntry::entryTsLen1: scope:[initEntry]  from initEntry::@2
@@ -699,9 +699,8 @@ initEntry::@4: scope:[initEntry]  from initEntry::entryTsOrder1_@return
   initEntry::n#5 = phi( initEntry::entryTsOrder1_@return/initEntry::n#18 )
   initEntry::entryTsOrder1_return#3 = phi( initEntry::entryTsOrder1_@return/initEntry::entryTsOrder1_return#1 )
   initEntry::$6 = initEntry::entryTsOrder1_return#3
-  initEntry::$26 = initEntry::n#5 * SIZEOF_WORD
-  initEntry::$7 = (word*)$4444 + initEntry::$26
-  *initEntry::$6 = initEntry::$7
+  initEntry::$7 = $4444 + initEntry::n#5
+  *initEntry::$6 = (word*)initEntry::$7
   initEntry::entryTLastLink1_entry#0 = initEntry::entry#6
   to:initEntry::entryTLastLink1
 initEntry::entryTLastLink1: scope:[initEntry]  from initEntry::@4
@@ -1566,12 +1565,11 @@ constant byte RADIX::DECIMAL = $a
 constant byte RADIX::HEXADECIMAL = $10
 constant byte RADIX::OCTAL = 8
 constant const byte SIZEOF_ENTRY = $12
-constant byte SIZEOF_WORD = 2
 void __start()
 constant byte* files[(word)MAX_FILES*SIZEOF_ENTRY]  = { fill( (word)MAX_FILES*SIZEOF_ENTRY, 0) }
 void initEntry(byte* initEntry::entry , byte initEntry::n)
 byte**~ initEntry::$0
-byte*~ initEntry::$1
+number~ initEntry::$1
 byte*~ initEntry::$10
 number~ initEntry::$11
 byte*~ initEntry::$12
@@ -1589,12 +1587,11 @@ byte*~ initEntry::$22
 number~ initEntry::$23
 byte*~ initEntry::$24
 number~ initEntry::$25
-byte~ initEntry::$26
-byte*~ initEntry::$3
+number~ initEntry::$3
 word*~ initEntry::$4
 number~ initEntry::$5
 word**~ initEntry::$6
-word*~ initEntry::$7
+number~ initEntry::$7
 byte*~ initEntry::$8
 number~ initEntry::$9
 byte* initEntry::entry
@@ -2693,11 +2690,17 @@ Adding number conversion cast (unumber) $11 in initEntry::n#1 = $11
 Adding number conversion cast (unumber) 0 in main::$21 = main::$20 == 0
 Adding number conversion cast (unumber) 0 in main::$23 = main::$22 == 0
 Adding number conversion cast (unumber) 0 in initEntry::entryBufDisk1_$0 = initEntry::entryBufDisk1_entry#1 + 0
+Adding number conversion cast (unumber) $1111 in initEntry::$1 = $1111 + initEntry::n#2
+Adding number conversion cast (unumber) initEntry::$1 in initEntry::$1 = (unumber)$1111 + initEntry::n#2
 Adding number conversion cast (unumber) 2 in initEntry::entryBufEdit1_$0 = initEntry::entryBufEdit1_entry#1 + 2
+Adding number conversion cast (unumber) $2222 in initEntry::$3 = $2222 + initEntry::n#3
+Adding number conversion cast (unumber) initEntry::$3 in initEntry::$3 = (unumber)$2222 + initEntry::n#3
 Adding number conversion cast (unumber) 4 in initEntry::entryTsLen1_$0 = initEntry::entryTsLen1_entry#1 + 4
 Adding number conversion cast (unumber) $3333 in initEntry::$5 = $3333 + initEntry::n#4
 Adding number conversion cast (unumber) initEntry::$5 in initEntry::$5 = (unumber)$3333 + initEntry::n#4
 Adding number conversion cast (unumber) 6 in initEntry::entryTsOrder1_$0 = initEntry::entryTsOrder1_entry#1 + 6
+Adding number conversion cast (unumber) $4444 in initEntry::$7 = $4444 + initEntry::n#5
+Adding number conversion cast (unumber) initEntry::$7 in initEntry::$7 = (unumber)$4444 + initEntry::n#5
 Adding number conversion cast (unumber) 8 in initEntry::entryTLastLink1_$0 = initEntry::entryTLastLink1_entry#1 + 8
 Adding number conversion cast (unumber) $55 in initEntry::$9 = $55 + initEntry::n#6
 Adding number conversion cast (unumber) initEntry::$9 in initEntry::$9 = (unumber)$55 + initEntry::n#6
@@ -2771,13 +2774,13 @@ Simplifying constant integer cast $11
 Simplifying constant integer cast 0
 Simplifying constant integer cast 0
 Simplifying constant integer cast 0
-Simplifying constant pointer cast (byte*) 4369
+Simplifying constant integer cast $1111
 Simplifying constant integer cast 2
-Simplifying constant pointer cast (byte*) 8738
+Simplifying constant integer cast $2222
 Simplifying constant integer cast 4
 Simplifying constant integer cast $3333
 Simplifying constant integer cast 6
-Simplifying constant pointer cast (word*) 17476
+Simplifying constant integer cast $4444
 Simplifying constant integer cast 8
 Simplifying constant integer cast initEntry::entryTLastLink1_$0
 Simplifying constant integer cast $55
@@ -2847,10 +2850,13 @@ Finalized unsigned number type (byte) $11
 Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) 0
 Finalized unsigned number type (byte) 0
+Finalized unsigned number type (word) $1111
 Finalized unsigned number type (byte) 2
+Finalized unsigned number type (word) $2222
 Finalized unsigned number type (byte) 4
 Finalized unsigned number type (word) $3333
 Finalized unsigned number type (byte) 6
+Finalized unsigned number type (word) $4444
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) $55
 Finalized unsigned number type (byte) 9
@@ -2886,7 +2892,10 @@ Successful SSA optimization PassNFinalizeNumberTypeConversions
 Inferred type updated to byte in mul8u::$1 = mul8u::a#4 & 1
 Inferred type updated to byte in print_uchar::$2 = print_uchar::b#11 & $f
 Inferred type updated to byte in keyboard_key_pressed::$0 = keyboard_key_pressed::key#2 & 7
+Inferred type updated to word in initEntry::$1 = $1111 + initEntry::n#2
+Inferred type updated to word in initEntry::$3 = $2222 + initEntry::n#3
 Inferred type updated to word in initEntry::$5 = $3333 + initEntry::n#4
+Inferred type updated to word in initEntry::$7 = $4444 + initEntry::n#5
 Inferred type updated to byte in initEntry::$9 = $55 + initEntry::n#6
 Inferred type updated to byte in initEntry::$11 = $66 + initEntry::n#7
 Inferred type updated to byte in initEntry::$13 = $77 + initEntry::n#8
@@ -3227,65 +3236,65 @@ if() condition always false - eliminating [16] if(memset::num#0<=0) goto memset:
 Successful SSA optimization Pass2ConstantIfs
 Consolidated constant strings into main::str1
 Successful SSA optimization Pass2ConstantStringConsolidation
-Converting *(pointer+n) to pointer[n] [164] *initEntry::entryBufDisk1_return#0 = initEntry::$1  -- ((byte**)initEntry::entry#10)[0]
-Converting *(pointer+n) to pointer[n] [168] *initEntry::entryBufEdit1_return#0 = initEntry::$3  -- ((byte**)initEntry::entry#10)[2]
+Converting *(pointer+n) to pointer[n] [164] *initEntry::entryBufDisk1_return#0 = (byte*)initEntry::$1  -- ((byte**)initEntry::entry#10)[0]
+Converting *(pointer+n) to pointer[n] [168] *initEntry::entryBufEdit1_return#0 = (byte*)initEntry::$3  -- ((byte**)initEntry::entry#10)[2]
 Converting *(pointer+n) to pointer[n] [172] *initEntry::entryTsLen1_return#0 = initEntry::$5  -- ((word*)initEntry::entry#10)[4]
-Converting *(pointer+n) to pointer[n] [177] *initEntry::entryTsOrder1_return#0 = initEntry::$7  -- ((word**)initEntry::entry#10)[6]
-Converting *(pointer+n) to pointer[n] [180] *initEntry::entryTLastLink1_return#0 = initEntry::$9  -- initEntry::entry#10[8]
-Converting *(pointer+n) to pointer[n] [183] *initEntry::entrySLastLink1_return#0 = initEntry::$11  -- initEntry::entry#10[9]
-Converting *(pointer+n) to pointer[n] [186] *initEntry::entryBFlag1_return#0 = initEntry::$13  -- initEntry::entry#10[$a]
-Converting *(pointer+n) to pointer[n] [189] *initEntry::entryBError1_return#0 = initEntry::$15  -- initEntry::entry#10[$b]
-Converting *(pointer+n) to pointer[n] [193] *initEntry::entryUCross1_return#0 = initEntry::$17  -- ((word*)initEntry::entry#10)[$c]
-Converting *(pointer+n) to pointer[n] [196] *initEntry::entryBAddrLo1_return#0 = initEntry::$19  -- initEntry::entry#10[$e]
-Converting *(pointer+n) to pointer[n] [199] *initEntry::entryBAddrHi1_return#0 = initEntry::$21  -- initEntry::entry#10[$f]
-Converting *(pointer+n) to pointer[n] [202] *initEntry::entryTHi1_return#0 = initEntry::$23  -- initEntry::entry#10[$10]
-Converting *(pointer+n) to pointer[n] [205] *initEntry::entryTLo1_return#0 = initEntry::$25  -- initEntry::entry#10[$11]
-Converting *(pointer+n) to pointer[n] [213] print_uint::w#0 = (word)*printEntry::entryBufDisk1_return#0  -- ((byte**)printEntry::entry#10)[0]
-Converting *(pointer+n) to pointer[n] [223] print_uint::w#1 = (word)*printEntry::entryBufEdit1_return#0  -- ((byte**)printEntry::entry#10)[2]
-Converting *(pointer+n) to pointer[n] [233] print_uint::w#2 = *printEntry::entryTsLen1_return#0  -- ((word*)printEntry::entry#10)[4]
-Converting *(pointer+n) to pointer[n] [243] print_uint::w#3 = (word)*printEntry::entryTsOrder1_return#0  -- ((word**)printEntry::entry#10)[6]
-Converting *(pointer+n) to pointer[n] [252] print_uchar::b#2 = *printEntry::entryTLastLink1_return#0  -- printEntry::entry#10[8]
-Converting *(pointer+n) to pointer[n] [261] print_uchar::b#3 = *printEntry::entrySLastLink1_return#0  -- printEntry::entry#10[9]
-Converting *(pointer+n) to pointer[n] [270] print_uchar::b#4 = *printEntry::entryBFlag1_return#0  -- printEntry::entry#10[$a]
-Converting *(pointer+n) to pointer[n] [279] print_uchar::b#5 = *printEntry::entryBError1_return#0  -- printEntry::entry#10[$b]
-Converting *(pointer+n) to pointer[n] [289] print_uint::w#4 = *printEntry::entryUCross1_return#0  -- ((word*)printEntry::entry#10)[$c]
-Converting *(pointer+n) to pointer[n] [298] print_uchar::b#6 = *printEntry::entryBAddrLo1_return#0  -- printEntry::entry#10[$e]
-Converting *(pointer+n) to pointer[n] [307] print_uchar::b#7 = *printEntry::entryBAddrHi1_return#0  -- printEntry::entry#10[$f]
-Converting *(pointer+n) to pointer[n] [316] print_uchar::b#8 = *printEntry::entryTHi1_return#0  -- printEntry::entry#10[$10]
-Converting *(pointer+n) to pointer[n] [325] print_uchar::b#9 = *printEntry::entryTLo1_return#0  -- printEntry::entry#10[$11]
+Converting *(pointer+n) to pointer[n] [176] *initEntry::entryTsOrder1_return#0 = (word*)initEntry::$7  -- ((word**)initEntry::entry#10)[6]
+Converting *(pointer+n) to pointer[n] [179] *initEntry::entryTLastLink1_return#0 = initEntry::$9  -- initEntry::entry#10[8]
+Converting *(pointer+n) to pointer[n] [182] *initEntry::entrySLastLink1_return#0 = initEntry::$11  -- initEntry::entry#10[9]
+Converting *(pointer+n) to pointer[n] [185] *initEntry::entryBFlag1_return#0 = initEntry::$13  -- initEntry::entry#10[$a]
+Converting *(pointer+n) to pointer[n] [188] *initEntry::entryBError1_return#0 = initEntry::$15  -- initEntry::entry#10[$b]
+Converting *(pointer+n) to pointer[n] [192] *initEntry::entryUCross1_return#0 = initEntry::$17  -- ((word*)initEntry::entry#10)[$c]
+Converting *(pointer+n) to pointer[n] [195] *initEntry::entryBAddrLo1_return#0 = initEntry::$19  -- initEntry::entry#10[$e]
+Converting *(pointer+n) to pointer[n] [198] *initEntry::entryBAddrHi1_return#0 = initEntry::$21  -- initEntry::entry#10[$f]
+Converting *(pointer+n) to pointer[n] [201] *initEntry::entryTHi1_return#0 = initEntry::$23  -- initEntry::entry#10[$10]
+Converting *(pointer+n) to pointer[n] [204] *initEntry::entryTLo1_return#0 = initEntry::$25  -- initEntry::entry#10[$11]
+Converting *(pointer+n) to pointer[n] [212] print_uint::w#0 = (word)*printEntry::entryBufDisk1_return#0  -- ((byte**)printEntry::entry#10)[0]
+Converting *(pointer+n) to pointer[n] [222] print_uint::w#1 = (word)*printEntry::entryBufEdit1_return#0  -- ((byte**)printEntry::entry#10)[2]
+Converting *(pointer+n) to pointer[n] [232] print_uint::w#2 = *printEntry::entryTsLen1_return#0  -- ((word*)printEntry::entry#10)[4]
+Converting *(pointer+n) to pointer[n] [242] print_uint::w#3 = (word)*printEntry::entryTsOrder1_return#0  -- ((word**)printEntry::entry#10)[6]
+Converting *(pointer+n) to pointer[n] [251] print_uchar::b#2 = *printEntry::entryTLastLink1_return#0  -- printEntry::entry#10[8]
+Converting *(pointer+n) to pointer[n] [260] print_uchar::b#3 = *printEntry::entrySLastLink1_return#0  -- printEntry::entry#10[9]
+Converting *(pointer+n) to pointer[n] [269] print_uchar::b#4 = *printEntry::entryBFlag1_return#0  -- printEntry::entry#10[$a]
+Converting *(pointer+n) to pointer[n] [278] print_uchar::b#5 = *printEntry::entryBError1_return#0  -- printEntry::entry#10[$b]
+Converting *(pointer+n) to pointer[n] [288] print_uint::w#4 = *printEntry::entryUCross1_return#0  -- ((word*)printEntry::entry#10)[$c]
+Converting *(pointer+n) to pointer[n] [297] print_uchar::b#6 = *printEntry::entryBAddrLo1_return#0  -- printEntry::entry#10[$e]
+Converting *(pointer+n) to pointer[n] [306] print_uchar::b#7 = *printEntry::entryBAddrHi1_return#0  -- printEntry::entry#10[$f]
+Converting *(pointer+n) to pointer[n] [315] print_uchar::b#8 = *printEntry::entryTHi1_return#0  -- printEntry::entry#10[$10]
+Converting *(pointer+n) to pointer[n] [324] print_uchar::b#9 = *printEntry::entryTLo1_return#0  -- printEntry::entry#10[$11]
 Successful SSA optimization Pass2InlineDerefIdx
 Simplifying expression containing zero (byte*)CIA1 in [75] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0]
 Simplifying expression containing zero initEntry::entry#10 in [161] initEntry::entryBufDisk1_$0 = initEntry::entry#10 + 0
-Simplifying expression containing zero (byte**)initEntry::entry#10 in [164] ((byte**)initEntry::entry#10)[0] = initEntry::$1
-Simplifying expression containing zero printEntry::entry#10 in [211] printEntry::entryBufDisk1_$0 = printEntry::entry#10 + 0
-Simplifying expression containing zero (byte**)printEntry::entry#10 in [213] print_uint::w#0 = (word)((byte**)printEntry::entry#10)[0]
+Simplifying expression containing zero (byte**)initEntry::entry#10 in [164] ((byte**)initEntry::entry#10)[0] = (byte*)initEntry::$1
+Simplifying expression containing zero printEntry::entry#10 in [210] printEntry::entryBufDisk1_$0 = printEntry::entry#10 + 0
+Simplifying expression containing zero (byte**)printEntry::entry#10 in [212] print_uint::w#0 = (word)((byte**)printEntry::entry#10)[0]
 Successful SSA optimization PassNSimplifyExpressionWithZero
 Eliminating unused variable initEntry::entryBufDisk1_return#0 and assignment [105] initEntry::entryBufDisk1_return#0 = (byte**)initEntry::entryBufDisk1_$0
 Eliminating unused variable initEntry::entryBufEdit1_return#0 and assignment [109] initEntry::entryBufEdit1_return#0 = (byte**)initEntry::entryBufEdit1_$0
 Eliminating unused variable initEntry::entryTsLen1_return#0 and assignment [113] initEntry::entryTsLen1_return#0 = (word*)initEntry::entryTsLen1_$0
 Eliminating unused variable initEntry::entryTsOrder1_return#0 and assignment [117] initEntry::entryTsOrder1_return#0 = (word**)initEntry::entryTsOrder1_$0
-Eliminating unused variable initEntry::entryTLastLink1_return#0 and assignment [121] initEntry::entryTLastLink1_return#0 = initEntry::entry#10 + 8
-Eliminating unused variable initEntry::entrySLastLink1_return#0 and assignment [124] initEntry::entrySLastLink1_return#0 = initEntry::entry#10 + 9
-Eliminating unused variable initEntry::entryBFlag1_return#0 and assignment [127] initEntry::entryBFlag1_return#0 = initEntry::entry#10 + $a
-Eliminating unused variable initEntry::entryBError1_return#0 and assignment [130] initEntry::entryBError1_return#0 = initEntry::entry#10 + $b
-Eliminating unused variable initEntry::entryUCross1_return#0 and assignment [134] initEntry::entryUCross1_return#0 = (word*)initEntry::entryUCross1_$0
-Eliminating unused variable initEntry::entryBAddrLo1_return#0 and assignment [137] initEntry::entryBAddrLo1_return#0 = initEntry::entry#10 + $e
-Eliminating unused variable initEntry::entryBAddrHi1_return#0 and assignment [140] initEntry::entryBAddrHi1_return#0 = initEntry::entry#10 + $f
-Eliminating unused variable initEntry::entryTHi1_return#0 and assignment [143] initEntry::entryTHi1_return#0 = initEntry::entry#10 + $10
-Eliminating unused variable initEntry::entryTLo1_return#0 and assignment [146] initEntry::entryTLo1_return#0 = initEntry::entry#10 + $11
-Eliminating unused variable printEntry::entryBufDisk1_return#0 and assignment [153] printEntry::entryBufDisk1_return#0 = (byte**)printEntry::entryBufDisk1_$0
-Eliminating unused variable printEntry::entryBufEdit1_return#0 and assignment [159] printEntry::entryBufEdit1_return#0 = (byte**)printEntry::entryBufEdit1_$0
-Eliminating unused variable printEntry::entryTsLen1_return#0 and assignment [165] printEntry::entryTsLen1_return#0 = (word*)printEntry::entryTsLen1_$0
-Eliminating unused variable printEntry::entryTsOrder1_return#0 and assignment [171] printEntry::entryTsOrder1_return#0 = (word**)printEntry::entryTsOrder1_$0
-Eliminating unused variable printEntry::entryTLastLink1_return#0 and assignment [176] printEntry::entryTLastLink1_return#0 = printEntry::entry#10 + 8
-Eliminating unused variable printEntry::entrySLastLink1_return#0 and assignment [181] printEntry::entrySLastLink1_return#0 = printEntry::entry#10 + 9
-Eliminating unused variable printEntry::entryBFlag1_return#0 and assignment [186] printEntry::entryBFlag1_return#0 = printEntry::entry#10 + $a
-Eliminating unused variable printEntry::entryBError1_return#0 and assignment [191] printEntry::entryBError1_return#0 = printEntry::entry#10 + $b
-Eliminating unused variable printEntry::entryUCross1_return#0 and assignment [197] printEntry::entryUCross1_return#0 = (word*)printEntry::entryUCross1_$0
-Eliminating unused variable printEntry::entryBAddrLo1_return#0 and assignment [202] printEntry::entryBAddrLo1_return#0 = printEntry::entry#10 + $e
-Eliminating unused variable printEntry::entryBAddrHi1_return#0 and assignment [207] printEntry::entryBAddrHi1_return#0 = printEntry::entry#10 + $f
-Eliminating unused variable printEntry::entryTHi1_return#0 and assignment [212] printEntry::entryTHi1_return#0 = printEntry::entry#10 + $10
-Eliminating unused variable printEntry::entryTLo1_return#0 and assignment [217] printEntry::entryTLo1_return#0 = printEntry::entry#10 + $11
+Eliminating unused variable initEntry::entryTLastLink1_return#0 and assignment [120] initEntry::entryTLastLink1_return#0 = initEntry::entry#10 + 8
+Eliminating unused variable initEntry::entrySLastLink1_return#0 and assignment [123] initEntry::entrySLastLink1_return#0 = initEntry::entry#10 + 9
+Eliminating unused variable initEntry::entryBFlag1_return#0 and assignment [126] initEntry::entryBFlag1_return#0 = initEntry::entry#10 + $a
+Eliminating unused variable initEntry::entryBError1_return#0 and assignment [129] initEntry::entryBError1_return#0 = initEntry::entry#10 + $b
+Eliminating unused variable initEntry::entryUCross1_return#0 and assignment [133] initEntry::entryUCross1_return#0 = (word*)initEntry::entryUCross1_$0
+Eliminating unused variable initEntry::entryBAddrLo1_return#0 and assignment [136] initEntry::entryBAddrLo1_return#0 = initEntry::entry#10 + $e
+Eliminating unused variable initEntry::entryBAddrHi1_return#0 and assignment [139] initEntry::entryBAddrHi1_return#0 = initEntry::entry#10 + $f
+Eliminating unused variable initEntry::entryTHi1_return#0 and assignment [142] initEntry::entryTHi1_return#0 = initEntry::entry#10 + $10
+Eliminating unused variable initEntry::entryTLo1_return#0 and assignment [145] initEntry::entryTLo1_return#0 = initEntry::entry#10 + $11
+Eliminating unused variable printEntry::entryBufDisk1_return#0 and assignment [152] printEntry::entryBufDisk1_return#0 = (byte**)printEntry::entryBufDisk1_$0
+Eliminating unused variable printEntry::entryBufEdit1_return#0 and assignment [158] printEntry::entryBufEdit1_return#0 = (byte**)printEntry::entryBufEdit1_$0
+Eliminating unused variable printEntry::entryTsLen1_return#0 and assignment [164] printEntry::entryTsLen1_return#0 = (word*)printEntry::entryTsLen1_$0
+Eliminating unused variable printEntry::entryTsOrder1_return#0 and assignment [170] printEntry::entryTsOrder1_return#0 = (word**)printEntry::entryTsOrder1_$0
+Eliminating unused variable printEntry::entryTLastLink1_return#0 and assignment [175] printEntry::entryTLastLink1_return#0 = printEntry::entry#10 + 8
+Eliminating unused variable printEntry::entrySLastLink1_return#0 and assignment [180] printEntry::entrySLastLink1_return#0 = printEntry::entry#10 + 9
+Eliminating unused variable printEntry::entryBFlag1_return#0 and assignment [185] printEntry::entryBFlag1_return#0 = printEntry::entry#10 + $a
+Eliminating unused variable printEntry::entryBError1_return#0 and assignment [190] printEntry::entryBError1_return#0 = printEntry::entry#10 + $b
+Eliminating unused variable printEntry::entryUCross1_return#0 and assignment [196] printEntry::entryUCross1_return#0 = (word*)printEntry::entryUCross1_$0
+Eliminating unused variable printEntry::entryBAddrLo1_return#0 and assignment [201] printEntry::entryBAddrLo1_return#0 = printEntry::entry#10 + $e
+Eliminating unused variable printEntry::entryBAddrHi1_return#0 and assignment [206] printEntry::entryBAddrHi1_return#0 = printEntry::entry#10 + $f
+Eliminating unused variable printEntry::entryTHi1_return#0 and assignment [211] printEntry::entryTHi1_return#0 = printEntry::entry#10 + $10
+Eliminating unused variable printEntry::entryTLo1_return#0 and assignment [216] printEntry::entryTLo1_return#0 = printEntry::entry#10 + $11
 Eliminating unused constant memset::return#2
 Eliminating unused constant OFFSET_STRUCT_MOS6526_CIA_PORT_A
 Successful SSA optimization PassNEliminateUnusedVars
@@ -3293,12 +3302,12 @@ Eliminating unused variable initEntry::entryBufDisk1_$0 and assignment [104] ini
 Eliminating unused variable initEntry::entryBufEdit1_$0 and assignment [107] initEntry::entryBufEdit1_$0 = initEntry::entry#10 + 2
 Eliminating unused variable initEntry::entryTsLen1_$0 and assignment [110] initEntry::entryTsLen1_$0 = initEntry::entry#10 + 4
 Eliminating unused variable initEntry::entryTsOrder1_$0 and assignment [113] initEntry::entryTsOrder1_$0 = initEntry::entry#10 + 6
-Eliminating unused variable initEntry::entryUCross1_$0 and assignment [125] initEntry::entryUCross1_$0 = initEntry::entry#10 + $c
-Eliminating unused variable printEntry::entryBufDisk1_$0 and assignment [139] printEntry::entryBufDisk1_$0 = printEntry::entry#10
-Eliminating unused variable printEntry::entryBufEdit1_$0 and assignment [144] printEntry::entryBufEdit1_$0 = printEntry::entry#10 + 2
-Eliminating unused variable printEntry::entryTsLen1_$0 and assignment [149] printEntry::entryTsLen1_$0 = printEntry::entry#10 + 4
-Eliminating unused variable printEntry::entryTsOrder1_$0 and assignment [154] printEntry::entryTsOrder1_$0 = printEntry::entry#10 + 6
-Eliminating unused variable printEntry::entryUCross1_$0 and assignment [175] printEntry::entryUCross1_$0 = printEntry::entry#10 + $c
+Eliminating unused variable initEntry::entryUCross1_$0 and assignment [124] initEntry::entryUCross1_$0 = initEntry::entry#10 + $c
+Eliminating unused variable printEntry::entryBufDisk1_$0 and assignment [138] printEntry::entryBufDisk1_$0 = printEntry::entry#10
+Eliminating unused variable printEntry::entryBufEdit1_$0 and assignment [143] printEntry::entryBufEdit1_$0 = printEntry::entry#10 + 2
+Eliminating unused variable printEntry::entryTsLen1_$0 and assignment [148] printEntry::entryTsLen1_$0 = printEntry::entry#10 + 4
+Eliminating unused variable printEntry::entryTsOrder1_$0 and assignment [153] printEntry::entryTsOrder1_$0 = printEntry::entry#10 + 6
+Eliminating unused variable printEntry::entryUCross1_$0 and assignment [174] printEntry::entryUCross1_$0 = printEntry::entry#10 + $c
 Successful SSA optimization PassNEliminateUnusedVars
 Removing unused procedure __start
 Removing unused procedure block __start
@@ -3311,12 +3320,10 @@ Constant right-side identified [11] memset::end#0 = memset::$4 + memset::num#0
 Successful SSA optimization Pass2ConstantRValueConsolidation
 Constant memset::end#0 = memset::$4+memset::num#0
 Successful SSA optimization Pass2ConstantIdentification
-Inlining Noop Cast [133] print_uint::w#0 = (word)*((byte**)printEntry::entry#10) keeping *((byte**)printEntry::entry#10)
-Inlining Noop Cast [137] print_uint::w#1 = (word)((byte**)printEntry::entry#10)[2] keeping ((byte**)printEntry::entry#10)[2]
-Inlining Noop Cast [145] print_uint::w#3 = (word)((word**)printEntry::entry#10)[6] keeping ((word**)printEntry::entry#10)[6]
+Inlining Noop Cast [132] print_uint::w#0 = (word)*((byte**)printEntry::entry#10) keeping *((byte**)printEntry::entry#10)
+Inlining Noop Cast [136] print_uint::w#1 = (word)((byte**)printEntry::entry#10)[2] keeping ((byte**)printEntry::entry#10)[2]
+Inlining Noop Cast [144] print_uint::w#3 = (word)((word**)printEntry::entry#10)[6] keeping ((word**)printEntry::entry#10)[6]
 Successful SSA optimization Pass2NopCastInlining
-Rewriting multiplication to use shift [109] initEntry::$26 = initEntry::n#10 * SIZEOF_WORD
-Successful SSA optimization Pass2MultiplyToShiftRewriting
 Inlining constant with var siblings mul8u::res#0
 Inlining constant with var siblings mul8u::b#0
 Inlining constant with var siblings mul8u::b#1
@@ -3387,8 +3394,6 @@ Constant keyboard_key_pressed::rowidx#0 = KEY_SPACE>>3
 Successful SSA optimization Pass2ConstantIdentification
 Constant keyboard_matrix_read::rowid#0 = keyboard_key_pressed::rowidx#0
 Successful SSA optimization Pass2ConstantIdentification
-Eliminating unused constant SIZEOF_WORD
-Successful SSA optimization PassNEliminateUnusedVars
 Inlining constant with var siblings mul8u::mb#0
 Constant inlined mul8u::mb#0 = (word)SIZEOF_ENTRY
 Constant inlined keyboard_matrix_read::rowid#0 = keyboard_key_pressed::rowidx#0
@@ -3500,12 +3505,12 @@ Adding NOP phi() at start of print_uint::@2
 Adding NOP phi() at start of print_uchar::@2
 CALL GRAPH
 Calls in [main] to keyboard_init:1 mul8u:4 mul8u:11 initEntry:18 initEntry:21 print_cls:23 print_str:25 print_ln:27 print_ln:30 printEntry:33 print_ln:36 print_str:38 keyboard_key_pressed:41 print_cls:46 print_str:48 print_ln:50 print_ln:53 printEntry:56 print_ln:59 print_str:61 keyboard_key_pressed:64 print_cls:69 
-Calls in [print_cls] to memset:148 
-Calls in [print_str] to print_char:160 
-Calls in [printEntry] to print_str:174 print_uint:179 print_ln:182 print_str:184 print_uint:189 print_ln:192 print_str:194 print_uint:200 print_ln:203 print_str:205 print_uint:210 print_ln:213 print_str:215 print_uchar:222 print_ln:225 print_str:227 print_uchar:234 print_ln:237 print_str:239 print_uchar:246 print_ln:249 print_str:251 print_uchar:258 print_ln:261 print_str:263 print_uint:269 print_ln:272 print_str:274 print_uchar:281 print_ln:284 print_str:286 print_uchar:293 print_ln:296 print_str:298 print_uchar:305 print_ln:308 print_str:310 print_uchar:317 print_ln:320 
-Calls in [keyboard_key_pressed] to keyboard_matrix_read:324 
-Calls in [print_uint] to print_uchar:346 print_uchar:350 
-Calls in [print_uchar] to print_char:358 print_char:363 
+Calls in [print_cls] to memset:147 
+Calls in [print_str] to print_char:159 
+Calls in [printEntry] to print_str:173 print_uint:178 print_ln:181 print_str:183 print_uint:188 print_ln:191 print_str:193 print_uint:199 print_ln:202 print_str:204 print_uint:209 print_ln:212 print_str:214 print_uchar:221 print_ln:224 print_str:226 print_uchar:233 print_ln:236 print_str:238 print_uchar:245 print_ln:248 print_str:250 print_uchar:257 print_ln:260 print_str:262 print_uint:268 print_ln:271 print_str:273 print_uchar:280 print_ln:283 print_str:285 print_uchar:292 print_ln:295 print_str:297 print_uchar:304 print_ln:307 print_str:309 print_uchar:316 print_ln:319 
+Calls in [keyboard_key_pressed] to keyboard_matrix_read:323 
+Calls in [print_uint] to print_uchar:345 print_uchar:349 
+Calls in [print_uchar] to print_char:357 print_char:362 
 
 Created 21 initial phi equivalence classes
 Coalesced [17] initEntry::entry#40 = initEntry::entry#0
@@ -3530,80 +3535,80 @@ Coalesced [88] mul8u::a#9 = mul8u::a#0
 Coalesced [89] mul8u::res#7 = mul8u::res#6
 Coalesced [90] mul8u::mb#6 = mul8u::mb#1
 Coalesced (already) [91] mul8u::res#8 = mul8u::res#2
-Coalesced [152] print_str::str#22 = print_str::str#21
-Coalesced [153] print_char_cursor#224 = print_char_cursor#167
-Coalesced [158] print_char::ch#4 = print_char::ch#0
-Coalesced [159] print_char_cursor#255 = print_char_cursor#1
-Coalesced [162] print_str::str#23 = print_str::str#0
-Coalesced [163] print_char_cursor#225 = print_char_cursor#10
-Coalesced [165] print_line_cursor#172 = print_line_cursor#65
-Not coalescing [171] print_line_cursor#173 = print_line_cursor#0
-Not coalescing [173] print_char_cursor#211 = print_line_cursor#0
-Not coalescing [180] print_line_cursor#159 = print_line_cursor#0
-Coalesced (already) [181] print_char_cursor#232 = print_char_cursor#10
-Not coalescing [183] print_char_cursor#212 = print_line_cursor#0
-Not coalescing [190] print_line_cursor#160 = print_line_cursor#0
-Coalesced (already) [191] print_char_cursor#233 = print_char_cursor#10
-Not coalescing [193] print_char_cursor#213 = print_line_cursor#0
-Coalesced [199] print_uint::w#9 = print_uint::w#2
-Not coalescing [201] print_line_cursor#161 = print_line_cursor#0
-Coalesced (already) [202] print_char_cursor#234 = print_char_cursor#10
-Not coalescing [204] print_char_cursor#214 = print_line_cursor#0
-Not coalescing [211] print_line_cursor#162 = print_line_cursor#0
-Coalesced (already) [212] print_char_cursor#235 = print_char_cursor#10
-Not coalescing [214] print_char_cursor#215 = print_line_cursor#0
-Coalesced [220] print_uchar::b#16 = print_uchar::b#2
-Coalesced [221] print_char_cursor#249 = print_char_cursor#1
-Not coalescing [223] print_line_cursor#163 = print_line_cursor#0
-Coalesced (already) [224] print_char_cursor#236 = print_char_cursor#10
-Not coalescing [226] print_char_cursor#216 = print_line_cursor#0
-Coalesced [232] print_uchar::b#17 = print_uchar::b#3
-Coalesced (already) [233] print_char_cursor#250 = print_char_cursor#1
-Not coalescing [235] print_line_cursor#164 = print_line_cursor#0
-Coalesced (already) [236] print_char_cursor#237 = print_char_cursor#10
-Not coalescing [238] print_char_cursor#217 = print_line_cursor#0
-Coalesced [244] print_uchar::b#18 = print_uchar::b#4
-Coalesced (already) [245] print_char_cursor#251 = print_char_cursor#1
-Not coalescing [247] print_line_cursor#165 = print_line_cursor#0
-Coalesced (already) [248] print_char_cursor#238 = print_char_cursor#10
-Not coalescing [250] print_char_cursor#218 = print_line_cursor#0
-Coalesced [256] print_uchar::b#19 = print_uchar::b#5
-Coalesced (already) [257] print_char_cursor#252 = print_char_cursor#1
-Not coalescing [259] print_line_cursor#166 = print_line_cursor#0
-Coalesced (already) [260] print_char_cursor#239 = print_char_cursor#10
-Not coalescing [262] print_char_cursor#219 = print_line_cursor#0
-Coalesced [268] print_uint::w#11 = print_uint::w#4
-Not coalescing [270] print_line_cursor#167 = print_line_cursor#0
-Coalesced (already) [271] print_char_cursor#240 = print_char_cursor#10
-Not coalescing [273] print_char_cursor#220 = print_line_cursor#0
-Coalesced [279] print_uchar::b#12 = print_uchar::b#6
-Coalesced (already) [280] print_char_cursor#245 = print_char_cursor#1
-Not coalescing [282] print_line_cursor#168 = print_line_cursor#0
-Coalesced (already) [283] print_char_cursor#241 = print_char_cursor#10
-Not coalescing [285] print_char_cursor#221 = print_line_cursor#0
-Coalesced [291] print_uchar::b#13 = print_uchar::b#7
-Coalesced (already) [292] print_char_cursor#246 = print_char_cursor#1
-Not coalescing [294] print_line_cursor#169 = print_line_cursor#0
-Coalesced (already) [295] print_char_cursor#242 = print_char_cursor#10
-Not coalescing [297] print_char_cursor#222 = print_line_cursor#0
-Coalesced [303] print_uchar::b#14 = print_uchar::b#8
-Coalesced (already) [304] print_char_cursor#247 = print_char_cursor#1
-Not coalescing [306] print_line_cursor#170 = print_line_cursor#0
-Coalesced (already) [307] print_char_cursor#243 = print_char_cursor#10
-Not coalescing [309] print_char_cursor#223 = print_line_cursor#0
-Coalesced [315] print_uchar::b#15 = print_uchar::b#9
-Coalesced (already) [316] print_char_cursor#248 = print_char_cursor#1
-Not coalescing [318] print_line_cursor#171 = print_line_cursor#0
-Coalesced (already) [319] print_char_cursor#244 = print_char_cursor#10
-Coalesced [337] memset::dst#4 = memset::dst#1
-Coalesced [344] print_uchar::b#20 = print_uchar::b#0
-Coalesced (already) [345] print_char_cursor#253 = print_char_cursor#1
-Coalesced [348] print_uchar::b#21 = print_uchar::b#1
-Coalesced (already) [349] print_char_cursor#254 = print_char_cursor#10
-Coalesced [356] print_char::ch#5 = print_char::ch#1
-Coalesced (already) [357] print_char_cursor#256 = print_char_cursor#148
-Coalesced [361] print_char::ch#6 = print_char::ch#2
-Coalesced (already) [362] print_char_cursor#257 = print_char_cursor#10
+Coalesced [151] print_str::str#22 = print_str::str#21
+Coalesced [152] print_char_cursor#224 = print_char_cursor#167
+Coalesced [157] print_char::ch#4 = print_char::ch#0
+Coalesced [158] print_char_cursor#255 = print_char_cursor#1
+Coalesced [161] print_str::str#23 = print_str::str#0
+Coalesced [162] print_char_cursor#225 = print_char_cursor#10
+Coalesced [164] print_line_cursor#172 = print_line_cursor#65
+Not coalescing [170] print_line_cursor#173 = print_line_cursor#0
+Not coalescing [172] print_char_cursor#211 = print_line_cursor#0
+Not coalescing [179] print_line_cursor#159 = print_line_cursor#0
+Coalesced (already) [180] print_char_cursor#232 = print_char_cursor#10
+Not coalescing [182] print_char_cursor#212 = print_line_cursor#0
+Not coalescing [189] print_line_cursor#160 = print_line_cursor#0
+Coalesced (already) [190] print_char_cursor#233 = print_char_cursor#10
+Not coalescing [192] print_char_cursor#213 = print_line_cursor#0
+Coalesced [198] print_uint::w#9 = print_uint::w#2
+Not coalescing [200] print_line_cursor#161 = print_line_cursor#0
+Coalesced (already) [201] print_char_cursor#234 = print_char_cursor#10
+Not coalescing [203] print_char_cursor#214 = print_line_cursor#0
+Not coalescing [210] print_line_cursor#162 = print_line_cursor#0
+Coalesced (already) [211] print_char_cursor#235 = print_char_cursor#10
+Not coalescing [213] print_char_cursor#215 = print_line_cursor#0
+Coalesced [219] print_uchar::b#16 = print_uchar::b#2
+Coalesced [220] print_char_cursor#249 = print_char_cursor#1
+Not coalescing [222] print_line_cursor#163 = print_line_cursor#0
+Coalesced (already) [223] print_char_cursor#236 = print_char_cursor#10
+Not coalescing [225] print_char_cursor#216 = print_line_cursor#0
+Coalesced [231] print_uchar::b#17 = print_uchar::b#3
+Coalesced (already) [232] print_char_cursor#250 = print_char_cursor#1
+Not coalescing [234] print_line_cursor#164 = print_line_cursor#0
+Coalesced (already) [235] print_char_cursor#237 = print_char_cursor#10
+Not coalescing [237] print_char_cursor#217 = print_line_cursor#0
+Coalesced [243] print_uchar::b#18 = print_uchar::b#4
+Coalesced (already) [244] print_char_cursor#251 = print_char_cursor#1
+Not coalescing [246] print_line_cursor#165 = print_line_cursor#0
+Coalesced (already) [247] print_char_cursor#238 = print_char_cursor#10
+Not coalescing [249] print_char_cursor#218 = print_line_cursor#0
+Coalesced [255] print_uchar::b#19 = print_uchar::b#5
+Coalesced (already) [256] print_char_cursor#252 = print_char_cursor#1
+Not coalescing [258] print_line_cursor#166 = print_line_cursor#0
+Coalesced (already) [259] print_char_cursor#239 = print_char_cursor#10
+Not coalescing [261] print_char_cursor#219 = print_line_cursor#0
+Coalesced [267] print_uint::w#11 = print_uint::w#4
+Not coalescing [269] print_line_cursor#167 = print_line_cursor#0
+Coalesced (already) [270] print_char_cursor#240 = print_char_cursor#10
+Not coalescing [272] print_char_cursor#220 = print_line_cursor#0
+Coalesced [278] print_uchar::b#12 = print_uchar::b#6
+Coalesced (already) [279] print_char_cursor#245 = print_char_cursor#1
+Not coalescing [281] print_line_cursor#168 = print_line_cursor#0
+Coalesced (already) [282] print_char_cursor#241 = print_char_cursor#10
+Not coalescing [284] print_char_cursor#221 = print_line_cursor#0
+Coalesced [290] print_uchar::b#13 = print_uchar::b#7
+Coalesced (already) [291] print_char_cursor#246 = print_char_cursor#1
+Not coalescing [293] print_line_cursor#169 = print_line_cursor#0
+Coalesced (already) [294] print_char_cursor#242 = print_char_cursor#10
+Not coalescing [296] print_char_cursor#222 = print_line_cursor#0
+Coalesced [302] print_uchar::b#14 = print_uchar::b#8
+Coalesced (already) [303] print_char_cursor#247 = print_char_cursor#1
+Not coalescing [305] print_line_cursor#170 = print_line_cursor#0
+Coalesced (already) [306] print_char_cursor#243 = print_char_cursor#10
+Not coalescing [308] print_char_cursor#223 = print_line_cursor#0
+Coalesced [314] print_uchar::b#15 = print_uchar::b#9
+Coalesced (already) [315] print_char_cursor#248 = print_char_cursor#1
+Not coalescing [317] print_line_cursor#171 = print_line_cursor#0
+Coalesced (already) [318] print_char_cursor#244 = print_char_cursor#10
+Coalesced [336] memset::dst#4 = memset::dst#1
+Coalesced [343] print_uchar::b#20 = print_uchar::b#0
+Coalesced (already) [344] print_char_cursor#253 = print_char_cursor#1
+Coalesced [347] print_uchar::b#21 = print_uchar::b#1
+Coalesced (already) [348] print_char_cursor#254 = print_char_cursor#10
+Coalesced [355] print_char::ch#5 = print_char::ch#1
+Coalesced (already) [356] print_char_cursor#256 = print_char_cursor#148
+Coalesced [360] print_char::ch#6 = print_char::ch#2
+Coalesced (already) [361] print_char_cursor#257 = print_char_cursor#10
 Coalesced down to 14 phi equivalence classes
 Culled Empty Block label main::@7
 Culled Empty Block label main::fileEntry1_@return
@@ -3914,15 +3919,15 @@ initEntry::entryBufDisk1: scope:[initEntry]  from initEntry
   [75] phi()
   to:initEntry::@1
 initEntry::@1: scope:[initEntry]  from initEntry::entryBufDisk1
-  [76] initEntry::$1 = (byte*) 4369 + initEntry::n#10
-  [77] *((byte**)initEntry::entry#10) = initEntry::$1
+  [76] initEntry::$1 = $1111 + initEntry::n#10
+  [77] *((byte**)initEntry::entry#10) = (byte*)initEntry::$1
   to:initEntry::entryBufEdit1
 initEntry::entryBufEdit1: scope:[initEntry]  from initEntry::@1
   [78] phi()
   to:initEntry::@2
 initEntry::@2: scope:[initEntry]  from initEntry::entryBufEdit1
-  [79] initEntry::$3 = (byte*) 8738 + initEntry::n#10
-  [80] ((byte**)initEntry::entry#10)[2] = initEntry::$3
+  [79] initEntry::$3 = $2222 + initEntry::n#10
+  [80] ((byte**)initEntry::entry#10)[2] = (byte*)initEntry::$3
   to:initEntry::entryTsLen1
 initEntry::entryTsLen1: scope:[initEntry]  from initEntry::@2
   [81] phi()
@@ -3935,410 +3940,409 @@ initEntry::entryTsOrder1: scope:[initEntry]  from initEntry::@3
   [84] phi()
   to:initEntry::@4
 initEntry::@4: scope:[initEntry]  from initEntry::entryTsOrder1
-  [85] initEntry::$26 = initEntry::n#10 << 1
-  [86] initEntry::$7 = (word*) 17476 + initEntry::$26
-  [87] ((word**)initEntry::entry#10)[6] = initEntry::$7
+  [85] initEntry::$7 = $4444 + initEntry::n#10
+  [86] ((word**)initEntry::entry#10)[6] = (word*)initEntry::$7
   to:initEntry::entryTLastLink1
 initEntry::entryTLastLink1: scope:[initEntry]  from initEntry::@4
-  [88] phi()
+  [87] phi()
   to:initEntry::@5
 initEntry::@5: scope:[initEntry]  from initEntry::entryTLastLink1
-  [89] initEntry::$9 = $55 + initEntry::n#10
-  [90] initEntry::entry#10[8] = initEntry::$9
+  [88] initEntry::$9 = $55 + initEntry::n#10
+  [89] initEntry::entry#10[8] = initEntry::$9
   to:initEntry::entrySLastLink1
 initEntry::entrySLastLink1: scope:[initEntry]  from initEntry::@5
-  [91] phi()
+  [90] phi()
   to:initEntry::@6
 initEntry::@6: scope:[initEntry]  from initEntry::entrySLastLink1
-  [92] initEntry::$11 = $66 + initEntry::n#10
-  [93] initEntry::entry#10[9] = initEntry::$11
+  [91] initEntry::$11 = $66 + initEntry::n#10
+  [92] initEntry::entry#10[9] = initEntry::$11
   to:initEntry::entryBFlag1
 initEntry::entryBFlag1: scope:[initEntry]  from initEntry::@6
-  [94] phi()
+  [93] phi()
   to:initEntry::@7
 initEntry::@7: scope:[initEntry]  from initEntry::entryBFlag1
-  [95] initEntry::$13 = $77 + initEntry::n#10
-  [96] initEntry::entry#10[$a] = initEntry::$13
+  [94] initEntry::$13 = $77 + initEntry::n#10
+  [95] initEntry::entry#10[$a] = initEntry::$13
   to:initEntry::entryBError1
 initEntry::entryBError1: scope:[initEntry]  from initEntry::@7
-  [97] phi()
+  [96] phi()
   to:initEntry::@8
 initEntry::@8: scope:[initEntry]  from initEntry::entryBError1
-  [98] initEntry::$15 = $88 + initEntry::n#10
-  [99] initEntry::entry#10[$b] = initEntry::$15
+  [97] initEntry::$15 = $88 + initEntry::n#10
+  [98] initEntry::entry#10[$b] = initEntry::$15
   to:initEntry::entryUCross1
 initEntry::entryUCross1: scope:[initEntry]  from initEntry::@8
-  [100] phi()
+  [99] phi()
   to:initEntry::@9
 initEntry::@9: scope:[initEntry]  from initEntry::entryUCross1
-  [101] initEntry::$17 = $9999 + initEntry::n#10
-  [102] ((word*)initEntry::entry#10)[$c] = initEntry::$17
+  [100] initEntry::$17 = $9999 + initEntry::n#10
+  [101] ((word*)initEntry::entry#10)[$c] = initEntry::$17
   to:initEntry::entryBAddrLo1
 initEntry::entryBAddrLo1: scope:[initEntry]  from initEntry::@9
-  [103] phi()
+  [102] phi()
   to:initEntry::@10
 initEntry::@10: scope:[initEntry]  from initEntry::entryBAddrLo1
-  [104] initEntry::$19 = $aa + initEntry::n#10
-  [105] initEntry::entry#10[$e] = initEntry::$19
+  [103] initEntry::$19 = $aa + initEntry::n#10
+  [104] initEntry::entry#10[$e] = initEntry::$19
   to:initEntry::entryBAddrHi1
 initEntry::entryBAddrHi1: scope:[initEntry]  from initEntry::@10
-  [106] phi()
+  [105] phi()
   to:initEntry::@11
 initEntry::@11: scope:[initEntry]  from initEntry::entryBAddrHi1
-  [107] initEntry::$21 = $bb + initEntry::n#10
-  [108] initEntry::entry#10[$f] = initEntry::$21
+  [106] initEntry::$21 = $bb + initEntry::n#10
+  [107] initEntry::entry#10[$f] = initEntry::$21
   to:initEntry::entryTHi1
 initEntry::entryTHi1: scope:[initEntry]  from initEntry::@11
-  [109] phi()
+  [108] phi()
   to:initEntry::@12
 initEntry::@12: scope:[initEntry]  from initEntry::entryTHi1
-  [110] initEntry::$23 = $cc + initEntry::n#10
-  [111] initEntry::entry#10[$10] = initEntry::$23
+  [109] initEntry::$23 = $cc + initEntry::n#10
+  [110] initEntry::entry#10[$10] = initEntry::$23
   to:initEntry::entryTLo1
 initEntry::entryTLo1: scope:[initEntry]  from initEntry::@12
-  [112] phi()
+  [111] phi()
   to:initEntry::@13
 initEntry::@13: scope:[initEntry]  from initEntry::entryTLo1
-  [113] initEntry::$25 = $dd + initEntry::n#10
-  [114] initEntry::entry#10[$11] = initEntry::$25
+  [112] initEntry::$25 = $dd + initEntry::n#10
+  [113] initEntry::entry#10[$11] = initEntry::$25
   to:initEntry::@return
 initEntry::@return: scope:[initEntry]  from initEntry::@13
-  [115] return 
+  [114] return 
   to:@return
 
 void print_cls()
 print_cls: scope:[print_cls]  from main::@2 main::@4 main::@9
-  [116] phi()
-  [117] call memset 
+  [115] phi()
+  [116] call memset 
   to:print_cls::@return
 print_cls::@return: scope:[print_cls]  from print_cls
-  [118] return 
+  [117] return 
   to:@return
 
 void print_str(byte* print_str::str)
 print_str: scope:[print_str]  from main::@10 main::@15 main::@17 main::@22 printEntry printEntry::@15 printEntry::@17 printEntry::@19 printEntry::@21 printEntry::@23 printEntry::@25 printEntry::@27 printEntry::@29 printEntry::@31 printEntry::@33 printEntry::@35 printEntry::@37
-  [119] print_char_cursor#167 = phi( main::@10/print_screen#0, main::@15/print_char_cursor#209, main::@17/print_screen#0, main::@22/print_char_cursor#210, printEntry/print_char_cursor#211, printEntry::@15/print_char_cursor#212, printEntry::@17/print_char_cursor#213, printEntry::@19/print_char_cursor#214, printEntry::@21/print_char_cursor#215, printEntry::@23/print_char_cursor#216, printEntry::@25/print_char_cursor#217, printEntry::@27/print_char_cursor#218, printEntry::@29/print_char_cursor#219, printEntry::@31/print_char_cursor#220, printEntry::@33/print_char_cursor#221, printEntry::@35/print_char_cursor#222, printEntry::@37/print_char_cursor#223 )
-  [119] print_str::str#21 = phi( main::@10/main::str, main::@15/main::str1, main::@17/main::str2, main::@22/main::str1, printEntry/printEntry::str, printEntry::@15/printEntry::str1, printEntry::@17/printEntry::str2, printEntry::@19/printEntry::str3, printEntry::@21/printEntry::str4, printEntry::@23/printEntry::str5, printEntry::@25/printEntry::str6, printEntry::@27/printEntry::str7, printEntry::@29/printEntry::str8, printEntry::@31/printEntry::str9, printEntry::@33/printEntry::str10, printEntry::@35/printEntry::str11, printEntry::@37/printEntry::str12 )
+  [118] print_char_cursor#167 = phi( main::@10/print_screen#0, main::@15/print_char_cursor#209, main::@17/print_screen#0, main::@22/print_char_cursor#210, printEntry/print_char_cursor#211, printEntry::@15/print_char_cursor#212, printEntry::@17/print_char_cursor#213, printEntry::@19/print_char_cursor#214, printEntry::@21/print_char_cursor#215, printEntry::@23/print_char_cursor#216, printEntry::@25/print_char_cursor#217, printEntry::@27/print_char_cursor#218, printEntry::@29/print_char_cursor#219, printEntry::@31/print_char_cursor#220, printEntry::@33/print_char_cursor#221, printEntry::@35/print_char_cursor#222, printEntry::@37/print_char_cursor#223 )
+  [118] print_str::str#21 = phi( main::@10/main::str, main::@15/main::str1, main::@17/main::str2, main::@22/main::str1, printEntry/printEntry::str, printEntry::@15/printEntry::str1, printEntry::@17/printEntry::str2, printEntry::@19/printEntry::str3, printEntry::@21/printEntry::str4, printEntry::@23/printEntry::str5, printEntry::@25/printEntry::str6, printEntry::@27/printEntry::str7, printEntry::@29/printEntry::str8, printEntry::@31/printEntry::str9, printEntry::@33/printEntry::str10, printEntry::@35/printEntry::str11, printEntry::@37/printEntry::str12 )
   to:print_str::@1
 print_str::@1: scope:[print_str]  from print_str print_str::@3
-  [120] print_char_cursor#1 = phi( print_str/print_char_cursor#167, print_str::@3/print_char_cursor#10 )
-  [120] print_str::str#18 = phi( print_str/print_str::str#21, print_str::@3/print_str::str#0 )
-  [121] if(0!=*print_str::str#18) goto print_str::@2
+  [119] print_char_cursor#1 = phi( print_str/print_char_cursor#167, print_str::@3/print_char_cursor#10 )
+  [119] print_str::str#18 = phi( print_str/print_str::str#21, print_str::@3/print_str::str#0 )
+  [120] if(0!=*print_str::str#18) goto print_str::@2
   to:print_str::@return
 print_str::@return: scope:[print_str]  from print_str::@1
-  [122] return 
+  [121] return 
   to:@return
 print_str::@2: scope:[print_str]  from print_str::@1
-  [123] print_char::ch#0 = *print_str::str#18
-  [124] call print_char 
+  [122] print_char::ch#0 = *print_str::str#18
+  [123] call print_char 
   to:print_str::@3
 print_str::@3: scope:[print_str]  from print_str::@2
-  [125] print_str::str#0 = ++ print_str::str#18
+  [124] print_str::str#0 = ++ print_str::str#18
   to:print_str::@1
 
 void print_ln()
 print_ln: scope:[print_ln]  from main::@11 main::@12 main::@14 main::@18 main::@19 main::@21 printEntry::@14 printEntry::@16 printEntry::@18 printEntry::@20 printEntry::@22 printEntry::@24 printEntry::@26 printEntry::@28 printEntry::@30 printEntry::@32 printEntry::@34 printEntry::@36 printEntry::@38
-  [126] print_char_cursor#146 = phi( main::@11/print_char_cursor#1, main::@12/print_char_cursor#227, main::@14/print_char_cursor#228, main::@18/print_char_cursor#1, main::@19/print_char_cursor#230, main::@21/print_char_cursor#231, printEntry::@14/print_char_cursor#10, printEntry::@16/print_char_cursor#10, printEntry::@18/print_char_cursor#10, printEntry::@20/print_char_cursor#10, printEntry::@22/print_char_cursor#10, printEntry::@24/print_char_cursor#10, printEntry::@26/print_char_cursor#10, printEntry::@28/print_char_cursor#10, printEntry::@30/print_char_cursor#10, printEntry::@32/print_char_cursor#10, printEntry::@34/print_char_cursor#10, printEntry::@36/print_char_cursor#10, printEntry::@38/print_char_cursor#10 )
-  [126] print_line_cursor#65 = phi( main::@11/print_screen#0, main::@12/print_line_cursor#155, main::@14/print_line_cursor#156, main::@18/print_screen#0, main::@19/print_line_cursor#157, main::@21/print_line_cursor#158, printEntry::@14/print_line_cursor#159, printEntry::@16/print_line_cursor#160, printEntry::@18/print_line_cursor#161, printEntry::@20/print_line_cursor#162, printEntry::@22/print_line_cursor#163, printEntry::@24/print_line_cursor#164, printEntry::@26/print_line_cursor#165, printEntry::@28/print_line_cursor#166, printEntry::@30/print_line_cursor#167, printEntry::@32/print_line_cursor#168, printEntry::@34/print_line_cursor#169, printEntry::@36/print_line_cursor#170, printEntry::@38/print_line_cursor#171 )
+  [125] print_char_cursor#146 = phi( main::@11/print_char_cursor#1, main::@12/print_char_cursor#227, main::@14/print_char_cursor#228, main::@18/print_char_cursor#1, main::@19/print_char_cursor#230, main::@21/print_char_cursor#231, printEntry::@14/print_char_cursor#10, printEntry::@16/print_char_cursor#10, printEntry::@18/print_char_cursor#10, printEntry::@20/print_char_cursor#10, printEntry::@22/print_char_cursor#10, printEntry::@24/print_char_cursor#10, printEntry::@26/print_char_cursor#10, printEntry::@28/print_char_cursor#10, printEntry::@30/print_char_cursor#10, printEntry::@32/print_char_cursor#10, printEntry::@34/print_char_cursor#10, printEntry::@36/print_char_cursor#10, printEntry::@38/print_char_cursor#10 )
+  [125] print_line_cursor#65 = phi( main::@11/print_screen#0, main::@12/print_line_cursor#155, main::@14/print_line_cursor#156, main::@18/print_screen#0, main::@19/print_line_cursor#157, main::@21/print_line_cursor#158, printEntry::@14/print_line_cursor#159, printEntry::@16/print_line_cursor#160, printEntry::@18/print_line_cursor#161, printEntry::@20/print_line_cursor#162, printEntry::@22/print_line_cursor#163, printEntry::@24/print_line_cursor#164, printEntry::@26/print_line_cursor#165, printEntry::@28/print_line_cursor#166, printEntry::@30/print_line_cursor#167, printEntry::@32/print_line_cursor#168, printEntry::@34/print_line_cursor#169, printEntry::@36/print_line_cursor#170, printEntry::@38/print_line_cursor#171 )
   to:print_ln::@1
 print_ln::@1: scope:[print_ln]  from print_ln print_ln::@2
-  [127] print_line_cursor#33 = phi( print_ln/print_line_cursor#65, print_ln::@2/print_line_cursor#173 )
-  [128] print_line_cursor#0 = print_line_cursor#33 + $28
-  [129] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2
+  [126] print_line_cursor#33 = phi( print_ln/print_line_cursor#65, print_ln::@2/print_line_cursor#173 )
+  [127] print_line_cursor#0 = print_line_cursor#33 + $28
+  [128] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2
   to:print_ln::@return
 print_ln::@return: scope:[print_ln]  from print_ln::@1
-  [130] return 
+  [129] return 
   to:@return
 print_ln::@2: scope:[print_ln]  from print_ln::@1
-  [131] print_line_cursor#173 = print_line_cursor#0
+  [130] print_line_cursor#173 = print_line_cursor#0
   to:print_ln::@1
 
 void printEntry(byte* printEntry::entry)
 printEntry: scope:[printEntry]  from main::@13 main::@20
-  [132] printEntry::entry#10 = phi( main::@13/printEntry::entry#0, main::@20/printEntry::entry#1 )
-  [133] print_char_cursor#211 = print_line_cursor#0
-  [134] call print_str 
+  [131] printEntry::entry#10 = phi( main::@13/printEntry::entry#0, main::@20/printEntry::entry#1 )
+  [132] print_char_cursor#211 = print_line_cursor#0
+  [133] call print_str 
   to:printEntry::entryBufDisk1
 printEntry::entryBufDisk1: scope:[printEntry]  from printEntry
-  [135] phi()
+  [134] phi()
   to:printEntry::@1
 printEntry::@1: scope:[printEntry]  from printEntry::entryBufDisk1
-  [136] print_uint::w#7 = (word)*((byte**)printEntry::entry#10)
-  [137] call print_uint 
+  [135] print_uint::w#7 = (word)*((byte**)printEntry::entry#10)
+  [136] call print_uint 
   to:printEntry::@14
 printEntry::@14: scope:[printEntry]  from printEntry::@1
-  [138] print_line_cursor#159 = print_line_cursor#0
-  [139] call print_ln 
+  [137] print_line_cursor#159 = print_line_cursor#0
+  [138] call print_ln 
   to:printEntry::@15
 printEntry::@15: scope:[printEntry]  from printEntry::@14
-  [140] print_char_cursor#212 = print_line_cursor#0
-  [141] call print_str 
+  [139] print_char_cursor#212 = print_line_cursor#0
+  [140] call print_str 
   to:printEntry::entryBufEdit1
 printEntry::entryBufEdit1: scope:[printEntry]  from printEntry::@15
-  [142] phi()
+  [141] phi()
   to:printEntry::@2
 printEntry::@2: scope:[printEntry]  from printEntry::entryBufEdit1
-  [143] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2]
-  [144] call print_uint 
+  [142] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2]
+  [143] call print_uint 
   to:printEntry::@16
 printEntry::@16: scope:[printEntry]  from printEntry::@2
-  [145] print_line_cursor#160 = print_line_cursor#0
-  [146] call print_ln 
+  [144] print_line_cursor#160 = print_line_cursor#0
+  [145] call print_ln 
   to:printEntry::@17
 printEntry::@17: scope:[printEntry]  from printEntry::@16
-  [147] print_char_cursor#213 = print_line_cursor#0
-  [148] call print_str 
+  [146] print_char_cursor#213 = print_line_cursor#0
+  [147] call print_str 
   to:printEntry::entryTsLen1
 printEntry::entryTsLen1: scope:[printEntry]  from printEntry::@17
-  [149] phi()
+  [148] phi()
   to:printEntry::@3
 printEntry::@3: scope:[printEntry]  from printEntry::entryTsLen1
-  [150] print_uint::w#2 = ((word*)printEntry::entry#10)[4]
-  [151] call print_uint 
+  [149] print_uint::w#2 = ((word*)printEntry::entry#10)[4]
+  [150] call print_uint 
   to:printEntry::@18
 printEntry::@18: scope:[printEntry]  from printEntry::@3
-  [152] print_line_cursor#161 = print_line_cursor#0
-  [153] call print_ln 
+  [151] print_line_cursor#161 = print_line_cursor#0
+  [152] call print_ln 
   to:printEntry::@19
 printEntry::@19: scope:[printEntry]  from printEntry::@18
-  [154] print_char_cursor#214 = print_line_cursor#0
-  [155] call print_str 
+  [153] print_char_cursor#214 = print_line_cursor#0
+  [154] call print_str 
   to:printEntry::entryTsOrder1
 printEntry::entryTsOrder1: scope:[printEntry]  from printEntry::@19
-  [156] phi()
+  [155] phi()
   to:printEntry::@4
 printEntry::@4: scope:[printEntry]  from printEntry::entryTsOrder1
-  [157] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6]
-  [158] call print_uint 
+  [156] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6]
+  [157] call print_uint 
   to:printEntry::@20
 printEntry::@20: scope:[printEntry]  from printEntry::@4
-  [159] print_line_cursor#162 = print_line_cursor#0
-  [160] call print_ln 
+  [158] print_line_cursor#162 = print_line_cursor#0
+  [159] call print_ln 
   to:printEntry::@21
 printEntry::@21: scope:[printEntry]  from printEntry::@20
-  [161] print_char_cursor#215 = print_line_cursor#0
-  [162] call print_str 
+  [160] print_char_cursor#215 = print_line_cursor#0
+  [161] call print_str 
   to:printEntry::entryTLastLink1
 printEntry::entryTLastLink1: scope:[printEntry]  from printEntry::@21
-  [163] phi()
+  [162] phi()
   to:printEntry::@5
 printEntry::@5: scope:[printEntry]  from printEntry::entryTLastLink1
-  [164] print_uchar::b#2 = printEntry::entry#10[8]
-  [165] call print_uchar 
+  [163] print_uchar::b#2 = printEntry::entry#10[8]
+  [164] call print_uchar 
   to:printEntry::@22
 printEntry::@22: scope:[printEntry]  from printEntry::@5
-  [166] print_line_cursor#163 = print_line_cursor#0
-  [167] call print_ln 
+  [165] print_line_cursor#163 = print_line_cursor#0
+  [166] call print_ln 
   to:printEntry::@23
 printEntry::@23: scope:[printEntry]  from printEntry::@22
-  [168] print_char_cursor#216 = print_line_cursor#0
-  [169] call print_str 
+  [167] print_char_cursor#216 = print_line_cursor#0
+  [168] call print_str 
   to:printEntry::entrySLastLink1
 printEntry::entrySLastLink1: scope:[printEntry]  from printEntry::@23
-  [170] phi()
+  [169] phi()
   to:printEntry::@6
 printEntry::@6: scope:[printEntry]  from printEntry::entrySLastLink1
-  [171] print_uchar::b#3 = printEntry::entry#10[9]
-  [172] call print_uchar 
+  [170] print_uchar::b#3 = printEntry::entry#10[9]
+  [171] call print_uchar 
   to:printEntry::@24
 printEntry::@24: scope:[printEntry]  from printEntry::@6
-  [173] print_line_cursor#164 = print_line_cursor#0
-  [174] call print_ln 
+  [172] print_line_cursor#164 = print_line_cursor#0
+  [173] call print_ln 
   to:printEntry::@25
 printEntry::@25: scope:[printEntry]  from printEntry::@24
-  [175] print_char_cursor#217 = print_line_cursor#0
-  [176] call print_str 
+  [174] print_char_cursor#217 = print_line_cursor#0
+  [175] call print_str 
   to:printEntry::entryBFlag1
 printEntry::entryBFlag1: scope:[printEntry]  from printEntry::@25
-  [177] phi()
+  [176] phi()
   to:printEntry::@7
 printEntry::@7: scope:[printEntry]  from printEntry::entryBFlag1
-  [178] print_uchar::b#4 = printEntry::entry#10[$a]
-  [179] call print_uchar 
+  [177] print_uchar::b#4 = printEntry::entry#10[$a]
+  [178] call print_uchar 
   to:printEntry::@26
 printEntry::@26: scope:[printEntry]  from printEntry::@7
-  [180] print_line_cursor#165 = print_line_cursor#0
-  [181] call print_ln 
+  [179] print_line_cursor#165 = print_line_cursor#0
+  [180] call print_ln 
   to:printEntry::@27
 printEntry::@27: scope:[printEntry]  from printEntry::@26
-  [182] print_char_cursor#218 = print_line_cursor#0
-  [183] call print_str 
+  [181] print_char_cursor#218 = print_line_cursor#0
+  [182] call print_str 
   to:printEntry::entryBError1
 printEntry::entryBError1: scope:[printEntry]  from printEntry::@27
-  [184] phi()
+  [183] phi()
   to:printEntry::@8
 printEntry::@8: scope:[printEntry]  from printEntry::entryBError1
-  [185] print_uchar::b#5 = printEntry::entry#10[$b]
-  [186] call print_uchar 
+  [184] print_uchar::b#5 = printEntry::entry#10[$b]
+  [185] call print_uchar 
   to:printEntry::@28
 printEntry::@28: scope:[printEntry]  from printEntry::@8
-  [187] print_line_cursor#166 = print_line_cursor#0
-  [188] call print_ln 
+  [186] print_line_cursor#166 = print_line_cursor#0
+  [187] call print_ln 
   to:printEntry::@29
 printEntry::@29: scope:[printEntry]  from printEntry::@28
-  [189] print_char_cursor#219 = print_line_cursor#0
-  [190] call print_str 
+  [188] print_char_cursor#219 = print_line_cursor#0
+  [189] call print_str 
   to:printEntry::entryUCross1
 printEntry::entryUCross1: scope:[printEntry]  from printEntry::@29
-  [191] phi()
+  [190] phi()
   to:printEntry::@9
 printEntry::@9: scope:[printEntry]  from printEntry::entryUCross1
-  [192] print_uint::w#4 = ((word*)printEntry::entry#10)[$c]
-  [193] call print_uint 
+  [191] print_uint::w#4 = ((word*)printEntry::entry#10)[$c]
+  [192] call print_uint 
   to:printEntry::@30
 printEntry::@30: scope:[printEntry]  from printEntry::@9
-  [194] print_line_cursor#167 = print_line_cursor#0
-  [195] call print_ln 
+  [193] print_line_cursor#167 = print_line_cursor#0
+  [194] call print_ln 
   to:printEntry::@31
 printEntry::@31: scope:[printEntry]  from printEntry::@30
-  [196] print_char_cursor#220 = print_line_cursor#0
-  [197] call print_str 
+  [195] print_char_cursor#220 = print_line_cursor#0
+  [196] call print_str 
   to:printEntry::entryBAddrLo1
 printEntry::entryBAddrLo1: scope:[printEntry]  from printEntry::@31
-  [198] phi()
+  [197] phi()
   to:printEntry::@10
 printEntry::@10: scope:[printEntry]  from printEntry::entryBAddrLo1
-  [199] print_uchar::b#6 = printEntry::entry#10[$e]
-  [200] call print_uchar 
+  [198] print_uchar::b#6 = printEntry::entry#10[$e]
+  [199] call print_uchar 
   to:printEntry::@32
 printEntry::@32: scope:[printEntry]  from printEntry::@10
-  [201] print_line_cursor#168 = print_line_cursor#0
-  [202] call print_ln 
+  [200] print_line_cursor#168 = print_line_cursor#0
+  [201] call print_ln 
   to:printEntry::@33
 printEntry::@33: scope:[printEntry]  from printEntry::@32
-  [203] print_char_cursor#221 = print_line_cursor#0
-  [204] call print_str 
+  [202] print_char_cursor#221 = print_line_cursor#0
+  [203] call print_str 
   to:printEntry::entryBAddrHi1
 printEntry::entryBAddrHi1: scope:[printEntry]  from printEntry::@33
-  [205] phi()
+  [204] phi()
   to:printEntry::@11
 printEntry::@11: scope:[printEntry]  from printEntry::entryBAddrHi1
-  [206] print_uchar::b#7 = printEntry::entry#10[$f]
-  [207] call print_uchar 
+  [205] print_uchar::b#7 = printEntry::entry#10[$f]
+  [206] call print_uchar 
   to:printEntry::@34
 printEntry::@34: scope:[printEntry]  from printEntry::@11
-  [208] print_line_cursor#169 = print_line_cursor#0
-  [209] call print_ln 
+  [207] print_line_cursor#169 = print_line_cursor#0
+  [208] call print_ln 
   to:printEntry::@35
 printEntry::@35: scope:[printEntry]  from printEntry::@34
-  [210] print_char_cursor#222 = print_line_cursor#0
-  [211] call print_str 
+  [209] print_char_cursor#222 = print_line_cursor#0
+  [210] call print_str 
   to:printEntry::entryTHi1
 printEntry::entryTHi1: scope:[printEntry]  from printEntry::@35
-  [212] phi()
+  [211] phi()
   to:printEntry::@12
 printEntry::@12: scope:[printEntry]  from printEntry::entryTHi1
-  [213] print_uchar::b#8 = printEntry::entry#10[$10]
-  [214] call print_uchar 
+  [212] print_uchar::b#8 = printEntry::entry#10[$10]
+  [213] call print_uchar 
   to:printEntry::@36
 printEntry::@36: scope:[printEntry]  from printEntry::@12
-  [215] print_line_cursor#170 = print_line_cursor#0
-  [216] call print_ln 
+  [214] print_line_cursor#170 = print_line_cursor#0
+  [215] call print_ln 
   to:printEntry::@37
 printEntry::@37: scope:[printEntry]  from printEntry::@36
-  [217] print_char_cursor#223 = print_line_cursor#0
-  [218] call print_str 
+  [216] print_char_cursor#223 = print_line_cursor#0
+  [217] call print_str 
   to:printEntry::entryTLo1
 printEntry::entryTLo1: scope:[printEntry]  from printEntry::@37
-  [219] phi()
+  [218] phi()
   to:printEntry::@13
 printEntry::@13: scope:[printEntry]  from printEntry::entryTLo1
-  [220] print_uchar::b#9 = printEntry::entry#10[$11]
-  [221] call print_uchar 
+  [219] print_uchar::b#9 = printEntry::entry#10[$11]
+  [220] call print_uchar 
   to:printEntry::@38
 printEntry::@38: scope:[printEntry]  from printEntry::@13
-  [222] print_line_cursor#171 = print_line_cursor#0
-  [223] call print_ln 
+  [221] print_line_cursor#171 = print_line_cursor#0
+  [222] call print_ln 
   to:printEntry::@return
 printEntry::@return: scope:[printEntry]  from printEntry::@38
-  [224] return 
+  [223] return 
   to:@return
 
 byte keyboard_key_pressed(byte keyboard_key_pressed::key)
 keyboard_key_pressed: scope:[keyboard_key_pressed]  from main::@1 main::@3
-  [225] phi()
-  [226] call keyboard_matrix_read 
-  [227] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
+  [224] phi()
+  [225] call keyboard_matrix_read 
+  [226] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
   to:keyboard_key_pressed::@1
 keyboard_key_pressed::@1: scope:[keyboard_key_pressed]  from keyboard_key_pressed
-  [228] keyboard_key_pressed::$2 = keyboard_matrix_read::return#2
-  [229] keyboard_key_pressed::return#0 = keyboard_key_pressed::$2 & *(keyboard_matrix_col_bitmask+keyboard_key_pressed::colidx#0)
+  [227] keyboard_key_pressed::$2 = keyboard_matrix_read::return#2
+  [228] keyboard_key_pressed::return#0 = keyboard_key_pressed::$2 & *(keyboard_matrix_col_bitmask+keyboard_key_pressed::colidx#0)
   to:keyboard_key_pressed::@return
 keyboard_key_pressed::@return: scope:[keyboard_key_pressed]  from keyboard_key_pressed::@1
-  [230] return 
+  [229] return 
   to:@return
 
 void* memset(void* memset::str , byte memset::c , word memset::num)
 memset: scope:[memset]  from print_cls
-  [231] phi()
+  [230] phi()
   to:memset::@1
 memset::@1: scope:[memset]  from memset memset::@2
-  [232] memset::dst#2 = phi( memset/(byte*)memset::str#0, memset::@2/memset::dst#1 )
-  [233] if(memset::dst#2!=memset::end#0) goto memset::@2
+  [231] memset::dst#2 = phi( memset/(byte*)memset::str#0, memset::@2/memset::dst#1 )
+  [232] if(memset::dst#2!=memset::end#0) goto memset::@2
   to:memset::@return
 memset::@return: scope:[memset]  from memset::@1
-  [234] return 
+  [233] return 
   to:@return
 memset::@2: scope:[memset]  from memset::@1
-  [235] *memset::dst#2 = memset::c#0
-  [236] memset::dst#1 = ++ memset::dst#2
+  [234] *memset::dst#2 = memset::c#0
+  [235] memset::dst#1 = ++ memset::dst#2
   to:memset::@1
 
 void print_char(byte print_char::ch)
 print_char: scope:[print_char]  from print_str::@2 print_uchar print_uchar::@1
-  [237] print_char_cursor#83 = phi( print_str::@2/print_char_cursor#1, print_uchar/print_char_cursor#148, print_uchar::@1/print_char_cursor#10 )
-  [237] print_char::ch#3 = phi( print_str::@2/print_char::ch#0, print_uchar/print_char::ch#1, print_uchar::@1/print_char::ch#2 )
-  [238] *print_char_cursor#83 = print_char::ch#3
-  [239] print_char_cursor#10 = ++ print_char_cursor#83
+  [236] print_char_cursor#83 = phi( print_str::@2/print_char_cursor#1, print_uchar/print_char_cursor#148, print_uchar::@1/print_char_cursor#10 )
+  [236] print_char::ch#3 = phi( print_str::@2/print_char::ch#0, print_uchar/print_char::ch#1, print_uchar::@1/print_char::ch#2 )
+  [237] *print_char_cursor#83 = print_char::ch#3
+  [238] print_char_cursor#10 = ++ print_char_cursor#83
   to:print_char::@return
 print_char::@return: scope:[print_char]  from print_char
-  [240] return 
+  [239] return 
   to:@return
 
 void print_uint(word print_uint::w)
 print_uint: scope:[print_uint]  from printEntry::@1 printEntry::@2 printEntry::@3 printEntry::@4 printEntry::@9
-  [241] print_uint::w#5 = phi( printEntry::@1/print_uint::w#7, printEntry::@2/print_uint::w#8, printEntry::@3/print_uint::w#2, printEntry::@4/print_uint::w#10, printEntry::@9/print_uint::w#4 )
-  [242] print_uchar::b#0 = > print_uint::w#5
-  [243] call print_uchar 
+  [240] print_uint::w#5 = phi( printEntry::@1/print_uint::w#7, printEntry::@2/print_uint::w#8, printEntry::@3/print_uint::w#2, printEntry::@4/print_uint::w#10, printEntry::@9/print_uint::w#4 )
+  [241] print_uchar::b#0 = > print_uint::w#5
+  [242] call print_uchar 
   to:print_uint::@1
 print_uint::@1: scope:[print_uint]  from print_uint
-  [244] print_uchar::b#1 = < print_uint::w#5
-  [245] call print_uchar 
+  [243] print_uchar::b#1 = < print_uint::w#5
+  [244] call print_uchar 
   to:print_uint::@return
 print_uint::@return: scope:[print_uint]  from print_uint::@1
-  [246] return 
+  [245] return 
   to:@return
 
 void print_uchar(byte print_uchar::b)
 print_uchar: scope:[print_uchar]  from printEntry::@10 printEntry::@11 printEntry::@12 printEntry::@13 printEntry::@5 printEntry::@6 printEntry::@7 printEntry::@8 print_uint print_uint::@1
-  [247] print_char_cursor#148 = phi( printEntry::@10/print_char_cursor#1, printEntry::@11/print_char_cursor#1, printEntry::@12/print_char_cursor#1, printEntry::@13/print_char_cursor#1, printEntry::@5/print_char_cursor#1, printEntry::@6/print_char_cursor#1, printEntry::@7/print_char_cursor#1, printEntry::@8/print_char_cursor#1, print_uint/print_char_cursor#1, print_uint::@1/print_char_cursor#10 )
-  [247] print_uchar::b#10 = phi( printEntry::@10/print_uchar::b#6, printEntry::@11/print_uchar::b#7, printEntry::@12/print_uchar::b#8, printEntry::@13/print_uchar::b#9, printEntry::@5/print_uchar::b#2, printEntry::@6/print_uchar::b#3, printEntry::@7/print_uchar::b#4, printEntry::@8/print_uchar::b#5, print_uint/print_uchar::b#0, print_uint::@1/print_uchar::b#1 )
-  [248] print_uchar::$0 = print_uchar::b#10 >> 4
-  [249] print_char::ch#1 = print_hextab[print_uchar::$0]
-  [250] call print_char 
+  [246] print_char_cursor#148 = phi( printEntry::@10/print_char_cursor#1, printEntry::@11/print_char_cursor#1, printEntry::@12/print_char_cursor#1, printEntry::@13/print_char_cursor#1, printEntry::@5/print_char_cursor#1, printEntry::@6/print_char_cursor#1, printEntry::@7/print_char_cursor#1, printEntry::@8/print_char_cursor#1, print_uint/print_char_cursor#1, print_uint::@1/print_char_cursor#10 )
+  [246] print_uchar::b#10 = phi( printEntry::@10/print_uchar::b#6, printEntry::@11/print_uchar::b#7, printEntry::@12/print_uchar::b#8, printEntry::@13/print_uchar::b#9, printEntry::@5/print_uchar::b#2, printEntry::@6/print_uchar::b#3, printEntry::@7/print_uchar::b#4, printEntry::@8/print_uchar::b#5, print_uint/print_uchar::b#0, print_uint::@1/print_uchar::b#1 )
+  [247] print_uchar::$0 = print_uchar::b#10 >> 4
+  [248] print_char::ch#1 = print_hextab[print_uchar::$0]
+  [249] call print_char 
   to:print_uchar::@1
 print_uchar::@1: scope:[print_uchar]  from print_uchar
-  [251] print_uchar::$2 = print_uchar::b#10 & $f
-  [252] print_char::ch#2 = print_hextab[print_uchar::$2]
-  [253] call print_char 
+  [250] print_uchar::$2 = print_uchar::b#10 & $f
+  [251] print_char::ch#2 = print_hextab[print_uchar::$2]
+  [252] call print_char 
   to:print_uchar::@return
 print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
-  [254] return 
+  [253] return 
   to:@return
 
 byte keyboard_matrix_read(byte keyboard_matrix_read::rowid)
 keyboard_matrix_read: scope:[keyboard_matrix_read]  from keyboard_key_pressed
-  [255] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0)
-  [256] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B)
+  [254] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0)
+  [255] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B)
   to:keyboard_matrix_read::@return
 keyboard_matrix_read::@return: scope:[keyboard_matrix_read]  from keyboard_matrix_read
-  [257] return 
+  [256] return 
   to:@return
 
 
 VARIABLE REGISTER WEIGHTS
 void initEntry(byte* initEntry::entry , byte initEntry::n)
-byte*~ initEntry::$1 22.0
+word~ initEntry::$1 11.0
 byte~ initEntry::$11 22.0
 byte~ initEntry::$13 22.0
 byte~ initEntry::$15 22.0
@@ -4347,15 +4351,14 @@ byte~ initEntry::$19 22.0
 byte~ initEntry::$21 22.0
 byte~ initEntry::$23 22.0
 byte~ initEntry::$25 22.0
-byte~ initEntry::$26 22.0
-byte*~ initEntry::$3 22.0
+word~ initEntry::$3 11.0
 word~ initEntry::$5 22.0
-word*~ initEntry::$7 22.0
+word~ initEntry::$7 11.0
 byte~ initEntry::$9 22.0
 byte* initEntry::entry
 byte* initEntry::entry#0 4.0
 byte* initEntry::entry#1 4.0
-byte* initEntry::entry#10 2.3
+byte* initEntry::entry#10 2.3589743589743586
 byte* initEntry::entryBAddrHi1_entry
 byte* initEntry::entryBAddrHi1_return
 byte* initEntry::entryBAddrLo1_entry
@@ -4383,7 +4386,7 @@ word** initEntry::entryTsOrder1_return
 byte* initEntry::entryUCross1_entry
 word* initEntry::entryUCross1_return
 byte initEntry::n
-byte initEntry::n#10 3.6666666666666656
+byte initEntry::n#10 3.7631578947368434
 void keyboard_init()
 byte keyboard_key_pressed(byte keyboard_key_pressed::key)
 byte~ keyboard_key_pressed::$2 202.0
@@ -4584,7 +4587,6 @@ Added variable mul8u::$1 to live range equivalence class [ mul8u::$1 ]
 Added variable initEntry::$1 to live range equivalence class [ initEntry::$1 ]
 Added variable initEntry::$3 to live range equivalence class [ initEntry::$3 ]
 Added variable initEntry::$5 to live range equivalence class [ initEntry::$5 ]
-Added variable initEntry::$26 to live range equivalence class [ initEntry::$26 ]
 Added variable initEntry::$7 to live range equivalence class [ initEntry::$7 ]
 Added variable initEntry::$9 to live range equivalence class [ initEntry::$9 ]
 Added variable initEntry::$11 to live range equivalence class [ initEntry::$11 ]
@@ -4630,7 +4632,6 @@ Complete equivalence classes
 [ initEntry::$1 ]
 [ initEntry::$3 ]
 [ initEntry::$5 ]
-[ initEntry::$26 ]
 [ initEntry::$7 ]
 [ initEntry::$9 ]
 [ initEntry::$11 ]
@@ -4675,24 +4676,23 @@ Allocated zp[1]:40 [ mul8u::$1 ]
 Allocated zp[2]:41 [ initEntry::$1 ]
 Allocated zp[2]:43 [ initEntry::$3 ]
 Allocated zp[2]:45 [ initEntry::$5 ]
-Allocated zp[1]:47 [ initEntry::$26 ]
-Allocated zp[2]:48 [ initEntry::$7 ]
-Allocated zp[1]:50 [ initEntry::$9 ]
-Allocated zp[1]:51 [ initEntry::$11 ]
-Allocated zp[1]:52 [ initEntry::$13 ]
-Allocated zp[1]:53 [ initEntry::$15 ]
-Allocated zp[2]:54 [ initEntry::$17 ]
-Allocated zp[1]:56 [ initEntry::$19 ]
-Allocated zp[1]:57 [ initEntry::$21 ]
-Allocated zp[1]:58 [ initEntry::$23 ]
-Allocated zp[1]:59 [ initEntry::$25 ]
-Allocated zp[2]:60 [ print_line_cursor#0 ]
-Allocated zp[1]:62 [ keyboard_matrix_read::return#2 ]
-Allocated zp[1]:63 [ keyboard_key_pressed::$2 ]
-Allocated zp[1]:64 [ keyboard_key_pressed::return#0 ]
-Allocated zp[1]:65 [ print_uchar::$0 ]
-Allocated zp[1]:66 [ print_uchar::$2 ]
-Allocated zp[1]:67 [ keyboard_matrix_read::return#0 ]
+Allocated zp[2]:47 [ initEntry::$7 ]
+Allocated zp[1]:49 [ initEntry::$9 ]
+Allocated zp[1]:50 [ initEntry::$11 ]
+Allocated zp[1]:51 [ initEntry::$13 ]
+Allocated zp[1]:52 [ initEntry::$15 ]
+Allocated zp[2]:53 [ initEntry::$17 ]
+Allocated zp[1]:55 [ initEntry::$19 ]
+Allocated zp[1]:56 [ initEntry::$21 ]
+Allocated zp[1]:57 [ initEntry::$23 ]
+Allocated zp[1]:58 [ initEntry::$25 ]
+Allocated zp[2]:59 [ print_line_cursor#0 ]
+Allocated zp[1]:61 [ keyboard_matrix_read::return#2 ]
+Allocated zp[1]:62 [ keyboard_key_pressed::$2 ]
+Allocated zp[1]:63 [ keyboard_key_pressed::return#0 ]
+Allocated zp[1]:64 [ print_uchar::$0 ]
+Allocated zp[1]:65 [ print_uchar::$2 ]
+Allocated zp[1]:66 [ keyboard_matrix_read::return#0 ]
 REGISTER UPLIFT POTENTIAL REGISTERS
 Statement [4] mul8u::return#2 = mul8u::res#2 [ mul8u::return#2 ] (  [ mul8u::return#2 ] { { mul8u::return#2 = mul8u::res#2 } }  ) always clobbers reg byte a 
 Statement [5] main::fileEntry1_$0 = mul8u::return#2 [ main::fileEntry1_$0 ] (  [ main::fileEntry1_$0 ] { }  ) always clobbers reg byte a 
@@ -4718,88 +4718,87 @@ Statement [61] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = $ff [ ] ( k
 Statement [62] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B_DDR) = 0 [ ] ( keyboard_init:1 [ ] { }  ) always clobbers reg byte a 
 Statement [70] mul8u::res#1 = mul8u::res#2 + mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( mul8u:3 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] { { mul8u::return#2 = mul8u::res#2 } }  mul8u:8 [ main::entry1#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] { { mul8u::return#3 = mul8u::res#2 } }  ) always clobbers reg byte a 
 Removing always clobbered register reg byte a as potential for zp[1]:2 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ]
-Statement [76] initEntry::$1 = (byte*) 4369 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$1 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$1 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$1 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [76] initEntry::$1 = $1111 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$1 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$1 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$1 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
 Removing always clobbered register reg byte a as potential for zp[1]:9 [ initEntry::n#10 ]
-Statement [77] *((byte**)initEntry::entry#10) = initEntry::$1 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
+Statement [77] *((byte**)initEntry::entry#10) = (byte*)initEntry::$1 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
 Removing always clobbered register reg byte y as potential for zp[1]:9 [ initEntry::n#10 ]
-Statement [79] initEntry::$3 = (byte*) 8738 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$3 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$3 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$3 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [80] ((byte**)initEntry::entry#10)[2] = initEntry::$3 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
+Statement [79] initEntry::$3 = $2222 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$3 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$3 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$3 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [80] ((byte**)initEntry::entry#10)[2] = (byte*)initEntry::$3 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
 Statement [82] initEntry::$5 = $3333 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$5 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$5 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$5 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
 Statement [83] ((word*)initEntry::entry#10)[4] = initEntry::$5 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
-Statement [85] initEntry::$26 = initEntry::n#10 << 1 [ initEntry::entry#10 initEntry::n#10 initEntry::$26 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$26 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$26 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [86] initEntry::$7 = (word*) 17476 + initEntry::$26 [ initEntry::entry#10 initEntry::n#10 initEntry::$7 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$7 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$7 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [87] ((word**)initEntry::entry#10)[6] = initEntry::$7 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
-Statement [89] initEntry::$9 = $55 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$9 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$9 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$9 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [90] initEntry::entry#10[8] = initEntry::$9 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [92] initEntry::$11 = $66 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$11 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$11 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$11 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [93] initEntry::entry#10[9] = initEntry::$11 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [95] initEntry::$13 = $77 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$13 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$13 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$13 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [96] initEntry::entry#10[$a] = initEntry::$13 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [98] initEntry::$15 = $88 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$15 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$15 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$15 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [99] initEntry::entry#10[$b] = initEntry::$15 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [101] initEntry::$17 = $9999 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$17 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$17 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$17 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [102] ((word*)initEntry::entry#10)[$c] = initEntry::$17 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
-Statement [104] initEntry::$19 = $aa + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$19 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$19 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$19 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [105] initEntry::entry#10[$e] = initEntry::$19 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [107] initEntry::$21 = $bb + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$21 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$21 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$21 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [108] initEntry::entry#10[$f] = initEntry::$21 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [110] initEntry::$23 = $cc + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$23 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$23 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$23 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [111] initEntry::entry#10[$10] = initEntry::$23 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [113] initEntry::$25 = $dd + initEntry::n#10 [ initEntry::entry#10 initEntry::$25 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::$25 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::$25 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [114] initEntry::entry#10[$11] = initEntry::$25 [ ] ( initEntry:13 [ main::entry1#0 main::entry2#0 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [121] if(0!=*print_str::str#18) goto print_str::@2 [ print_str::str#18 print_char_cursor#1 ] ( print_str:19 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#1 ] { }  print_str:31 [ main::entry2#0 print_str::str#18 print_char_cursor#1 ] { { print_char_cursor#167 = print_char_cursor#209 } }  print_str:40 [ main::entry2#0 print_str::str#18 print_char_cursor#1 ] { }  print_str:52 [ print_str::str#18 print_char_cursor#1 ] { { print_char_cursor#167 = print_char_cursor#210 } }  printEntry:26::print_str:134 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:47::print_str:134 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:26::print_str:141 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:47::print_str:141 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:26::print_str:148 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:47::print_str:148 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:26::print_str:155 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:47::print_str:155 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:26::print_str:162 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:47::print_str:162 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:26::print_str:169 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:47::print_str:169 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:26::print_str:176 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:47::print_str:176 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:26::print_str:183 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:47::print_str:183 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:26::print_str:190 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:47::print_str:190 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:26::print_str:197 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:47::print_str:197 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:26::print_str:204 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:47::print_str:204 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:26::print_str:211 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:47::print_str:211 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:26::print_str:218 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } }  printEntry:47::print_str:218 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } }  ) always clobbers reg byte a reg byte y 
-Statement [123] print_char::ch#0 = *print_str::str#18 [ print_str::str#18 print_char_cursor#1 print_char::ch#0 ] ( print_str:19 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:31 [ main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#167 = print_char_cursor#209 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:40 [ main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:52 [ print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#167 = print_char_cursor#210 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:134 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:134 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:141 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:141 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:148 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:148 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:155 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:155 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:162 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:162 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:169 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:169 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:176 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:176 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:183 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:183 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:190 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:190 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:197 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:197 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:204 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:204 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:211 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:211 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:218 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:218 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  ) always clobbers reg byte a reg byte y 
-Statement [128] print_line_cursor#0 = print_line_cursor#33 + $28 [ print_line_cursor#0 print_char_cursor#146 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:139 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:139 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:146 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:146 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:153 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:153 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:160 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:160 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:167 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:167 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:174 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:174 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:181 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:181 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:188 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:188 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:195 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:195 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:202 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:202 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:209 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:209 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:216 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:216 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:223 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:223 [ print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [129] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2 [ print_line_cursor#0 print_char_cursor#146 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:139 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:139 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:146 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:146 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:153 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:153 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:160 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:160 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:167 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:167 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:174 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:174 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:181 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:181 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:188 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:188 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:195 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:195 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:202 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:202 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:209 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:209 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:216 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:216 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:223 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:223 [ print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [131] print_line_cursor#173 = print_line_cursor#0 [ print_char_cursor#146 print_line_cursor#173 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:139 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:139 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:146 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:146 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:153 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:153 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:160 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:160 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:167 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:167 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:174 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:174 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:181 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:181 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:188 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:188 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:195 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:195 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:202 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:202 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:209 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:209 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:216 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:216 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:223 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:223 [ print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [133] print_char_cursor#211 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } }  ) always clobbers reg byte a 
-Statement [136] print_uint::w#7 = (word)*((byte**)printEntry::entry#10) [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } }  ) always clobbers reg byte a reg byte y 
-Statement [138] print_line_cursor#159 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [140] print_char_cursor#212 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } }  ) always clobbers reg byte a 
-Statement [143] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } }  ) always clobbers reg byte a reg byte y 
-Statement [145] print_line_cursor#160 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [147] print_char_cursor#213 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } }  ) always clobbers reg byte a 
-Statement [150] print_uint::w#2 = ((word*)printEntry::entry#10)[4] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
-Statement [152] print_line_cursor#161 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [154] print_char_cursor#214 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } }  ) always clobbers reg byte a 
-Statement [157] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
-Statement [159] print_line_cursor#162 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [161] print_char_cursor#215 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } }  ) always clobbers reg byte a 
-Statement [164] print_uchar::b#2 = printEntry::entry#10[8] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [166] print_line_cursor#163 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [168] print_char_cursor#216 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } }  ) always clobbers reg byte a 
-Statement [171] print_uchar::b#3 = printEntry::entry#10[9] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [173] print_line_cursor#164 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [175] print_char_cursor#217 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } }  ) always clobbers reg byte a 
-Statement [178] print_uchar::b#4 = printEntry::entry#10[$a] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [180] print_line_cursor#165 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [182] print_char_cursor#218 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } }  ) always clobbers reg byte a 
-Statement [185] print_uchar::b#5 = printEntry::entry#10[$b] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [187] print_line_cursor#166 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [189] print_char_cursor#219 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } }  ) always clobbers reg byte a 
-Statement [192] print_uint::w#4 = ((word*)printEntry::entry#10)[$c] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
-Statement [194] print_line_cursor#167 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [196] print_char_cursor#220 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } }  ) always clobbers reg byte a 
-Statement [199] print_uchar::b#6 = printEntry::entry#10[$e] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [201] print_line_cursor#168 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [203] print_char_cursor#221 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } }  ) always clobbers reg byte a 
-Statement [206] print_uchar::b#7 = printEntry::entry#10[$f] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [208] print_line_cursor#169 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [210] print_char_cursor#222 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } }  ) always clobbers reg byte a 
-Statement [213] print_uchar::b#8 = printEntry::entry#10[$10] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [215] print_line_cursor#170 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [217] print_char_cursor#223 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } }  ) always clobbers reg byte a 
-Statement [220] print_uchar::b#9 = printEntry::entry#10[$11] [ print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [222] print_line_cursor#171 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#171 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#171 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#171 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [233] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:17::memset:117 [ main::entry1#0 main::entry2#0 memset::dst#2 ] { }  print_cls:38::memset:117 [ main::entry2#0 memset::dst#2 ] { }  print_cls:59::memset:117 [ memset::dst#2 ] { }  ) always clobbers reg byte a 
-Statement [235] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( print_cls:17::memset:117 [ main::entry1#0 main::entry2#0 memset::dst#2 ] { }  print_cls:38::memset:117 [ main::entry2#0 memset::dst#2 ] { }  print_cls:59::memset:117 [ memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
-Statement [238] *print_char_cursor#83 = print_char::ch#3 [ print_char_cursor#83 ] ( print_str:19::print_char:124 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:31::print_char:124 [ main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char_cursor#167 = print_char_cursor#209 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:40::print_char:124 [ main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:52::print_char:124 [ print_str::str#18 print_char_cursor#83 ] { { print_char_cursor#167 = print_char_cursor#210 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:134::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:134::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:141::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:141::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:148::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:148::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:155::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:155::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:162::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:162::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:169::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:169::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:176::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:176::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:183::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:183::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:190::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:190::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:197::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:197::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:204::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:204::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:211::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:211::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:218::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:218::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_uchar:165::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:165::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:172::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:172::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:179::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:179::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:186::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:186::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:200::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:200::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:207::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:207::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:214::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:214::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:221::print_char:250 [ main::entry2#0 print_line_cursor#0 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:221::print_char:250 [ print_line_cursor#0 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:137::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:137::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:165::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:165::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:172::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:172::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:179::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:179::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:186::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:186::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:200::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:200::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:207::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:207::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:214::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:214::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:221::print_char:253 [ main::entry2#0 print_line_cursor#0 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:221::print_char:253 [ print_line_cursor#0 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:137::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:137::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:144::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:144::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:151::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:151::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:158::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:158::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:193::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:193::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:137::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  ) always clobbers reg byte y 
+Statement [85] initEntry::$7 = $4444 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$7 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$7 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$7 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [86] ((word**)initEntry::entry#10)[6] = (word*)initEntry::$7 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
+Statement [88] initEntry::$9 = $55 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$9 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$9 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$9 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [89] initEntry::entry#10[8] = initEntry::$9 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [91] initEntry::$11 = $66 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$11 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$11 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$11 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [92] initEntry::entry#10[9] = initEntry::$11 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [94] initEntry::$13 = $77 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$13 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$13 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$13 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [95] initEntry::entry#10[$a] = initEntry::$13 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [97] initEntry::$15 = $88 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$15 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$15 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$15 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [98] initEntry::entry#10[$b] = initEntry::$15 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [100] initEntry::$17 = $9999 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$17 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$17 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$17 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [101] ((word*)initEntry::entry#10)[$c] = initEntry::$17 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
+Statement [103] initEntry::$19 = $aa + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$19 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$19 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$19 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [104] initEntry::entry#10[$e] = initEntry::$19 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [106] initEntry::$21 = $bb + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$21 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$21 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$21 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [107] initEntry::entry#10[$f] = initEntry::$21 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [109] initEntry::$23 = $cc + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$23 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$23 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$23 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [110] initEntry::entry#10[$10] = initEntry::$23 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [112] initEntry::$25 = $dd + initEntry::n#10 [ initEntry::entry#10 initEntry::$25 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::$25 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::$25 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [113] initEntry::entry#10[$11] = initEntry::$25 [ ] ( initEntry:13 [ main::entry1#0 main::entry2#0 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [120] if(0!=*print_str::str#18) goto print_str::@2 [ print_str::str#18 print_char_cursor#1 ] ( print_str:19 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#1 ] { }  print_str:31 [ main::entry2#0 print_str::str#18 print_char_cursor#1 ] { { print_char_cursor#167 = print_char_cursor#209 } }  print_str:40 [ main::entry2#0 print_str::str#18 print_char_cursor#1 ] { }  print_str:52 [ print_str::str#18 print_char_cursor#1 ] { { print_char_cursor#167 = print_char_cursor#210 } }  printEntry:26::print_str:133 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:47::print_str:133 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:26::print_str:140 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:47::print_str:140 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:26::print_str:147 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:47::print_str:147 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:26::print_str:154 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:47::print_str:154 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:26::print_str:161 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:47::print_str:161 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:26::print_str:168 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:47::print_str:168 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:26::print_str:175 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:47::print_str:175 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:26::print_str:182 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:47::print_str:182 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:26::print_str:189 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:47::print_str:189 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:26::print_str:196 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:47::print_str:196 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:26::print_str:203 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:47::print_str:203 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:26::print_str:210 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:47::print_str:210 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:26::print_str:217 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } }  printEntry:47::print_str:217 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } }  ) always clobbers reg byte a reg byte y 
+Statement [122] print_char::ch#0 = *print_str::str#18 [ print_str::str#18 print_char_cursor#1 print_char::ch#0 ] ( print_str:19 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:31 [ main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#167 = print_char_cursor#209 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:40 [ main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:52 [ print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#167 = print_char_cursor#210 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:133 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:133 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:140 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:140 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:147 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:147 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:154 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:154 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:161 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:161 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:168 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:168 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:175 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:175 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:182 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:182 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:189 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:189 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:196 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:196 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:203 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:203 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:210 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:210 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:217 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:217 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  ) always clobbers reg byte a reg byte y 
+Statement [127] print_line_cursor#0 = print_line_cursor#33 + $28 [ print_line_cursor#0 print_char_cursor#146 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:138 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:138 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:145 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:145 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:152 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:152 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:159 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:159 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:166 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:166 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:173 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:173 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:180 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:180 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:187 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:187 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:194 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:194 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:201 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:201 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:208 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:208 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:215 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:215 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:222 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:222 [ print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [128] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2 [ print_line_cursor#0 print_char_cursor#146 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:138 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:138 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:145 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:145 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:152 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:152 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:159 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:159 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:166 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:166 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:173 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:173 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:180 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:180 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:187 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:187 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:194 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:194 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:201 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:201 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:208 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:208 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:215 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:215 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:222 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:222 [ print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [130] print_line_cursor#173 = print_line_cursor#0 [ print_char_cursor#146 print_line_cursor#173 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:138 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:138 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:145 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:145 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:152 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:152 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:159 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:159 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:166 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:166 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:173 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:173 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:180 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:180 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:187 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:187 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:194 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:194 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:201 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:201 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:208 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:208 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:215 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:215 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:222 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:222 [ print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [132] print_char_cursor#211 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } }  ) always clobbers reg byte a 
+Statement [135] print_uint::w#7 = (word)*((byte**)printEntry::entry#10) [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } }  ) always clobbers reg byte a reg byte y 
+Statement [137] print_line_cursor#159 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [139] print_char_cursor#212 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } }  ) always clobbers reg byte a 
+Statement [142] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } }  ) always clobbers reg byte a reg byte y 
+Statement [144] print_line_cursor#160 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [146] print_char_cursor#213 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } }  ) always clobbers reg byte a 
+Statement [149] print_uint::w#2 = ((word*)printEntry::entry#10)[4] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
+Statement [151] print_line_cursor#161 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [153] print_char_cursor#214 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } }  ) always clobbers reg byte a 
+Statement [156] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
+Statement [158] print_line_cursor#162 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [160] print_char_cursor#215 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } }  ) always clobbers reg byte a 
+Statement [163] print_uchar::b#2 = printEntry::entry#10[8] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [165] print_line_cursor#163 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [167] print_char_cursor#216 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } }  ) always clobbers reg byte a 
+Statement [170] print_uchar::b#3 = printEntry::entry#10[9] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [172] print_line_cursor#164 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [174] print_char_cursor#217 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } }  ) always clobbers reg byte a 
+Statement [177] print_uchar::b#4 = printEntry::entry#10[$a] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [179] print_line_cursor#165 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [181] print_char_cursor#218 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } }  ) always clobbers reg byte a 
+Statement [184] print_uchar::b#5 = printEntry::entry#10[$b] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [186] print_line_cursor#166 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [188] print_char_cursor#219 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } }  ) always clobbers reg byte a 
+Statement [191] print_uint::w#4 = ((word*)printEntry::entry#10)[$c] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
+Statement [193] print_line_cursor#167 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [195] print_char_cursor#220 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } }  ) always clobbers reg byte a 
+Statement [198] print_uchar::b#6 = printEntry::entry#10[$e] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [200] print_line_cursor#168 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [202] print_char_cursor#221 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } }  ) always clobbers reg byte a 
+Statement [205] print_uchar::b#7 = printEntry::entry#10[$f] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [207] print_line_cursor#169 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [209] print_char_cursor#222 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } }  ) always clobbers reg byte a 
+Statement [212] print_uchar::b#8 = printEntry::entry#10[$10] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [214] print_line_cursor#170 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [216] print_char_cursor#223 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } }  ) always clobbers reg byte a 
+Statement [219] print_uchar::b#9 = printEntry::entry#10[$11] [ print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [221] print_line_cursor#171 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#171 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#171 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#171 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [232] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:17::memset:116 [ main::entry1#0 main::entry2#0 memset::dst#2 ] { }  print_cls:38::memset:116 [ main::entry2#0 memset::dst#2 ] { }  print_cls:59::memset:116 [ memset::dst#2 ] { }  ) always clobbers reg byte a 
+Statement [234] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( print_cls:17::memset:116 [ main::entry1#0 main::entry2#0 memset::dst#2 ] { }  print_cls:38::memset:116 [ main::entry2#0 memset::dst#2 ] { }  print_cls:59::memset:116 [ memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
+Statement [237] *print_char_cursor#83 = print_char::ch#3 [ print_char_cursor#83 ] ( print_str:19::print_char:123 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:31::print_char:123 [ main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char_cursor#167 = print_char_cursor#209 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:40::print_char:123 [ main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:52::print_char:123 [ print_str::str#18 print_char_cursor#83 ] { { print_char_cursor#167 = print_char_cursor#210 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:133::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:133::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:140::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:140::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:147::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:147::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:154::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:154::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:161::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:161::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:168::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:168::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:175::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:175::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:182::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:182::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:189::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:189::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:196::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:196::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:203::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:203::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:210::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:210::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:217::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:217::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_uchar:164::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:164::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:171::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:171::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:178::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:178::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:185::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:185::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:199::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:199::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:206::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:206::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:213::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:213::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:220::print_char:249 [ main::entry2#0 print_line_cursor#0 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:220::print_char:249 [ print_line_cursor#0 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:136::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:136::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:164::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:164::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:171::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:171::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:178::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:178::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:185::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:185::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:199::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:199::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:206::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:206::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:213::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:213::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:220::print_char:252 [ main::entry2#0 print_line_cursor#0 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:220::print_char:252 [ print_line_cursor#0 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:136::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:136::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:143::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:143::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:150::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:150::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:157::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:157::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:192::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:192::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:136::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  ) always clobbers reg byte y 
 Removing always clobbered register reg byte y as potential for zp[1]:23 [ print_uchar::b#10 print_uchar::b#6 print_uchar::b#7 print_uchar::b#8 print_uchar::b#9 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#0 print_uchar::b#1 ]
-Statement [248] print_uchar::$0 = print_uchar::b#10 >> 4 [ print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] ( printEntry:26::print_uchar:165 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:165 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:172 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:172 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:179 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:179 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:186 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:186 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:200 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:200 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:207 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:207 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:214 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:214 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:221 [ main::entry2#0 print_line_cursor#0 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:221 [ print_line_cursor#0 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:137::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:137::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  ) always clobbers reg byte a 
+Statement [247] print_uchar::$0 = print_uchar::b#10 >> 4 [ print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] ( printEntry:26::print_uchar:164 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:164 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:171 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:171 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:178 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:178 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:185 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:185 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:199 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:199 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:206 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:206 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:213 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:213 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:220 [ main::entry2#0 print_line_cursor#0 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:220 [ print_line_cursor#0 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:136::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:136::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  ) always clobbers reg byte a 
 Removing always clobbered register reg byte a as potential for zp[1]:23 [ print_uchar::b#10 print_uchar::b#6 print_uchar::b#7 print_uchar::b#8 print_uchar::b#9 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#0 print_uchar::b#1 ]
-Statement [251] print_uchar::$2 = print_uchar::b#10 & $f [ print_char_cursor#10 print_uchar::$2 ] ( printEntry:26::print_uchar:165 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:165 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:172 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:172 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:179 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:179 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:186 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:186 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:200 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:200 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:207 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:207 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:214 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:214 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:221 [ main::entry2#0 print_line_cursor#0 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:221 [ print_line_cursor#0 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:137::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:137::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:144::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:144::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:151::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:151::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:158::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:158::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:193::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:193::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:137::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  ) always clobbers reg byte a 
-Statement [255] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0) [ ] ( keyboard_key_pressed:33::keyboard_matrix_read:226 [ main::entry2#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  keyboard_key_pressed:54::keyboard_matrix_read:226 [ ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#3 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  ) always clobbers reg byte a 
-Statement [256] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( keyboard_key_pressed:33::keyboard_matrix_read:226 [ main::entry2#0 keyboard_matrix_read::return#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  keyboard_key_pressed:54::keyboard_matrix_read:226 [ keyboard_matrix_read::return#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#3 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  ) always clobbers reg byte a 
+Statement [250] print_uchar::$2 = print_uchar::b#10 & $f [ print_char_cursor#10 print_uchar::$2 ] ( printEntry:26::print_uchar:164 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:164 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:171 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:171 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:178 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:178 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:185 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:185 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:199 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:199 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:206 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:206 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:213 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:213 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:220 [ main::entry2#0 print_line_cursor#0 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:220 [ print_line_cursor#0 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:136::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:136::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:143::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:143::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:150::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:150::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:157::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:157::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:192::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:192::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:136::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  ) always clobbers reg byte a 
+Statement [254] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0) [ ] ( keyboard_key_pressed:33::keyboard_matrix_read:225 [ main::entry2#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  keyboard_key_pressed:54::keyboard_matrix_read:225 [ ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#3 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  ) always clobbers reg byte a 
+Statement [255] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( keyboard_key_pressed:33::keyboard_matrix_read:225 [ main::entry2#0 keyboard_matrix_read::return#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  keyboard_key_pressed:54::keyboard_matrix_read:225 [ keyboard_matrix_read::return#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#3 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  ) always clobbers reg byte a 
 Statement [4] mul8u::return#2 = mul8u::res#2 [ mul8u::return#2 ] (  [ mul8u::return#2 ] { { mul8u::return#2 = mul8u::res#2 } }  ) always clobbers reg byte a 
 Statement [5] main::fileEntry1_$0 = mul8u::return#2 [ main::fileEntry1_$0 ] (  [ main::fileEntry1_$0 ] { }  ) always clobbers reg byte a 
 Statement [6] main::entry1#0 = files + main::fileEntry1_$0 [ main::entry1#0 ] (  [ main::entry1#0 ] { }  ) always clobbers reg byte a 
@@ -4824,84 +4823,83 @@ Statement [61] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = $ff [ ] ( k
 Statement [62] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B_DDR) = 0 [ ] ( keyboard_init:1 [ ] { }  ) always clobbers reg byte a 
 Statement [68] mul8u::$1 = mul8u::a#3 & 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( mul8u:3 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] { { mul8u::return#2 = mul8u::res#2 } }  mul8u:8 [ main::entry1#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] { { mul8u::return#3 = mul8u::res#2 } }  ) always clobbers reg byte a 
 Statement [70] mul8u::res#1 = mul8u::res#2 + mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( mul8u:3 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] { { mul8u::return#2 = mul8u::res#2 } }  mul8u:8 [ main::entry1#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] { { mul8u::return#3 = mul8u::res#2 } }  ) always clobbers reg byte a 
-Statement [76] initEntry::$1 = (byte*) 4369 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$1 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$1 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$1 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [77] *((byte**)initEntry::entry#10) = initEntry::$1 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
-Statement [79] initEntry::$3 = (byte*) 8738 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$3 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$3 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$3 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [80] ((byte**)initEntry::entry#10)[2] = initEntry::$3 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
+Statement [76] initEntry::$1 = $1111 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$1 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$1 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$1 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [77] *((byte**)initEntry::entry#10) = (byte*)initEntry::$1 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
+Statement [79] initEntry::$3 = $2222 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$3 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$3 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$3 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [80] ((byte**)initEntry::entry#10)[2] = (byte*)initEntry::$3 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
 Statement [82] initEntry::$5 = $3333 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$5 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$5 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$5 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
 Statement [83] ((word*)initEntry::entry#10)[4] = initEntry::$5 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
-Statement [85] initEntry::$26 = initEntry::n#10 << 1 [ initEntry::entry#10 initEntry::n#10 initEntry::$26 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$26 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$26 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [86] initEntry::$7 = (word*) 17476 + initEntry::$26 [ initEntry::entry#10 initEntry::n#10 initEntry::$7 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$7 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$7 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [87] ((word**)initEntry::entry#10)[6] = initEntry::$7 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
-Statement [89] initEntry::$9 = $55 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$9 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$9 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$9 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [90] initEntry::entry#10[8] = initEntry::$9 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [92] initEntry::$11 = $66 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$11 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$11 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$11 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [93] initEntry::entry#10[9] = initEntry::$11 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [95] initEntry::$13 = $77 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$13 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$13 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$13 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [96] initEntry::entry#10[$a] = initEntry::$13 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [98] initEntry::$15 = $88 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$15 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$15 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$15 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [99] initEntry::entry#10[$b] = initEntry::$15 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [101] initEntry::$17 = $9999 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$17 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$17 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$17 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [102] ((word*)initEntry::entry#10)[$c] = initEntry::$17 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
-Statement [104] initEntry::$19 = $aa + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$19 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$19 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$19 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [105] initEntry::entry#10[$e] = initEntry::$19 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [107] initEntry::$21 = $bb + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$21 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$21 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$21 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [108] initEntry::entry#10[$f] = initEntry::$21 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [110] initEntry::$23 = $cc + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$23 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$23 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$23 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [111] initEntry::entry#10[$10] = initEntry::$23 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [113] initEntry::$25 = $dd + initEntry::n#10 [ initEntry::entry#10 initEntry::$25 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::$25 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::$25 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
-Statement [114] initEntry::entry#10[$11] = initEntry::$25 [ ] ( initEntry:13 [ main::entry1#0 main::entry2#0 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
-Statement [121] if(0!=*print_str::str#18) goto print_str::@2 [ print_str::str#18 print_char_cursor#1 ] ( print_str:19 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#1 ] { }  print_str:31 [ main::entry2#0 print_str::str#18 print_char_cursor#1 ] { { print_char_cursor#167 = print_char_cursor#209 } }  print_str:40 [ main::entry2#0 print_str::str#18 print_char_cursor#1 ] { }  print_str:52 [ print_str::str#18 print_char_cursor#1 ] { { print_char_cursor#167 = print_char_cursor#210 } }  printEntry:26::print_str:134 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:47::print_str:134 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:26::print_str:141 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:47::print_str:141 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:26::print_str:148 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:47::print_str:148 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:26::print_str:155 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:47::print_str:155 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:26::print_str:162 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:47::print_str:162 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:26::print_str:169 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:47::print_str:169 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:26::print_str:176 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:47::print_str:176 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:26::print_str:183 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:47::print_str:183 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:26::print_str:190 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:47::print_str:190 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:26::print_str:197 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:47::print_str:197 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:26::print_str:204 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:47::print_str:204 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:26::print_str:211 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:47::print_str:211 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:26::print_str:218 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } }  printEntry:47::print_str:218 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } }  ) always clobbers reg byte a reg byte y 
-Statement [123] print_char::ch#0 = *print_str::str#18 [ print_str::str#18 print_char_cursor#1 print_char::ch#0 ] ( print_str:19 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:31 [ main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#167 = print_char_cursor#209 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:40 [ main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:52 [ print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#167 = print_char_cursor#210 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:134 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:134 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:141 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:141 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:148 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:148 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:155 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:155 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:162 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:162 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:169 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:169 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:176 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:176 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:183 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:183 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:190 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:190 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:197 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:197 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:204 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:204 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:211 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:211 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:218 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:218 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  ) always clobbers reg byte a reg byte y 
-Statement [128] print_line_cursor#0 = print_line_cursor#33 + $28 [ print_line_cursor#0 print_char_cursor#146 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:139 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:139 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:146 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:146 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:153 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:153 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:160 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:160 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:167 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:167 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:174 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:174 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:181 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:181 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:188 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:188 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:195 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:195 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:202 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:202 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:209 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:209 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:216 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:216 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:223 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:223 [ print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [129] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2 [ print_line_cursor#0 print_char_cursor#146 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:139 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:139 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:146 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:146 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:153 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:153 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:160 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:160 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:167 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:167 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:174 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:174 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:181 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:181 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:188 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:188 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:195 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:195 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:202 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:202 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:209 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:209 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:216 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:216 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:223 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:223 [ print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [131] print_line_cursor#173 = print_line_cursor#0 [ print_char_cursor#146 print_line_cursor#173 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:139 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:139 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:146 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:146 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:153 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:153 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:160 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:160 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:167 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:167 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:174 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:174 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:181 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:181 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:188 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:188 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:195 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:195 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:202 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:202 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:209 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:209 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:216 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:216 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:223 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:223 [ print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [133] print_char_cursor#211 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } }  ) always clobbers reg byte a 
-Statement [136] print_uint::w#7 = (word)*((byte**)printEntry::entry#10) [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } }  ) always clobbers reg byte a reg byte y 
-Statement [138] print_line_cursor#159 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [140] print_char_cursor#212 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } }  ) always clobbers reg byte a 
-Statement [143] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } }  ) always clobbers reg byte a reg byte y 
-Statement [145] print_line_cursor#160 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [147] print_char_cursor#213 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } }  ) always clobbers reg byte a 
-Statement [150] print_uint::w#2 = ((word*)printEntry::entry#10)[4] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
-Statement [152] print_line_cursor#161 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [154] print_char_cursor#214 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } }  ) always clobbers reg byte a 
-Statement [157] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
-Statement [159] print_line_cursor#162 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [161] print_char_cursor#215 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } }  ) always clobbers reg byte a 
-Statement [164] print_uchar::b#2 = printEntry::entry#10[8] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [166] print_line_cursor#163 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [168] print_char_cursor#216 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } }  ) always clobbers reg byte a 
-Statement [171] print_uchar::b#3 = printEntry::entry#10[9] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [173] print_line_cursor#164 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [175] print_char_cursor#217 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } }  ) always clobbers reg byte a 
-Statement [178] print_uchar::b#4 = printEntry::entry#10[$a] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [180] print_line_cursor#165 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [182] print_char_cursor#218 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } }  ) always clobbers reg byte a 
-Statement [185] print_uchar::b#5 = printEntry::entry#10[$b] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [187] print_line_cursor#166 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [189] print_char_cursor#219 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } }  ) always clobbers reg byte a 
-Statement [192] print_uint::w#4 = ((word*)printEntry::entry#10)[$c] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
-Statement [194] print_line_cursor#167 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [196] print_char_cursor#220 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } }  ) always clobbers reg byte a 
-Statement [199] print_uchar::b#6 = printEntry::entry#10[$e] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [201] print_line_cursor#168 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [203] print_char_cursor#221 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } }  ) always clobbers reg byte a 
-Statement [206] print_uchar::b#7 = printEntry::entry#10[$f] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [208] print_line_cursor#169 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [210] print_char_cursor#222 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } }  ) always clobbers reg byte a 
-Statement [213] print_uchar::b#8 = printEntry::entry#10[$10] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [215] print_line_cursor#170 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [217] print_char_cursor#223 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } }  ) always clobbers reg byte a 
-Statement [220] print_uchar::b#9 = printEntry::entry#10[$11] [ print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
-Statement [222] print_line_cursor#171 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#171 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#171 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#171 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
-Statement [233] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:17::memset:117 [ main::entry1#0 main::entry2#0 memset::dst#2 ] { }  print_cls:38::memset:117 [ main::entry2#0 memset::dst#2 ] { }  print_cls:59::memset:117 [ memset::dst#2 ] { }  ) always clobbers reg byte a 
-Statement [235] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( print_cls:17::memset:117 [ main::entry1#0 main::entry2#0 memset::dst#2 ] { }  print_cls:38::memset:117 [ main::entry2#0 memset::dst#2 ] { }  print_cls:59::memset:117 [ memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
-Statement [238] *print_char_cursor#83 = print_char::ch#3 [ print_char_cursor#83 ] ( print_str:19::print_char:124 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:31::print_char:124 [ main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char_cursor#167 = print_char_cursor#209 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:40::print_char:124 [ main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:52::print_char:124 [ print_str::str#18 print_char_cursor#83 ] { { print_char_cursor#167 = print_char_cursor#210 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:134::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:134::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:141::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:141::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:148::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:148::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:155::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:155::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:162::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:162::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:169::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:169::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:176::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:176::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:183::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:183::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:190::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:190::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:197::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:197::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:204::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:204::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:211::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:211::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:218::print_char:124 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:218::print_char:124 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_uchar:165::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:165::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:172::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:172::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:179::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:179::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:186::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:186::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:200::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:200::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:207::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:207::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:214::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:214::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:221::print_char:250 [ main::entry2#0 print_line_cursor#0 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:221::print_char:250 [ print_line_cursor#0 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:137::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:243::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:243::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:137::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:245::print_char:250 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:245::print_char:250 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:165::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:165::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:172::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:172::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:179::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:179::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:186::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:186::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:200::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:200::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:207::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:207::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:214::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:214::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:221::print_char:253 [ main::entry2#0 print_line_cursor#0 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:221::print_char:253 [ print_line_cursor#0 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:137::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:137::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:144::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:144::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:151::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:151::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:158::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:158::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:193::print_uchar:243::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:193::print_uchar:243::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:137::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:245::print_char:253 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:245::print_char:253 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  ) always clobbers reg byte y 
-Statement [248] print_uchar::$0 = print_uchar::b#10 >> 4 [ print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] ( printEntry:26::print_uchar:165 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:165 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:172 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:172 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:179 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:179 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:186 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:186 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:200 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:200 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:207 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:207 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:214 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:214 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:221 [ main::entry2#0 print_line_cursor#0 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:221 [ print_line_cursor#0 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:137::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:137::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  ) always clobbers reg byte a 
-Statement [251] print_uchar::$2 = print_uchar::b#10 & $f [ print_char_cursor#10 print_uchar::$2 ] ( printEntry:26::print_uchar:165 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:165 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:172 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:172 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:179 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:179 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:186 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:186 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:200 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:200 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:207 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:207 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:214 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:214 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:221 [ main::entry2#0 print_line_cursor#0 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:221 [ print_line_cursor#0 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:137::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:137::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:144::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:144::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:151::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:151::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:158::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:158::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:193::print_uchar:243 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:193::print_uchar:243 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:137::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:137::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:144::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:144::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:151::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:151::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:158::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:158::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:193::print_uchar:245 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:193::print_uchar:245 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  ) always clobbers reg byte a 
-Statement [255] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0) [ ] ( keyboard_key_pressed:33::keyboard_matrix_read:226 [ main::entry2#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  keyboard_key_pressed:54::keyboard_matrix_read:226 [ ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#3 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  ) always clobbers reg byte a 
-Statement [256] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( keyboard_key_pressed:33::keyboard_matrix_read:226 [ main::entry2#0 keyboard_matrix_read::return#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  keyboard_key_pressed:54::keyboard_matrix_read:226 [ keyboard_matrix_read::return#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#3 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  ) always clobbers reg byte a 
+Statement [85] initEntry::$7 = $4444 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$7 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$7 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$7 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [86] ((word**)initEntry::entry#10)[6] = (word*)initEntry::$7 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
+Statement [88] initEntry::$9 = $55 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$9 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$9 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$9 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [89] initEntry::entry#10[8] = initEntry::$9 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [91] initEntry::$11 = $66 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$11 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$11 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$11 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [92] initEntry::entry#10[9] = initEntry::$11 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [94] initEntry::$13 = $77 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$13 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$13 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$13 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [95] initEntry::entry#10[$a] = initEntry::$13 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [97] initEntry::$15 = $88 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$15 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$15 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$15 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [98] initEntry::entry#10[$b] = initEntry::$15 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [100] initEntry::$17 = $9999 + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$17 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$17 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$17 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [101] ((word*)initEntry::entry#10)[$c] = initEntry::$17 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a reg byte y 
+Statement [103] initEntry::$19 = $aa + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$19 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$19 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$19 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [104] initEntry::entry#10[$e] = initEntry::$19 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [106] initEntry::$21 = $bb + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$21 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$21 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$21 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [107] initEntry::entry#10[$f] = initEntry::$21 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [109] initEntry::$23 = $cc + initEntry::n#10 [ initEntry::entry#10 initEntry::n#10 initEntry::$23 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$23 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 initEntry::$23 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [110] initEntry::entry#10[$10] = initEntry::$23 [ initEntry::entry#10 initEntry::n#10 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::n#10 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [112] initEntry::$25 = $dd + initEntry::n#10 [ initEntry::entry#10 initEntry::$25 ] ( initEntry:13 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::$25 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 initEntry::entry#10 initEntry::$25 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte a 
+Statement [113] initEntry::entry#10[$11] = initEntry::$25 [ ] ( initEntry:13 [ main::entry1#0 main::entry2#0 ] { { initEntry::entry#0 = initEntry::entry#10 main::entry1#0 } }  initEntry:15 [ main::entry1#0 main::entry2#0 ] { { initEntry::entry#1 = initEntry::entry#10 main::entry2#0 } }  ) always clobbers reg byte y 
+Statement [120] if(0!=*print_str::str#18) goto print_str::@2 [ print_str::str#18 print_char_cursor#1 ] ( print_str:19 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#1 ] { }  print_str:31 [ main::entry2#0 print_str::str#18 print_char_cursor#1 ] { { print_char_cursor#167 = print_char_cursor#209 } }  print_str:40 [ main::entry2#0 print_str::str#18 print_char_cursor#1 ] { }  print_str:52 [ print_str::str#18 print_char_cursor#1 ] { { print_char_cursor#167 = print_char_cursor#210 } }  printEntry:26::print_str:133 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:47::print_str:133 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:26::print_str:140 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:47::print_str:140 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:26::print_str:147 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:47::print_str:147 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:26::print_str:154 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:47::print_str:154 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:26::print_str:161 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:47::print_str:161 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:26::print_str:168 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:47::print_str:168 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:26::print_str:175 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:47::print_str:175 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:26::print_str:182 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:47::print_str:182 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:26::print_str:189 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:47::print_str:189 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:26::print_str:196 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:47::print_str:196 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:26::print_str:203 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:47::print_str:203 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:26::print_str:210 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:47::print_str:210 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:26::print_str:217 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } }  printEntry:47::print_str:217 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } }  ) always clobbers reg byte a reg byte y 
+Statement [122] print_char::ch#0 = *print_str::str#18 [ print_str::str#18 print_char_cursor#1 print_char::ch#0 ] ( print_str:19 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:31 [ main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#167 = print_char_cursor#209 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:40 [ main::entry2#0 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:52 [ print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#167 = print_char_cursor#210 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:133 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:133 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:140 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:140 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:147 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:147 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:154 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:154 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:161 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:161 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:168 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:168 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:175 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:175 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:182 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:182 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:189 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:189 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:196 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:196 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:203 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:203 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:210 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:210 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:217 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:217 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#1 print_char::ch#0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  ) always clobbers reg byte a reg byte y 
+Statement [127] print_line_cursor#0 = print_line_cursor#33 + $28 [ print_line_cursor#0 print_char_cursor#146 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:138 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:138 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:145 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:145 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:152 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:152 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:159 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:159 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:166 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:166 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:173 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:173 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:180 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:180 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:187 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:187 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:194 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:194 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:201 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:201 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:208 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:208 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:215 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:215 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:222 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:222 [ print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [128] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2 [ print_line_cursor#0 print_char_cursor#146 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_line_cursor#0 print_char_cursor#146 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:138 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:138 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:145 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:145 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:152 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:152 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:159 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:159 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:166 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:166 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:173 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:173 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:180 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:180 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:187 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:187 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:194 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:194 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:201 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:201 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:208 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:208 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:215 [ main::entry2#0 printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:215 [ printEntry::entry#10 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:222 [ main::entry2#0 print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:222 [ print_line_cursor#0 print_char_cursor#146 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [130] print_line_cursor#173 = print_line_cursor#0 [ print_char_cursor#146 print_line_cursor#173 ] ( print_ln:21 [ main::entry1#0 main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:24 [ main::entry1#0 main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#155 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#227 } }  print_ln:29 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#156 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#228 } }  print_ln:42 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_char_cursor#1 = print_char_cursor#146 } }  print_ln:45 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#157 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#230 } }  print_ln:50 [ print_char_cursor#146 print_line_cursor#173 ] { { print_line_cursor#158 = print_line_cursor#65 } { print_char_cursor#146 = print_char_cursor#231 } }  printEntry:26::print_ln:138 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:138 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:145 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:145 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:152 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:152 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:159 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:159 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:166 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:166 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:173 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:173 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:180 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:180 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:187 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:187 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:194 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:194 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:201 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:201 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:208 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:208 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:215 [ main::entry2#0 printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:215 [ printEntry::entry#10 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:26::print_ln:222 [ main::entry2#0 print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47::print_ln:222 [ print_char_cursor#146 print_line_cursor#173 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [132] print_char_cursor#211 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#211 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } }  ) always clobbers reg byte a 
+Statement [135] print_uint::w#7 = (word)*((byte**)printEntry::entry#10) [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#7 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } }  ) always clobbers reg byte a reg byte y 
+Statement [137] print_line_cursor#159 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#159 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#159 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [139] print_char_cursor#212 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#212 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } }  ) always clobbers reg byte a 
+Statement [142] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#8 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } }  ) always clobbers reg byte a reg byte y 
+Statement [144] print_line_cursor#160 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#160 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#160 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [146] print_char_cursor#213 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#213 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } }  ) always clobbers reg byte a 
+Statement [149] print_uint::w#2 = ((word*)printEntry::entry#10)[4] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
+Statement [151] print_line_cursor#161 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#161 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#161 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [153] print_char_cursor#214 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#214 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } }  ) always clobbers reg byte a 
+Statement [156] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
+Statement [158] print_line_cursor#162 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#162 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#162 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [160] print_char_cursor#215 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#215 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } }  ) always clobbers reg byte a 
+Statement [163] print_uchar::b#2 = printEntry::entry#10[8] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [165] print_line_cursor#163 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#163 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#163 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [167] print_char_cursor#216 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#216 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } }  ) always clobbers reg byte a 
+Statement [170] print_uchar::b#3 = printEntry::entry#10[9] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#3 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [172] print_line_cursor#164 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#164 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#164 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [174] print_char_cursor#217 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#217 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } }  ) always clobbers reg byte a 
+Statement [177] print_uchar::b#4 = printEntry::entry#10[$a] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#4 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [179] print_line_cursor#165 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#165 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#165 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [181] print_char_cursor#218 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#218 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } }  ) always clobbers reg byte a 
+Statement [184] print_uchar::b#5 = printEntry::entry#10[$b] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#5 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [186] print_line_cursor#166 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#166 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#166 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [188] print_char_cursor#219 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#219 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } }  ) always clobbers reg byte a 
+Statement [191] print_uint::w#4 = ((word*)printEntry::entry#10)[$c] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uint::w#4 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } }  ) always clobbers reg byte a reg byte y 
+Statement [193] print_line_cursor#167 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#167 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#167 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [195] print_char_cursor#220 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#220 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } }  ) always clobbers reg byte a 
+Statement [198] print_uchar::b#6 = printEntry::entry#10[$e] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#6 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [200] print_line_cursor#168 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#168 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#168 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [202] print_char_cursor#221 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#221 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } }  ) always clobbers reg byte a 
+Statement [205] print_uchar::b#7 = printEntry::entry#10[$f] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#7 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [207] print_line_cursor#169 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#169 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#169 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [209] print_char_cursor#222 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#222 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } }  ) always clobbers reg byte a 
+Statement [212] print_uchar::b#8 = printEntry::entry#10[$10] [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 printEntry::entry#10 print_uchar::b#8 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [214] print_line_cursor#170 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#170 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#170 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [216] print_char_cursor#223 = print_line_cursor#0 [ print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#223 printEntry::entry#10 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } }  ) always clobbers reg byte a 
+Statement [219] print_uchar::b#9 = printEntry::entry#10[$11] [ print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] ( printEntry:26 [ main::entry2#0 print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } }  printEntry:47 [ print_line_cursor#0 print_char_cursor#1 print_uchar::b#9 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } }  ) always clobbers reg byte a reg byte y 
+Statement [221] print_line_cursor#171 = print_line_cursor#0 [ print_char_cursor#10 print_line_cursor#171 ] ( printEntry:26 [ main::entry2#0 print_char_cursor#10 print_line_cursor#171 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  printEntry:47 [ print_char_cursor#10 print_line_cursor#171 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_line_cursor#171 = print_line_cursor#65 } { print_char_cursor#10 = print_char_cursor#146 } }  ) always clobbers reg byte a 
+Statement [232] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:17::memset:116 [ main::entry1#0 main::entry2#0 memset::dst#2 ] { }  print_cls:38::memset:116 [ main::entry2#0 memset::dst#2 ] { }  print_cls:59::memset:116 [ memset::dst#2 ] { }  ) always clobbers reg byte a 
+Statement [234] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( print_cls:17::memset:116 [ main::entry1#0 main::entry2#0 memset::dst#2 ] { }  print_cls:38::memset:116 [ main::entry2#0 memset::dst#2 ] { }  print_cls:59::memset:116 [ memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
+Statement [237] *print_char_cursor#83 = print_char::ch#3 [ print_char_cursor#83 ] ( print_str:19::print_char:123 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:31::print_char:123 [ main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char_cursor#167 = print_char_cursor#209 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:40::print_char:123 [ main::entry2#0 print_str::str#18 print_char_cursor#83 ] { { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  print_str:52::print_char:123 [ print_str::str#18 print_char_cursor#83 ] { { print_char_cursor#167 = print_char_cursor#210 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:133::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:133::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#211 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:140::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:140::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#212 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:147::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:147::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#213 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:154::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:154::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#214 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:161::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:161::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#215 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:168::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:168::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#216 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:175::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:175::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#217 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:182::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:182::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#218 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:189::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:189::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#219 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:196::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:196::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#220 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:203::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:203::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#221 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:210::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:210::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#222 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_str:217::print_char:123 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:47::print_str:217::print_char:123 [ print_line_cursor#0 printEntry::entry#10 print_str::str#18 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_char_cursor#167 = print_char_cursor#223 } { print_char::ch#0 = print_char::ch#3 } { print_char_cursor#1 = print_char_cursor#83 } }  printEntry:26::print_uchar:164::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:164::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:171::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:171::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:178::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:178::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:185::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:185::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:199::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:199::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:206::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:206::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:213::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:213::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:220::print_char:249 [ main::entry2#0 print_line_cursor#0 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:220::print_char:249 [ print_line_cursor#0 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:136::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:242::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:242::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:136::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:244::print_char:249 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:244::print_char:249 [ print_line_cursor#0 printEntry::entry#10 print_uchar::b#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:164::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:164::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:171::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:171::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:178::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:178::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:185::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:185::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:199::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:199::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:206::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:206::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:213::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:213::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:220::print_char:252 [ main::entry2#0 print_line_cursor#0 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:220::print_char:252 [ print_line_cursor#0 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:136::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:136::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:143::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:143::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:150::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:150::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:157::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:157::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:192::print_uchar:242::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:192::print_uchar:242::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:136::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:244::print_char:252 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:244::print_char:252 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#83 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  ) always clobbers reg byte y 
+Statement [247] print_uchar::$0 = print_uchar::b#10 >> 4 [ print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] ( printEntry:26::print_uchar:164 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:164 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:171 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:171 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:178 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:178 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:185 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:185 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:199 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:199 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:206 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:206 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:213 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:213 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uchar:220 [ main::entry2#0 print_line_cursor#0 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uchar:220 [ print_line_cursor#0 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:136::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:136::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#148 print_uchar::b#10 print_uchar::$0 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#1 = print_char::ch#3 } }  ) always clobbers reg byte a 
+Statement [250] print_uchar::$2 = print_uchar::b#10 & $f [ print_char_cursor#10 print_uchar::$2 ] ( printEntry:26::print_uchar:164 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:164 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#2 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:171 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:171 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#3 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:178 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:178 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#4 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:185 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:185 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:199 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:199 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:206 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:206 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#7 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:213 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:213 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#8 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uchar:220 [ main::entry2#0 print_line_cursor#0 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uchar:220 [ print_line_cursor#0 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uchar::b#10 = print_uchar::b#9 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:136::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:136::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:143::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:143::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:150::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:150::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:157::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:157::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:192::print_uchar:242 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:47::print_uint:192::print_uchar:242 [ print_line_cursor#0 printEntry::entry#10 print_uint::w#5 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#0 = print_uchar::b#10 } { print_char_cursor#1 = print_char_cursor#148 } { print_char::ch#2 = print_char::ch#3 } { print_char_cursor#10 = print_char_cursor#83 } }  printEntry:26::print_uint:136::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:136::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#7 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:143::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:143::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#5 = print_uint::w#8 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:150::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:150::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#2 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:157::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:157::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#10 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:26::print_uint:192::print_uchar:244 [ main::entry2#0 print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#0 = printEntry::entry#10 main::entry1#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  printEntry:47::print_uint:192::print_uchar:244 [ print_line_cursor#0 printEntry::entry#10 print_char_cursor#10 print_uchar::$2 ] { { printEntry::entry#1 = printEntry::entry#10 main::entry2#0 } { print_uint::w#4 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#10 } { print_char_cursor#10 = print_char_cursor#148 print_char_cursor#83 } { print_char::ch#2 = print_char::ch#3 } }  ) always clobbers reg byte a 
+Statement [254] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0) [ ] ( keyboard_key_pressed:33::keyboard_matrix_read:225 [ main::entry2#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  keyboard_key_pressed:54::keyboard_matrix_read:225 [ ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#3 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  ) always clobbers reg byte a 
+Statement [255] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( keyboard_key_pressed:33::keyboard_matrix_read:225 [ main::entry2#0 keyboard_matrix_read::return#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  keyboard_key_pressed:54::keyboard_matrix_read:225 [ keyboard_matrix_read::return#0 ] { { keyboard_key_pressed::return#0 = keyboard_key_pressed::return#3 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } }  ) always clobbers reg byte a 
 Potential registers zp[1]:2 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] : zp[1]:2 , reg byte x , reg byte y , 
 Potential registers zp[2]:3 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] : zp[2]:3 , 
 Potential registers zp[2]:5 [ mul8u::mb#2 mul8u::mb#1 ] : zp[2]:5 , 
@@ -4929,35 +4927,34 @@ Potential registers zp[1]:40 [ mul8u::$1 ] : zp[1]:40 , reg byte a , reg byte x
 Potential registers zp[2]:41 [ initEntry::$1 ] : zp[2]:41 , 
 Potential registers zp[2]:43 [ initEntry::$3 ] : zp[2]:43 , 
 Potential registers zp[2]:45 [ initEntry::$5 ] : zp[2]:45 , 
-Potential registers zp[1]:47 [ initEntry::$26 ] : zp[1]:47 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[2]:48 [ initEntry::$7 ] : zp[2]:48 , 
-Potential registers zp[1]:50 [ initEntry::$9 ] : zp[1]:50 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:51 [ initEntry::$11 ] : zp[1]:51 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:52 [ initEntry::$13 ] : zp[1]:52 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:53 [ initEntry::$15 ] : zp[1]:53 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[2]:54 [ initEntry::$17 ] : zp[2]:54 , 
-Potential registers zp[1]:56 [ initEntry::$19 ] : zp[1]:56 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:57 [ initEntry::$21 ] : zp[1]:57 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:58 [ initEntry::$23 ] : zp[1]:58 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:59 [ initEntry::$25 ] : zp[1]:59 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[2]:60 [ print_line_cursor#0 ] : zp[2]:60 , 
-Potential registers zp[1]:62 [ keyboard_matrix_read::return#2 ] : zp[1]:62 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:63 [ keyboard_key_pressed::$2 ] : zp[1]:63 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:64 [ keyboard_key_pressed::return#0 ] : zp[1]:64 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:65 [ print_uchar::$0 ] : zp[1]:65 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:66 [ print_uchar::$2 ] : zp[1]:66 , reg byte a , reg byte x , reg byte y , 
-Potential registers zp[1]:67 [ keyboard_matrix_read::return#0 ] : zp[1]:67 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[2]:47 [ initEntry::$7 ] : zp[2]:47 , 
+Potential registers zp[1]:49 [ initEntry::$9 ] : zp[1]:49 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:50 [ initEntry::$11 ] : zp[1]:50 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:51 [ initEntry::$13 ] : zp[1]:51 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:52 [ initEntry::$15 ] : zp[1]:52 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[2]:53 [ initEntry::$17 ] : zp[2]:53 , 
+Potential registers zp[1]:55 [ initEntry::$19 ] : zp[1]:55 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:56 [ initEntry::$21 ] : zp[1]:56 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:57 [ initEntry::$23 ] : zp[1]:57 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:58 [ initEntry::$25 ] : zp[1]:58 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[2]:59 [ print_line_cursor#0 ] : zp[2]:59 , 
+Potential registers zp[1]:61 [ keyboard_matrix_read::return#2 ] : zp[1]:61 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:62 [ keyboard_key_pressed::$2 ] : zp[1]:62 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:63 [ keyboard_key_pressed::return#0 ] : zp[1]:63 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:64 [ print_uchar::$0 ] : zp[1]:64 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:65 [ print_uchar::$2 ] : zp[1]:65 , reg byte a , reg byte x , reg byte y , 
+Potential registers zp[1]:66 [ keyboard_matrix_read::return#0 ] : zp[1]:66 , reg byte a , reg byte x , reg byte y , 
 
 REGISTER UPLIFT SCOPES
 Uplift Scope [print_char] 19,010: zp[1]:18 [ print_char::ch#3 print_char::ch#0 print_char::ch#1 print_char::ch#2 ] 
-Uplift Scope [] 13,082.92: zp[2]:19 [ print_char_cursor#83 print_char_cursor#146 print_char_cursor#1 print_char_cursor#167 print_char_cursor#209 print_char_cursor#210 print_char_cursor#211 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#10 print_char_cursor#227 print_char_cursor#228 print_char_cursor#230 print_char_cursor#231 print_char_cursor#148 ] 4,651: zp[2]:12 [ print_line_cursor#33 print_line_cursor#65 print_line_cursor#155 print_line_cursor#156 print_line_cursor#157 print_line_cursor#158 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#173 ] 34.11: zp[2]:60 [ print_line_cursor#0 ] 
-Uplift Scope [print_uchar] 2,002: zp[1]:65 [ print_uchar::$0 ] 2,002: zp[1]:66 [ print_uchar::$2 ] 1,153: zp[1]:23 [ print_uchar::b#10 print_uchar::b#6 print_uchar::b#7 print_uchar::b#8 print_uchar::b#9 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#0 print_uchar::b#1 ] 
+Uplift Scope [] 13,082.92: zp[2]:19 [ print_char_cursor#83 print_char_cursor#146 print_char_cursor#1 print_char_cursor#167 print_char_cursor#209 print_char_cursor#210 print_char_cursor#211 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#10 print_char_cursor#227 print_char_cursor#228 print_char_cursor#230 print_char_cursor#231 print_char_cursor#148 ] 4,651: zp[2]:12 [ print_line_cursor#33 print_line_cursor#65 print_line_cursor#155 print_line_cursor#156 print_line_cursor#157 print_line_cursor#158 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#173 ] 34.11: zp[2]:59 [ print_line_cursor#0 ] 
+Uplift Scope [print_uchar] 2,002: zp[1]:64 [ print_uchar::$0 ] 2,002: zp[1]:65 [ print_uchar::$2 ] 1,153: zp[1]:23 [ print_uchar::b#10 print_uchar::b#6 print_uchar::b#7 print_uchar::b#8 print_uchar::b#9 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#0 print_uchar::b#1 ] 
 Uplift Scope [memset] 3,336.67: zp[2]:16 [ memset::dst#2 memset::dst#1 ] 
 Uplift Scope [print_str] 3,129.25: zp[2]:10 [ print_str::str#18 print_str::str#21 print_str::str#0 ] 
 Uplift Scope [mul8u] 346.86: zp[2]:3 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] 245.29: zp[2]:5 [ mul8u::mb#2 mul8u::mb#1 ] 202: zp[1]:40 [ mul8u::$1 ] 181.17: zp[1]:2 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] 4: zp[2]:24 [ mul8u::return#2 ] 4: zp[2]:30 [ mul8u::return#3 ] 
-Uplift Scope [keyboard_matrix_read] 367.33: zp[1]:67 [ keyboard_matrix_read::return#0 ] 202: zp[1]:62 [ keyboard_matrix_read::return#2 ] 
-Uplift Scope [initEntry] 22: zp[2]:41 [ initEntry::$1 ] 22: zp[2]:43 [ initEntry::$3 ] 22: zp[2]:45 [ initEntry::$5 ] 22: zp[1]:47 [ initEntry::$26 ] 22: zp[2]:48 [ initEntry::$7 ] 22: zp[1]:50 [ initEntry::$9 ] 22: zp[1]:51 [ initEntry::$11 ] 22: zp[1]:52 [ initEntry::$13 ] 22: zp[1]:53 [ initEntry::$15 ] 22: zp[2]:54 [ initEntry::$17 ] 22: zp[1]:56 [ initEntry::$19 ] 22: zp[1]:57 [ initEntry::$21 ] 22: zp[1]:58 [ initEntry::$23 ] 22: zp[1]:59 [ initEntry::$25 ] 10.3: zp[2]:7 [ initEntry::entry#10 initEntry::entry#1 initEntry::entry#0 ] 3.67: zp[1]:9 [ initEntry::n#10 ] 
-Uplift Scope [keyboard_key_pressed] 202: zp[1]:63 [ keyboard_key_pressed::$2 ] 30.75: zp[1]:64 [ keyboard_key_pressed::return#0 ] 22: zp[1]:36 [ keyboard_key_pressed::return#2 ] 22: zp[1]:38 [ keyboard_key_pressed::return#3 ] 
+Uplift Scope [keyboard_matrix_read] 367.33: zp[1]:66 [ keyboard_matrix_read::return#0 ] 202: zp[1]:61 [ keyboard_matrix_read::return#2 ] 
+Uplift Scope [keyboard_key_pressed] 202: zp[1]:62 [ keyboard_key_pressed::$2 ] 30.75: zp[1]:63 [ keyboard_key_pressed::return#0 ] 22: zp[1]:36 [ keyboard_key_pressed::return#2 ] 22: zp[1]:38 [ keyboard_key_pressed::return#3 ] 
+Uplift Scope [initEntry] 22: zp[2]:45 [ initEntry::$5 ] 22: zp[1]:49 [ initEntry::$9 ] 22: zp[1]:50 [ initEntry::$11 ] 22: zp[1]:51 [ initEntry::$13 ] 22: zp[1]:52 [ initEntry::$15 ] 22: zp[2]:53 [ initEntry::$17 ] 22: zp[1]:55 [ initEntry::$19 ] 22: zp[1]:56 [ initEntry::$21 ] 22: zp[1]:57 [ initEntry::$23 ] 22: zp[1]:58 [ initEntry::$25 ] 11: zp[2]:41 [ initEntry::$1 ] 11: zp[2]:43 [ initEntry::$3 ] 11: zp[2]:47 [ initEntry::$7 ] 10.36: zp[2]:7 [ initEntry::entry#10 initEntry::entry#1 initEntry::entry#0 ] 3.76: zp[1]:9 [ initEntry::n#10 ] 
 Uplift Scope [print_uint] 195.67: zp[2]:21 [ print_uint::w#5 print_uint::w#7 print_uint::w#8 print_uint::w#2 print_uint::w#10 print_uint::w#4 ] 
 Uplift Scope [main] 22: zp[1]:37 [ main::$20 ] 22: zp[1]:39 [ main::$22 ] 4: zp[2]:26 [ main::fileEntry1_$0 ] 4: zp[2]:32 [ main::fileEntry2_$0 ] 0.32: zp[2]:28 [ main::entry1#0 ] 0.17: zp[2]:34 [ main::entry2#0 ] 
 Uplift Scope [printEntry] 9.05: zp[2]:14 [ printEntry::entry#10 printEntry::entry#0 printEntry::entry#1 ] 
@@ -4969,39 +4966,37 @@ Uplift Scope [MOS6569_VICII]
 Uplift Scope [MOS6581_SID] 
 Uplift Scope [keyboard_init] 
 
-Uplifting [print_char] best 5903 combination reg byte a [ print_char::ch#3 print_char::ch#0 print_char::ch#1 print_char::ch#2 ] 
-Uplifting [] best 5903 combination zp[2]:19 [ print_char_cursor#83 print_char_cursor#146 print_char_cursor#1 print_char_cursor#167 print_char_cursor#209 print_char_cursor#210 print_char_cursor#211 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#10 print_char_cursor#227 print_char_cursor#228 print_char_cursor#230 print_char_cursor#231 print_char_cursor#148 ] zp[2]:12 [ print_line_cursor#33 print_line_cursor#65 print_line_cursor#155 print_line_cursor#156 print_line_cursor#157 print_line_cursor#158 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#173 ] zp[2]:60 [ print_line_cursor#0 ] 
-Uplifting [print_uchar] best 5877 combination reg byte a [ print_uchar::$0 ] reg byte x [ print_uchar::$2 ] reg byte x [ print_uchar::b#10 print_uchar::b#6 print_uchar::b#7 print_uchar::b#8 print_uchar::b#9 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#0 print_uchar::b#1 ] 
-Uplifting [memset] best 5877 combination zp[2]:16 [ memset::dst#2 memset::dst#1 ] 
-Uplifting [print_str] best 5877 combination zp[2]:10 [ print_str::str#18 print_str::str#21 print_str::str#0 ] 
-Uplifting [mul8u] best 5821 combination zp[2]:3 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp[2]:5 [ mul8u::mb#2 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] zp[2]:24 [ mul8u::return#2 ] zp[2]:30 [ mul8u::return#3 ] 
-Uplifting [keyboard_matrix_read] best 5809 combination reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ keyboard_matrix_read::return#2 ] 
-Uplifting [initEntry] best 5791 combination zp[2]:41 [ initEntry::$1 ] zp[2]:43 [ initEntry::$3 ] zp[2]:45 [ initEntry::$5 ] reg byte a [ initEntry::$26 ] zp[2]:48 [ initEntry::$7 ] reg byte a [ initEntry::$9 ] reg byte a [ initEntry::$11 ] reg byte a [ initEntry::$13 ] zp[1]:53 [ initEntry::$15 ] zp[2]:54 [ initEntry::$17 ] zp[1]:56 [ initEntry::$19 ] zp[1]:57 [ initEntry::$21 ] zp[1]:58 [ initEntry::$23 ] zp[1]:59 [ initEntry::$25 ] zp[2]:7 [ initEntry::entry#10 initEntry::entry#1 initEntry::entry#0 ] zp[1]:9 [ initEntry::n#10 ] 
-Limited combination testing to 100 combinations of 524288 possible.
-Uplifting [keyboard_key_pressed] best 5602 combination reg byte a [ keyboard_key_pressed::$2 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#3 ] 
+Uplifting [print_char] best 5895 combination reg byte a [ print_char::ch#3 print_char::ch#0 print_char::ch#1 print_char::ch#2 ] 
+Uplifting [] best 5895 combination zp[2]:19 [ print_char_cursor#83 print_char_cursor#146 print_char_cursor#1 print_char_cursor#167 print_char_cursor#209 print_char_cursor#210 print_char_cursor#211 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#10 print_char_cursor#227 print_char_cursor#228 print_char_cursor#230 print_char_cursor#231 print_char_cursor#148 ] zp[2]:12 [ print_line_cursor#33 print_line_cursor#65 print_line_cursor#155 print_line_cursor#156 print_line_cursor#157 print_line_cursor#158 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#173 ] zp[2]:59 [ print_line_cursor#0 ] 
+Uplifting [print_uchar] best 5869 combination reg byte a [ print_uchar::$0 ] reg byte x [ print_uchar::$2 ] reg byte x [ print_uchar::b#10 print_uchar::b#6 print_uchar::b#7 print_uchar::b#8 print_uchar::b#9 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#0 print_uchar::b#1 ] 
+Uplifting [memset] best 5869 combination zp[2]:16 [ memset::dst#2 memset::dst#1 ] 
+Uplifting [print_str] best 5869 combination zp[2]:10 [ print_str::str#18 print_str::str#21 print_str::str#0 ] 
+Uplifting [mul8u] best 5813 combination zp[2]:3 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp[2]:5 [ mul8u::mb#2 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] zp[2]:24 [ mul8u::return#2 ] zp[2]:30 [ mul8u::return#3 ] 
+Uplifting [keyboard_matrix_read] best 5801 combination reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ keyboard_matrix_read::return#2 ] 
+Uplifting [keyboard_key_pressed] best 5612 combination reg byte a [ keyboard_key_pressed::$2 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#3 ] 
 Limited combination testing to 100 combinations of 256 possible.
-Uplifting [print_uint] best 5602 combination zp[2]:21 [ print_uint::w#5 print_uint::w#7 print_uint::w#8 print_uint::w#2 print_uint::w#10 print_uint::w#4 ] 
-Uplifting [main] best 5522 combination reg byte a [ main::$20 ] reg byte a [ main::$22 ] zp[2]:26 [ main::fileEntry1_$0 ] zp[2]:32 [ main::fileEntry2_$0 ] zp[2]:28 [ main::entry1#0 ] zp[2]:34 [ main::entry2#0 ] 
-Uplifting [printEntry] best 5522 combination zp[2]:14 [ printEntry::entry#10 printEntry::entry#0 printEntry::entry#1 ] 
-Uplifting [RADIX] best 5522 combination 
-Uplifting [print_ln] best 5522 combination 
-Uplifting [print_cls] best 5522 combination 
-Uplifting [MOS6526_CIA] best 5522 combination 
-Uplifting [MOS6569_VICII] best 5522 combination 
-Uplifting [MOS6581_SID] best 5522 combination 
-Uplifting [keyboard_init] best 5522 combination 
-Attempting to uplift remaining variables inzp[1]:53 [ initEntry::$15 ]
-Uplifting [initEntry] best 5518 combination reg byte a [ initEntry::$15 ] 
-Attempting to uplift remaining variables inzp[1]:56 [ initEntry::$19 ]
-Uplifting [initEntry] best 5514 combination reg byte a [ initEntry::$19 ] 
-Attempting to uplift remaining variables inzp[1]:57 [ initEntry::$21 ]
-Uplifting [initEntry] best 5510 combination reg byte a [ initEntry::$21 ] 
-Attempting to uplift remaining variables inzp[1]:58 [ initEntry::$23 ]
-Uplifting [initEntry] best 5506 combination reg byte a [ initEntry::$23 ] 
-Attempting to uplift remaining variables inzp[1]:59 [ initEntry::$25 ]
-Uplifting [initEntry] best 5502 combination reg byte a [ initEntry::$25 ] 
+Uplifting [initEntry] best 5596 combination zp[2]:45 [ initEntry::$5 ] reg byte a [ initEntry::$9 ] reg byte a [ initEntry::$11 ] reg byte a [ initEntry::$13 ] reg byte a [ initEntry::$15 ] zp[2]:53 [ initEntry::$17 ] zp[1]:55 [ initEntry::$19 ] zp[1]:56 [ initEntry::$21 ] zp[1]:57 [ initEntry::$23 ] zp[1]:58 [ initEntry::$25 ] zp[2]:41 [ initEntry::$1 ] zp[2]:43 [ initEntry::$3 ] zp[2]:47 [ initEntry::$7 ] zp[2]:7 [ initEntry::entry#10 initEntry::entry#1 initEntry::entry#0 ] zp[1]:9 [ initEntry::n#10 ] 
+Limited combination testing to 100 combinations of 131072 possible.
+Uplifting [print_uint] best 5596 combination zp[2]:21 [ print_uint::w#5 print_uint::w#7 print_uint::w#8 print_uint::w#2 print_uint::w#10 print_uint::w#4 ] 
+Uplifting [main] best 5516 combination reg byte a [ main::$20 ] reg byte a [ main::$22 ] zp[2]:26 [ main::fileEntry1_$0 ] zp[2]:32 [ main::fileEntry2_$0 ] zp[2]:28 [ main::entry1#0 ] zp[2]:34 [ main::entry2#0 ] 
+Uplifting [printEntry] best 5516 combination zp[2]:14 [ printEntry::entry#10 printEntry::entry#0 printEntry::entry#1 ] 
+Uplifting [RADIX] best 5516 combination 
+Uplifting [print_ln] best 5516 combination 
+Uplifting [print_cls] best 5516 combination 
+Uplifting [MOS6526_CIA] best 5516 combination 
+Uplifting [MOS6569_VICII] best 5516 combination 
+Uplifting [MOS6581_SID] best 5516 combination 
+Uplifting [keyboard_init] best 5516 combination 
+Attempting to uplift remaining variables inzp[1]:55 [ initEntry::$19 ]
+Uplifting [initEntry] best 5512 combination reg byte a [ initEntry::$19 ] 
+Attempting to uplift remaining variables inzp[1]:56 [ initEntry::$21 ]
+Uplifting [initEntry] best 5508 combination reg byte a [ initEntry::$21 ] 
+Attempting to uplift remaining variables inzp[1]:57 [ initEntry::$23 ]
+Uplifting [initEntry] best 5504 combination reg byte a [ initEntry::$23 ] 
+Attempting to uplift remaining variables inzp[1]:58 [ initEntry::$25 ]
+Uplifting [initEntry] best 5500 combination reg byte a [ initEntry::$25 ] 
 Attempting to uplift remaining variables inzp[1]:9 [ initEntry::n#10 ]
-Uplifting [initEntry] best 5483 combination reg byte x [ initEntry::n#10 ] 
+Uplifting [initEntry] best 5481 combination reg byte x [ initEntry::n#10 ] 
 Coalescing zero page register [ zp[2]:3 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] ] with [ zp[2]:24 [ mul8u::return#2 ] ] - score: 1
 Coalescing zero page register [ zp[2]:3 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 ] ] with [ zp[2]:30 [ mul8u::return#3 ] ] - score: 1
 Coalescing zero page register [ zp[2]:14 [ printEntry::entry#10 printEntry::entry#0 printEntry::entry#1 ] ] with [ zp[2]:28 [ main::entry1#0 ] ] - score: 1
@@ -5012,7 +5007,7 @@ Coalescing zero page register [ zp[2]:7 [ initEntry::entry#10 initEntry::entry#1
 Coalescing zero page register [ zp[2]:12 [ print_line_cursor#33 print_line_cursor#65 print_line_cursor#155 print_line_cursor#156 print_line_cursor#157 print_line_cursor#158 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#173 ] ] with [ zp[2]:10 [ print_str::str#18 print_str::str#21 print_str::str#0 ] ]
 Coalescing zero page register [ zp[2]:19 [ print_char_cursor#83 print_char_cursor#146 print_char_cursor#1 print_char_cursor#167 print_char_cursor#209 print_char_cursor#210 print_char_cursor#211 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#10 print_char_cursor#227 print_char_cursor#228 print_char_cursor#230 print_char_cursor#231 print_char_cursor#148 ] ] with [ zp[2]:16 [ memset::dst#2 memset::dst#1 ] ]
 Coalescing zero page register [ zp[2]:41 [ initEntry::$1 ] ] with [ zp[2]:21 [ print_uint::w#5 print_uint::w#7 print_uint::w#8 print_uint::w#2 print_uint::w#10 print_uint::w#4 ] ]
-Coalescing zero page register [ zp[2]:60 [ print_line_cursor#0 ] ] with [ zp[2]:43 [ initEntry::$3 ] ]
+Coalescing zero page register [ zp[2]:59 [ print_line_cursor#0 ] ] with [ zp[2]:43 [ initEntry::$3 ] ]
 Coalescing zero page register [ zp[2]:12 [ print_line_cursor#33 print_line_cursor#65 print_line_cursor#155 print_line_cursor#156 print_line_cursor#157 print_line_cursor#158 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#173 print_str::str#18 print_str::str#21 print_str::str#0 ] ] with [ zp[2]:7 [ initEntry::entry#10 initEntry::entry#1 initEntry::entry#0 mul8u::mb#2 mul8u::mb#1 ] ]
 Coalescing zero page register [ zp[2]:45 [ initEntry::$5 ] ] with [ zp[2]:19 [ print_char_cursor#83 print_char_cursor#146 print_char_cursor#1 print_char_cursor#167 print_char_cursor#209 print_char_cursor#210 print_char_cursor#211 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#10 print_char_cursor#227 print_char_cursor#228 print_char_cursor#230 print_char_cursor#231 print_char_cursor#148 memset::dst#2 memset::dst#1 ] ]
 Allocated (was zp[2]:3) zp[2]:2 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry1_$0 main::fileEntry2_$0 main::entry2#0 ]
@@ -5020,9 +5015,9 @@ Allocated (was zp[2]:12) zp[2]:4 [ print_line_cursor#33 print_line_cursor#65 pri
 Allocated (was zp[2]:14) zp[2]:6 [ printEntry::entry#10 printEntry::entry#0 printEntry::entry#1 main::entry1#0 ]
 Allocated (was zp[2]:41) zp[2]:8 [ initEntry::$1 print_uint::w#5 print_uint::w#7 print_uint::w#8 print_uint::w#2 print_uint::w#10 print_uint::w#4 ]
 Allocated (was zp[2]:45) zp[2]:10 [ initEntry::$5 print_char_cursor#83 print_char_cursor#146 print_char_cursor#1 print_char_cursor#167 print_char_cursor#209 print_char_cursor#210 print_char_cursor#211 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#10 print_char_cursor#227 print_char_cursor#228 print_char_cursor#230 print_char_cursor#231 print_char_cursor#148 memset::dst#2 memset::dst#1 ]
-Allocated (was zp[2]:48) zp[2]:12 [ initEntry::$7 ]
-Allocated (was zp[2]:54) zp[2]:14 [ initEntry::$17 ]
-Allocated (was zp[2]:60) zp[2]:16 [ print_line_cursor#0 initEntry::$3 ]
+Allocated (was zp[2]:47) zp[2]:12 [ initEntry::$7 ]
+Allocated (was zp[2]:53) zp[2]:14 [ initEntry::$17 ]
+Allocated (was zp[2]:59) zp[2]:16 [ print_line_cursor#0 initEntry::$3 ]
 
 ASSEMBLER BEFORE OPTIMIZATION
   // File Comments
@@ -5165,7 +5160,7 @@ main: {
     // main::@9
   __b9:
     // [17] call print_cls 
-    // [116] phi from main::@9 to print_cls [phi:main::@9->print_cls]
+    // [115] phi from main::@9 to print_cls [phi:main::@9->print_cls]
   print_cls_from___b9:
     jsr print_cls
     // [18] phi from main::@9 to main::@10 [phi:main::@9->main::@10]
@@ -5174,14 +5169,14 @@ main: {
     // main::@10
   __b10:
     // [19] call print_str 
-    // [119] phi from main::@10 to print_str [phi:main::@10->print_str]
+    // [118] phi from main::@10 to print_str [phi:main::@10->print_str]
   print_str_from___b10:
-    // [119] phi print_char_cursor#167 = print_screen#0 [phi:main::@10->print_str#0] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_screen#0 [phi:main::@10->print_str#0] -- pbuz1=pbuc1 
     lda #<print_screen
     sta.z print_char_cursor
     lda #>print_screen
     sta.z print_char_cursor+1
-    // [119] phi print_str::str#21 = main::str [phi:main::@10->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_str::str#21 = main::str [phi:main::@10->print_str#1] -- pbuz1=pbuc1 
     lda #<str
     sta.z print_str.str
     lda #>str
@@ -5193,10 +5188,10 @@ main: {
     // main::@11
   __b11:
     // [21] call print_ln 
-    // [126] phi from main::@11 to print_ln [phi:main::@11->print_ln]
+    // [125] phi from main::@11 to print_ln [phi:main::@11->print_ln]
   print_ln_from___b11:
-    // [126] phi print_char_cursor#146 = print_char_cursor#1 [phi:main::@11->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_screen#0 [phi:main::@11->print_ln#1] -- pbuz1=pbuc1 
+    // [125] phi print_char_cursor#146 = print_char_cursor#1 [phi:main::@11->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_screen#0 [phi:main::@11->print_ln#1] -- pbuz1=pbuc1 
     lda #<print_screen
     sta.z print_line_cursor_1
     lda #>print_screen
@@ -5216,19 +5211,19 @@ main: {
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // [24] call print_ln 
-    // [126] phi from main::@12 to print_ln [phi:main::@12->print_ln]
+    // [125] phi from main::@12 to print_ln [phi:main::@12->print_ln]
   print_ln_from___b12:
-    // [126] phi print_char_cursor#146 = print_char_cursor#227 [phi:main::@12->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#155 [phi:main::@12->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#227 [phi:main::@12->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#155 [phi:main::@12->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b13
     // main::@13
   __b13:
     // [25] printEntry::entry#0 = main::entry1#0
     // [26] call printEntry 
-    // [132] phi from main::@13 to printEntry [phi:main::@13->printEntry]
+    // [131] phi from main::@13 to printEntry [phi:main::@13->printEntry]
   printEntry_from___b13:
-    // [132] phi printEntry::entry#10 = printEntry::entry#0 [phi:main::@13->printEntry#0] -- register_copy 
+    // [131] phi printEntry::entry#10 = printEntry::entry#0 [phi:main::@13->printEntry#0] -- register_copy 
     jsr printEntry
     jmp __b14
     // main::@14
@@ -5244,10 +5239,10 @@ main: {
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // [29] call print_ln 
-    // [126] phi from main::@14 to print_ln [phi:main::@14->print_ln]
+    // [125] phi from main::@14 to print_ln [phi:main::@14->print_ln]
   print_ln_from___b14:
-    // [126] phi print_char_cursor#146 = print_char_cursor#228 [phi:main::@14->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#156 [phi:main::@14->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#228 [phi:main::@14->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#156 [phi:main::@14->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b15
     // main::@15
@@ -5258,10 +5253,10 @@ main: {
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // [31] call print_str 
-    // [119] phi from main::@15 to print_str [phi:main::@15->print_str]
+    // [118] phi from main::@15 to print_str [phi:main::@15->print_str]
   print_str_from___b15:
-    // [119] phi print_char_cursor#167 = print_char_cursor#209 [phi:main::@15->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = main::str1 [phi:main::@15->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#209 [phi:main::@15->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = main::str1 [phi:main::@15->print_str#1] -- pbuz1=pbuc1 
     lda #<str1
     sta.z print_str.str
     lda #>str1
@@ -5274,7 +5269,7 @@ main: {
     // main::@1
   __b1:
     // [33] call keyboard_key_pressed 
-    // [225] phi from main::@1 to keyboard_key_pressed [phi:main::@1->keyboard_key_pressed]
+    // [224] phi from main::@1 to keyboard_key_pressed [phi:main::@1->keyboard_key_pressed]
   keyboard_key_pressed_from___b1:
     jsr keyboard_key_pressed
     // [34] keyboard_key_pressed::return#2 = keyboard_key_pressed::return#0
@@ -5291,7 +5286,7 @@ main: {
     // main::@2
   __b2:
     // [38] call print_cls 
-    // [116] phi from main::@2 to print_cls [phi:main::@2->print_cls]
+    // [115] phi from main::@2 to print_cls [phi:main::@2->print_cls]
   print_cls_from___b2:
     jsr print_cls
     // [39] phi from main::@2 to main::@17 [phi:main::@2->main::@17]
@@ -5300,14 +5295,14 @@ main: {
     // main::@17
   __b17:
     // [40] call print_str 
-    // [119] phi from main::@17 to print_str [phi:main::@17->print_str]
+    // [118] phi from main::@17 to print_str [phi:main::@17->print_str]
   print_str_from___b17:
-    // [119] phi print_char_cursor#167 = print_screen#0 [phi:main::@17->print_str#0] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_screen#0 [phi:main::@17->print_str#0] -- pbuz1=pbuc1 
     lda #<print_screen
     sta.z print_char_cursor
     lda #>print_screen
     sta.z print_char_cursor+1
-    // [119] phi print_str::str#21 = main::str2 [phi:main::@17->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_str::str#21 = main::str2 [phi:main::@17->print_str#1] -- pbuz1=pbuc1 
     lda #<str2
     sta.z print_str.str
     lda #>str2
@@ -5319,10 +5314,10 @@ main: {
     // main::@18
   __b18:
     // [42] call print_ln 
-    // [126] phi from main::@18 to print_ln [phi:main::@18->print_ln]
+    // [125] phi from main::@18 to print_ln [phi:main::@18->print_ln]
   print_ln_from___b18:
-    // [126] phi print_char_cursor#146 = print_char_cursor#1 [phi:main::@18->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_screen#0 [phi:main::@18->print_ln#1] -- pbuz1=pbuc1 
+    // [125] phi print_char_cursor#146 = print_char_cursor#1 [phi:main::@18->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_screen#0 [phi:main::@18->print_ln#1] -- pbuz1=pbuc1 
     lda #<print_screen
     sta.z print_line_cursor_1
     lda #>print_screen
@@ -5342,10 +5337,10 @@ main: {
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // [45] call print_ln 
-    // [126] phi from main::@19 to print_ln [phi:main::@19->print_ln]
+    // [125] phi from main::@19 to print_ln [phi:main::@19->print_ln]
   print_ln_from___b19:
-    // [126] phi print_char_cursor#146 = print_char_cursor#230 [phi:main::@19->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#157 [phi:main::@19->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#230 [phi:main::@19->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#157 [phi:main::@19->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b20
     // main::@20
@@ -5356,9 +5351,9 @@ main: {
     lda.z entry2+1
     sta.z printEntry.entry+1
     // [47] call printEntry 
-    // [132] phi from main::@20 to printEntry [phi:main::@20->printEntry]
+    // [131] phi from main::@20 to printEntry [phi:main::@20->printEntry]
   printEntry_from___b20:
-    // [132] phi printEntry::entry#10 = printEntry::entry#1 [phi:main::@20->printEntry#0] -- register_copy 
+    // [131] phi printEntry::entry#10 = printEntry::entry#1 [phi:main::@20->printEntry#0] -- register_copy 
     jsr printEntry
     jmp __b21
     // main::@21
@@ -5374,10 +5369,10 @@ main: {
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // [50] call print_ln 
-    // [126] phi from main::@21 to print_ln [phi:main::@21->print_ln]
+    // [125] phi from main::@21 to print_ln [phi:main::@21->print_ln]
   print_ln_from___b21:
-    // [126] phi print_char_cursor#146 = print_char_cursor#231 [phi:main::@21->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#158 [phi:main::@21->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#231 [phi:main::@21->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#158 [phi:main::@21->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b22
     // main::@22
@@ -5388,10 +5383,10 @@ main: {
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // [52] call print_str 
-    // [119] phi from main::@22 to print_str [phi:main::@22->print_str]
+    // [118] phi from main::@22 to print_str [phi:main::@22->print_str]
   print_str_from___b22:
-    // [119] phi print_char_cursor#167 = print_char_cursor#210 [phi:main::@22->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = main::str1 [phi:main::@22->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#210 [phi:main::@22->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = main::str1 [phi:main::@22->print_str#1] -- pbuz1=pbuc1 
     lda #<str1
     sta.z print_str.str
     lda #>str1
@@ -5404,7 +5399,7 @@ main: {
     // main::@3
   __b3:
     // [54] call keyboard_key_pressed 
-    // [225] phi from main::@3 to keyboard_key_pressed [phi:main::@3->keyboard_key_pressed]
+    // [224] phi from main::@3 to keyboard_key_pressed [phi:main::@3->keyboard_key_pressed]
   keyboard_key_pressed_from___b3:
     jsr keyboard_key_pressed
     // [55] keyboard_key_pressed::return#3 = keyboard_key_pressed::return#0
@@ -5421,7 +5416,7 @@ main: {
     // main::@4
   __b4:
     // [59] call print_cls 
-    // [116] phi from main::@4 to print_cls [phi:main::@4->print_cls]
+    // [115] phi from main::@4 to print_cls [phi:main::@4->print_cls]
   print_cls_from___b4:
     jsr print_cls
     jmp __breturn
@@ -5545,7 +5540,7 @@ initEntry: {
     jmp __b1
     // initEntry::@1
   __b1:
-    // [76] initEntry::$1 = (byte*) 4369 + initEntry::n#10 -- pbuz1=pbuc1_plus_vbuxx 
+    // [76] initEntry::$1 = $1111 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
     txa
     clc
     adc #<$1111
@@ -5553,7 +5548,7 @@ initEntry: {
     lda #>$1111
     adc #0
     sta.z __1+1
-    // [77] *((byte**)initEntry::entry#10) = initEntry::$1 -- _deref_qbuz1=pbuz2 
+    // [77] *((byte**)initEntry::entry#10) = (byte*)initEntry::$1 -- _deref_qbuz1=pbuz2 
     ldy #0
     lda.z __1
     sta (entry),y
@@ -5568,7 +5563,7 @@ initEntry: {
     jmp __b2
     // initEntry::@2
   __b2:
-    // [79] initEntry::$3 = (byte*) 8738 + initEntry::n#10 -- pbuz1=pbuc1_plus_vbuxx 
+    // [79] initEntry::$3 = $2222 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
     txa
     clc
     adc #<$2222
@@ -5576,7 +5571,7 @@ initEntry: {
     lda #>$2222
     adc #0
     sta.z __3+1
-    // [80] ((byte**)initEntry::entry#10)[2] = initEntry::$3 -- qbuz1_derefidx_vbuc1=pbuz2 
+    // [80] ((byte**)initEntry::entry#10)[2] = (byte*)initEntry::$3 -- qbuz1_derefidx_vbuc1=pbuz2 
     ldy #2
     lda.z __3
     sta (entry),y
@@ -5614,24 +5609,22 @@ initEntry: {
     jmp __b4
     // initEntry::@4
   __b4:
-    // [85] initEntry::$26 = initEntry::n#10 << 1 -- vbuaa=vbuxx_rol_1 
+    // [85] initEntry::$7 = $4444 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
     txa
-    asl
-    // [86] initEntry::$7 = (word*) 17476 + initEntry::$26 -- pwuz1=pwuc1_plus_vbuaa 
     clc
     adc #<$4444
     sta.z __7
     lda #>$4444
     adc #0
     sta.z __7+1
-    // [87] ((word**)initEntry::entry#10)[6] = initEntry::$7 -- qwuz1_derefidx_vbuc1=pwuz2 
+    // [86] ((word**)initEntry::entry#10)[6] = (word*)initEntry::$7 -- qwuz1_derefidx_vbuc1=pwuz2 
     ldy #6
     lda.z __7
     sta (entry),y
     iny
     lda.z __7+1
     sta (entry),y
-    // [88] phi from initEntry::@4 to initEntry::entryTLastLink1 [phi:initEntry::@4->initEntry::entryTLastLink1]
+    // [87] phi from initEntry::@4 to initEntry::entryTLastLink1 [phi:initEntry::@4->initEntry::entryTLastLink1]
   entryTLastLink1_from___b4:
     jmp entryTLastLink1
     // initEntry::entryTLastLink1
@@ -5639,14 +5632,14 @@ initEntry: {
     jmp __b5
     // initEntry::@5
   __b5:
-    // [89] initEntry::$9 = $55 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [88] initEntry::$9 = $55 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$55
-    // [90] initEntry::entry#10[8] = initEntry::$9 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [89] initEntry::entry#10[8] = initEntry::$9 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #8
     sta (entry),y
-    // [91] phi from initEntry::@5 to initEntry::entrySLastLink1 [phi:initEntry::@5->initEntry::entrySLastLink1]
+    // [90] phi from initEntry::@5 to initEntry::entrySLastLink1 [phi:initEntry::@5->initEntry::entrySLastLink1]
   entrySLastLink1_from___b5:
     jmp entrySLastLink1
     // initEntry::entrySLastLink1
@@ -5654,14 +5647,14 @@ initEntry: {
     jmp __b6
     // initEntry::@6
   __b6:
-    // [92] initEntry::$11 = $66 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [91] initEntry::$11 = $66 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$66
-    // [93] initEntry::entry#10[9] = initEntry::$11 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [92] initEntry::entry#10[9] = initEntry::$11 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #9
     sta (entry),y
-    // [94] phi from initEntry::@6 to initEntry::entryBFlag1 [phi:initEntry::@6->initEntry::entryBFlag1]
+    // [93] phi from initEntry::@6 to initEntry::entryBFlag1 [phi:initEntry::@6->initEntry::entryBFlag1]
   entryBFlag1_from___b6:
     jmp entryBFlag1
     // initEntry::entryBFlag1
@@ -5669,14 +5662,14 @@ initEntry: {
     jmp __b7
     // initEntry::@7
   __b7:
-    // [95] initEntry::$13 = $77 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [94] initEntry::$13 = $77 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$77
-    // [96] initEntry::entry#10[$a] = initEntry::$13 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [95] initEntry::entry#10[$a] = initEntry::$13 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$a
     sta (entry),y
-    // [97] phi from initEntry::@7 to initEntry::entryBError1 [phi:initEntry::@7->initEntry::entryBError1]
+    // [96] phi from initEntry::@7 to initEntry::entryBError1 [phi:initEntry::@7->initEntry::entryBError1]
   entryBError1_from___b7:
     jmp entryBError1
     // initEntry::entryBError1
@@ -5684,14 +5677,14 @@ initEntry: {
     jmp __b8
     // initEntry::@8
   __b8:
-    // [98] initEntry::$15 = $88 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [97] initEntry::$15 = $88 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$88
-    // [99] initEntry::entry#10[$b] = initEntry::$15 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [98] initEntry::entry#10[$b] = initEntry::$15 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$b
     sta (entry),y
-    // [100] phi from initEntry::@8 to initEntry::entryUCross1 [phi:initEntry::@8->initEntry::entryUCross1]
+    // [99] phi from initEntry::@8 to initEntry::entryUCross1 [phi:initEntry::@8->initEntry::entryUCross1]
   entryUCross1_from___b8:
     jmp entryUCross1
     // initEntry::entryUCross1
@@ -5699,7 +5692,7 @@ initEntry: {
     jmp __b9
     // initEntry::@9
   __b9:
-    // [101] initEntry::$17 = $9999 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
+    // [100] initEntry::$17 = $9999 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
     txa
     clc
     adc #<$9999
@@ -5707,14 +5700,14 @@ initEntry: {
     lda #>$9999
     adc #0
     sta.z __17+1
-    // [102] ((word*)initEntry::entry#10)[$c] = initEntry::$17 -- pwuz1_derefidx_vbuc1=vwuz2 
+    // [101] ((word*)initEntry::entry#10)[$c] = initEntry::$17 -- pwuz1_derefidx_vbuc1=vwuz2 
     ldy #$c
     lda.z __17
     sta (entry),y
     iny
     lda.z __17+1
     sta (entry),y
-    // [103] phi from initEntry::@9 to initEntry::entryBAddrLo1 [phi:initEntry::@9->initEntry::entryBAddrLo1]
+    // [102] phi from initEntry::@9 to initEntry::entryBAddrLo1 [phi:initEntry::@9->initEntry::entryBAddrLo1]
   entryBAddrLo1_from___b9:
     jmp entryBAddrLo1
     // initEntry::entryBAddrLo1
@@ -5722,14 +5715,14 @@ initEntry: {
     jmp __b10
     // initEntry::@10
   __b10:
-    // [104] initEntry::$19 = $aa + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [103] initEntry::$19 = $aa + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$aa
-    // [105] initEntry::entry#10[$e] = initEntry::$19 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [104] initEntry::entry#10[$e] = initEntry::$19 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$e
     sta (entry),y
-    // [106] phi from initEntry::@10 to initEntry::entryBAddrHi1 [phi:initEntry::@10->initEntry::entryBAddrHi1]
+    // [105] phi from initEntry::@10 to initEntry::entryBAddrHi1 [phi:initEntry::@10->initEntry::entryBAddrHi1]
   entryBAddrHi1_from___b10:
     jmp entryBAddrHi1
     // initEntry::entryBAddrHi1
@@ -5737,14 +5730,14 @@ initEntry: {
     jmp __b11
     // initEntry::@11
   __b11:
-    // [107] initEntry::$21 = $bb + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [106] initEntry::$21 = $bb + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$bb
-    // [108] initEntry::entry#10[$f] = initEntry::$21 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [107] initEntry::entry#10[$f] = initEntry::$21 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$f
     sta (entry),y
-    // [109] phi from initEntry::@11 to initEntry::entryTHi1 [phi:initEntry::@11->initEntry::entryTHi1]
+    // [108] phi from initEntry::@11 to initEntry::entryTHi1 [phi:initEntry::@11->initEntry::entryTHi1]
   entryTHi1_from___b11:
     jmp entryTHi1
     // initEntry::entryTHi1
@@ -5752,14 +5745,14 @@ initEntry: {
     jmp __b12
     // initEntry::@12
   __b12:
-    // [110] initEntry::$23 = $cc + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [109] initEntry::$23 = $cc + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$cc
-    // [111] initEntry::entry#10[$10] = initEntry::$23 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [110] initEntry::entry#10[$10] = initEntry::$23 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$10
     sta (entry),y
-    // [112] phi from initEntry::@12 to initEntry::entryTLo1 [phi:initEntry::@12->initEntry::entryTLo1]
+    // [111] phi from initEntry::@12 to initEntry::entryTLo1 [phi:initEntry::@12->initEntry::entryTLo1]
   entryTLo1_from___b12:
     jmp entryTLo1
     // initEntry::entryTLo1
@@ -5767,30 +5760,30 @@ initEntry: {
     jmp __b13
     // initEntry::@13
   __b13:
-    // [113] initEntry::$25 = $dd + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [112] initEntry::$25 = $dd + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$dd
-    // [114] initEntry::entry#10[$11] = initEntry::$25 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [113] initEntry::entry#10[$11] = initEntry::$25 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$11
     sta (entry),y
     jmp __breturn
     // initEntry::@return
   __breturn:
-    // [115] return 
+    // [114] return 
     rts
 }
   // print_cls
 // Clear the screen. Also resets current line/char cursor.
 print_cls: {
-    // [117] call memset 
-    // [231] phi from print_cls to memset [phi:print_cls->memset]
+    // [116] call memset 
+    // [230] phi from print_cls to memset [phi:print_cls->memset]
   memset_from_print_cls:
     jsr memset
     jmp __breturn
     // print_cls::@return
   __breturn:
-    // [118] return 
+    // [117] return 
     rts
 }
   // print_str
@@ -5798,15 +5791,15 @@ print_cls: {
 // print_str(byte* zp(4) str)
 print_str: {
     .label str = 4
-    // [120] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1]
+    // [119] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1]
   __b1_from_print_str:
   __b1_from___b3:
-    // [120] phi print_char_cursor#1 = print_char_cursor#167 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy 
-    // [120] phi print_str::str#18 = print_str::str#21 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy 
+    // [119] phi print_char_cursor#1 = print_char_cursor#167 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy 
+    // [119] phi print_str::str#18 = print_str::str#21 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy 
     jmp __b1
     // print_str::@1
   __b1:
-    // [121] if(0!=*print_str::str#18) goto print_str::@2 -- 0_neq__deref_pbuz1_then_la1 
+    // [120] if(0!=*print_str::str#18) goto print_str::@2 -- 0_neq__deref_pbuz1_then_la1 
     ldy #0
     lda (str),y
     cmp #0
@@ -5814,23 +5807,23 @@ print_str: {
     jmp __breturn
     // print_str::@return
   __breturn:
-    // [122] return 
+    // [121] return 
     rts
     // print_str::@2
   __b2:
-    // [123] print_char::ch#0 = *print_str::str#18 -- vbuaa=_deref_pbuz1 
+    // [122] print_char::ch#0 = *print_str::str#18 -- vbuaa=_deref_pbuz1 
     ldy #0
     lda (str),y
-    // [124] call print_char 
-    // [237] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
+    // [123] call print_char 
+    // [236] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
   print_char_from___b2:
-    // [237] phi print_char_cursor#83 = print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy 
-    // [237] phi print_char::ch#3 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy 
+    // [236] phi print_char_cursor#83 = print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy 
+    // [236] phi print_char::ch#3 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy 
     jsr print_char
     jmp __b3
     // print_str::@3
   __b3:
-    // [125] print_str::str#0 = ++ print_str::str#18 -- pbuz1=_inc_pbuz1 
+    // [124] print_str::str#0 = ++ print_str::str#18 -- pbuz1=_inc_pbuz1 
     inc.z str
     bne !+
     inc.z str+1
@@ -5840,14 +5833,14 @@ print_str: {
   // print_ln
 // Print a newline
 print_ln: {
-    // [127] phi from print_ln print_ln::@2 to print_ln::@1 [phi:print_ln/print_ln::@2->print_ln::@1]
+    // [126] phi from print_ln print_ln::@2 to print_ln::@1 [phi:print_ln/print_ln::@2->print_ln::@1]
   __b1_from_print_ln:
   __b1_from___b2:
-    // [127] phi print_line_cursor#33 = print_line_cursor#65 [phi:print_ln/print_ln::@2->print_ln::@1#0] -- register_copy 
+    // [126] phi print_line_cursor#33 = print_line_cursor#65 [phi:print_ln/print_ln::@2->print_ln::@1#0] -- register_copy 
     jmp __b1
     // print_ln::@1
   __b1:
-    // [128] print_line_cursor#0 = print_line_cursor#33 + $28 -- pbuz1=pbuz2_plus_vbuc1 
+    // [127] print_line_cursor#0 = print_line_cursor#33 + $28 -- pbuz1=pbuz2_plus_vbuc1 
     lda #$28
     clc
     adc.z print_line_cursor_1
@@ -5855,7 +5848,7 @@ print_ln: {
     lda #0
     adc.z print_line_cursor_1+1
     sta.z print_line_cursor+1
-    // [129] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2 -- pbuz1_lt_pbuz2_then_la1 
+    // [128] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2 -- pbuz1_lt_pbuz2_then_la1 
     lda.z print_line_cursor+1
     cmp.z print_char_cursor+1
     bcc __b2
@@ -5867,11 +5860,11 @@ print_ln: {
     jmp __breturn
     // print_ln::@return
   __breturn:
-    // [130] return 
+    // [129] return 
     rts
     // print_ln::@2
   __b2:
-    // [131] print_line_cursor#173 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [130] print_line_cursor#173 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
@@ -5883,22 +5876,22 @@ print_ln: {
 // printEntry(byte* zp(6) entry)
 printEntry: {
     .label entry = 6
-    // [133] print_char_cursor#211 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [132] print_char_cursor#211 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [134] call print_str 
-    // [119] phi from printEntry to print_str [phi:printEntry->print_str]
+    // [133] call print_str 
+    // [118] phi from printEntry to print_str [phi:printEntry->print_str]
   print_str_from_printEntry:
-    // [119] phi print_char_cursor#167 = print_char_cursor#211 [phi:printEntry->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str [phi:printEntry->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#211 [phi:printEntry->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str [phi:printEntry->print_str#1] -- pbuz1=pbuc1 
     lda #<str
     sta.z print_str.str
     lda #>str
     sta.z print_str.str+1
     jsr print_str
-    // [135] phi from printEntry to printEntry::entryBufDisk1 [phi:printEntry->printEntry::entryBufDisk1]
+    // [134] phi from printEntry to printEntry::entryBufDisk1 [phi:printEntry->printEntry::entryBufDisk1]
   entryBufDisk1_from_printEntry:
     jmp entryBufDisk1
     // printEntry::entryBufDisk1
@@ -5906,51 +5899,51 @@ printEntry: {
     jmp __b1
     // printEntry::@1
   __b1:
-    // [136] print_uint::w#7 = (word)*((byte**)printEntry::entry#10) -- vwuz1=_deref_pwuz2 
+    // [135] print_uint::w#7 = (word)*((byte**)printEntry::entry#10) -- vwuz1=_deref_pwuz2 
     ldy #0
     lda (entry),y
     sta.z print_uint.w
     iny
     lda (entry),y
     sta.z print_uint.w+1
-    // [137] call print_uint 
-    // [241] phi from printEntry::@1 to print_uint [phi:printEntry::@1->print_uint]
+    // [136] call print_uint 
+    // [240] phi from printEntry::@1 to print_uint [phi:printEntry::@1->print_uint]
   print_uint_from___b1:
-    // [241] phi print_uint::w#5 = print_uint::w#7 [phi:printEntry::@1->print_uint#0] -- register_copy 
+    // [240] phi print_uint::w#5 = print_uint::w#7 [phi:printEntry::@1->print_uint#0] -- register_copy 
     jsr print_uint
     jmp __b14
     // printEntry::@14
   __b14:
-    // [138] print_line_cursor#159 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [137] print_line_cursor#159 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [139] call print_ln 
-    // [126] phi from printEntry::@14 to print_ln [phi:printEntry::@14->print_ln]
+    // [138] call print_ln 
+    // [125] phi from printEntry::@14 to print_ln [phi:printEntry::@14->print_ln]
   print_ln_from___b14:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@14->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#159 [phi:printEntry::@14->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@14->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#159 [phi:printEntry::@14->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b15
     // printEntry::@15
   __b15:
-    // [140] print_char_cursor#212 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [139] print_char_cursor#212 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [141] call print_str 
-    // [119] phi from printEntry::@15 to print_str [phi:printEntry::@15->print_str]
+    // [140] call print_str 
+    // [118] phi from printEntry::@15 to print_str [phi:printEntry::@15->print_str]
   print_str_from___b15:
-    // [119] phi print_char_cursor#167 = print_char_cursor#212 [phi:printEntry::@15->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str1 [phi:printEntry::@15->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#212 [phi:printEntry::@15->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str1 [phi:printEntry::@15->print_str#1] -- pbuz1=pbuc1 
     lda #<str1
     sta.z print_str.str
     lda #>str1
     sta.z print_str.str+1
     jsr print_str
-    // [142] phi from printEntry::@15 to printEntry::entryBufEdit1 [phi:printEntry::@15->printEntry::entryBufEdit1]
+    // [141] phi from printEntry::@15 to printEntry::entryBufEdit1 [phi:printEntry::@15->printEntry::entryBufEdit1]
   entryBufEdit1_from___b15:
     jmp entryBufEdit1
     // printEntry::entryBufEdit1
@@ -5958,51 +5951,51 @@ printEntry: {
     jmp __b2
     // printEntry::@2
   __b2:
-    // [143] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2] -- vwuz1=pwuz2_derefidx_vbuc1 
+    // [142] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2] -- vwuz1=pwuz2_derefidx_vbuc1 
     ldy #2
     lda (entry),y
     sta.z print_uint.w
     iny
     lda (entry),y
     sta.z print_uint.w+1
-    // [144] call print_uint 
-    // [241] phi from printEntry::@2 to print_uint [phi:printEntry::@2->print_uint]
+    // [143] call print_uint 
+    // [240] phi from printEntry::@2 to print_uint [phi:printEntry::@2->print_uint]
   print_uint_from___b2:
-    // [241] phi print_uint::w#5 = print_uint::w#8 [phi:printEntry::@2->print_uint#0] -- register_copy 
+    // [240] phi print_uint::w#5 = print_uint::w#8 [phi:printEntry::@2->print_uint#0] -- register_copy 
     jsr print_uint
     jmp __b16
     // printEntry::@16
   __b16:
-    // [145] print_line_cursor#160 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [144] print_line_cursor#160 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [146] call print_ln 
-    // [126] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln]
+    // [145] call print_ln 
+    // [125] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln]
   print_ln_from___b16:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@16->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#160 [phi:printEntry::@16->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@16->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#160 [phi:printEntry::@16->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b17
     // printEntry::@17
   __b17:
-    // [147] print_char_cursor#213 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [146] print_char_cursor#213 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [148] call print_str 
-    // [119] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str]
+    // [147] call print_str 
+    // [118] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str]
   print_str_from___b17:
-    // [119] phi print_char_cursor#167 = print_char_cursor#213 [phi:printEntry::@17->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#213 [phi:printEntry::@17->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 
     lda #<str2
     sta.z print_str.str
     lda #>str2
     sta.z print_str.str+1
     jsr print_str
-    // [149] phi from printEntry::@17 to printEntry::entryTsLen1 [phi:printEntry::@17->printEntry::entryTsLen1]
+    // [148] phi from printEntry::@17 to printEntry::entryTsLen1 [phi:printEntry::@17->printEntry::entryTsLen1]
   entryTsLen1_from___b17:
     jmp entryTsLen1
     // printEntry::entryTsLen1
@@ -6010,51 +6003,51 @@ printEntry: {
     jmp __b3
     // printEntry::@3
   __b3:
-    // [150] print_uint::w#2 = ((word*)printEntry::entry#10)[4] -- vwuz1=pwuz2_derefidx_vbuc1 
+    // [149] print_uint::w#2 = ((word*)printEntry::entry#10)[4] -- vwuz1=pwuz2_derefidx_vbuc1 
     ldy #4
     lda (entry),y
     sta.z print_uint.w
     iny
     lda (entry),y
     sta.z print_uint.w+1
-    // [151] call print_uint 
-    // [241] phi from printEntry::@3 to print_uint [phi:printEntry::@3->print_uint]
+    // [150] call print_uint 
+    // [240] phi from printEntry::@3 to print_uint [phi:printEntry::@3->print_uint]
   print_uint_from___b3:
-    // [241] phi print_uint::w#5 = print_uint::w#2 [phi:printEntry::@3->print_uint#0] -- register_copy 
+    // [240] phi print_uint::w#5 = print_uint::w#2 [phi:printEntry::@3->print_uint#0] -- register_copy 
     jsr print_uint
     jmp __b18
     // printEntry::@18
   __b18:
-    // [152] print_line_cursor#161 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [151] print_line_cursor#161 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [153] call print_ln 
-    // [126] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln]
+    // [152] call print_ln 
+    // [125] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln]
   print_ln_from___b18:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@18->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#161 [phi:printEntry::@18->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@18->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#161 [phi:printEntry::@18->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b19
     // printEntry::@19
   __b19:
-    // [154] print_char_cursor#214 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [153] print_char_cursor#214 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [155] call print_str 
-    // [119] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str]
+    // [154] call print_str 
+    // [118] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str]
   print_str_from___b19:
-    // [119] phi print_char_cursor#167 = print_char_cursor#214 [phi:printEntry::@19->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#214 [phi:printEntry::@19->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 
     lda #<str3
     sta.z print_str.str
     lda #>str3
     sta.z print_str.str+1
     jsr print_str
-    // [156] phi from printEntry::@19 to printEntry::entryTsOrder1 [phi:printEntry::@19->printEntry::entryTsOrder1]
+    // [155] phi from printEntry::@19 to printEntry::entryTsOrder1 [phi:printEntry::@19->printEntry::entryTsOrder1]
   entryTsOrder1_from___b19:
     jmp entryTsOrder1
     // printEntry::entryTsOrder1
@@ -6062,51 +6055,51 @@ printEntry: {
     jmp __b4
     // printEntry::@4
   __b4:
-    // [157] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6] -- vwuz1=pwuz2_derefidx_vbuc1 
+    // [156] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6] -- vwuz1=pwuz2_derefidx_vbuc1 
     ldy #6
     lda (entry),y
     sta.z print_uint.w
     iny
     lda (entry),y
     sta.z print_uint.w+1
-    // [158] call print_uint 
-    // [241] phi from printEntry::@4 to print_uint [phi:printEntry::@4->print_uint]
+    // [157] call print_uint 
+    // [240] phi from printEntry::@4 to print_uint [phi:printEntry::@4->print_uint]
   print_uint_from___b4:
-    // [241] phi print_uint::w#5 = print_uint::w#10 [phi:printEntry::@4->print_uint#0] -- register_copy 
+    // [240] phi print_uint::w#5 = print_uint::w#10 [phi:printEntry::@4->print_uint#0] -- register_copy 
     jsr print_uint
     jmp __b20
     // printEntry::@20
   __b20:
-    // [159] print_line_cursor#162 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [158] print_line_cursor#162 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [160] call print_ln 
-    // [126] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln]
+    // [159] call print_ln 
+    // [125] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln]
   print_ln_from___b20:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@20->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#162 [phi:printEntry::@20->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@20->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#162 [phi:printEntry::@20->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b21
     // printEntry::@21
   __b21:
-    // [161] print_char_cursor#215 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [160] print_char_cursor#215 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [162] call print_str 
-    // [119] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str]
+    // [161] call print_str 
+    // [118] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str]
   print_str_from___b21:
-    // [119] phi print_char_cursor#167 = print_char_cursor#215 [phi:printEntry::@21->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#215 [phi:printEntry::@21->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 
     lda #<str4
     sta.z print_str.str
     lda #>str4
     sta.z print_str.str+1
     jsr print_str
-    // [163] phi from printEntry::@21 to printEntry::entryTLastLink1 [phi:printEntry::@21->printEntry::entryTLastLink1]
+    // [162] phi from printEntry::@21 to printEntry::entryTLastLink1 [phi:printEntry::@21->printEntry::entryTLastLink1]
   entryTLastLink1_from___b21:
     jmp entryTLastLink1
     // printEntry::entryTLastLink1
@@ -6114,49 +6107,49 @@ printEntry: {
     jmp __b5
     // printEntry::@5
   __b5:
-    // [164] print_uchar::b#2 = printEntry::entry#10[8] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [163] print_uchar::b#2 = printEntry::entry#10[8] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #8
     lda (entry),y
     tax
-    // [165] call print_uchar 
-    // [247] phi from printEntry::@5 to print_uchar [phi:printEntry::@5->print_uchar]
+    // [164] call print_uchar 
+    // [246] phi from printEntry::@5 to print_uchar [phi:printEntry::@5->print_uchar]
   print_uchar_from___b5:
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@5->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#2 [phi:printEntry::@5->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@5->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#2 [phi:printEntry::@5->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __b22
     // printEntry::@22
   __b22:
-    // [166] print_line_cursor#163 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [165] print_line_cursor#163 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [167] call print_ln 
-    // [126] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln]
+    // [166] call print_ln 
+    // [125] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln]
   print_ln_from___b22:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@22->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#163 [phi:printEntry::@22->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@22->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#163 [phi:printEntry::@22->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b23
     // printEntry::@23
   __b23:
-    // [168] print_char_cursor#216 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [167] print_char_cursor#216 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [169] call print_str 
-    // [119] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str]
+    // [168] call print_str 
+    // [118] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str]
   print_str_from___b23:
-    // [119] phi print_char_cursor#167 = print_char_cursor#216 [phi:printEntry::@23->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#216 [phi:printEntry::@23->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 
     lda #<str5
     sta.z print_str.str
     lda #>str5
     sta.z print_str.str+1
     jsr print_str
-    // [170] phi from printEntry::@23 to printEntry::entrySLastLink1 [phi:printEntry::@23->printEntry::entrySLastLink1]
+    // [169] phi from printEntry::@23 to printEntry::entrySLastLink1 [phi:printEntry::@23->printEntry::entrySLastLink1]
   entrySLastLink1_from___b23:
     jmp entrySLastLink1
     // printEntry::entrySLastLink1
@@ -6164,49 +6157,49 @@ printEntry: {
     jmp __b6
     // printEntry::@6
   __b6:
-    // [171] print_uchar::b#3 = printEntry::entry#10[9] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [170] print_uchar::b#3 = printEntry::entry#10[9] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #9
     lda (entry),y
     tax
-    // [172] call print_uchar 
-    // [247] phi from printEntry::@6 to print_uchar [phi:printEntry::@6->print_uchar]
+    // [171] call print_uchar 
+    // [246] phi from printEntry::@6 to print_uchar [phi:printEntry::@6->print_uchar]
   print_uchar_from___b6:
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@6->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#3 [phi:printEntry::@6->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@6->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#3 [phi:printEntry::@6->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __b24
     // printEntry::@24
   __b24:
-    // [173] print_line_cursor#164 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [172] print_line_cursor#164 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [174] call print_ln 
-    // [126] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln]
+    // [173] call print_ln 
+    // [125] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln]
   print_ln_from___b24:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@24->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#164 [phi:printEntry::@24->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@24->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#164 [phi:printEntry::@24->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b25
     // printEntry::@25
   __b25:
-    // [175] print_char_cursor#217 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [174] print_char_cursor#217 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [176] call print_str 
-    // [119] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str]
+    // [175] call print_str 
+    // [118] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str]
   print_str_from___b25:
-    // [119] phi print_char_cursor#167 = print_char_cursor#217 [phi:printEntry::@25->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#217 [phi:printEntry::@25->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 
     lda #<str6
     sta.z print_str.str
     lda #>str6
     sta.z print_str.str+1
     jsr print_str
-    // [177] phi from printEntry::@25 to printEntry::entryBFlag1 [phi:printEntry::@25->printEntry::entryBFlag1]
+    // [176] phi from printEntry::@25 to printEntry::entryBFlag1 [phi:printEntry::@25->printEntry::entryBFlag1]
   entryBFlag1_from___b25:
     jmp entryBFlag1
     // printEntry::entryBFlag1
@@ -6214,49 +6207,49 @@ printEntry: {
     jmp __b7
     // printEntry::@7
   __b7:
-    // [178] print_uchar::b#4 = printEntry::entry#10[$a] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [177] print_uchar::b#4 = printEntry::entry#10[$a] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$a
     lda (entry),y
     tax
-    // [179] call print_uchar 
-    // [247] phi from printEntry::@7 to print_uchar [phi:printEntry::@7->print_uchar]
+    // [178] call print_uchar 
+    // [246] phi from printEntry::@7 to print_uchar [phi:printEntry::@7->print_uchar]
   print_uchar_from___b7:
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@7->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#4 [phi:printEntry::@7->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@7->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#4 [phi:printEntry::@7->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __b26
     // printEntry::@26
   __b26:
-    // [180] print_line_cursor#165 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [179] print_line_cursor#165 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [181] call print_ln 
-    // [126] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln]
+    // [180] call print_ln 
+    // [125] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln]
   print_ln_from___b26:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@26->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#165 [phi:printEntry::@26->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@26->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#165 [phi:printEntry::@26->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b27
     // printEntry::@27
   __b27:
-    // [182] print_char_cursor#218 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [181] print_char_cursor#218 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [183] call print_str 
-    // [119] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str]
+    // [182] call print_str 
+    // [118] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str]
   print_str_from___b27:
-    // [119] phi print_char_cursor#167 = print_char_cursor#218 [phi:printEntry::@27->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#218 [phi:printEntry::@27->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 
     lda #<str7
     sta.z print_str.str
     lda #>str7
     sta.z print_str.str+1
     jsr print_str
-    // [184] phi from printEntry::@27 to printEntry::entryBError1 [phi:printEntry::@27->printEntry::entryBError1]
+    // [183] phi from printEntry::@27 to printEntry::entryBError1 [phi:printEntry::@27->printEntry::entryBError1]
   entryBError1_from___b27:
     jmp entryBError1
     // printEntry::entryBError1
@@ -6264,49 +6257,49 @@ printEntry: {
     jmp __b8
     // printEntry::@8
   __b8:
-    // [185] print_uchar::b#5 = printEntry::entry#10[$b] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [184] print_uchar::b#5 = printEntry::entry#10[$b] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$b
     lda (entry),y
     tax
-    // [186] call print_uchar 
-    // [247] phi from printEntry::@8 to print_uchar [phi:printEntry::@8->print_uchar]
+    // [185] call print_uchar 
+    // [246] phi from printEntry::@8 to print_uchar [phi:printEntry::@8->print_uchar]
   print_uchar_from___b8:
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@8->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#5 [phi:printEntry::@8->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@8->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#5 [phi:printEntry::@8->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __b28
     // printEntry::@28
   __b28:
-    // [187] print_line_cursor#166 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [186] print_line_cursor#166 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [188] call print_ln 
-    // [126] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln]
+    // [187] call print_ln 
+    // [125] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln]
   print_ln_from___b28:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@28->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#166 [phi:printEntry::@28->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@28->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#166 [phi:printEntry::@28->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b29
     // printEntry::@29
   __b29:
-    // [189] print_char_cursor#219 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [188] print_char_cursor#219 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [190] call print_str 
-    // [119] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str]
+    // [189] call print_str 
+    // [118] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str]
   print_str_from___b29:
-    // [119] phi print_char_cursor#167 = print_char_cursor#219 [phi:printEntry::@29->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#219 [phi:printEntry::@29->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 
     lda #<str8
     sta.z print_str.str
     lda #>str8
     sta.z print_str.str+1
     jsr print_str
-    // [191] phi from printEntry::@29 to printEntry::entryUCross1 [phi:printEntry::@29->printEntry::entryUCross1]
+    // [190] phi from printEntry::@29 to printEntry::entryUCross1 [phi:printEntry::@29->printEntry::entryUCross1]
   entryUCross1_from___b29:
     jmp entryUCross1
     // printEntry::entryUCross1
@@ -6314,51 +6307,51 @@ printEntry: {
     jmp __b9
     // printEntry::@9
   __b9:
-    // [192] print_uint::w#4 = ((word*)printEntry::entry#10)[$c] -- vwuz1=pwuz2_derefidx_vbuc1 
+    // [191] print_uint::w#4 = ((word*)printEntry::entry#10)[$c] -- vwuz1=pwuz2_derefidx_vbuc1 
     ldy #$c
     lda (entry),y
     sta.z print_uint.w
     iny
     lda (entry),y
     sta.z print_uint.w+1
-    // [193] call print_uint 
-    // [241] phi from printEntry::@9 to print_uint [phi:printEntry::@9->print_uint]
+    // [192] call print_uint 
+    // [240] phi from printEntry::@9 to print_uint [phi:printEntry::@9->print_uint]
   print_uint_from___b9:
-    // [241] phi print_uint::w#5 = print_uint::w#4 [phi:printEntry::@9->print_uint#0] -- register_copy 
+    // [240] phi print_uint::w#5 = print_uint::w#4 [phi:printEntry::@9->print_uint#0] -- register_copy 
     jsr print_uint
     jmp __b30
     // printEntry::@30
   __b30:
-    // [194] print_line_cursor#167 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [193] print_line_cursor#167 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [195] call print_ln 
-    // [126] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln]
+    // [194] call print_ln 
+    // [125] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln]
   print_ln_from___b30:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@30->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#167 [phi:printEntry::@30->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@30->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#167 [phi:printEntry::@30->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b31
     // printEntry::@31
   __b31:
-    // [196] print_char_cursor#220 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [195] print_char_cursor#220 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [197] call print_str 
-    // [119] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str]
+    // [196] call print_str 
+    // [118] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str]
   print_str_from___b31:
-    // [119] phi print_char_cursor#167 = print_char_cursor#220 [phi:printEntry::@31->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#220 [phi:printEntry::@31->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 
     lda #<str9
     sta.z print_str.str
     lda #>str9
     sta.z print_str.str+1
     jsr print_str
-    // [198] phi from printEntry::@31 to printEntry::entryBAddrLo1 [phi:printEntry::@31->printEntry::entryBAddrLo1]
+    // [197] phi from printEntry::@31 to printEntry::entryBAddrLo1 [phi:printEntry::@31->printEntry::entryBAddrLo1]
   entryBAddrLo1_from___b31:
     jmp entryBAddrLo1
     // printEntry::entryBAddrLo1
@@ -6366,49 +6359,49 @@ printEntry: {
     jmp __b10
     // printEntry::@10
   __b10:
-    // [199] print_uchar::b#6 = printEntry::entry#10[$e] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [198] print_uchar::b#6 = printEntry::entry#10[$e] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$e
     lda (entry),y
     tax
-    // [200] call print_uchar 
-    // [247] phi from printEntry::@10 to print_uchar [phi:printEntry::@10->print_uchar]
+    // [199] call print_uchar 
+    // [246] phi from printEntry::@10 to print_uchar [phi:printEntry::@10->print_uchar]
   print_uchar_from___b10:
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@10->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#6 [phi:printEntry::@10->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@10->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#6 [phi:printEntry::@10->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __b32
     // printEntry::@32
   __b32:
-    // [201] print_line_cursor#168 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [200] print_line_cursor#168 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [202] call print_ln 
-    // [126] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln]
+    // [201] call print_ln 
+    // [125] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln]
   print_ln_from___b32:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@32->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#168 [phi:printEntry::@32->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@32->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#168 [phi:printEntry::@32->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b33
     // printEntry::@33
   __b33:
-    // [203] print_char_cursor#221 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [202] print_char_cursor#221 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [204] call print_str 
-    // [119] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str]
+    // [203] call print_str 
+    // [118] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str]
   print_str_from___b33:
-    // [119] phi print_char_cursor#167 = print_char_cursor#221 [phi:printEntry::@33->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#221 [phi:printEntry::@33->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 
     lda #<str10
     sta.z print_str.str
     lda #>str10
     sta.z print_str.str+1
     jsr print_str
-    // [205] phi from printEntry::@33 to printEntry::entryBAddrHi1 [phi:printEntry::@33->printEntry::entryBAddrHi1]
+    // [204] phi from printEntry::@33 to printEntry::entryBAddrHi1 [phi:printEntry::@33->printEntry::entryBAddrHi1]
   entryBAddrHi1_from___b33:
     jmp entryBAddrHi1
     // printEntry::entryBAddrHi1
@@ -6416,49 +6409,49 @@ printEntry: {
     jmp __b11
     // printEntry::@11
   __b11:
-    // [206] print_uchar::b#7 = printEntry::entry#10[$f] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [205] print_uchar::b#7 = printEntry::entry#10[$f] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$f
     lda (entry),y
     tax
-    // [207] call print_uchar 
-    // [247] phi from printEntry::@11 to print_uchar [phi:printEntry::@11->print_uchar]
+    // [206] call print_uchar 
+    // [246] phi from printEntry::@11 to print_uchar [phi:printEntry::@11->print_uchar]
   print_uchar_from___b11:
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@11->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#7 [phi:printEntry::@11->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@11->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#7 [phi:printEntry::@11->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __b34
     // printEntry::@34
   __b34:
-    // [208] print_line_cursor#169 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [207] print_line_cursor#169 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [209] call print_ln 
-    // [126] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln]
+    // [208] call print_ln 
+    // [125] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln]
   print_ln_from___b34:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@34->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#169 [phi:printEntry::@34->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@34->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#169 [phi:printEntry::@34->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b35
     // printEntry::@35
   __b35:
-    // [210] print_char_cursor#222 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [209] print_char_cursor#222 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [211] call print_str 
-    // [119] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str]
+    // [210] call print_str 
+    // [118] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str]
   print_str_from___b35:
-    // [119] phi print_char_cursor#167 = print_char_cursor#222 [phi:printEntry::@35->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#222 [phi:printEntry::@35->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 
     lda #<str11
     sta.z print_str.str
     lda #>str11
     sta.z print_str.str+1
     jsr print_str
-    // [212] phi from printEntry::@35 to printEntry::entryTHi1 [phi:printEntry::@35->printEntry::entryTHi1]
+    // [211] phi from printEntry::@35 to printEntry::entryTHi1 [phi:printEntry::@35->printEntry::entryTHi1]
   entryTHi1_from___b35:
     jmp entryTHi1
     // printEntry::entryTHi1
@@ -6466,49 +6459,49 @@ printEntry: {
     jmp __b12
     // printEntry::@12
   __b12:
-    // [213] print_uchar::b#8 = printEntry::entry#10[$10] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [212] print_uchar::b#8 = printEntry::entry#10[$10] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$10
     lda (entry),y
     tax
-    // [214] call print_uchar 
-    // [247] phi from printEntry::@12 to print_uchar [phi:printEntry::@12->print_uchar]
+    // [213] call print_uchar 
+    // [246] phi from printEntry::@12 to print_uchar [phi:printEntry::@12->print_uchar]
   print_uchar_from___b12:
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@12->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#8 [phi:printEntry::@12->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@12->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#8 [phi:printEntry::@12->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __b36
     // printEntry::@36
   __b36:
-    // [215] print_line_cursor#170 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [214] print_line_cursor#170 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [216] call print_ln 
-    // [126] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln]
+    // [215] call print_ln 
+    // [125] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln]
   print_ln_from___b36:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@36->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#170 [phi:printEntry::@36->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@36->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#170 [phi:printEntry::@36->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __b37
     // printEntry::@37
   __b37:
-    // [217] print_char_cursor#223 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [216] print_char_cursor#223 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
-    // [218] call print_str 
-    // [119] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str]
+    // [217] call print_str 
+    // [118] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str]
   print_str_from___b37:
-    // [119] phi print_char_cursor#167 = print_char_cursor#223 [phi:printEntry::@37->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_char_cursor#167 = print_char_cursor#223 [phi:printEntry::@37->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 
     lda #<str12
     sta.z print_str.str
     lda #>str12
     sta.z print_str.str+1
     jsr print_str
-    // [219] phi from printEntry::@37 to printEntry::entryTLo1 [phi:printEntry::@37->printEntry::entryTLo1]
+    // [218] phi from printEntry::@37 to printEntry::entryTLo1 [phi:printEntry::@37->printEntry::entryTLo1]
   entryTLo1_from___b37:
     jmp entryTLo1
     // printEntry::entryTLo1
@@ -6516,34 +6509,34 @@ printEntry: {
     jmp __b13
     // printEntry::@13
   __b13:
-    // [220] print_uchar::b#9 = printEntry::entry#10[$11] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [219] print_uchar::b#9 = printEntry::entry#10[$11] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$11
     lda (entry),y
     tax
-    // [221] call print_uchar 
-    // [247] phi from printEntry::@13 to print_uchar [phi:printEntry::@13->print_uchar]
+    // [220] call print_uchar 
+    // [246] phi from printEntry::@13 to print_uchar [phi:printEntry::@13->print_uchar]
   print_uchar_from___b13:
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@13->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#9 [phi:printEntry::@13->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@13->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#9 [phi:printEntry::@13->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __b38
     // printEntry::@38
   __b38:
-    // [222] print_line_cursor#171 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [221] print_line_cursor#171 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
-    // [223] call print_ln 
-    // [126] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln]
+    // [222] call print_ln 
+    // [125] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln]
   print_ln_from___b38:
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@38->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#171 [phi:printEntry::@38->print_ln#1] -- register_copy 
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@38->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#171 [phi:printEntry::@38->print_ln#1] -- register_copy 
     jsr print_ln
     jmp __breturn
     // printEntry::@return
   __breturn:
-    // [224] return 
+    // [223] return 
     rts
   .segment Data
     str: .text "bufdisk   "
@@ -6582,19 +6575,19 @@ printEntry: {
 keyboard_key_pressed: {
     .const colidx = KEY_SPACE&7
     .label rowidx = KEY_SPACE>>3
-    // [226] call keyboard_matrix_read 
+    // [225] call keyboard_matrix_read 
     jsr keyboard_matrix_read
-    // [227] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
+    // [226] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
     jmp __b1
     // keyboard_key_pressed::@1
   __b1:
-    // [228] keyboard_key_pressed::$2 = keyboard_matrix_read::return#2
-    // [229] keyboard_key_pressed::return#0 = keyboard_key_pressed::$2 & *(keyboard_matrix_col_bitmask+keyboard_key_pressed::colidx#0) -- vbuaa=vbuaa_band__deref_pbuc1 
+    // [227] keyboard_key_pressed::$2 = keyboard_matrix_read::return#2
+    // [228] keyboard_key_pressed::return#0 = keyboard_key_pressed::$2 & *(keyboard_matrix_col_bitmask+keyboard_key_pressed::colidx#0) -- vbuaa=vbuaa_band__deref_pbuc1 
     and keyboard_matrix_col_bitmask+colidx
     jmp __breturn
     // keyboard_key_pressed::@return
   __breturn:
-    // [230] return 
+    // [229] return 
     rts
 }
   // memset
@@ -6605,9 +6598,9 @@ memset: {
     .label str = print_screen
     .label end = str+num
     .label dst = $a
-    // [232] phi from memset to memset::@1 [phi:memset->memset::@1]
+    // [231] phi from memset to memset::@1 [phi:memset->memset::@1]
   __b1_from_memset:
-    // [232] phi memset::dst#2 = (byte*)memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
+    // [231] phi memset::dst#2 = (byte*)memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
     lda #<str
     sta.z dst
     lda #>str
@@ -6615,7 +6608,7 @@ memset: {
     jmp __b1
     // memset::@1
   __b1:
-    // [233] if(memset::dst#2!=memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
+    // [232] if(memset::dst#2!=memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
     lda.z dst+1
     cmp #>end
     bne __b2
@@ -6625,32 +6618,32 @@ memset: {
     jmp __breturn
     // memset::@return
   __breturn:
-    // [234] return 
+    // [233] return 
     rts
     // memset::@2
   __b2:
-    // [235] *memset::dst#2 = memset::c#0 -- _deref_pbuz1=vbuc1 
+    // [234] *memset::dst#2 = memset::c#0 -- _deref_pbuz1=vbuc1 
     lda #c
     ldy #0
     sta (dst),y
-    // [236] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
+    // [235] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
     inc.z dst
     bne !+
     inc.z dst+1
   !:
-    // [232] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
+    // [231] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
   __b1_from___b2:
-    // [232] phi memset::dst#2 = memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
+    // [231] phi memset::dst#2 = memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
     jmp __b1
 }
   // print_char
 // Print a single char
 // print_char(byte register(A) ch)
 print_char: {
-    // [238] *print_char_cursor#83 = print_char::ch#3 -- _deref_pbuz1=vbuaa 
+    // [237] *print_char_cursor#83 = print_char::ch#3 -- _deref_pbuz1=vbuaa 
     ldy #0
     sta (print_char_cursor),y
-    // [239] print_char_cursor#10 = ++ print_char_cursor#83 -- pbuz1=_inc_pbuz1 
+    // [238] print_char_cursor#10 = ++ print_char_cursor#83 -- pbuz1=_inc_pbuz1 
     inc.z print_char_cursor
     bne !+
     inc.z print_char_cursor+1
@@ -6658,7 +6651,7 @@ print_char: {
     jmp __breturn
     // print_char::@return
   __breturn:
-    // [240] return 
+    // [239] return 
     rts
 }
   // print_uint
@@ -6666,69 +6659,69 @@ print_char: {
 // print_uint(word zp(8) w)
 print_uint: {
     .label w = 8
-    // [242] print_uchar::b#0 = > print_uint::w#5 -- vbuxx=_hi_vwuz1 
+    // [241] print_uchar::b#0 = > print_uint::w#5 -- vbuxx=_hi_vwuz1 
     ldx.z w+1
-    // [243] call print_uchar 
-    // [247] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
+    // [242] call print_uchar 
+    // [246] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
   print_uchar_from_print_uint:
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:print_uint->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#0 [phi:print_uint->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:print_uint->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#0 [phi:print_uint->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __b1
     // print_uint::@1
   __b1:
-    // [244] print_uchar::b#1 = < print_uint::w#5 -- vbuxx=_lo_vwuz1 
+    // [243] print_uchar::b#1 = < print_uint::w#5 -- vbuxx=_lo_vwuz1 
     ldx.z w
-    // [245] call print_uchar 
-    // [247] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
+    // [244] call print_uchar 
+    // [246] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
   print_uchar_from___b1:
-    // [247] phi print_char_cursor#148 = print_char_cursor#10 [phi:print_uint::@1->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#1 [phi:print_uint::@1->print_uchar#1] -- register_copy 
+    // [246] phi print_char_cursor#148 = print_char_cursor#10 [phi:print_uint::@1->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#1 [phi:print_uint::@1->print_uchar#1] -- register_copy 
     jsr print_uchar
     jmp __breturn
     // print_uint::@return
   __breturn:
-    // [246] return 
+    // [245] return 
     rts
 }
   // print_uchar
 // Print a char as HEX
 // print_uchar(byte register(X) b)
 print_uchar: {
-    // [248] print_uchar::$0 = print_uchar::b#10 >> 4 -- vbuaa=vbuxx_ror_4 
+    // [247] print_uchar::$0 = print_uchar::b#10 >> 4 -- vbuaa=vbuxx_ror_4 
     txa
     lsr
     lsr
     lsr
     lsr
-    // [249] print_char::ch#1 = print_hextab[print_uchar::$0] -- vbuaa=pbuc1_derefidx_vbuaa 
+    // [248] print_char::ch#1 = print_hextab[print_uchar::$0] -- vbuaa=pbuc1_derefidx_vbuaa 
     tay
     lda print_hextab,y
-    // [250] call print_char 
+    // [249] call print_char 
   // Table of hexadecimal digits
-    // [237] phi from print_uchar to print_char [phi:print_uchar->print_char]
+    // [236] phi from print_uchar to print_char [phi:print_uchar->print_char]
   print_char_from_print_uchar:
-    // [237] phi print_char_cursor#83 = print_char_cursor#148 [phi:print_uchar->print_char#0] -- register_copy 
-    // [237] phi print_char::ch#3 = print_char::ch#1 [phi:print_uchar->print_char#1] -- register_copy 
+    // [236] phi print_char_cursor#83 = print_char_cursor#148 [phi:print_uchar->print_char#0] -- register_copy 
+    // [236] phi print_char::ch#3 = print_char::ch#1 [phi:print_uchar->print_char#1] -- register_copy 
     jsr print_char
     jmp __b1
     // print_uchar::@1
   __b1:
-    // [251] print_uchar::$2 = print_uchar::b#10 & $f -- vbuxx=vbuxx_band_vbuc1 
+    // [250] print_uchar::$2 = print_uchar::b#10 & $f -- vbuxx=vbuxx_band_vbuc1 
     lda #$f
     axs #0
-    // [252] print_char::ch#2 = print_hextab[print_uchar::$2] -- vbuaa=pbuc1_derefidx_vbuxx 
+    // [251] print_char::ch#2 = print_hextab[print_uchar::$2] -- vbuaa=pbuc1_derefidx_vbuxx 
     lda print_hextab,x
-    // [253] call print_char 
-    // [237] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
+    // [252] call print_char 
+    // [236] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
   print_char_from___b1:
-    // [237] phi print_char_cursor#83 = print_char_cursor#10 [phi:print_uchar::@1->print_char#0] -- register_copy 
-    // [237] phi print_char::ch#3 = print_char::ch#2 [phi:print_uchar::@1->print_char#1] -- register_copy 
+    // [236] phi print_char_cursor#83 = print_char_cursor#10 [phi:print_uchar::@1->print_char#0] -- register_copy 
+    // [236] phi print_char::ch#3 = print_char::ch#2 [phi:print_uchar::@1->print_char#1] -- register_copy 
     jsr print_char
     jmp __breturn
     // print_uchar::@return
   __breturn:
-    // [254] return 
+    // [253] return 
     rts
 }
   // keyboard_matrix_read
@@ -6738,16 +6731,16 @@ print_uchar: {
 // Notice: If the C64 normal interrupt is still running it will occasionally interrupt right between the read & write
 // leading to erroneous readings. You must disable the normal interrupt or sei/cli around calls to the keyboard matrix reader.
 keyboard_matrix_read: {
-    // [255] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0) -- _deref_pbuc1=_deref_pbuc2 
+    // [254] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0) -- _deref_pbuc1=_deref_pbuc2 
     lda keyboard_matrix_row_bitmask+keyboard_key_pressed.rowidx
     sta CIA1
-    // [256] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1 
+    // [255] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1 
     lda CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B
     eor #$ff
     jmp __breturn
     // keyboard_matrix_read::@return
   __breturn:
-    // [257] return 
+    // [256] return 
     rts
 }
   // File Data
@@ -7147,7 +7140,7 @@ constant byte RADIX::OCTAL = 8
 constant const byte SIZEOF_ENTRY = $12
 constant byte* files[(word)MAX_FILES*SIZEOF_ENTRY]  = { fill( (word)MAX_FILES*SIZEOF_ENTRY, 0) }
 void initEntry(byte* initEntry::entry , byte initEntry::n)
-byte*~ initEntry::$1 zp[2]:8 22.0
+word~ initEntry::$1 zp[2]:8 11.0
 byte~ initEntry::$11 reg byte a 22.0
 byte~ initEntry::$13 reg byte a 22.0
 byte~ initEntry::$15 reg byte a 22.0
@@ -7156,15 +7149,14 @@ byte~ initEntry::$19 reg byte a 22.0
 byte~ initEntry::$21 reg byte a 22.0
 byte~ initEntry::$23 reg byte a 22.0
 byte~ initEntry::$25 reg byte a 22.0
-byte~ initEntry::$26 reg byte a 22.0
-byte*~ initEntry::$3 zp[2]:16 22.0
+word~ initEntry::$3 zp[2]:16 11.0
 word~ initEntry::$5 zp[2]:10 22.0
-word*~ initEntry::$7 zp[2]:12 22.0
+word~ initEntry::$7 zp[2]:12 11.0
 byte~ initEntry::$9 reg byte a 22.0
 byte* initEntry::entry
 byte* initEntry::entry#0 entry zp[2]:4 4.0
 byte* initEntry::entry#1 entry zp[2]:4 4.0
-byte* initEntry::entry#10 entry zp[2]:4 2.3
+byte* initEntry::entry#10 entry zp[2]:4 2.3589743589743586
 byte* initEntry::entryBAddrHi1_entry
 byte* initEntry::entryBAddrHi1_return
 byte* initEntry::entryBAddrLo1_entry
@@ -7192,7 +7184,7 @@ word** initEntry::entryTsOrder1_return
 byte* initEntry::entryUCross1_entry
 word* initEntry::entryUCross1_return
 byte initEntry::n
-byte initEntry::n#10 reg byte x 3.6666666666666656
+byte initEntry::n#10 reg byte x 3.7631578947368434
 void keyboard_init()
 byte keyboard_key_pressed(byte keyboard_key_pressed::key)
 byte~ keyboard_key_pressed::$2 reg byte a 202.0
@@ -7407,7 +7399,6 @@ reg byte a [ main::$22 ]
 reg byte a [ mul8u::$1 ]
 zp[2]:8 [ initEntry::$1 print_uint::w#5 print_uint::w#7 print_uint::w#8 print_uint::w#2 print_uint::w#10 print_uint::w#4 ]
 zp[2]:10 [ initEntry::$5 print_char_cursor#83 print_char_cursor#146 print_char_cursor#1 print_char_cursor#167 print_char_cursor#209 print_char_cursor#210 print_char_cursor#211 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#10 print_char_cursor#227 print_char_cursor#228 print_char_cursor#230 print_char_cursor#231 print_char_cursor#148 memset::dst#2 memset::dst#1 ]
-reg byte a [ initEntry::$26 ]
 zp[2]:12 [ initEntry::$7 ]
 reg byte a [ initEntry::$9 ]
 reg byte a [ initEntry::$11 ]
@@ -7428,7 +7419,7 @@ reg byte a [ keyboard_matrix_read::return#0 ]
 
 
 FINAL ASSEMBLER
-Score: 3915
+Score: 3913
 
   // File Comments
 // Implementing a semi-struct without the struct keyword by using pointer math and inline functions
@@ -7559,19 +7550,19 @@ main: {
     // main::@9
     // print_cls()
     // [17] call print_cls 
-    // [116] phi from main::@9 to print_cls [phi:main::@9->print_cls]
+    // [115] phi from main::@9 to print_cls [phi:main::@9->print_cls]
     jsr print_cls
     // [18] phi from main::@9 to main::@10 [phi:main::@9->main::@10]
     // main::@10
     // print_str("** entry 1 **")
     // [19] call print_str 
-    // [119] phi from main::@10 to print_str [phi:main::@10->print_str]
-    // [119] phi print_char_cursor#167 = print_screen#0 [phi:main::@10->print_str#0] -- pbuz1=pbuc1 
+    // [118] phi from main::@10 to print_str [phi:main::@10->print_str]
+    // [118] phi print_char_cursor#167 = print_screen#0 [phi:main::@10->print_str#0] -- pbuz1=pbuc1 
     lda #<print_screen
     sta.z print_char_cursor
     lda #>print_screen
     sta.z print_char_cursor+1
-    // [119] phi print_str::str#21 = main::str [phi:main::@10->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_str::str#21 = main::str [phi:main::@10->print_str#1] -- pbuz1=pbuc1 
     lda #<str
     sta.z print_str.str
     lda #>str
@@ -7581,9 +7572,9 @@ main: {
     // main::@11
     // print_ln()
     // [21] call print_ln 
-    // [126] phi from main::@11 to print_ln [phi:main::@11->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#1 [phi:main::@11->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_screen#0 [phi:main::@11->print_ln#1] -- pbuz1=pbuc1 
+    // [125] phi from main::@11 to print_ln [phi:main::@11->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#1 [phi:main::@11->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_screen#0 [phi:main::@11->print_ln#1] -- pbuz1=pbuc1 
     lda #<print_screen
     sta.z print_line_cursor_1
     lda #>print_screen
@@ -7602,16 +7593,16 @@ main: {
     sta.z print_char_cursor+1
     // print_ln()
     // [24] call print_ln 
-    // [126] phi from main::@12 to print_ln [phi:main::@12->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#227 [phi:main::@12->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#155 [phi:main::@12->print_ln#1] -- register_copy 
+    // [125] phi from main::@12 to print_ln [phi:main::@12->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#227 [phi:main::@12->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#155 [phi:main::@12->print_ln#1] -- register_copy 
     jsr print_ln
     // main::@13
     // printEntry(entry1)
     // [25] printEntry::entry#0 = main::entry1#0
     // [26] call printEntry 
-    // [132] phi from main::@13 to printEntry [phi:main::@13->printEntry]
-    // [132] phi printEntry::entry#10 = printEntry::entry#0 [phi:main::@13->printEntry#0] -- register_copy 
+    // [131] phi from main::@13 to printEntry [phi:main::@13->printEntry]
+    // [131] phi printEntry::entry#10 = printEntry::entry#0 [phi:main::@13->printEntry#0] -- register_copy 
     jsr printEntry
     // main::@14
     // [27] print_line_cursor#156 = print_line_cursor#0 -- pbuz1=pbuz2 
@@ -7626,9 +7617,9 @@ main: {
     sta.z print_char_cursor+1
     // print_ln()
     // [29] call print_ln 
-    // [126] phi from main::@14 to print_ln [phi:main::@14->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#228 [phi:main::@14->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#156 [phi:main::@14->print_ln#1] -- register_copy 
+    // [125] phi from main::@14 to print_ln [phi:main::@14->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#228 [phi:main::@14->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#156 [phi:main::@14->print_ln#1] -- register_copy 
     jsr print_ln
     // main::@15
     // [30] print_char_cursor#209 = print_line_cursor#0 -- pbuz1=pbuz2 
@@ -7638,9 +7629,9 @@ main: {
     sta.z print_char_cursor+1
     // print_str("- press space -")
     // [31] call print_str 
-    // [119] phi from main::@15 to print_str [phi:main::@15->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#209 [phi:main::@15->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = main::str1 [phi:main::@15->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi from main::@15 to print_str [phi:main::@15->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#209 [phi:main::@15->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = main::str1 [phi:main::@15->print_str#1] -- pbuz1=pbuc1 
     lda #<str1
     sta.z print_str.str
     lda #>str1
@@ -7651,7 +7642,7 @@ main: {
   __b1:
     // keyboard_key_pressed(KEY_SPACE)
     // [33] call keyboard_key_pressed 
-    // [225] phi from main::@1 to keyboard_key_pressed [phi:main::@1->keyboard_key_pressed]
+    // [224] phi from main::@1 to keyboard_key_pressed [phi:main::@1->keyboard_key_pressed]
     jsr keyboard_key_pressed
     // keyboard_key_pressed(KEY_SPACE)
     // [34] keyboard_key_pressed::return#2 = keyboard_key_pressed::return#0
@@ -7665,19 +7656,19 @@ main: {
     // main::@2
     // print_cls()
     // [38] call print_cls 
-    // [116] phi from main::@2 to print_cls [phi:main::@2->print_cls]
+    // [115] phi from main::@2 to print_cls [phi:main::@2->print_cls]
     jsr print_cls
     // [39] phi from main::@2 to main::@17 [phi:main::@2->main::@17]
     // main::@17
     // print_str("** entry 2 **")
     // [40] call print_str 
-    // [119] phi from main::@17 to print_str [phi:main::@17->print_str]
-    // [119] phi print_char_cursor#167 = print_screen#0 [phi:main::@17->print_str#0] -- pbuz1=pbuc1 
+    // [118] phi from main::@17 to print_str [phi:main::@17->print_str]
+    // [118] phi print_char_cursor#167 = print_screen#0 [phi:main::@17->print_str#0] -- pbuz1=pbuc1 
     lda #<print_screen
     sta.z print_char_cursor
     lda #>print_screen
     sta.z print_char_cursor+1
-    // [119] phi print_str::str#21 = main::str2 [phi:main::@17->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi print_str::str#21 = main::str2 [phi:main::@17->print_str#1] -- pbuz1=pbuc1 
     lda #<str2
     sta.z print_str.str
     lda #>str2
@@ -7687,9 +7678,9 @@ main: {
     // main::@18
     // print_ln()
     // [42] call print_ln 
-    // [126] phi from main::@18 to print_ln [phi:main::@18->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#1 [phi:main::@18->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_screen#0 [phi:main::@18->print_ln#1] -- pbuz1=pbuc1 
+    // [125] phi from main::@18 to print_ln [phi:main::@18->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#1 [phi:main::@18->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_screen#0 [phi:main::@18->print_ln#1] -- pbuz1=pbuc1 
     lda #<print_screen
     sta.z print_line_cursor_1
     lda #>print_screen
@@ -7708,9 +7699,9 @@ main: {
     sta.z print_char_cursor+1
     // print_ln()
     // [45] call print_ln 
-    // [126] phi from main::@19 to print_ln [phi:main::@19->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#230 [phi:main::@19->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#157 [phi:main::@19->print_ln#1] -- register_copy 
+    // [125] phi from main::@19 to print_ln [phi:main::@19->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#230 [phi:main::@19->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#157 [phi:main::@19->print_ln#1] -- register_copy 
     jsr print_ln
     // main::@20
     // printEntry(entry2)
@@ -7720,8 +7711,8 @@ main: {
     lda.z entry2+1
     sta.z printEntry.entry+1
     // [47] call printEntry 
-    // [132] phi from main::@20 to printEntry [phi:main::@20->printEntry]
-    // [132] phi printEntry::entry#10 = printEntry::entry#1 [phi:main::@20->printEntry#0] -- register_copy 
+    // [131] phi from main::@20 to printEntry [phi:main::@20->printEntry]
+    // [131] phi printEntry::entry#10 = printEntry::entry#1 [phi:main::@20->printEntry#0] -- register_copy 
     jsr printEntry
     // main::@21
     // [48] print_line_cursor#158 = print_line_cursor#0 -- pbuz1=pbuz2 
@@ -7736,9 +7727,9 @@ main: {
     sta.z print_char_cursor+1
     // print_ln()
     // [50] call print_ln 
-    // [126] phi from main::@21 to print_ln [phi:main::@21->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#231 [phi:main::@21->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#158 [phi:main::@21->print_ln#1] -- register_copy 
+    // [125] phi from main::@21 to print_ln [phi:main::@21->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#231 [phi:main::@21->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#158 [phi:main::@21->print_ln#1] -- register_copy 
     jsr print_ln
     // main::@22
     // [51] print_char_cursor#210 = print_line_cursor#0 -- pbuz1=pbuz2 
@@ -7748,9 +7739,9 @@ main: {
     sta.z print_char_cursor+1
     // print_str("- press space -")
     // [52] call print_str 
-    // [119] phi from main::@22 to print_str [phi:main::@22->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#210 [phi:main::@22->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = main::str1 [phi:main::@22->print_str#1] -- pbuz1=pbuc1 
+    // [118] phi from main::@22 to print_str [phi:main::@22->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#210 [phi:main::@22->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = main::str1 [phi:main::@22->print_str#1] -- pbuz1=pbuc1 
     lda #<str1
     sta.z print_str.str
     lda #>str1
@@ -7761,7 +7752,7 @@ main: {
   __b3:
     // keyboard_key_pressed(KEY_SPACE)
     // [54] call keyboard_key_pressed 
-    // [225] phi from main::@3 to keyboard_key_pressed [phi:main::@3->keyboard_key_pressed]
+    // [224] phi from main::@3 to keyboard_key_pressed [phi:main::@3->keyboard_key_pressed]
     jsr keyboard_key_pressed
     // keyboard_key_pressed(KEY_SPACE)
     // [55] keyboard_key_pressed::return#3 = keyboard_key_pressed::return#0
@@ -7775,7 +7766,7 @@ main: {
     // main::@4
     // print_cls()
     // [59] call print_cls 
-    // [116] phi from main::@4 to print_cls [phi:main::@4->print_cls]
+    // [115] phi from main::@4 to print_cls [phi:main::@4->print_cls]
     jsr print_cls
     // main::@return
     // }
@@ -7889,8 +7880,8 @@ initEntry: {
     // [75] phi from initEntry to initEntry::entryBufDisk1 [phi:initEntry->initEntry::entryBufDisk1]
     // initEntry::entryBufDisk1
     // initEntry::@1
-    // (byte*)0x1111+n
-    // [76] initEntry::$1 = (byte*) 4369 + initEntry::n#10 -- pbuz1=pbuc1_plus_vbuxx 
+    // 0x1111+n
+    // [76] initEntry::$1 = $1111 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
     txa
     clc
     adc #<$1111
@@ -7898,8 +7889,8 @@ initEntry: {
     lda #>$1111
     adc #0
     sta.z __1+1
-    // *entryBufDisk(entry) = (byte*)0x1111+n
-    // [77] *((byte**)initEntry::entry#10) = initEntry::$1 -- _deref_qbuz1=pbuz2 
+    // *entryBufDisk(entry) = (byte*)(0x1111+n)
+    // [77] *((byte**)initEntry::entry#10) = (byte*)initEntry::$1 -- _deref_qbuz1=pbuz2 
     ldy #0
     lda.z __1
     sta (entry),y
@@ -7909,8 +7900,8 @@ initEntry: {
     // [78] phi from initEntry::@1 to initEntry::entryBufEdit1 [phi:initEntry::@1->initEntry::entryBufEdit1]
     // initEntry::entryBufEdit1
     // initEntry::@2
-    // (byte*)0x2222+n
-    // [79] initEntry::$3 = (byte*) 8738 + initEntry::n#10 -- pbuz1=pbuc1_plus_vbuxx 
+    // 0x2222+n
+    // [79] initEntry::$3 = $2222 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
     txa
     clc
     adc #<$2222
@@ -7918,8 +7909,8 @@ initEntry: {
     lda #>$2222
     adc #0
     sta.z __3+1
-    // *entryBufEdit(entry) = (byte*)0x2222+n
-    // [80] ((byte**)initEntry::entry#10)[2] = initEntry::$3 -- qbuz1_derefidx_vbuc1=pbuz2 
+    // *entryBufEdit(entry) = (byte*)(0x2222+n)
+    // [80] ((byte**)initEntry::entry#10)[2] = (byte*)initEntry::$3 -- qbuz1_derefidx_vbuc1=pbuz2 
     ldy #2
     lda.z __3
     sta (entry),y
@@ -7949,78 +7940,76 @@ initEntry: {
     // [84] phi from initEntry::@3 to initEntry::entryTsOrder1 [phi:initEntry::@3->initEntry::entryTsOrder1]
     // initEntry::entryTsOrder1
     // initEntry::@4
-    // (word*)0x4444+n
-    // [85] initEntry::$26 = initEntry::n#10 << 1 -- vbuaa=vbuxx_rol_1 
+    // 0x4444+n
+    // [85] initEntry::$7 = $4444 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
     txa
-    asl
-    // [86] initEntry::$7 = (word*) 17476 + initEntry::$26 -- pwuz1=pwuc1_plus_vbuaa 
     clc
     adc #<$4444
     sta.z __7
     lda #>$4444
     adc #0
     sta.z __7+1
-    // *entryTsOrder(entry) = (word*)0x4444+n
-    // [87] ((word**)initEntry::entry#10)[6] = initEntry::$7 -- qwuz1_derefidx_vbuc1=pwuz2 
+    // *entryTsOrder(entry) = (word*)(0x4444+n)
+    // [86] ((word**)initEntry::entry#10)[6] = (word*)initEntry::$7 -- qwuz1_derefidx_vbuc1=pwuz2 
     ldy #6
     lda.z __7
     sta (entry),y
     iny
     lda.z __7+1
     sta (entry),y
-    // [88] phi from initEntry::@4 to initEntry::entryTLastLink1 [phi:initEntry::@4->initEntry::entryTLastLink1]
+    // [87] phi from initEntry::@4 to initEntry::entryTLastLink1 [phi:initEntry::@4->initEntry::entryTLastLink1]
     // initEntry::entryTLastLink1
     // initEntry::@5
     // 0x55+n
-    // [89] initEntry::$9 = $55 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [88] initEntry::$9 = $55 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$55
     // *entryTLastLink(entry) = 0x55+n
-    // [90] initEntry::entry#10[8] = initEntry::$9 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [89] initEntry::entry#10[8] = initEntry::$9 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #8
     sta (entry),y
-    // [91] phi from initEntry::@5 to initEntry::entrySLastLink1 [phi:initEntry::@5->initEntry::entrySLastLink1]
+    // [90] phi from initEntry::@5 to initEntry::entrySLastLink1 [phi:initEntry::@5->initEntry::entrySLastLink1]
     // initEntry::entrySLastLink1
     // initEntry::@6
     // 0x66+n
-    // [92] initEntry::$11 = $66 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [91] initEntry::$11 = $66 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$66
     // *entrySLastLink(entry) = 0x66+n
-    // [93] initEntry::entry#10[9] = initEntry::$11 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [92] initEntry::entry#10[9] = initEntry::$11 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #9
     sta (entry),y
-    // [94] phi from initEntry::@6 to initEntry::entryBFlag1 [phi:initEntry::@6->initEntry::entryBFlag1]
+    // [93] phi from initEntry::@6 to initEntry::entryBFlag1 [phi:initEntry::@6->initEntry::entryBFlag1]
     // initEntry::entryBFlag1
     // initEntry::@7
     // 0x77+n
-    // [95] initEntry::$13 = $77 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [94] initEntry::$13 = $77 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$77
     // *entryBFlag(entry) = 0x77+n
-    // [96] initEntry::entry#10[$a] = initEntry::$13 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [95] initEntry::entry#10[$a] = initEntry::$13 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$a
     sta (entry),y
-    // [97] phi from initEntry::@7 to initEntry::entryBError1 [phi:initEntry::@7->initEntry::entryBError1]
+    // [96] phi from initEntry::@7 to initEntry::entryBError1 [phi:initEntry::@7->initEntry::entryBError1]
     // initEntry::entryBError1
     // initEntry::@8
     // 0x88+n
-    // [98] initEntry::$15 = $88 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [97] initEntry::$15 = $88 + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$88
     // *entryBError(entry) = 0x88+n
-    // [99] initEntry::entry#10[$b] = initEntry::$15 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [98] initEntry::entry#10[$b] = initEntry::$15 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$b
     sta (entry),y
-    // [100] phi from initEntry::@8 to initEntry::entryUCross1 [phi:initEntry::@8->initEntry::entryUCross1]
+    // [99] phi from initEntry::@8 to initEntry::entryUCross1 [phi:initEntry::@8->initEntry::entryUCross1]
     // initEntry::entryUCross1
     // initEntry::@9
     // 0x9999+n
-    // [101] initEntry::$17 = $9999 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
+    // [100] initEntry::$17 = $9999 + initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx 
     txa
     clc
     adc #<$9999
@@ -8029,76 +8018,76 @@ initEntry: {
     adc #0
     sta.z __17+1
     // *entryUCross(entry) = 0x9999+n
-    // [102] ((word*)initEntry::entry#10)[$c] = initEntry::$17 -- pwuz1_derefidx_vbuc1=vwuz2 
+    // [101] ((word*)initEntry::entry#10)[$c] = initEntry::$17 -- pwuz1_derefidx_vbuc1=vwuz2 
     ldy #$c
     lda.z __17
     sta (entry),y
     iny
     lda.z __17+1
     sta (entry),y
-    // [103] phi from initEntry::@9 to initEntry::entryBAddrLo1 [phi:initEntry::@9->initEntry::entryBAddrLo1]
+    // [102] phi from initEntry::@9 to initEntry::entryBAddrLo1 [phi:initEntry::@9->initEntry::entryBAddrLo1]
     // initEntry::entryBAddrLo1
     // initEntry::@10
     // 0xaa+n
-    // [104] initEntry::$19 = $aa + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [103] initEntry::$19 = $aa + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$aa
     // *entryBAddrLo(entry) = 0xaa+n
-    // [105] initEntry::entry#10[$e] = initEntry::$19 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [104] initEntry::entry#10[$e] = initEntry::$19 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$e
     sta (entry),y
-    // [106] phi from initEntry::@10 to initEntry::entryBAddrHi1 [phi:initEntry::@10->initEntry::entryBAddrHi1]
+    // [105] phi from initEntry::@10 to initEntry::entryBAddrHi1 [phi:initEntry::@10->initEntry::entryBAddrHi1]
     // initEntry::entryBAddrHi1
     // initEntry::@11
     // 0xbb+n
-    // [107] initEntry::$21 = $bb + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [106] initEntry::$21 = $bb + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$bb
     // *entryBAddrHi(entry) = 0xbb+n
-    // [108] initEntry::entry#10[$f] = initEntry::$21 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [107] initEntry::entry#10[$f] = initEntry::$21 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$f
     sta (entry),y
-    // [109] phi from initEntry::@11 to initEntry::entryTHi1 [phi:initEntry::@11->initEntry::entryTHi1]
+    // [108] phi from initEntry::@11 to initEntry::entryTHi1 [phi:initEntry::@11->initEntry::entryTHi1]
     // initEntry::entryTHi1
     // initEntry::@12
     // 0xcc+n
-    // [110] initEntry::$23 = $cc + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [109] initEntry::$23 = $cc + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$cc
     // *entryTHi(entry) = 0xcc+n
-    // [111] initEntry::entry#10[$10] = initEntry::$23 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [110] initEntry::entry#10[$10] = initEntry::$23 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$10
     sta (entry),y
-    // [112] phi from initEntry::@12 to initEntry::entryTLo1 [phi:initEntry::@12->initEntry::entryTLo1]
+    // [111] phi from initEntry::@12 to initEntry::entryTLo1 [phi:initEntry::@12->initEntry::entryTLo1]
     // initEntry::entryTLo1
     // initEntry::@13
     // 0xdd+n
-    // [113] initEntry::$25 = $dd + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
+    // [112] initEntry::$25 = $dd + initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx 
     txa
     clc
     adc #$dd
     // *entryTLo(entry) = 0xdd+n
-    // [114] initEntry::entry#10[$11] = initEntry::$25 -- pbuz1_derefidx_vbuc1=vbuaa 
+    // [113] initEntry::entry#10[$11] = initEntry::$25 -- pbuz1_derefidx_vbuc1=vbuaa 
     ldy #$11
     sta (entry),y
     // initEntry::@return
     // }
-    // [115] return 
+    // [114] return 
     rts
 }
   // print_cls
 // Clear the screen. Also resets current line/char cursor.
 print_cls: {
     // memset(print_screen, ' ', 1000)
-    // [117] call memset 
-    // [231] phi from print_cls to memset [phi:print_cls->memset]
+    // [116] call memset 
+    // [230] phi from print_cls to memset [phi:print_cls->memset]
     jsr memset
     // print_cls::@return
     // }
-    // [118] return 
+    // [117] return 
     rts
 }
   // print_str
@@ -8106,35 +8095,35 @@ print_cls: {
 // print_str(byte* zp(4) str)
 print_str: {
     .label str = 4
-    // [120] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1]
-    // [120] phi print_char_cursor#1 = print_char_cursor#167 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy 
-    // [120] phi print_str::str#18 = print_str::str#21 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy 
+    // [119] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1]
+    // [119] phi print_char_cursor#1 = print_char_cursor#167 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy 
+    // [119] phi print_str::str#18 = print_str::str#21 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy 
     // print_str::@1
   __b1:
     // while(*str)
-    // [121] if(0!=*print_str::str#18) goto print_str::@2 -- 0_neq__deref_pbuz1_then_la1 
+    // [120] if(0!=*print_str::str#18) goto print_str::@2 -- 0_neq__deref_pbuz1_then_la1 
     ldy #0
     lda (str),y
     cmp #0
     bne __b2
     // print_str::@return
     // }
-    // [122] return 
+    // [121] return 
     rts
     // print_str::@2
   __b2:
     // print_char(*(str++))
-    // [123] print_char::ch#0 = *print_str::str#18 -- vbuaa=_deref_pbuz1 
+    // [122] print_char::ch#0 = *print_str::str#18 -- vbuaa=_deref_pbuz1 
     ldy #0
     lda (str),y
-    // [124] call print_char 
-    // [237] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
-    // [237] phi print_char_cursor#83 = print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy 
-    // [237] phi print_char::ch#3 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy 
+    // [123] call print_char 
+    // [236] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
+    // [236] phi print_char_cursor#83 = print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy 
+    // [236] phi print_char::ch#3 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy 
     jsr print_char
     // print_str::@3
     // print_char(*(str++));
-    // [125] print_str::str#0 = ++ print_str::str#18 -- pbuz1=_inc_pbuz1 
+    // [124] print_str::str#0 = ++ print_str::str#18 -- pbuz1=_inc_pbuz1 
     inc.z str
     bne !+
     inc.z str+1
@@ -8144,12 +8133,12 @@ print_str: {
   // print_ln
 // Print a newline
 print_ln: {
-    // [127] phi from print_ln print_ln::@2 to print_ln::@1 [phi:print_ln/print_ln::@2->print_ln::@1]
-    // [127] phi print_line_cursor#33 = print_line_cursor#65 [phi:print_ln/print_ln::@2->print_ln::@1#0] -- register_copy 
+    // [126] phi from print_ln print_ln::@2 to print_ln::@1 [phi:print_ln/print_ln::@2->print_ln::@1]
+    // [126] phi print_line_cursor#33 = print_line_cursor#65 [phi:print_ln/print_ln::@2->print_ln::@1#0] -- register_copy 
     // print_ln::@1
   __b1:
     // print_line_cursor + $28
-    // [128] print_line_cursor#0 = print_line_cursor#33 + $28 -- pbuz1=pbuz2_plus_vbuc1 
+    // [127] print_line_cursor#0 = print_line_cursor#33 + $28 -- pbuz1=pbuz2_plus_vbuc1 
     lda #$28
     clc
     adc.z print_line_cursor_1
@@ -8158,7 +8147,7 @@ print_ln: {
     adc.z print_line_cursor_1+1
     sta.z print_line_cursor+1
     // while (print_line_cursor<print_char_cursor)
-    // [129] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2 -- pbuz1_lt_pbuz2_then_la1 
+    // [128] if(print_line_cursor#0<print_char_cursor#146) goto print_ln::@2 -- pbuz1_lt_pbuz2_then_la1 
     cmp.z print_char_cursor+1
     bcc __b2
     bne !+
@@ -8168,11 +8157,11 @@ print_ln: {
   !:
     // print_ln::@return
     // }
-    // [130] return 
+    // [129] return 
     rts
     // print_ln::@2
   __b2:
-    // [131] print_line_cursor#173 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [130] print_line_cursor#173 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
@@ -8184,25 +8173,25 @@ print_ln: {
 // printEntry(byte* zp(6) entry)
 printEntry: {
     .label entry = 6
-    // [133] print_char_cursor#211 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [132] print_char_cursor#211 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("bufdisk   ")
-    // [134] call print_str 
-    // [119] phi from printEntry to print_str [phi:printEntry->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#211 [phi:printEntry->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str [phi:printEntry->print_str#1] -- pbuz1=pbuc1 
+    // [133] call print_str 
+    // [118] phi from printEntry to print_str [phi:printEntry->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#211 [phi:printEntry->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str [phi:printEntry->print_str#1] -- pbuz1=pbuc1 
     lda #<str
     sta.z print_str.str
     lda #>str
     sta.z print_str.str+1
     jsr print_str
-    // [135] phi from printEntry to printEntry::entryBufDisk1 [phi:printEntry->printEntry::entryBufDisk1]
+    // [134] phi from printEntry to printEntry::entryBufDisk1 [phi:printEntry->printEntry::entryBufDisk1]
     // printEntry::entryBufDisk1
     // printEntry::@1
-    // [136] print_uint::w#7 = (word)*((byte**)printEntry::entry#10) -- vwuz1=_deref_pwuz2 
+    // [135] print_uint::w#7 = (word)*((byte**)printEntry::entry#10) -- vwuz1=_deref_pwuz2 
     ldy #0
     lda (entry),y
     sta.z print_uint.w
@@ -8210,42 +8199,42 @@ printEntry: {
     lda (entry),y
     sta.z print_uint.w+1
     // print_uint((word)*entryBufDisk(entry))
-    // [137] call print_uint 
-    // [241] phi from printEntry::@1 to print_uint [phi:printEntry::@1->print_uint]
-    // [241] phi print_uint::w#5 = print_uint::w#7 [phi:printEntry::@1->print_uint#0] -- register_copy 
+    // [136] call print_uint 
+    // [240] phi from printEntry::@1 to print_uint [phi:printEntry::@1->print_uint]
+    // [240] phi print_uint::w#5 = print_uint::w#7 [phi:printEntry::@1->print_uint#0] -- register_copy 
     jsr print_uint
     // printEntry::@14
-    // [138] print_line_cursor#159 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [137] print_line_cursor#159 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [139] call print_ln 
-    // [126] phi from printEntry::@14 to print_ln [phi:printEntry::@14->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@14->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#159 [phi:printEntry::@14->print_ln#1] -- register_copy 
+    // [138] call print_ln 
+    // [125] phi from printEntry::@14 to print_ln [phi:printEntry::@14->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@14->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#159 [phi:printEntry::@14->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@15
-    // [140] print_char_cursor#212 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [139] print_char_cursor#212 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("bufedit   ")
-    // [141] call print_str 
-    // [119] phi from printEntry::@15 to print_str [phi:printEntry::@15->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#212 [phi:printEntry::@15->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str1 [phi:printEntry::@15->print_str#1] -- pbuz1=pbuc1 
+    // [140] call print_str 
+    // [118] phi from printEntry::@15 to print_str [phi:printEntry::@15->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#212 [phi:printEntry::@15->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str1 [phi:printEntry::@15->print_str#1] -- pbuz1=pbuc1 
     lda #<str1
     sta.z print_str.str
     lda #>str1
     sta.z print_str.str+1
     jsr print_str
-    // [142] phi from printEntry::@15 to printEntry::entryBufEdit1 [phi:printEntry::@15->printEntry::entryBufEdit1]
+    // [141] phi from printEntry::@15 to printEntry::entryBufEdit1 [phi:printEntry::@15->printEntry::entryBufEdit1]
     // printEntry::entryBufEdit1
     // printEntry::@2
-    // [143] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2] -- vwuz1=pwuz2_derefidx_vbuc1 
+    // [142] print_uint::w#8 = (word)((byte**)printEntry::entry#10)[2] -- vwuz1=pwuz2_derefidx_vbuc1 
     ldy #2
     lda (entry),y
     sta.z print_uint.w
@@ -8253,85 +8242,85 @@ printEntry: {
     lda (entry),y
     sta.z print_uint.w+1
     // print_uint((word)*entryBufEdit(entry))
-    // [144] call print_uint 
-    // [241] phi from printEntry::@2 to print_uint [phi:printEntry::@2->print_uint]
-    // [241] phi print_uint::w#5 = print_uint::w#8 [phi:printEntry::@2->print_uint#0] -- register_copy 
+    // [143] call print_uint 
+    // [240] phi from printEntry::@2 to print_uint [phi:printEntry::@2->print_uint]
+    // [240] phi print_uint::w#5 = print_uint::w#8 [phi:printEntry::@2->print_uint#0] -- register_copy 
     jsr print_uint
     // printEntry::@16
-    // [145] print_line_cursor#160 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [144] print_line_cursor#160 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [146] call print_ln 
-    // [126] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@16->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#160 [phi:printEntry::@16->print_ln#1] -- register_copy 
+    // [145] call print_ln 
+    // [125] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@16->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#160 [phi:printEntry::@16->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@17
-    // [147] print_char_cursor#213 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [146] print_char_cursor#213 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("tslen     ")
-    // [148] call print_str 
-    // [119] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#213 [phi:printEntry::@17->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 
+    // [147] call print_str 
+    // [118] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#213 [phi:printEntry::@17->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 
     lda #<str2
     sta.z print_str.str
     lda #>str2
     sta.z print_str.str+1
     jsr print_str
-    // [149] phi from printEntry::@17 to printEntry::entryTsLen1 [phi:printEntry::@17->printEntry::entryTsLen1]
+    // [148] phi from printEntry::@17 to printEntry::entryTsLen1 [phi:printEntry::@17->printEntry::entryTsLen1]
     // printEntry::entryTsLen1
     // printEntry::@3
     // print_uint(*entryTsLen(entry))
-    // [150] print_uint::w#2 = ((word*)printEntry::entry#10)[4] -- vwuz1=pwuz2_derefidx_vbuc1 
+    // [149] print_uint::w#2 = ((word*)printEntry::entry#10)[4] -- vwuz1=pwuz2_derefidx_vbuc1 
     ldy #4
     lda (entry),y
     sta.z print_uint.w
     iny
     lda (entry),y
     sta.z print_uint.w+1
-    // [151] call print_uint 
-    // [241] phi from printEntry::@3 to print_uint [phi:printEntry::@3->print_uint]
-    // [241] phi print_uint::w#5 = print_uint::w#2 [phi:printEntry::@3->print_uint#0] -- register_copy 
+    // [150] call print_uint 
+    // [240] phi from printEntry::@3 to print_uint [phi:printEntry::@3->print_uint]
+    // [240] phi print_uint::w#5 = print_uint::w#2 [phi:printEntry::@3->print_uint#0] -- register_copy 
     jsr print_uint
     // printEntry::@18
-    // [152] print_line_cursor#161 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [151] print_line_cursor#161 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [153] call print_ln 
-    // [126] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@18->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#161 [phi:printEntry::@18->print_ln#1] -- register_copy 
+    // [152] call print_ln 
+    // [125] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@18->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#161 [phi:printEntry::@18->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@19
-    // [154] print_char_cursor#214 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [153] print_char_cursor#214 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("tsorder   ")
-    // [155] call print_str 
-    // [119] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#214 [phi:printEntry::@19->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 
+    // [154] call print_str 
+    // [118] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#214 [phi:printEntry::@19->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 
     lda #<str3
     sta.z print_str.str
     lda #>str3
     sta.z print_str.str+1
     jsr print_str
-    // [156] phi from printEntry::@19 to printEntry::entryTsOrder1 [phi:printEntry::@19->printEntry::entryTsOrder1]
+    // [155] phi from printEntry::@19 to printEntry::entryTsOrder1 [phi:printEntry::@19->printEntry::entryTsOrder1]
     // printEntry::entryTsOrder1
     // printEntry::@4
-    // [157] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6] -- vwuz1=pwuz2_derefidx_vbuc1 
+    // [156] print_uint::w#10 = (word)((word**)printEntry::entry#10)[6] -- vwuz1=pwuz2_derefidx_vbuc1 
     ldy #6
     lda (entry),y
     sta.z print_uint.w
@@ -8339,396 +8328,396 @@ printEntry: {
     lda (entry),y
     sta.z print_uint.w+1
     // print_uint((word)*entryTsOrder(entry))
-    // [158] call print_uint 
-    // [241] phi from printEntry::@4 to print_uint [phi:printEntry::@4->print_uint]
-    // [241] phi print_uint::w#5 = print_uint::w#10 [phi:printEntry::@4->print_uint#0] -- register_copy 
+    // [157] call print_uint 
+    // [240] phi from printEntry::@4 to print_uint [phi:printEntry::@4->print_uint]
+    // [240] phi print_uint::w#5 = print_uint::w#10 [phi:printEntry::@4->print_uint#0] -- register_copy 
     jsr print_uint
     // printEntry::@20
-    // [159] print_line_cursor#162 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [158] print_line_cursor#162 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [160] call print_ln 
-    // [126] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@20->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#162 [phi:printEntry::@20->print_ln#1] -- register_copy 
+    // [159] call print_ln 
+    // [125] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@20->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#162 [phi:printEntry::@20->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@21
-    // [161] print_char_cursor#215 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [160] print_char_cursor#215 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("tlastlink   ")
-    // [162] call print_str 
-    // [119] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#215 [phi:printEntry::@21->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 
+    // [161] call print_str 
+    // [118] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#215 [phi:printEntry::@21->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 
     lda #<str4
     sta.z print_str.str
     lda #>str4
     sta.z print_str.str+1
     jsr print_str
-    // [163] phi from printEntry::@21 to printEntry::entryTLastLink1 [phi:printEntry::@21->printEntry::entryTLastLink1]
+    // [162] phi from printEntry::@21 to printEntry::entryTLastLink1 [phi:printEntry::@21->printEntry::entryTLastLink1]
     // printEntry::entryTLastLink1
     // printEntry::@5
     // print_uchar(*entryTLastLink(entry))
-    // [164] print_uchar::b#2 = printEntry::entry#10[8] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [163] print_uchar::b#2 = printEntry::entry#10[8] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #8
     lda (entry),y
     tax
-    // [165] call print_uchar 
-    // [247] phi from printEntry::@5 to print_uchar [phi:printEntry::@5->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@5->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#2 [phi:printEntry::@5->print_uchar#1] -- register_copy 
+    // [164] call print_uchar 
+    // [246] phi from printEntry::@5 to print_uchar [phi:printEntry::@5->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@5->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#2 [phi:printEntry::@5->print_uchar#1] -- register_copy 
     jsr print_uchar
     // printEntry::@22
-    // [166] print_line_cursor#163 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [165] print_line_cursor#163 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [167] call print_ln 
-    // [126] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@22->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#163 [phi:printEntry::@22->print_ln#1] -- register_copy 
+    // [166] call print_ln 
+    // [125] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@22->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#163 [phi:printEntry::@22->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@23
-    // [168] print_char_cursor#216 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [167] print_char_cursor#216 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("slastlink   ")
-    // [169] call print_str 
-    // [119] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#216 [phi:printEntry::@23->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 
+    // [168] call print_str 
+    // [118] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#216 [phi:printEntry::@23->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 
     lda #<str5
     sta.z print_str.str
     lda #>str5
     sta.z print_str.str+1
     jsr print_str
-    // [170] phi from printEntry::@23 to printEntry::entrySLastLink1 [phi:printEntry::@23->printEntry::entrySLastLink1]
+    // [169] phi from printEntry::@23 to printEntry::entrySLastLink1 [phi:printEntry::@23->printEntry::entrySLastLink1]
     // printEntry::entrySLastLink1
     // printEntry::@6
     // print_uchar(*entrySLastLink(entry))
-    // [171] print_uchar::b#3 = printEntry::entry#10[9] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [170] print_uchar::b#3 = printEntry::entry#10[9] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #9
     lda (entry),y
     tax
-    // [172] call print_uchar 
-    // [247] phi from printEntry::@6 to print_uchar [phi:printEntry::@6->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@6->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#3 [phi:printEntry::@6->print_uchar#1] -- register_copy 
+    // [171] call print_uchar 
+    // [246] phi from printEntry::@6 to print_uchar [phi:printEntry::@6->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@6->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#3 [phi:printEntry::@6->print_uchar#1] -- register_copy 
     jsr print_uchar
     // printEntry::@24
-    // [173] print_line_cursor#164 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [172] print_line_cursor#164 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [174] call print_ln 
-    // [126] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@24->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#164 [phi:printEntry::@24->print_ln#1] -- register_copy 
+    // [173] call print_ln 
+    // [125] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@24->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#164 [phi:printEntry::@24->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@25
-    // [175] print_char_cursor#217 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [174] print_char_cursor#217 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("bflag       ")
-    // [176] call print_str 
-    // [119] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#217 [phi:printEntry::@25->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 
+    // [175] call print_str 
+    // [118] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#217 [phi:printEntry::@25->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 
     lda #<str6
     sta.z print_str.str
     lda #>str6
     sta.z print_str.str+1
     jsr print_str
-    // [177] phi from printEntry::@25 to printEntry::entryBFlag1 [phi:printEntry::@25->printEntry::entryBFlag1]
+    // [176] phi from printEntry::@25 to printEntry::entryBFlag1 [phi:printEntry::@25->printEntry::entryBFlag1]
     // printEntry::entryBFlag1
     // printEntry::@7
     // print_uchar(*entryBFlag(entry))
-    // [178] print_uchar::b#4 = printEntry::entry#10[$a] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [177] print_uchar::b#4 = printEntry::entry#10[$a] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$a
     lda (entry),y
     tax
-    // [179] call print_uchar 
-    // [247] phi from printEntry::@7 to print_uchar [phi:printEntry::@7->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@7->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#4 [phi:printEntry::@7->print_uchar#1] -- register_copy 
+    // [178] call print_uchar 
+    // [246] phi from printEntry::@7 to print_uchar [phi:printEntry::@7->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@7->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#4 [phi:printEntry::@7->print_uchar#1] -- register_copy 
     jsr print_uchar
     // printEntry::@26
-    // [180] print_line_cursor#165 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [179] print_line_cursor#165 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [181] call print_ln 
-    // [126] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@26->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#165 [phi:printEntry::@26->print_ln#1] -- register_copy 
+    // [180] call print_ln 
+    // [125] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@26->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#165 [phi:printEntry::@26->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@27
-    // [182] print_char_cursor#218 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [181] print_char_cursor#218 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("berror      ")
-    // [183] call print_str 
-    // [119] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#218 [phi:printEntry::@27->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 
+    // [182] call print_str 
+    // [118] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#218 [phi:printEntry::@27->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 
     lda #<str7
     sta.z print_str.str
     lda #>str7
     sta.z print_str.str+1
     jsr print_str
-    // [184] phi from printEntry::@27 to printEntry::entryBError1 [phi:printEntry::@27->printEntry::entryBError1]
+    // [183] phi from printEntry::@27 to printEntry::entryBError1 [phi:printEntry::@27->printEntry::entryBError1]
     // printEntry::entryBError1
     // printEntry::@8
     // print_uchar(*entryBError(entry))
-    // [185] print_uchar::b#5 = printEntry::entry#10[$b] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [184] print_uchar::b#5 = printEntry::entry#10[$b] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$b
     lda (entry),y
     tax
-    // [186] call print_uchar 
-    // [247] phi from printEntry::@8 to print_uchar [phi:printEntry::@8->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@8->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#5 [phi:printEntry::@8->print_uchar#1] -- register_copy 
+    // [185] call print_uchar 
+    // [246] phi from printEntry::@8 to print_uchar [phi:printEntry::@8->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@8->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#5 [phi:printEntry::@8->print_uchar#1] -- register_copy 
     jsr print_uchar
     // printEntry::@28
-    // [187] print_line_cursor#166 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [186] print_line_cursor#166 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [188] call print_ln 
-    // [126] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@28->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#166 [phi:printEntry::@28->print_ln#1] -- register_copy 
+    // [187] call print_ln 
+    // [125] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@28->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#166 [phi:printEntry::@28->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@29
-    // [189] print_char_cursor#219 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [188] print_char_cursor#219 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("ucross    ")
-    // [190] call print_str 
-    // [119] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#219 [phi:printEntry::@29->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 
+    // [189] call print_str 
+    // [118] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#219 [phi:printEntry::@29->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 
     lda #<str8
     sta.z print_str.str
     lda #>str8
     sta.z print_str.str+1
     jsr print_str
-    // [191] phi from printEntry::@29 to printEntry::entryUCross1 [phi:printEntry::@29->printEntry::entryUCross1]
+    // [190] phi from printEntry::@29 to printEntry::entryUCross1 [phi:printEntry::@29->printEntry::entryUCross1]
     // printEntry::entryUCross1
     // printEntry::@9
     // print_uint(*entryUCross(entry))
-    // [192] print_uint::w#4 = ((word*)printEntry::entry#10)[$c] -- vwuz1=pwuz2_derefidx_vbuc1 
+    // [191] print_uint::w#4 = ((word*)printEntry::entry#10)[$c] -- vwuz1=pwuz2_derefidx_vbuc1 
     ldy #$c
     lda (entry),y
     sta.z print_uint.w
     iny
     lda (entry),y
     sta.z print_uint.w+1
-    // [193] call print_uint 
-    // [241] phi from printEntry::@9 to print_uint [phi:printEntry::@9->print_uint]
-    // [241] phi print_uint::w#5 = print_uint::w#4 [phi:printEntry::@9->print_uint#0] -- register_copy 
+    // [192] call print_uint 
+    // [240] phi from printEntry::@9 to print_uint [phi:printEntry::@9->print_uint]
+    // [240] phi print_uint::w#5 = print_uint::w#4 [phi:printEntry::@9->print_uint#0] -- register_copy 
     jsr print_uint
     // printEntry::@30
-    // [194] print_line_cursor#167 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [193] print_line_cursor#167 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [195] call print_ln 
-    // [126] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@30->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#167 [phi:printEntry::@30->print_ln#1] -- register_copy 
+    // [194] call print_ln 
+    // [125] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@30->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#167 [phi:printEntry::@30->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@31
-    // [196] print_char_cursor#220 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [195] print_char_cursor#220 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("baddrlo     ")
-    // [197] call print_str 
-    // [119] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#220 [phi:printEntry::@31->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 
+    // [196] call print_str 
+    // [118] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#220 [phi:printEntry::@31->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 
     lda #<str9
     sta.z print_str.str
     lda #>str9
     sta.z print_str.str+1
     jsr print_str
-    // [198] phi from printEntry::@31 to printEntry::entryBAddrLo1 [phi:printEntry::@31->printEntry::entryBAddrLo1]
+    // [197] phi from printEntry::@31 to printEntry::entryBAddrLo1 [phi:printEntry::@31->printEntry::entryBAddrLo1]
     // printEntry::entryBAddrLo1
     // printEntry::@10
     // print_uchar(*entryBAddrLo(entry))
-    // [199] print_uchar::b#6 = printEntry::entry#10[$e] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [198] print_uchar::b#6 = printEntry::entry#10[$e] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$e
     lda (entry),y
     tax
-    // [200] call print_uchar 
-    // [247] phi from printEntry::@10 to print_uchar [phi:printEntry::@10->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@10->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#6 [phi:printEntry::@10->print_uchar#1] -- register_copy 
+    // [199] call print_uchar 
+    // [246] phi from printEntry::@10 to print_uchar [phi:printEntry::@10->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@10->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#6 [phi:printEntry::@10->print_uchar#1] -- register_copy 
     jsr print_uchar
     // printEntry::@32
-    // [201] print_line_cursor#168 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [200] print_line_cursor#168 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [202] call print_ln 
-    // [126] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@32->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#168 [phi:printEntry::@32->print_ln#1] -- register_copy 
+    // [201] call print_ln 
+    // [125] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@32->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#168 [phi:printEntry::@32->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@33
-    // [203] print_char_cursor#221 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [202] print_char_cursor#221 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("baddrhi     ")
-    // [204] call print_str 
-    // [119] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#221 [phi:printEntry::@33->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 
+    // [203] call print_str 
+    // [118] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#221 [phi:printEntry::@33->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 
     lda #<str10
     sta.z print_str.str
     lda #>str10
     sta.z print_str.str+1
     jsr print_str
-    // [205] phi from printEntry::@33 to printEntry::entryBAddrHi1 [phi:printEntry::@33->printEntry::entryBAddrHi1]
+    // [204] phi from printEntry::@33 to printEntry::entryBAddrHi1 [phi:printEntry::@33->printEntry::entryBAddrHi1]
     // printEntry::entryBAddrHi1
     // printEntry::@11
     // print_uchar(*entryBAddrHi(entry))
-    // [206] print_uchar::b#7 = printEntry::entry#10[$f] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [205] print_uchar::b#7 = printEntry::entry#10[$f] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$f
     lda (entry),y
     tax
-    // [207] call print_uchar 
-    // [247] phi from printEntry::@11 to print_uchar [phi:printEntry::@11->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@11->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#7 [phi:printEntry::@11->print_uchar#1] -- register_copy 
+    // [206] call print_uchar 
+    // [246] phi from printEntry::@11 to print_uchar [phi:printEntry::@11->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@11->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#7 [phi:printEntry::@11->print_uchar#1] -- register_copy 
     jsr print_uchar
     // printEntry::@34
-    // [208] print_line_cursor#169 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [207] print_line_cursor#169 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [209] call print_ln 
-    // [126] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@34->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#169 [phi:printEntry::@34->print_ln#1] -- register_copy 
+    // [208] call print_ln 
+    // [125] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@34->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#169 [phi:printEntry::@34->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@35
-    // [210] print_char_cursor#222 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [209] print_char_cursor#222 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("thi         ")
-    // [211] call print_str 
-    // [119] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#222 [phi:printEntry::@35->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 
+    // [210] call print_str 
+    // [118] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#222 [phi:printEntry::@35->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 
     lda #<str11
     sta.z print_str.str
     lda #>str11
     sta.z print_str.str+1
     jsr print_str
-    // [212] phi from printEntry::@35 to printEntry::entryTHi1 [phi:printEntry::@35->printEntry::entryTHi1]
+    // [211] phi from printEntry::@35 to printEntry::entryTHi1 [phi:printEntry::@35->printEntry::entryTHi1]
     // printEntry::entryTHi1
     // printEntry::@12
     // print_uchar(*entryTHi(entry))
-    // [213] print_uchar::b#8 = printEntry::entry#10[$10] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [212] print_uchar::b#8 = printEntry::entry#10[$10] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$10
     lda (entry),y
     tax
-    // [214] call print_uchar 
-    // [247] phi from printEntry::@12 to print_uchar [phi:printEntry::@12->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@12->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#8 [phi:printEntry::@12->print_uchar#1] -- register_copy 
+    // [213] call print_uchar 
+    // [246] phi from printEntry::@12 to print_uchar [phi:printEntry::@12->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@12->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#8 [phi:printEntry::@12->print_uchar#1] -- register_copy 
     jsr print_uchar
     // printEntry::@36
-    // [215] print_line_cursor#170 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [214] print_line_cursor#170 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [216] call print_ln 
-    // [126] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@36->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#170 [phi:printEntry::@36->print_ln#1] -- register_copy 
+    // [215] call print_ln 
+    // [125] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@36->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#170 [phi:printEntry::@36->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@37
-    // [217] print_char_cursor#223 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [216] print_char_cursor#223 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_char_cursor
     lda.z print_line_cursor+1
     sta.z print_char_cursor+1
     // print_str("tlo         ")
-    // [218] call print_str 
-    // [119] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str]
-    // [119] phi print_char_cursor#167 = print_char_cursor#223 [phi:printEntry::@37->print_str#0] -- register_copy 
-    // [119] phi print_str::str#21 = printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 
+    // [217] call print_str 
+    // [118] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str]
+    // [118] phi print_char_cursor#167 = print_char_cursor#223 [phi:printEntry::@37->print_str#0] -- register_copy 
+    // [118] phi print_str::str#21 = printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 
     lda #<str12
     sta.z print_str.str
     lda #>str12
     sta.z print_str.str+1
     jsr print_str
-    // [219] phi from printEntry::@37 to printEntry::entryTLo1 [phi:printEntry::@37->printEntry::entryTLo1]
+    // [218] phi from printEntry::@37 to printEntry::entryTLo1 [phi:printEntry::@37->printEntry::entryTLo1]
     // printEntry::entryTLo1
     // printEntry::@13
     // print_uchar(*entryTLo(entry))
-    // [220] print_uchar::b#9 = printEntry::entry#10[$11] -- vbuxx=pbuz1_derefidx_vbuc1 
+    // [219] print_uchar::b#9 = printEntry::entry#10[$11] -- vbuxx=pbuz1_derefidx_vbuc1 
     ldy #$11
     lda (entry),y
     tax
-    // [221] call print_uchar 
-    // [247] phi from printEntry::@13 to print_uchar [phi:printEntry::@13->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@13->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#9 [phi:printEntry::@13->print_uchar#1] -- register_copy 
+    // [220] call print_uchar 
+    // [246] phi from printEntry::@13 to print_uchar [phi:printEntry::@13->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:printEntry::@13->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#9 [phi:printEntry::@13->print_uchar#1] -- register_copy 
     jsr print_uchar
     // printEntry::@38
-    // [222] print_line_cursor#171 = print_line_cursor#0 -- pbuz1=pbuz2 
+    // [221] print_line_cursor#171 = print_line_cursor#0 -- pbuz1=pbuz2 
     lda.z print_line_cursor
     sta.z print_line_cursor_1
     lda.z print_line_cursor+1
     sta.z print_line_cursor_1+1
     // print_ln()
-    // [223] call print_ln 
-    // [126] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln]
-    // [126] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@38->print_ln#0] -- register_copy 
-    // [126] phi print_line_cursor#65 = print_line_cursor#171 [phi:printEntry::@38->print_ln#1] -- register_copy 
+    // [222] call print_ln 
+    // [125] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln]
+    // [125] phi print_char_cursor#146 = print_char_cursor#10 [phi:printEntry::@38->print_ln#0] -- register_copy 
+    // [125] phi print_line_cursor#65 = print_line_cursor#171 [phi:printEntry::@38->print_ln#1] -- register_copy 
     jsr print_ln
     // printEntry::@return
     // }
-    // [224] return 
+    // [223] return 
     rts
   .segment Data
     str: .text "bufdisk   "
@@ -8768,17 +8757,17 @@ keyboard_key_pressed: {
     .const colidx = KEY_SPACE&7
     .label rowidx = KEY_SPACE>>3
     // keyboard_matrix_read(rowidx)
-    // [226] call keyboard_matrix_read 
+    // [225] call keyboard_matrix_read 
     jsr keyboard_matrix_read
-    // [227] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
+    // [226] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
     // keyboard_key_pressed::@1
-    // [228] keyboard_key_pressed::$2 = keyboard_matrix_read::return#2
+    // [227] keyboard_key_pressed::$2 = keyboard_matrix_read::return#2
     // keyboard_matrix_read(rowidx) & keyboard_matrix_col_bitmask[colidx]
-    // [229] keyboard_key_pressed::return#0 = keyboard_key_pressed::$2 & *(keyboard_matrix_col_bitmask+keyboard_key_pressed::colidx#0) -- vbuaa=vbuaa_band__deref_pbuc1 
+    // [228] keyboard_key_pressed::return#0 = keyboard_key_pressed::$2 & *(keyboard_matrix_col_bitmask+keyboard_key_pressed::colidx#0) -- vbuaa=vbuaa_band__deref_pbuc1 
     and keyboard_matrix_col_bitmask+colidx
     // keyboard_key_pressed::@return
     // }
-    // [230] return 
+    // [229] return 
     rts
 }
   // memset
@@ -8789,8 +8778,8 @@ memset: {
     .label str = print_screen
     .label end = str+num
     .label dst = $a
-    // [232] phi from memset to memset::@1 [phi:memset->memset::@1]
-    // [232] phi memset::dst#2 = (byte*)memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
+    // [231] phi from memset to memset::@1 [phi:memset->memset::@1]
+    // [231] phi memset::dst#2 = (byte*)memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
     lda #<str
     sta.z dst
     lda #>str
@@ -8798,7 +8787,7 @@ memset: {
     // memset::@1
   __b1:
     // for(char* dst = str; dst!=end; dst++)
-    // [233] if(memset::dst#2!=memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
+    // [232] if(memset::dst#2!=memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
     lda.z dst+1
     cmp #>end
     bne __b2
@@ -8807,23 +8796,23 @@ memset: {
     bne __b2
     // memset::@return
     // }
-    // [234] return 
+    // [233] return 
     rts
     // memset::@2
   __b2:
     // *dst = c
-    // [235] *memset::dst#2 = memset::c#0 -- _deref_pbuz1=vbuc1 
+    // [234] *memset::dst#2 = memset::c#0 -- _deref_pbuz1=vbuc1 
     lda #c
     ldy #0
     sta (dst),y
     // for(char* dst = str; dst!=end; dst++)
-    // [236] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
+    // [235] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
     inc.z dst
     bne !+
     inc.z dst+1
   !:
-    // [232] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
-    // [232] phi memset::dst#2 = memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
+    // [231] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
+    // [231] phi memset::dst#2 = memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
     jmp __b1
 }
   // print_char
@@ -8831,18 +8820,18 @@ memset: {
 // print_char(byte register(A) ch)
 print_char: {
     // *(print_char_cursor++) = ch
-    // [238] *print_char_cursor#83 = print_char::ch#3 -- _deref_pbuz1=vbuaa 
+    // [237] *print_char_cursor#83 = print_char::ch#3 -- _deref_pbuz1=vbuaa 
     ldy #0
     sta (print_char_cursor),y
     // *(print_char_cursor++) = ch;
-    // [239] print_char_cursor#10 = ++ print_char_cursor#83 -- pbuz1=_inc_pbuz1 
+    // [238] print_char_cursor#10 = ++ print_char_cursor#83 -- pbuz1=_inc_pbuz1 
     inc.z print_char_cursor
     bne !+
     inc.z print_char_cursor+1
   !:
     // print_char::@return
     // }
-    // [240] return 
+    // [239] return 
     rts
 }
   // print_uint
@@ -8851,25 +8840,25 @@ print_char: {
 print_uint: {
     .label w = 8
     // print_uchar(>w)
-    // [242] print_uchar::b#0 = > print_uint::w#5 -- vbuxx=_hi_vwuz1 
+    // [241] print_uchar::b#0 = > print_uint::w#5 -- vbuxx=_hi_vwuz1 
     ldx.z w+1
-    // [243] call print_uchar 
-    // [247] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#1 [phi:print_uint->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#0 [phi:print_uint->print_uchar#1] -- register_copy 
+    // [242] call print_uchar 
+    // [246] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#1 [phi:print_uint->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#0 [phi:print_uint->print_uchar#1] -- register_copy 
     jsr print_uchar
     // print_uint::@1
     // print_uchar(<w)
-    // [244] print_uchar::b#1 = < print_uint::w#5 -- vbuxx=_lo_vwuz1 
+    // [243] print_uchar::b#1 = < print_uint::w#5 -- vbuxx=_lo_vwuz1 
     ldx.z w
-    // [245] call print_uchar 
-    // [247] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
-    // [247] phi print_char_cursor#148 = print_char_cursor#10 [phi:print_uint::@1->print_uchar#0] -- register_copy 
-    // [247] phi print_uchar::b#10 = print_uchar::b#1 [phi:print_uint::@1->print_uchar#1] -- register_copy 
+    // [244] call print_uchar 
+    // [246] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
+    // [246] phi print_char_cursor#148 = print_char_cursor#10 [phi:print_uint::@1->print_uchar#0] -- register_copy 
+    // [246] phi print_uchar::b#10 = print_uchar::b#1 [phi:print_uint::@1->print_uchar#1] -- register_copy 
     jsr print_uchar
     // print_uint::@return
     // }
-    // [246] return 
+    // [245] return 
     rts
 }
   // print_uchar
@@ -8877,38 +8866,38 @@ print_uint: {
 // print_uchar(byte register(X) b)
 print_uchar: {
     // b>>4
-    // [248] print_uchar::$0 = print_uchar::b#10 >> 4 -- vbuaa=vbuxx_ror_4 
+    // [247] print_uchar::$0 = print_uchar::b#10 >> 4 -- vbuaa=vbuxx_ror_4 
     txa
     lsr
     lsr
     lsr
     lsr
     // print_char(print_hextab[b>>4])
-    // [249] print_char::ch#1 = print_hextab[print_uchar::$0] -- vbuaa=pbuc1_derefidx_vbuaa 
+    // [248] print_char::ch#1 = print_hextab[print_uchar::$0] -- vbuaa=pbuc1_derefidx_vbuaa 
     tay
     lda print_hextab,y
-    // [250] call print_char 
+    // [249] call print_char 
   // Table of hexadecimal digits
-    // [237] phi from print_uchar to print_char [phi:print_uchar->print_char]
-    // [237] phi print_char_cursor#83 = print_char_cursor#148 [phi:print_uchar->print_char#0] -- register_copy 
-    // [237] phi print_char::ch#3 = print_char::ch#1 [phi:print_uchar->print_char#1] -- register_copy 
+    // [236] phi from print_uchar to print_char [phi:print_uchar->print_char]
+    // [236] phi print_char_cursor#83 = print_char_cursor#148 [phi:print_uchar->print_char#0] -- register_copy 
+    // [236] phi print_char::ch#3 = print_char::ch#1 [phi:print_uchar->print_char#1] -- register_copy 
     jsr print_char
     // print_uchar::@1
     // b&$f
-    // [251] print_uchar::$2 = print_uchar::b#10 & $f -- vbuxx=vbuxx_band_vbuc1 
+    // [250] print_uchar::$2 = print_uchar::b#10 & $f -- vbuxx=vbuxx_band_vbuc1 
     lda #$f
     axs #0
     // print_char(print_hextab[b&$f])
-    // [252] print_char::ch#2 = print_hextab[print_uchar::$2] -- vbuaa=pbuc1_derefidx_vbuxx 
+    // [251] print_char::ch#2 = print_hextab[print_uchar::$2] -- vbuaa=pbuc1_derefidx_vbuxx 
     lda print_hextab,x
-    // [253] call print_char 
-    // [237] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
-    // [237] phi print_char_cursor#83 = print_char_cursor#10 [phi:print_uchar::@1->print_char#0] -- register_copy 
-    // [237] phi print_char::ch#3 = print_char::ch#2 [phi:print_uchar::@1->print_char#1] -- register_copy 
+    // [252] call print_char 
+    // [236] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
+    // [236] phi print_char_cursor#83 = print_char_cursor#10 [phi:print_uchar::@1->print_char#0] -- register_copy 
+    // [236] phi print_char::ch#3 = print_char::ch#2 [phi:print_uchar::@1->print_char#1] -- register_copy 
     jsr print_char
     // print_uchar::@return
     // }
-    // [254] return 
+    // [253] return 
     rts
 }
   // keyboard_matrix_read
@@ -8919,16 +8908,16 @@ print_uchar: {
 // leading to erroneous readings. You must disable the normal interrupt or sei/cli around calls to the keyboard matrix reader.
 keyboard_matrix_read: {
     // CIA1->PORT_A = keyboard_matrix_row_bitmask[rowid]
-    // [255] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0) -- _deref_pbuc1=_deref_pbuc2 
+    // [254] *((byte*)CIA1) = *(keyboard_matrix_row_bitmask+keyboard_key_pressed::rowidx#0) -- _deref_pbuc1=_deref_pbuc2 
     lda keyboard_matrix_row_bitmask+keyboard_key_pressed.rowidx
     sta CIA1
     // ~CIA1->PORT_B
-    // [256] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1 
+    // [255] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1 
     lda CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B
     eor #$ff
     // keyboard_matrix_read::@return
     // }
-    // [257] return 
+    // [256] return 
     rts
 }
   // File Data
diff --git a/src/test/ref/semi-struct-2.sym b/src/test/ref/semi-struct-2.sym
index 4336b6d14..bc9a56edf 100644
--- a/src/test/ref/semi-struct-2.sym
+++ b/src/test/ref/semi-struct-2.sym
@@ -11,7 +11,7 @@ constant byte RADIX::OCTAL = 8
 constant const byte SIZEOF_ENTRY = $12
 constant byte* files[(word)MAX_FILES*SIZEOF_ENTRY]  = { fill( (word)MAX_FILES*SIZEOF_ENTRY, 0) }
 void initEntry(byte* initEntry::entry , byte initEntry::n)
-byte*~ initEntry::$1 zp[2]:8 22.0
+word~ initEntry::$1 zp[2]:8 11.0
 byte~ initEntry::$11 reg byte a 22.0
 byte~ initEntry::$13 reg byte a 22.0
 byte~ initEntry::$15 reg byte a 22.0
@@ -20,15 +20,14 @@ byte~ initEntry::$19 reg byte a 22.0
 byte~ initEntry::$21 reg byte a 22.0
 byte~ initEntry::$23 reg byte a 22.0
 byte~ initEntry::$25 reg byte a 22.0
-byte~ initEntry::$26 reg byte a 22.0
-byte*~ initEntry::$3 zp[2]:16 22.0
+word~ initEntry::$3 zp[2]:16 11.0
 word~ initEntry::$5 zp[2]:10 22.0
-word*~ initEntry::$7 zp[2]:12 22.0
+word~ initEntry::$7 zp[2]:12 11.0
 byte~ initEntry::$9 reg byte a 22.0
 byte* initEntry::entry
 byte* initEntry::entry#0 entry zp[2]:4 4.0
 byte* initEntry::entry#1 entry zp[2]:4 4.0
-byte* initEntry::entry#10 entry zp[2]:4 2.3
+byte* initEntry::entry#10 entry zp[2]:4 2.3589743589743586
 byte* initEntry::entryBAddrHi1_entry
 byte* initEntry::entryBAddrHi1_return
 byte* initEntry::entryBAddrLo1_entry
@@ -56,7 +55,7 @@ word** initEntry::entryTsOrder1_return
 byte* initEntry::entryUCross1_entry
 word* initEntry::entryUCross1_return
 byte initEntry::n
-byte initEntry::n#10 reg byte x 3.6666666666666656
+byte initEntry::n#10 reg byte x 3.7631578947368434
 void keyboard_init()
 byte keyboard_key_pressed(byte keyboard_key_pressed::key)
 byte~ keyboard_key_pressed::$2 reg byte a 202.0
@@ -271,7 +270,6 @@ reg byte a [ main::$22 ]
 reg byte a [ mul8u::$1 ]
 zp[2]:8 [ initEntry::$1 print_uint::w#5 print_uint::w#7 print_uint::w#8 print_uint::w#2 print_uint::w#10 print_uint::w#4 ]
 zp[2]:10 [ initEntry::$5 print_char_cursor#83 print_char_cursor#146 print_char_cursor#1 print_char_cursor#167 print_char_cursor#209 print_char_cursor#210 print_char_cursor#211 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#10 print_char_cursor#227 print_char_cursor#228 print_char_cursor#230 print_char_cursor#231 print_char_cursor#148 memset::dst#2 memset::dst#1 ]
-reg byte a [ initEntry::$26 ]
 zp[2]:12 [ initEntry::$7 ]
 reg byte a [ initEntry::$9 ]
 reg byte a [ initEntry::$11 ]
diff --git a/src/test/ref/sizeof-arrays.asm b/src/test/ref/sizeof-arrays.asm
index e590e29eb..46b0ec109 100644
--- a/src/test/ref/sizeof-arrays.asm
+++ b/src/test/ref/sizeof-arrays.asm
@@ -13,22 +13,22 @@
 .segment Code
 main: {
     .const sz = 7
-    // SCREEN[idx++] = '0'+sizeof(ba)/sizeof(byte)
+    // SCREEN[idx++] = '0'+(char)(sizeof(ba)/sizeof(byte))
     lda #'0'+3*SIZEOF_BYTE/SIZEOF_BYTE
     sta SCREEN
-    // SCREEN[idx++] = '0'+sizeof(wa)/sizeof(word)
+    // SCREEN[idx++] = '0'+(char)(sizeof(wa)/sizeof(word))
     lda #'0'+3*SIZEOF_WORD/SIZEOF_WORD
     sta SCREEN+1
-    // SCREEN[idx++] = '0'+sizeof(bb)/sizeof(byte)
+    // SCREEN[idx++] = '0'+(char)(sizeof(bb)/sizeof(byte))
     lda #'0'+(sz+2)*SIZEOF_BYTE/SIZEOF_BYTE
     sta SCREEN+2
-    // SCREEN[idx++] = '0'+sizeof(wb)/sizeof(word)
+    // SCREEN[idx++] = '0'+(char)(sizeof(wb)/sizeof(word))
     lda #'0'+4*SIZEOF_WORD/SIZEOF_WORD
     sta SCREEN+3
-    // SCREEN[idx++] = '0'+sizeof(sa)/sizeof(byte)
+    // SCREEN[idx++] = '0'+(char)(sizeof(sa)/sizeof(byte))
     lda #'0'+8*SIZEOF_BYTE/SIZEOF_BYTE
     sta SCREEN+4
-    // SCREEN[idx++] = '0'+sizeof(sb)/sizeof(byte)
+    // SCREEN[idx++] = '0'+(char)(sizeof(sb)/sizeof(byte))
     lda #'0'+4*SIZEOF_BYTE/SIZEOF_BYTE
     sta SCREEN+5
     // }
diff --git a/src/test/ref/sizeof-arrays.log b/src/test/ref/sizeof-arrays.log
index 96e34467b..d77815728 100644
--- a/src/test/ref/sizeof-arrays.log
+++ b/src/test/ref/sizeof-arrays.log
@@ -6,32 +6,38 @@ main: scope:[main]  from __start
   main::idx#0 = 0
   main::$0 = sizeof  main::ba
   main::$1 = main::$0 / SIZEOF_BYTE
-  main::$2 = '0' + main::$1
+  main::$18 = (byte)main::$1
+  main::$2 = '0' + main::$18
   SCREEN[main::idx#0] = main::$2
   main::idx#1 = ++ main::idx#0
   main::$3 = sizeof  main::wa
   main::$4 = main::$3 / SIZEOF_WORD
-  main::$5 = '0' + main::$4
+  main::$19 = (byte)main::$4
+  main::$5 = '0' + main::$19
   SCREEN[main::idx#1] = main::$5
   main::idx#2 = ++ main::idx#1
   main::$6 = sizeof  main::bb
   main::$7 = main::$6 / SIZEOF_BYTE
-  main::$8 = '0' + main::$7
+  main::$20 = (byte)main::$7
+  main::$8 = '0' + main::$20
   SCREEN[main::idx#2] = main::$8
   main::idx#3 = ++ main::idx#2
   main::$9 = sizeof  main::wb
   main::$10 = main::$9 / SIZEOF_WORD
-  main::$11 = '0' + main::$10
+  main::$21 = (byte)main::$10
+  main::$11 = '0' + main::$21
   SCREEN[main::idx#3] = main::$11
   main::idx#4 = ++ main::idx#3
   main::$12 = sizeof  main::sa
   main::$13 = main::$12 / SIZEOF_BYTE
-  main::$14 = '0' + main::$13
+  main::$22 = (byte)main::$13
+  main::$14 = '0' + main::$22
   SCREEN[main::idx#4] = main::$14
   main::idx#5 = ++ main::idx#4
   main::$15 = sizeof  main::sb
   main::$16 = main::$15 / SIZEOF_BYTE
-  main::$17 = '0' + main::$16
+  main::$23 = (byte)main::$16
+  main::$17 = '0' + main::$23
   SCREEN[main::idx#5] = main::$17
   main::idx#6 = ++ main::idx#5
   to:main::@return
@@ -55,24 +61,30 @@ constant byte SIZEOF_BYTE = 1
 constant byte SIZEOF_WORD = 2
 void __start()
 void main()
-byte~ main::$0
-byte~ main::$1
-byte~ main::$10
+word~ main::$0
+word~ main::$1
+word~ main::$10
 byte~ main::$11
-byte~ main::$12
-byte~ main::$13
+word~ main::$12
+word~ main::$13
 byte~ main::$14
-byte~ main::$15
-byte~ main::$16
+word~ main::$15
+word~ main::$16
 byte~ main::$17
+byte~ main::$18
+byte~ main::$19
 byte~ main::$2
-byte~ main::$3
-byte~ main::$4
+byte~ main::$20
+byte~ main::$21
+byte~ main::$22
+byte~ main::$23
+word~ main::$3
+word~ main::$4
 byte~ main::$5
-byte~ main::$6
-byte~ main::$7
+word~ main::$6
+word~ main::$7
 byte~ main::$8
-byte~ main::$9
+word~ main::$9
 constant byte* main::ba[3]  = { fill( 3, 0) }
 constant byte* main::bb[main::sz+2]  = { fill( main::sz+2, 0) }
 byte main::idx
@@ -97,11 +109,11 @@ Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) 2
 Successful SSA optimization PassNFinalizeNumberTypeConversions
 Constant right-side identified [1] main::$0 = sizeof  main::ba
-Constant right-side identified [6] main::$3 = sizeof  main::wa
-Constant right-side identified [11] main::$6 = sizeof  main::bb
-Constant right-side identified [16] main::$9 = sizeof  main::wb
-Constant right-side identified [21] main::$12 = sizeof  main::sa
-Constant right-side identified [26] main::$15 = sizeof  main::sb
+Constant right-side identified [7] main::$3 = sizeof  main::wa
+Constant right-side identified [13] main::$6 = sizeof  main::bb
+Constant right-side identified [19] main::$9 = sizeof  main::wb
+Constant right-side identified [25] main::$12 = sizeof  main::sa
+Constant right-side identified [31] main::$15 = sizeof  main::sb
 Successful SSA optimization Pass2ConstantRValueConsolidation
 Constant main::idx#0 = 0
 Constant main::$0 = sizeof main::ba
@@ -111,9 +123,9 @@ Constant main::$9 = sizeof main::wb
 Constant main::$12 = sizeof main::sa
 Constant main::$15 = sizeof main::sb
 Successful SSA optimization Pass2ConstantIdentification
-Simplifying expression containing zero SCREEN in [4] SCREEN[main::idx#0] = main::$2
+Simplifying expression containing zero SCREEN in [5] SCREEN[main::idx#0] = main::$2
 Successful SSA optimization PassNSimplifyExpressionWithZero
-Eliminating unused variable main::idx#6 and assignment [23] main::idx#6 = ++ main::idx#5
+Eliminating unused variable main::idx#6 and assignment [29] main::idx#6 = ++ main::idx#5
 Successful SSA optimization PassNEliminateUnusedVars
 Removing unused procedure __start
 Removing unused procedure block __start
@@ -128,12 +140,12 @@ Resolving string sizeof() sizeof main::sa
 Resolving array sizeof() sizeof main::sb
 Successful SSA optimization PassNSizeOfSimplification
 Constant right-side identified [0] main::$1 = main::$0 / SIZEOF_BYTE
-Constant right-side identified [3] main::idx#1 = ++ main::idx#0
-Constant right-side identified [4] main::$4 = main::$3 / SIZEOF_WORD
-Constant right-side identified [8] main::$7 = main::$6 / SIZEOF_BYTE
-Constant right-side identified [12] main::$10 = main::$9 / SIZEOF_WORD
-Constant right-side identified [16] main::$13 = main::$12 / SIZEOF_BYTE
-Constant right-side identified [20] main::$16 = main::$15 / SIZEOF_BYTE
+Constant right-side identified [4] main::idx#1 = ++ main::idx#0
+Constant right-side identified [5] main::$4 = main::$3 / SIZEOF_WORD
+Constant right-side identified [10] main::$7 = main::$6 / SIZEOF_BYTE
+Constant right-side identified [15] main::$10 = main::$9 / SIZEOF_WORD
+Constant right-side identified [20] main::$13 = main::$12 / SIZEOF_BYTE
+Constant right-side identified [25] main::$16 = main::$15 / SIZEOF_BYTE
 Successful SSA optimization Pass2ConstantRValueConsolidation
 Constant main::$1 = main::$0/SIZEOF_BYTE
 Constant main::idx#1 = ++main::idx#0
@@ -143,6 +155,13 @@ Constant main::$10 = main::$9/SIZEOF_WORD
 Constant main::$13 = main::$12/SIZEOF_BYTE
 Constant main::$16 = main::$15/SIZEOF_BYTE
 Successful SSA optimization Pass2ConstantIdentification
+Constant main::$18 = (byte)main::$1
+Constant main::$19 = (byte)main::$4
+Constant main::$20 = (byte)main::$7
+Constant main::$21 = (byte)main::$10
+Constant main::$22 = (byte)main::$13
+Constant main::$23 = (byte)main::$16
+Successful SSA optimization Pass2ConstantIdentification
 Eliminating unused constant main::ba
 Eliminating unused constant main::wa
 Eliminating unused constant main::bb
@@ -168,21 +187,21 @@ Finalized unsigned number type (byte) 4
 Finalized unsigned number type (byte) 8
 Finalized unsigned number type (byte) 4
 Successful SSA optimization PassNFinalizeNumberTypeConversions
-Constant right-side identified [0] main::$2 = '0' + main::$1
-Constant right-side identified [2] main::$5 = '0' + main::$4
+Constant right-side identified [0] main::$2 = '0' + main::$18
+Constant right-side identified [2] main::$5 = '0' + main::$19
 Constant right-side identified [4] main::idx#2 = ++ main::idx#1
-Constant right-side identified [5] main::$8 = '0' + main::$7
-Constant right-side identified [8] main::$11 = '0' + main::$10
-Constant right-side identified [11] main::$14 = '0' + main::$13
-Constant right-side identified [14] main::$17 = '0' + main::$16
+Constant right-side identified [5] main::$8 = '0' + main::$20
+Constant right-side identified [8] main::$11 = '0' + main::$21
+Constant right-side identified [11] main::$14 = '0' + main::$22
+Constant right-side identified [14] main::$17 = '0' + main::$23
 Successful SSA optimization Pass2ConstantRValueConsolidation
-Constant main::$2 = '0'+main::$1
-Constant main::$5 = '0'+main::$4
+Constant main::$2 = '0'+main::$18
+Constant main::$5 = '0'+main::$19
 Constant main::idx#2 = ++main::idx#1
-Constant main::$8 = '0'+main::$7
-Constant main::$11 = '0'+main::$10
-Constant main::$14 = '0'+main::$13
-Constant main::$17 = '0'+main::$16
+Constant main::$8 = '0'+main::$20
+Constant main::$11 = '0'+main::$21
+Constant main::$14 = '0'+main::$22
+Constant main::$17 = '0'+main::$23
 Successful SSA optimization Pass2ConstantIdentification
 Constant right-side identified [3] main::idx#3 = ++ main::idx#2
 Successful SSA optimization Pass2ConstantRValueConsolidation
@@ -204,28 +223,34 @@ Inlining constant with different constant siblings main::idx#4
 Inlining constant with different constant siblings main::idx#5
 Constant inlined main::$12 = 8*SIZEOF_BYTE
 Constant inlined main::$13 = 8*SIZEOF_BYTE/SIZEOF_BYTE
-Constant inlined main::$14 = '0'+8*SIZEOF_BYTE/SIZEOF_BYTE
+Constant inlined main::$14 = '0'+(byte)8*SIZEOF_BYTE/SIZEOF_BYTE
 Constant inlined main::$15 = 4*SIZEOF_BYTE
 Constant inlined main::$10 = 4*SIZEOF_WORD/SIZEOF_WORD
-Constant inlined main::$11 = '0'+4*SIZEOF_WORD/SIZEOF_WORD
+Constant inlined main::$11 = '0'+(byte)4*SIZEOF_WORD/SIZEOF_WORD
+Constant inlined main::$16 = 4*SIZEOF_BYTE/SIZEOF_BYTE
+Constant inlined main::$17 = '0'+(byte)4*SIZEOF_BYTE/SIZEOF_BYTE
+Constant inlined main::$18 = (byte)3*SIZEOF_BYTE/SIZEOF_BYTE
+Constant inlined main::$19 = (byte)3*SIZEOF_WORD/SIZEOF_WORD
+Constant inlined main::$23 = (byte)4*SIZEOF_BYTE/SIZEOF_BYTE
+Constant inlined main::$20 = (byte)main::sz+2*SIZEOF_BYTE/SIZEOF_BYTE
+Constant inlined main::$21 = (byte)4*SIZEOF_WORD/SIZEOF_WORD
+Constant inlined main::$22 = (byte)8*SIZEOF_BYTE/SIZEOF_BYTE
 Constant inlined main::idx#0 = 0
 Constant inlined main::idx#1 = ++0
 Constant inlined main::idx#2 = ++++0
 Constant inlined main::$1 = 3*SIZEOF_BYTE/SIZEOF_BYTE
-Constant inlined main::$16 = 4*SIZEOF_BYTE/SIZEOF_BYTE
 Constant inlined main::idx#3 = ++++++0
-Constant inlined main::$2 = '0'+3*SIZEOF_BYTE/SIZEOF_BYTE
-Constant inlined main::$17 = '0'+4*SIZEOF_BYTE/SIZEOF_BYTE
+Constant inlined main::$2 = '0'+(byte)3*SIZEOF_BYTE/SIZEOF_BYTE
 Constant inlined main::idx#4 = ++++++++0
 Constant inlined main::idx#5 = ++++++++++0
 Constant inlined main::$0 = 3*SIZEOF_BYTE
-Constant inlined main::$5 = '0'+3*SIZEOF_WORD/SIZEOF_WORD
+Constant inlined main::$5 = '0'+(byte)3*SIZEOF_WORD/SIZEOF_WORD
 Constant inlined main::$6 = main::sz+2*SIZEOF_BYTE
 Constant inlined main::$3 = 3*SIZEOF_WORD
 Constant inlined main::$4 = 3*SIZEOF_WORD/SIZEOF_WORD
 Constant inlined main::$9 = 4*SIZEOF_WORD
 Constant inlined main::$7 = main::sz+2*SIZEOF_BYTE/SIZEOF_BYTE
-Constant inlined main::$8 = '0'+main::sz+2*SIZEOF_BYTE/SIZEOF_BYTE
+Constant inlined main::$8 = '0'+(byte)main::sz+2*SIZEOF_BYTE/SIZEOF_BYTE
 Successful SSA optimization Pass2ConstantInlining
 Consolidated array index constant in *(SCREEN+++0)
 Consolidated array index constant in *(SCREEN+++++0)
@@ -244,6 +269,13 @@ Simplifying constant integer increment ++2
 Simplifying constant integer increment ++3
 Simplifying constant integer increment ++4
 Successful SSA optimization Pass2ConstantSimplification
+Simplifying constant integer cast 3*SIZEOF_BYTE/SIZEOF_BYTE
+Simplifying constant integer cast 3*SIZEOF_WORD/SIZEOF_WORD
+Simplifying constant integer cast main::sz+2*SIZEOF_BYTE/SIZEOF_BYTE
+Simplifying constant integer cast 4*SIZEOF_WORD/SIZEOF_WORD
+Simplifying constant integer cast 8*SIZEOF_BYTE/SIZEOF_BYTE
+Simplifying constant integer cast 4*SIZEOF_BYTE/SIZEOF_BYTE
+Successful SSA optimization PassNCastSimplification
 CALL GRAPH
 
 Created 0 initial phi equivalence classes
@@ -370,27 +402,27 @@ Score: 42
   // main
 main: {
     .const sz = 7
-    // SCREEN[idx++] = '0'+sizeof(ba)/sizeof(byte)
+    // SCREEN[idx++] = '0'+(char)(sizeof(ba)/sizeof(byte))
     // [0] *SCREEN = '0'+3*SIZEOF_BYTE/SIZEOF_BYTE -- _deref_pbuc1=vbuc2 
     lda #'0'+3*SIZEOF_BYTE/SIZEOF_BYTE
     sta SCREEN
-    // SCREEN[idx++] = '0'+sizeof(wa)/sizeof(word)
+    // SCREEN[idx++] = '0'+(char)(sizeof(wa)/sizeof(word))
     // [1] *(SCREEN+1) = '0'+3*SIZEOF_WORD/SIZEOF_WORD -- _deref_pbuc1=vbuc2 
     lda #'0'+3*SIZEOF_WORD/SIZEOF_WORD
     sta SCREEN+1
-    // SCREEN[idx++] = '0'+sizeof(bb)/sizeof(byte)
+    // SCREEN[idx++] = '0'+(char)(sizeof(bb)/sizeof(byte))
     // [2] *(SCREEN+2) = '0'+main::sz+2*SIZEOF_BYTE/SIZEOF_BYTE -- _deref_pbuc1=vbuc2 
     lda #'0'+(sz+2)*SIZEOF_BYTE/SIZEOF_BYTE
     sta SCREEN+2
-    // SCREEN[idx++] = '0'+sizeof(wb)/sizeof(word)
+    // SCREEN[idx++] = '0'+(char)(sizeof(wb)/sizeof(word))
     // [3] *(SCREEN+3) = '0'+4*SIZEOF_WORD/SIZEOF_WORD -- _deref_pbuc1=vbuc2 
     lda #'0'+4*SIZEOF_WORD/SIZEOF_WORD
     sta SCREEN+3
-    // SCREEN[idx++] = '0'+sizeof(sa)/sizeof(byte)
+    // SCREEN[idx++] = '0'+(char)(sizeof(sa)/sizeof(byte))
     // [4] *(SCREEN+4) = '0'+8*SIZEOF_BYTE/SIZEOF_BYTE -- _deref_pbuc1=vbuc2 
     lda #'0'+8*SIZEOF_BYTE/SIZEOF_BYTE
     sta SCREEN+4
-    // SCREEN[idx++] = '0'+sizeof(sb)/sizeof(byte)
+    // SCREEN[idx++] = '0'+(char)(sizeof(sb)/sizeof(byte))
     // [5] *(SCREEN+5) = '0'+4*SIZEOF_BYTE/SIZEOF_BYTE -- _deref_pbuc1=vbuc2 
     lda #'0'+4*SIZEOF_BYTE/SIZEOF_BYTE
     sta SCREEN+5
diff --git a/src/test/ref/sizeof-expr.asm b/src/test/ref/sizeof-expr.asm
index 2221cd2dc..8dd639bda 100644
--- a/src/test/ref/sizeof-expr.asm
+++ b/src/test/ref/sizeof-expr.asm
@@ -14,26 +14,26 @@
   .label SCREEN = $400
 .segment Code
 main: {
-    // SCREEN[idx++] = '0'+sizeof(0)
+    // SCREEN[idx++] = '0'+(char)sizeof(0)
     lda #'0'+SIZEOF_NUMBER
     sta SCREEN
-    // SCREEN[idx++] = '0'+sizeof(idx)
+    // SCREEN[idx++] = '0'+(char)sizeof(idx)
     lda #'0'+SIZEOF_BYTE
     sta SCREEN+1
-    // SCREEN[idx++] = '0'+sizeof(b)
+    // SCREEN[idx++] = '0'+(char)sizeof(b)
     sta SCREEN+2
-    // SCREEN[idx++] = '0'+sizeof(b*2)
+    // SCREEN[idx++] = '0'+(char)sizeof(b*2)
     lda #'0'+SIZEOF_NUMBER
     sta SCREEN+3
-    // SCREEN[idx++] = '0'+sizeof($43ff)
+    // SCREEN[idx++] = '0'+(char)sizeof($43ff)
     sta SCREEN+5
-    // SCREEN[idx++] = '0'+sizeof(w)
+    // SCREEN[idx++] = '0'+(char)sizeof(w)
     lda #'0'+SIZEOF_WORD
     sta SCREEN+6
-    // SCREEN[idx++] = '0'+sizeof(bp)
+    // SCREEN[idx++] = '0'+(char)sizeof(bp)
     lda #'0'+SIZEOF_POINTER
     sta SCREEN+8
-    // SCREEN[idx++] = '0'+sizeof(wp)
+    // SCREEN[idx++] = '0'+(char)sizeof(wp)
     sta SCREEN+9
     // }
     rts
diff --git a/src/test/ref/sizeof-expr.log b/src/test/ref/sizeof-expr.log
index 12eceb35b..5788d7627 100644
--- a/src/test/ref/sizeof-expr.log
+++ b/src/test/ref/sizeof-expr.log
@@ -11,37 +11,45 @@ void main()
 main: scope:[main]  from __start
   main::idx#0 = 0
   main::$0 = sizeof  0
-  main::$1 = '0' + main::$0
+  main::$17 = (byte)main::$0
+  main::$1 = '0' + main::$17
   SCREEN[main::idx#0] = main::$1
   main::idx#1 = ++ main::idx#0
   main::$2 = SIZEOF_BYTE
-  main::$3 = '0' + main::$2
+  main::$18 = (byte)main::$2
+  main::$3 = '0' + main::$18
   SCREEN[main::idx#1] = main::$3
   main::idx#2 = ++ main::idx#1
   main::$4 = SIZEOF_BYTE
-  main::$5 = '0' + main::$4
+  main::$19 = (byte)main::$4
+  main::$5 = '0' + main::$19
   SCREEN[main::idx#2] = main::$5
   main::idx#3 = ++ main::idx#2
   main::$7 = SIZEOF_NUMBER
-  main::$8 = '0' + main::$7
+  main::$20 = (byte)main::$7
+  main::$8 = '0' + main::$20
   SCREEN[main::idx#3] = main::$8
   main::idx#4 = ++ main::idx#3
   main::idx#5 = ++ main::idx#4
   main::$9 = sizeof  $43ff
-  main::$10 = '0' + main::$9
+  main::$21 = (byte)main::$9
+  main::$10 = '0' + main::$21
   SCREEN[main::idx#5] = main::$10
   main::idx#6 = ++ main::idx#5
   main::$11 = SIZEOF_WORD
-  main::$12 = '0' + main::$11
+  main::$22 = (byte)main::$11
+  main::$12 = '0' + main::$22
   SCREEN[main::idx#6] = main::$12
   main::idx#7 = ++ main::idx#6
   main::idx#8 = ++ main::idx#7
   main::$13 = SIZEOF_POINTER
-  main::$14 = '0' + main::$13
+  main::$23 = (byte)main::$13
+  main::$14 = '0' + main::$23
   SCREEN[main::idx#8] = main::$14
   main::idx#9 = ++ main::idx#8
   main::$15 = SIZEOF_POINTER
-  main::$16 = '0' + main::$15
+  main::$24 = (byte)main::$15
+  main::$16 = '0' + main::$24
   SCREEN[main::idx#9] = main::$16
   main::idx#10 = ++ main::idx#9
   to:main::@return
@@ -67,22 +75,30 @@ constant byte SIZEOF_POINTER = 2
 constant byte SIZEOF_WORD = 2
 void __start()
 void main()
-byte~ main::$0
+word~ main::$0
 byte~ main::$1
 byte~ main::$10
-byte~ main::$11
+word~ main::$11
 byte~ main::$12
-byte~ main::$13
+word~ main::$13
 byte~ main::$14
-byte~ main::$15
+word~ main::$15
 byte~ main::$16
-byte~ main::$2
+byte~ main::$17
+byte~ main::$18
+byte~ main::$19
+word~ main::$2
+byte~ main::$20
+byte~ main::$21
+byte~ main::$22
+byte~ main::$23
+byte~ main::$24
 byte~ main::$3
-byte~ main::$4
+word~ main::$4
 byte~ main::$5
-byte~ main::$7
+word~ main::$7
 byte~ main::$8
-byte~ main::$9
+word~ main::$9
 byte main::idx
 byte main::idx#0
 byte main::idx#1
@@ -99,7 +115,7 @@ byte main::idx#9
 Simplifying constant pointer cast (byte*) 1024
 Successful SSA optimization PassNCastSimplification
 Constant right-side identified [1] main::$0 = sizeof  0
-Constant right-side identified [18] main::$9 = sizeof  $43ff
+Constant right-side identified [22] main::$9 = sizeof  $43ff
 Successful SSA optimization Pass2ConstantRValueConsolidation
 Constant main::idx#0 = 0
 Constant main::$0 = sizeof 0
@@ -111,7 +127,16 @@ Constant main::$11 = SIZEOF_WORD
 Constant main::$13 = SIZEOF_POINTER
 Constant main::$15 = SIZEOF_POINTER
 Successful SSA optimization Pass2ConstantIdentification
-Simplifying expression containing zero SCREEN in [3] SCREEN[main::idx#0] = main::$1
+Constant main::$17 = (byte)main::$0
+Constant main::$18 = (byte)main::$2
+Constant main::$19 = (byte)main::$4
+Constant main::$20 = (byte)main::$7
+Constant main::$21 = (byte)main::$9
+Constant main::$22 = (byte)main::$11
+Constant main::$23 = (byte)main::$13
+Constant main::$24 = (byte)main::$15
+Successful SSA optimization Pass2ConstantIdentification
+Simplifying expression containing zero SCREEN in [4] SCREEN[main::idx#0] = main::$1
 Successful SSA optimization PassNSimplifyExpressionWithZero
 Eliminating unused variable main::idx#10 and assignment [25] main::idx#10 = ++ main::idx#9
 Successful SSA optimization PassNEliminateUnusedVars
@@ -123,25 +148,25 @@ Successful SSA optimization PassNEliminateEmptyStart
 Resolving sizeof() sizeof 0
 Resolving sizeof() sizeof $43ff
 Successful SSA optimization PassNSizeOfSimplification
-Constant right-side identified [0] main::$1 = '0' + main::$0
+Constant right-side identified [0] main::$1 = '0' + main::$17
 Constant right-side identified [2] main::idx#1 = ++ main::idx#0
-Constant right-side identified [3] main::$3 = '0' + main::$2
-Constant right-side identified [6] main::$5 = '0' + main::$4
-Constant right-side identified [9] main::$8 = '0' + main::$7
-Constant right-side identified [13] main::$10 = '0' + main::$9
-Constant right-side identified [16] main::$12 = '0' + main::$11
-Constant right-side identified [20] main::$14 = '0' + main::$13
-Constant right-side identified [23] main::$16 = '0' + main::$15
+Constant right-side identified [3] main::$3 = '0' + main::$18
+Constant right-side identified [6] main::$5 = '0' + main::$19
+Constant right-side identified [9] main::$8 = '0' + main::$20
+Constant right-side identified [13] main::$10 = '0' + main::$21
+Constant right-side identified [16] main::$12 = '0' + main::$22
+Constant right-side identified [20] main::$14 = '0' + main::$23
+Constant right-side identified [23] main::$16 = '0' + main::$24
 Successful SSA optimization Pass2ConstantRValueConsolidation
-Constant main::$1 = '0'+main::$0
+Constant main::$1 = '0'+main::$17
 Constant main::idx#1 = ++main::idx#0
-Constant main::$3 = '0'+main::$2
-Constant main::$5 = '0'+main::$4
-Constant main::$8 = '0'+main::$7
-Constant main::$10 = '0'+main::$9
-Constant main::$12 = '0'+main::$11
-Constant main::$14 = '0'+main::$13
-Constant main::$16 = '0'+main::$15
+Constant main::$3 = '0'+main::$18
+Constant main::$5 = '0'+main::$19
+Constant main::$8 = '0'+main::$20
+Constant main::$10 = '0'+main::$21
+Constant main::$12 = '0'+main::$22
+Constant main::$14 = '0'+main::$23
+Constant main::$16 = '0'+main::$24
 Successful SSA optimization Pass2ConstantIdentification
 Constant right-side identified [2] main::idx#2 = ++ main::idx#1
 Successful SSA optimization Pass2ConstantRValueConsolidation
@@ -185,32 +210,40 @@ Inlining constant with different constant siblings main::idx#6
 Inlining constant with different constant siblings main::idx#7
 Inlining constant with different constant siblings main::idx#8
 Inlining constant with different constant siblings main::idx#9
-Constant inlined main::$12 = '0'+SIZEOF_WORD
+Constant inlined main::$12 = '0'+(byte)SIZEOF_WORD
 Constant inlined main::$13 = SIZEOF_POINTER
-Constant inlined main::$14 = '0'+SIZEOF_POINTER
+Constant inlined main::$14 = '0'+(byte)SIZEOF_POINTER
 Constant inlined main::$15 = SIZEOF_POINTER
-Constant inlined main::$10 = '0'+SIZEOF_NUMBER
+Constant inlined main::$10 = '0'+(byte)SIZEOF_NUMBER
 Constant inlined main::$11 = SIZEOF_WORD
-Constant inlined main::$16 = '0'+SIZEOF_POINTER
+Constant inlined main::$16 = '0'+(byte)SIZEOF_POINTER
+Constant inlined main::$17 = (byte)SIZEOF_NUMBER
+Constant inlined main::$18 = (byte)SIZEOF_BYTE
+Constant inlined main::$19 = (byte)SIZEOF_BYTE
+Constant inlined main::$23 = (byte)SIZEOF_POINTER
+Constant inlined main::$24 = (byte)SIZEOF_POINTER
+Constant inlined main::$20 = (byte)SIZEOF_NUMBER
+Constant inlined main::$21 = (byte)SIZEOF_NUMBER
+Constant inlined main::$22 = (byte)SIZEOF_WORD
 Constant inlined main::idx#0 = 0
 Constant inlined main::idx#1 = ++0
 Constant inlined main::idx#2 = ++++0
-Constant inlined main::$1 = '0'+SIZEOF_NUMBER
+Constant inlined main::$1 = '0'+(byte)SIZEOF_NUMBER
 Constant inlined main::idx#3 = ++++++0
 Constant inlined main::$2 = SIZEOF_BYTE
 Constant inlined main::idx#4 = ++++++++0
 Constant inlined main::idx#5 = ++++++++++0
 Constant inlined main::$0 = SIZEOF_NUMBER
 Constant inlined main::idx#6 = ++++++++++++0
-Constant inlined main::$5 = '0'+SIZEOF_BYTE
+Constant inlined main::$5 = '0'+(byte)SIZEOF_BYTE
 Constant inlined main::idx#7 = ++++++++++++++0
 Constant inlined main::idx#8 = ++++++++++++++++0
-Constant inlined main::$3 = '0'+SIZEOF_BYTE
+Constant inlined main::$3 = '0'+(byte)SIZEOF_BYTE
 Constant inlined main::idx#9 = ++++++++++++++++++0
 Constant inlined main::$4 = SIZEOF_BYTE
 Constant inlined main::$9 = SIZEOF_NUMBER
 Constant inlined main::$7 = SIZEOF_NUMBER
-Constant inlined main::$8 = '0'+SIZEOF_NUMBER
+Constant inlined main::$8 = '0'+(byte)SIZEOF_NUMBER
 Successful SSA optimization Pass2ConstantInlining
 Consolidated array index constant in *(SCREEN+++0)
 Consolidated array index constant in *(SCREEN+++++0)
@@ -238,6 +271,15 @@ Successful SSA optimization Pass2ConstantSimplification
 Simplifying constant integer increment ++7
 Simplifying constant integer increment ++8
 Successful SSA optimization Pass2ConstantSimplification
+Simplifying constant integer cast SIZEOF_NUMBER
+Simplifying constant integer cast SIZEOF_BYTE
+Simplifying constant integer cast SIZEOF_BYTE
+Simplifying constant integer cast SIZEOF_NUMBER
+Simplifying constant integer cast SIZEOF_NUMBER
+Simplifying constant integer cast SIZEOF_WORD
+Simplifying constant integer cast SIZEOF_POINTER
+Simplifying constant integer cast SIZEOF_POINTER
+Successful SSA optimization PassNCastSimplification
 CALL GRAPH
 
 Created 0 initial phi equivalence classes
@@ -381,33 +423,33 @@ Score: 48
 .segment Code
   // main
 main: {
-    // SCREEN[idx++] = '0'+sizeof(0)
+    // SCREEN[idx++] = '0'+(char)sizeof(0)
     // [0] *SCREEN = '0'+SIZEOF_NUMBER -- _deref_pbuc1=vbuc2 
     lda #'0'+SIZEOF_NUMBER
     sta SCREEN
-    // SCREEN[idx++] = '0'+sizeof(idx)
+    // SCREEN[idx++] = '0'+(char)sizeof(idx)
     // [1] *(SCREEN+1) = '0'+SIZEOF_BYTE -- _deref_pbuc1=vbuc2 
     lda #'0'+SIZEOF_BYTE
     sta SCREEN+1
-    // SCREEN[idx++] = '0'+sizeof(b)
+    // SCREEN[idx++] = '0'+(char)sizeof(b)
     // [2] *(SCREEN+2) = '0'+SIZEOF_BYTE -- _deref_pbuc1=vbuc2 
     sta SCREEN+2
-    // SCREEN[idx++] = '0'+sizeof(b*2)
+    // SCREEN[idx++] = '0'+(char)sizeof(b*2)
     // [3] *(SCREEN+3) = '0'+SIZEOF_NUMBER -- _deref_pbuc1=vbuc2 
     lda #'0'+SIZEOF_NUMBER
     sta SCREEN+3
-    // SCREEN[idx++] = '0'+sizeof($43ff)
+    // SCREEN[idx++] = '0'+(char)sizeof($43ff)
     // [4] *(SCREEN+5) = '0'+SIZEOF_NUMBER -- _deref_pbuc1=vbuc2 
     sta SCREEN+5
-    // SCREEN[idx++] = '0'+sizeof(w)
+    // SCREEN[idx++] = '0'+(char)sizeof(w)
     // [5] *(SCREEN+6) = '0'+SIZEOF_WORD -- _deref_pbuc1=vbuc2 
     lda #'0'+SIZEOF_WORD
     sta SCREEN+6
-    // SCREEN[idx++] = '0'+sizeof(bp)
+    // SCREEN[idx++] = '0'+(char)sizeof(bp)
     // [6] *(SCREEN+8) = '0'+SIZEOF_POINTER -- _deref_pbuc1=vbuc2 
     lda #'0'+SIZEOF_POINTER
     sta SCREEN+8
-    // SCREEN[idx++] = '0'+sizeof(wp)
+    // SCREEN[idx++] = '0'+(char)sizeof(wp)
     // [7] *(SCREEN+9) = '0'+SIZEOF_POINTER -- _deref_pbuc1=vbuc2 
     sta SCREEN+9
     // main::@return
diff --git a/src/test/ref/sizeof-in-const-pointer.log b/src/test/ref/sizeof-in-const-pointer.log
index 2d936ad0c..bb1fa48d2 100644
--- a/src/test/ref/sizeof-in-const-pointer.log
+++ b/src/test/ref/sizeof-in-const-pointer.log
@@ -25,16 +25,15 @@ constant byte SIZEOF_BYTE = 1
 void __start()
 void main()
 
+Adding number conversion cast (unumber) SIZEOF_BYTE*$64 in 
 Adding number conversion cast (unumber) $64 in 
 Adding number conversion cast (unumber) 0 in SCREEN[0] = 'a'
 Successful SSA optimization PassNAddNumberTypeConversions
-Adding number conversion cast (unumber) $400 in 
-Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant integer cast $400
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant integer cast SIZEOF_BYTE*(unumber)$64
 Simplifying constant integer cast $64
 Simplifying constant integer cast 0
 Successful SSA optimization PassNCastSimplification
-Finalized unsigned number type (word) $400
 Finalized unsigned number type (byte) $64
 Finalized unsigned number type (byte) 0
 Successful SSA optimization PassNFinalizeNumberTypeConversions
@@ -113,7 +112,7 @@ Removing instruction __breturn:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant byte* const SCREEN = (byte*)$400+SIZEOF_BYTE*$64
+constant byte* const SCREEN = (byte*) 1024+SIZEOF_BYTE*$64
 constant byte SIZEOF_BYTE = 1
 void main()
 
diff --git a/src/test/ref/sizeof-in-const-pointer.sym b/src/test/ref/sizeof-in-const-pointer.sym
index 3cce51e96..80ae1cb14 100644
--- a/src/test/ref/sizeof-in-const-pointer.sym
+++ b/src/test/ref/sizeof-in-const-pointer.sym
@@ -1,4 +1,4 @@
-constant byte* const SCREEN = (byte*)$400+SIZEOF_BYTE*$64
+constant byte* const SCREEN = (byte*) 1024+SIZEOF_BYTE*$64
 constant byte SIZEOF_BYTE = 1
 void main()
 
diff --git a/src/test/ref/sizeof-problem.asm b/src/test/ref/sizeof-problem.asm
new file mode 100644
index 000000000..93ead59e9
--- /dev/null
+++ b/src/test/ref/sizeof-problem.asm
@@ -0,0 +1,24 @@
+  // Commodore 64 PRG executable file
+.file [name="sizeof-problem.prg", type="prg", segments="Program"]
+.segmentdef Program [segments="Basic, Code, Data"]
+.segmentdef Basic [start=$0801]
+.segmentdef Code [start=$80d]
+.segmentdef Data [startAfter="Code"]
+.segment Basic
+:BasicUpstart(main)
+  .const SIZEOF_BYTE = 1
+.segment Code
+main: {
+    .const i = $130*SIZEOF_BYTE
+    .const j = 3*SIZEOF_BYTE
+    // ARR1[i-1] = 0
+    lda #0
+    sta ARR1+i-1
+    // ARR2[j-1] = 0
+    sta ARR2+j-1
+    // }
+    rts
+}
+.segment Data
+  ARR1: .fill $130, 0
+  ARR2: .byte 1, 2, 3
diff --git a/src/test/ref/sizeof-problem.cfg b/src/test/ref/sizeof-problem.cfg
new file mode 100644
index 000000000..c28e75556
--- /dev/null
+++ b/src/test/ref/sizeof-problem.cfg
@@ -0,0 +1,9 @@
+
+void main()
+main: scope:[main]  from
+  [0] *(ARR1+main::i#0-1) = 0
+  [1] *(ARR2+main::j#0-1) = 0
+  to:main::@return
+main::@return: scope:[main]  from main
+  [2] return 
+  to:@return
diff --git a/src/test/ref/sizeof-problem.log b/src/test/ref/sizeof-problem.log
new file mode 100644
index 000000000..3f6dc0f57
--- /dev/null
+++ b/src/test/ref/sizeof-problem.log
@@ -0,0 +1,242 @@
+
+CONTROL FLOW GRAPH SSA
+
+void main()
+main: scope:[main]  from __start
+  main::$0 = sizeof  ARR1
+  main::i#0 = main::$0
+  main::$1 = main::i#0 - 1
+  ARR1[main::$1] = 0
+  main::$2 = sizeof  ARR2
+  main::j#0 = (byte)main::$2
+  main::$3 = main::j#0 - 1
+  ARR2[main::$3] = 0
+  to:main::@return
+main::@return: scope:[main]  from main
+  return 
+  to:@return
+
+void __start()
+__start: scope:[__start]  from
+  call main 
+  to:__start::@1
+__start::@1: scope:[__start]  from __start
+  to:__start::@return
+__start::@return: scope:[__start]  from __start::@1
+  return 
+  to:@return
+
+SYMBOL TABLE SSA
+constant byte* ARR1[$130]  = { fill( $130, 0) }
+constant byte* ARR2[]  = { 1, 2, 3 }
+void __start()
+void main()
+word~ main::$0
+number~ main::$1
+word~ main::$2
+number~ main::$3
+word main::i
+word main::i#0
+byte main::j
+byte main::j#0
+
+Adding number conversion cast (unumber) 1 in main::$1 = main::i#0 - 1
+Adding number conversion cast (unumber) main::$1 in main::$1 = main::i#0 - (unumber)1
+Adding number conversion cast (unumber) 0 in ARR1[main::$1] = 0
+Adding number conversion cast (unumber) 1 in main::$3 = main::j#0 - 1
+Adding number conversion cast (unumber) main::$3 in main::$3 = main::j#0 - (unumber)1
+Adding number conversion cast (unumber) 0 in ARR2[main::$3] = 0
+Successful SSA optimization PassNAddNumberTypeConversions
+Inlining cast ARR1[main::$1] = (unumber)0
+Inlining cast ARR2[main::$3] = (unumber)0
+Successful SSA optimization Pass2InlineCast
+Simplifying constant integer cast 1
+Simplifying constant integer cast 0
+Simplifying constant integer cast 1
+Simplifying constant integer cast 0
+Successful SSA optimization PassNCastSimplification
+Finalized unsigned number type (byte) 1
+Finalized unsigned number type (byte) 0
+Finalized unsigned number type (byte) 1
+Finalized unsigned number type (byte) 0
+Successful SSA optimization PassNFinalizeNumberTypeConversions
+Inferred type updated to word in main::$1 = main::i#0 - 1
+Inferred type updated to byte in main::$3 = main::j#0 - 1
+Alias main::i#0 = main::$0 
+Successful SSA optimization Pass2AliasElimination
+Constant right-side identified [0] main::i#0 = sizeof  ARR1
+Constant right-side identified [3] main::$2 = sizeof  ARR2
+Successful SSA optimization Pass2ConstantRValueConsolidation
+Constant main::i#0 = sizeof ARR1
+Constant main::$2 = sizeof ARR2
+Successful SSA optimization Pass2ConstantIdentification
+Constant main::j#0 = (byte)main::$2
+Successful SSA optimization Pass2ConstantIdentification
+De-inlining pointer[w] to *(pointer+w)   [2] ARR1[main::$1] = 0
+Successful SSA optimization Pass2DeInlineWordDerefIdx
+Removing unused procedure __start
+Removing unused procedure block __start
+Removing unused procedure block __start::@1
+Removing unused procedure block __start::@return
+Successful SSA optimization PassNEliminateEmptyStart
+Resolving array sizeof() sizeof ARR1
+Resolving array sizeof() sizeof ARR2
+Successful SSA optimization PassNSizeOfSimplification
+Constant right-side identified [0] main::$1 = main::i#0 - 1
+Constant right-side identified [3] main::$3 = main::j#0 - 1
+Successful SSA optimization Pass2ConstantRValueConsolidation
+Constant main::$1 = main::i#0-1
+Constant main::$3 = main::j#0-1
+Successful SSA optimization Pass2ConstantIdentification
+Adding number conversion cast (unumber) $130 in 
+Adding number conversion cast (unumber) 3 in 
+Successful SSA optimization PassNAddNumberTypeConversions
+Simplifying constant integer cast $130
+Simplifying constant integer cast 3
+Successful SSA optimization PassNCastSimplification
+Finalized unsigned number type (word) $130
+Finalized unsigned number type (byte) 3
+Successful SSA optimization PassNFinalizeNumberTypeConversions
+Constant right-side identified [0] main::$4 = ARR1 + main::$1
+Successful SSA optimization Pass2ConstantRValueConsolidation
+Constant main::$4 = ARR1+main::$1
+Successful SSA optimization Pass2ConstantIdentification
+Constant inlined main::$3 = main::j#0-1
+Constant inlined main::$4 = ARR1+main::i#0-1
+Constant inlined main::$1 = main::i#0-1
+Constant inlined main::$2 = 3*SIZEOF_BYTE
+Successful SSA optimization Pass2ConstantInlining
+Consolidated array index constant in *(ARR2+main::j#0-1)
+Successful SSA optimization Pass2ConstantAdditionElimination
+Simplifying constant integer cast 3*SIZEOF_BYTE
+Successful SSA optimization PassNCastSimplification
+Finalized unsigned number type (word) $130
+Finalized unsigned number type (word) $130
+Successful SSA optimization PassNFinalizeNumberTypeConversions
+CALL GRAPH
+
+Created 0 initial phi equivalence classes
+Coalesced down to 0 phi equivalence classes
+
+FINAL CONTROL FLOW GRAPH
+
+void main()
+main: scope:[main]  from
+  [0] *(ARR1+main::i#0-1) = 0
+  [1] *(ARR2+main::j#0-1) = 0
+  to:main::@return
+main::@return: scope:[main]  from main
+  [2] return 
+  to:@return
+
+
+VARIABLE REGISTER WEIGHTS
+void main()
+word main::i
+byte main::j
+
+Initial phi equivalence classes
+Complete equivalence classes
+REGISTER UPLIFT POTENTIAL REGISTERS
+Statement [0] *(ARR1+main::i#0-1) = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
+Statement [1] *(ARR2+main::j#0-1) = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
+
+REGISTER UPLIFT SCOPES
+Uplift Scope [main] 
+Uplift Scope [] 
+
+Uplifting [main] best 21 combination 
+Uplifting [] best 21 combination 
+
+ASSEMBLER BEFORE OPTIMIZATION
+  // File Comments
+  // Upstart
+  // Commodore 64 PRG executable file
+.file [name="sizeof-problem.prg", type="prg", segments="Program"]
+.segmentdef Program [segments="Basic, Code, Data"]
+.segmentdef Basic [start=$0801]
+.segmentdef Code [start=$80d]
+.segmentdef Data [startAfter="Code"]
+.segment Basic
+:BasicUpstart(main)
+  // Global Constants & labels
+  .const SIZEOF_BYTE = 1
+.segment Code
+  // main
+main: {
+    .const i = $130*SIZEOF_BYTE
+    .const j = 3*SIZEOF_BYTE
+    // [0] *(ARR1+main::i#0-1) = 0 -- _deref_pbuc1=vbuc2 
+    lda #0
+    sta ARR1+i-1
+    // [1] *(ARR2+main::j#0-1) = 0 -- _deref_pbuc1=vbuc2 
+    lda #0
+    sta ARR2+j-1
+    jmp __breturn
+    // main::@return
+  __breturn:
+    // [2] return 
+    rts
+}
+  // File Data
+.segment Data
+  ARR1: .fill $130, 0
+  ARR2: .byte 1, 2, 3
+
+ASSEMBLER OPTIMIZATIONS
+Removing instruction jmp __breturn
+Succesful ASM optimization Pass5NextJumpElimination
+Removing instruction lda #0
+Succesful ASM optimization Pass5UnnecesaryLoadElimination
+Removing instruction __breturn:
+Succesful ASM optimization Pass5UnusedLabelElimination
+
+FINAL SYMBOL TABLE
+constant byte* ARR1[$130]  = { fill( $130, 0) }
+constant byte* ARR2[]  = { 1, 2, 3 }
+constant byte SIZEOF_BYTE = 1
+void main()
+word main::i
+constant word main::i#0 i = $130*SIZEOF_BYTE
+byte main::j
+constant byte main::j#0 j = 3*SIZEOF_BYTE
+
+
+
+FINAL ASSEMBLER
+Score: 16
+
+  // File Comments
+  // Upstart
+  // Commodore 64 PRG executable file
+.file [name="sizeof-problem.prg", type="prg", segments="Program"]
+.segmentdef Program [segments="Basic, Code, Data"]
+.segmentdef Basic [start=$0801]
+.segmentdef Code [start=$80d]
+.segmentdef Data [startAfter="Code"]
+.segment Basic
+:BasicUpstart(main)
+  // Global Constants & labels
+  .const SIZEOF_BYTE = 1
+.segment Code
+  // main
+main: {
+    .const i = $130*SIZEOF_BYTE
+    .const j = 3*SIZEOF_BYTE
+    // ARR1[i-1] = 0
+    // [0] *(ARR1+main::i#0-1) = 0 -- _deref_pbuc1=vbuc2 
+    lda #0
+    sta ARR1+i-1
+    // ARR2[j-1] = 0
+    // [1] *(ARR2+main::j#0-1) = 0 -- _deref_pbuc1=vbuc2 
+    sta ARR2+j-1
+    // main::@return
+    // }
+    // [2] return 
+    rts
+}
+  // File Data
+.segment Data
+  ARR1: .fill $130, 0
+  ARR2: .byte 1, 2, 3
+
diff --git a/src/test/ref/sizeof-problem.sym b/src/test/ref/sizeof-problem.sym
new file mode 100644
index 000000000..ec6eed6c4
--- /dev/null
+++ b/src/test/ref/sizeof-problem.sym
@@ -0,0 +1,9 @@
+constant byte* ARR1[$130]  = { fill( $130, 0) }
+constant byte* ARR2[]  = { 1, 2, 3 }
+constant byte SIZEOF_BYTE = 1
+void main()
+word main::i
+constant word main::i#0 i = $130*SIZEOF_BYTE
+byte main::j
+constant byte main::j#0 j = 3*SIZEOF_BYTE
+
diff --git a/src/test/ref/sizeof-struct.asm b/src/test/ref/sizeof-struct.asm
index a08bc08d5..f6d062eff 100644
--- a/src/test/ref/sizeof-struct.asm
+++ b/src/test/ref/sizeof-struct.asm
@@ -15,29 +15,29 @@ main: {
     // Struct Arrays
     .const NUM_POINTS = 4
     .const NUM_CIRCLES = NUM_POINTS-1
-    // SCREEN[idx++] = '0'+sizeof(struct Point)
+    // SCREEN[idx++] = '0'+(char)sizeof(struct Point)
     // Struct Types
     lda #'0'+SIZEOF_STRUCT_POINT
     sta SCREEN
-    // SCREEN[idx++] = '0'+sizeof(struct Circle)
+    // SCREEN[idx++] = '0'+(char)sizeof(struct Circle)
     lda #'0'+SIZEOF_STRUCT_CIRCLE
     sta SCREEN+1
-    // SCREEN[idx++] = '0'+sizeof(p)
+    // SCREEN[idx++] = '0'+(char)sizeof(p)
     lda #'0'+SIZEOF_STRUCT_POINT
     sta SCREEN+3
-    // SCREEN[idx++] = '0'+sizeof(c)
+    // SCREEN[idx++] = '0'+(char)sizeof(c)
     lda #'0'+SIZEOF_STRUCT_CIRCLE
     sta SCREEN+4
-    // SCREEN[idx++] = '0'+sizeof(points)
+    // SCREEN[idx++] = '0'+(char)sizeof(points)
     lda #'0'+NUM_POINTS*SIZEOF_STRUCT_POINT
     sta SCREEN+6
-    // SCREEN[idx++] = '0'+sizeof(points)/sizeof(struct Point)
+    // SCREEN[idx++] = '0'+(char)(sizeof(points)/sizeof(struct Point))
     lda #'0'+NUM_POINTS*SIZEOF_STRUCT_POINT/SIZEOF_STRUCT_POINT
     sta SCREEN+7
-    // SCREEN[idx++] = '0'+sizeof(circles)
+    // SCREEN[idx++] = '0'+(char)(sizeof(circles))
     lda #'0'+NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE
     sta SCREEN+8
-    // SCREEN[idx++] = '0'+sizeof(circles)/sizeof(struct Circle)
+    // SCREEN[idx++] = '0'+(char)(sizeof(circles)/sizeof(struct Circle))
     lda #'0'+NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE/SIZEOF_STRUCT_CIRCLE
     sta SCREEN+9
     // }
diff --git a/src/test/ref/sizeof-struct.log b/src/test/ref/sizeof-struct.log
index 44112ba9c..092867097 100644
--- a/src/test/ref/sizeof-struct.log
+++ b/src/test/ref/sizeof-struct.log
@@ -6,36 +6,42 @@ CONTROL FLOW GRAPH SSA
 void main()
 main: scope:[main]  from __start
   main::idx#0 = 0
-  SCREEN[main::idx#0] = '0'+SIZEOF_STRUCT_POINT
+  SCREEN[main::idx#0] = '0'+(byte)SIZEOF_STRUCT_POINT
   main::idx#1 = ++ main::idx#0
-  SCREEN[main::idx#1] = '0'+SIZEOF_STRUCT_CIRCLE
+  SCREEN[main::idx#1] = '0'+(byte)SIZEOF_STRUCT_CIRCLE
   main::idx#2 = ++ main::idx#1
   main::idx#3 = ++ main::idx#2
   main::$0 = SIZEOF_STRUCT_POINT
-  main::$1 = '0' + main::$0
+  main::$14 = (byte)main::$0
+  main::$1 = '0' + main::$14
   SCREEN[main::idx#3] = main::$1
   main::idx#4 = ++ main::idx#3
   main::$2 = SIZEOF_STRUCT_CIRCLE
-  main::$3 = '0' + main::$2
+  main::$15 = (byte)main::$2
+  main::$3 = '0' + main::$15
   SCREEN[main::idx#4] = main::$3
   main::idx#5 = ++ main::idx#4
   main::idx#6 = ++ main::idx#5
   main::$4 = sizeof  main::points
-  main::$5 = '0' + main::$4
+  main::$16 = (byte)main::$4
+  main::$5 = '0' + main::$16
   SCREEN[main::idx#6] = main::$5
   main::idx#7 = ++ main::idx#6
   main::$6 = sizeof  main::points
   main::$7 = main::$6 / SIZEOF_STRUCT_POINT
-  main::$8 = '0' + main::$7
+  main::$17 = (byte)main::$7
+  main::$8 = '0' + main::$17
   SCREEN[main::idx#7] = main::$8
   main::idx#8 = ++ main::idx#7
   main::$9 = sizeof  main::circles
-  main::$10 = '0' + main::$9
+  main::$18 = (byte)main::$9
+  main::$10 = '0' + main::$18
   SCREEN[main::idx#8] = main::$10
   main::idx#9 = ++ main::idx#8
   main::$11 = sizeof  main::circles
   main::$12 = main::$11 / SIZEOF_STRUCT_CIRCLE
-  main::$13 = '0' + main::$12
+  main::$19 = (byte)main::$12
+  main::$13 = '0' + main::$19
   SCREEN[main::idx#9] = main::$13
   main::idx#10 = ++ main::idx#9
   to:main::@return
@@ -59,20 +65,26 @@ constant byte SIZEOF_STRUCT_CIRCLE = 3
 constant byte SIZEOF_STRUCT_POINT = 2
 void __start()
 void main()
-byte~ main::$0
+word~ main::$0
 byte~ main::$1
 byte~ main::$10
-byte~ main::$11
-byte~ main::$12
+word~ main::$11
+word~ main::$12
 byte~ main::$13
-byte~ main::$2
+byte~ main::$14
+byte~ main::$15
+byte~ main::$16
+byte~ main::$17
+byte~ main::$18
+byte~ main::$19
+word~ main::$2
 byte~ main::$3
-byte~ main::$4
+word~ main::$4
 byte~ main::$5
-byte~ main::$6
-byte~ main::$7
+word~ main::$6
+word~ main::$7
 byte~ main::$8
-byte~ main::$9
+word~ main::$9
 constant const byte main::NUM_CIRCLES = (byte)main::NUM_POINTS-1
 constant const byte main::NUM_POINTS = 4
 struct Point main::c_center
@@ -95,13 +107,15 @@ Adding number conversion cast (unumber) 1 in
 Successful SSA optimization PassNAddNumberTypeConversions
 Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 1
+Simplifying constant integer cast SIZEOF_STRUCT_POINT
+Simplifying constant integer cast SIZEOF_STRUCT_CIRCLE
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) 1
 Successful SSA optimization PassNFinalizeNumberTypeConversions
-Constant right-side identified [15] main::$4 = sizeof  main::points
-Constant right-side identified [19] main::$6 = sizeof  main::points
-Constant right-side identified [24] main::$9 = sizeof  main::circles
-Constant right-side identified [28] main::$11 = sizeof  main::circles
+Constant right-side identified [17] main::$4 = sizeof  main::points
+Constant right-side identified [22] main::$6 = sizeof  main::points
+Constant right-side identified [28] main::$9 = sizeof  main::circles
+Constant right-side identified [33] main::$11 = sizeof  main::circles
 Successful SSA optimization Pass2ConstantRValueConsolidation
 Constant main::idx#0 = 0
 Constant main::$0 = SIZEOF_STRUCT_POINT
@@ -111,9 +125,14 @@ Constant main::$6 = sizeof main::points
 Constant main::$9 = sizeof main::circles
 Constant main::$11 = sizeof main::circles
 Successful SSA optimization Pass2ConstantIdentification
+Constant main::$14 = (byte)main::$0
+Constant main::$15 = (byte)main::$2
+Constant main::$16 = (byte)main::$4
+Constant main::$18 = (byte)main::$9
+Successful SSA optimization Pass2ConstantIdentification
 Simplifying expression containing zero SCREEN in [1] SCREEN[main::idx#0] = '0'+SIZEOF_STRUCT_POINT
 Successful SSA optimization PassNSimplifyExpressionWithZero
-Eliminating unused variable main::idx#10 and assignment [25] main::idx#10 = ++ main::idx#9
+Eliminating unused variable main::idx#10 and assignment [27] main::idx#10 = ++ main::idx#9
 Successful SSA optimization PassNEliminateUnusedVars
 Removing unused procedure __start
 Removing unused procedure block __start
@@ -128,31 +147,34 @@ Resolving array sizeof() sizeof main::circles
 Resolving array sizeof() sizeof main::circles
 Successful SSA optimization PassNSizeOfSimplification
 Constant right-side identified [1] main::idx#1 = ++ main::idx#0
-Constant right-side identified [5] main::$1 = '0' + main::$0
-Constant right-side identified [8] main::$3 = '0' + main::$2
-Constant right-side identified [12] main::$5 = '0' + main::$4
+Constant right-side identified [5] main::$1 = '0' + main::$14
+Constant right-side identified [8] main::$3 = '0' + main::$15
+Constant right-side identified [12] main::$5 = '0' + main::$16
 Constant right-side identified [15] main::$7 = main::$6 / SIZEOF_STRUCT_POINT
-Constant right-side identified [19] main::$10 = '0' + main::$9
-Constant right-side identified [22] main::$12 = main::$11 / SIZEOF_STRUCT_CIRCLE
+Constant right-side identified [20] main::$10 = '0' + main::$18
+Constant right-side identified [23] main::$12 = main::$11 / SIZEOF_STRUCT_CIRCLE
 Successful SSA optimization Pass2ConstantRValueConsolidation
 Constant main::idx#1 = ++main::idx#0
-Constant main::$1 = '0'+main::$0
-Constant main::$3 = '0'+main::$2
-Constant main::$5 = '0'+main::$4
+Constant main::$1 = '0'+main::$14
+Constant main::$3 = '0'+main::$15
+Constant main::$5 = '0'+main::$16
 Constant main::$7 = main::$6/SIZEOF_STRUCT_POINT
-Constant main::$10 = '0'+main::$9
+Constant main::$10 = '0'+main::$18
 Constant main::$12 = main::$11/SIZEOF_STRUCT_CIRCLE
 Successful SSA optimization Pass2ConstantIdentification
+Constant main::$17 = (byte)main::$7
+Constant main::$19 = (byte)main::$12
+Successful SSA optimization Pass2ConstantIdentification
 Eliminating unused constant main::points
 Eliminating unused constant main::circles
 Successful SSA optimization PassNEliminateUnusedVars
 Constant right-side identified [2] main::idx#2 = ++ main::idx#1
-Constant right-side identified [11] main::$8 = '0' + main::$7
-Constant right-side identified [16] main::$13 = '0' + main::$12
+Constant right-side identified [11] main::$8 = '0' + main::$17
+Constant right-side identified [16] main::$13 = '0' + main::$19
 Successful SSA optimization Pass2ConstantRValueConsolidation
 Constant main::idx#2 = ++main::idx#1
-Constant main::$8 = '0'+main::$7
-Constant main::$13 = '0'+main::$12
+Constant main::$8 = '0'+main::$17
+Constant main::$13 = '0'+main::$19
 Successful SSA optimization Pass2ConstantIdentification
 Constant right-side identified [2] main::idx#3 = ++ main::idx#2
 Successful SSA optimization Pass2ConstantRValueConsolidation
@@ -193,29 +215,35 @@ Inlining constant with different constant siblings main::idx#7
 Inlining constant with different constant siblings main::idx#8
 Inlining constant with different constant siblings main::idx#9
 Constant inlined main::$12 = main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE/SIZEOF_STRUCT_CIRCLE
-Constant inlined main::$13 = '0'+main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE/SIZEOF_STRUCT_CIRCLE
-Constant inlined main::$10 = '0'+main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE
+Constant inlined main::$13 = '0'+(byte)main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE/SIZEOF_STRUCT_CIRCLE
+Constant inlined main::$14 = (byte)SIZEOF_STRUCT_POINT
+Constant inlined main::$15 = (byte)SIZEOF_STRUCT_CIRCLE
+Constant inlined main::$10 = '0'+(byte)main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE
 Constant inlined main::$11 = main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE
+Constant inlined main::$16 = (byte)main::NUM_POINTS*SIZEOF_STRUCT_POINT
+Constant inlined main::$17 = (byte)main::NUM_POINTS*SIZEOF_STRUCT_POINT/SIZEOF_STRUCT_POINT
+Constant inlined main::$18 = (byte)main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE
+Constant inlined main::$19 = (byte)main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE/SIZEOF_STRUCT_CIRCLE
 Constant inlined main::idx#0 = 0
 Constant inlined main::idx#1 = ++0
 Constant inlined main::idx#2 = ++++0
-Constant inlined main::$1 = '0'+SIZEOF_STRUCT_POINT
+Constant inlined main::$1 = '0'+(byte)SIZEOF_STRUCT_POINT
 Constant inlined main::idx#3 = ++++++0
 Constant inlined main::$2 = SIZEOF_STRUCT_CIRCLE
 Constant inlined main::idx#4 = ++++++++0
 Constant inlined main::idx#5 = ++++++++++0
 Constant inlined main::$0 = SIZEOF_STRUCT_POINT
 Constant inlined main::idx#6 = ++++++++++++0
-Constant inlined main::$5 = '0'+main::NUM_POINTS*SIZEOF_STRUCT_POINT
+Constant inlined main::$5 = '0'+(byte)main::NUM_POINTS*SIZEOF_STRUCT_POINT
 Constant inlined main::idx#7 = ++++++++++++++0
 Constant inlined main::$6 = main::NUM_POINTS*SIZEOF_STRUCT_POINT
 Constant inlined main::idx#8 = ++++++++++++++++0
-Constant inlined main::$3 = '0'+SIZEOF_STRUCT_CIRCLE
+Constant inlined main::$3 = '0'+(byte)SIZEOF_STRUCT_CIRCLE
 Constant inlined main::idx#9 = ++++++++++++++++++0
 Constant inlined main::$4 = main::NUM_POINTS*SIZEOF_STRUCT_POINT
 Constant inlined main::$9 = main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE
 Constant inlined main::$7 = main::NUM_POINTS*SIZEOF_STRUCT_POINT/SIZEOF_STRUCT_POINT
-Constant inlined main::$8 = '0'+main::NUM_POINTS*SIZEOF_STRUCT_POINT/SIZEOF_STRUCT_POINT
+Constant inlined main::$8 = '0'+(byte)main::NUM_POINTS*SIZEOF_STRUCT_POINT/SIZEOF_STRUCT_POINT
 Successful SSA optimization Pass2ConstantInlining
 Consolidated array index constant in *(SCREEN+++0)
 Consolidated array index constant in *(SCREEN+++++++0)
@@ -243,6 +271,13 @@ Successful SSA optimization Pass2ConstantSimplification
 Simplifying constant integer increment ++7
 Simplifying constant integer increment ++8
 Successful SSA optimization Pass2ConstantSimplification
+Simplifying constant integer cast SIZEOF_STRUCT_POINT
+Simplifying constant integer cast SIZEOF_STRUCT_CIRCLE
+Simplifying constant integer cast main::NUM_POINTS*SIZEOF_STRUCT_POINT
+Simplifying constant integer cast main::NUM_POINTS*SIZEOF_STRUCT_POINT/SIZEOF_STRUCT_POINT
+Simplifying constant integer cast main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE
+Simplifying constant integer cast main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE/SIZEOF_STRUCT_CIRCLE
+Successful SSA optimization PassNCastSimplification
 CALL GRAPH
 
 Created 0 initial phi equivalence classes
@@ -391,36 +426,36 @@ main: {
     // Struct Arrays
     .const NUM_POINTS = 4
     .const NUM_CIRCLES = NUM_POINTS-1
-    // SCREEN[idx++] = '0'+sizeof(struct Point)
+    // SCREEN[idx++] = '0'+(char)sizeof(struct Point)
     // [0] *SCREEN = '0'+SIZEOF_STRUCT_POINT -- _deref_pbuc1=vbuc2 
     // Struct Types
     lda #'0'+SIZEOF_STRUCT_POINT
     sta SCREEN
-    // SCREEN[idx++] = '0'+sizeof(struct Circle)
+    // SCREEN[idx++] = '0'+(char)sizeof(struct Circle)
     // [1] *(SCREEN+1) = '0'+SIZEOF_STRUCT_CIRCLE -- _deref_pbuc1=vbuc2 
     lda #'0'+SIZEOF_STRUCT_CIRCLE
     sta SCREEN+1
-    // SCREEN[idx++] = '0'+sizeof(p)
+    // SCREEN[idx++] = '0'+(char)sizeof(p)
     // [2] *(SCREEN+3) = '0'+SIZEOF_STRUCT_POINT -- _deref_pbuc1=vbuc2 
     lda #'0'+SIZEOF_STRUCT_POINT
     sta SCREEN+3
-    // SCREEN[idx++] = '0'+sizeof(c)
+    // SCREEN[idx++] = '0'+(char)sizeof(c)
     // [3] *(SCREEN+4) = '0'+SIZEOF_STRUCT_CIRCLE -- _deref_pbuc1=vbuc2 
     lda #'0'+SIZEOF_STRUCT_CIRCLE
     sta SCREEN+4
-    // SCREEN[idx++] = '0'+sizeof(points)
+    // SCREEN[idx++] = '0'+(char)sizeof(points)
     // [4] *(SCREEN+6) = '0'+main::NUM_POINTS*SIZEOF_STRUCT_POINT -- _deref_pbuc1=vbuc2 
     lda #'0'+NUM_POINTS*SIZEOF_STRUCT_POINT
     sta SCREEN+6
-    // SCREEN[idx++] = '0'+sizeof(points)/sizeof(struct Point)
+    // SCREEN[idx++] = '0'+(char)(sizeof(points)/sizeof(struct Point))
     // [5] *(SCREEN+7) = '0'+main::NUM_POINTS*SIZEOF_STRUCT_POINT/SIZEOF_STRUCT_POINT -- _deref_pbuc1=vbuc2 
     lda #'0'+NUM_POINTS*SIZEOF_STRUCT_POINT/SIZEOF_STRUCT_POINT
     sta SCREEN+7
-    // SCREEN[idx++] = '0'+sizeof(circles)
+    // SCREEN[idx++] = '0'+(char)(sizeof(circles))
     // [6] *(SCREEN+8) = '0'+main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE -- _deref_pbuc1=vbuc2 
     lda #'0'+NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE
     sta SCREEN+8
-    // SCREEN[idx++] = '0'+sizeof(circles)/sizeof(struct Circle)
+    // SCREEN[idx++] = '0'+(char)(sizeof(circles)/sizeof(struct Circle))
     // [7] *(SCREEN+9) = '0'+main::NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE/SIZEOF_STRUCT_CIRCLE -- _deref_pbuc1=vbuc2 
     lda #'0'+NUM_CIRCLES*SIZEOF_STRUCT_CIRCLE/SIZEOF_STRUCT_CIRCLE
     sta SCREEN+9
diff --git a/src/test/ref/sqr-delta.log b/src/test/ref/sqr-delta.log
index d3f86b7a6..6513fdb25 100644
--- a/src/test/ref/sqr-delta.log
+++ b/src/test/ref/sqr-delta.log
@@ -68,7 +68,7 @@ __start::@return: scope:[__start]  from __start::@2
   to:@return
 
 SYMBOL TABLE SSA
-constant dword* SCREEN = (dword*)$400
+constant dword* SCREEN = (byte*)$400
 constant byte SIZEOF_DWORD = 4
 void __start()
 dword ifunc(dword ifunc::a)
@@ -112,7 +112,7 @@ Adding number conversion cast (unumber) main::$1 in main::$1 = (unumber)0 * SIZE
 Successful SSA optimization PassNAddNumberTypeConversions
 Inlining cast ifunc::a#0 = (unumber)8
 Successful SSA optimization Pass2InlineCast
-Simplifying constant pointer cast (dword*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 2
 Simplifying constant integer cast 8
 Simplifying constant integer cast 0
@@ -471,7 +471,7 @@ Removing instruction __b1_from___b2:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant dword* SCREEN = (dword*) 1024
+constant dword* SCREEN = (byte*) 1024
 dword ifunc(dword ifunc::a)
 dword ifunc::a
 constant dword ifunc::a#0 a = 8
diff --git a/src/test/ref/sqr-delta.sym b/src/test/ref/sqr-delta.sym
index 300ca5721..fba5fb044 100644
--- a/src/test/ref/sqr-delta.sym
+++ b/src/test/ref/sqr-delta.sym
@@ -1,4 +1,4 @@
-constant dword* SCREEN = (dword*) 1024
+constant dword* SCREEN = (byte*) 1024
 dword ifunc(dword ifunc::a)
 dword ifunc::a
 constant dword ifunc::a#0 a = 8
diff --git a/src/test/ref/stmt-empty-1.log b/src/test/ref/stmt-empty-1.log
index 21465098c..12f10dd63 100644
--- a/src/test/ref/stmt-empty-1.log
+++ b/src/test/ref/stmt-empty-1.log
@@ -1,9 +1,8 @@
-Inlined call call __init 
 
 CONTROL FLOW GRAPH SSA
 
 void main()
-main: scope:[main]  from __start::@1
+main: scope:[main]  from __start
   main::b#0 = 0
   to:main::@1
 main::@1: scope:[main]  from main main::@2
@@ -26,20 +25,16 @@ main::@return: scope:[main]  from main::@3
 
 void __start()
 __start: scope:[__start]  from
-  to:__start::__init1
-__start::__init1: scope:[__start]  from __start
-  to:__start::@1
-__start::@1: scope:[__start]  from __start::__init1
   call main 
-  to:__start::@2
-__start::@2: scope:[__start]  from __start::@1
+  to:__start::@1
+__start::@1: scope:[__start]  from __start
   to:__start::@return
-__start::@return: scope:[__start]  from __start::@2
+__start::@return: scope:[__start]  from __start::@1
   return 
   to:@return
 
 SYMBOL TABLE SSA
-constant const byte* SCREEN = (const byte*)$400
+constant byte* const SCREEN = (byte*)$400
 void __start()
 void main()
 byte~ main::$0
@@ -50,12 +45,12 @@ byte main::b#1
 byte main::b#2
 byte main::b#3
 byte main::b#4
-constant const byte* str[]  = "Hello!"
+constant byte* str[]  = "Hello!"
 
 Adding number conversion cast (unumber) 0 in main::$1 = str[main::b#2] != 0
 Adding number conversion cast (unumber) 0 in SCREEN[0] = main::$0
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (const byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 0
 Simplifying constant integer cast 0
 Successful SSA optimization PassNCastSimplification
@@ -72,9 +67,7 @@ Simplifying expression containing zero SCREEN in [6] SCREEN[0] = main::$0
 Successful SSA optimization PassNSimplifyExpressionWithZero
 Removing unused procedure __start
 Removing unused procedure block __start
-Removing unused procedure block __start::__init1
 Removing unused procedure block __start::@1
-Removing unused procedure block __start::@2
 Removing unused procedure block __start::@return
 Successful SSA optimization PassNEliminateEmptyStart
 Inlining constant with var siblings main::b#0
@@ -209,13 +202,13 @@ Removing instruction __b1_from___b2:
 Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
-constant const byte* SCREEN = (const byte*) 1024
+constant byte* const SCREEN = (byte*) 1024
 void main()
 byte~ main::$0 reg byte x 4.0
 byte main::b
 byte main::b#1 reg byte x 22.0
 byte main::b#2 reg byte x 17.5
-constant const byte* str[]  = "Hello!"
+constant byte* str[]  = "Hello!"
 
 reg byte x [ main::b#2 main::b#1 ]
 reg byte x [ main::$0 ]
diff --git a/src/test/ref/stmt-empty-1.sym b/src/test/ref/stmt-empty-1.sym
index a74fe4fc5..fca333cb3 100644
--- a/src/test/ref/stmt-empty-1.sym
+++ b/src/test/ref/stmt-empty-1.sym
@@ -1,10 +1,10 @@
-constant const byte* SCREEN = (const byte*) 1024
+constant byte* const SCREEN = (byte*) 1024
 void main()
 byte~ main::$0 reg byte x 4.0
 byte main::b
 byte main::b#1 reg byte x 22.0
 byte main::b#2 reg byte x 17.5
-constant const byte* str[]  = "Hello!"
+constant byte* str[]  = "Hello!"
 
 reg byte x [ main::b#2 main::b#1 ]
 reg byte x [ main::$0 ]
diff --git a/src/test/ref/stmt-empty.asm b/src/test/ref/stmt-empty.asm
index 88972a6b6..3f87e8dc7 100644
--- a/src/test/ref/stmt-empty.asm
+++ b/src/test/ref/stmt-empty.asm
@@ -16,7 +16,7 @@ main: {
     sta.z screen+1
   // Fill screen with '*'. Body is an empty statement.
   __b1:
-    // for( char * screen = 0x0400; screen<0x400+1000; (*screen++)='*')
+    // for( char * screen = (char*)0x0400; screen<0x400+1000; (*screen++)='*')
     lda.z screen+1
     cmp #>$400+$3e8
     bcc __b2
@@ -32,7 +32,7 @@ main: {
     lda #'*'
     ldy #0
     sta (screen),y
-    // for( char * screen = 0x0400; screen<0x400+1000; (*screen++)='*')
+    // for( char * screen = (char*)0x0400; screen<0x400+1000; (*screen++)='*')
     inc.z screen
     bne !+
     inc.z screen+1
diff --git a/src/test/ref/stmt-empty.log b/src/test/ref/stmt-empty.log
index 1031dff2f..565d54647 100644
--- a/src/test/ref/stmt-empty.log
+++ b/src/test/ref/stmt-empty.log
@@ -218,7 +218,7 @@ main: {
   // Fill screen with '*'. Body is an empty statement.
     // main::@1
   __b1:
-    // for( char * screen = 0x0400; screen<0x400+1000; (*screen++)='*')
+    // for( char * screen = (char*)0x0400; screen<0x400+1000; (*screen++)='*')
     // [2] if(main::screen#2<$400+$3e8) goto main::@2 -- pbuz1_lt_vwuc1_then_la1 
     lda.z screen+1
     cmp #>$400+$3e8
@@ -239,7 +239,7 @@ main: {
     lda #'*'
     ldy #0
     sta (screen),y
-    // for( char * screen = 0x0400; screen<0x400+1000; (*screen++)='*')
+    // for( char * screen = (char*)0x0400; screen<0x400+1000; (*screen++)='*')
     // [5] main::screen#1 = ++ main::screen#2 -- pbuz1=_inc_pbuz1 
     inc.z screen
     bne !+
diff --git a/src/test/ref/struct-43.log b/src/test/ref/struct-43.log
index d618633f7..240bb2435 100644
--- a/src/test/ref/struct-43.log
+++ b/src/test/ref/struct-43.log
@@ -33,7 +33,7 @@ __start::@return: scope:[__start]  from __start::@1
 SYMBOL TABLE SSA
 constant byte OFFSET_STRUCT_POINT_ID = 5
 constant byte OFFSET_STRUCT_POINT_POS = 1
-constant word* const SCREEN = (word*)$400
+constant word* const SCREEN = (byte*)$400
 constant byte SIZEOF_WORD = 2
 void __start()
 void main()
@@ -55,7 +55,7 @@ Adding number conversion cast (unumber) main::$3 in main::$3 = (unumber)1 * SIZE
 Adding number conversion cast (unumber) 2 in main::$4 = 2 * SIZEOF_WORD
 Adding number conversion cast (unumber) main::$4 in main::$4 = (unumber)2 * SIZEOF_WORD
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast 0
 Simplifying constant integer cast 0
 Simplifying constant integer cast 1
@@ -207,7 +207,7 @@ Succesful ASM optimization Pass5UnusedLabelElimination
 FINAL SYMBOL TABLE
 constant byte OFFSET_STRUCT_POINT_ID = 5
 constant byte OFFSET_STRUCT_POINT_POS = 1
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 constant byte SIZEOF_WORD = 2
 void main()
 struct Point point1 loadstore mem[7] = { x: 4, pos: { 1, 2 }, id: 3 }
diff --git a/src/test/ref/struct-43.sym b/src/test/ref/struct-43.sym
index 301802df5..72e589677 100644
--- a/src/test/ref/struct-43.sym
+++ b/src/test/ref/struct-43.sym
@@ -1,6 +1,6 @@
 constant byte OFFSET_STRUCT_POINT_ID = 5
 constant byte OFFSET_STRUCT_POINT_POS = 1
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 constant byte SIZEOF_WORD = 2
 void main()
 struct Point point1 loadstore mem[7] = { x: 4, pos: { 1, 2 }, id: 3 }
diff --git a/src/test/ref/struct-ptr-20.log b/src/test/ref/struct-ptr-20.log
index 4c2da0082..5d606120d 100644
--- a/src/test/ref/struct-ptr-20.log
+++ b/src/test/ref/struct-ptr-20.log
@@ -6,7 +6,7 @@ main: scope:[main]  from __start
   main::idx#0 = 0
   main::$0 = sizeof  settings
   main::$1 = main::$0 / SIZEOF_STRUCT_SETTING
-  main::len#0 = main::$1
+  main::len#0 = (byte)main::$1
   main::setting#0 = settings
   to:main::@1
 main::@1: scope:[main]  from main main::@3
@@ -65,8 +65,8 @@ constant byte* const SCREEN = (byte*)$400
 constant byte SIZEOF_STRUCT_SETTING = 2
 void __start()
 void main()
-byte~ main::$0
-byte~ main::$1
+word~ main::$0
+word~ main::$1
 byte*~ main::$10
 bool~ main::$11
 const struct Setting*~ main::$2
@@ -109,7 +109,6 @@ Successful SSA optimization PassNFinalizeNumberTypeConversions
 Inversing boolean not [14] main::$4 = 0 == *main::$7 from [13] main::$11 = 0 != *main::$7
 Inversing boolean not [15] main::$5 = 0 != *main::$7 from [14] main::$4 = 0 == *main::$7
 Successful SSA optimization Pass2UnaryNotSimplification
-Alias main::len#0 = main::$1 
 Alias main::setting#2 = main::setting#3 main::setting#5 
 Alias main::idx#2 = main::idx#3 main::idx#4 
 Alias main::len#1 = main::len#3 main::len#4 
@@ -119,8 +118,8 @@ Alias main::len#1 = main::len#2
 Successful SSA optimization Pass2AliasElimination
 Identical Phi Values main::len#1 main::len#0
 Successful SSA optimization Pass2IdenticalPhiElimination
-Simple Condition main::$3 [8] if(main::setting#2<main::$2) goto main::@2
-Simple Condition main::$5 [12] if(0!=*main::$7) goto main::@3
+Simple Condition main::$3 [9] if(main::setting#2<main::$2) goto main::@2
+Simple Condition main::$5 [13] if(0!=*main::$7) goto main::@3
 Successful SSA optimization Pass2ConditionalJumpSimplification
 Constant right-side identified [1] main::$0 = sizeof  settings
 Successful SSA optimization Pass2ConstantRValueConsolidation
@@ -128,14 +127,14 @@ Constant main::idx#0 = 0
 Constant main::$0 = sizeof settings
 Constant main::setting#0 = settings
 Successful SSA optimization Pass2ConstantIdentification
-Converting *(pointer+n) to pointer[n] [12] if(0!=*main::$7) goto main::@3  -- main::$9[OFFSET_STRUCT_SETTING_OFF]
-Converting *(pointer+n) to pointer[n] [17] SCREEN[main::idx#2] = *main::$8  -- main::$10[OFFSET_STRUCT_SETTING_ID]
+Converting *(pointer+n) to pointer[n] [13] if(0!=*main::$7) goto main::@3  -- main::$9[OFFSET_STRUCT_SETTING_OFF]
+Converting *(pointer+n) to pointer[n] [18] SCREEN[main::idx#2] = *main::$8  -- main::$10[OFFSET_STRUCT_SETTING_ID]
 Successful SSA optimization Pass2InlineDerefIdx
-Simplifying expression containing zero main::$9 in [10] main::$7 = main::$9 + OFFSET_STRUCT_SETTING_OFF
-Simplifying expression containing zero main::$9 in [12] if(0!=main::$9[OFFSET_STRUCT_SETTING_OFF]) goto main::@3
+Simplifying expression containing zero main::$9 in [11] main::$7 = main::$9 + OFFSET_STRUCT_SETTING_OFF
+Simplifying expression containing zero main::$9 in [13] if(0!=main::$9[OFFSET_STRUCT_SETTING_OFF]) goto main::@3
 Successful SSA optimization PassNSimplifyExpressionWithZero
-Eliminating unused variable main::$7 and assignment [6] main::$7 = main::$9
-Eliminating unused variable main::$8 and assignment [11] main::$8 = main::$10 + OFFSET_STRUCT_SETTING_ID
+Eliminating unused variable main::$7 and assignment [7] main::$7 = main::$9
+Eliminating unused variable main::$8 and assignment [12] main::$8 = main::$10 + OFFSET_STRUCT_SETTING_ID
 Eliminating unused constant OFFSET_STRUCT_SETTING_OFF
 Successful SSA optimization PassNEliminateUnusedVars
 Removing unused procedure __start
@@ -145,9 +144,11 @@ Removing unused procedure block __start::@return
 Successful SSA optimization PassNEliminateEmptyStart
 Resolving array sizeof() sizeof settings
 Successful SSA optimization PassNSizeOfSimplification
-Constant right-side identified [0] main::len#0 = main::$0 / SIZEOF_STRUCT_SETTING
+Constant right-side identified [0] main::$1 = main::$0 / SIZEOF_STRUCT_SETTING
 Successful SSA optimization Pass2ConstantRValueConsolidation
-Constant main::len#0 = main::$0/SIZEOF_STRUCT_SETTING
+Constant main::$1 = main::$0/SIZEOF_STRUCT_SETTING
+Successful SSA optimization Pass2ConstantIdentification
+Constant main::len#0 = (byte)main::$1
 Successful SSA optimization Pass2ConstantIdentification
 Adding number conversion cast (unumber) 3 in 
 Successful SSA optimization PassNAddNumberTypeConversions
@@ -170,10 +171,13 @@ Inlining constant with var siblings main::idx#0
 Inlining constant with var siblings main::setting#0
 Constant inlined main::$6 = main::len#0*SIZEOF_STRUCT_SETTING
 Constant inlined main::idx#0 = 0
+Constant inlined main::$1 = 3*SIZEOF_STRUCT_SETTING/SIZEOF_STRUCT_SETTING
 Constant inlined main::setting#0 = settings
 Constant inlined main::$2 = settings+main::len#0*SIZEOF_STRUCT_SETTING
 Constant inlined main::$0 = 3*SIZEOF_STRUCT_SETTING
 Successful SSA optimization Pass2ConstantInlining
+Simplifying constant integer cast 3*SIZEOF_STRUCT_SETTING/SIZEOF_STRUCT_SETTING
+Successful SSA optimization PassNCastSimplification
 Added new block during phi lifting main::@5(between main::@2 and main::@3)
 Adding NOP phi() at start of main
 CALL GRAPH
diff --git a/src/test/ref/struct-ptr-21.log b/src/test/ref/struct-ptr-21.log
index 3bd136be9..12869a1e0 100644
--- a/src/test/ref/struct-ptr-21.log
+++ b/src/test/ref/struct-ptr-21.log
@@ -39,7 +39,7 @@ __start::@return: scope:[__start]  from __start::@1
 SYMBOL TABLE SSA
 constant byte OFFSET_STRUCT_SETTING_BUF = 1
 constant byte OFFSET_STRUCT_SETTING_LEN = 0
-constant word* const SCREEN = (word*)$400
+constant word* const SCREEN = (byte*)$400
 constant byte SIZEOF_STRUCT_SETTING = 3
 constant byte SIZEOF_WORD = 2
 void __start()
@@ -64,7 +64,7 @@ Adding number conversion cast (unumber) 0 in
 Adding number conversion cast (unumber) 0*SIZEOF_STRUCT_SETTING in 
 Adding number conversion cast (unumber) 0 in 
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast (unumber)0*SIZEOF_WORD
 Simplifying constant integer cast 0
 Simplifying constant integer cast (unumber)0*SIZEOF_STRUCT_SETTING
@@ -252,7 +252,7 @@ Succesful ASM optimization Pass5UnusedLabelElimination
 
 FINAL SYMBOL TABLE
 constant byte OFFSET_STRUCT_SETTING_BUF = 1
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 void main()
 byte~ main::$1 reg byte a 33.0
 byte main::i
diff --git a/src/test/ref/struct-ptr-21.sym b/src/test/ref/struct-ptr-21.sym
index 9a71fe415..cd9cd3393 100644
--- a/src/test/ref/struct-ptr-21.sym
+++ b/src/test/ref/struct-ptr-21.sym
@@ -1,5 +1,5 @@
 constant byte OFFSET_STRUCT_SETTING_BUF = 1
-constant word* const SCREEN = (word*) 1024
+constant word* const SCREEN = (byte*) 1024
 void main()
 byte~ main::$1 reg byte a 33.0
 byte main::i
diff --git a/src/test/ref/test-comments-global.asm b/src/test/ref/test-comments-global.asm
index e345ae026..8dbd1f7cb 100644
--- a/src/test/ref/test-comments-global.asm
+++ b/src/test/ref/test-comments-global.asm
@@ -11,7 +11,7 @@
   .label screen = 2
 .segment Code
 __start: {
-    // __ma char * screen = 0x0400
+    // __ma char * screen = (char*)0x0400
     lda #<$400
     sta.z screen
     lda #>$400
diff --git a/src/test/ref/test-comments-global.log b/src/test/ref/test-comments-global.log
index 4ed2ec99b..35a7a4745 100644
--- a/src/test/ref/test-comments-global.log
+++ b/src/test/ref/test-comments-global.log
@@ -207,7 +207,7 @@ Score: 60
   // __start
 __start: {
     // __start::__init1
-    // __ma char * screen = 0x0400
+    // __ma char * screen = (char*)0x0400
     // [1] screen = (byte*) 1024 -- pbuz1=pbuc1 
     lda #<$400
     sta.z screen
diff --git a/src/test/ref/test-keyboard.asm b/src/test/ref/test-keyboard.asm
index a8af46a53..c1e88fca5 100644
--- a/src/test/ref/test-keyboard.asm
+++ b/src/test/ref/test-keyboard.asm
@@ -77,7 +77,7 @@ main: {
     sta.z sc+1
   // Clear screen
   __b1:
-    // for(byte* sc = $400; sc<$400+1000;sc++)
+    // for(byte* sc = (char*)$400; sc<$400+1000;sc++)
     lda.z sc+1
     cmp #>$400+$3e8
     bcs !__b2+
@@ -205,7 +205,7 @@ main: {
     lda #' '
     ldy #0
     sta (sc),y
-    // for(byte* sc = $400; sc<$400+1000;sc++)
+    // for(byte* sc = (char*)$400; sc<$400+1000;sc++)
     inc.z sc
     bne !+
     inc.z sc+1
diff --git a/src/test/ref/test-keyboard.log b/src/test/ref/test-keyboard.log
index 7dbbecbd9..ee41490b2 100644
--- a/src/test/ref/test-keyboard.log
+++ b/src/test/ref/test-keyboard.log
@@ -1761,7 +1761,7 @@ main: {
   // Clear screen
     // main::@1
   __b1:
-    // for(byte* sc = $400; sc<$400+1000;sc++)
+    // for(byte* sc = (char*)$400; sc<$400+1000;sc++)
     // [2] if(main::sc#2<$400+$3e8) goto main::@2 -- pbuz1_lt_vwuc1_then_la1 
     lda.z sc+1
     cmp #>$400+$3e8
@@ -1968,7 +1968,7 @@ main: {
     lda #' '
     ldy #0
     sta (sc),y
-    // for(byte* sc = $400; sc<$400+1000;sc++)
+    // for(byte* sc = (char*)$400; sc<$400+1000;sc++)
     // [44] main::sc#1 = ++ main::sc#2 -- pbuz1=_inc_pbuz1 
     inc.z sc
     bne !+
diff --git a/src/test/ref/type-inference.log b/src/test/ref/type-inference.log
index d01e9d9c5..5bc16f849 100644
--- a/src/test/ref/type-inference.log
+++ b/src/test/ref/type-inference.log
@@ -39,12 +39,12 @@ byte main::b
 byte main::b#0
 byte main::b#1
 byte main::b#2
-constant word* const main::screen = (word*)$400
+constant word* const main::screen = (byte*)$400
 
 Adding number conversion cast (unumber) -$30 in main::$0 = -$30 + main::b#2
 Adding number conversion cast (unumber) main::$0 in main::$0 = (unumber)-$30 + main::b#2
 Successful SSA optimization PassNAddNumberTypeConversions
-Simplifying constant pointer cast (word*) 1024
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant integer cast -$30
 Successful SSA optimization PassNCastSimplification
 Finalized unsigned number type (byte) -$30
@@ -220,7 +220,7 @@ byte~ main::$2 reg byte x 22.0
 byte main::b
 byte main::b#1 reg byte y 16.5
 byte main::b#2 reg byte y 11.0
-constant word* const main::screen = (word*) 1024
+constant word* const main::screen = (byte*) 1024
 
 reg byte y [ main::b#2 main::b#1 ]
 zp[1]:2 [ main::$0 ]
diff --git a/src/test/ref/type-inference.sym b/src/test/ref/type-inference.sym
index a3cf5d35e..41cf8d4d2 100644
--- a/src/test/ref/type-inference.sym
+++ b/src/test/ref/type-inference.sym
@@ -4,7 +4,7 @@ byte~ main::$2 reg byte x 22.0
 byte main::b
 byte main::b#1 reg byte y 16.5
 byte main::b#2 reg byte y 11.0
-constant word* const main::screen = (word*) 1024
+constant word* const main::screen = (byte*) 1024
 
 reg byte y [ main::b#2 main::b#1 ]
 zp[1]:2 [ main::$0 ]
diff --git a/src/test/ref/typedef-2.asm b/src/test/ref/typedef-2.asm
index 6fb5f63d0..6c5ee1ca7 100644
--- a/src/test/ref/typedef-2.asm
+++ b/src/test/ref/typedef-2.asm
@@ -10,7 +10,7 @@
   .label ptr = 2
 .segment Code
 __start: {
-    // char* ptr = 0x1000
+    // char* ptr = (char*)0x1000
     lda #<$1000
     sta.z ptr
     lda #>$1000
diff --git a/src/test/ref/typedef-2.log b/src/test/ref/typedef-2.log
index 6af27f407..64cc77bcb 100644
--- a/src/test/ref/typedef-2.log
+++ b/src/test/ref/typedef-2.log
@@ -226,7 +226,7 @@ Score: 34
   // __start
 __start: {
     // __start::__init1
-    // char* ptr = 0x1000
+    // char* ptr = (char*)0x1000
     // [1] ptr = (byte*) 4096 -- pbuz1=pbuc1 
     lda #<$1000
     sta.z ptr
diff --git a/src/test/ref/varmodel-ma_mem-2.asm b/src/test/ref/varmodel-ma_mem-2.asm
index b02d730e4..5728e630d 100644
--- a/src/test/ref/varmodel-ma_mem-2.asm
+++ b/src/test/ref/varmodel-ma_mem-2.asm
@@ -10,7 +10,7 @@
 .segment Code
 main: {
     .label screen = 2
-    // char* screen = 0x0400
+    // char* screen = (char*)0x0400
     // A local pointer 
     lda #<$400
     sta.z screen
diff --git a/src/test/ref/varmodel-ma_mem-2.log b/src/test/ref/varmodel-ma_mem-2.log
index 4d0009c5b..8435e09df 100644
--- a/src/test/ref/varmodel-ma_mem-2.log
+++ b/src/test/ref/varmodel-ma_mem-2.log
@@ -194,7 +194,7 @@ Score: 392
   // main
 main: {
     .label screen = 2
-    // char* screen = 0x0400
+    // char* screen = (char*)0x0400
     // [0] main::screen = (byte*) 1024 -- pbuz1=pbuc1 
     // A local pointer 
     lda #<$400
diff --git a/src/test/ref/varmodel-ma_mem-3.asm b/src/test/ref/varmodel-ma_mem-3.asm
index d4cb836c6..50cadef23 100644
--- a/src/test/ref/varmodel-ma_mem-3.asm
+++ b/src/test/ref/varmodel-ma_mem-3.asm
@@ -17,7 +17,7 @@ main: {
     rts
 }
 model_ma_mem: {
-    // char* screen = 0x0400
+    // char* screen = (char*)0x0400
     // A local pointer
     lda #<$400
     sta screen
diff --git a/src/test/ref/varmodel-ma_mem-3.log b/src/test/ref/varmodel-ma_mem-3.log
index e7fde8080..ec01b024a 100644
--- a/src/test/ref/varmodel-ma_mem-3.log
+++ b/src/test/ref/varmodel-ma_mem-3.log
@@ -427,7 +427,7 @@ main: {
 }
   // model_ma_mem
 model_ma_mem: {
-    // char* screen = 0x0400
+    // char* screen = (char*)0x0400
     // [5] model_ma_mem::screen = (byte*) 1024 -- pbum1=pbuc1 
     // A local pointer
     lda #<$400
diff --git a/src/test/ref/varmodel-ma_mem.asm b/src/test/ref/varmodel-ma_mem.asm
index ac311e23a..c7258f0cc 100644
--- a/src/test/ref/varmodel-ma_mem.asm
+++ b/src/test/ref/varmodel-ma_mem.asm
@@ -9,7 +9,7 @@
 :BasicUpstart(main)
 .segment Code
 main: {
-    // char* screen = 0x0400
+    // char* screen = (char*)0x0400
     // A local pointer 
     lda #<$400
     sta screen
diff --git a/src/test/ref/varmodel-ma_mem.log b/src/test/ref/varmodel-ma_mem.log
index 8e909d7e0..9d48fa4c6 100644
--- a/src/test/ref/varmodel-ma_mem.log
+++ b/src/test/ref/varmodel-ma_mem.log
@@ -197,7 +197,7 @@ Score: 554
 .segment Code
   // main
 main: {
-    // char* screen = 0x0400
+    // char* screen = (char*)0x0400
     // [0] main::screen = (byte*) 1024 -- pbum1=pbuc1 
     // A local pointer 
     lda #<$400
diff --git a/src/test/ref/word-array-0.log b/src/test/ref/word-array-0.log
index 0b03f657f..2a8b661d4 100644
--- a/src/test/ref/word-array-0.log
+++ b/src/test/ref/word-array-0.log
@@ -47,6 +47,7 @@ word main::w2
 word main::w2#0
 constant word* main::words[3]  = (word*)$400
 
+Adding number conversion cast (unumber) 6*$28 in 
 Adding number conversion cast (unumber) 1 in main::$4 = 1 * SIZEOF_WORD
 Adding number conversion cast (unumber) main::$4 in main::$4 = (unumber)1 * SIZEOF_WORD
 Adding number conversion cast (unumber) 0 in main::SCREEN[0] = main::$0
@@ -56,6 +57,7 @@ Adding number conversion cast (unumber) main::$5 in main::$5 = (unumber)2 * SIZE
 Adding number conversion cast (unumber) 2 in main::SCREEN[2] = main::$2
 Adding number conversion cast (unumber) 3 in main::SCREEN[3] = main::$3
 Successful SSA optimization PassNAddNumberTypeConversions
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant pointer cast (word*) 1024
 Simplifying constant integer cast 1
 Simplifying constant integer cast 0
@@ -95,11 +97,12 @@ Consolidated array index constant in *(main::words+2*SIZEOF_WORD)
 Consolidated array index constant in *(main::SCREEN+2)
 Consolidated array index constant in *(main::SCREEN+3)
 Successful SSA optimization Pass2ConstantAdditionElimination
-Finalized unsigned number type (word) $400
 Finalized unsigned number type (byte) 6
 Finalized unsigned number type (byte) $28
 Finalized unsigned number type (byte) 3
 Successful SSA optimization PassNFinalizeNumberTypeConversions
+Simplifying constant integer cast 6*$28
+Successful SSA optimization PassNCastSimplification
 CALL GRAPH
 
 Created 0 initial phi equivalence classes
@@ -243,7 +246,7 @@ byte~ main::$0 reg byte a 4.0
 byte~ main::$1 reg byte a 4.0
 byte~ main::$2 reg byte a 4.0
 byte~ main::$3 reg byte a 4.0
-constant byte* const main::SCREEN = (byte*)$400+6*$28
+constant byte* const main::SCREEN = (byte*) 1024+6*$28
 word main::w1
 word main::w1#0 w1 zp[2]:2 2.0
 word main::w2
diff --git a/src/test/ref/word-array-0.sym b/src/test/ref/word-array-0.sym
index 3e532c25b..d1acad885 100644
--- a/src/test/ref/word-array-0.sym
+++ b/src/test/ref/word-array-0.sym
@@ -4,7 +4,7 @@ byte~ main::$0 reg byte a 4.0
 byte~ main::$1 reg byte a 4.0
 byte~ main::$2 reg byte a 4.0
 byte~ main::$3 reg byte a 4.0
-constant byte* const main::SCREEN = (byte*)$400+6*$28
+constant byte* const main::SCREEN = (byte*) 1024+6*$28
 word main::w1
 word main::w1#0 w1 zp[2]:2 2.0
 word main::w2
diff --git a/src/test/ref/word-pointer-iteration-0.log b/src/test/ref/word-pointer-iteration-0.log
index c16119f1c..443f87e60 100644
--- a/src/test/ref/word-pointer-iteration-0.log
+++ b/src/test/ref/word-pointer-iteration-0.log
@@ -51,6 +51,7 @@ word* main::wp#1
 word* main::wp#2
 word* main::wp#3
 
+Adding number conversion cast (unumber) $28*6 in 
 Adding number conversion cast (unumber) 0 in main::SCREEN[0] = main::$0
 Adding number conversion cast (unumber) 1 in main::SCREEN[1] = main::$1
 Adding number conversion cast (unumber) 2 in main::SCREEN[2] = main::$2
@@ -58,6 +59,7 @@ Adding number conversion cast (unumber) 3 in main::SCREEN[3] = main::$3
 Adding number conversion cast (unumber) 4 in main::SCREEN[4] = main::$4
 Adding number conversion cast (unumber) 5 in main::SCREEN[5] = main::$5
 Successful SSA optimization PassNAddNumberTypeConversions
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant pointer cast (word*) 1024
 Simplifying constant integer cast 0
 Simplifying constant integer cast 1
@@ -109,10 +111,11 @@ Consolidated array index constant in *(main::SCREEN+3)
 Consolidated array index constant in *(main::SCREEN+4)
 Consolidated array index constant in *(main::SCREEN+5)
 Successful SSA optimization Pass2ConstantAdditionElimination
-Finalized unsigned number type (word) $400
 Finalized unsigned number type (byte) $28
 Finalized unsigned number type (byte) 6
 Successful SSA optimization PassNFinalizeNumberTypeConversions
+Simplifying constant integer cast $28*6
+Successful SSA optimization PassNCastSimplification
 CALL GRAPH
 
 Created 0 initial phi equivalence classes
@@ -255,7 +258,7 @@ byte~ main::$2 reg byte a 4.0
 byte~ main::$3 reg byte a 4.0
 byte~ main::$4 reg byte a 4.0
 byte~ main::$5 reg byte a 4.0
-constant byte* const main::SCREEN = (byte*)$400+$28*6
+constant byte* const main::SCREEN = (byte*) 1024+$28*6
 word* main::wp
 
 reg byte a [ main::$0 ]
diff --git a/src/test/ref/word-pointer-iteration-0.sym b/src/test/ref/word-pointer-iteration-0.sym
index 315985f44..dfdbe65bb 100644
--- a/src/test/ref/word-pointer-iteration-0.sym
+++ b/src/test/ref/word-pointer-iteration-0.sym
@@ -6,7 +6,7 @@ byte~ main::$2 reg byte a 4.0
 byte~ main::$3 reg byte a 4.0
 byte~ main::$4 reg byte a 4.0
 byte~ main::$5 reg byte a 4.0
-constant byte* const main::SCREEN = (byte*)$400+$28*6
+constant byte* const main::SCREEN = (byte*) 1024+$28*6
 word* main::wp
 
 reg byte a [ main::$0 ]
diff --git a/src/test/ref/word-pointer-math-0.log b/src/test/ref/word-pointer-math-0.log
index 125c86f1f..7b8db1fc7 100644
--- a/src/test/ref/word-pointer-math-0.log
+++ b/src/test/ref/word-pointer-math-0.log
@@ -51,6 +51,7 @@ word main::w2
 word main::w2#0
 constant word* main::words = (word*)$400
 
+Adding number conversion cast (unumber) 6*$28 in 
 Adding number conversion cast (unumber) 1 in main::$6 = 1 * SIZEOF_WORD
 Adding number conversion cast (unumber) main::$6 in main::$6 = (unumber)1 * SIZEOF_WORD
 Adding number conversion cast (unumber) 0 in main::SCREEN[0] = main::$1
@@ -60,6 +61,7 @@ Adding number conversion cast (unumber) main::$7 in main::$7 = (unumber)2 * SIZE
 Adding number conversion cast (unumber) 2 in main::SCREEN[2] = main::$4
 Adding number conversion cast (unumber) 3 in main::SCREEN[3] = main::$5
 Successful SSA optimization PassNAddNumberTypeConversions
+Simplifying constant pointer cast (byte*) 1024
 Simplifying constant pointer cast (word*) 1024
 Simplifying constant integer cast 1
 Simplifying constant integer cast 0
@@ -105,10 +107,11 @@ Consolidated array index constant in *(main::words+2*SIZEOF_WORD)
 Consolidated array index constant in *(main::SCREEN+2)
 Consolidated array index constant in *(main::SCREEN+3)
 Successful SSA optimization Pass2ConstantAdditionElimination
-Finalized unsigned number type (word) $400
 Finalized unsigned number type (byte) 6
 Finalized unsigned number type (byte) $28
 Successful SSA optimization PassNFinalizeNumberTypeConversions
+Simplifying constant integer cast 6*$28
+Successful SSA optimization PassNCastSimplification
 CALL GRAPH
 
 Created 0 initial phi equivalence classes
@@ -252,7 +255,7 @@ byte~ main::$1 reg byte a 4.0
 byte~ main::$2 reg byte a 4.0
 byte~ main::$4 reg byte a 4.0
 byte~ main::$5 reg byte a 4.0
-constant byte* const main::SCREEN = (byte*)$400+6*$28
+constant byte* const main::SCREEN = (byte*) 1024+6*$28
 word main::w1
 word main::w1#0 w1 zp[2]:2 2.0
 word main::w2
diff --git a/src/test/ref/word-pointer-math-0.sym b/src/test/ref/word-pointer-math-0.sym
index 2e65383fa..ba02bc58e 100644
--- a/src/test/ref/word-pointer-math-0.sym
+++ b/src/test/ref/word-pointer-math-0.sym
@@ -4,7 +4,7 @@ byte~ main::$1 reg byte a 4.0
 byte~ main::$2 reg byte a 4.0
 byte~ main::$4 reg byte a 4.0
 byte~ main::$5 reg byte a 4.0
-constant byte* const main::SCREEN = (byte*)$400+6*$28
+constant byte* const main::SCREEN = (byte*) 1024+6*$28
 word main::w1
 word main::w1#0 w1 zp[2]:2 2.0
 word main::w2
diff --git a/src/test/ref/zpparammin.log b/src/test/ref/zpparammin.log
index 682476b13..5a57e5064 100644
--- a/src/test/ref/zpparammin.log
+++ b/src/test/ref/zpparammin.log
@@ -141,6 +141,7 @@ byte sum2::return#2
 byte sum2::return#3
 byte sum2::return#4
 
+Adding number conversion cast (unumber) $28 in 
 Adding number conversion cast (unumber) 1 in main::$0 = main::i#2 + 1
 Adding number conversion cast (unumber) main::$0 in main::$0 = main::i#2 + (unumber)1
 Adding number conversion cast (unumber) 2 in main::$1 = main::i#2 + 2
@@ -151,11 +152,14 @@ Adding number conversion cast (unumber) 2 in main::$4 = main::i#3 + 2
 Adding number conversion cast (unumber) main::$4 in main::$4 = main::i#3 + (unumber)2
 Successful SSA optimization PassNAddNumberTypeConversions
 Simplifying constant pointer cast (byte*) 1024
+Simplifying constant pointer cast (byte*) 1024
+Simplifying constant integer cast $28
 Simplifying constant integer cast 1
 Simplifying constant integer cast 2
 Simplifying constant integer cast 1
 Simplifying constant integer cast 2
 Successful SSA optimization PassNCastSimplification
+Finalized unsigned number type (byte) $28
 Finalized unsigned number type (byte) 1
 Finalized unsigned number type (byte) 2
 Finalized unsigned number type (byte) 1
@@ -204,9 +208,6 @@ Successful SSA optimization PassNFinalizeNumberTypeConversions
 Inlining constant with var siblings main::i#0
 Constant inlined main::i#0 = 0
 Successful SSA optimization Pass2ConstantInlining
-Finalized unsigned number type (word) $400
-Finalized unsigned number type (byte) $28
-Successful SSA optimization PassNFinalizeNumberTypeConversions
 Added new block during phi lifting main::@4(between main::@3 and main::@1)
 Adding NOP phi() at start of main
 CALL GRAPH
@@ -542,7 +543,7 @@ Succesful ASM optimization Pass5NextJumpElimination
 
 FINAL SYMBOL TABLE
 constant byte* SCREEN = (byte*) 1024
-constant byte* SCREEN2 = (byte*)$400+$28
+constant byte* SCREEN2 = (byte*) 1024+$28
 void main()
 byte~ main::$2 reg byte a 22.0
 byte~ main::$5 reg byte a 22.0
diff --git a/src/test/ref/zpparammin.sym b/src/test/ref/zpparammin.sym
index 150268681..1a59407ba 100644
--- a/src/test/ref/zpparammin.sym
+++ b/src/test/ref/zpparammin.sym
@@ -1,5 +1,5 @@
 constant byte* SCREEN = (byte*) 1024
-constant byte* SCREEN2 = (byte*)$400+$28
+constant byte* SCREEN2 = (byte*) 1024+$28
 void main()
 byte~ main::$2 reg byte a 22.0
 byte~ main::$5 reg byte a 22.0