diff --git a/src/main/fragment/_deref_pptz1=_ptr_vwuz2.asm b/src/main/fragment/_deref_pptz1=_ptr_vwuz2.asm new file mode 100644 index 000000000..b2b761092 --- /dev/null +++ b/src/main/fragment/_deref_pptz1=_ptr_vwuz2.asm @@ -0,0 +1,6 @@ +ldy #0 +lda {z2} +sta ({z1}),y +iny +lda {z2}+1 +sta ({z1}),y diff --git a/src/main/fragment/pptz1_derefidx_vbuc1=_ptr_vbuaa.asm b/src/main/fragment/pptz1_derefidx_vbuc1=_ptr_vbuaa.asm new file mode 100644 index 000000000..a1e2ba504 --- /dev/null +++ b/src/main/fragment/pptz1_derefidx_vbuc1=_ptr_vbuaa.asm @@ -0,0 +1,5 @@ +ldy #{c1} +sta ({z1}),y +lda #0 +iny +sta ({z1}),y diff --git a/src/main/fragment/pptz1_derefidx_vbuc1=_ptr_vwuz2.asm b/src/main/fragment/pptz1_derefidx_vbuc1=_ptr_vwuz2.asm new file mode 100644 index 000000000..d59fe6a79 --- /dev/null +++ b/src/main/fragment/pptz1_derefidx_vbuc1=_ptr_vwuz2.asm @@ -0,0 +1,6 @@ +ldy #{c1} +lda {z2} +sta ({z1}),y +iny +lda {z2}+1 +sta ({z1}),y diff --git a/src/main/fragment/pwuc1_derefidx_vbuxx=_deref_pwuz1.asm b/src/main/fragment/pwuc1_derefidx_vbuxx=_deref_pwuz1.asm new file mode 100644 index 000000000..37824c292 --- /dev/null +++ b/src/main/fragment/pwuc1_derefidx_vbuxx=_deref_pwuz1.asm @@ -0,0 +1,6 @@ +ldy #0 +lda ({z1}),y +sta {c1},x +iny +lda ({z1}),y +sta {c1}+1,x diff --git a/src/main/fragment/pwuc1_derefidx_vbuxx=pwuz1_derefidx_vbuyy.asm b/src/main/fragment/pwuc1_derefidx_vbuxx=pwuz1_derefidx_vbuyy.asm new file mode 100644 index 000000000..041b97d4a --- /dev/null +++ b/src/main/fragment/pwuc1_derefidx_vbuxx=pwuz1_derefidx_vbuyy.asm @@ -0,0 +1,5 @@ +lda ({z1}),y +sta {c1},y +iny +lda ({z1}),y +sta {c1}+1,y diff --git a/src/main/fragment/pwuz1_derefidx_vbuc1=_ptr_vbuaa.asm b/src/main/fragment/pwuz1_derefidx_vbuc1=_ptr_vbuaa.asm new file mode 100644 index 000000000..a1e2ba504 --- /dev/null +++ b/src/main/fragment/pwuz1_derefidx_vbuc1=_ptr_vbuaa.asm @@ -0,0 +1,5 @@ +ldy #{c1} +sta ({z1}),y +lda #0 +iny +sta ({z1}),y diff --git a/src/main/fragment/pwuz1_derefidx_vbuc1=vbuaa.asm b/src/main/fragment/pwuz1_derefidx_vbuc1=vbuaa.asm new file mode 100644 index 000000000..a1e2ba504 --- /dev/null +++ b/src/main/fragment/pwuz1_derefidx_vbuc1=vbuaa.asm @@ -0,0 +1,5 @@ +ldy #{c1} +sta ({z1}),y +lda #0 +iny +sta ({z1}),y diff --git a/src/main/fragment/pwuz1_derefidx_vbuc1=vwuz2.asm b/src/main/fragment/pwuz1_derefidx_vbuc1=vwuz2.asm new file mode 100644 index 000000000..d59fe6a79 --- /dev/null +++ b/src/main/fragment/pwuz1_derefidx_vbuc1=vwuz2.asm @@ -0,0 +1,6 @@ +ldy #{c1} +lda {z2} +sta ({z1}),y +iny +lda {z2}+1 +sta ({z1}),y diff --git a/src/main/fragment/vwuz1=_deref_pptz2.asm b/src/main/fragment/vwuz1=_deref_pptz2.asm new file mode 100644 index 000000000..10f18fb20 --- /dev/null +++ b/src/main/fragment/vwuz1=_deref_pptz2.asm @@ -0,0 +1,6 @@ +ldy #0 +lda ({z2}),y +sta {z1} +iny +lda ({z2}),y +sta {z1}+1 diff --git a/src/main/fragment/vwuz1=pptz2_derefidx_vbuyy.asm b/src/main/fragment/vwuz1=pptz2_derefidx_vbuyy.asm new file mode 100644 index 000000000..e99c7f5db --- /dev/null +++ b/src/main/fragment/vwuz1=pptz2_derefidx_vbuyy.asm @@ -0,0 +1,5 @@ +lda ({z2}),y +sta {z1} +iny +lda ({z2}),y +sta {z1}+1 diff --git a/src/main/fragment/vwuz1=pwuz2_derefidx_vbuyy.asm b/src/main/fragment/vwuz1=pwuz2_derefidx_vbuyy.asm new file mode 100644 index 000000000..e99c7f5db --- /dev/null +++ b/src/main/fragment/vwuz1=pwuz2_derefidx_vbuyy.asm @@ -0,0 +1,5 @@ +lda ({z2}),y +sta {z1} +iny +lda ({z2}),y +sta {z1}+1 diff --git a/src/main/java/dk/camelot64/kickc/Compiler.java b/src/main/java/dk/camelot64/kickc/Compiler.java index 1ad60d1f4..6299356d1 100644 --- a/src/main/java/dk/camelot64/kickc/Compiler.java +++ b/src/main/java/dk/camelot64/kickc/Compiler.java @@ -179,7 +179,7 @@ public class Compiler { new Pass1AssertUsedVars(program).execute(); new Pass1ProcedureInline(program).execute(); new Pass1EliminateUncalledProcedures(program).execute(); - new PassNEliminateUnusedVars(program).execute(); + new PassNEliminateUnusedVars(program, false).execute(); new Pass1ExtractInlineStrings(program).execute(); new Pass1EliminateEmptyBlocks(program).execute(); @@ -246,7 +246,7 @@ public class Compiler { optimizations.add(new Pass2ConstantStringConsolidation(program)); optimizations.add(new Pass2FixInlineConstructors(program)); optimizations.add(new Pass2TypeInference(program)); - optimizations.add(new PassNEliminateUnusedVars(program)); + optimizations.add(new PassNEliminateUnusedVars(program, true)); optimizations.add(new Pass2EliminateRedundantCasts(program)); optimizations.add(new Pass2NopCastElimination(program)); optimizations.add(new Pass2EliminateUnusedBlocks(program)); @@ -255,6 +255,7 @@ public class Compiler { optimizations.add(new Pass2ConstantCallPointerIdentification(program)); optimizations.add(new Pass2MultiplyToShiftRewriting(program)); optimizations.add(new Pass2SizeOfSimplification(program)); + optimizations.add(new Pass2InlineDerefIdx(program)); pass2Execute(optimizations); } diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2InlineDerefIdx.java b/src/main/java/dk/camelot64/kickc/passes/Pass2InlineDerefIdx.java new file mode 100644 index 000000000..dd7b0a85e --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2InlineDerefIdx.java @@ -0,0 +1,93 @@ +package dk.camelot64.kickc.passes; + +import dk.camelot64.kickc.model.CompileError; +import dk.camelot64.kickc.model.Program; +import dk.camelot64.kickc.model.iterator.ProgramValueIterator; +import dk.camelot64.kickc.model.operators.OperatorCastPtr; +import dk.camelot64.kickc.model.operators.Operators; +import dk.camelot64.kickc.model.statements.StatementAssignment; +import dk.camelot64.kickc.model.statements.StatementLValue; +import dk.camelot64.kickc.model.types.SymbolType; +import dk.camelot64.kickc.model.types.SymbolTypeInference; +import dk.camelot64.kickc.model.types.SymbolTypePointer; +import dk.camelot64.kickc.model.values.*; + +import java.util.concurrent.atomic.AtomicBoolean; + +/** Identify derefs of pointers that are defined as pointer + value - and inline them as derefidx instead */ +public class Pass2InlineDerefIdx extends Pass2SsaOptimization { + + public Pass2InlineDerefIdx(Program program) { + super(program); + } + + @Override + public boolean step() { + AtomicBoolean optimized = new AtomicBoolean(false); + ProgramValueIterator.execute(getGraph(), (programValue, currentStmt, stmtIt, currentBlock) -> { + if(programValue.get() instanceof PointerDereferenceSimple) { + PointerDereferenceSimple pointerDereferenceSimple = (PointerDereferenceSimple) programValue.get(); + RValue inlined = attemptInlineDeref(pointerDereferenceSimple.getPointer()); + if(inlined!=null) { + getLog().append("Converting *(pointer+n) to pointer[n] "+currentStmt.toString(getProgram(), false) + " -- " + inlined); + programValue.set(inlined); + optimized.set(true); + } + } + }); + return optimized.get(); + } + + /** + * Attempt to inline a pointer reference to an indexed pointer reference + * by examining the definition of the pointer to see if it is ptr+value + * @param pointer the pointer + * @return The indexed pointer dereference if the inlining is possible + */ + public RValue attemptInlineDeref(RValue pointer) { + if(pointer instanceof VariableRef) { + VariableRef derefVar = (VariableRef) pointer; + StatementLValue derefVarDefined = getGraph().getAssignment(derefVar); + if(derefVarDefined instanceof StatementAssignment) { + StatementAssignment derefAssignment = (StatementAssignment) derefVarDefined; + return attemptInlineDeref(derefAssignment); + } + } else if(pointer instanceof CastValue) { + CastValue castValue = (CastValue) pointer; + RValue inlined = attemptInlineDeref(castValue.getValue()); + if(inlined!=null) { + if(inlined instanceof PointerDereferenceIndexed) { + return new + PointerDereferenceIndexed( + new CastValue(castValue.getToType(), ((PointerDereferenceIndexed) inlined).getPointer()), + ((PointerDereferenceIndexed) inlined).getIndex()); + } else { + throw new CompileError("Not implemented!"); + } + } + } + return null; + } + + + public RValue attemptInlineDeref(StatementAssignment derefAssignment) { + if(Operators.PLUS.equals(derefAssignment.getOperator())) { + SymbolType derefLeftType = SymbolTypeInference.inferType(getScope(), derefAssignment.getrValue1()); + if(derefLeftType instanceof SymbolTypePointer) { + SymbolType derefIndexType = SymbolTypeInference.inferType(getScope(), derefAssignment.getrValue2()); + if(derefIndexType.getSizeBytes()==1) { + // Only inline byte-based indices + return new PointerDereferenceIndexed(derefAssignment.getrValue1(), derefAssignment.getrValue2()); + } + } + } else if(derefAssignment.getOperator()==null) { + return attemptInlineDeref(derefAssignment.getrValue2()); + } else if(derefAssignment.getOperator() instanceof OperatorCastPtr) { + throw new CompileError("Not implemented!"); + //return attemptInlineDeref(derefAssignment.getrValue2()); + } + return null; + } + + +} diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2NopCastElimination.java b/src/main/java/dk/camelot64/kickc/passes/Pass2NopCastElimination.java index 36cbeabf0..a298ad251 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass2NopCastElimination.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2NopCastElimination.java @@ -59,6 +59,9 @@ public class Pass2NopCastElimination extends Pass2SsaOptimization { } else if(rValType instanceof SymbolTypePointer && Operators.CAST_WORD.equals(assignment.getOperator())) { isNopCast = true; toType = SymbolType.WORD; + } else if(rValType instanceof SymbolTypePointer && assignment.getOperator() instanceof OperatorCastPtr) { + isNopCast = true; + toType = new SymbolTypePointer(((OperatorCastPtr) assignment.getOperator()).getElementType()); } if(isNopCast) { getLog().append("Eliminating Noop Cast "+assignment.toString(getProgram(), false)); diff --git a/src/main/java/dk/camelot64/kickc/passes/PassNEliminateUnusedVars.java b/src/main/java/dk/camelot64/kickc/passes/PassNEliminateUnusedVars.java index c3e8b1e23..8fedb4c24 100644 --- a/src/main/java/dk/camelot64/kickc/passes/PassNEliminateUnusedVars.java +++ b/src/main/java/dk/camelot64/kickc/passes/PassNEliminateUnusedVars.java @@ -17,8 +17,11 @@ import java.util.ListIterator; */ public class PassNEliminateUnusedVars extends Pass2SsaOptimization { - public PassNEliminateUnusedVars(Program program) { + private boolean pass2; + + public PassNEliminateUnusedVars(Program program, boolean pass2) { super(program); + this.pass2 = pass2; } @Override @@ -37,7 +40,7 @@ public class PassNEliminateUnusedVars extends Pass2SsaOptimization { if(lValue instanceof VariableRef && referenceInfos.isUnused((VariableRef) lValue) && !Pass2ConstantIdentification.isAddressOfUsed((VariableRef) lValue, getProgram())) { Variable variable = getScope().getVariable((VariableRef) lValue); if(variable==null || !variable.isDeclaredVolatile()) { - if(getLog().isVerbosePass1CreateSsa() || getLog().isVerboseSSAOptimize()) { + if(pass2 || getLog().isVerbosePass1CreateSsa()) { getLog().append("Eliminating unused variable " + lValue.toString(getProgram()) + " and assignment " + assignment.toString(getProgram(), false)); } stmtIt.remove(); @@ -51,7 +54,7 @@ public class PassNEliminateUnusedVars extends Pass2SsaOptimization { StatementCall call = (StatementCall) statement; LValue lValue = call.getlValue(); if(lValue instanceof VariableRef && referenceInfos.isUnused((VariableRef) lValue) && !Pass2ConstantIdentification.isAddressOfUsed((VariableRef) lValue, getProgram())) { - if(getLog().isVerbosePass1CreateSsa() || getLog().isVerboseSSAOptimize()) { + if(pass2 || getLog().isVerbosePass1CreateSsa()) { getLog().append("Eliminating unused variable - keeping the call " + lValue.toString(getProgram())); } Variable variable = getScope().getVariable((VariableRef) lValue); @@ -65,7 +68,7 @@ public class PassNEliminateUnusedVars extends Pass2SsaOptimization { StatementCallPointer call = (StatementCallPointer) statement; LValue lValue = call.getlValue(); if(lValue instanceof VariableRef && referenceInfos.isUnused((VariableRef) lValue) && !Pass2ConstantIdentification.isAddressOfUsed((VariableRef) lValue, getProgram())) { - if(getLog().isVerbosePass1CreateSsa() || getLog().isVerboseSSAOptimize()) { + if(pass2 || getLog().isVerbosePass1CreateSsa()) { getLog().append("Eliminating unused variable - keeping the call " + lValue.toString(getProgram())); } Variable variable = getScope().getVariable((VariableRef) lValue); @@ -82,7 +85,7 @@ public class PassNEliminateUnusedVars extends Pass2SsaOptimization { StatementPhiBlock.PhiVariable phiVariable = phiVarIt.next(); VariableRef variableRef = phiVariable.getVariable(); if(referenceInfos.isUnused(variableRef) && !Pass2ConstantIdentification.isAddressOfUsed(variableRef, getProgram())) { - if(getLog().isVerbosePass1CreateSsa() || getLog().isVerboseSSAOptimize()) { + if(pass2 || getLog().isVerbosePass1CreateSsa()) { getLog().append("Eliminating unused variable - keeping the phi block " + variableRef.toString(getProgram())); } Variable variable = getScope().getVariable(variableRef); @@ -100,7 +103,7 @@ public class PassNEliminateUnusedVars extends Pass2SsaOptimization { Collection allConstants = getScope().getAllConstants(true); for(ConstantVar constant : allConstants) { if(referenceInfos.isUnused(constant.getRef())) { - if(getLog().isVerbosePass1CreateSsa() || getLog().isVerboseSSAOptimize()) { + if(pass2 || getLog().isVerbosePass1CreateSsa()) { getLog().append("Eliminating unused constant " + constant.toString(getProgram())); } constant.getScope().remove(constant); diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 727214ced..415bb2879 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -37,6 +37,16 @@ public class TestPrograms { // compileAndCompare("pointer-cast-3"); //} + @Test + public void testDerefToDerefIdx2() throws IOException, URISyntaxException { + compileAndCompare("deref-to-derefidx-2"); + } + + @Test + public void testDerefToDerefIdx() throws IOException, URISyntaxException { + compileAndCompare("deref-to-derefidx"); + } + @Test public void testSemiStruct2() throws IOException, URISyntaxException { compileAndCompare("semi-struct-2"); @@ -47,6 +57,11 @@ public class TestPrograms { compileAndCompare("semi-struct-1"); } + @Test + public void testStrip() throws IOException, URISyntaxException { + compileAndCompare("strip"); + } + @Test public void testReserveZpGlobal() throws IOException, URISyntaxException { compileAndCompare("reserve-zp-global"); diff --git a/src/test/kc/deref-to-derefidx-2.kc b/src/test/kc/deref-to-derefidx-2.kc new file mode 100644 index 000000000..ecb68f6ff --- /dev/null +++ b/src/test/kc/deref-to-derefidx-2.kc @@ -0,0 +1,16 @@ +// Tests optimizing derefs of *(ptr+b) to ptr[b - even when a noop-cast is needed + +byte[] msg1 = { 'a', 'b', 'c', 'd' }; +byte[] msg2 = { '1', '2', '3', '4' }; + +void main() { + print(msg1); + print(msg2); +} + +const word* SCREEN = $0400; +byte screen_idx=0; + +void print(byte* m) { + SCREEN[screen_idx++] = *(word*)(m+2); +} \ No newline at end of file diff --git a/src/test/kc/deref-to-derefidx.kc b/src/test/kc/deref-to-derefidx.kc new file mode 100644 index 000000000..202b679b1 --- /dev/null +++ b/src/test/kc/deref-to-derefidx.kc @@ -0,0 +1,16 @@ +// Tests optimizing derefs of *(ptr+b) to ptr[b] + +byte[] msg1 = { 'a', 'b', 'c', 'd' }; +byte[] msg2 = { '1', '2', '3', '4' }; + +void main() { + print(msg1); + print(msg2); +} + +const byte* SCREEN = $0400; +byte idx=0; + +void print(byte* m) { + SCREEN[idx++] = *(m+2); +} \ No newline at end of file diff --git a/src/test/kc/semi-struct-2.kc b/src/test/kc/semi-struct-2.kc index 8ead6dd67..54b066404 100644 --- a/src/test/kc/semi-struct-2.kc +++ b/src/test/kc/semi-struct-2.kc @@ -102,7 +102,7 @@ void main() { byte* entry1 = fileEntry(1); byte* entry2 = fileEntry(2); initEntry(entry1,$00); - initEntry(entry2,$80); + initEntry(entry2,$11); print_cls(); print_str("** entry 1 **"); print_ln(); @@ -125,19 +125,19 @@ void main() { // Set all values in the passed struct // Sets the values to n, n+1, n... to help test that everything works as intended void initEntry(byte* entry, byte n) { - *entryBufDisk(entry) = n+1; - *entryBufEdit(entry) = n+2; - *entryTsLen(entry) = n+3; - *entryTsOrder(entry) = n+4; - *entryTLastLink(entry) = n+5; - *entrySLastLink(entry) = n+6; - *entryBFlag(entry) = n+7; - *entryBError(entry) = n+8; - *entryUCross(entry) = n+9; - *entryBAddrLo(entry) = n+10; - *entryBAddrHi(entry) = n+11; - *entryTHi(entry) = n+12; - *entryTLo(entry) = n+13; + *entryBufDisk(entry) = $1111+n; + *entryBufEdit(entry) = $2222+n; + *entryTsLen(entry) = $3333+n; + *entryTsOrder(entry) = $4444+n; + *entryTLastLink(entry) = $55+n; + *entrySLastLink(entry) = $66+n; + *entryBFlag(entry) = $77+n; + *entryBError(entry) = $88+n; + *entryUCross(entry) = $9999+n; + *entryBAddrLo(entry) = $aa+n; + *entryBAddrHi(entry) = $bb+n; + *entryTHi(entry) = $cc+n; + *entryTLo(entry) = $dd+n; } // Print the contents of a file entry diff --git a/src/test/kc/strip.kc b/src/test/kc/strip.kc new file mode 100644 index 000000000..90f9bef88 --- /dev/null +++ b/src/test/kc/strip.kc @@ -0,0 +1,26 @@ +// Tests of strip() function from https://news.ycombinator.com/item?id=12080871 + +unsigned char[] msg1 = "hello world!"; +unsigned char[] msg2 = "goodbye blue sky!"; + +void main() { + strip(msg1, ' '); + print(msg1); + strip(msg2, 'y'); + print(msg2); +} + +void strip(unsigned char *p, unsigned char c) { + unsigned char *dest=p; + do { + if(*p!=c) *dest++=*p; + } while(*p++!=0); +} + +unsigned char* screen = $400; + +void print(unsigned char* msg) { + do { + *screen++ = *msg++; + } while(*msg!=0); +} \ No newline at end of file diff --git a/src/test/ref/assignment-chained.log b/src/test/ref/assignment-chained.log index a4fe91fdc..cd482d270 100644 --- a/src/test/ref/assignment-chained.log +++ b/src/test/ref/assignment-chained.log @@ -60,6 +60,7 @@ Consolidated array index constant in *(main::screen#0+$29) Consolidated array index constant in *(main::screen#0+2) Consolidated array index constant in *(main::screen#0+$2a) Successful SSA optimization Pass2ConstantAdditionElimination +Eliminating unused constant (const byte) main::a#0 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::a#1 Inlining constant with var siblings (const byte) main::a#3 diff --git a/src/test/ref/assignment-compound.log b/src/test/ref/assignment-compound.log index 5027be640..9f30a2638 100644 --- a/src/test/ref/assignment-compound.log +++ b/src/test/ref/assignment-compound.log @@ -375,6 +375,7 @@ Constant (const byte) test::i#10 = main::i#10 Constant (const byte) test::a#10 = main::a#10 Constant (const byte) main::i#11 = ++main::i#10 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const byte) main::i#11 Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) main::@11 Successful SSA optimization Pass2CullEmptyBlocks diff --git a/src/test/ref/bool-const.log b/src/test/ref/bool-const.log index d7fa4ee46..65c7944ef 100644 --- a/src/test/ref/bool-const.log +++ b/src/test/ref/bool-const.log @@ -206,7 +206,20 @@ if() condition always true - replacing block destination [21] if((const bool) bo if() condition always true - replacing block destination [22] if((const bool) bool_const_vars::$6) goto bool_const_vars::@5 if() condition always false - eliminating [23] if((const bool) bool_const_inline::$3) goto bool_const_inline::@1 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const bool) bool_const_if::b#0 +Eliminating unused constant (const bool) bool_const_vars::$0 +Eliminating unused constant (const bool) bool_const_vars::$2 +Eliminating unused constant (const bool) bool_const_vars::$4 +Eliminating unused constant (const bool) bool_const_vars::$6 +Eliminating unused constant (const bool) bool_const_inline::$0 +Eliminating unused constant (const bool) bool_const_inline::$2 +Eliminating unused constant (const bool) bool_const_inline::$3 +Eliminating unused constant (const bool) bool_const_inline::$7 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte) bool_const_vars::a#0 +Eliminating unused constant (const signed byte/signed word/signed dword) bool_const_vars::$5 +Eliminating unused constant (const byte) bool_const_inline::a#0 +Eliminating unused constant (const signed byte/signed word/signed dword) bool_const_inline::$1 Successful SSA optimization PassNEliminateUnusedVars Removing unused block bool_const_if::@3 Removing unused block bool_const_vars::@1 diff --git a/src/test/ref/c64dtv-8bppcharstretch.log b/src/test/ref/c64dtv-8bppcharstretch.log index a0fbfb658..1259e8b51 100644 --- a/src/test/ref/c64dtv-8bppcharstretch.log +++ b/src/test/ref/c64dtv-8bppcharstretch.log @@ -748,6 +748,7 @@ Constant (const byte/word/dword) main::$24 = main::$19|main::$23 Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [31] if(true) goto main::@4 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) gfx_init_plane_charset8::gfxbCpuBank#1 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/c64dtv-gfxexplorer.asm b/src/test/ref/c64dtv-gfxexplorer.asm index a2f6b9194..a1a01b569 100644 --- a/src/test/ref/c64dtv-gfxexplorer.asm +++ b/src/test/ref/c64dtv-gfxexplorer.asm @@ -1162,42 +1162,32 @@ print_str_at: { } // Render all form values from the form_fields_val array form_render_values: { - .label field = 3 - .label idx = 2 - lda #0 - sta idx + ldx #0 b1: - ldy idx jsr form_field_ptr - ldx idx ldy form_fields_val,x lda print_hextab,y - ldy #0 - sta (field),y - inc idx - lda idx - cmp #form_fields_cnt + ldy form_field_ptr.x + sta (form_field_ptr._2),y + inx + cpx #form_fields_cnt bcc b1 rts } // Get the screen address of a form field // field_idx is the index of the field to get the screen address for -// form_field_ptr(byte register(Y) field_idx) +// form_field_ptr(byte register(X) field_idx) form_field_ptr: { - .label return = 3 + .label x = $13 .label _2 = 3 - ldx form_fields_y,y - lda form_line_hi,x + lda form_fields_y,x + tay + lda form_line_hi,y sta _2+1 - lda form_line_lo,x + lda form_line_lo,y sta _2 - lda form_fields_x,y - clc - adc return - sta return - bcc !+ - inc return+1 - !: + lda form_fields_x,x + sta x rts } // Apply a form value preset to the form values @@ -1306,8 +1296,7 @@ apply_preset: { // Reads keyboard and allows the user to navigate and change the fields of the form // Returns 0 if space is not pressed, non-0 if space is pressed form_control: { - .label field = 3 - ldy form_field_idx + ldx form_field_idx jsr form_field_ptr dec form_cursor_count lda form_cursor_count @@ -1326,19 +1315,19 @@ form_control: { jmp b2 !b2: lda #$7f - ldy #0 - and (field),y - sta (field),y + ldy form_field_ptr.x + and (form_field_ptr._2),y + sta (form_field_ptr._2),y b3: jsr keyboard_event_scan jsr keyboard_event_get cmp #KEY_CRSR_DOWN bne b4 lda #$7f - ldy #0 - and (field),y + ldy form_field_ptr.x + and (form_field_ptr._2),y // Unblink the cursor - sta (field),y + sta (form_field_ptr._2),y txa and #KEY_MODIFIER_SHIFT cmp #0 @@ -1382,8 +1371,8 @@ form_control: { ldx form_field_idx ldy form_fields_val,x lda print_hextab,y - ldy #0 - sta (field),y + ldy form_field_ptr.x + sta (form_field_ptr._2),y b6: ldx #0 rts @@ -1405,9 +1394,9 @@ form_control: { rts b2: lda #$80 - ldy #0 - ora (field),y - sta (field),y + ldy form_field_ptr.x + ora (form_field_ptr._2),y + sta (form_field_ptr._2),y jmp b3 } // Set the screen to use for the form. @@ -1570,7 +1559,7 @@ gfx_init_plane_full: { // Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // gfx_init_plane_fill(dword zeropage(9) plane_addr, byte zeropage(2) fill) gfx_init_plane_fill: { - .label _0 = $13 + .label _0 = $14 .label _1 = 3 .label _4 = 3 .label _5 = 3 diff --git a/src/test/ref/c64dtv-gfxexplorer.cfg b/src/test/ref/c64dtv-gfxexplorer.cfg index 4cc548f46..6df6acca4 100644 --- a/src/test/ref/c64dtv-gfxexplorer.cfg +++ b/src/test/ref/c64dtv-gfxexplorer.cfg @@ -632,1064 +632,1059 @@ form_render_values::@1: scope:[form_render_values] from form_render_values form [331] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte/signed byte/word/signed word/dword/signed dword) 0 form_render_values::@2/(byte) form_render_values::idx#1 ) [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [333] call form_field_ptr - [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 to:form_render_values::@2 form_render_values::@2: scope:[form_render_values] from form_render_values::@1 - [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 - [336] *((byte*) form_render_values::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) - [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 - [338] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 + [334] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) + [335] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 + [336] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 to:form_render_values::@return form_render_values::@return: scope:[form_render_values] from form_render_values::@2 - [339] return + [337] return to:@return form_field_ptr: scope:[form_field_ptr] from form_control form_render_values::@1 - [340] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@1/(byte) form_field_ptr::field_idx#0 ) - [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) - [342] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) - [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) - [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 + [338] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@1/(byte) form_field_ptr::field_idx#0 ) + [339] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) + [340] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) + [341] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) to:form_field_ptr::@return form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr - [345] return + [342] return to:@return apply_preset: scope:[apply_preset] from form_mode::@7 - [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 + [343] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 to:apply_preset::@2 apply_preset::@2: scope:[apply_preset] from apply_preset - [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 + [344] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 to:apply_preset::@3 apply_preset::@3: scope:[apply_preset] from apply_preset::@2 - [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 + [345] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 to:apply_preset::@4 apply_preset::@4: scope:[apply_preset] from apply_preset::@3 - [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 + [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 to:apply_preset::@5 apply_preset::@5: scope:[apply_preset] from apply_preset::@4 - [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 + [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 to:apply_preset::@6 apply_preset::@6: scope:[apply_preset] from apply_preset::@5 - [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 + [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 to:apply_preset::@7 apply_preset::@7: scope:[apply_preset] from apply_preset::@6 - [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 + [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 to:apply_preset::@8 apply_preset::@8: scope:[apply_preset] from apply_preset::@7 - [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 + [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 to:apply_preset::@9 apply_preset::@9: scope:[apply_preset] from apply_preset::@8 - [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 + [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 to:apply_preset::@10 apply_preset::@10: scope:[apply_preset] from apply_preset::@9 - [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 + [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 to:apply_preset::@11 apply_preset::@11: scope:[apply_preset] from apply_preset::@10 - [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 + [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 to:apply_preset::@12 apply_preset::@12: scope:[apply_preset] from apply_preset::@11 - [357] phi() + [354] phi() to:apply_preset::@1 apply_preset::@1: scope:[apply_preset] from apply_preset apply_preset::@10 apply_preset::@11 apply_preset::@12 apply_preset::@2 apply_preset::@3 apply_preset::@4 apply_preset::@5 apply_preset::@6 apply_preset::@7 apply_preset::@8 apply_preset::@9 - [358] (byte*) apply_preset::preset#14 ← phi( apply_preset/(const byte[]) preset_stdchar#0 apply_preset::@10/(const byte[]) preset_sixsfred2#0 apply_preset::@11/(const byte[]) preset_8bpppixelcell#0 apply_preset::@2/(const byte[]) preset_ecmchar#0 apply_preset::@3/(const byte[]) preset_stdbm#0 apply_preset::@12/(const byte[]) preset_stdchar#0 apply_preset::@4/(const byte[]) preset_mcbm#0 apply_preset::@5/(const byte[]) preset_hi_stdchar#0 apply_preset::@6/(const byte[]) preset_hi_ecmchar#0 apply_preset::@7/(const byte[]) preset_twoplane#0 apply_preset::@8/(const byte[]) preset_chunky#0 apply_preset::@9/(const byte[]) preset_sixsfred#0 ) + [355] (byte*) apply_preset::preset#14 ← phi( apply_preset/(const byte[]) preset_stdchar#0 apply_preset::@10/(const byte[]) preset_sixsfred2#0 apply_preset::@11/(const byte[]) preset_8bpppixelcell#0 apply_preset::@2/(const byte[]) preset_ecmchar#0 apply_preset::@3/(const byte[]) preset_stdbm#0 apply_preset::@12/(const byte[]) preset_stdchar#0 apply_preset::@4/(const byte[]) preset_mcbm#0 apply_preset::@5/(const byte[]) preset_hi_stdchar#0 apply_preset::@6/(const byte[]) preset_hi_ecmchar#0 apply_preset::@7/(const byte[]) preset_twoplane#0 apply_preset::@8/(const byte[]) preset_chunky#0 apply_preset::@9/(const byte[]) preset_sixsfred#0 ) to:apply_preset::@13 apply_preset::@13: scope:[apply_preset] from apply_preset::@1 apply_preset::@13 - [359] (byte) apply_preset::i#2 ← phi( apply_preset::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 apply_preset::@13/(byte) apply_preset::i#1 ) - [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) - [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 - [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 + [356] (byte) apply_preset::i#2 ← phi( apply_preset::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 apply_preset::@13/(byte) apply_preset::i#1 ) + [357] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) + [358] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 + [359] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 to:apply_preset::@return apply_preset::@return: scope:[apply_preset] from apply_preset::@13 - [363] return + [360] return to:@return form_control: scope:[form_control] from form_mode::@5 - [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 - [365] call form_field_ptr - [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 + [361] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 + [362] call form_field_ptr to:form_control::@17 form_control::@17: scope:[form_control] from form_control - [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 - [368] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 - [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 + [363] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 + [364] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 to:form_control::@1 form_control::@1: scope:[form_control] from form_control::@17 form_control::@20 - [370] (signed byte) form_cursor_count#15 ← phi( form_control::@20/(signed byte) form_cursor_count#5 form_control::@17/(const signed byte) FORM_CURSOR_BLINK#0 ) - [371] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 + [365] (signed byte) form_cursor_count#15 ← phi( form_control::@20/(signed byte) form_cursor_count#5 form_control::@17/(const signed byte) FORM_CURSOR_BLINK#0 ) + [366] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 to:form_control::@6 form_control::@6: scope:[form_control] from form_control::@1 - [372] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f - [373] *((byte*) form_control::field#0) ← (byte~) form_control::$13 + [367] (byte~) form_control::$13 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f + [368] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$13 to:form_control::@3 form_control::@3: scope:[form_control] from form_control::@2 form_control::@6 - [374] phi() - [375] call keyboard_event_scan + [369] phi() + [370] call keyboard_event_scan to:form_control::@18 form_control::@18: scope:[form_control] from form_control::@3 - [376] phi() - [377] call keyboard_event_get - [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + [371] phi() + [372] call keyboard_event_get + [373] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 to:form_control::@19 form_control::@19: scope:[form_control] from form_control::@18 - [379] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 - [380] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 + [374] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 + [375] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 to:form_control::@7 form_control::@7: scope:[form_control] from form_control::@19 - [381] (byte~) form_control::$15 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f - [382] *((byte*) form_control::field#0) ← (byte~) form_control::$15 - [383] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 - [384] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 + [376] (byte~) form_control::$15 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f + [377] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$15 + [378] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 + [379] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 to:form_control::@8 form_control::@8: scope:[form_control] from form_control::@7 - [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 - [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 + [380] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 + [381] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 to:form_control::@13 form_control::@13: scope:[form_control] from form_control::@12 form_control::@21 form_control::@22 form_control::@8 - [387] (byte) form_field_idx#31 ← phi( form_control::@8/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@21/(byte) form_field_idx#44 form_control::@22/(byte) form_field_idx#45 form_control::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [382] (byte) form_field_idx#31 ← phi( form_control::@8/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@21/(byte) form_field_idx#44 form_control::@22/(byte) form_field_idx#45 form_control::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 ) to:form_control::@return form_control::@return: scope:[form_control] from form_control::@13 form_control::@15 form_control::@23 form_control::@5 - [388] (byte) form_field_idx#18 ← phi( form_control::@5/(byte) form_field_idx#28 form_control::@13/(byte) form_field_idx#31 form_control::@15/(byte) form_field_idx#28 form_control::@23/(byte) form_field_idx#28 ) - [388] (signed byte) form_cursor_count#16 ← phi( form_control::@5/(signed byte) form_cursor_count#15 form_control::@13/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 form_control::@15/(signed byte) form_cursor_count#15 form_control::@23/(signed byte) form_cursor_count#15 ) - [388] (byte) form_control::return#2 ← phi( form_control::@5/(byte/word/signed word/dword/signed dword) $ff form_control::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@23/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [389] return + [383] (byte) form_field_idx#18 ← phi( form_control::@5/(byte) form_field_idx#28 form_control::@13/(byte) form_field_idx#31 form_control::@15/(byte) form_field_idx#28 form_control::@23/(byte) form_field_idx#28 ) + [383] (signed byte) form_cursor_count#16 ← phi( form_control::@5/(signed byte) form_cursor_count#15 form_control::@13/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 form_control::@15/(signed byte) form_cursor_count#15 form_control::@23/(signed byte) form_cursor_count#15 ) + [383] (byte) form_control::return#2 ← phi( form_control::@5/(byte/word/signed word/dword/signed dword) $ff form_control::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@23/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [384] return to:@return form_control::@21: scope:[form_control] from form_control::@8 - [390] phi() + [385] phi() to:form_control::@13 form_control::@12: scope:[form_control] from form_control::@7 - [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 - [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 + [386] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 + [387] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 to:form_control::@13 form_control::@22: scope:[form_control] from form_control::@12 - [393] phi() + [388] phi() to:form_control::@13 form_control::@4: scope:[form_control] from form_control::@19 - [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 + [389] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 to:form_control::@9 form_control::@9: scope:[form_control] from form_control::@4 - [395] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 - [396] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 + [390] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 + [391] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 to:form_control::@10 form_control::@10: scope:[form_control] from form_control::@9 - [397] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) - [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 + [392] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) + [393] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 to:form_control::@11 form_control::@11: scope:[form_control] from form_control::@10 - [399] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) + [394] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) to:form_control::@15 form_control::@15: scope:[form_control] from form_control::@10 form_control::@11 form_control::@14 form_control::@16 - [400] *((byte*) form_control::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) + [395] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) to:form_control::@return form_control::@14: scope:[form_control] from form_control::@9 - [401] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) - [402] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 + [396] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) + [397] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 to:form_control::@16 form_control::@16: scope:[form_control] from form_control::@14 - [403] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [398] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:form_control::@15 form_control::@5: scope:[form_control] from form_control::@4 - [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 + [399] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 to:form_control::@return form_control::@23: scope:[form_control] from form_control::@5 - [405] phi() + [400] phi() to:form_control::@return form_control::@2: scope:[form_control] from form_control::@1 - [406] (byte/word/dword~) form_control::$14 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) $80 - [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$14 + [401] (byte/word/dword~) form_control::$14 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) | (byte/word/signed word/dword/signed dword) $80 + [402] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte/word/dword~) form_control::$14 to:form_control::@3 form_control::@20: scope:[form_control] from form_control::@17 - [408] phi() + [403] phi() to:form_control::@1 form_set_screen: scope:[form_set_screen] from form_mode::@13 - [409] phi() + [404] phi() to:form_set_screen::@1 form_set_screen::@1: scope:[form_set_screen] from form_set_screen form_set_screen::@1 - [410] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte/signed byte/word/signed word/dword/signed dword) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) - [410] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const byte*) FORM_SCREEN#0 form_set_screen::@1/(byte*) form_set_screen::line#1 ) - [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 - [412] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 - [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 - [414] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 - [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 - [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 - [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 + [405] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte/signed byte/word/signed word/dword/signed dword) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) + [405] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const byte*) FORM_SCREEN#0 form_set_screen::@1/(byte*) form_set_screen::line#1 ) + [406] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 + [407] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 + [408] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 + [409] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 + [410] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [411] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 + [412] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 to:form_set_screen::@return form_set_screen::@return: scope:[form_set_screen] from form_set_screen::@1 - [418] return + [413] return to:@return print_str_lines: scope:[print_str_lines] from form_mode::@12 form_mode::@9 - [419] (byte*) print_str_lines::str#5 ← phi( form_mode::@9/(const byte[]) FORM_COLS#0 form_mode::@12/(const byte[]) FORM_TEXT#0 ) - [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 + [414] (byte*) print_str_lines::str#5 ← phi( form_mode::@9/(const byte[]) FORM_COLS#0 form_mode::@12/(const byte[]) FORM_TEXT#0 ) + [415] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@5 - [421] (byte*) print_line_cursor#2 ← phi( print_str_lines/(byte*) print_set_screen::screen#2 print_str_lines::@5/(byte*) print_line_cursor#22 ) - [421] (byte*) print_char_cursor#22 ← phi( print_str_lines/(byte*~) print_char_cursor#77 print_str_lines::@5/(byte*~) print_char_cursor#78 ) - [421] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@5/(byte*) print_str_lines::str#0 ) - [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 + [416] (byte*) print_line_cursor#2 ← phi( print_str_lines/(byte*) print_set_screen::screen#2 print_str_lines::@5/(byte*) print_line_cursor#22 ) + [416] (byte*) print_char_cursor#22 ← phi( print_str_lines/(byte*~) print_char_cursor#77 print_str_lines::@5/(byte*~) print_char_cursor#78 ) + [416] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@5/(byte*) print_str_lines::str#0 ) + [417] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - [423] return + [418] return to:@return print_str_lines::@2: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@3 - [424] (byte*) print_char_cursor#20 ← phi( print_str_lines::@1/(byte*) print_char_cursor#22 print_str_lines::@3/(byte*) print_char_cursor#38 ) - [424] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@3/(byte*) print_str_lines::str#0 ) - [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) - [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 - [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 + [419] (byte*) print_char_cursor#20 ← phi( print_str_lines::@1/(byte*) print_char_cursor#22 print_str_lines::@3/(byte*) print_char_cursor#38 ) + [419] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@3/(byte*) print_str_lines::str#0 ) + [420] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) + [421] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 + [422] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 to:print_str_lines::@4 print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 - [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 - [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 + [423] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 + [424] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 to:print_str_lines::@3 print_str_lines::@3: scope:[print_str_lines] from print_str_lines::@2 print_str_lines::@4 - [430] (byte*) print_char_cursor#38 ← phi( print_str_lines::@2/(byte*) print_char_cursor#20 print_str_lines::@4/(byte*) print_char_cursor#1 ) - [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 + [425] (byte*) print_char_cursor#38 ← phi( print_str_lines::@2/(byte*) print_char_cursor#20 print_str_lines::@4/(byte*) print_char_cursor#1 ) + [426] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@3 - [432] phi() - [433] call print_ln - [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 + [427] phi() + [428] call print_ln + [429] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 to:print_str_lines::@1 print_ln: scope:[print_ln] from print_str_lines::@5 - [435] phi() + [430] phi() to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [436] (byte*) print_line_cursor#21 ← phi( print_ln/(byte*) print_line_cursor#2 print_ln::@1/(byte*) print_line_cursor#22 ) - [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 - [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 + [431] (byte*) print_line_cursor#21 ← phi( print_ln/(byte*) print_line_cursor#2 print_ln::@1/(byte*) print_line_cursor#22 ) + [432] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [433] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [439] return + [434] return to:@return print_cls: scope:[print_cls] from form_mode::@11 form_mode::@8 - [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 + [435] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [441] (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) - [442] *((byte*) print_cls::sc#2) ← (byte) ' ' - [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 - [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 - [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 + [436] (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) + [437] *((byte*) print_cls::sc#2) ← (byte) ' ' + [438] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 + [439] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 + [440] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [446] return + [441] return to:@return print_set_screen: scope:[print_set_screen] from form_mode form_mode::@10 - [447] (byte*) print_set_screen::screen#2 ← phi( form_mode/(const byte*) COLS#0 form_mode::@10/(const byte*) FORM_SCREEN#0 ) + [442] (byte*) print_set_screen::screen#2 ← phi( form_mode/(const byte*) COLS#0 form_mode::@10/(const byte*) FORM_SCREEN#0 ) to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - [448] return + [443] return to:@return gfx_init: scope:[gfx_init] from main::@3 - [449] phi() - [450] call gfx_init_screen0 + [444] phi() + [445] call gfx_init_screen0 to:gfx_init::@1 gfx_init::@1: scope:[gfx_init] from gfx_init - [451] phi() - [452] call gfx_init_screen1 + [446] phi() + [447] call gfx_init_screen1 to:gfx_init::@2 gfx_init::@2: scope:[gfx_init] from gfx_init::@1 - [453] phi() - [454] call gfx_init_screen2 + [448] phi() + [449] call gfx_init_screen2 to:gfx_init::@3 gfx_init::@3: scope:[gfx_init] from gfx_init::@2 - [455] phi() - [456] call gfx_init_screen3 + [450] phi() + [451] call gfx_init_screen3 to:gfx_init::@4 gfx_init::@4: scope:[gfx_init] from gfx_init::@3 - [457] phi() - [458] call gfx_init_screen4 + [452] phi() + [453] call gfx_init_screen4 to:gfx_init::@5 gfx_init::@5: scope:[gfx_init] from gfx_init::@4 - [459] phi() - [460] call gfx_init_charset + [454] phi() + [455] call gfx_init_charset to:gfx_init::@6 gfx_init::@6: scope:[gfx_init] from gfx_init::@5 - [461] phi() - [462] call gfx_init_vic_bitmap + [456] phi() + [457] call gfx_init_vic_bitmap to:gfx_init::@7 gfx_init::@7: scope:[gfx_init] from gfx_init::@6 - [463] phi() - [464] call gfx_init_plane_8bppchunky + [458] phi() + [459] call gfx_init_plane_8bppchunky to:gfx_init::@8 gfx_init::@8: scope:[gfx_init] from gfx_init::@7 - [465] phi() - [466] call gfx_init_plane_charset8 + [460] phi() + [461] call gfx_init_plane_charset8 to:gfx_init::@9 gfx_init::@9: scope:[gfx_init] from gfx_init::@8 - [467] phi() - [468] call gfx_init_plane_horisontal + [462] phi() + [463] call gfx_init_plane_horisontal to:gfx_init::@10 gfx_init::@10: scope:[gfx_init] from gfx_init::@9 - [469] phi() - [470] call gfx_init_plane_vertical + [464] phi() + [465] call gfx_init_plane_vertical to:gfx_init::@11 gfx_init::@11: scope:[gfx_init] from gfx_init::@10 - [471] phi() - [472] call gfx_init_plane_horisontal2 + [466] phi() + [467] call gfx_init_plane_horisontal2 to:gfx_init::@12 gfx_init::@12: scope:[gfx_init] from gfx_init::@11 - [473] phi() - [474] call gfx_init_plane_vertical2 + [468] phi() + [469] call gfx_init_plane_vertical2 to:gfx_init::@13 gfx_init::@13: scope:[gfx_init] from gfx_init::@12 - [475] phi() - [476] call gfx_init_plane_blank + [470] phi() + [471] call gfx_init_plane_blank to:gfx_init::@14 gfx_init::@14: scope:[gfx_init] from gfx_init::@13 - [477] phi() - [478] call gfx_init_plane_full + [472] phi() + [473] call gfx_init_plane_full to:gfx_init::@return gfx_init::@return: scope:[gfx_init] from gfx_init::@14 - [479] return + [474] return to:@return gfx_init_plane_full: scope:[gfx_init_plane_full] from gfx_init::@14 - [480] phi() - [481] call gfx_init_plane_fill + [475] phi() + [476] call gfx_init_plane_fill to:gfx_init_plane_full::@return gfx_init_plane_full::@return: scope:[gfx_init_plane_full] from gfx_init_plane_full - [482] return + [477] return to:@return gfx_init_plane_fill: scope:[gfx_init_plane_fill] from gfx_init_plane_blank gfx_init_plane_full gfx_init_plane_vertical2 - [483] (byte) gfx_init_plane_fill::fill#6 ← phi( gfx_init_plane_blank/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_full/(byte/word/signed word/dword/signed dword) $ff gfx_init_plane_vertical2/(byte/signed byte/word/signed word/dword/signed dword) $1b ) - [483] (dword) gfx_init_plane_fill::plane_addr#3 ← phi( gfx_init_plane_blank/(const dword) PLANE_BLANK#0 gfx_init_plane_full/(const dword) PLANE_FULL#0 gfx_init_plane_vertical2/(const dword) PLANE_VERTICAL2#0 ) - [484] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 - [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 - [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 - [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 - [488] call dtvSetCpuBankSegment1 + [478] (byte) gfx_init_plane_fill::fill#6 ← phi( gfx_init_plane_blank/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_full/(byte/word/signed word/dword/signed dword) $ff gfx_init_plane_vertical2/(byte/signed byte/word/signed word/dword/signed dword) $1b ) + [478] (dword) gfx_init_plane_fill::plane_addr#3 ← phi( gfx_init_plane_blank/(const dword) PLANE_BLANK#0 gfx_init_plane_full/(const dword) PLANE_FULL#0 gfx_init_plane_vertical2/(const dword) PLANE_VERTICAL2#0 ) + [479] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 + [480] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 + [481] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 + [482] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 + [483] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@5 gfx_init_plane_fill::@5: scope:[gfx_init_plane_fill] from gfx_init_plane_fill - [489] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 - [490] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff - [491] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 - [492] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 + [484] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 + [485] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff + [486] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 + [487] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 to:gfx_init_plane_fill::@1 gfx_init_plane_fill::@1: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 gfx_init_plane_fill::@5 - [493] (byte) gfx_init_plane_fill::by#4 ← phi( gfx_init_plane_fill::@3/(byte) gfx_init_plane_fill::by#1 gfx_init_plane_fill::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [493] (byte*) gfx_init_plane_fill::gfxb#3 ← phi( gfx_init_plane_fill::@3/(byte*) gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::@5/(byte*~) gfx_init_plane_fill::gfxb#6 ) + [488] (byte) gfx_init_plane_fill::by#4 ← phi( gfx_init_plane_fill::@3/(byte) gfx_init_plane_fill::by#1 gfx_init_plane_fill::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [488] (byte*) gfx_init_plane_fill::gfxb#3 ← phi( gfx_init_plane_fill::@3/(byte*) gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::@5/(byte*~) gfx_init_plane_fill::gfxb#6 ) to:gfx_init_plane_fill::@2 gfx_init_plane_fill::@2: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@1 gfx_init_plane_fill::@2 - [494] (byte) gfx_init_plane_fill::bx#2 ← phi( gfx_init_plane_fill::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_fill::@2/(byte) gfx_init_plane_fill::bx#1 ) - [494] (byte*) gfx_init_plane_fill::gfxb#2 ← phi( gfx_init_plane_fill::@1/(byte*) gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::@2/(byte*) gfx_init_plane_fill::gfxb#1 ) - [495] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 - [496] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 - [497] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 - [498] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 + [489] (byte) gfx_init_plane_fill::bx#2 ← phi( gfx_init_plane_fill::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_fill::@2/(byte) gfx_init_plane_fill::bx#1 ) + [489] (byte*) gfx_init_plane_fill::gfxb#2 ← phi( gfx_init_plane_fill::@1/(byte*) gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::@2/(byte*) gfx_init_plane_fill::gfxb#1 ) + [490] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 + [491] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 + [492] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 + [493] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 to:gfx_init_plane_fill::@3 gfx_init_plane_fill::@3: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@2 - [499] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 - [500] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 + [494] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 + [495] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 to:gfx_init_plane_fill::@4 gfx_init_plane_fill::@4: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 - [501] phi() - [502] call dtvSetCpuBankSegment1 + [496] phi() + [497] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@return gfx_init_plane_fill::@return: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@4 - [503] return + [498] return to:@return dtvSetCpuBankSegment1: scope:[dtvSetCpuBankSegment1] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@6 gfx_init_plane_charset8 gfx_init_plane_charset8::@8 gfx_init_plane_fill gfx_init_plane_fill::@4 gfx_init_plane_horisontal gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal::@7 gfx_init_plane_vertical gfx_init_plane_vertical::@4 - [504] (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 ← phi( gfx_init_plane_8bppchunky/((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_charset8/(const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfx_init_plane_charset8::@8/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_fill/(byte) dtvSetCpuBankSegment1::cpuBankIdx#11 gfx_init_plane_fill::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_horisontal/(const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 gfx_init_plane_horisontal2/(const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfx_init_plane_horisontal2::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_horisontal::@7/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_vertical/(const byte) gfx_init_plane_vertical::gfxbCpuBank#0 gfx_init_plane_vertical::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 ) - [505] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 + [499] (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 ← phi( gfx_init_plane_8bppchunky/((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_charset8/(const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfx_init_plane_charset8::@8/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_fill/(byte) dtvSetCpuBankSegment1::cpuBankIdx#11 gfx_init_plane_fill::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_horisontal/(const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 gfx_init_plane_horisontal2/(const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfx_init_plane_horisontal2::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_horisontal::@7/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_vertical/(const byte) gfx_init_plane_vertical::gfxbCpuBank#0 gfx_init_plane_vertical::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 ) + [500] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 asm { .byte$32,$dd lda$ff .byte$32,$00 } to:dtvSetCpuBankSegment1::@return dtvSetCpuBankSegment1::@return: scope:[dtvSetCpuBankSegment1] from dtvSetCpuBankSegment1 - [507] return + [502] return to:@return gfx_init_plane_blank: scope:[gfx_init_plane_blank] from gfx_init::@13 - [508] phi() - [509] call gfx_init_plane_fill + [503] phi() + [504] call gfx_init_plane_fill to:gfx_init_plane_blank::@return gfx_init_plane_blank::@return: scope:[gfx_init_plane_blank] from gfx_init_plane_blank - [510] return + [505] return to:@return gfx_init_plane_vertical2: scope:[gfx_init_plane_vertical2] from gfx_init::@12 - [511] phi() - [512] call gfx_init_plane_fill + [506] phi() + [507] call gfx_init_plane_fill to:gfx_init_plane_vertical2::@return gfx_init_plane_vertical2::@return: scope:[gfx_init_plane_vertical2] from gfx_init_plane_vertical2 - [513] return + [508] return to:@return gfx_init_plane_horisontal2: scope:[gfx_init_plane_horisontal2] from gfx_init::@11 - [514] phi() - [515] call dtvSetCpuBankSegment1 + [509] phi() + [510] 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 - [516] (byte*) gfx_init_plane_horisontal2::gfxa#3 ← phi( gfx_init_plane_horisontal2::@3/(byte*) gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_horisontal2/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff ) - [516] (byte) gfx_init_plane_horisontal2::ay#4 ← phi( gfx_init_plane_horisontal2::@3/(byte) gfx_init_plane_horisontal2::ay#1 gfx_init_plane_horisontal2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [511] (byte*) gfx_init_plane_horisontal2::gfxa#3 ← phi( gfx_init_plane_horisontal2::@3/(byte*) gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_horisontal2/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff ) + [511] (byte) gfx_init_plane_horisontal2::ay#4 ← phi( gfx_init_plane_horisontal2::@3/(byte) gfx_init_plane_horisontal2::ay#1 gfx_init_plane_horisontal2/(byte/signed byte/word/signed word/dword/signed dword) 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 - [517] (byte) gfx_init_plane_horisontal2::ax#2 ← phi( gfx_init_plane_horisontal2::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_horisontal2::@2/(byte) gfx_init_plane_horisontal2::ax#1 ) - [517] (byte*) gfx_init_plane_horisontal2::gfxa#2 ← phi( gfx_init_plane_horisontal2::@1/(byte*) gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::@2/(byte*) gfx_init_plane_horisontal2::gfxa#1 ) - [518] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [519] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 - [520] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) - [521] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 - [522] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 - [523] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 + [512] (byte) gfx_init_plane_horisontal2::ax#2 ← phi( gfx_init_plane_horisontal2::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_horisontal2::@2/(byte) gfx_init_plane_horisontal2::ax#1 ) + [512] (byte*) gfx_init_plane_horisontal2::gfxa#2 ← phi( gfx_init_plane_horisontal2::@1/(byte*) gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::@2/(byte*) gfx_init_plane_horisontal2::gfxa#1 ) + [513] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [514] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 + [515] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) + [516] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 + [517] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 + [518] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 to:gfx_init_plane_horisontal2::@3 gfx_init_plane_horisontal2::@3: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@2 - [524] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 - [525] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 + [519] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 + [520] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 to:gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal2::@4: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@3 - [526] phi() - [527] call dtvSetCpuBankSegment1 + [521] phi() + [522] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal2::@return gfx_init_plane_horisontal2::@return: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@4 - [528] return + [523] return to:@return gfx_init_plane_vertical: scope:[gfx_init_plane_vertical] from gfx_init::@10 - [529] phi() - [530] call dtvSetCpuBankSegment1 + [524] phi() + [525] call dtvSetCpuBankSegment1 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 - [531] (byte) gfx_init_plane_vertical::by#4 ← phi( gfx_init_plane_vertical::@3/(byte) gfx_init_plane_vertical::by#1 gfx_init_plane_vertical/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [531] (byte*) gfx_init_plane_vertical::gfxb#3 ← phi( gfx_init_plane_vertical::@3/(byte*) gfx_init_plane_vertical::gfxb#1 gfx_init_plane_vertical/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $3fff ) + [526] (byte) gfx_init_plane_vertical::by#4 ← phi( gfx_init_plane_vertical::@3/(byte) gfx_init_plane_vertical::by#1 gfx_init_plane_vertical/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [526] (byte*) gfx_init_plane_vertical::gfxb#3 ← phi( gfx_init_plane_vertical::@3/(byte*) gfx_init_plane_vertical::gfxb#1 gfx_init_plane_vertical/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $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 - [532] (byte) gfx_init_plane_vertical::bx#2 ← phi( gfx_init_plane_vertical::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_vertical::@2/(byte) gfx_init_plane_vertical::bx#1 ) - [532] (byte*) gfx_init_plane_vertical::gfxb#2 ← phi( gfx_init_plane_vertical::@1/(byte*) gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::@2/(byte*) gfx_init_plane_vertical::gfxb#1 ) - [533] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f - [534] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 - [535] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 - [536] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 + [527] (byte) gfx_init_plane_vertical::bx#2 ← phi( gfx_init_plane_vertical::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_vertical::@2/(byte) gfx_init_plane_vertical::bx#1 ) + [527] (byte*) gfx_init_plane_vertical::gfxb#2 ← phi( gfx_init_plane_vertical::@1/(byte*) gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::@2/(byte*) gfx_init_plane_vertical::gfxb#1 ) + [528] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f + [529] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 + [530] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 + [531] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 to:gfx_init_plane_vertical::@3 gfx_init_plane_vertical::@3: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@2 - [537] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 - [538] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 + [532] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 + [533] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 to:gfx_init_plane_vertical::@4 gfx_init_plane_vertical::@4: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@3 - [539] phi() - [540] call dtvSetCpuBankSegment1 + [534] phi() + [535] call dtvSetCpuBankSegment1 to:gfx_init_plane_vertical::@return gfx_init_plane_vertical::@return: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@4 - [541] return + [536] return to:@return gfx_init_plane_horisontal: scope:[gfx_init_plane_horisontal] from gfx_init::@9 - [542] phi() - [543] call dtvSetCpuBankSegment1 + [537] phi() + [538] 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 - [544] (byte*) gfx_init_plane_horisontal::gfxa#6 ← phi( gfx_init_plane_horisontal::@6/(byte*) gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff ) - [544] (byte) gfx_init_plane_horisontal::ay#4 ← phi( gfx_init_plane_horisontal::@6/(byte) gfx_init_plane_horisontal::ay#1 gfx_init_plane_horisontal/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [539] (byte*) gfx_init_plane_horisontal::gfxa#6 ← phi( gfx_init_plane_horisontal::@6/(byte*) gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff ) + [539] (byte) gfx_init_plane_horisontal::ay#4 ← phi( gfx_init_plane_horisontal::@6/(byte) gfx_init_plane_horisontal::ay#1 gfx_init_plane_horisontal/(byte/signed byte/word/signed word/dword/signed dword) 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 - [545] (byte) gfx_init_plane_horisontal::ax#2 ← phi( gfx_init_plane_horisontal::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_horisontal::@4/(byte) gfx_init_plane_horisontal::ax#1 ) - [545] (byte*) gfx_init_plane_horisontal::gfxa#3 ← phi( gfx_init_plane_horisontal::@1/(byte*) gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::@4/(byte*) gfx_init_plane_horisontal::gfxa#7 ) - [546] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 - [547] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 + [540] (byte) gfx_init_plane_horisontal::ax#2 ← phi( gfx_init_plane_horisontal::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_horisontal::@4/(byte) gfx_init_plane_horisontal::ax#1 ) + [540] (byte*) gfx_init_plane_horisontal::gfxa#3 ← phi( gfx_init_plane_horisontal::@1/(byte*) gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::@4/(byte*) gfx_init_plane_horisontal::gfxa#7 ) + [541] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 + [542] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 to:gfx_init_plane_horisontal::@5 gfx_init_plane_horisontal::@5: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 - [548] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff - [549] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 + [543] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff + [544] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 gfx_init_plane_horisontal::@4: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 - [550] (byte*) gfx_init_plane_horisontal::gfxa#7 ← phi( gfx_init_plane_horisontal::@3/(byte*) gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::@5/(byte*) gfx_init_plane_horisontal::gfxa#2 ) - [551] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 - [552] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 + [545] (byte*) gfx_init_plane_horisontal::gfxa#7 ← phi( gfx_init_plane_horisontal::@3/(byte*) gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::@5/(byte*) gfx_init_plane_horisontal::gfxa#2 ) + [546] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 + [547] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 to:gfx_init_plane_horisontal::@6 gfx_init_plane_horisontal::@6: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@4 - [553] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 - [554] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 + [548] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 + [549] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 to:gfx_init_plane_horisontal::@7 gfx_init_plane_horisontal::@7: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@6 - [555] phi() - [556] call dtvSetCpuBankSegment1 + [550] phi() + [551] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal::@return gfx_init_plane_horisontal::@return: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@7 - [557] return + [552] return to:@return gfx_init_plane_horisontal::@3: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 - [558] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - [559] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 + [553] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [554] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 gfx_init_plane_charset8: scope:[gfx_init_plane_charset8] from gfx_init::@8 - [560] phi() - [561] call dtvSetCpuBankSegment1 + [555] phi() + [556] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@9 gfx_init_plane_charset8::@9: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8 - [562] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 + [557] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 to:gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@1: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@9 - [563] (byte) gfx_init_plane_charset8::ch#8 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::ch#1 gfx_init_plane_charset8::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [563] (byte) gfx_init_plane_charset8::col#6 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::col#1 gfx_init_plane_charset8::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [563] (byte*) gfx_init_plane_charset8::gfxa#6 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::gfxa#1 gfx_init_plane_charset8::@9/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff ) - [563] (byte*) gfx_init_plane_charset8::chargen#3 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::@9/(const byte*) CHARGEN#0 ) + [558] (byte) gfx_init_plane_charset8::ch#8 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::ch#1 gfx_init_plane_charset8::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [558] (byte) gfx_init_plane_charset8::col#6 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::col#1 gfx_init_plane_charset8::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [558] (byte*) gfx_init_plane_charset8::gfxa#6 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::gfxa#1 gfx_init_plane_charset8::@9/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff ) + [558] (byte*) gfx_init_plane_charset8::chargen#3 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::@9/(const byte*) CHARGEN#0 ) 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 - [564] (byte) gfx_init_plane_charset8::cr#6 ← phi( gfx_init_plane_charset8::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::cr#1 ) - [564] (byte) gfx_init_plane_charset8::col#5 ← phi( gfx_init_plane_charset8::@1/(byte) gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::col#1 ) - [564] (byte*) gfx_init_plane_charset8::gfxa#5 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::gfxa#1 ) - [564] (byte*) gfx_init_plane_charset8::chargen#2 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::chargen#1 ) - [565] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) - [566] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 + [559] (byte) gfx_init_plane_charset8::cr#6 ← phi( gfx_init_plane_charset8::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::cr#1 ) + [559] (byte) gfx_init_plane_charset8::col#5 ← phi( gfx_init_plane_charset8::@1/(byte) gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::col#1 ) + [559] (byte*) gfx_init_plane_charset8::gfxa#5 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::gfxa#1 ) + [559] (byte*) gfx_init_plane_charset8::chargen#2 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::chargen#1 ) + [560] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) + [561] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 to:gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@3: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@2 gfx_init_plane_charset8::@4 - [567] (byte) gfx_init_plane_charset8::cp#2 ← phi( gfx_init_plane_charset8::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::cp#1 ) - [567] (byte) gfx_init_plane_charset8::col#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::col#1 ) - [567] (byte*) gfx_init_plane_charset8::gfxa#2 ← phi( gfx_init_plane_charset8::@2/(byte*) gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::@4/(byte*) gfx_init_plane_charset8::gfxa#1 ) - [567] (byte) gfx_init_plane_charset8::bits#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::bits#1 ) - [568] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 - [569] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 + [562] (byte) gfx_init_plane_charset8::cp#2 ← phi( gfx_init_plane_charset8::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::cp#1 ) + [562] (byte) gfx_init_plane_charset8::col#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::col#1 ) + [562] (byte*) gfx_init_plane_charset8::gfxa#2 ← phi( gfx_init_plane_charset8::@2/(byte*) gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::@4/(byte*) gfx_init_plane_charset8::gfxa#1 ) + [562] (byte) gfx_init_plane_charset8::bits#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::bits#1 ) + [563] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 + [564] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 to:gfx_init_plane_charset8::@5 gfx_init_plane_charset8::@5: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 - [570] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 + [565] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 to:gfx_init_plane_charset8::@4 gfx_init_plane_charset8::@4: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@5 - [571] (byte) gfx_init_plane_charset8::c#2 ← phi( gfx_init_plane_charset8::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@5/(byte~) gfx_init_plane_charset8::c#3 ) - [572] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 - [573] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 - [574] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [575] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 - [576] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 - [577] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 + [566] (byte) gfx_init_plane_charset8::c#2 ← phi( gfx_init_plane_charset8::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@5/(byte~) gfx_init_plane_charset8::c#3 ) + [567] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 + [568] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 + [569] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [570] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 + [571] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 + [572] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 to:gfx_init_plane_charset8::@6 gfx_init_plane_charset8::@6: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@4 - [578] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 - [579] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 + [573] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 + [574] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 to:gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@7: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@6 - [580] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 - [581] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 + [575] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 + [576] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 to:gfx_init_plane_charset8::@8 gfx_init_plane_charset8::@8: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 - [582] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 - [583] call dtvSetCpuBankSegment1 + [577] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 + [578] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@return gfx_init_plane_charset8::@return: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@8 - [584] return + [579] return to:@return gfx_init_plane_8bppchunky: scope:[gfx_init_plane_8bppchunky] from gfx_init::@7 - [585] phi() - [586] call dtvSetCpuBankSegment1 + [580] phi() + [581] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@1: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@5 - [587] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky/++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 ) - [587] (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [587] (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky/((byte*))(word/signed word/dword/signed dword) $4000 ) + [582] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky/++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 ) + [582] (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [582] (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky/((byte*))(word/signed word/dword/signed dword) $4000 ) to:gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@2: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@3 - [588] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) - [588] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) - [588] (byte*) gfx_init_plane_8bppchunky::gfxb#3 ← phi( gfx_init_plane_8bppchunky::@1/(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) - [589] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 + [583] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) + [583] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) + [583] (byte*) gfx_init_plane_8bppchunky::gfxb#3 ← phi( gfx_init_plane_8bppchunky::@1/(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) + [584] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 to:gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@4: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 - [590] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 - [591] call dtvSetCpuBankSegment1 + [585] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 + [586] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@7 gfx_init_plane_8bppchunky::@7: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@4 - [592] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 + [587] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 to:gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@3: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@7 - [593] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) - [593] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@7/((byte*))(word/signed word/dword/signed dword) $4000 ) - [594] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 - [595] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 - [596] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 - [597] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 - [598] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 - [599] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 + [588] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) + [588] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@7/((byte*))(word/signed word/dword/signed dword) $4000 ) + [589] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 + [590] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 + [591] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 + [592] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 + [593] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 + [594] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 to:gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@5: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@3 - [600] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 - [601] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 + [595] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 + [596] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 to:gfx_init_plane_8bppchunky::@6 gfx_init_plane_8bppchunky::@6: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@5 - [602] phi() - [603] call dtvSetCpuBankSegment1 + [597] phi() + [598] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@return gfx_init_plane_8bppchunky::@return: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@6 - [604] return + [599] return to:@return gfx_init_vic_bitmap: scope:[gfx_init_vic_bitmap] from gfx_init::@6 - [605] phi() - [606] call bitmap_init + [600] phi() + [601] call bitmap_init to:gfx_init_vic_bitmap::@2 gfx_init_vic_bitmap::@2: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap - [607] phi() - [608] call bitmap_clear + [602] phi() + [603] call bitmap_clear to:gfx_init_vic_bitmap::@1 gfx_init_vic_bitmap::@1: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@2 gfx_init_vic_bitmap::@3 - [609] (byte) gfx_init_vic_bitmap::l#2 ← phi( gfx_init_vic_bitmap::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_vic_bitmap::@3/(byte) gfx_init_vic_bitmap::l#1 ) - [610] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) - [611] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) - [612] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) - [613] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) - [614] call bitmap_line + [604] (byte) gfx_init_vic_bitmap::l#2 ← phi( gfx_init_vic_bitmap::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_vic_bitmap::@3/(byte) gfx_init_vic_bitmap::l#1 ) + [605] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) + [606] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) + [607] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) + [608] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) + [609] call bitmap_line to:gfx_init_vic_bitmap::@3 gfx_init_vic_bitmap::@3: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@1 - [615] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 - [616] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 + [610] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 + [611] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 to:gfx_init_vic_bitmap::@return gfx_init_vic_bitmap::@return: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@3 - [617] return + [612] return to:@return bitmap_line: scope:[bitmap_line] from gfx_init_vic_bitmap::@1 - [618] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 + [613] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 to:bitmap_line::@2 bitmap_line::@2: scope:[bitmap_line] from bitmap_line - [619] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 - [620] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 + [614] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 + [615] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 to:bitmap_line::@3 bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@2 - [621] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 - [622] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 + [616] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 + [617] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 to:bitmap_line::@4 bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@3 - [623] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 - [624] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 - [625] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 - [626] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 - [627] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 - [628] call bitmap_line_ydxi + [618] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 + [619] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 + [620] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 + [621] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 + [622] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 + [623] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@12 bitmap_line::@13 bitmap_line::@14 bitmap_line::@4 bitmap_line::@6 bitmap_line::@8 bitmap_line::@9 - [629] return + [624] return to:@return bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@3 - [630] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 - [631] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 - [632] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 - [633] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 - [634] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 - [635] call bitmap_line_xdyi + [625] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 + [626] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 + [627] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 + [628] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 + [629] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 + [630] call bitmap_line_xdyi to:bitmap_line::@return bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@2 - [636] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 - [637] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 + [631] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 + [632] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 to:bitmap_line::@10 bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@7 - [638] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 - [639] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 - [640] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 - [641] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 - [642] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 - [643] call bitmap_line_ydxd + [633] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 + [634] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 + [635] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 + [636] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 + [637] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 + [638] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@7 - [644] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 - [645] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 - [646] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 - [647] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 - [648] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 - [649] call bitmap_line_xdyd + [639] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 + [640] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 + [641] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 + [642] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 + [643] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 + [644] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@1: scope:[bitmap_line] from bitmap_line - [650] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 - [651] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 + [645] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 + [646] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 to:bitmap_line::@5 bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@1 - [652] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 - [653] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 + [647] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 + [648] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 to:bitmap_line::@6 bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5 - [654] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 - [655] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 - [656] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 - [657] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 - [658] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 - [659] call bitmap_line_ydxd + [649] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 + [650] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 + [651] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 + [652] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 + [653] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 + [654] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@12: scope:[bitmap_line] from bitmap_line::@5 - [660] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 - [661] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - [662] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 - [663] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 - [664] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 - [665] call bitmap_line_xdyd + [655] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 + [656] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + [657] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 + [658] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 + [659] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 + [660] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@1 - [666] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 - [667] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 + [661] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 + [662] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 to:bitmap_line::@14 bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@11 - [668] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 - [669] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 - [670] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 - [671] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 - [672] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 - [673] call bitmap_line_ydxi + [663] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 + [664] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 + [665] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 + [666] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 + [667] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 + [668] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@11 - [674] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 - [675] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - [676] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 - [677] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 - [678] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 - [679] call bitmap_line_xdyi + [669] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 + [670] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + [671] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 + [672] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 + [673] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 + [674] call bitmap_line_xdyi to:bitmap_line::@return bitmap_line_xdyi: scope:[bitmap_line_xdyi] from bitmap_line::@13 bitmap_line::@8 - [680] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 ) - [680] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 ) - [680] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 ) - [680] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 ) - [680] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 ) - [681] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [675] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 ) + [675] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 ) + [675] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 ) + [675] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 ) + [675] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 ) + [676] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 to:bitmap_line_xdyi::@1 bitmap_line_xdyi::@1: scope:[bitmap_line_xdyi] from bitmap_line_xdyi bitmap_line_xdyi::@2 - [682] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 ) - [682] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 ) - [682] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 ) - [683] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 - [684] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 - [685] call bitmap_plot + [677] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 ) + [677] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 ) + [677] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 ) + [678] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 + [679] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 + [680] call bitmap_plot to:bitmap_line_xdyi::@4 bitmap_line_xdyi::@4: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@1 - [686] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 - [687] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 - [688] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 + [681] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 + [682] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 + [683] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 to:bitmap_line_xdyi::@3 bitmap_line_xdyi::@3: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@4 - [689] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 - [690] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 + [684] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 + [685] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 to:bitmap_line_xdyi::@2 bitmap_line_xdyi::@2: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 - [691] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 ) - [691] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 ) - [692] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [693] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 + [686] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 ) + [686] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 ) + [687] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [688] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 to:bitmap_line_xdyi::@return bitmap_line_xdyi::@return: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@2 - [694] return + [689] return to:@return bitmap_plot: scope:[bitmap_plot] from bitmap_line_xdyd::@1 bitmap_line_xdyi::@1 bitmap_line_ydxd::@1 bitmap_line_ydxi::@1 - [695] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 ) - [695] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 ) - [696] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) - [697] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) - [698] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 - [699] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) - [700] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 + [690] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 ) + [690] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 ) + [691] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) + [692] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) + [693] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 + [694] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) + [695] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot - [701] return + [696] return to:@return bitmap_line_ydxi: scope:[bitmap_line_ydxi] from bitmap_line::@14 bitmap_line::@4 - [702] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 ) - [702] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 ) - [702] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 ) - [702] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 ) - [702] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 ) - [703] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [697] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 ) + [697] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 ) + [697] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 ) + [697] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 ) + [697] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 ) + [698] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 to:bitmap_line_ydxi::@1 bitmap_line_ydxi::@1: scope:[bitmap_line_ydxi] from bitmap_line_ydxi bitmap_line_ydxi::@2 - [704] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 ) - [704] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 ) - [704] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 ) - [705] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 - [706] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 - [707] call bitmap_plot + [699] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 ) + [699] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 ) + [699] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 ) + [700] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 + [701] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 + [702] call bitmap_plot to:bitmap_line_ydxi::@4 bitmap_line_ydxi::@4: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@1 - [708] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 - [709] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 - [710] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 + [703] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 + [704] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 + [705] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 to:bitmap_line_ydxi::@3 bitmap_line_ydxi::@3: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@4 - [711] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 - [712] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 + [706] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 + [707] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 to:bitmap_line_ydxi::@2 bitmap_line_ydxi::@2: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 - [713] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 ) - [713] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 ) - [714] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [715] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 + [708] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 ) + [708] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 ) + [709] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [710] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 to:bitmap_line_ydxi::@return bitmap_line_ydxi::@return: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@2 - [716] return + [711] return to:@return bitmap_line_xdyd: scope:[bitmap_line_xdyd] from bitmap_line::@12 bitmap_line::@9 - [717] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 ) - [717] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 ) - [717] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 ) - [717] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 ) - [717] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 ) - [718] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [712] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 ) + [712] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 ) + [712] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 ) + [712] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 ) + [712] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 ) + [713] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 to:bitmap_line_xdyd::@1 bitmap_line_xdyd::@1: scope:[bitmap_line_xdyd] from bitmap_line_xdyd bitmap_line_xdyd::@2 - [719] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 ) - [719] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 ) - [719] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 ) - [720] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 - [721] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 - [722] call bitmap_plot + [714] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 ) + [714] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 ) + [714] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 ) + [715] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 + [716] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 + [717] call bitmap_plot to:bitmap_line_xdyd::@4 bitmap_line_xdyd::@4: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@1 - [723] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 - [724] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 - [725] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 + [718] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 + [719] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 + [720] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 to:bitmap_line_xdyd::@3 bitmap_line_xdyd::@3: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@4 - [726] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 - [727] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 + [721] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 + [722] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 to:bitmap_line_xdyd::@2 bitmap_line_xdyd::@2: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 - [728] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 ) - [728] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 ) - [729] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [730] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 + [723] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 ) + [723] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 ) + [724] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [725] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 to:bitmap_line_xdyd::@return bitmap_line_xdyd::@return: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@2 - [731] return + [726] return to:@return bitmap_line_ydxd: scope:[bitmap_line_ydxd] from bitmap_line::@10 bitmap_line::@6 - [732] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 ) - [732] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 ) - [732] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 ) - [732] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 ) - [732] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 ) - [733] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [727] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 ) + [727] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 ) + [727] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 ) + [727] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 ) + [727] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 ) + [728] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 to:bitmap_line_ydxd::@1 bitmap_line_ydxd::@1: scope:[bitmap_line_ydxd] from bitmap_line_ydxd bitmap_line_ydxd::@2 - [734] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 ) - [734] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 ) - [734] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 ) - [735] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 - [736] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 - [737] call bitmap_plot + [729] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 ) + [729] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 ) + [729] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 ) + [730] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 + [731] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 + [732] call bitmap_plot to:bitmap_line_ydxd::@4 bitmap_line_ydxd::@4: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@1 - [738] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 - [739] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 - [740] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 + [733] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 + [734] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 + [735] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 to:bitmap_line_ydxd::@3 bitmap_line_ydxd::@3: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@4 - [741] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 - [742] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 + [736] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 + [737] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 to:bitmap_line_ydxd::@2 bitmap_line_ydxd::@2: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 - [743] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 ) - [743] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 ) - [744] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [745] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 + [738] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 ) + [738] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 ) + [739] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [740] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 to:bitmap_line_ydxd::@return bitmap_line_ydxd::@return: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@2 - [746] return + [741] return to:@return bitmap_clear: scope:[bitmap_clear] from gfx_init_vic_bitmap::@2 - [747] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) - [748] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 + [742] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) + [743] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 to:bitmap_clear::@1 bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3 - [749] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 ) - [749] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*~) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 ) + [744] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 ) + [744] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*~) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 ) to:bitmap_clear::@2 bitmap_clear::@2: scope:[bitmap_clear] from bitmap_clear::@1 bitmap_clear::@2 - [750] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 ) - [750] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 ) - [751] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - [752] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 - [753] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 - [754] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 + [745] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 ) + [745] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 ) + [746] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [747] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 + [748] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 + [749] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 to:bitmap_clear::@3 bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2 - [755] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 - [756] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 + [750] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 + [751] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 to:bitmap_clear::@return bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3 - [757] return + [752] return to:@return bitmap_init: scope:[bitmap_init] from gfx_init_vic_bitmap - [758] phi() + [753] phi() to:bitmap_init::@1 bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2 - [759] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte/word/signed word/dword/signed dword) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 ) - [759] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@2/(byte) bitmap_init::x#1 ) - [760] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 - [761] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 - [762] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 - [763] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 - [764] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [765] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 + [754] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte/word/signed word/dword/signed dword) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 ) + [754] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@2/(byte) bitmap_init::x#1 ) + [755] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 + [756] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 + [757] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 + [758] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 + [759] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [760] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 to:bitmap_init::@2 bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6 - [766] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte/word/signed word/dword/signed dword) $80 ) - [767] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 - [768] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 + [761] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte/word/signed word/dword/signed dword) $80 ) + [762] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 + [763] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 to:bitmap_init::@3 bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4 - [769] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 ) - [769] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte) bitmap_init::y#1 ) - [770] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 - [771] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 - [772] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 - [773] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 - [774] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 - [775] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 - [776] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 - [777] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 + [764] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 ) + [764] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte) bitmap_init::y#1 ) + [765] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 + [766] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 + [767] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 + [768] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 + [769] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 + [770] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 + [771] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 + [772] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 to:bitmap_init::@5 bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3 - [778] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + [773] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 to:bitmap_init::@4 bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5 - [779] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 ) - [780] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 - [781] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 + [774] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 ) + [775] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 + [776] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 to:bitmap_init::@return bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4 - [782] return + [777] return to:@return bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1 - [783] phi() + [778] phi() to:bitmap_init::@2 gfx_init_charset: scope:[gfx_init_charset] from gfx_init::@5 - [784] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 + [779] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 to:gfx_init_charset::@1 gfx_init_charset::@1: scope:[gfx_init_charset] from gfx_init_charset gfx_init_charset::@3 - [785] (byte) gfx_init_charset::c#4 ← phi( gfx_init_charset/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_charset::@3/(byte) gfx_init_charset::c#1 ) - [785] (byte*) gfx_init_charset::charset#3 ← phi( gfx_init_charset/(const byte*) VIC_CHARSET_ROM#0 gfx_init_charset::@3/(byte*) gfx_init_charset::charset#1 ) - [785] (byte*) gfx_init_charset::chargen#3 ← phi( gfx_init_charset/(const byte*) CHARGEN#0 gfx_init_charset::@3/(byte*) gfx_init_charset::chargen#1 ) + [780] (byte) gfx_init_charset::c#4 ← phi( gfx_init_charset/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_charset::@3/(byte) gfx_init_charset::c#1 ) + [780] (byte*) gfx_init_charset::charset#3 ← phi( gfx_init_charset/(const byte*) VIC_CHARSET_ROM#0 gfx_init_charset::@3/(byte*) gfx_init_charset::charset#1 ) + [780] (byte*) gfx_init_charset::chargen#3 ← phi( gfx_init_charset/(const byte*) CHARGEN#0 gfx_init_charset::@3/(byte*) gfx_init_charset::chargen#1 ) to:gfx_init_charset::@2 gfx_init_charset::@2: scope:[gfx_init_charset] from gfx_init_charset::@1 gfx_init_charset::@2 - [786] (byte) gfx_init_charset::l#2 ← phi( gfx_init_charset::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_charset::@2/(byte) gfx_init_charset::l#1 ) - [786] (byte*) gfx_init_charset::charset#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::charset#3 gfx_init_charset::@2/(byte*) gfx_init_charset::charset#1 ) - [786] (byte*) gfx_init_charset::chargen#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::chargen#3 gfx_init_charset::@2/(byte*) gfx_init_charset::chargen#1 ) - [787] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) - [788] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 - [789] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 - [790] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 - [791] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 + [781] (byte) gfx_init_charset::l#2 ← phi( gfx_init_charset::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_charset::@2/(byte) gfx_init_charset::l#1 ) + [781] (byte*) gfx_init_charset::charset#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::charset#3 gfx_init_charset::@2/(byte*) gfx_init_charset::charset#1 ) + [781] (byte*) gfx_init_charset::chargen#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::chargen#3 gfx_init_charset::@2/(byte*) gfx_init_charset::chargen#1 ) + [782] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) + [783] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 + [784] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 + [785] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 + [786] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 to:gfx_init_charset::@3 gfx_init_charset::@3: scope:[gfx_init_charset] from gfx_init_charset::@2 - [792] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 - [793] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 + [787] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 + [788] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 to:gfx_init_charset::@4 gfx_init_charset::@4: scope:[gfx_init_charset] from gfx_init_charset::@3 - [794] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 + [789] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 to:gfx_init_charset::@return gfx_init_charset::@return: scope:[gfx_init_charset] from gfx_init_charset::@4 - [795] return + [790] return to:@return gfx_init_screen4: scope:[gfx_init_screen4] from gfx_init::@4 - [796] phi() + [791] phi() to:gfx_init_screen4::@1 gfx_init_screen4::@1: scope:[gfx_init_screen4] from gfx_init_screen4 gfx_init_screen4::@3 - [797] (byte) gfx_init_screen4::cy#4 ← phi( gfx_init_screen4/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen4::@3/(byte) gfx_init_screen4::cy#1 ) - [797] (byte*) gfx_init_screen4::ch#3 ← phi( gfx_init_screen4/(const byte*) VIC_SCREEN4#0 gfx_init_screen4::@3/(byte*) gfx_init_screen4::ch#1 ) + [792] (byte) gfx_init_screen4::cy#4 ← phi( gfx_init_screen4/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen4::@3/(byte) gfx_init_screen4::cy#1 ) + [792] (byte*) gfx_init_screen4::ch#3 ← phi( gfx_init_screen4/(const byte*) VIC_SCREEN4#0 gfx_init_screen4::@3/(byte*) gfx_init_screen4::ch#1 ) to:gfx_init_screen4::@2 gfx_init_screen4::@2: scope:[gfx_init_screen4] from gfx_init_screen4::@1 gfx_init_screen4::@2 - [798] (byte) gfx_init_screen4::cx#2 ← phi( gfx_init_screen4::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen4::@2/(byte) gfx_init_screen4::cx#1 ) - [798] (byte*) gfx_init_screen4::ch#2 ← phi( gfx_init_screen4::@1/(byte*) gfx_init_screen4::ch#3 gfx_init_screen4::@2/(byte*) gfx_init_screen4::ch#1 ) - [799] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - [800] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 - [801] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 - [802] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 + [793] (byte) gfx_init_screen4::cx#2 ← phi( gfx_init_screen4::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen4::@2/(byte) gfx_init_screen4::cx#1 ) + [793] (byte*) gfx_init_screen4::ch#2 ← phi( gfx_init_screen4::@1/(byte*) gfx_init_screen4::ch#3 gfx_init_screen4::@2/(byte*) gfx_init_screen4::ch#1 ) + [794] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [795] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 + [796] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 + [797] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 to:gfx_init_screen4::@3 gfx_init_screen4::@3: scope:[gfx_init_screen4] from gfx_init_screen4::@2 - [803] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 - [804] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 + [798] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 + [799] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 to:gfx_init_screen4::@return gfx_init_screen4::@return: scope:[gfx_init_screen4] from gfx_init_screen4::@3 - [805] return + [800] return to:@return gfx_init_screen3: scope:[gfx_init_screen3] from gfx_init::@3 - [806] phi() + [801] phi() to:gfx_init_screen3::@1 gfx_init_screen3::@1: scope:[gfx_init_screen3] from gfx_init_screen3 gfx_init_screen3::@3 - [807] (byte*) gfx_init_screen3::ch#3 ← phi( gfx_init_screen3/(const byte*) VIC_SCREEN3#0 gfx_init_screen3::@3/(byte*) gfx_init_screen3::ch#1 ) - [807] (byte) gfx_init_screen3::cy#4 ← phi( gfx_init_screen3/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen3::@3/(byte) gfx_init_screen3::cy#1 ) + [802] (byte*) gfx_init_screen3::ch#3 ← phi( gfx_init_screen3/(const byte*) VIC_SCREEN3#0 gfx_init_screen3::@3/(byte*) gfx_init_screen3::ch#1 ) + [802] (byte) gfx_init_screen3::cy#4 ← phi( gfx_init_screen3/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen3::@3/(byte) gfx_init_screen3::cy#1 ) to:gfx_init_screen3::@2 gfx_init_screen3::@2: scope:[gfx_init_screen3] from gfx_init_screen3::@1 gfx_init_screen3::@2 - [808] (byte*) gfx_init_screen3::ch#2 ← phi( gfx_init_screen3::@1/(byte*) gfx_init_screen3::ch#3 gfx_init_screen3::@2/(byte*) gfx_init_screen3::ch#1 ) - [808] (byte) gfx_init_screen3::cx#2 ← phi( gfx_init_screen3::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen3::@2/(byte) gfx_init_screen3::cx#1 ) - [809] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 - [810] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 - [811] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 - [812] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 - [813] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 - [814] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 - [815] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 - [816] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 + [803] (byte*) gfx_init_screen3::ch#2 ← phi( gfx_init_screen3::@1/(byte*) gfx_init_screen3::ch#3 gfx_init_screen3::@2/(byte*) gfx_init_screen3::ch#1 ) + [803] (byte) gfx_init_screen3::cx#2 ← phi( gfx_init_screen3::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen3::@2/(byte) gfx_init_screen3::cx#1 ) + [804] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 + [805] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 + [806] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 + [807] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 + [808] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 + [809] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 + [810] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 + [811] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 to:gfx_init_screen3::@3 gfx_init_screen3::@3: scope:[gfx_init_screen3] from gfx_init_screen3::@2 - [817] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 - [818] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 + [812] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 + [813] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 to:gfx_init_screen3::@return gfx_init_screen3::@return: scope:[gfx_init_screen3] from gfx_init_screen3::@3 - [819] return + [814] return to:@return gfx_init_screen2: scope:[gfx_init_screen2] from gfx_init::@2 - [820] phi() + [815] phi() to:gfx_init_screen2::@1 gfx_init_screen2::@1: scope:[gfx_init_screen2] from gfx_init_screen2 gfx_init_screen2::@3 - [821] (byte*) gfx_init_screen2::ch#3 ← phi( gfx_init_screen2/(const byte*) VIC_SCREEN2#0 gfx_init_screen2::@3/(byte*) gfx_init_screen2::ch#1 ) - [821] (byte) gfx_init_screen2::cy#4 ← phi( gfx_init_screen2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen2::@3/(byte) gfx_init_screen2::cy#1 ) + [816] (byte*) gfx_init_screen2::ch#3 ← phi( gfx_init_screen2/(const byte*) VIC_SCREEN2#0 gfx_init_screen2::@3/(byte*) gfx_init_screen2::ch#1 ) + [816] (byte) gfx_init_screen2::cy#4 ← phi( gfx_init_screen2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen2::@3/(byte) gfx_init_screen2::cy#1 ) to:gfx_init_screen2::@2 gfx_init_screen2::@2: scope:[gfx_init_screen2] from gfx_init_screen2::@1 gfx_init_screen2::@2 - [822] (byte*) gfx_init_screen2::ch#2 ← phi( gfx_init_screen2::@1/(byte*) gfx_init_screen2::ch#3 gfx_init_screen2::@2/(byte*) gfx_init_screen2::ch#1 ) - [822] (byte) gfx_init_screen2::cx#2 ← phi( gfx_init_screen2::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen2::@2/(byte) gfx_init_screen2::cx#1 ) - [823] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 - [824] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f - [825] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 - [826] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 - [827] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 - [828] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 - [829] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 - [830] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 - [831] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 + [817] (byte*) gfx_init_screen2::ch#2 ← phi( gfx_init_screen2::@1/(byte*) gfx_init_screen2::ch#3 gfx_init_screen2::@2/(byte*) gfx_init_screen2::ch#1 ) + [817] (byte) gfx_init_screen2::cx#2 ← phi( gfx_init_screen2::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen2::@2/(byte) gfx_init_screen2::cx#1 ) + [818] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 + [819] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f + [820] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 + [821] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 + [822] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 + [823] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 + [824] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 + [825] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 + [826] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 to:gfx_init_screen2::@3 gfx_init_screen2::@3: scope:[gfx_init_screen2] from gfx_init_screen2::@2 - [832] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 - [833] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 + [827] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 + [828] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 to:gfx_init_screen2::@return gfx_init_screen2::@return: scope:[gfx_init_screen2] from gfx_init_screen2::@3 - [834] return + [829] return to:@return gfx_init_screen1: scope:[gfx_init_screen1] from gfx_init::@1 - [835] phi() + [830] phi() to:gfx_init_screen1::@1 gfx_init_screen1::@1: scope:[gfx_init_screen1] from gfx_init_screen1 gfx_init_screen1::@3 - [836] (byte*) gfx_init_screen1::ch#3 ← phi( gfx_init_screen1/(const byte*) VIC_SCREEN1#0 gfx_init_screen1::@3/(byte*) gfx_init_screen1::ch#1 ) - [836] (byte) gfx_init_screen1::cy#4 ← phi( gfx_init_screen1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen1::@3/(byte) gfx_init_screen1::cy#1 ) + [831] (byte*) gfx_init_screen1::ch#3 ← phi( gfx_init_screen1/(const byte*) VIC_SCREEN1#0 gfx_init_screen1::@3/(byte*) gfx_init_screen1::ch#1 ) + [831] (byte) gfx_init_screen1::cy#4 ← phi( gfx_init_screen1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen1::@3/(byte) gfx_init_screen1::cy#1 ) to:gfx_init_screen1::@2 gfx_init_screen1::@2: scope:[gfx_init_screen1] from gfx_init_screen1::@1 gfx_init_screen1::@2 - [837] (byte*) gfx_init_screen1::ch#2 ← phi( gfx_init_screen1::@1/(byte*) gfx_init_screen1::ch#3 gfx_init_screen1::@2/(byte*) gfx_init_screen1::ch#1 ) - [837] (byte) gfx_init_screen1::cx#2 ← phi( gfx_init_screen1::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen1::@2/(byte) gfx_init_screen1::cx#1 ) - [838] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 - [839] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f - [840] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 - [841] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 - [842] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 - [843] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 + [832] (byte*) gfx_init_screen1::ch#2 ← phi( gfx_init_screen1::@1/(byte*) gfx_init_screen1::ch#3 gfx_init_screen1::@2/(byte*) gfx_init_screen1::ch#1 ) + [832] (byte) gfx_init_screen1::cx#2 ← phi( gfx_init_screen1::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen1::@2/(byte) gfx_init_screen1::cx#1 ) + [833] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 + [834] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f + [835] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 + [836] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 + [837] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 + [838] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 to:gfx_init_screen1::@3 gfx_init_screen1::@3: scope:[gfx_init_screen1] from gfx_init_screen1::@2 - [844] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 - [845] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 + [839] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 + [840] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 to:gfx_init_screen1::@return gfx_init_screen1::@return: scope:[gfx_init_screen1] from gfx_init_screen1::@3 - [846] return + [841] return to:@return gfx_init_screen0: scope:[gfx_init_screen0] from gfx_init - [847] phi() + [842] phi() to:gfx_init_screen0::@1 gfx_init_screen0::@1: scope:[gfx_init_screen0] from gfx_init_screen0 gfx_init_screen0::@3 - [848] (byte*) gfx_init_screen0::ch#3 ← phi( gfx_init_screen0/(const byte*) VIC_SCREEN0#0 gfx_init_screen0::@3/(byte*) gfx_init_screen0::ch#1 ) - [848] (byte) gfx_init_screen0::cy#4 ← phi( gfx_init_screen0/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen0::@3/(byte) gfx_init_screen0::cy#1 ) + [843] (byte*) gfx_init_screen0::ch#3 ← phi( gfx_init_screen0/(const byte*) VIC_SCREEN0#0 gfx_init_screen0::@3/(byte*) gfx_init_screen0::ch#1 ) + [843] (byte) gfx_init_screen0::cy#4 ← phi( gfx_init_screen0/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen0::@3/(byte) gfx_init_screen0::cy#1 ) to:gfx_init_screen0::@2 gfx_init_screen0::@2: scope:[gfx_init_screen0] from gfx_init_screen0::@1 gfx_init_screen0::@2 - [849] (byte*) gfx_init_screen0::ch#2 ← phi( gfx_init_screen0::@1/(byte*) gfx_init_screen0::ch#3 gfx_init_screen0::@2/(byte*) gfx_init_screen0::ch#1 ) - [849] (byte) gfx_init_screen0::cx#2 ← phi( gfx_init_screen0::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen0::@2/(byte) gfx_init_screen0::cx#1 ) - [850] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f - [851] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 - [852] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f - [853] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 - [854] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 - [855] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 - [856] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 - [857] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 + [844] (byte*) gfx_init_screen0::ch#2 ← phi( gfx_init_screen0::@1/(byte*) gfx_init_screen0::ch#3 gfx_init_screen0::@2/(byte*) gfx_init_screen0::ch#1 ) + [844] (byte) gfx_init_screen0::cx#2 ← phi( gfx_init_screen0::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen0::@2/(byte) gfx_init_screen0::cx#1 ) + [845] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f + [846] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 + [847] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f + [848] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 + [849] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 + [850] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 + [851] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 + [852] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 to:gfx_init_screen0::@3 gfx_init_screen0::@3: scope:[gfx_init_screen0] from gfx_init_screen0::@2 - [858] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 - [859] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 + [853] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 + [854] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 to:gfx_init_screen0::@return gfx_init_screen0::@return: scope:[gfx_init_screen0] from gfx_init_screen0::@3 - [860] return + [855] return to:@return keyboard_init: scope:[keyboard_init] from main - [861] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff - [862] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [856] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff + [857] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:keyboard_init::@return keyboard_init::@return: scope:[keyboard_init] from keyboard_init - [863] return + [858] return to:@return diff --git a/src/test/ref/c64dtv-gfxexplorer.log b/src/test/ref/c64dtv-gfxexplorer.log index e77000b59..4687aba6b 100644 --- a/src/test/ref/c64dtv-gfxexplorer.log +++ b/src/test/ref/c64dtv-gfxexplorer.log @@ -8047,8 +8047,93 @@ Fixing inline constructor with form_field_ptr::$2 ← *(form_line_hi#0 + form_fi Successful SSA optimization Pass2FixInlineConstructors Inferred type updated to byte in [572] (byte/signed word/word/dword/signed dword~) gfx_init_vic_bitmap::$2 ← (byte) gfx_init_vic_bitmap::l#2 Inferred type updated to byte in [573] (byte/signed word/word/dword/signed dword~) gfx_init_vic_bitmap::$3 ← (byte) gfx_init_vic_bitmap::l#2 +Eliminating unused variable - keeping the phi block (byte*) print_screen#14 +Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#10 +Eliminating unused variable - keeping the phi block (byte*) print_char_cursor#11 +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#42 +Eliminating unused variable (byte) gfx_init_plane_fill::gfxbCpuBank#1 and assignment [676] (byte) gfx_init_plane_fill::gfxbCpuBank#1 ← ++ (byte) gfx_init_plane_fill::gfxbCpuBank#0 +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#45 +Eliminating unused constant (const byte) bitmap_line::xd#0 +Eliminating unused constant (const byte) bitmap_line::yd#0 +Eliminating unused constant (const byte*) apply_preset::preset#0 +Eliminating unused constant (const byte*) render_preset_name::name#0 +Eliminating unused constant (const byte) gfx_init_plane_horisontal::gfxbCpuBank#1 +Eliminating unused constant (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#1 +Eliminating unused constant (const byte) gfx_init_plane_vertical::gfxbCpuBank#1 +Eliminating unused constant (const byte) gfx_init_plane_charset8::gfxbCpuBank#1 +Eliminating unused constant (const string) $70 +Eliminating unused constant (const string) $72 +Eliminating unused constant (const string) $73 +Eliminating unused constant (const string) $74 +Eliminating unused constant (const string) $75 +Eliminating unused constant (const string) $76 +Eliminating unused constant (const string) $77 +Eliminating unused constant (const string) $78 +Eliminating unused constant (const string) $79 +Eliminating unused constant (const string) $80 +Eliminating unused constant (const string) $81 +Eliminating unused constant (const string) $82 +Eliminating unused constant (const string) $83 +Eliminating unused constant (const string) $84 +Eliminating unused constant (const string) $87 +Eliminating unused constant (const string) $88 +Eliminating unused constant (const string) $89 +Eliminating unused constant (const string) $91 +Eliminating unused constant (const string) $92 +Eliminating unused constant (const string) $93 +Eliminating unused constant (const string) $94 +Eliminating unused constant (const string) $95 +Eliminating unused constant (const string) $97 +Eliminating unused constant (const string) $98 +Eliminating unused constant (const string) $99 +Eliminating unused constant (const string) $100 +Eliminating unused constant (const string) $101 +Eliminating unused constant (const string) $102 +Eliminating unused constant (const string) $1 +Eliminating unused constant (const string) $16 +Eliminating unused constant (const string) $2 +Eliminating unused constant (const string) $17 +Eliminating unused constant (const string) $3 +Eliminating unused constant (const string) $18 +Eliminating unused constant (const string) $4 +Eliminating unused constant (const string) $19 +Eliminating unused constant (const string) $5 +Eliminating unused constant (const string) $20 +Eliminating unused constant (const string) $6 +Eliminating unused constant (const string) $21 +Eliminating unused constant (const string) $7 +Eliminating unused constant (const string) $22 +Eliminating unused constant (const string) $8 +Eliminating unused constant (const string) $23 +Eliminating unused constant (const string) $9 +Eliminating unused constant (const string) $24 +Eliminating unused constant (const string) $10 +Eliminating unused constant (const string) $25 +Eliminating unused constant (const string) $11 +Eliminating unused constant (const string) $26 +Eliminating unused constant (const string) $12 +Eliminating unused constant (const string) $27 +Eliminating unused constant (const string) $13 +Eliminating unused constant (const string) $28 +Eliminating unused constant (const string) $14 +Eliminating unused constant (const string) $29 +Eliminating unused constant (const string) $30 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#24 +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#109 +Eliminating unused variable - keeping the phi block (byte*) print_screen#23 +Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#42 +Eliminating unused variable - keeping the phi block (byte*) print_char_cursor#44 +Eliminating unused constant (const string) $71 +Eliminating unused constant (const string) $85 +Eliminating unused constant (const string) $86 +Eliminating unused constant (const string) $90 +Eliminating unused constant (const string) $96 +Eliminating unused constant (const byte*) print_screen#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#11 +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#13 +Eliminating unused constant (const byte) keyboard_modifiers#0 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (byte*) bitmap_clear::bitmap#0 ← ((byte*)) (word~) bitmap_clear::$3 Eliminating Noop Cast (byte*) bitmap_plot::plotter#0 ← ((byte*)) (word~) bitmap_plot::$0 @@ -8152,6 +8237,15 @@ Rewriting division to use shift (byte/signed word/word/dword/signed dword~) gfx_ Rewriting multiplication to use shift (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 * (byte/signed byte/word/signed word/dword/signed dword) 2 Rewriting multiplication to use shift (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 * (byte/signed byte/word/signed word/dword/signed dword) 4 Successful SSA optimization Pass2MultiplyToShiftRewriting +Converting *(pointer+n) to pointer[n] *((byte*) form_render_values::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) -- *((byte*)form_field_ptr::$2 + form_field_ptr::x#0) +Converting *(pointer+n) to pointer[n] (byte/word/dword~) form_control::$14 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) $80 -- *((byte*)form_field_ptr::$2 + form_field_ptr::x#0) +Converting *(pointer+n) to pointer[n] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$14 -- *((byte*)form_field_ptr::$2 + form_field_ptr::x#0) +Converting *(pointer+n) to pointer[n] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- *((byte*)form_field_ptr::$2 + form_field_ptr::x#0) +Converting *(pointer+n) to pointer[n] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- *((byte*)form_field_ptr::$2 + form_field_ptr::x#0) +Converting *(pointer+n) to pointer[n] (byte~) form_control::$15 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- *((byte*)form_field_ptr::$2 + form_field_ptr::x#0) +Converting *(pointer+n) to pointer[n] *((byte*) form_control::field#0) ← (byte~) form_control::$15 -- *((byte*)form_field_ptr::$2 + form_field_ptr::x#0) +Converting *(pointer+n) to pointer[n] *((byte*) form_control::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- *((byte*)form_field_ptr::$2 + form_field_ptr::x#0) +Successful SSA optimization Pass2InlineDerefIdx Culled Empty Block (label) @4 Culled Empty Block (label) @5 Culled Empty Block (label) print_str_lines::@2 @@ -8284,6 +8378,14 @@ Inferred type updated to byte in [531] (byte/word/dword~) gfx_init_screen2::$4 Inferred type updated to byte in [542] (byte/signed word/word/dword/signed dword~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 Inferred type updated to byte in [544] (byte/word/dword~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 Inferred type updated to byte in [609] (byte/signed word/word/dword/signed dword~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 +Eliminating unused variable (byte*) form_render_values::field#0 and assignment [740] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 +Eliminating unused variable (byte*) form_control::field#0 and assignment [748] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 +Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable (byte*) form_field_ptr::return#2 and assignment [739] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 +Eliminating unused variable (byte*) form_field_ptr::return#3 and assignment [746] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 +Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable (byte*) form_field_ptr::return#0 and assignment [734] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 +Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) gfx_mode::@31 Successful SSA optimization Pass2CullEmptyBlocks Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 @@ -8866,24 +8968,24 @@ Calls in [keyboard_event_scan] to keyboard_matrix_read:196 keyboard_event_presse Calls in [form_mode] to print_set_screen:311 print_cls:313 print_str_lines:315 print_set_screen:317 print_cls:319 print_str_lines:321 form_set_screen:323 form_render_values:325 render_preset_name:328 form_control:355 apply_preset:362 form_render_values:364 render_preset_name:367 Calls in [render_preset_name] to print_str_at:391 Calls in [form_render_values] to form_field_ptr:406 -Calls in [form_control] to form_field_ptr:441 keyboard_event_scan:452 keyboard_event_get:454 -Calls in [print_str_lines] to print_ln:525 -Calls in [gfx_init] to gfx_init_screen0:551 gfx_init_screen1:553 gfx_init_screen2:555 gfx_init_screen3:557 gfx_init_screen4:559 gfx_init_charset:561 gfx_init_vic_bitmap:563 gfx_init_plane_8bppchunky:565 gfx_init_plane_charset8:567 gfx_init_plane_horisontal:569 gfx_init_plane_vertical:571 gfx_init_plane_horisontal2:573 gfx_init_plane_vertical2:575 gfx_init_plane_blank:577 gfx_init_plane_full:579 -Calls in [gfx_init_plane_full] to gfx_init_plane_fill:582 -Calls in [gfx_init_plane_fill] to dtvSetCpuBankSegment1:590 dtvSetCpuBankSegment1:605 -Calls in [gfx_init_plane_blank] to gfx_init_plane_fill:616 -Calls in [gfx_init_plane_vertical2] to gfx_init_plane_fill:619 -Calls in [gfx_init_plane_horisontal2] to dtvSetCpuBankSegment1:622 dtvSetCpuBankSegment1:635 -Calls in [gfx_init_plane_vertical] to dtvSetCpuBankSegment1:642 dtvSetCpuBankSegment1:653 -Calls in [gfx_init_plane_horisontal] to dtvSetCpuBankSegment1:660 dtvSetCpuBankSegment1:675 -Calls in [gfx_init_plane_charset8] to dtvSetCpuBankSegment1:685 dtvSetCpuBankSegment1:713 -Calls in [gfx_init_plane_8bppchunky] to dtvSetCpuBankSegment1:728 dtvSetCpuBankSegment1:736 dtvSetCpuBankSegment1:749 -Calls in [gfx_init_vic_bitmap] to bitmap_init:760 bitmap_clear:762 bitmap_line:768 -Calls in [bitmap_line] to bitmap_line_ydxi:788 bitmap_line_xdyi:800 bitmap_line_ydxd:813 bitmap_line_xdyd:824 bitmap_line_ydxd:839 bitmap_line_xdyd:850 bitmap_line_ydxi:863 bitmap_line_xdyi:874 -Calls in [bitmap_line_xdyi] to bitmap_plot:885 -Calls in [bitmap_line_ydxi] to bitmap_plot:919 -Calls in [bitmap_line_xdyd] to bitmap_plot:946 -Calls in [bitmap_line_ydxd] to bitmap_plot:973 +Calls in [form_control] to form_field_ptr:438 keyboard_event_scan:447 keyboard_event_get:449 +Calls in [print_str_lines] to print_ln:520 +Calls in [gfx_init] to gfx_init_screen0:546 gfx_init_screen1:548 gfx_init_screen2:550 gfx_init_screen3:552 gfx_init_screen4:554 gfx_init_charset:556 gfx_init_vic_bitmap:558 gfx_init_plane_8bppchunky:560 gfx_init_plane_charset8:562 gfx_init_plane_horisontal:564 gfx_init_plane_vertical:566 gfx_init_plane_horisontal2:568 gfx_init_plane_vertical2:570 gfx_init_plane_blank:572 gfx_init_plane_full:574 +Calls in [gfx_init_plane_full] to gfx_init_plane_fill:577 +Calls in [gfx_init_plane_fill] to dtvSetCpuBankSegment1:585 dtvSetCpuBankSegment1:600 +Calls in [gfx_init_plane_blank] to gfx_init_plane_fill:611 +Calls in [gfx_init_plane_vertical2] to gfx_init_plane_fill:614 +Calls in [gfx_init_plane_horisontal2] to dtvSetCpuBankSegment1:617 dtvSetCpuBankSegment1:630 +Calls in [gfx_init_plane_vertical] to dtvSetCpuBankSegment1:637 dtvSetCpuBankSegment1:648 +Calls in [gfx_init_plane_horisontal] to dtvSetCpuBankSegment1:655 dtvSetCpuBankSegment1:670 +Calls in [gfx_init_plane_charset8] to dtvSetCpuBankSegment1:680 dtvSetCpuBankSegment1:708 +Calls in [gfx_init_plane_8bppchunky] to dtvSetCpuBankSegment1:723 dtvSetCpuBankSegment1:731 dtvSetCpuBankSegment1:744 +Calls in [gfx_init_vic_bitmap] to bitmap_init:755 bitmap_clear:757 bitmap_line:763 +Calls in [bitmap_line] to bitmap_line_ydxi:783 bitmap_line_xdyi:795 bitmap_line_ydxd:808 bitmap_line_xdyd:819 bitmap_line_ydxd:834 bitmap_line_xdyd:845 bitmap_line_ydxi:858 bitmap_line_xdyi:869 +Calls in [bitmap_line_xdyi] to bitmap_plot:880 +Calls in [bitmap_line_ydxi] to bitmap_plot:914 +Calls in [bitmap_line_xdyd] to bitmap_plot:941 +Calls in [bitmap_line_ydxd] to bitmap_plot:968 Created 192 initial phi equivalence classes Coalesced [16] form_cursor_count#66 ← form_cursor_count#16 @@ -8961,227 +9063,227 @@ Coalesced [393] print_str_at::str#5 ← print_str_at::str#1 Coalesced [400] print_str_at::str#6 ← print_str_at::str#0 Coalesced [401] print_str_at::at#5 ← print_str_at::at#0 Coalesced [405] form_field_ptr::field_idx#4 ← form_field_ptr::field_idx#0 -Coalesced [413] form_render_values::idx#4 ← form_render_values::idx#1 -Coalesced [438] apply_preset::i#3 ← apply_preset::i#1 -Coalesced [440] form_field_ptr::field_idx#3 ← form_field_ptr::field_idx#1 -Coalesced (already) [451] keyboard_events_size#164 ← keyboard_events_size#47 -Coalesced [466] form_field_idx#81 ← form_field_idx#31 -Coalesced [469] form_field_idx#78 ← form_field_idx#44 -Coalesced [473] form_field_idx#79 ← form_field_idx#45 -Coalesced [481] form_cursor_count#72 ← form_cursor_count#15 -Coalesced (already) [482] form_field_idx#82 ← form_field_idx#28 -Coalesced (already) [487] form_cursor_count#71 ← form_cursor_count#15 -Coalesced (already) [488] form_field_idx#80 ← form_field_idx#28 -Coalesced (already) [489] form_cursor_count#73 ← form_cursor_count#15 -Coalesced (already) [490] form_field_idx#83 ← form_field_idx#28 -Coalesced [493] form_cursor_count#70 ← form_cursor_count#5 -Coalesced [504] form_set_screen::line#3 ← form_set_screen::line#1 -Coalesced [505] form_set_screen::y#3 ← form_set_screen::y#1 -Coalesced [507] print_str_lines::str#11 ← print_str_lines::str#5 -Not coalescing [508] print_char_cursor#77 ← print_screen#1 -Coalesced [509] print_line_cursor#77 ← print_screen#1 -Coalesced [513] print_str_lines::str#13 ← print_str_lines::str#3 -Coalesced [514] print_char_cursor#79 ← print_char_cursor#22 -Coalesced [521] print_char_cursor#82 ← print_char_cursor#1 -Coalesced [526] print_str_lines::str#12 ← print_str_lines::str#0 -Not coalescing [527] print_char_cursor#78 ← print_line_cursor#22 -Coalesced [528] print_line_cursor#78 ← print_line_cursor#22 -Coalesced (already) [529] print_str_lines::str#14 ← print_str_lines::str#0 -Coalesced [530] print_char_cursor#80 ← print_char_cursor#38 -Coalesced (already) [531] print_char_cursor#81 ← print_char_cursor#20 -Coalesced [532] print_line_cursor#79 ← print_line_cursor#2 -Coalesced (already) [537] print_line_cursor#80 ← print_line_cursor#22 -Coalesced [539] print_cls::sc#3 ← print_cls::sc#0 -Coalesced [546] print_cls::sc#4 ← print_cls::sc#1 -Coalesced [548] print_screen#1 ← print_set_screen::screen#2 -Coalesced [589] dtvSetCpuBankSegment1::cpuBankIdx#15 ← dtvSetCpuBankSegment1::cpuBankIdx#11 -Coalesced [596] gfx_init_plane_fill::gfxb#7 ← gfx_init_plane_fill::gfxb#3 -Coalesced [607] gfx_init_plane_fill::gfxb#5 ← gfx_init_plane_fill::gfxb#1 -Coalesced [608] gfx_init_plane_fill::by#5 ← gfx_init_plane_fill::by#1 -Coalesced (already) [609] gfx_init_plane_fill::gfxb#8 ← gfx_init_plane_fill::gfxb#1 -Coalesced [610] gfx_init_plane_fill::bx#3 ← gfx_init_plane_fill::bx#1 -Coalesced [624] gfx_init_plane_horisontal2::gfxa#6 ← gfx_init_plane_horisontal2::gfxa#3 -Coalesced [637] gfx_init_plane_horisontal2::ay#5 ← gfx_init_plane_horisontal2::ay#1 -Coalesced [638] gfx_init_plane_horisontal2::gfxa#5 ← gfx_init_plane_horisontal2::gfxa#1 -Coalesced (already) [639] gfx_init_plane_horisontal2::gfxa#7 ← gfx_init_plane_horisontal2::gfxa#1 -Coalesced [640] gfx_init_plane_horisontal2::ax#3 ← gfx_init_plane_horisontal2::ax#1 -Coalesced [644] gfx_init_plane_vertical::gfxb#6 ← gfx_init_plane_vertical::gfxb#3 -Coalesced [655] gfx_init_plane_vertical::gfxb#5 ← gfx_init_plane_vertical::gfxb#1 -Coalesced [656] gfx_init_plane_vertical::by#5 ← gfx_init_plane_vertical::by#1 -Coalesced (already) [657] gfx_init_plane_vertical::gfxb#7 ← gfx_init_plane_vertical::gfxb#1 -Coalesced [658] gfx_init_plane_vertical::bx#3 ← gfx_init_plane_vertical::bx#1 -Coalesced [662] gfx_init_plane_horisontal::gfxa#10 ← gfx_init_plane_horisontal::gfxa#6 -Coalesced [668] gfx_init_plane_horisontal::gfxa#13 ← gfx_init_plane_horisontal::gfxa#2 -Coalesced [677] gfx_init_plane_horisontal::ay#8 ← gfx_init_plane_horisontal::ay#1 -Coalesced [678] gfx_init_plane_horisontal::gfxa#9 ← gfx_init_plane_horisontal::gfxa#7 -Coalesced (already) [679] gfx_init_plane_horisontal::gfxa#11 ← gfx_init_plane_horisontal::gfxa#7 -Coalesced [680] gfx_init_plane_horisontal::ax#6 ← gfx_init_plane_horisontal::ax#1 -Coalesced [683] gfx_init_plane_horisontal::gfxa#12 ← gfx_init_plane_horisontal::gfxa#1 -Coalesced [688] gfx_init_plane_charset8::chargen#10 ← gfx_init_plane_charset8::chargen#3 -Coalesced [689] gfx_init_plane_charset8::gfxa#10 ← gfx_init_plane_charset8::gfxa#6 -Coalesced [690] gfx_init_plane_charset8::col#10 ← gfx_init_plane_charset8::col#6 -Coalesced [694] gfx_init_plane_charset8::bits#5 ← gfx_init_plane_charset8::bits#0 -Coalesced [695] gfx_init_plane_charset8::gfxa#12 ← gfx_init_plane_charset8::gfxa#5 -Coalesced [696] gfx_init_plane_charset8::col#12 ← gfx_init_plane_charset8::col#5 -Not coalescing [700] gfx_init_plane_charset8::c#3 ← gfx_init_plane_charset8::col#2 -Coalesced [715] gfx_init_plane_charset8::chargen#9 ← gfx_init_plane_charset8::chargen#1 -Coalesced [716] gfx_init_plane_charset8::gfxa#9 ← gfx_init_plane_charset8::gfxa#1 -Coalesced [717] gfx_init_plane_charset8::col#9 ← gfx_init_plane_charset8::col#1 -Coalesced [718] gfx_init_plane_charset8::ch#9 ← gfx_init_plane_charset8::ch#1 -Coalesced (already) [719] gfx_init_plane_charset8::chargen#11 ← gfx_init_plane_charset8::chargen#1 -Coalesced (already) [720] gfx_init_plane_charset8::gfxa#11 ← gfx_init_plane_charset8::gfxa#1 -Coalesced (already) [721] gfx_init_plane_charset8::col#11 ← gfx_init_plane_charset8::col#1 -Coalesced [722] gfx_init_plane_charset8::cr#7 ← gfx_init_plane_charset8::cr#1 -Coalesced [723] gfx_init_plane_charset8::bits#6 ← gfx_init_plane_charset8::bits#1 -Coalesced (already) [724] gfx_init_plane_charset8::gfxa#13 ← gfx_init_plane_charset8::gfxa#1 -Coalesced (already) [725] gfx_init_plane_charset8::col#13 ← gfx_init_plane_charset8::col#1 -Coalesced [726] gfx_init_plane_charset8::cp#5 ← gfx_init_plane_charset8::cp#1 -Coalesced [730] gfx_init_plane_8bppchunky::gfxb#8 ← gfx_init_plane_8bppchunky::gfxb#5 -Coalesced [731] gfx_init_plane_8bppchunky::gfxbCpuBank#11 ← gfx_init_plane_8bppchunky::gfxbCpuBank#7 -Coalesced [735] dtvSetCpuBankSegment1::cpuBankIdx#14 ← dtvSetCpuBankSegment1::cpuBankIdx#1 -Coalesced [738] gfx_init_plane_8bppchunky::gfxbCpuBank#14 ← gfx_init_plane_8bppchunky::gfxbCpuBank#2 -Coalesced [751] gfx_init_plane_8bppchunky::gfxb#7 ← gfx_init_plane_8bppchunky::gfxb#1 -Coalesced [752] gfx_init_plane_8bppchunky::y#8 ← gfx_init_plane_8bppchunky::y#1 -Coalesced [753] gfx_init_plane_8bppchunky::gfxbCpuBank#10 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 -Coalesced (already) [754] gfx_init_plane_8bppchunky::gfxb#9 ← gfx_init_plane_8bppchunky::gfxb#1 -Coalesced [755] gfx_init_plane_8bppchunky::x#6 ← gfx_init_plane_8bppchunky::x#1 -Coalesced (already) [756] gfx_init_plane_8bppchunky::gfxbCpuBank#12 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 -Coalesced [757] gfx_init_plane_8bppchunky::gfxb#10 ← gfx_init_plane_8bppchunky::gfxb#3 -Coalesced (already) [758] gfx_init_plane_8bppchunky::gfxbCpuBank#13 ← gfx_init_plane_8bppchunky::gfxbCpuBank#4 -Coalesced [772] gfx_init_vic_bitmap::l#4 ← gfx_init_vic_bitmap::l#1 -Coalesced [783] bitmap_line_ydxi::xd#8 ← bitmap_line_ydxi::xd#0 -Coalesced [784] bitmap_line_ydxi::x#9 ← bitmap_line_ydxi::x#0 -Coalesced [785] bitmap_line_ydxi::y#9 ← bitmap_line_ydxi::y#0 -Coalesced [786] bitmap_line_ydxi::yd#8 ← bitmap_line_ydxi::yd#0 -Coalesced [787] bitmap_line_ydxi::y1#8 ← bitmap_line_ydxi::y1#0 -Coalesced [795] bitmap_line_xdyi::yd#7 ← bitmap_line_xdyi::yd#0 -Coalesced [796] bitmap_line_xdyi::x#8 ← bitmap_line_xdyi::x#0 -Coalesced [797] bitmap_line_xdyi::y#8 ← bitmap_line_xdyi::y#0 -Coalesced [798] bitmap_line_xdyi::xd#7 ← bitmap_line_xdyi::xd#0 -Coalesced [799] bitmap_line_xdyi::x1#7 ← bitmap_line_xdyi::x1#0 -Coalesced [808] bitmap_line_ydxd::xd#7 ← bitmap_line_ydxd::xd#0 -Coalesced [809] bitmap_line_ydxd::x#8 ← bitmap_line_ydxd::x#0 -Coalesced [810] bitmap_line_ydxd::y#9 ← bitmap_line_ydxd::y#0 -Coalesced [811] bitmap_line_ydxd::yd#7 ← bitmap_line_ydxd::yd#0 -Coalesced [812] bitmap_line_ydxd::y1#7 ← bitmap_line_ydxd::y1#0 -Coalesced [819] bitmap_line_xdyd::yd#7 ← bitmap_line_xdyd::yd#0 -Coalesced [820] bitmap_line_xdyd::x#8 ← bitmap_line_xdyd::x#0 -Coalesced [821] bitmap_line_xdyd::y#8 ← bitmap_line_xdyd::y#0 -Coalesced [822] bitmap_line_xdyd::xd#7 ← bitmap_line_xdyd::xd#0 -Coalesced [823] bitmap_line_xdyd::x1#7 ← bitmap_line_xdyd::x1#0 -Coalesced [834] bitmap_line_ydxd::xd#8 ← bitmap_line_ydxd::xd#1 -Coalesced [835] bitmap_line_ydxd::x#9 ← bitmap_line_ydxd::x#1 -Coalesced [836] bitmap_line_ydxd::y#10 ← bitmap_line_ydxd::y#1 -Coalesced [837] bitmap_line_ydxd::yd#8 ← bitmap_line_ydxd::yd#1 -Coalesced [838] bitmap_line_ydxd::y1#8 ← bitmap_line_ydxd::y1#1 -Coalesced [845] bitmap_line_xdyd::yd#8 ← bitmap_line_xdyd::yd#1 -Coalesced [846] bitmap_line_xdyd::x#9 ← bitmap_line_xdyd::x#1 -Coalesced [847] bitmap_line_xdyd::y#9 ← bitmap_line_xdyd::y#1 -Coalesced [848] bitmap_line_xdyd::xd#8 ← bitmap_line_xdyd::xd#1 -Coalesced [849] bitmap_line_xdyd::x1#8 ← bitmap_line_xdyd::x1#1 -Coalesced [858] bitmap_line_ydxi::xd#7 ← bitmap_line_ydxi::xd#1 -Coalesced [859] bitmap_line_ydxi::x#8 ← bitmap_line_ydxi::x#1 -Coalesced [860] bitmap_line_ydxi::y#8 ← bitmap_line_ydxi::y#1 -Coalesced [861] bitmap_line_ydxi::yd#7 ← bitmap_line_ydxi::yd#1 -Coalesced [862] bitmap_line_ydxi::y1#7 ← bitmap_line_ydxi::y1#1 -Coalesced [869] bitmap_line_xdyi::yd#8 ← bitmap_line_xdyi::yd#1 -Coalesced [870] bitmap_line_xdyi::x#9 ← bitmap_line_xdyi::x#1 -Coalesced [871] bitmap_line_xdyi::y#9 ← bitmap_line_xdyi::y#1 -Coalesced [872] bitmap_line_xdyi::xd#8 ← bitmap_line_xdyi::xd#1 -Coalesced [873] bitmap_line_xdyi::x1#8 ← bitmap_line_xdyi::x1#1 -Coalesced [877] bitmap_line_xdyi::x#10 ← bitmap_line_xdyi::x#6 -Coalesced [878] bitmap_line_xdyi::y#10 ← bitmap_line_xdyi::y#5 -Coalesced [879] bitmap_line_xdyi::e#7 ← bitmap_line_xdyi::e#0 -Coalesced [883] bitmap_plot::x#6 ← bitmap_plot::x#0 -Coalesced [884] bitmap_plot::y#6 ← bitmap_plot::y#0 -Coalesced [891] bitmap_line_xdyi::y#12 ← bitmap_line_xdyi::y#2 -Coalesced [892] bitmap_line_xdyi::e#9 ← bitmap_line_xdyi::e#2 -Coalesced [897] bitmap_line_xdyi::x#11 ← bitmap_line_xdyi::x#2 -Coalesced [898] bitmap_line_xdyi::y#11 ← bitmap_line_xdyi::y#6 -Coalesced [899] bitmap_line_xdyi::e#8 ← bitmap_line_xdyi::e#6 -Coalesced (already) [900] bitmap_line_xdyi::y#13 ← bitmap_line_xdyi::y#3 -Coalesced [901] bitmap_line_xdyi::e#10 ← bitmap_line_xdyi::e#1 -Coalesced [911] bitmap_line_ydxi::x#10 ← bitmap_line_ydxi::x#5 -Coalesced [912] bitmap_line_ydxi::y#10 ← bitmap_line_ydxi::y#6 -Coalesced [913] bitmap_line_ydxi::e#7 ← bitmap_line_ydxi::e#0 -Coalesced [917] bitmap_plot::x#8 ← bitmap_plot::x#2 -Coalesced [918] bitmap_plot::y#8 ← bitmap_plot::y#2 -Coalesced [925] bitmap_line_ydxi::x#12 ← bitmap_line_ydxi::x#2 -Coalesced [926] bitmap_line_ydxi::e#9 ← bitmap_line_ydxi::e#2 -Coalesced [931] bitmap_line_ydxi::x#11 ← bitmap_line_ydxi::x#6 -Coalesced [932] bitmap_line_ydxi::y#11 ← bitmap_line_ydxi::y#2 -Coalesced [933] bitmap_line_ydxi::e#8 ← bitmap_line_ydxi::e#6 -Coalesced (already) [934] bitmap_line_ydxi::x#13 ← bitmap_line_ydxi::x#3 -Coalesced [935] bitmap_line_ydxi::e#10 ← bitmap_line_ydxi::e#1 -Coalesced [938] bitmap_line_xdyd::x#10 ← bitmap_line_xdyd::x#6 -Coalesced [939] bitmap_line_xdyd::y#10 ← bitmap_line_xdyd::y#5 -Coalesced [940] bitmap_line_xdyd::e#7 ← bitmap_line_xdyd::e#0 -Coalesced [944] bitmap_plot::x#5 ← bitmap_plot::x#1 -Coalesced [945] bitmap_plot::y#5 ← bitmap_plot::y#1 -Coalesced [952] bitmap_line_xdyd::y#12 ← bitmap_line_xdyd::y#2 -Coalesced [953] bitmap_line_xdyd::e#9 ← bitmap_line_xdyd::e#2 -Coalesced [958] bitmap_line_xdyd::x#11 ← bitmap_line_xdyd::x#2 -Coalesced [959] bitmap_line_xdyd::y#11 ← bitmap_line_xdyd::y#6 -Coalesced [960] bitmap_line_xdyd::e#8 ← bitmap_line_xdyd::e#6 -Coalesced (already) [961] bitmap_line_xdyd::y#13 ← bitmap_line_xdyd::y#3 -Coalesced [962] bitmap_line_xdyd::e#10 ← bitmap_line_xdyd::e#1 -Coalesced [965] bitmap_line_ydxd::x#10 ← bitmap_line_ydxd::x#5 -Coalesced [966] bitmap_line_ydxd::y#11 ← bitmap_line_ydxd::y#7 -Coalesced [967] bitmap_line_ydxd::e#7 ← bitmap_line_ydxd::e#0 -Coalesced [971] bitmap_plot::x#7 ← bitmap_plot::x#3 -Coalesced [972] bitmap_plot::y#7 ← bitmap_plot::y#3 -Coalesced [979] bitmap_line_ydxd::x#12 ← bitmap_line_ydxd::x#2 -Coalesced [980] bitmap_line_ydxd::e#9 ← bitmap_line_ydxd::e#2 -Coalesced [985] bitmap_line_ydxd::x#11 ← bitmap_line_ydxd::x#6 -Coalesced [986] bitmap_line_ydxd::y#12 ← bitmap_line_ydxd::y#3 -Coalesced [987] bitmap_line_ydxd::e#8 ← bitmap_line_ydxd::e#6 -Coalesced (already) [988] bitmap_line_ydxd::x#13 ← bitmap_line_ydxd::x#3 -Coalesced [989] bitmap_line_ydxd::e#10 ← bitmap_line_ydxd::e#1 -Coalesced [993] bitmap_clear::bitmap#7 ← bitmap_clear::bitmap#3 -Coalesced [1002] bitmap_clear::bitmap#6 ← bitmap_clear::bitmap#1 -Coalesced [1003] bitmap_clear::y#5 ← bitmap_clear::y#1 -Coalesced (already) [1004] bitmap_clear::bitmap#8 ← bitmap_clear::bitmap#1 -Coalesced [1005] bitmap_clear::x#3 ← bitmap_clear::x#1 -Coalesced [1028] bitmap_init::yoffs#7 ← bitmap_init::yoffs#1 -Coalesced [1033] bitmap_init::y#5 ← bitmap_init::y#1 -Coalesced [1034] bitmap_init::yoffs#5 ← bitmap_init::yoffs#4 -Coalesced (already) [1035] bitmap_init::yoffs#6 ← bitmap_init::yoffs#2 -Coalesced [1036] bitmap_init::x#5 ← bitmap_init::x#1 -Coalesced [1037] bitmap_init::bits#5 ← bitmap_init::bits#4 -Coalesced [1038] bitmap_init::bits#6 ← bitmap_init::bits#1 -Coalesced [1041] gfx_init_charset::chargen#6 ← gfx_init_charset::chargen#3 -Coalesced [1042] gfx_init_charset::charset#6 ← gfx_init_charset::charset#3 -Coalesced [1053] gfx_init_charset::chargen#5 ← gfx_init_charset::chargen#1 -Coalesced [1054] gfx_init_charset::charset#5 ← gfx_init_charset::charset#1 -Coalesced [1055] gfx_init_charset::c#5 ← gfx_init_charset::c#1 -Coalesced (already) [1056] gfx_init_charset::chargen#7 ← gfx_init_charset::chargen#1 -Coalesced (already) [1057] gfx_init_charset::charset#7 ← gfx_init_charset::charset#1 -Coalesced [1058] gfx_init_charset::l#3 ← gfx_init_charset::l#1 -Coalesced [1061] gfx_init_screen4::ch#6 ← gfx_init_screen4::ch#3 -Coalesced [1070] gfx_init_screen4::ch#5 ← gfx_init_screen4::ch#1 -Coalesced [1071] gfx_init_screen4::cy#5 ← gfx_init_screen4::cy#1 -Coalesced (already) [1072] gfx_init_screen4::ch#7 ← gfx_init_screen4::ch#1 -Coalesced [1073] gfx_init_screen4::cx#3 ← gfx_init_screen4::cx#1 -Coalesced [1076] gfx_init_screen3::ch#6 ← gfx_init_screen3::ch#3 -Coalesced [1089] gfx_init_screen3::cy#5 ← gfx_init_screen3::cy#1 -Coalesced [1090] gfx_init_screen3::ch#5 ← gfx_init_screen3::ch#1 -Coalesced [1091] gfx_init_screen3::cx#3 ← gfx_init_screen3::cx#1 -Coalesced (already) [1092] gfx_init_screen3::ch#7 ← gfx_init_screen3::ch#1 -Coalesced [1095] gfx_init_screen2::ch#6 ← gfx_init_screen2::ch#3 -Coalesced [1109] gfx_init_screen2::cy#5 ← gfx_init_screen2::cy#1 -Coalesced [1110] gfx_init_screen2::ch#5 ← gfx_init_screen2::ch#1 -Coalesced [1111] gfx_init_screen2::cx#3 ← gfx_init_screen2::cx#1 -Coalesced (already) [1112] gfx_init_screen2::ch#7 ← gfx_init_screen2::ch#1 -Coalesced [1115] gfx_init_screen1::ch#6 ← gfx_init_screen1::ch#3 -Coalesced [1126] gfx_init_screen1::cy#5 ← gfx_init_screen1::cy#1 -Coalesced [1127] gfx_init_screen1::ch#5 ← gfx_init_screen1::ch#1 -Coalesced [1128] gfx_init_screen1::cx#3 ← gfx_init_screen1::cx#1 -Coalesced (already) [1129] gfx_init_screen1::ch#7 ← gfx_init_screen1::ch#1 -Coalesced [1132] gfx_init_screen0::ch#6 ← gfx_init_screen0::ch#3 -Coalesced [1145] gfx_init_screen0::cy#5 ← gfx_init_screen0::cy#1 -Coalesced [1146] gfx_init_screen0::ch#5 ← gfx_init_screen0::ch#1 -Coalesced [1147] gfx_init_screen0::cx#3 ← gfx_init_screen0::cx#1 -Coalesced (already) [1148] gfx_init_screen0::ch#7 ← gfx_init_screen0::ch#1 +Coalesced [411] form_render_values::idx#4 ← form_render_values::idx#1 +Coalesced [435] apply_preset::i#3 ← apply_preset::i#1 +Coalesced [437] form_field_ptr::field_idx#3 ← form_field_ptr::field_idx#1 +Coalesced (already) [446] keyboard_events_size#164 ← keyboard_events_size#47 +Coalesced [461] form_field_idx#81 ← form_field_idx#31 +Coalesced [464] form_field_idx#78 ← form_field_idx#44 +Coalesced [468] form_field_idx#79 ← form_field_idx#45 +Coalesced [476] form_cursor_count#72 ← form_cursor_count#15 +Coalesced (already) [477] form_field_idx#82 ← form_field_idx#28 +Coalesced (already) [482] form_cursor_count#71 ← form_cursor_count#15 +Coalesced (already) [483] form_field_idx#80 ← form_field_idx#28 +Coalesced (already) [484] form_cursor_count#73 ← form_cursor_count#15 +Coalesced (already) [485] form_field_idx#83 ← form_field_idx#28 +Coalesced [488] form_cursor_count#70 ← form_cursor_count#5 +Coalesced [499] form_set_screen::line#3 ← form_set_screen::line#1 +Coalesced [500] form_set_screen::y#3 ← form_set_screen::y#1 +Coalesced [502] print_str_lines::str#11 ← print_str_lines::str#5 +Not coalescing [503] print_char_cursor#77 ← print_screen#1 +Coalesced [504] print_line_cursor#77 ← print_screen#1 +Coalesced [508] print_str_lines::str#13 ← print_str_lines::str#3 +Coalesced [509] print_char_cursor#79 ← print_char_cursor#22 +Coalesced [516] print_char_cursor#82 ← print_char_cursor#1 +Coalesced [521] print_str_lines::str#12 ← print_str_lines::str#0 +Not coalescing [522] print_char_cursor#78 ← print_line_cursor#22 +Coalesced [523] print_line_cursor#78 ← print_line_cursor#22 +Coalesced (already) [524] print_str_lines::str#14 ← print_str_lines::str#0 +Coalesced [525] print_char_cursor#80 ← print_char_cursor#38 +Coalesced (already) [526] print_char_cursor#81 ← print_char_cursor#20 +Coalesced [527] print_line_cursor#79 ← print_line_cursor#2 +Coalesced (already) [532] print_line_cursor#80 ← print_line_cursor#22 +Coalesced [534] print_cls::sc#3 ← print_cls::sc#0 +Coalesced [541] print_cls::sc#4 ← print_cls::sc#1 +Coalesced [543] print_screen#1 ← print_set_screen::screen#2 +Coalesced [584] dtvSetCpuBankSegment1::cpuBankIdx#15 ← dtvSetCpuBankSegment1::cpuBankIdx#11 +Coalesced [591] gfx_init_plane_fill::gfxb#7 ← gfx_init_plane_fill::gfxb#3 +Coalesced [602] gfx_init_plane_fill::gfxb#5 ← gfx_init_plane_fill::gfxb#1 +Coalesced [603] gfx_init_plane_fill::by#5 ← gfx_init_plane_fill::by#1 +Coalesced (already) [604] gfx_init_plane_fill::gfxb#8 ← gfx_init_plane_fill::gfxb#1 +Coalesced [605] gfx_init_plane_fill::bx#3 ← gfx_init_plane_fill::bx#1 +Coalesced [619] gfx_init_plane_horisontal2::gfxa#6 ← gfx_init_plane_horisontal2::gfxa#3 +Coalesced [632] gfx_init_plane_horisontal2::ay#5 ← gfx_init_plane_horisontal2::ay#1 +Coalesced [633] gfx_init_plane_horisontal2::gfxa#5 ← gfx_init_plane_horisontal2::gfxa#1 +Coalesced (already) [634] gfx_init_plane_horisontal2::gfxa#7 ← gfx_init_plane_horisontal2::gfxa#1 +Coalesced [635] gfx_init_plane_horisontal2::ax#3 ← gfx_init_plane_horisontal2::ax#1 +Coalesced [639] gfx_init_plane_vertical::gfxb#6 ← gfx_init_plane_vertical::gfxb#3 +Coalesced [650] gfx_init_plane_vertical::gfxb#5 ← gfx_init_plane_vertical::gfxb#1 +Coalesced [651] gfx_init_plane_vertical::by#5 ← gfx_init_plane_vertical::by#1 +Coalesced (already) [652] gfx_init_plane_vertical::gfxb#7 ← gfx_init_plane_vertical::gfxb#1 +Coalesced [653] gfx_init_plane_vertical::bx#3 ← gfx_init_plane_vertical::bx#1 +Coalesced [657] gfx_init_plane_horisontal::gfxa#10 ← gfx_init_plane_horisontal::gfxa#6 +Coalesced [663] gfx_init_plane_horisontal::gfxa#13 ← gfx_init_plane_horisontal::gfxa#2 +Coalesced [672] gfx_init_plane_horisontal::ay#8 ← gfx_init_plane_horisontal::ay#1 +Coalesced [673] gfx_init_plane_horisontal::gfxa#9 ← gfx_init_plane_horisontal::gfxa#7 +Coalesced (already) [674] gfx_init_plane_horisontal::gfxa#11 ← gfx_init_plane_horisontal::gfxa#7 +Coalesced [675] gfx_init_plane_horisontal::ax#6 ← gfx_init_plane_horisontal::ax#1 +Coalesced [678] gfx_init_plane_horisontal::gfxa#12 ← gfx_init_plane_horisontal::gfxa#1 +Coalesced [683] gfx_init_plane_charset8::chargen#10 ← gfx_init_plane_charset8::chargen#3 +Coalesced [684] gfx_init_plane_charset8::gfxa#10 ← gfx_init_plane_charset8::gfxa#6 +Coalesced [685] gfx_init_plane_charset8::col#10 ← gfx_init_plane_charset8::col#6 +Coalesced [689] gfx_init_plane_charset8::bits#5 ← gfx_init_plane_charset8::bits#0 +Coalesced [690] gfx_init_plane_charset8::gfxa#12 ← gfx_init_plane_charset8::gfxa#5 +Coalesced [691] gfx_init_plane_charset8::col#12 ← gfx_init_plane_charset8::col#5 +Not coalescing [695] gfx_init_plane_charset8::c#3 ← gfx_init_plane_charset8::col#2 +Coalesced [710] gfx_init_plane_charset8::chargen#9 ← gfx_init_plane_charset8::chargen#1 +Coalesced [711] gfx_init_plane_charset8::gfxa#9 ← gfx_init_plane_charset8::gfxa#1 +Coalesced [712] gfx_init_plane_charset8::col#9 ← gfx_init_plane_charset8::col#1 +Coalesced [713] gfx_init_plane_charset8::ch#9 ← gfx_init_plane_charset8::ch#1 +Coalesced (already) [714] gfx_init_plane_charset8::chargen#11 ← gfx_init_plane_charset8::chargen#1 +Coalesced (already) [715] gfx_init_plane_charset8::gfxa#11 ← gfx_init_plane_charset8::gfxa#1 +Coalesced (already) [716] gfx_init_plane_charset8::col#11 ← gfx_init_plane_charset8::col#1 +Coalesced [717] gfx_init_plane_charset8::cr#7 ← gfx_init_plane_charset8::cr#1 +Coalesced [718] gfx_init_plane_charset8::bits#6 ← gfx_init_plane_charset8::bits#1 +Coalesced (already) [719] gfx_init_plane_charset8::gfxa#13 ← gfx_init_plane_charset8::gfxa#1 +Coalesced (already) [720] gfx_init_plane_charset8::col#13 ← gfx_init_plane_charset8::col#1 +Coalesced [721] gfx_init_plane_charset8::cp#5 ← gfx_init_plane_charset8::cp#1 +Coalesced [725] gfx_init_plane_8bppchunky::gfxb#8 ← gfx_init_plane_8bppchunky::gfxb#5 +Coalesced [726] gfx_init_plane_8bppchunky::gfxbCpuBank#11 ← gfx_init_plane_8bppchunky::gfxbCpuBank#7 +Coalesced [730] dtvSetCpuBankSegment1::cpuBankIdx#14 ← dtvSetCpuBankSegment1::cpuBankIdx#1 +Coalesced [733] gfx_init_plane_8bppchunky::gfxbCpuBank#14 ← gfx_init_plane_8bppchunky::gfxbCpuBank#2 +Coalesced [746] gfx_init_plane_8bppchunky::gfxb#7 ← gfx_init_plane_8bppchunky::gfxb#1 +Coalesced [747] gfx_init_plane_8bppchunky::y#8 ← gfx_init_plane_8bppchunky::y#1 +Coalesced [748] gfx_init_plane_8bppchunky::gfxbCpuBank#10 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 +Coalesced (already) [749] gfx_init_plane_8bppchunky::gfxb#9 ← gfx_init_plane_8bppchunky::gfxb#1 +Coalesced [750] gfx_init_plane_8bppchunky::x#6 ← gfx_init_plane_8bppchunky::x#1 +Coalesced (already) [751] gfx_init_plane_8bppchunky::gfxbCpuBank#12 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 +Coalesced [752] gfx_init_plane_8bppchunky::gfxb#10 ← gfx_init_plane_8bppchunky::gfxb#3 +Coalesced (already) [753] gfx_init_plane_8bppchunky::gfxbCpuBank#13 ← gfx_init_plane_8bppchunky::gfxbCpuBank#4 +Coalesced [767] gfx_init_vic_bitmap::l#4 ← gfx_init_vic_bitmap::l#1 +Coalesced [778] bitmap_line_ydxi::xd#8 ← bitmap_line_ydxi::xd#0 +Coalesced [779] bitmap_line_ydxi::x#9 ← bitmap_line_ydxi::x#0 +Coalesced [780] bitmap_line_ydxi::y#9 ← bitmap_line_ydxi::y#0 +Coalesced [781] bitmap_line_ydxi::yd#8 ← bitmap_line_ydxi::yd#0 +Coalesced [782] bitmap_line_ydxi::y1#8 ← bitmap_line_ydxi::y1#0 +Coalesced [790] bitmap_line_xdyi::yd#7 ← bitmap_line_xdyi::yd#0 +Coalesced [791] bitmap_line_xdyi::x#8 ← bitmap_line_xdyi::x#0 +Coalesced [792] bitmap_line_xdyi::y#8 ← bitmap_line_xdyi::y#0 +Coalesced [793] bitmap_line_xdyi::xd#7 ← bitmap_line_xdyi::xd#0 +Coalesced [794] bitmap_line_xdyi::x1#7 ← bitmap_line_xdyi::x1#0 +Coalesced [803] bitmap_line_ydxd::xd#7 ← bitmap_line_ydxd::xd#0 +Coalesced [804] bitmap_line_ydxd::x#8 ← bitmap_line_ydxd::x#0 +Coalesced [805] bitmap_line_ydxd::y#9 ← bitmap_line_ydxd::y#0 +Coalesced [806] bitmap_line_ydxd::yd#7 ← bitmap_line_ydxd::yd#0 +Coalesced [807] bitmap_line_ydxd::y1#7 ← bitmap_line_ydxd::y1#0 +Coalesced [814] bitmap_line_xdyd::yd#7 ← bitmap_line_xdyd::yd#0 +Coalesced [815] bitmap_line_xdyd::x#8 ← bitmap_line_xdyd::x#0 +Coalesced [816] bitmap_line_xdyd::y#8 ← bitmap_line_xdyd::y#0 +Coalesced [817] bitmap_line_xdyd::xd#7 ← bitmap_line_xdyd::xd#0 +Coalesced [818] bitmap_line_xdyd::x1#7 ← bitmap_line_xdyd::x1#0 +Coalesced [829] bitmap_line_ydxd::xd#8 ← bitmap_line_ydxd::xd#1 +Coalesced [830] bitmap_line_ydxd::x#9 ← bitmap_line_ydxd::x#1 +Coalesced [831] bitmap_line_ydxd::y#10 ← bitmap_line_ydxd::y#1 +Coalesced [832] bitmap_line_ydxd::yd#8 ← bitmap_line_ydxd::yd#1 +Coalesced [833] bitmap_line_ydxd::y1#8 ← bitmap_line_ydxd::y1#1 +Coalesced [840] bitmap_line_xdyd::yd#8 ← bitmap_line_xdyd::yd#1 +Coalesced [841] bitmap_line_xdyd::x#9 ← bitmap_line_xdyd::x#1 +Coalesced [842] bitmap_line_xdyd::y#9 ← bitmap_line_xdyd::y#1 +Coalesced [843] bitmap_line_xdyd::xd#8 ← bitmap_line_xdyd::xd#1 +Coalesced [844] bitmap_line_xdyd::x1#8 ← bitmap_line_xdyd::x1#1 +Coalesced [853] bitmap_line_ydxi::xd#7 ← bitmap_line_ydxi::xd#1 +Coalesced [854] bitmap_line_ydxi::x#8 ← bitmap_line_ydxi::x#1 +Coalesced [855] bitmap_line_ydxi::y#8 ← bitmap_line_ydxi::y#1 +Coalesced [856] bitmap_line_ydxi::yd#7 ← bitmap_line_ydxi::yd#1 +Coalesced [857] bitmap_line_ydxi::y1#7 ← bitmap_line_ydxi::y1#1 +Coalesced [864] bitmap_line_xdyi::yd#8 ← bitmap_line_xdyi::yd#1 +Coalesced [865] bitmap_line_xdyi::x#9 ← bitmap_line_xdyi::x#1 +Coalesced [866] bitmap_line_xdyi::y#9 ← bitmap_line_xdyi::y#1 +Coalesced [867] bitmap_line_xdyi::xd#8 ← bitmap_line_xdyi::xd#1 +Coalesced [868] bitmap_line_xdyi::x1#8 ← bitmap_line_xdyi::x1#1 +Coalesced [872] bitmap_line_xdyi::x#10 ← bitmap_line_xdyi::x#6 +Coalesced [873] bitmap_line_xdyi::y#10 ← bitmap_line_xdyi::y#5 +Coalesced [874] bitmap_line_xdyi::e#7 ← bitmap_line_xdyi::e#0 +Coalesced [878] bitmap_plot::x#6 ← bitmap_plot::x#0 +Coalesced [879] bitmap_plot::y#6 ← bitmap_plot::y#0 +Coalesced [886] bitmap_line_xdyi::y#12 ← bitmap_line_xdyi::y#2 +Coalesced [887] bitmap_line_xdyi::e#9 ← bitmap_line_xdyi::e#2 +Coalesced [892] bitmap_line_xdyi::x#11 ← bitmap_line_xdyi::x#2 +Coalesced [893] bitmap_line_xdyi::y#11 ← bitmap_line_xdyi::y#6 +Coalesced [894] bitmap_line_xdyi::e#8 ← bitmap_line_xdyi::e#6 +Coalesced (already) [895] bitmap_line_xdyi::y#13 ← bitmap_line_xdyi::y#3 +Coalesced [896] bitmap_line_xdyi::e#10 ← bitmap_line_xdyi::e#1 +Coalesced [906] bitmap_line_ydxi::x#10 ← bitmap_line_ydxi::x#5 +Coalesced [907] bitmap_line_ydxi::y#10 ← bitmap_line_ydxi::y#6 +Coalesced [908] bitmap_line_ydxi::e#7 ← bitmap_line_ydxi::e#0 +Coalesced [912] bitmap_plot::x#8 ← bitmap_plot::x#2 +Coalesced [913] bitmap_plot::y#8 ← bitmap_plot::y#2 +Coalesced [920] bitmap_line_ydxi::x#12 ← bitmap_line_ydxi::x#2 +Coalesced [921] bitmap_line_ydxi::e#9 ← bitmap_line_ydxi::e#2 +Coalesced [926] bitmap_line_ydxi::x#11 ← bitmap_line_ydxi::x#6 +Coalesced [927] bitmap_line_ydxi::y#11 ← bitmap_line_ydxi::y#2 +Coalesced [928] bitmap_line_ydxi::e#8 ← bitmap_line_ydxi::e#6 +Coalesced (already) [929] bitmap_line_ydxi::x#13 ← bitmap_line_ydxi::x#3 +Coalesced [930] bitmap_line_ydxi::e#10 ← bitmap_line_ydxi::e#1 +Coalesced [933] bitmap_line_xdyd::x#10 ← bitmap_line_xdyd::x#6 +Coalesced [934] bitmap_line_xdyd::y#10 ← bitmap_line_xdyd::y#5 +Coalesced [935] bitmap_line_xdyd::e#7 ← bitmap_line_xdyd::e#0 +Coalesced [939] bitmap_plot::x#5 ← bitmap_plot::x#1 +Coalesced [940] bitmap_plot::y#5 ← bitmap_plot::y#1 +Coalesced [947] bitmap_line_xdyd::y#12 ← bitmap_line_xdyd::y#2 +Coalesced [948] bitmap_line_xdyd::e#9 ← bitmap_line_xdyd::e#2 +Coalesced [953] bitmap_line_xdyd::x#11 ← bitmap_line_xdyd::x#2 +Coalesced [954] bitmap_line_xdyd::y#11 ← bitmap_line_xdyd::y#6 +Coalesced [955] bitmap_line_xdyd::e#8 ← bitmap_line_xdyd::e#6 +Coalesced (already) [956] bitmap_line_xdyd::y#13 ← bitmap_line_xdyd::y#3 +Coalesced [957] bitmap_line_xdyd::e#10 ← bitmap_line_xdyd::e#1 +Coalesced [960] bitmap_line_ydxd::x#10 ← bitmap_line_ydxd::x#5 +Coalesced [961] bitmap_line_ydxd::y#11 ← bitmap_line_ydxd::y#7 +Coalesced [962] bitmap_line_ydxd::e#7 ← bitmap_line_ydxd::e#0 +Coalesced [966] bitmap_plot::x#7 ← bitmap_plot::x#3 +Coalesced [967] bitmap_plot::y#7 ← bitmap_plot::y#3 +Coalesced [974] bitmap_line_ydxd::x#12 ← bitmap_line_ydxd::x#2 +Coalesced [975] bitmap_line_ydxd::e#9 ← bitmap_line_ydxd::e#2 +Coalesced [980] bitmap_line_ydxd::x#11 ← bitmap_line_ydxd::x#6 +Coalesced [981] bitmap_line_ydxd::y#12 ← bitmap_line_ydxd::y#3 +Coalesced [982] bitmap_line_ydxd::e#8 ← bitmap_line_ydxd::e#6 +Coalesced (already) [983] bitmap_line_ydxd::x#13 ← bitmap_line_ydxd::x#3 +Coalesced [984] bitmap_line_ydxd::e#10 ← bitmap_line_ydxd::e#1 +Coalesced [988] bitmap_clear::bitmap#7 ← bitmap_clear::bitmap#3 +Coalesced [997] bitmap_clear::bitmap#6 ← bitmap_clear::bitmap#1 +Coalesced [998] bitmap_clear::y#5 ← bitmap_clear::y#1 +Coalesced (already) [999] bitmap_clear::bitmap#8 ← bitmap_clear::bitmap#1 +Coalesced [1000] bitmap_clear::x#3 ← bitmap_clear::x#1 +Coalesced [1023] bitmap_init::yoffs#7 ← bitmap_init::yoffs#1 +Coalesced [1028] bitmap_init::y#5 ← bitmap_init::y#1 +Coalesced [1029] bitmap_init::yoffs#5 ← bitmap_init::yoffs#4 +Coalesced (already) [1030] bitmap_init::yoffs#6 ← bitmap_init::yoffs#2 +Coalesced [1031] bitmap_init::x#5 ← bitmap_init::x#1 +Coalesced [1032] bitmap_init::bits#5 ← bitmap_init::bits#4 +Coalesced [1033] bitmap_init::bits#6 ← bitmap_init::bits#1 +Coalesced [1036] gfx_init_charset::chargen#6 ← gfx_init_charset::chargen#3 +Coalesced [1037] gfx_init_charset::charset#6 ← gfx_init_charset::charset#3 +Coalesced [1048] gfx_init_charset::chargen#5 ← gfx_init_charset::chargen#1 +Coalesced [1049] gfx_init_charset::charset#5 ← gfx_init_charset::charset#1 +Coalesced [1050] gfx_init_charset::c#5 ← gfx_init_charset::c#1 +Coalesced (already) [1051] gfx_init_charset::chargen#7 ← gfx_init_charset::chargen#1 +Coalesced (already) [1052] gfx_init_charset::charset#7 ← gfx_init_charset::charset#1 +Coalesced [1053] gfx_init_charset::l#3 ← gfx_init_charset::l#1 +Coalesced [1056] gfx_init_screen4::ch#6 ← gfx_init_screen4::ch#3 +Coalesced [1065] gfx_init_screen4::ch#5 ← gfx_init_screen4::ch#1 +Coalesced [1066] gfx_init_screen4::cy#5 ← gfx_init_screen4::cy#1 +Coalesced (already) [1067] gfx_init_screen4::ch#7 ← gfx_init_screen4::ch#1 +Coalesced [1068] gfx_init_screen4::cx#3 ← gfx_init_screen4::cx#1 +Coalesced [1071] gfx_init_screen3::ch#6 ← gfx_init_screen3::ch#3 +Coalesced [1084] gfx_init_screen3::cy#5 ← gfx_init_screen3::cy#1 +Coalesced [1085] gfx_init_screen3::ch#5 ← gfx_init_screen3::ch#1 +Coalesced [1086] gfx_init_screen3::cx#3 ← gfx_init_screen3::cx#1 +Coalesced (already) [1087] gfx_init_screen3::ch#7 ← gfx_init_screen3::ch#1 +Coalesced [1090] gfx_init_screen2::ch#6 ← gfx_init_screen2::ch#3 +Coalesced [1104] gfx_init_screen2::cy#5 ← gfx_init_screen2::cy#1 +Coalesced [1105] gfx_init_screen2::ch#5 ← gfx_init_screen2::ch#1 +Coalesced [1106] gfx_init_screen2::cx#3 ← gfx_init_screen2::cx#1 +Coalesced (already) [1107] gfx_init_screen2::ch#7 ← gfx_init_screen2::ch#1 +Coalesced [1110] gfx_init_screen1::ch#6 ← gfx_init_screen1::ch#3 +Coalesced [1121] gfx_init_screen1::cy#5 ← gfx_init_screen1::cy#1 +Coalesced [1122] gfx_init_screen1::ch#5 ← gfx_init_screen1::ch#1 +Coalesced [1123] gfx_init_screen1::cx#3 ← gfx_init_screen1::cx#1 +Coalesced (already) [1124] gfx_init_screen1::ch#7 ← gfx_init_screen1::ch#1 +Coalesced [1127] gfx_init_screen0::ch#6 ← gfx_init_screen0::ch#3 +Coalesced [1140] gfx_init_screen0::cy#5 ← gfx_init_screen0::cy#1 +Coalesced [1141] gfx_init_screen0::ch#5 ← gfx_init_screen0::ch#1 +Coalesced [1142] gfx_init_screen0::cx#3 ← gfx_init_screen0::cx#1 +Coalesced (already) [1143] gfx_init_screen0::ch#7 ← gfx_init_screen0::ch#1 Coalesced down to 120 phi equivalence classes Culled Empty Block (label) gfx_mode::@61 Culled Empty Block (label) gfx_mode::@62 @@ -10127,1066 +10229,1061 @@ form_render_values::@1: scope:[form_render_values] from form_render_values form [331] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte/signed byte/word/signed word/dword/signed dword) 0 form_render_values::@2/(byte) form_render_values::idx#1 ) [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [333] call form_field_ptr - [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 to:form_render_values::@2 form_render_values::@2: scope:[form_render_values] from form_render_values::@1 - [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 - [336] *((byte*) form_render_values::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) - [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 - [338] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 + [334] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) + [335] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 + [336] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 to:form_render_values::@return form_render_values::@return: scope:[form_render_values] from form_render_values::@2 - [339] return + [337] return to:@return form_field_ptr: scope:[form_field_ptr] from form_control form_render_values::@1 - [340] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@1/(byte) form_field_ptr::field_idx#0 ) - [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) - [342] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) - [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) - [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 + [338] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@1/(byte) form_field_ptr::field_idx#0 ) + [339] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) + [340] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) + [341] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) to:form_field_ptr::@return form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr - [345] return + [342] return to:@return apply_preset: scope:[apply_preset] from form_mode::@7 - [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 + [343] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 to:apply_preset::@2 apply_preset::@2: scope:[apply_preset] from apply_preset - [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 + [344] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 to:apply_preset::@3 apply_preset::@3: scope:[apply_preset] from apply_preset::@2 - [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 + [345] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 to:apply_preset::@4 apply_preset::@4: scope:[apply_preset] from apply_preset::@3 - [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 + [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 to:apply_preset::@5 apply_preset::@5: scope:[apply_preset] from apply_preset::@4 - [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 + [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 to:apply_preset::@6 apply_preset::@6: scope:[apply_preset] from apply_preset::@5 - [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 + [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 to:apply_preset::@7 apply_preset::@7: scope:[apply_preset] from apply_preset::@6 - [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 + [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 to:apply_preset::@8 apply_preset::@8: scope:[apply_preset] from apply_preset::@7 - [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 + [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 to:apply_preset::@9 apply_preset::@9: scope:[apply_preset] from apply_preset::@8 - [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 + [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 to:apply_preset::@10 apply_preset::@10: scope:[apply_preset] from apply_preset::@9 - [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 + [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 to:apply_preset::@11 apply_preset::@11: scope:[apply_preset] from apply_preset::@10 - [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 + [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 to:apply_preset::@12 apply_preset::@12: scope:[apply_preset] from apply_preset::@11 - [357] phi() + [354] phi() to:apply_preset::@1 apply_preset::@1: scope:[apply_preset] from apply_preset apply_preset::@10 apply_preset::@11 apply_preset::@12 apply_preset::@2 apply_preset::@3 apply_preset::@4 apply_preset::@5 apply_preset::@6 apply_preset::@7 apply_preset::@8 apply_preset::@9 - [358] (byte*) apply_preset::preset#14 ← phi( apply_preset/(const byte[]) preset_stdchar#0 apply_preset::@10/(const byte[]) preset_sixsfred2#0 apply_preset::@11/(const byte[]) preset_8bpppixelcell#0 apply_preset::@2/(const byte[]) preset_ecmchar#0 apply_preset::@3/(const byte[]) preset_stdbm#0 apply_preset::@12/(const byte[]) preset_stdchar#0 apply_preset::@4/(const byte[]) preset_mcbm#0 apply_preset::@5/(const byte[]) preset_hi_stdchar#0 apply_preset::@6/(const byte[]) preset_hi_ecmchar#0 apply_preset::@7/(const byte[]) preset_twoplane#0 apply_preset::@8/(const byte[]) preset_chunky#0 apply_preset::@9/(const byte[]) preset_sixsfred#0 ) + [355] (byte*) apply_preset::preset#14 ← phi( apply_preset/(const byte[]) preset_stdchar#0 apply_preset::@10/(const byte[]) preset_sixsfred2#0 apply_preset::@11/(const byte[]) preset_8bpppixelcell#0 apply_preset::@2/(const byte[]) preset_ecmchar#0 apply_preset::@3/(const byte[]) preset_stdbm#0 apply_preset::@12/(const byte[]) preset_stdchar#0 apply_preset::@4/(const byte[]) preset_mcbm#0 apply_preset::@5/(const byte[]) preset_hi_stdchar#0 apply_preset::@6/(const byte[]) preset_hi_ecmchar#0 apply_preset::@7/(const byte[]) preset_twoplane#0 apply_preset::@8/(const byte[]) preset_chunky#0 apply_preset::@9/(const byte[]) preset_sixsfred#0 ) to:apply_preset::@13 apply_preset::@13: scope:[apply_preset] from apply_preset::@1 apply_preset::@13 - [359] (byte) apply_preset::i#2 ← phi( apply_preset::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 apply_preset::@13/(byte) apply_preset::i#1 ) - [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) - [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 - [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 + [356] (byte) apply_preset::i#2 ← phi( apply_preset::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 apply_preset::@13/(byte) apply_preset::i#1 ) + [357] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) + [358] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 + [359] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 to:apply_preset::@return apply_preset::@return: scope:[apply_preset] from apply_preset::@13 - [363] return + [360] return to:@return form_control: scope:[form_control] from form_mode::@5 - [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 - [365] call form_field_ptr - [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 + [361] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 + [362] call form_field_ptr to:form_control::@17 form_control::@17: scope:[form_control] from form_control - [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 - [368] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 - [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 + [363] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 + [364] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 to:form_control::@1 form_control::@1: scope:[form_control] from form_control::@17 form_control::@20 - [370] (signed byte) form_cursor_count#15 ← phi( form_control::@20/(signed byte) form_cursor_count#5 form_control::@17/(const signed byte) FORM_CURSOR_BLINK#0 ) - [371] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 + [365] (signed byte) form_cursor_count#15 ← phi( form_control::@20/(signed byte) form_cursor_count#5 form_control::@17/(const signed byte) FORM_CURSOR_BLINK#0 ) + [366] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 to:form_control::@6 form_control::@6: scope:[form_control] from form_control::@1 - [372] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f - [373] *((byte*) form_control::field#0) ← (byte~) form_control::$13 + [367] (byte~) form_control::$13 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f + [368] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$13 to:form_control::@3 form_control::@3: scope:[form_control] from form_control::@2 form_control::@6 - [374] phi() - [375] call keyboard_event_scan + [369] phi() + [370] call keyboard_event_scan to:form_control::@18 form_control::@18: scope:[form_control] from form_control::@3 - [376] phi() - [377] call keyboard_event_get - [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + [371] phi() + [372] call keyboard_event_get + [373] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 to:form_control::@19 form_control::@19: scope:[form_control] from form_control::@18 - [379] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 - [380] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 + [374] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 + [375] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 to:form_control::@7 form_control::@7: scope:[form_control] from form_control::@19 - [381] (byte~) form_control::$15 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f - [382] *((byte*) form_control::field#0) ← (byte~) form_control::$15 - [383] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 - [384] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 + [376] (byte~) form_control::$15 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f + [377] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$15 + [378] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 + [379] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 to:form_control::@8 form_control::@8: scope:[form_control] from form_control::@7 - [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 - [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 + [380] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 + [381] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 to:form_control::@13 form_control::@13: scope:[form_control] from form_control::@12 form_control::@21 form_control::@22 form_control::@8 - [387] (byte) form_field_idx#31 ← phi( form_control::@8/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@21/(byte) form_field_idx#44 form_control::@22/(byte) form_field_idx#45 form_control::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [382] (byte) form_field_idx#31 ← phi( form_control::@8/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@21/(byte) form_field_idx#44 form_control::@22/(byte) form_field_idx#45 form_control::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 ) to:form_control::@return form_control::@return: scope:[form_control] from form_control::@13 form_control::@15 form_control::@23 form_control::@5 - [388] (byte) form_field_idx#18 ← phi( form_control::@5/(byte) form_field_idx#28 form_control::@13/(byte) form_field_idx#31 form_control::@15/(byte) form_field_idx#28 form_control::@23/(byte) form_field_idx#28 ) - [388] (signed byte) form_cursor_count#16 ← phi( form_control::@5/(signed byte) form_cursor_count#15 form_control::@13/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 form_control::@15/(signed byte) form_cursor_count#15 form_control::@23/(signed byte) form_cursor_count#15 ) - [388] (byte) form_control::return#2 ← phi( form_control::@5/(byte/word/signed word/dword/signed dword) $ff form_control::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@23/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [389] return + [383] (byte) form_field_idx#18 ← phi( form_control::@5/(byte) form_field_idx#28 form_control::@13/(byte) form_field_idx#31 form_control::@15/(byte) form_field_idx#28 form_control::@23/(byte) form_field_idx#28 ) + [383] (signed byte) form_cursor_count#16 ← phi( form_control::@5/(signed byte) form_cursor_count#15 form_control::@13/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 form_control::@15/(signed byte) form_cursor_count#15 form_control::@23/(signed byte) form_cursor_count#15 ) + [383] (byte) form_control::return#2 ← phi( form_control::@5/(byte/word/signed word/dword/signed dword) $ff form_control::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@23/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [384] return to:@return form_control::@21: scope:[form_control] from form_control::@8 - [390] phi() + [385] phi() to:form_control::@13 form_control::@12: scope:[form_control] from form_control::@7 - [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 - [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 + [386] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 + [387] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 to:form_control::@13 form_control::@22: scope:[form_control] from form_control::@12 - [393] phi() + [388] phi() to:form_control::@13 form_control::@4: scope:[form_control] from form_control::@19 - [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 + [389] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 to:form_control::@9 form_control::@9: scope:[form_control] from form_control::@4 - [395] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 - [396] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 + [390] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 + [391] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 to:form_control::@10 form_control::@10: scope:[form_control] from form_control::@9 - [397] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) - [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 + [392] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) + [393] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 to:form_control::@11 form_control::@11: scope:[form_control] from form_control::@10 - [399] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) + [394] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) to:form_control::@15 form_control::@15: scope:[form_control] from form_control::@10 form_control::@11 form_control::@14 form_control::@16 - [400] *((byte*) form_control::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) + [395] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) to:form_control::@return form_control::@14: scope:[form_control] from form_control::@9 - [401] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) - [402] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 + [396] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) + [397] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 to:form_control::@16 form_control::@16: scope:[form_control] from form_control::@14 - [403] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [398] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:form_control::@15 form_control::@5: scope:[form_control] from form_control::@4 - [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 + [399] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 to:form_control::@return form_control::@23: scope:[form_control] from form_control::@5 - [405] phi() + [400] phi() to:form_control::@return form_control::@2: scope:[form_control] from form_control::@1 - [406] (byte/word/dword~) form_control::$14 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) $80 - [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$14 + [401] (byte/word/dword~) form_control::$14 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) | (byte/word/signed word/dword/signed dword) $80 + [402] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte/word/dword~) form_control::$14 to:form_control::@3 form_control::@20: scope:[form_control] from form_control::@17 - [408] phi() + [403] phi() to:form_control::@1 form_set_screen: scope:[form_set_screen] from form_mode::@13 - [409] phi() + [404] phi() to:form_set_screen::@1 form_set_screen::@1: scope:[form_set_screen] from form_set_screen form_set_screen::@1 - [410] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte/signed byte/word/signed word/dword/signed dword) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) - [410] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const byte*) FORM_SCREEN#0 form_set_screen::@1/(byte*) form_set_screen::line#1 ) - [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 - [412] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 - [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 - [414] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 - [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 - [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 - [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 + [405] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte/signed byte/word/signed word/dword/signed dword) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) + [405] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const byte*) FORM_SCREEN#0 form_set_screen::@1/(byte*) form_set_screen::line#1 ) + [406] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 + [407] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 + [408] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 + [409] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 + [410] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [411] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 + [412] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 to:form_set_screen::@return form_set_screen::@return: scope:[form_set_screen] from form_set_screen::@1 - [418] return + [413] return to:@return print_str_lines: scope:[print_str_lines] from form_mode::@12 form_mode::@9 - [419] (byte*) print_str_lines::str#5 ← phi( form_mode::@9/(const byte[]) FORM_COLS#0 form_mode::@12/(const byte[]) FORM_TEXT#0 ) - [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 + [414] (byte*) print_str_lines::str#5 ← phi( form_mode::@9/(const byte[]) FORM_COLS#0 form_mode::@12/(const byte[]) FORM_TEXT#0 ) + [415] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@5 - [421] (byte*) print_line_cursor#2 ← phi( print_str_lines/(byte*) print_set_screen::screen#2 print_str_lines::@5/(byte*) print_line_cursor#22 ) - [421] (byte*) print_char_cursor#22 ← phi( print_str_lines/(byte*~) print_char_cursor#77 print_str_lines::@5/(byte*~) print_char_cursor#78 ) - [421] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@5/(byte*) print_str_lines::str#0 ) - [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 + [416] (byte*) print_line_cursor#2 ← phi( print_str_lines/(byte*) print_set_screen::screen#2 print_str_lines::@5/(byte*) print_line_cursor#22 ) + [416] (byte*) print_char_cursor#22 ← phi( print_str_lines/(byte*~) print_char_cursor#77 print_str_lines::@5/(byte*~) print_char_cursor#78 ) + [416] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@5/(byte*) print_str_lines::str#0 ) + [417] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - [423] return + [418] return to:@return print_str_lines::@2: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@3 - [424] (byte*) print_char_cursor#20 ← phi( print_str_lines::@1/(byte*) print_char_cursor#22 print_str_lines::@3/(byte*) print_char_cursor#38 ) - [424] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@3/(byte*) print_str_lines::str#0 ) - [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) - [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 - [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 + [419] (byte*) print_char_cursor#20 ← phi( print_str_lines::@1/(byte*) print_char_cursor#22 print_str_lines::@3/(byte*) print_char_cursor#38 ) + [419] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@3/(byte*) print_str_lines::str#0 ) + [420] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) + [421] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 + [422] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 to:print_str_lines::@4 print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 - [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 - [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 + [423] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 + [424] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 to:print_str_lines::@3 print_str_lines::@3: scope:[print_str_lines] from print_str_lines::@2 print_str_lines::@4 - [430] (byte*) print_char_cursor#38 ← phi( print_str_lines::@2/(byte*) print_char_cursor#20 print_str_lines::@4/(byte*) print_char_cursor#1 ) - [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 + [425] (byte*) print_char_cursor#38 ← phi( print_str_lines::@2/(byte*) print_char_cursor#20 print_str_lines::@4/(byte*) print_char_cursor#1 ) + [426] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@3 - [432] phi() - [433] call print_ln - [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 + [427] phi() + [428] call print_ln + [429] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 to:print_str_lines::@1 print_ln: scope:[print_ln] from print_str_lines::@5 - [435] phi() + [430] phi() to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [436] (byte*) print_line_cursor#21 ← phi( print_ln/(byte*) print_line_cursor#2 print_ln::@1/(byte*) print_line_cursor#22 ) - [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 - [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 + [431] (byte*) print_line_cursor#21 ← phi( print_ln/(byte*) print_line_cursor#2 print_ln::@1/(byte*) print_line_cursor#22 ) + [432] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [433] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [439] return + [434] return to:@return print_cls: scope:[print_cls] from form_mode::@11 form_mode::@8 - [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 + [435] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [441] (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) - [442] *((byte*) print_cls::sc#2) ← (byte) ' ' - [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 - [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 - [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 + [436] (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) + [437] *((byte*) print_cls::sc#2) ← (byte) ' ' + [438] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 + [439] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 + [440] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [446] return + [441] return to:@return print_set_screen: scope:[print_set_screen] from form_mode form_mode::@10 - [447] (byte*) print_set_screen::screen#2 ← phi( form_mode/(const byte*) COLS#0 form_mode::@10/(const byte*) FORM_SCREEN#0 ) + [442] (byte*) print_set_screen::screen#2 ← phi( form_mode/(const byte*) COLS#0 form_mode::@10/(const byte*) FORM_SCREEN#0 ) to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - [448] return + [443] return to:@return gfx_init: scope:[gfx_init] from main::@3 - [449] phi() - [450] call gfx_init_screen0 + [444] phi() + [445] call gfx_init_screen0 to:gfx_init::@1 gfx_init::@1: scope:[gfx_init] from gfx_init - [451] phi() - [452] call gfx_init_screen1 + [446] phi() + [447] call gfx_init_screen1 to:gfx_init::@2 gfx_init::@2: scope:[gfx_init] from gfx_init::@1 - [453] phi() - [454] call gfx_init_screen2 + [448] phi() + [449] call gfx_init_screen2 to:gfx_init::@3 gfx_init::@3: scope:[gfx_init] from gfx_init::@2 - [455] phi() - [456] call gfx_init_screen3 + [450] phi() + [451] call gfx_init_screen3 to:gfx_init::@4 gfx_init::@4: scope:[gfx_init] from gfx_init::@3 - [457] phi() - [458] call gfx_init_screen4 + [452] phi() + [453] call gfx_init_screen4 to:gfx_init::@5 gfx_init::@5: scope:[gfx_init] from gfx_init::@4 - [459] phi() - [460] call gfx_init_charset + [454] phi() + [455] call gfx_init_charset to:gfx_init::@6 gfx_init::@6: scope:[gfx_init] from gfx_init::@5 - [461] phi() - [462] call gfx_init_vic_bitmap + [456] phi() + [457] call gfx_init_vic_bitmap to:gfx_init::@7 gfx_init::@7: scope:[gfx_init] from gfx_init::@6 - [463] phi() - [464] call gfx_init_plane_8bppchunky + [458] phi() + [459] call gfx_init_plane_8bppchunky to:gfx_init::@8 gfx_init::@8: scope:[gfx_init] from gfx_init::@7 - [465] phi() - [466] call gfx_init_plane_charset8 + [460] phi() + [461] call gfx_init_plane_charset8 to:gfx_init::@9 gfx_init::@9: scope:[gfx_init] from gfx_init::@8 - [467] phi() - [468] call gfx_init_plane_horisontal + [462] phi() + [463] call gfx_init_plane_horisontal to:gfx_init::@10 gfx_init::@10: scope:[gfx_init] from gfx_init::@9 - [469] phi() - [470] call gfx_init_plane_vertical + [464] phi() + [465] call gfx_init_plane_vertical to:gfx_init::@11 gfx_init::@11: scope:[gfx_init] from gfx_init::@10 - [471] phi() - [472] call gfx_init_plane_horisontal2 + [466] phi() + [467] call gfx_init_plane_horisontal2 to:gfx_init::@12 gfx_init::@12: scope:[gfx_init] from gfx_init::@11 - [473] phi() - [474] call gfx_init_plane_vertical2 + [468] phi() + [469] call gfx_init_plane_vertical2 to:gfx_init::@13 gfx_init::@13: scope:[gfx_init] from gfx_init::@12 - [475] phi() - [476] call gfx_init_plane_blank + [470] phi() + [471] call gfx_init_plane_blank to:gfx_init::@14 gfx_init::@14: scope:[gfx_init] from gfx_init::@13 - [477] phi() - [478] call gfx_init_plane_full + [472] phi() + [473] call gfx_init_plane_full to:gfx_init::@return gfx_init::@return: scope:[gfx_init] from gfx_init::@14 - [479] return + [474] return to:@return gfx_init_plane_full: scope:[gfx_init_plane_full] from gfx_init::@14 - [480] phi() - [481] call gfx_init_plane_fill + [475] phi() + [476] call gfx_init_plane_fill to:gfx_init_plane_full::@return gfx_init_plane_full::@return: scope:[gfx_init_plane_full] from gfx_init_plane_full - [482] return + [477] return to:@return gfx_init_plane_fill: scope:[gfx_init_plane_fill] from gfx_init_plane_blank gfx_init_plane_full gfx_init_plane_vertical2 - [483] (byte) gfx_init_plane_fill::fill#6 ← phi( gfx_init_plane_blank/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_full/(byte/word/signed word/dword/signed dword) $ff gfx_init_plane_vertical2/(byte/signed byte/word/signed word/dword/signed dword) $1b ) - [483] (dword) gfx_init_plane_fill::plane_addr#3 ← phi( gfx_init_plane_blank/(const dword) PLANE_BLANK#0 gfx_init_plane_full/(const dword) PLANE_FULL#0 gfx_init_plane_vertical2/(const dword) PLANE_VERTICAL2#0 ) - [484] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 - [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 - [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 - [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 - [488] call dtvSetCpuBankSegment1 + [478] (byte) gfx_init_plane_fill::fill#6 ← phi( gfx_init_plane_blank/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_full/(byte/word/signed word/dword/signed dword) $ff gfx_init_plane_vertical2/(byte/signed byte/word/signed word/dword/signed dword) $1b ) + [478] (dword) gfx_init_plane_fill::plane_addr#3 ← phi( gfx_init_plane_blank/(const dword) PLANE_BLANK#0 gfx_init_plane_full/(const dword) PLANE_FULL#0 gfx_init_plane_vertical2/(const dword) PLANE_VERTICAL2#0 ) + [479] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 + [480] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 + [481] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 + [482] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 + [483] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@5 gfx_init_plane_fill::@5: scope:[gfx_init_plane_fill] from gfx_init_plane_fill - [489] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 - [490] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff - [491] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 - [492] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 + [484] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 + [485] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff + [486] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 + [487] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 to:gfx_init_plane_fill::@1 gfx_init_plane_fill::@1: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 gfx_init_plane_fill::@5 - [493] (byte) gfx_init_plane_fill::by#4 ← phi( gfx_init_plane_fill::@3/(byte) gfx_init_plane_fill::by#1 gfx_init_plane_fill::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [493] (byte*) gfx_init_plane_fill::gfxb#3 ← phi( gfx_init_plane_fill::@3/(byte*) gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::@5/(byte*~) gfx_init_plane_fill::gfxb#6 ) + [488] (byte) gfx_init_plane_fill::by#4 ← phi( gfx_init_plane_fill::@3/(byte) gfx_init_plane_fill::by#1 gfx_init_plane_fill::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [488] (byte*) gfx_init_plane_fill::gfxb#3 ← phi( gfx_init_plane_fill::@3/(byte*) gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::@5/(byte*~) gfx_init_plane_fill::gfxb#6 ) to:gfx_init_plane_fill::@2 gfx_init_plane_fill::@2: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@1 gfx_init_plane_fill::@2 - [494] (byte) gfx_init_plane_fill::bx#2 ← phi( gfx_init_plane_fill::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_fill::@2/(byte) gfx_init_plane_fill::bx#1 ) - [494] (byte*) gfx_init_plane_fill::gfxb#2 ← phi( gfx_init_plane_fill::@1/(byte*) gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::@2/(byte*) gfx_init_plane_fill::gfxb#1 ) - [495] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 - [496] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 - [497] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 - [498] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 + [489] (byte) gfx_init_plane_fill::bx#2 ← phi( gfx_init_plane_fill::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_fill::@2/(byte) gfx_init_plane_fill::bx#1 ) + [489] (byte*) gfx_init_plane_fill::gfxb#2 ← phi( gfx_init_plane_fill::@1/(byte*) gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::@2/(byte*) gfx_init_plane_fill::gfxb#1 ) + [490] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 + [491] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 + [492] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 + [493] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 to:gfx_init_plane_fill::@3 gfx_init_plane_fill::@3: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@2 - [499] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 - [500] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 + [494] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 + [495] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 to:gfx_init_plane_fill::@4 gfx_init_plane_fill::@4: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 - [501] phi() - [502] call dtvSetCpuBankSegment1 + [496] phi() + [497] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@return gfx_init_plane_fill::@return: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@4 - [503] return + [498] return to:@return dtvSetCpuBankSegment1: scope:[dtvSetCpuBankSegment1] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@6 gfx_init_plane_charset8 gfx_init_plane_charset8::@8 gfx_init_plane_fill gfx_init_plane_fill::@4 gfx_init_plane_horisontal gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal::@7 gfx_init_plane_vertical gfx_init_plane_vertical::@4 - [504] (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 ← phi( gfx_init_plane_8bppchunky/((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_charset8/(const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfx_init_plane_charset8::@8/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_fill/(byte) dtvSetCpuBankSegment1::cpuBankIdx#11 gfx_init_plane_fill::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_horisontal/(const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 gfx_init_plane_horisontal2/(const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfx_init_plane_horisontal2::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_horisontal::@7/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_vertical/(const byte) gfx_init_plane_vertical::gfxbCpuBank#0 gfx_init_plane_vertical::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 ) - [505] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 + [499] (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 ← phi( gfx_init_plane_8bppchunky/((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_charset8/(const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfx_init_plane_charset8::@8/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_fill/(byte) dtvSetCpuBankSegment1::cpuBankIdx#11 gfx_init_plane_fill::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_horisontal/(const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 gfx_init_plane_horisontal2/(const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfx_init_plane_horisontal2::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_horisontal::@7/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 gfx_init_plane_vertical/(const byte) gfx_init_plane_vertical::gfxbCpuBank#0 gfx_init_plane_vertical::@4/((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 ) + [500] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 asm { .byte$32,$dd lda$ff .byte$32,$00 } to:dtvSetCpuBankSegment1::@return dtvSetCpuBankSegment1::@return: scope:[dtvSetCpuBankSegment1] from dtvSetCpuBankSegment1 - [507] return + [502] return to:@return gfx_init_plane_blank: scope:[gfx_init_plane_blank] from gfx_init::@13 - [508] phi() - [509] call gfx_init_plane_fill + [503] phi() + [504] call gfx_init_plane_fill to:gfx_init_plane_blank::@return gfx_init_plane_blank::@return: scope:[gfx_init_plane_blank] from gfx_init_plane_blank - [510] return + [505] return to:@return gfx_init_plane_vertical2: scope:[gfx_init_plane_vertical2] from gfx_init::@12 - [511] phi() - [512] call gfx_init_plane_fill + [506] phi() + [507] call gfx_init_plane_fill to:gfx_init_plane_vertical2::@return gfx_init_plane_vertical2::@return: scope:[gfx_init_plane_vertical2] from gfx_init_plane_vertical2 - [513] return + [508] return to:@return gfx_init_plane_horisontal2: scope:[gfx_init_plane_horisontal2] from gfx_init::@11 - [514] phi() - [515] call dtvSetCpuBankSegment1 + [509] phi() + [510] 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 - [516] (byte*) gfx_init_plane_horisontal2::gfxa#3 ← phi( gfx_init_plane_horisontal2::@3/(byte*) gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_horisontal2/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff ) - [516] (byte) gfx_init_plane_horisontal2::ay#4 ← phi( gfx_init_plane_horisontal2::@3/(byte) gfx_init_plane_horisontal2::ay#1 gfx_init_plane_horisontal2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [511] (byte*) gfx_init_plane_horisontal2::gfxa#3 ← phi( gfx_init_plane_horisontal2::@3/(byte*) gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_horisontal2/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff ) + [511] (byte) gfx_init_plane_horisontal2::ay#4 ← phi( gfx_init_plane_horisontal2::@3/(byte) gfx_init_plane_horisontal2::ay#1 gfx_init_plane_horisontal2/(byte/signed byte/word/signed word/dword/signed dword) 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 - [517] (byte) gfx_init_plane_horisontal2::ax#2 ← phi( gfx_init_plane_horisontal2::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_horisontal2::@2/(byte) gfx_init_plane_horisontal2::ax#1 ) - [517] (byte*) gfx_init_plane_horisontal2::gfxa#2 ← phi( gfx_init_plane_horisontal2::@1/(byte*) gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::@2/(byte*) gfx_init_plane_horisontal2::gfxa#1 ) - [518] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [519] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 - [520] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) - [521] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 - [522] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 - [523] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 + [512] (byte) gfx_init_plane_horisontal2::ax#2 ← phi( gfx_init_plane_horisontal2::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_horisontal2::@2/(byte) gfx_init_plane_horisontal2::ax#1 ) + [512] (byte*) gfx_init_plane_horisontal2::gfxa#2 ← phi( gfx_init_plane_horisontal2::@1/(byte*) gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::@2/(byte*) gfx_init_plane_horisontal2::gfxa#1 ) + [513] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [514] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 + [515] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) + [516] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 + [517] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 + [518] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 to:gfx_init_plane_horisontal2::@3 gfx_init_plane_horisontal2::@3: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@2 - [524] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 - [525] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 + [519] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 + [520] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 to:gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal2::@4: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@3 - [526] phi() - [527] call dtvSetCpuBankSegment1 + [521] phi() + [522] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal2::@return gfx_init_plane_horisontal2::@return: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@4 - [528] return + [523] return to:@return gfx_init_plane_vertical: scope:[gfx_init_plane_vertical] from gfx_init::@10 - [529] phi() - [530] call dtvSetCpuBankSegment1 + [524] phi() + [525] call dtvSetCpuBankSegment1 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 - [531] (byte) gfx_init_plane_vertical::by#4 ← phi( gfx_init_plane_vertical::@3/(byte) gfx_init_plane_vertical::by#1 gfx_init_plane_vertical/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [531] (byte*) gfx_init_plane_vertical::gfxb#3 ← phi( gfx_init_plane_vertical::@3/(byte*) gfx_init_plane_vertical::gfxb#1 gfx_init_plane_vertical/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $3fff ) + [526] (byte) gfx_init_plane_vertical::by#4 ← phi( gfx_init_plane_vertical::@3/(byte) gfx_init_plane_vertical::by#1 gfx_init_plane_vertical/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [526] (byte*) gfx_init_plane_vertical::gfxb#3 ← phi( gfx_init_plane_vertical::@3/(byte*) gfx_init_plane_vertical::gfxb#1 gfx_init_plane_vertical/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $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 - [532] (byte) gfx_init_plane_vertical::bx#2 ← phi( gfx_init_plane_vertical::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_vertical::@2/(byte) gfx_init_plane_vertical::bx#1 ) - [532] (byte*) gfx_init_plane_vertical::gfxb#2 ← phi( gfx_init_plane_vertical::@1/(byte*) gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::@2/(byte*) gfx_init_plane_vertical::gfxb#1 ) - [533] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f - [534] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 - [535] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 - [536] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 + [527] (byte) gfx_init_plane_vertical::bx#2 ← phi( gfx_init_plane_vertical::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_vertical::@2/(byte) gfx_init_plane_vertical::bx#1 ) + [527] (byte*) gfx_init_plane_vertical::gfxb#2 ← phi( gfx_init_plane_vertical::@1/(byte*) gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::@2/(byte*) gfx_init_plane_vertical::gfxb#1 ) + [528] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f + [529] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 + [530] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 + [531] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 to:gfx_init_plane_vertical::@3 gfx_init_plane_vertical::@3: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@2 - [537] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 - [538] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 + [532] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 + [533] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 to:gfx_init_plane_vertical::@4 gfx_init_plane_vertical::@4: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@3 - [539] phi() - [540] call dtvSetCpuBankSegment1 + [534] phi() + [535] call dtvSetCpuBankSegment1 to:gfx_init_plane_vertical::@return gfx_init_plane_vertical::@return: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@4 - [541] return + [536] return to:@return gfx_init_plane_horisontal: scope:[gfx_init_plane_horisontal] from gfx_init::@9 - [542] phi() - [543] call dtvSetCpuBankSegment1 + [537] phi() + [538] 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 - [544] (byte*) gfx_init_plane_horisontal::gfxa#6 ← phi( gfx_init_plane_horisontal::@6/(byte*) gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff ) - [544] (byte) gfx_init_plane_horisontal::ay#4 ← phi( gfx_init_plane_horisontal::@6/(byte) gfx_init_plane_horisontal::ay#1 gfx_init_plane_horisontal/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [539] (byte*) gfx_init_plane_horisontal::gfxa#6 ← phi( gfx_init_plane_horisontal::@6/(byte*) gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff ) + [539] (byte) gfx_init_plane_horisontal::ay#4 ← phi( gfx_init_plane_horisontal::@6/(byte) gfx_init_plane_horisontal::ay#1 gfx_init_plane_horisontal/(byte/signed byte/word/signed word/dword/signed dword) 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 - [545] (byte) gfx_init_plane_horisontal::ax#2 ← phi( gfx_init_plane_horisontal::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_horisontal::@4/(byte) gfx_init_plane_horisontal::ax#1 ) - [545] (byte*) gfx_init_plane_horisontal::gfxa#3 ← phi( gfx_init_plane_horisontal::@1/(byte*) gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::@4/(byte*) gfx_init_plane_horisontal::gfxa#7 ) - [546] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 - [547] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 + [540] (byte) gfx_init_plane_horisontal::ax#2 ← phi( gfx_init_plane_horisontal::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_horisontal::@4/(byte) gfx_init_plane_horisontal::ax#1 ) + [540] (byte*) gfx_init_plane_horisontal::gfxa#3 ← phi( gfx_init_plane_horisontal::@1/(byte*) gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::@4/(byte*) gfx_init_plane_horisontal::gfxa#7 ) + [541] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 + [542] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 to:gfx_init_plane_horisontal::@5 gfx_init_plane_horisontal::@5: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 - [548] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff - [549] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 + [543] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff + [544] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 gfx_init_plane_horisontal::@4: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 - [550] (byte*) gfx_init_plane_horisontal::gfxa#7 ← phi( gfx_init_plane_horisontal::@3/(byte*) gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::@5/(byte*) gfx_init_plane_horisontal::gfxa#2 ) - [551] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 - [552] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 + [545] (byte*) gfx_init_plane_horisontal::gfxa#7 ← phi( gfx_init_plane_horisontal::@3/(byte*) gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::@5/(byte*) gfx_init_plane_horisontal::gfxa#2 ) + [546] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 + [547] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 to:gfx_init_plane_horisontal::@6 gfx_init_plane_horisontal::@6: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@4 - [553] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 - [554] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 + [548] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 + [549] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 to:gfx_init_plane_horisontal::@7 gfx_init_plane_horisontal::@7: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@6 - [555] phi() - [556] call dtvSetCpuBankSegment1 + [550] phi() + [551] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal::@return gfx_init_plane_horisontal::@return: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@7 - [557] return + [552] return to:@return gfx_init_plane_horisontal::@3: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 - [558] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - [559] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 + [553] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [554] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 gfx_init_plane_charset8: scope:[gfx_init_plane_charset8] from gfx_init::@8 - [560] phi() - [561] call dtvSetCpuBankSegment1 + [555] phi() + [556] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@9 gfx_init_plane_charset8::@9: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8 - [562] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 + [557] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 to:gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@1: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@9 - [563] (byte) gfx_init_plane_charset8::ch#8 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::ch#1 gfx_init_plane_charset8::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [563] (byte) gfx_init_plane_charset8::col#6 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::col#1 gfx_init_plane_charset8::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [563] (byte*) gfx_init_plane_charset8::gfxa#6 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::gfxa#1 gfx_init_plane_charset8::@9/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff ) - [563] (byte*) gfx_init_plane_charset8::chargen#3 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::@9/(const byte*) CHARGEN#0 ) + [558] (byte) gfx_init_plane_charset8::ch#8 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::ch#1 gfx_init_plane_charset8::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [558] (byte) gfx_init_plane_charset8::col#6 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::col#1 gfx_init_plane_charset8::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [558] (byte*) gfx_init_plane_charset8::gfxa#6 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::gfxa#1 gfx_init_plane_charset8::@9/((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff ) + [558] (byte*) gfx_init_plane_charset8::chargen#3 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::@9/(const byte*) CHARGEN#0 ) 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 - [564] (byte) gfx_init_plane_charset8::cr#6 ← phi( gfx_init_plane_charset8::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::cr#1 ) - [564] (byte) gfx_init_plane_charset8::col#5 ← phi( gfx_init_plane_charset8::@1/(byte) gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::col#1 ) - [564] (byte*) gfx_init_plane_charset8::gfxa#5 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::gfxa#1 ) - [564] (byte*) gfx_init_plane_charset8::chargen#2 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::chargen#1 ) - [565] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) - [566] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 + [559] (byte) gfx_init_plane_charset8::cr#6 ← phi( gfx_init_plane_charset8::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::cr#1 ) + [559] (byte) gfx_init_plane_charset8::col#5 ← phi( gfx_init_plane_charset8::@1/(byte) gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::col#1 ) + [559] (byte*) gfx_init_plane_charset8::gfxa#5 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::gfxa#1 ) + [559] (byte*) gfx_init_plane_charset8::chargen#2 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::chargen#1 ) + [560] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) + [561] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 to:gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@3: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@2 gfx_init_plane_charset8::@4 - [567] (byte) gfx_init_plane_charset8::cp#2 ← phi( gfx_init_plane_charset8::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::cp#1 ) - [567] (byte) gfx_init_plane_charset8::col#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::col#1 ) - [567] (byte*) gfx_init_plane_charset8::gfxa#2 ← phi( gfx_init_plane_charset8::@2/(byte*) gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::@4/(byte*) gfx_init_plane_charset8::gfxa#1 ) - [567] (byte) gfx_init_plane_charset8::bits#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::bits#1 ) - [568] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 - [569] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 + [562] (byte) gfx_init_plane_charset8::cp#2 ← phi( gfx_init_plane_charset8::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::cp#1 ) + [562] (byte) gfx_init_plane_charset8::col#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::col#1 ) + [562] (byte*) gfx_init_plane_charset8::gfxa#2 ← phi( gfx_init_plane_charset8::@2/(byte*) gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::@4/(byte*) gfx_init_plane_charset8::gfxa#1 ) + [562] (byte) gfx_init_plane_charset8::bits#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::bits#1 ) + [563] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 + [564] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 to:gfx_init_plane_charset8::@5 gfx_init_plane_charset8::@5: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 - [570] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 + [565] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 to:gfx_init_plane_charset8::@4 gfx_init_plane_charset8::@4: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@5 - [571] (byte) gfx_init_plane_charset8::c#2 ← phi( gfx_init_plane_charset8::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@5/(byte~) gfx_init_plane_charset8::c#3 ) - [572] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 - [573] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 - [574] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [575] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 - [576] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 - [577] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 + [566] (byte) gfx_init_plane_charset8::c#2 ← phi( gfx_init_plane_charset8::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_charset8::@5/(byte~) gfx_init_plane_charset8::c#3 ) + [567] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 + [568] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 + [569] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [570] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 + [571] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 + [572] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 to:gfx_init_plane_charset8::@6 gfx_init_plane_charset8::@6: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@4 - [578] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 - [579] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 + [573] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 + [574] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 to:gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@7: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@6 - [580] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 - [581] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 + [575] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 + [576] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 to:gfx_init_plane_charset8::@8 gfx_init_plane_charset8::@8: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 - [582] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 - [583] call dtvSetCpuBankSegment1 + [577] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 + [578] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@return gfx_init_plane_charset8::@return: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@8 - [584] return + [579] return to:@return gfx_init_plane_8bppchunky: scope:[gfx_init_plane_8bppchunky] from gfx_init::@7 - [585] phi() - [586] call dtvSetCpuBankSegment1 + [580] phi() + [581] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@1: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@5 - [587] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky/++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 ) - [587] (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [587] (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky/((byte*))(word/signed word/dword/signed dword) $4000 ) + [582] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky/++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 ) + [582] (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [582] (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky/((byte*))(word/signed word/dword/signed dword) $4000 ) to:gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@2: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@3 - [588] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) - [588] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) - [588] (byte*) gfx_init_plane_8bppchunky::gfxb#3 ← phi( gfx_init_plane_8bppchunky::@1/(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) - [589] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 + [583] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) + [583] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) + [583] (byte*) gfx_init_plane_8bppchunky::gfxb#3 ← phi( gfx_init_plane_8bppchunky::@1/(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) + [584] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 to:gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@4: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 - [590] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 - [591] call dtvSetCpuBankSegment1 + [585] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 + [586] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@7 gfx_init_plane_8bppchunky::@7: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@4 - [592] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 + [587] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 to:gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@3: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@7 - [593] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) - [593] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@7/((byte*))(word/signed word/dword/signed dword) $4000 ) - [594] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 - [595] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 - [596] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 - [597] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 - [598] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 - [599] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 + [588] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) + [588] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@7/((byte*))(word/signed word/dword/signed dword) $4000 ) + [589] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 + [590] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 + [591] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 + [592] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 + [593] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 + [594] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 to:gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@5: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@3 - [600] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 - [601] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 + [595] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 + [596] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 to:gfx_init_plane_8bppchunky::@6 gfx_init_plane_8bppchunky::@6: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@5 - [602] phi() - [603] call dtvSetCpuBankSegment1 + [597] phi() + [598] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@return gfx_init_plane_8bppchunky::@return: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@6 - [604] return + [599] return to:@return gfx_init_vic_bitmap: scope:[gfx_init_vic_bitmap] from gfx_init::@6 - [605] phi() - [606] call bitmap_init + [600] phi() + [601] call bitmap_init to:gfx_init_vic_bitmap::@2 gfx_init_vic_bitmap::@2: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap - [607] phi() - [608] call bitmap_clear + [602] phi() + [603] call bitmap_clear to:gfx_init_vic_bitmap::@1 gfx_init_vic_bitmap::@1: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@2 gfx_init_vic_bitmap::@3 - [609] (byte) gfx_init_vic_bitmap::l#2 ← phi( gfx_init_vic_bitmap::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_vic_bitmap::@3/(byte) gfx_init_vic_bitmap::l#1 ) - [610] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) - [611] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) - [612] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) - [613] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) - [614] call bitmap_line + [604] (byte) gfx_init_vic_bitmap::l#2 ← phi( gfx_init_vic_bitmap::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_vic_bitmap::@3/(byte) gfx_init_vic_bitmap::l#1 ) + [605] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) + [606] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) + [607] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) + [608] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) + [609] call bitmap_line to:gfx_init_vic_bitmap::@3 gfx_init_vic_bitmap::@3: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@1 - [615] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 - [616] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 + [610] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 + [611] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 to:gfx_init_vic_bitmap::@return gfx_init_vic_bitmap::@return: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@3 - [617] return + [612] return to:@return bitmap_line: scope:[bitmap_line] from gfx_init_vic_bitmap::@1 - [618] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 + [613] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 to:bitmap_line::@2 bitmap_line::@2: scope:[bitmap_line] from bitmap_line - [619] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 - [620] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 + [614] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 + [615] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 to:bitmap_line::@3 bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@2 - [621] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 - [622] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 + [616] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 + [617] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 to:bitmap_line::@4 bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@3 - [623] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 - [624] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 - [625] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 - [626] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 - [627] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 - [628] call bitmap_line_ydxi + [618] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 + [619] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 + [620] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 + [621] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 + [622] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 + [623] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@12 bitmap_line::@13 bitmap_line::@14 bitmap_line::@4 bitmap_line::@6 bitmap_line::@8 bitmap_line::@9 - [629] return + [624] return to:@return bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@3 - [630] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 - [631] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 - [632] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 - [633] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 - [634] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 - [635] call bitmap_line_xdyi + [625] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 + [626] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 + [627] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 + [628] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 + [629] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 + [630] call bitmap_line_xdyi to:bitmap_line::@return bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@2 - [636] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 - [637] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 + [631] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 + [632] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 to:bitmap_line::@10 bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@7 - [638] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 - [639] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 - [640] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 - [641] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 - [642] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 - [643] call bitmap_line_ydxd + [633] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 + [634] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 + [635] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 + [636] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 + [637] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 + [638] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@7 - [644] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 - [645] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 - [646] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 - [647] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 - [648] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 - [649] call bitmap_line_xdyd + [639] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 + [640] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 + [641] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 + [642] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 + [643] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 + [644] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@1: scope:[bitmap_line] from bitmap_line - [650] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 - [651] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 + [645] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 + [646] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 to:bitmap_line::@5 bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@1 - [652] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 - [653] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 + [647] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 + [648] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 to:bitmap_line::@6 bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5 - [654] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 - [655] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 - [656] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 - [657] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 - [658] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 - [659] call bitmap_line_ydxd + [649] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 + [650] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 + [651] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 + [652] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 + [653] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 + [654] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@12: scope:[bitmap_line] from bitmap_line::@5 - [660] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 - [661] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - [662] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 - [663] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 - [664] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 - [665] call bitmap_line_xdyd + [655] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 + [656] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + [657] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 + [658] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 + [659] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 + [660] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@1 - [666] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 - [667] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 + [661] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 + [662] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 to:bitmap_line::@14 bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@11 - [668] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 - [669] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 - [670] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 - [671] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 - [672] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 - [673] call bitmap_line_ydxi + [663] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 + [664] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 + [665] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 + [666] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 + [667] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 + [668] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@11 - [674] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 - [675] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - [676] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 - [677] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 - [678] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 - [679] call bitmap_line_xdyi + [669] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 + [670] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + [671] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 + [672] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 + [673] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 + [674] call bitmap_line_xdyi to:bitmap_line::@return bitmap_line_xdyi: scope:[bitmap_line_xdyi] from bitmap_line::@13 bitmap_line::@8 - [680] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 ) - [680] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 ) - [680] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 ) - [680] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 ) - [680] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 ) - [681] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [675] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 ) + [675] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 ) + [675] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 ) + [675] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 ) + [675] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 ) + [676] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 to:bitmap_line_xdyi::@1 bitmap_line_xdyi::@1: scope:[bitmap_line_xdyi] from bitmap_line_xdyi bitmap_line_xdyi::@2 - [682] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 ) - [682] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 ) - [682] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 ) - [683] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 - [684] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 - [685] call bitmap_plot + [677] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 ) + [677] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 ) + [677] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 ) + [678] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 + [679] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 + [680] call bitmap_plot to:bitmap_line_xdyi::@4 bitmap_line_xdyi::@4: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@1 - [686] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 - [687] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 - [688] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 + [681] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 + [682] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 + [683] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 to:bitmap_line_xdyi::@3 bitmap_line_xdyi::@3: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@4 - [689] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 - [690] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 + [684] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 + [685] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 to:bitmap_line_xdyi::@2 bitmap_line_xdyi::@2: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 - [691] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 ) - [691] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 ) - [692] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [693] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 + [686] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 ) + [686] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 ) + [687] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [688] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 to:bitmap_line_xdyi::@return bitmap_line_xdyi::@return: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@2 - [694] return + [689] return to:@return bitmap_plot: scope:[bitmap_plot] from bitmap_line_xdyd::@1 bitmap_line_xdyi::@1 bitmap_line_ydxd::@1 bitmap_line_ydxi::@1 - [695] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 ) - [695] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 ) - [696] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) - [697] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) - [698] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 - [699] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) - [700] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 + [690] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 ) + [690] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 ) + [691] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) + [692] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) + [693] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 + [694] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) + [695] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot - [701] return + [696] return to:@return bitmap_line_ydxi: scope:[bitmap_line_ydxi] from bitmap_line::@14 bitmap_line::@4 - [702] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 ) - [702] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 ) - [702] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 ) - [702] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 ) - [702] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 ) - [703] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [697] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 ) + [697] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 ) + [697] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 ) + [697] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 ) + [697] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 ) + [698] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 to:bitmap_line_ydxi::@1 bitmap_line_ydxi::@1: scope:[bitmap_line_ydxi] from bitmap_line_ydxi bitmap_line_ydxi::@2 - [704] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 ) - [704] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 ) - [704] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 ) - [705] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 - [706] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 - [707] call bitmap_plot + [699] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 ) + [699] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 ) + [699] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 ) + [700] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 + [701] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 + [702] call bitmap_plot to:bitmap_line_ydxi::@4 bitmap_line_ydxi::@4: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@1 - [708] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 - [709] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 - [710] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 + [703] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 + [704] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 + [705] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 to:bitmap_line_ydxi::@3 bitmap_line_ydxi::@3: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@4 - [711] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 - [712] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 + [706] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 + [707] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 to:bitmap_line_ydxi::@2 bitmap_line_ydxi::@2: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 - [713] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 ) - [713] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 ) - [714] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [715] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 + [708] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 ) + [708] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 ) + [709] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [710] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 to:bitmap_line_ydxi::@return bitmap_line_ydxi::@return: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@2 - [716] return + [711] return to:@return bitmap_line_xdyd: scope:[bitmap_line_xdyd] from bitmap_line::@12 bitmap_line::@9 - [717] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 ) - [717] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 ) - [717] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 ) - [717] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 ) - [717] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 ) - [718] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [712] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 ) + [712] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 ) + [712] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 ) + [712] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 ) + [712] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 ) + [713] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 to:bitmap_line_xdyd::@1 bitmap_line_xdyd::@1: scope:[bitmap_line_xdyd] from bitmap_line_xdyd bitmap_line_xdyd::@2 - [719] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 ) - [719] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 ) - [719] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 ) - [720] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 - [721] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 - [722] call bitmap_plot + [714] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 ) + [714] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 ) + [714] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 ) + [715] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 + [716] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 + [717] call bitmap_plot to:bitmap_line_xdyd::@4 bitmap_line_xdyd::@4: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@1 - [723] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 - [724] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 - [725] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 + [718] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 + [719] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 + [720] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 to:bitmap_line_xdyd::@3 bitmap_line_xdyd::@3: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@4 - [726] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 - [727] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 + [721] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 + [722] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 to:bitmap_line_xdyd::@2 bitmap_line_xdyd::@2: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 - [728] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 ) - [728] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 ) - [729] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [730] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 + [723] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 ) + [723] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 ) + [724] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [725] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 to:bitmap_line_xdyd::@return bitmap_line_xdyd::@return: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@2 - [731] return + [726] return to:@return bitmap_line_ydxd: scope:[bitmap_line_ydxd] from bitmap_line::@10 bitmap_line::@6 - [732] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 ) - [732] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 ) - [732] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 ) - [732] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 ) - [732] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 ) - [733] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [727] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 ) + [727] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 ) + [727] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 ) + [727] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 ) + [727] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 ) + [728] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 to:bitmap_line_ydxd::@1 bitmap_line_ydxd::@1: scope:[bitmap_line_ydxd] from bitmap_line_ydxd bitmap_line_ydxd::@2 - [734] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 ) - [734] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 ) - [734] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 ) - [735] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 - [736] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 - [737] call bitmap_plot + [729] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 ) + [729] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 ) + [729] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 ) + [730] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 + [731] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 + [732] call bitmap_plot to:bitmap_line_ydxd::@4 bitmap_line_ydxd::@4: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@1 - [738] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 - [739] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 - [740] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 + [733] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 + [734] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 + [735] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 to:bitmap_line_ydxd::@3 bitmap_line_ydxd::@3: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@4 - [741] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 - [742] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 + [736] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 + [737] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 to:bitmap_line_ydxd::@2 bitmap_line_ydxd::@2: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 - [743] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 ) - [743] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 ) - [744] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [745] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 + [738] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 ) + [738] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 ) + [739] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [740] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 to:bitmap_line_ydxd::@return bitmap_line_ydxd::@return: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@2 - [746] return + [741] return to:@return bitmap_clear: scope:[bitmap_clear] from gfx_init_vic_bitmap::@2 - [747] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) - [748] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 + [742] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) + [743] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 to:bitmap_clear::@1 bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3 - [749] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 ) - [749] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*~) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 ) + [744] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 ) + [744] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*~) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 ) to:bitmap_clear::@2 bitmap_clear::@2: scope:[bitmap_clear] from bitmap_clear::@1 bitmap_clear::@2 - [750] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 ) - [750] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 ) - [751] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - [752] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 - [753] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 - [754] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 + [745] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 ) + [745] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 ) + [746] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [747] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 + [748] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 + [749] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 to:bitmap_clear::@3 bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2 - [755] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 - [756] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 + [750] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 + [751] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 to:bitmap_clear::@return bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3 - [757] return + [752] return to:@return bitmap_init: scope:[bitmap_init] from gfx_init_vic_bitmap - [758] phi() + [753] phi() to:bitmap_init::@1 bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2 - [759] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte/word/signed word/dword/signed dword) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 ) - [759] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@2/(byte) bitmap_init::x#1 ) - [760] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 - [761] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 - [762] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 - [763] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 - [764] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [765] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 + [754] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte/word/signed word/dword/signed dword) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 ) + [754] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@2/(byte) bitmap_init::x#1 ) + [755] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 + [756] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 + [757] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 + [758] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 + [759] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [760] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 to:bitmap_init::@2 bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6 - [766] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte/word/signed word/dword/signed dword) $80 ) - [767] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 - [768] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 + [761] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte/word/signed word/dword/signed dword) $80 ) + [762] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 + [763] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 to:bitmap_init::@3 bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4 - [769] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 ) - [769] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte) bitmap_init::y#1 ) - [770] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 - [771] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 - [772] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 - [773] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 - [774] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 - [775] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 - [776] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 - [777] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 + [764] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 ) + [764] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 bitmap_init::@4/(byte) bitmap_init::y#1 ) + [765] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 + [766] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 + [767] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 + [768] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 + [769] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 + [770] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 + [771] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 + [772] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 to:bitmap_init::@5 bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3 - [778] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + [773] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 to:bitmap_init::@4 bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5 - [779] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 ) - [780] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 - [781] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 + [774] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 ) + [775] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 + [776] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 to:bitmap_init::@return bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4 - [782] return + [777] return to:@return bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1 - [783] phi() + [778] phi() to:bitmap_init::@2 gfx_init_charset: scope:[gfx_init_charset] from gfx_init::@5 - [784] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 + [779] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 to:gfx_init_charset::@1 gfx_init_charset::@1: scope:[gfx_init_charset] from gfx_init_charset gfx_init_charset::@3 - [785] (byte) gfx_init_charset::c#4 ← phi( gfx_init_charset/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_charset::@3/(byte) gfx_init_charset::c#1 ) - [785] (byte*) gfx_init_charset::charset#3 ← phi( gfx_init_charset/(const byte*) VIC_CHARSET_ROM#0 gfx_init_charset::@3/(byte*) gfx_init_charset::charset#1 ) - [785] (byte*) gfx_init_charset::chargen#3 ← phi( gfx_init_charset/(const byte*) CHARGEN#0 gfx_init_charset::@3/(byte*) gfx_init_charset::chargen#1 ) + [780] (byte) gfx_init_charset::c#4 ← phi( gfx_init_charset/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_charset::@3/(byte) gfx_init_charset::c#1 ) + [780] (byte*) gfx_init_charset::charset#3 ← phi( gfx_init_charset/(const byte*) VIC_CHARSET_ROM#0 gfx_init_charset::@3/(byte*) gfx_init_charset::charset#1 ) + [780] (byte*) gfx_init_charset::chargen#3 ← phi( gfx_init_charset/(const byte*) CHARGEN#0 gfx_init_charset::@3/(byte*) gfx_init_charset::chargen#1 ) to:gfx_init_charset::@2 gfx_init_charset::@2: scope:[gfx_init_charset] from gfx_init_charset::@1 gfx_init_charset::@2 - [786] (byte) gfx_init_charset::l#2 ← phi( gfx_init_charset::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_charset::@2/(byte) gfx_init_charset::l#1 ) - [786] (byte*) gfx_init_charset::charset#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::charset#3 gfx_init_charset::@2/(byte*) gfx_init_charset::charset#1 ) - [786] (byte*) gfx_init_charset::chargen#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::chargen#3 gfx_init_charset::@2/(byte*) gfx_init_charset::chargen#1 ) - [787] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) - [788] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 - [789] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 - [790] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 - [791] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 + [781] (byte) gfx_init_charset::l#2 ← phi( gfx_init_charset::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_charset::@2/(byte) gfx_init_charset::l#1 ) + [781] (byte*) gfx_init_charset::charset#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::charset#3 gfx_init_charset::@2/(byte*) gfx_init_charset::charset#1 ) + [781] (byte*) gfx_init_charset::chargen#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::chargen#3 gfx_init_charset::@2/(byte*) gfx_init_charset::chargen#1 ) + [782] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) + [783] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 + [784] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 + [785] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 + [786] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 to:gfx_init_charset::@3 gfx_init_charset::@3: scope:[gfx_init_charset] from gfx_init_charset::@2 - [792] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 - [793] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 + [787] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 + [788] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 to:gfx_init_charset::@4 gfx_init_charset::@4: scope:[gfx_init_charset] from gfx_init_charset::@3 - [794] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 + [789] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 to:gfx_init_charset::@return gfx_init_charset::@return: scope:[gfx_init_charset] from gfx_init_charset::@4 - [795] return + [790] return to:@return gfx_init_screen4: scope:[gfx_init_screen4] from gfx_init::@4 - [796] phi() + [791] phi() to:gfx_init_screen4::@1 gfx_init_screen4::@1: scope:[gfx_init_screen4] from gfx_init_screen4 gfx_init_screen4::@3 - [797] (byte) gfx_init_screen4::cy#4 ← phi( gfx_init_screen4/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen4::@3/(byte) gfx_init_screen4::cy#1 ) - [797] (byte*) gfx_init_screen4::ch#3 ← phi( gfx_init_screen4/(const byte*) VIC_SCREEN4#0 gfx_init_screen4::@3/(byte*) gfx_init_screen4::ch#1 ) + [792] (byte) gfx_init_screen4::cy#4 ← phi( gfx_init_screen4/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen4::@3/(byte) gfx_init_screen4::cy#1 ) + [792] (byte*) gfx_init_screen4::ch#3 ← phi( gfx_init_screen4/(const byte*) VIC_SCREEN4#0 gfx_init_screen4::@3/(byte*) gfx_init_screen4::ch#1 ) to:gfx_init_screen4::@2 gfx_init_screen4::@2: scope:[gfx_init_screen4] from gfx_init_screen4::@1 gfx_init_screen4::@2 - [798] (byte) gfx_init_screen4::cx#2 ← phi( gfx_init_screen4::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen4::@2/(byte) gfx_init_screen4::cx#1 ) - [798] (byte*) gfx_init_screen4::ch#2 ← phi( gfx_init_screen4::@1/(byte*) gfx_init_screen4::ch#3 gfx_init_screen4::@2/(byte*) gfx_init_screen4::ch#1 ) - [799] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - [800] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 - [801] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 - [802] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 + [793] (byte) gfx_init_screen4::cx#2 ← phi( gfx_init_screen4::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen4::@2/(byte) gfx_init_screen4::cx#1 ) + [793] (byte*) gfx_init_screen4::ch#2 ← phi( gfx_init_screen4::@1/(byte*) gfx_init_screen4::ch#3 gfx_init_screen4::@2/(byte*) gfx_init_screen4::ch#1 ) + [794] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [795] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 + [796] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 + [797] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 to:gfx_init_screen4::@3 gfx_init_screen4::@3: scope:[gfx_init_screen4] from gfx_init_screen4::@2 - [803] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 - [804] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 + [798] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 + [799] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 to:gfx_init_screen4::@return gfx_init_screen4::@return: scope:[gfx_init_screen4] from gfx_init_screen4::@3 - [805] return + [800] return to:@return gfx_init_screen3: scope:[gfx_init_screen3] from gfx_init::@3 - [806] phi() + [801] phi() to:gfx_init_screen3::@1 gfx_init_screen3::@1: scope:[gfx_init_screen3] from gfx_init_screen3 gfx_init_screen3::@3 - [807] (byte*) gfx_init_screen3::ch#3 ← phi( gfx_init_screen3/(const byte*) VIC_SCREEN3#0 gfx_init_screen3::@3/(byte*) gfx_init_screen3::ch#1 ) - [807] (byte) gfx_init_screen3::cy#4 ← phi( gfx_init_screen3/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen3::@3/(byte) gfx_init_screen3::cy#1 ) + [802] (byte*) gfx_init_screen3::ch#3 ← phi( gfx_init_screen3/(const byte*) VIC_SCREEN3#0 gfx_init_screen3::@3/(byte*) gfx_init_screen3::ch#1 ) + [802] (byte) gfx_init_screen3::cy#4 ← phi( gfx_init_screen3/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen3::@3/(byte) gfx_init_screen3::cy#1 ) to:gfx_init_screen3::@2 gfx_init_screen3::@2: scope:[gfx_init_screen3] from gfx_init_screen3::@1 gfx_init_screen3::@2 - [808] (byte*) gfx_init_screen3::ch#2 ← phi( gfx_init_screen3::@1/(byte*) gfx_init_screen3::ch#3 gfx_init_screen3::@2/(byte*) gfx_init_screen3::ch#1 ) - [808] (byte) gfx_init_screen3::cx#2 ← phi( gfx_init_screen3::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen3::@2/(byte) gfx_init_screen3::cx#1 ) - [809] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 - [810] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 - [811] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 - [812] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 - [813] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 - [814] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 - [815] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 - [816] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 + [803] (byte*) gfx_init_screen3::ch#2 ← phi( gfx_init_screen3::@1/(byte*) gfx_init_screen3::ch#3 gfx_init_screen3::@2/(byte*) gfx_init_screen3::ch#1 ) + [803] (byte) gfx_init_screen3::cx#2 ← phi( gfx_init_screen3::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen3::@2/(byte) gfx_init_screen3::cx#1 ) + [804] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 + [805] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 + [806] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 + [807] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 + [808] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 + [809] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 + [810] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 + [811] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 to:gfx_init_screen3::@3 gfx_init_screen3::@3: scope:[gfx_init_screen3] from gfx_init_screen3::@2 - [817] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 - [818] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 + [812] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 + [813] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 to:gfx_init_screen3::@return gfx_init_screen3::@return: scope:[gfx_init_screen3] from gfx_init_screen3::@3 - [819] return + [814] return to:@return gfx_init_screen2: scope:[gfx_init_screen2] from gfx_init::@2 - [820] phi() + [815] phi() to:gfx_init_screen2::@1 gfx_init_screen2::@1: scope:[gfx_init_screen2] from gfx_init_screen2 gfx_init_screen2::@3 - [821] (byte*) gfx_init_screen2::ch#3 ← phi( gfx_init_screen2/(const byte*) VIC_SCREEN2#0 gfx_init_screen2::@3/(byte*) gfx_init_screen2::ch#1 ) - [821] (byte) gfx_init_screen2::cy#4 ← phi( gfx_init_screen2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen2::@3/(byte) gfx_init_screen2::cy#1 ) + [816] (byte*) gfx_init_screen2::ch#3 ← phi( gfx_init_screen2/(const byte*) VIC_SCREEN2#0 gfx_init_screen2::@3/(byte*) gfx_init_screen2::ch#1 ) + [816] (byte) gfx_init_screen2::cy#4 ← phi( gfx_init_screen2/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen2::@3/(byte) gfx_init_screen2::cy#1 ) to:gfx_init_screen2::@2 gfx_init_screen2::@2: scope:[gfx_init_screen2] from gfx_init_screen2::@1 gfx_init_screen2::@2 - [822] (byte*) gfx_init_screen2::ch#2 ← phi( gfx_init_screen2::@1/(byte*) gfx_init_screen2::ch#3 gfx_init_screen2::@2/(byte*) gfx_init_screen2::ch#1 ) - [822] (byte) gfx_init_screen2::cx#2 ← phi( gfx_init_screen2::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen2::@2/(byte) gfx_init_screen2::cx#1 ) - [823] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 - [824] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f - [825] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 - [826] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 - [827] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 - [828] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 - [829] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 - [830] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 - [831] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 + [817] (byte*) gfx_init_screen2::ch#2 ← phi( gfx_init_screen2::@1/(byte*) gfx_init_screen2::ch#3 gfx_init_screen2::@2/(byte*) gfx_init_screen2::ch#1 ) + [817] (byte) gfx_init_screen2::cx#2 ← phi( gfx_init_screen2::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen2::@2/(byte) gfx_init_screen2::cx#1 ) + [818] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 + [819] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f + [820] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 + [821] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 + [822] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 + [823] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 + [824] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 + [825] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 + [826] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 to:gfx_init_screen2::@3 gfx_init_screen2::@3: scope:[gfx_init_screen2] from gfx_init_screen2::@2 - [832] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 - [833] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 + [827] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 + [828] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 to:gfx_init_screen2::@return gfx_init_screen2::@return: scope:[gfx_init_screen2] from gfx_init_screen2::@3 - [834] return + [829] return to:@return gfx_init_screen1: scope:[gfx_init_screen1] from gfx_init::@1 - [835] phi() + [830] phi() to:gfx_init_screen1::@1 gfx_init_screen1::@1: scope:[gfx_init_screen1] from gfx_init_screen1 gfx_init_screen1::@3 - [836] (byte*) gfx_init_screen1::ch#3 ← phi( gfx_init_screen1/(const byte*) VIC_SCREEN1#0 gfx_init_screen1::@3/(byte*) gfx_init_screen1::ch#1 ) - [836] (byte) gfx_init_screen1::cy#4 ← phi( gfx_init_screen1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen1::@3/(byte) gfx_init_screen1::cy#1 ) + [831] (byte*) gfx_init_screen1::ch#3 ← phi( gfx_init_screen1/(const byte*) VIC_SCREEN1#0 gfx_init_screen1::@3/(byte*) gfx_init_screen1::ch#1 ) + [831] (byte) gfx_init_screen1::cy#4 ← phi( gfx_init_screen1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen1::@3/(byte) gfx_init_screen1::cy#1 ) to:gfx_init_screen1::@2 gfx_init_screen1::@2: scope:[gfx_init_screen1] from gfx_init_screen1::@1 gfx_init_screen1::@2 - [837] (byte*) gfx_init_screen1::ch#2 ← phi( gfx_init_screen1::@1/(byte*) gfx_init_screen1::ch#3 gfx_init_screen1::@2/(byte*) gfx_init_screen1::ch#1 ) - [837] (byte) gfx_init_screen1::cx#2 ← phi( gfx_init_screen1::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen1::@2/(byte) gfx_init_screen1::cx#1 ) - [838] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 - [839] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f - [840] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 - [841] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 - [842] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 - [843] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 + [832] (byte*) gfx_init_screen1::ch#2 ← phi( gfx_init_screen1::@1/(byte*) gfx_init_screen1::ch#3 gfx_init_screen1::@2/(byte*) gfx_init_screen1::ch#1 ) + [832] (byte) gfx_init_screen1::cx#2 ← phi( gfx_init_screen1::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen1::@2/(byte) gfx_init_screen1::cx#1 ) + [833] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 + [834] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f + [835] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 + [836] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 + [837] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 + [838] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 to:gfx_init_screen1::@3 gfx_init_screen1::@3: scope:[gfx_init_screen1] from gfx_init_screen1::@2 - [844] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 - [845] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 + [839] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 + [840] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 to:gfx_init_screen1::@return gfx_init_screen1::@return: scope:[gfx_init_screen1] from gfx_init_screen1::@3 - [846] return + [841] return to:@return gfx_init_screen0: scope:[gfx_init_screen0] from gfx_init - [847] phi() + [842] phi() to:gfx_init_screen0::@1 gfx_init_screen0::@1: scope:[gfx_init_screen0] from gfx_init_screen0 gfx_init_screen0::@3 - [848] (byte*) gfx_init_screen0::ch#3 ← phi( gfx_init_screen0/(const byte*) VIC_SCREEN0#0 gfx_init_screen0::@3/(byte*) gfx_init_screen0::ch#1 ) - [848] (byte) gfx_init_screen0::cy#4 ← phi( gfx_init_screen0/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen0::@3/(byte) gfx_init_screen0::cy#1 ) + [843] (byte*) gfx_init_screen0::ch#3 ← phi( gfx_init_screen0/(const byte*) VIC_SCREEN0#0 gfx_init_screen0::@3/(byte*) gfx_init_screen0::ch#1 ) + [843] (byte) gfx_init_screen0::cy#4 ← phi( gfx_init_screen0/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen0::@3/(byte) gfx_init_screen0::cy#1 ) to:gfx_init_screen0::@2 gfx_init_screen0::@2: scope:[gfx_init_screen0] from gfx_init_screen0::@1 gfx_init_screen0::@2 - [849] (byte*) gfx_init_screen0::ch#2 ← phi( gfx_init_screen0::@1/(byte*) gfx_init_screen0::ch#3 gfx_init_screen0::@2/(byte*) gfx_init_screen0::ch#1 ) - [849] (byte) gfx_init_screen0::cx#2 ← phi( gfx_init_screen0::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen0::@2/(byte) gfx_init_screen0::cx#1 ) - [850] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f - [851] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 - [852] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f - [853] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 - [854] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 - [855] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 - [856] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 - [857] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 + [844] (byte*) gfx_init_screen0::ch#2 ← phi( gfx_init_screen0::@1/(byte*) gfx_init_screen0::ch#3 gfx_init_screen0::@2/(byte*) gfx_init_screen0::ch#1 ) + [844] (byte) gfx_init_screen0::cx#2 ← phi( gfx_init_screen0::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_screen0::@2/(byte) gfx_init_screen0::cx#1 ) + [845] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f + [846] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 + [847] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f + [848] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 + [849] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 + [850] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 + [851] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 + [852] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 to:gfx_init_screen0::@3 gfx_init_screen0::@3: scope:[gfx_init_screen0] from gfx_init_screen0::@2 - [858] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 - [859] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 + [853] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 + [854] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 to:gfx_init_screen0::@return gfx_init_screen0::@return: scope:[gfx_init_screen0] from gfx_init_screen0::@3 - [860] return + [855] return to:@return keyboard_init: scope:[keyboard_init] from main - [861] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff - [862] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [856] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff + [857] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:keyboard_init::@return keyboard_init::@return: scope:[keyboard_init] from keyboard_init - [863] return + [858] return to:@return @@ -11523,7 +11620,6 @@ VARIABLE REGISTER WEIGHTS (byte~) form_control::$16 4.0 (byte~) form_control::$24 4.0 (byte*) form_control::field -(byte*) form_control::field#0 0.5925925925925926 (byte) form_control::key_event (byte) form_control::key_event#0 2.6666666666666665 (byte) form_control::return @@ -11542,18 +11638,18 @@ VARIABLE REGISTER WEIGHTS (signed byte) form_cursor_count#1 0.3333333333333333 (signed byte) form_cursor_count#15 0.4 (signed byte) form_cursor_count#16 65.82352941176472 -(signed byte) form_cursor_count#21 157.99999999999997 +(signed byte) form_cursor_count#21 221.2 (signed byte) form_cursor_count#5 2.0 (byte*) form_dtv_palet (byte) form_field_idx (byte) form_field_idx#1 0.3333333333333333 (byte) form_field_idx#18 65.94117647058826 -(byte) form_field_idx#28 29.17948717948718 +(byte) form_field_idx#28 30.75675675675673 (byte) form_field_idx#31 6.0 (byte) form_field_idx#44 2.0 (byte) form_field_idx#45 2.0 (byte*()) form_field_ptr((byte) form_field_ptr::field_idx) -(word~) form_field_ptr::$2 1.0 +(word~) form_field_ptr::$2 0.06451612903225806 (byte*) form_field_ptr::field (byte) form_field_ptr::field_idx (byte) form_field_ptr::field_idx#0 2002.0 @@ -11561,11 +11657,8 @@ VARIABLE REGISTER WEIGHTS (byte) form_field_ptr::field_idx#2 335.66666666666674 (byte*) form_field_ptr::line (byte*) form_field_ptr::return -(byte*) form_field_ptr::return#0 251.25 -(byte*) form_field_ptr::return#2 2002.0 -(byte*) form_field_ptr::return#3 4.0 (byte) form_field_ptr::x -(byte) form_field_ptr::x#0 4.0 +(byte) form_field_ptr::x#0 33.90000000000003 (byte) form_field_ptr::y (byte) form_field_ptr::y#0 6.0 (byte) form_fields_cnt @@ -11587,10 +11680,9 @@ VARIABLE REGISTER WEIGHTS (byte*) form_preset (void()) form_render_values() (byte*) form_render_values::field -(byte*) form_render_values::field#0 2002.0 (byte) form_render_values::idx (byte) form_render_values::idx#1 1501.5 -(byte) form_render_values::idx#2 667.3333333333334 +(byte) form_render_values::idx#2 1001.0 (void()) form_set_screen((byte*) form_set_screen::screen) (byte~) form_set_screen::$0 202.0 (byte~) form_set_screen::$1 202.0 @@ -11999,7 +12091,7 @@ VARIABLE REGISTER WEIGHTS (byte) keyboard_events_size#24 6.6923076923076925 (byte) keyboard_events_size#27 0.3333333333333333 (byte) keyboard_events_size#4 3.0 -(byte) keyboard_events_size#47 65.05882352941177 +(byte) keyboard_events_size#47 73.73333333333335 (void()) keyboard_init() (byte[8]) keyboard_matrix_col_bitmask (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) @@ -12275,14 +12367,9 @@ Added variable keyboard_matrix_read::return#0 to zero page equivalence class [ k Added variable form_control::return#0 to zero page equivalence class [ form_control::return#0 ] Added variable form_mode::$36 to zero page equivalence class [ form_mode::$36 ] Added variable apply_preset::idx#0 to zero page equivalence class [ apply_preset::idx#0 ] -Added variable form_field_ptr::return#2 to zero page equivalence class [ form_field_ptr::return#2 ] -Added variable form_render_values::field#0 to zero page equivalence class [ form_render_values::field#0 ] Added variable form_field_ptr::y#0 to zero page equivalence class [ form_field_ptr::y#0 ] Added variable form_field_ptr::$2 to zero page equivalence class [ form_field_ptr::$2 ] Added variable form_field_ptr::x#0 to zero page equivalence class [ form_field_ptr::x#0 ] -Added variable form_field_ptr::return#0 to zero page equivalence class [ form_field_ptr::return#0 ] -Added variable form_field_ptr::return#3 to zero page equivalence class [ form_field_ptr::return#3 ] -Added variable form_control::field#0 to zero page equivalence class [ form_control::field#0 ] Added variable form_control::$13 to zero page equivalence class [ form_control::$13 ] Added variable keyboard_event_get::return#4 to zero page equivalence class [ keyboard_event_get::return#4 ] Added variable form_control::key_event#0 to zero page equivalence class [ form_control::key_event#0 ] @@ -12543,14 +12630,9 @@ Complete equivalence classes [ form_control::return#0 ] [ form_mode::$36 ] [ apply_preset::idx#0 ] -[ form_field_ptr::return#2 ] -[ form_render_values::field#0 ] [ form_field_ptr::y#0 ] [ form_field_ptr::$2 ] [ form_field_ptr::x#0 ] -[ form_field_ptr::return#0 ] -[ form_field_ptr::return#3 ] -[ form_control::field#0 ] [ form_control::$13 ] [ keyboard_event_get::return#4 ] [ form_control::key_event#0 ] @@ -12810,77 +12892,72 @@ Allocated zp ZP_BYTE:262 [ keyboard_matrix_read::return#0 ] Allocated zp ZP_BYTE:263 [ form_control::return#0 ] Allocated zp ZP_BYTE:264 [ form_mode::$36 ] Allocated zp ZP_BYTE:265 [ apply_preset::idx#0 ] -Allocated zp ZP_WORD:266 [ form_field_ptr::return#2 ] -Allocated zp ZP_WORD:268 [ form_render_values::field#0 ] -Allocated zp ZP_BYTE:270 [ form_field_ptr::y#0 ] -Allocated zp ZP_WORD:271 [ form_field_ptr::$2 ] -Allocated zp ZP_BYTE:273 [ form_field_ptr::x#0 ] -Allocated zp ZP_WORD:274 [ form_field_ptr::return#0 ] -Allocated zp ZP_WORD:276 [ form_field_ptr::return#3 ] -Allocated zp ZP_WORD:278 [ form_control::field#0 ] -Allocated zp ZP_BYTE:280 [ form_control::$13 ] -Allocated zp ZP_BYTE:281 [ keyboard_event_get::return#4 ] -Allocated zp ZP_BYTE:282 [ form_control::key_event#0 ] -Allocated zp ZP_BYTE:283 [ form_control::$15 ] -Allocated zp ZP_BYTE:284 [ form_control::$16 ] -Allocated zp ZP_BYTE:285 [ form_control::$24 ] -Allocated zp ZP_BYTE:286 [ form_control::$14 ] -Allocated zp ZP_BYTE:287 [ form_set_screen::$0 ] -Allocated zp ZP_BYTE:288 [ form_set_screen::$1 ] -Allocated zp ZP_BYTE:289 [ print_str_lines::ch#0 ] -Allocated zp ZP_WORD:290 [ print_cls::$0 ] -Allocated zp ZP_DWORD:292 [ gfx_init_plane_fill::$0 ] -Allocated zp ZP_WORD:296 [ gfx_init_plane_fill::$1 ] -Allocated zp ZP_BYTE:298 [ gfx_init_plane_fill::gfxbCpuBank#0 ] -Allocated zp ZP_WORD:299 [ gfx_init_plane_fill::$4 ] -Allocated zp ZP_WORD:301 [ gfx_init_plane_fill::$5 ] -Allocated zp ZP_WORD:303 [ gfx_init_plane_fill::$6 ] -Allocated zp ZP_BYTE:305 [ gfx_init_plane_horisontal2::$8 ] -Allocated zp ZP_BYTE:306 [ gfx_init_plane_horisontal2::row#0 ] -Allocated zp ZP_BYTE:307 [ gfx_init_plane_horisontal::$8 ] -Allocated zp ZP_BYTE:308 [ gfx_init_plane_charset8::$8 ] -Allocated zp ZP_WORD:309 [ gfx_init_plane_8bppchunky::$9 ] -Allocated zp ZP_BYTE:311 [ gfx_init_plane_8bppchunky::c#0 ] -Allocated zp ZP_BYTE:312 [ bitmap_line::x0#0 ] -Allocated zp ZP_BYTE:313 [ bitmap_line::x1#0 ] -Allocated zp ZP_BYTE:314 [ bitmap_line::y0#0 ] -Allocated zp ZP_BYTE:315 [ bitmap_line::y1#0 ] -Allocated zp ZP_BYTE:316 [ bitmap_line::xd#2 ] -Allocated zp ZP_BYTE:317 [ bitmap_line::yd#2 ] -Allocated zp ZP_BYTE:318 [ bitmap_line::yd#1 ] -Allocated zp ZP_BYTE:319 [ bitmap_line::xd#1 ] -Allocated zp ZP_BYTE:320 [ bitmap_line::yd#10 ] -Allocated zp ZP_BYTE:321 [ bitmap_line::yd#11 ] -Allocated zp ZP_BYTE:322 [ bitmap_line_xdyi::$6 ] -Allocated zp ZP_WORD:323 [ bitmap_plot::plotter_x#0 ] -Allocated zp ZP_WORD:325 [ bitmap_plot::plotter_y#0 ] -Allocated zp ZP_WORD:327 [ bitmap_plot::$0 ] -Allocated zp ZP_BYTE:329 [ bitmap_plot::$1 ] -Allocated zp ZP_BYTE:330 [ bitmap_line_ydxi::$6 ] -Allocated zp ZP_BYTE:331 [ bitmap_line_xdyd::$6 ] -Allocated zp ZP_BYTE:332 [ bitmap_line_ydxd::$6 ] -Allocated zp ZP_WORD:333 [ bitmap_clear::$3 ] -Allocated zp ZP_BYTE:335 [ bitmap_init::$0 ] -Allocated zp ZP_BYTE:336 [ bitmap_init::$6 ] -Allocated zp ZP_BYTE:337 [ bitmap_init::$7 ] -Allocated zp ZP_BYTE:338 [ bitmap_init::$8 ] -Allocated zp ZP_BYTE:339 [ bitmap_init::$9 ] -Allocated zp ZP_BYTE:340 [ bitmap_init::$10 ] -Allocated zp ZP_BYTE:341 [ gfx_init_screen3::$0 ] -Allocated zp ZP_BYTE:342 [ gfx_init_screen3::$1 ] -Allocated zp ZP_BYTE:343 [ gfx_init_screen3::$2 ] -Allocated zp ZP_BYTE:344 [ gfx_init_screen3::$3 ] -Allocated zp ZP_BYTE:345 [ gfx_init_screen2::$0 ] -Allocated zp ZP_BYTE:346 [ gfx_init_screen2::col#0 ] -Allocated zp ZP_BYTE:347 [ gfx_init_screen2::col2#0 ] -Allocated zp ZP_BYTE:348 [ gfx_init_screen2::$3 ] -Allocated zp ZP_BYTE:349 [ gfx_init_screen2::$4 ] -Allocated zp ZP_BYTE:350 [ gfx_init_screen1::$0 ] -Allocated zp ZP_BYTE:351 [ gfx_init_screen1::$1 ] -Allocated zp ZP_BYTE:352 [ gfx_init_screen0::$0 ] -Allocated zp ZP_BYTE:353 [ gfx_init_screen0::$1 ] -Allocated zp ZP_BYTE:354 [ gfx_init_screen0::$2 ] -Allocated zp ZP_BYTE:355 [ gfx_init_screen0::$3 ] +Allocated zp ZP_BYTE:266 [ form_field_ptr::y#0 ] +Allocated zp ZP_WORD:267 [ form_field_ptr::$2 ] +Allocated zp ZP_BYTE:269 [ form_field_ptr::x#0 ] +Allocated zp ZP_BYTE:270 [ form_control::$13 ] +Allocated zp ZP_BYTE:271 [ keyboard_event_get::return#4 ] +Allocated zp ZP_BYTE:272 [ form_control::key_event#0 ] +Allocated zp ZP_BYTE:273 [ form_control::$15 ] +Allocated zp ZP_BYTE:274 [ form_control::$16 ] +Allocated zp ZP_BYTE:275 [ form_control::$24 ] +Allocated zp ZP_BYTE:276 [ form_control::$14 ] +Allocated zp ZP_BYTE:277 [ form_set_screen::$0 ] +Allocated zp ZP_BYTE:278 [ form_set_screen::$1 ] +Allocated zp ZP_BYTE:279 [ print_str_lines::ch#0 ] +Allocated zp ZP_WORD:280 [ print_cls::$0 ] +Allocated zp ZP_DWORD:282 [ gfx_init_plane_fill::$0 ] +Allocated zp ZP_WORD:286 [ gfx_init_plane_fill::$1 ] +Allocated zp ZP_BYTE:288 [ gfx_init_plane_fill::gfxbCpuBank#0 ] +Allocated zp ZP_WORD:289 [ gfx_init_plane_fill::$4 ] +Allocated zp ZP_WORD:291 [ gfx_init_plane_fill::$5 ] +Allocated zp ZP_WORD:293 [ gfx_init_plane_fill::$6 ] +Allocated zp ZP_BYTE:295 [ gfx_init_plane_horisontal2::$8 ] +Allocated zp ZP_BYTE:296 [ gfx_init_plane_horisontal2::row#0 ] +Allocated zp ZP_BYTE:297 [ gfx_init_plane_horisontal::$8 ] +Allocated zp ZP_BYTE:298 [ gfx_init_plane_charset8::$8 ] +Allocated zp ZP_WORD:299 [ gfx_init_plane_8bppchunky::$9 ] +Allocated zp ZP_BYTE:301 [ gfx_init_plane_8bppchunky::c#0 ] +Allocated zp ZP_BYTE:302 [ bitmap_line::x0#0 ] +Allocated zp ZP_BYTE:303 [ bitmap_line::x1#0 ] +Allocated zp ZP_BYTE:304 [ bitmap_line::y0#0 ] +Allocated zp ZP_BYTE:305 [ bitmap_line::y1#0 ] +Allocated zp ZP_BYTE:306 [ bitmap_line::xd#2 ] +Allocated zp ZP_BYTE:307 [ bitmap_line::yd#2 ] +Allocated zp ZP_BYTE:308 [ bitmap_line::yd#1 ] +Allocated zp ZP_BYTE:309 [ bitmap_line::xd#1 ] +Allocated zp ZP_BYTE:310 [ bitmap_line::yd#10 ] +Allocated zp ZP_BYTE:311 [ bitmap_line::yd#11 ] +Allocated zp ZP_BYTE:312 [ bitmap_line_xdyi::$6 ] +Allocated zp ZP_WORD:313 [ bitmap_plot::plotter_x#0 ] +Allocated zp ZP_WORD:315 [ bitmap_plot::plotter_y#0 ] +Allocated zp ZP_WORD:317 [ bitmap_plot::$0 ] +Allocated zp ZP_BYTE:319 [ bitmap_plot::$1 ] +Allocated zp ZP_BYTE:320 [ bitmap_line_ydxi::$6 ] +Allocated zp ZP_BYTE:321 [ bitmap_line_xdyd::$6 ] +Allocated zp ZP_BYTE:322 [ bitmap_line_ydxd::$6 ] +Allocated zp ZP_WORD:323 [ bitmap_clear::$3 ] +Allocated zp ZP_BYTE:325 [ bitmap_init::$0 ] +Allocated zp ZP_BYTE:326 [ bitmap_init::$6 ] +Allocated zp ZP_BYTE:327 [ bitmap_init::$7 ] +Allocated zp ZP_BYTE:328 [ bitmap_init::$8 ] +Allocated zp ZP_BYTE:329 [ bitmap_init::$9 ] +Allocated zp ZP_BYTE:330 [ bitmap_init::$10 ] +Allocated zp ZP_BYTE:331 [ gfx_init_screen3::$0 ] +Allocated zp ZP_BYTE:332 [ gfx_init_screen3::$1 ] +Allocated zp ZP_BYTE:333 [ gfx_init_screen3::$2 ] +Allocated zp ZP_BYTE:334 [ gfx_init_screen3::$3 ] +Allocated zp ZP_BYTE:335 [ gfx_init_screen2::$0 ] +Allocated zp ZP_BYTE:336 [ gfx_init_screen2::col#0 ] +Allocated zp ZP_BYTE:337 [ gfx_init_screen2::col2#0 ] +Allocated zp ZP_BYTE:338 [ gfx_init_screen2::$3 ] +Allocated zp ZP_BYTE:339 [ gfx_init_screen2::$4 ] +Allocated zp ZP_BYTE:340 [ gfx_init_screen1::$0 ] +Allocated zp ZP_BYTE:341 [ gfx_init_screen1::$1 ] +Allocated zp ZP_BYTE:342 [ gfx_init_screen0::$0 ] +Allocated zp ZP_BYTE:343 [ gfx_init_screen0::$1 ] +Allocated zp ZP_BYTE:344 [ gfx_init_screen0::$2 ] +Allocated zp ZP_BYTE:345 [ gfx_init_screen0::$3 ] INITIAL ASM //SEG0 File Comments @@ -13097,7 +13174,7 @@ main: { //SEG16 main::@3 b3: //SEG17 [10] call gfx_init - //SEG18 [449] phi from main::@3 to gfx_init [phi:main::@3->gfx_init] + //SEG18 [444] phi from main::@3 to gfx_init [phi:main::@3->gfx_init] gfx_init_from_b3: jsr gfx_init //SEG19 [11] phi from main::@3 to main::@1 [phi:main::@3->main::@1] @@ -13961,7 +14038,7 @@ gfx_mode: { keyboard_event_get: { .label return = $d .label return_3 = $f1 - .label return_4 = $119 + .label return_4 = $10f //SEG254 [154] if((byte) keyboard_events_size#100==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_get::@return -- vbuz1_eq_0_then_la1 lda keyboard_events_size cmp #0 @@ -14809,9 +14886,9 @@ form_mode: { .label i = $1e .label preset_current = $21 //SEG484 [255] call print_set_screen - //SEG485 [447] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] + //SEG485 [442] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] print_set_screen_from_form_mode: - //SEG486 [447] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 + //SEG486 [442] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 lda #COLS @@ -14830,9 +14907,9 @@ form_mode: { //SEG491 form_mode::@9 b9: //SEG492 [259] call print_str_lines - //SEG493 [419] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] + //SEG493 [414] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] print_str_lines_from_b9: - //SEG494 [419] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_COLS#0 [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 + //SEG494 [414] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_COLS#0 [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_COLS @@ -14844,9 +14921,9 @@ form_mode: { //SEG496 form_mode::@10 b10: //SEG497 [261] call print_set_screen - //SEG498 [447] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] + //SEG498 [442] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] print_set_screen_from_b10: - //SEG499 [447] phi (byte*) print_set_screen::screen#2 = (const byte*) FORM_SCREEN#0 [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 + //SEG499 [442] phi (byte*) print_set_screen::screen#2 = (const byte*) FORM_SCREEN#0 [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 lda #FORM_SCREEN @@ -14865,9 +14942,9 @@ form_mode: { //SEG504 form_mode::@12 b12: //SEG505 [265] call print_str_lines - //SEG506 [419] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] + //SEG506 [414] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] print_str_lines_from_b12: - //SEG507 [419] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_TEXT#0 [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 + //SEG507 [414] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_TEXT#0 [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_TEXT @@ -14879,7 +14956,7 @@ form_mode: { //SEG509 form_mode::@13 b13: //SEG510 [267] call form_set_screen - //SEG511 [409] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] + //SEG511 [404] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] form_set_screen_from_b13: jsr form_set_screen //SEG512 [268] phi from form_mode::@13 to form_mode::@14 [phi:form_mode::@13->form_mode::@14] @@ -15328,7 +15405,6 @@ print_str_at: { //SEG648 form_render_values // Render all form values from the form_fields_val array form_render_values: { - .label field = $10c .label idx = $29 //SEG649 [331] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] b1_from_form_render_values: @@ -15346,82 +15422,61 @@ form_render_values: { lda idx sta form_field_ptr.field_idx //SEG655 [333] call form_field_ptr - //SEG656 [340] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //SEG656 [338] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] form_field_ptr_from_b1: - //SEG657 [340] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy + //SEG657 [338] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG658 [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 -- pbuz1=pbuz2 - lda form_field_ptr.return - sta form_field_ptr.return_2 - lda form_field_ptr.return+1 - sta form_field_ptr.return_2+1 jmp b2 - //SEG659 form_render_values::@2 + //SEG658 form_render_values::@2 b2: - //SEG660 [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 -- pbuz1=pbuz2 - lda form_field_ptr.return_2 - sta field - lda form_field_ptr.return_2+1 - sta field+1 - //SEG661 [336] *((byte*) form_render_values::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG659 [334] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuz3 ldx idx ldy form_fields_val,x lda print_hextab,y - ldy #0 - sta (field),y - //SEG662 [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG660 [335] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 inc idx - //SEG663 [338] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 -- vbuz1_lt_vbuc1_then_la1 + //SEG661 [336] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 -- vbuz1_lt_vbuc1_then_la1 lda idx cmp #form_fields_cnt bcc b1_from_b2 jmp breturn - //SEG664 form_render_values::@return + //SEG662 form_render_values::@return breturn: - //SEG665 [339] return + //SEG663 [337] return rts } -//SEG666 form_field_ptr +//SEG664 form_field_ptr // Get the screen address of a form field // field_idx is the index of the field to get the screen address for // form_field_ptr(byte zeropage($2a) field_idx) form_field_ptr: { - .label y = $10e - .label x = $111 - .label return = $112 + .label y = $10a + .label x = $10d .label field_idx = $2a - .label return_2 = $10a - .label return_3 = $114 - .label _2 = $10f - //SEG667 [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 + .label _2 = $10b + //SEG665 [339] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy field_idx lda form_fields_y,y sta y - //SEG668 [342] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + //SEG666 [340] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy y lda form_line_hi,y sta _2+1 lda form_line_lo,y sta _2 - //SEG669 [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG667 [341] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy field_idx lda form_fields_x,y sta x - //SEG670 [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz2_plus_vbuz3 - lda x - clc - adc _2 - sta return - lda #0 - adc _2+1 - sta return+1 jmp breturn - //SEG671 form_field_ptr::@return + //SEG668 form_field_ptr::@return breturn: - //SEG672 [345] return + //SEG669 [342] return rts } -//SEG673 apply_preset +//SEG670 apply_preset // Apply a form value preset to the form values // idx is the ID of the preset // apply_preset(byte zeropage($109) idx) @@ -15429,254 +15484,243 @@ apply_preset: { .label i = $2d .label idx = $109 .label preset = $2b - //SEG674 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 -- vbuz1_eq_0_then_la1 + //SEG671 [343] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 -- vbuz1_eq_0_then_la1 lda idx cmp #0 beq b1_from_apply_preset jmp b2 - //SEG675 apply_preset::@2 + //SEG672 apply_preset::@2 b2: - //SEG676 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG673 [344] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #1 cmp idx beq b1_from_b2 jmp b3 - //SEG677 apply_preset::@3 + //SEG674 apply_preset::@3 b3: - //SEG678 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG675 [345] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #2 cmp idx beq b1_from_b3 jmp b4 - //SEG679 apply_preset::@4 + //SEG676 apply_preset::@4 b4: - //SEG680 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG677 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #3 cmp idx beq b1_from_b4 jmp b5 - //SEG681 apply_preset::@5 + //SEG678 apply_preset::@5 b5: - //SEG682 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG679 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #4 cmp idx beq b1_from_b5 jmp b6 - //SEG683 apply_preset::@6 + //SEG680 apply_preset::@6 b6: - //SEG684 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG681 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #5 cmp idx beq b1_from_b6 jmp b7 - //SEG685 apply_preset::@7 + //SEG682 apply_preset::@7 b7: - //SEG686 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG683 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #6 cmp idx beq b1_from_b7 jmp b8 - //SEG687 apply_preset::@8 + //SEG684 apply_preset::@8 b8: - //SEG688 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG685 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #7 cmp idx beq b1_from_b8 jmp b9 - //SEG689 apply_preset::@9 + //SEG686 apply_preset::@9 b9: - //SEG690 [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG687 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #8 cmp idx beq b1_from_b9 jmp b10 - //SEG691 apply_preset::@10 + //SEG688 apply_preset::@10 b10: - //SEG692 [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG689 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #9 cmp idx beq b1_from_b10 jmp b11 - //SEG693 apply_preset::@11 + //SEG690 apply_preset::@11 b11: - //SEG694 [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + //SEG691 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #$a cmp idx beq b1_from_b11 - //SEG695 [357] phi from apply_preset::@11 to apply_preset::@12 [phi:apply_preset::@11->apply_preset::@12] + //SEG692 [354] phi from apply_preset::@11 to apply_preset::@12 [phi:apply_preset::@11->apply_preset::@12] b12_from_b11: jmp b12 - //SEG696 apply_preset::@12 + //SEG693 apply_preset::@12 b12: - //SEG697 [358] phi from apply_preset apply_preset::@12 to apply_preset::@1 [phi:apply_preset/apply_preset::@12->apply_preset::@1] + //SEG694 [355] phi from apply_preset apply_preset::@12 to apply_preset::@1 [phi:apply_preset/apply_preset::@12->apply_preset::@1] b1_from_apply_preset: b1_from_b12: - //SEG698 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@12->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG695 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@12->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_stdchar sta preset+1 jmp b1 - //SEG699 [358] phi from apply_preset::@10 to apply_preset::@1 [phi:apply_preset::@10->apply_preset::@1] + //SEG696 [355] phi from apply_preset::@10 to apply_preset::@1 [phi:apply_preset::@10->apply_preset::@1] b1_from_b10: - //SEG700 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@10->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG697 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@10->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_sixsfred2 sta preset+1 jmp b1 - //SEG701 [358] phi from apply_preset::@11 to apply_preset::@1 [phi:apply_preset::@11->apply_preset::@1] + //SEG698 [355] phi from apply_preset::@11 to apply_preset::@1 [phi:apply_preset::@11->apply_preset::@1] b1_from_b11: - //SEG702 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@11->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG699 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@11->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_8bpppixelcell sta preset+1 jmp b1 - //SEG703 [358] phi from apply_preset::@2 to apply_preset::@1 [phi:apply_preset::@2->apply_preset::@1] + //SEG700 [355] phi from apply_preset::@2 to apply_preset::@1 [phi:apply_preset::@2->apply_preset::@1] b1_from_b2: - //SEG704 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@2->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG701 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@2->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_ecmchar sta preset+1 jmp b1 - //SEG705 [358] phi from apply_preset::@3 to apply_preset::@1 [phi:apply_preset::@3->apply_preset::@1] + //SEG702 [355] phi from apply_preset::@3 to apply_preset::@1 [phi:apply_preset::@3->apply_preset::@1] b1_from_b3: - //SEG706 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@3->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG703 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@3->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_stdbm sta preset+1 jmp b1 - //SEG707 [358] phi from apply_preset::@4 to apply_preset::@1 [phi:apply_preset::@4->apply_preset::@1] + //SEG704 [355] phi from apply_preset::@4 to apply_preset::@1 [phi:apply_preset::@4->apply_preset::@1] b1_from_b4: - //SEG708 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@4->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG705 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@4->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_mcbm sta preset+1 jmp b1 - //SEG709 [358] phi from apply_preset::@5 to apply_preset::@1 [phi:apply_preset::@5->apply_preset::@1] + //SEG706 [355] phi from apply_preset::@5 to apply_preset::@1 [phi:apply_preset::@5->apply_preset::@1] b1_from_b5: - //SEG710 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@5->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG707 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@5->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_hi_stdchar sta preset+1 jmp b1 - //SEG711 [358] phi from apply_preset::@6 to apply_preset::@1 [phi:apply_preset::@6->apply_preset::@1] + //SEG708 [355] phi from apply_preset::@6 to apply_preset::@1 [phi:apply_preset::@6->apply_preset::@1] b1_from_b6: - //SEG712 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@6->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG709 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@6->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_hi_ecmchar sta preset+1 jmp b1 - //SEG713 [358] phi from apply_preset::@7 to apply_preset::@1 [phi:apply_preset::@7->apply_preset::@1] + //SEG710 [355] phi from apply_preset::@7 to apply_preset::@1 [phi:apply_preset::@7->apply_preset::@1] b1_from_b7: - //SEG714 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@7->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG711 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@7->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_twoplane sta preset+1 jmp b1 - //SEG715 [358] phi from apply_preset::@8 to apply_preset::@1 [phi:apply_preset::@8->apply_preset::@1] + //SEG712 [355] phi from apply_preset::@8 to apply_preset::@1 [phi:apply_preset::@8->apply_preset::@1] b1_from_b8: - //SEG716 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_chunky#0 [phi:apply_preset::@8->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG713 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_chunky#0 [phi:apply_preset::@8->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_chunky sta preset+1 jmp b1 - //SEG717 [358] phi from apply_preset::@9 to apply_preset::@1 [phi:apply_preset::@9->apply_preset::@1] + //SEG714 [355] phi from apply_preset::@9 to apply_preset::@1 [phi:apply_preset::@9->apply_preset::@1] b1_from_b9: - //SEG718 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@9->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG715 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@9->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_sixsfred sta preset+1 jmp b1 - //SEG719 apply_preset::@1 + //SEG716 apply_preset::@1 b1: - //SEG720 [359] phi from apply_preset::@1 to apply_preset::@13 [phi:apply_preset::@1->apply_preset::@13] + //SEG717 [356] phi from apply_preset::@1 to apply_preset::@13 [phi:apply_preset::@1->apply_preset::@13] b13_from_b1: - //SEG721 [359] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@1->apply_preset::@13#0] -- vbuz1=vbuc1 + //SEG718 [356] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@1->apply_preset::@13#0] -- vbuz1=vbuc1 lda #0 sta i jmp b13 // Copy preset values into the fields - //SEG722 [359] phi from apply_preset::@13 to apply_preset::@13 [phi:apply_preset::@13->apply_preset::@13] + //SEG719 [356] phi from apply_preset::@13 to apply_preset::@13 [phi:apply_preset::@13->apply_preset::@13] b13_from_b13: - //SEG723 [359] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@13->apply_preset::@13#0] -- register_copy + //SEG720 [356] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@13->apply_preset::@13#0] -- register_copy jmp b13 - //SEG724 apply_preset::@13 + //SEG721 apply_preset::@13 b13: - //SEG725 [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1 + //SEG722 [357] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1 ldy i lda (preset),y sta form_fields_val,y - //SEG726 [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuz1=_inc_vbuz1 + //SEG723 [358] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuz1=_inc_vbuz1 inc i - //SEG727 [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 -- vbuz1_neq_vbuc1_then_la1 + //SEG724 [359] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 -- vbuz1_neq_vbuc1_then_la1 lda #form_fields_cnt cmp i bne b13_from_b13 jmp breturn - //SEG728 apply_preset::@return + //SEG725 apply_preset::@return breturn: - //SEG729 [363] return + //SEG726 [360] return rts } -//SEG730 form_control +//SEG727 form_control // Reads keyboard and allows the user to navigate and change the fields of the form // Returns 0 if space is not pressed, non-0 if space is pressed form_control: { - .label _13 = $118 - .label _14 = $11e - .label _15 = $11b - .label _16 = $11c - .label _24 = $11d + .label _13 = $10e + .label _14 = $114 + .label _15 = $111 + .label _16 = $112 + .label _24 = $113 .label return = $107 - .label field = $116 - .label key_event = $11a + .label key_event = $110 .label return_2 = $2e - //SEG731 [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuz1=vbuz2 + //SEG728 [361] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuz1=vbuz2 lda form_field_idx sta form_field_ptr.field_idx - //SEG732 [365] call form_field_ptr - //SEG733 [340] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG729 [362] call form_field_ptr + //SEG730 [338] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - //SEG734 [340] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + //SEG731 [338] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG735 [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 -- pbuz1=pbuz2 - lda form_field_ptr.return - sta form_field_ptr.return_3 - lda form_field_ptr.return+1 - sta form_field_ptr.return_3+1 jmp b17 - //SEG736 form_control::@17 + //SEG732 form_control::@17 b17: - //SEG737 [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 -- pbuz1=pbuz2 - lda form_field_ptr.return_3 - sta field - lda form_field_ptr.return_3+1 - sta field+1 - //SEG738 [368] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 + //SEG733 [363] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG739 [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 -- vbsz1_ge_0_then_la1 + //SEG734 [364] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b20_from_b17 - //SEG740 [370] phi from form_control::@17 to form_control::@1 [phi:form_control::@17->form_control::@1] + //SEG735 [365] phi from form_control::@17 to form_control::@1 [phi:form_control::@17->form_control::@1] b1_from_b17: - //SEG741 [370] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@17->form_control::@1#0] -- vbsz1=vbsc1 + //SEG736 [365] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@17->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count jmp b1 - //SEG742 form_control::@1 + //SEG737 form_control::@1 b1: - //SEG743 [371] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 -- vbsz1_lt_vbuc1_then_la1 + //SEG738 [366] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 -- vbsz1_lt_vbuc1_then_la1 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -15685,286 +15729,286 @@ form_control: { !: bmi b2 jmp b6 - //SEG744 form_control::@6 + //SEG739 form_control::@6 b6: - //SEG745 [372] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG740 [367] (byte~) form_control::$13 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuz1=pbuz2_derefidx_vbuz3_band_vbuc1 lda #$7f - ldy #0 - and (field),y + ldy form_field_ptr.x + and (form_field_ptr._2),y sta _13 - //SEG746 [373] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- _deref_pbuz1=vbuz2 + //SEG741 [368] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$13 -- pbuz1_derefidx_vbuz2=vbuz3 lda _13 - ldy #0 - sta (field),y - //SEG747 [374] phi from form_control::@2 form_control::@6 to form_control::@3 [phi:form_control::@2/form_control::@6->form_control::@3] + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG742 [369] phi from form_control::@2 form_control::@6 to form_control::@3 [phi:form_control::@2/form_control::@6->form_control::@3] b3_from_b2: b3_from_b6: jmp b3 - //SEG748 form_control::@3 + //SEG743 form_control::@3 b3: - //SEG749 [375] call keyboard_event_scan - //SEG750 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + //SEG744 [370] call keyboard_event_scan + //SEG745 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] keyboard_event_scan_from_b3: - //SEG751 [159] phi (byte) keyboard_events_size#110 = (byte) keyboard_events_size#47 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy + //SEG746 [159] phi (byte) keyboard_events_size#110 = (byte) keyboard_events_size#47 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy jsr keyboard_event_scan - //SEG752 [376] phi from form_control::@3 to form_control::@18 [phi:form_control::@3->form_control::@18] + //SEG747 [371] phi from form_control::@3 to form_control::@18 [phi:form_control::@3->form_control::@18] b18_from_b3: jmp b18 - //SEG753 form_control::@18 + //SEG748 form_control::@18 b18: - //SEG754 [377] call keyboard_event_get + //SEG749 [372] call keyboard_event_get jsr keyboard_event_get - //SEG755 [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 -- vbuz1=vbuz2 + //SEG750 [373] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 -- vbuz1=vbuz2 lda keyboard_event_get.return sta keyboard_event_get.return_4 jmp b19 - //SEG756 form_control::@19 + //SEG751 form_control::@19 b19: - //SEG757 [379] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 -- vbuz1=vbuz2 + //SEG752 [374] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 -- vbuz1=vbuz2 lda keyboard_event_get.return_4 sta key_event - //SEG758 [380] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuz1_neq_vbuc1_then_la1 + //SEG753 [375] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuz1_neq_vbuc1_then_la1 lda #KEY_CRSR_DOWN cmp key_event bne b4 jmp b7 - //SEG759 form_control::@7 + //SEG754 form_control::@7 b7: - //SEG760 [381] (byte~) form_control::$15 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG755 [376] (byte~) form_control::$15 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuz1=pbuz2_derefidx_vbuz3_band_vbuc1 lda #$7f - ldy #0 - and (field),y + ldy form_field_ptr.x + and (form_field_ptr._2),y sta _15 - //SEG761 [382] *((byte*) form_control::field#0) ← (byte~) form_control::$15 -- _deref_pbuz1=vbuz2 + //SEG756 [377] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$15 -- pbuz1_derefidx_vbuz2=vbuz3 // Unblink the cursor lda _15 - ldy #0 - sta (field),y - //SEG762 [383] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuz1=vbuz2_band_vbuc1 + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG757 [378] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuz1=vbuz2_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers sta _16 - //SEG763 [384] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 -- vbuz1_eq_0_then_la1 + //SEG758 [379] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 -- vbuz1_eq_0_then_la1 lda _16 cmp #0 beq b12 jmp b8 - //SEG764 form_control::@8 + //SEG759 form_control::@8 b8: - //SEG765 [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuz1=_dec_vbuz1 + //SEG760 [380] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG766 [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 -- vbuz1_neq_vbuc1_then_la1 + //SEG761 [381] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 -- vbuz1_neq_vbuc1_then_la1 lda #$ff cmp form_field_idx bne b21_from_b8 - //SEG767 [387] phi from form_control::@8 to form_control::@13 [phi:form_control::@8->form_control::@13] + //SEG762 [382] phi from form_control::@8 to form_control::@13 [phi:form_control::@8->form_control::@13] b13_from_b8: - //SEG768 [387] phi (byte) form_field_idx#31 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@8->form_control::@13#0] -- vbuz1=vbuc1 + //SEG763 [382] phi (byte) form_field_idx#31 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@8->form_control::@13#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx jmp b13 - //SEG769 form_control::@13 + //SEG764 form_control::@13 b13: - //SEG770 [388] phi from form_control::@13 to form_control::@return [phi:form_control::@13->form_control::@return] + //SEG765 [383] phi from form_control::@13 to form_control::@return [phi:form_control::@13->form_control::@return] breturn_from_b13: - //SEG771 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#31 [phi:form_control::@13->form_control::@return#0] -- register_copy - //SEG772 [388] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@13->form_control::@return#1] -- vbsz1=vbuc1 + //SEG766 [383] phi (byte) form_field_idx#18 = (byte) form_field_idx#31 [phi:form_control::@13->form_control::@return#0] -- register_copy + //SEG767 [383] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@13->form_control::@return#1] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count - //SEG773 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@13->form_control::@return#2] -- vbuz1=vbuc1 + //SEG768 [383] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@13->form_control::@return#2] -- vbuz1=vbuc1 lda #0 sta return_2 jmp breturn - //SEG774 form_control::@return + //SEG769 form_control::@return breturn: - //SEG775 [389] return + //SEG770 [384] return rts - //SEG776 [390] phi from form_control::@8 to form_control::@21 [phi:form_control::@8->form_control::@21] + //SEG771 [385] phi from form_control::@8 to form_control::@21 [phi:form_control::@8->form_control::@21] b21_from_b8: jmp b21 - //SEG777 form_control::@21 + //SEG772 form_control::@21 b21: - //SEG778 [387] phi from form_control::@21 form_control::@22 to form_control::@13 [phi:form_control::@21/form_control::@22->form_control::@13] + //SEG773 [382] phi from form_control::@21 form_control::@22 to form_control::@13 [phi:form_control::@21/form_control::@22->form_control::@13] b13_from_b21: b13_from_b22: - //SEG779 [387] phi (byte) form_field_idx#31 = (byte) form_field_idx#44 [phi:form_control::@21/form_control::@22->form_control::@13#0] -- register_copy + //SEG774 [382] phi (byte) form_field_idx#31 = (byte) form_field_idx#44 [phi:form_control::@21/form_control::@22->form_control::@13#0] -- register_copy jmp b13 - //SEG780 form_control::@12 + //SEG775 form_control::@12 b12: - //SEG781 [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuz1=_inc_vbuz1 + //SEG776 [386] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG782 [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 + //SEG777 [387] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 lda #form_fields_cnt cmp form_field_idx bne b22_from_b12 - //SEG783 [387] phi from form_control::@12 to form_control::@13 [phi:form_control::@12->form_control::@13] + //SEG778 [382] phi from form_control::@12 to form_control::@13 [phi:form_control::@12->form_control::@13] b13_from_b12: - //SEG784 [387] phi (byte) form_field_idx#31 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@12->form_control::@13#0] -- vbuz1=vbuc1 + //SEG779 [382] phi (byte) form_field_idx#31 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@12->form_control::@13#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx jmp b13 - //SEG785 [393] phi from form_control::@12 to form_control::@22 [phi:form_control::@12->form_control::@22] + //SEG780 [388] phi from form_control::@12 to form_control::@22 [phi:form_control::@12->form_control::@22] b22_from_b12: jmp b22 - //SEG786 form_control::@22 + //SEG781 form_control::@22 b22: jmp b13_from_b22 - //SEG787 form_control::@4 + //SEG782 form_control::@4 b4: - //SEG788 [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 -- vbuz1_neq_vbuc1_then_la1 + //SEG783 [389] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 -- vbuz1_neq_vbuc1_then_la1 lda #KEY_CRSR_RIGHT cmp key_event bne b5 jmp b9 - //SEG789 form_control::@9 + //SEG784 form_control::@9 b9: - //SEG790 [395] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuz1=vbuz2_band_vbuc1 + //SEG785 [390] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuz1=vbuz2_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers sta _24 - //SEG791 [396] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 -- vbuz1_eq_0_then_la1 + //SEG786 [391] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 -- vbuz1_eq_0_then_la1 lda _24 cmp #0 beq b14 jmp b10 - //SEG792 form_control::@10 + //SEG787 form_control::@10 b10: - //SEG793 [397] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + //SEG788 [392] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx form_field_idx dec form_fields_val,x - //SEG794 [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG789 [393] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 lda #$ff ldy form_field_idx cmp form_fields_val,y bne b15 jmp b11 - //SEG795 form_control::@11 + //SEG790 form_control::@11 b11: - //SEG796 [399] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + //SEG791 [394] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy form_field_idx lda form_fields_max,y sta form_fields_val,y jmp b15 - //SEG797 form_control::@15 + //SEG792 form_control::@15 b15: - //SEG798 [400] *((byte*) form_control::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG793 [395] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuz3 // Render field value ldx form_field_idx ldy form_fields_val,x lda print_hextab,y - ldy #0 - sta (field),y - //SEG799 [388] phi from form_control::@15 form_control::@23 to form_control::@return [phi:form_control::@15/form_control::@23->form_control::@return] + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG794 [383] phi from form_control::@15 form_control::@23 to form_control::@return [phi:form_control::@15/form_control::@23->form_control::@return] breturn_from_b15: breturn_from_b23: - //SEG800 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@15/form_control::@23->form_control::@return#0] -- register_copy - //SEG801 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@15/form_control::@23->form_control::@return#1] -- register_copy - //SEG802 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@15/form_control::@23->form_control::@return#2] -- vbuz1=vbuc1 + //SEG795 [383] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@15/form_control::@23->form_control::@return#0] -- register_copy + //SEG796 [383] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@15/form_control::@23->form_control::@return#1] -- register_copy + //SEG797 [383] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@15/form_control::@23->form_control::@return#2] -- vbuz1=vbuc1 lda #0 sta return_2 jmp breturn - //SEG803 form_control::@14 + //SEG798 form_control::@14 b14: - //SEG804 [401] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + //SEG799 [396] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx form_field_idx inc form_fields_val,x - //SEG805 [402] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //SEG800 [397] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b15 beq b15 jmp b16 - //SEG806 form_control::@16 + //SEG801 form_control::@16 b16: - //SEG807 [403] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG802 [398] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 ldy form_field_idx sta form_fields_val,y jmp b15 - //SEG808 form_control::@5 + //SEG803 form_control::@5 b5: - //SEG809 [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 -- vbuz1_neq_vbuc1_then_la1 + //SEG804 [399] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 -- vbuz1_neq_vbuc1_then_la1 lda #KEY_SPACE cmp key_event bne b23_from_b5 - //SEG810 [388] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] + //SEG805 [383] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] breturn_from_b5: - //SEG811 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@5->form_control::@return#0] -- register_copy - //SEG812 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@5->form_control::@return#1] -- register_copy - //SEG813 [388] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) $ff [phi:form_control::@5->form_control::@return#2] -- vbuz1=vbuc1 + //SEG806 [383] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@5->form_control::@return#0] -- register_copy + //SEG807 [383] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@5->form_control::@return#1] -- register_copy + //SEG808 [383] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) $ff [phi:form_control::@5->form_control::@return#2] -- vbuz1=vbuc1 lda #$ff sta return_2 jmp breturn - //SEG814 [405] phi from form_control::@5 to form_control::@23 [phi:form_control::@5->form_control::@23] + //SEG809 [400] phi from form_control::@5 to form_control::@23 [phi:form_control::@5->form_control::@23] b23_from_b5: jmp b23 - //SEG815 form_control::@23 + //SEG810 form_control::@23 b23: jmp breturn_from_b23 - //SEG816 form_control::@2 + //SEG811 form_control::@2 b2: - //SEG817 [406] (byte/word/dword~) form_control::$14 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) $80 -- vbuz1=_deref_pbuz2_bor_vbuc1 + //SEG812 [401] (byte/word/dword~) form_control::$14 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) | (byte/word/signed word/dword/signed dword) $80 -- vbuz1=pbuz2_derefidx_vbuz3_bor_vbuc1 lda #$80 - ldy #0 - ora (field),y + ldy form_field_ptr.x + ora (form_field_ptr._2),y sta _14 - //SEG818 [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$14 -- _deref_pbuz1=vbuz2 + //SEG813 [402] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte/word/dword~) form_control::$14 -- pbuz1_derefidx_vbuz2=vbuz3 lda _14 - ldy #0 - sta (field),y + ldy form_field_ptr.x + sta (form_field_ptr._2),y jmp b3_from_b2 - //SEG819 [408] phi from form_control::@17 to form_control::@20 [phi:form_control::@17->form_control::@20] + //SEG814 [403] phi from form_control::@17 to form_control::@20 [phi:form_control::@17->form_control::@20] b20_from_b17: jmp b20 - //SEG820 form_control::@20 + //SEG815 form_control::@20 b20: - //SEG821 [370] phi from form_control::@20 to form_control::@1 [phi:form_control::@20->form_control::@1] + //SEG816 [365] phi from form_control::@20 to form_control::@1 [phi:form_control::@20->form_control::@1] b1_from_b20: - //SEG822 [370] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@20->form_control::@1#0] -- register_copy + //SEG817 [365] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@20->form_control::@1#0] -- register_copy jmp b1 } -//SEG823 form_set_screen +//SEG818 form_set_screen // Set the screen to use for the form. // screen is the start address of the screen to use form_set_screen: { - .label _0 = $11f - .label _1 = $120 + .label _0 = $115 + .label _1 = $116 .label line = $2f .label y = $31 - //SEG824 [410] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + //SEG819 [405] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] b1_from_form_set_screen: - //SEG825 [410] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuz1=vbuc1 + //SEG820 [405] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuz1=vbuc1 lda #0 sta y - //SEG826 [410] phi (byte*) form_set_screen::line#2 = (const byte*) FORM_SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + //SEG821 [405] phi (byte*) form_set_screen::line#2 = (const byte*) FORM_SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 lda #FORM_SCREEN sta line+1 jmp b1 - //SEG827 [410] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG822 [405] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] b1_from_b1: - //SEG828 [410] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy - //SEG829 [410] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy + //SEG823 [405] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy + //SEG824 [405] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy jmp b1 - //SEG830 form_set_screen::@1 + //SEG825 form_set_screen::@1 b1: - //SEG831 [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuz1=_lo_pbuz2 + //SEG826 [406] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuz1=_lo_pbuz2 lda line sta _0 - //SEG832 [412] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG827 [407] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuz1=vbuz2 lda _0 ldy y sta form_line_lo,y - //SEG833 [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuz1=_hi_pbuz2 + //SEG828 [408] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuz1=_hi_pbuz2 lda line+1 sta _1 - //SEG834 [414] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG829 [409] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuz1=vbuz2 lda _1 ldy y sta form_line_hi,y - //SEG835 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG830 [410] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc line @@ -15972,120 +16016,120 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG836 [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuz1=_inc_vbuz1 + //SEG831 [411] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG837 [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG832 [412] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp y bne b1_from_b1 jmp breturn - //SEG838 form_set_screen::@return + //SEG833 form_set_screen::@return breturn: - //SEG839 [418] return + //SEG834 [413] return rts } -//SEG840 print_str_lines +//SEG835 print_str_lines // Print a number of zero-terminated strings, each followed by a newline. // The sequence of lines is terminated by another zero. // print_str_lines(byte* zeropage($32) str) print_str_lines: { - .label ch = $121 + .label ch = $117 .label str = $32 - //SEG841 [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG836 [415] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 lda print_set_screen.screen sta print_char_cursor lda print_set_screen.screen+1 sta print_char_cursor+1 - //SEG842 [421] phi from print_str_lines print_str_lines::@5 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1] + //SEG837 [416] phi from print_str_lines print_str_lines::@5 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1] b1_from_print_str_lines: b1_from_b5: - //SEG843 [421] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#0] -- register_copy - //SEG844 [421] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#77 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#1] -- register_copy - //SEG845 [421] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#2] -- register_copy + //SEG838 [416] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#0] -- register_copy + //SEG839 [416] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#77 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#1] -- register_copy + //SEG840 [416] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#2] -- register_copy jmp b1 - //SEG846 print_str_lines::@1 + //SEG841 print_str_lines::@1 b1: - //SEG847 [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG842 [417] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2_from_b1 jmp breturn - //SEG848 print_str_lines::@return + //SEG843 print_str_lines::@return breturn: - //SEG849 [423] return + //SEG844 [418] return rts - //SEG850 [424] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] + //SEG845 [419] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] b2_from_b1: b2_from_b3: - //SEG851 [424] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy - //SEG852 [424] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy + //SEG846 [419] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy + //SEG847 [419] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy jmp b2 - //SEG853 print_str_lines::@2 + //SEG848 print_str_lines::@2 b2: - //SEG854 [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuz1=_deref_pbuz2 + //SEG849 [420] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuz1=_deref_pbuz2 ldy #0 lda (str),y sta ch - //SEG855 [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 + //SEG850 [421] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG856 [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 -- vbuz1_eq_vbuc1_then_la1 + //SEG851 [422] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 -- vbuz1_eq_vbuc1_then_la1 lda #'@' cmp ch beq b3_from_b2 jmp b4 - //SEG857 print_str_lines::@4 + //SEG852 print_str_lines::@4 b4: - //SEG858 [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuz2 + //SEG853 [423] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuz2 lda ch ldy #0 sta (print_char_cursor),y - //SEG859 [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 + //SEG854 [424] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG860 [430] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] + //SEG855 [425] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] b3_from_b2: b3_from_b4: - //SEG861 [430] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy + //SEG856 [425] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy jmp b3 - //SEG862 print_str_lines::@3 + //SEG857 print_str_lines::@3 b3: - //SEG863 [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG858 [426] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 -- vbuz1_neq_vbuc1_then_la1 lda #'@' cmp ch bne b2_from_b3 - //SEG864 [432] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] + //SEG859 [427] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] b5_from_b3: jmp b5 - //SEG865 print_str_lines::@5 + //SEG860 print_str_lines::@5 b5: - //SEG866 [433] call print_ln - //SEG867 [435] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] + //SEG861 [428] call print_ln + //SEG862 [430] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] print_ln_from_b5: jsr print_ln - //SEG868 [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 -- pbuz1=pbuz2 + //SEG863 [429] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 jmp b1_from_b5 } -//SEG869 print_ln +//SEG864 print_ln // Print a newline print_ln: { - //SEG870 [436] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG865 [431] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG871 [436] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG866 [431] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG872 print_ln::@1 + //SEG867 print_ln::@1 b1: - //SEG873 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG868 [432] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc print_line_cursor @@ -16093,7 +16137,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG874 [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + //SEG869 [433] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -16103,38 +16147,38 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG875 print_ln::@return + //SEG870 print_ln::@return breturn: - //SEG876 [439] return + //SEG871 [434] return rts } -//SEG877 print_cls +//SEG872 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { - .label _0 = $122 + .label _0 = $118 .label sc = $38 - //SEG878 [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG873 [435] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 lda print_set_screen.screen sta sc lda print_set_screen.screen+1 sta sc+1 - //SEG879 [441] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] + //SEG874 [436] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] b1_from_print_cls: b1_from_b1: - //SEG880 [441] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy + //SEG875 [436] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG881 print_cls::@1 + //SEG876 print_cls::@1 b1: - //SEG882 [442] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + //SEG877 [437] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG883 [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + //SEG878 [438] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG884 [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 -- pbuz1=pbuz2_plus_vwuc1 + //SEG879 [439] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 -- pbuz1=pbuz2_plus_vwuc1 lda print_set_screen.screen clc adc #<$3e8 @@ -16142,7 +16186,7 @@ print_cls: { lda print_set_screen.screen+1 adc #>$3e8 sta _0+1 - //SEG885 [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -- pbuz1_neq_pbuz2_then_la1 + //SEG880 [440] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -- pbuz1_neq_pbuz2_then_la1 lda sc+1 cmp _0+1 bne b1_from_b1 @@ -16150,169 +16194,169 @@ print_cls: { cmp _0 bne b1_from_b1 jmp breturn - //SEG886 print_cls::@return + //SEG881 print_cls::@return breturn: - //SEG887 [446] return + //SEG882 [441] return rts } -//SEG888 print_set_screen +//SEG883 print_set_screen // Set the screen to print on. Also resets current line/char cursor. // print_set_screen(byte* zeropage($36) screen) print_set_screen: { .label screen = $36 jmp breturn - //SEG889 print_set_screen::@return + //SEG884 print_set_screen::@return breturn: - //SEG890 [448] return + //SEG885 [443] return rts } -//SEG891 gfx_init +//SEG886 gfx_init // Initialize the different graphics in the memory gfx_init: { - //SEG892 [450] call gfx_init_screen0 - //SEG893 [847] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] + //SEG887 [445] call gfx_init_screen0 + //SEG888 [842] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] gfx_init_screen0_from_gfx_init: jsr gfx_init_screen0 - //SEG894 [451] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] + //SEG889 [446] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] b1_from_gfx_init: jmp b1 - //SEG895 gfx_init::@1 + //SEG890 gfx_init::@1 b1: - //SEG896 [452] call gfx_init_screen1 - //SEG897 [835] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] + //SEG891 [447] call gfx_init_screen1 + //SEG892 [830] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] gfx_init_screen1_from_b1: jsr gfx_init_screen1 - //SEG898 [453] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] + //SEG893 [448] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] b2_from_b1: jmp b2 - //SEG899 gfx_init::@2 + //SEG894 gfx_init::@2 b2: - //SEG900 [454] call gfx_init_screen2 - //SEG901 [820] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] + //SEG895 [449] call gfx_init_screen2 + //SEG896 [815] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] gfx_init_screen2_from_b2: jsr gfx_init_screen2 - //SEG902 [455] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] + //SEG897 [450] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] b3_from_b2: jmp b3 - //SEG903 gfx_init::@3 + //SEG898 gfx_init::@3 b3: - //SEG904 [456] call gfx_init_screen3 - //SEG905 [806] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] + //SEG899 [451] call gfx_init_screen3 + //SEG900 [801] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] gfx_init_screen3_from_b3: jsr gfx_init_screen3 - //SEG906 [457] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] + //SEG901 [452] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] b4_from_b3: jmp b4 - //SEG907 gfx_init::@4 + //SEG902 gfx_init::@4 b4: - //SEG908 [458] call gfx_init_screen4 - //SEG909 [796] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] + //SEG903 [453] call gfx_init_screen4 + //SEG904 [791] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] gfx_init_screen4_from_b4: jsr gfx_init_screen4 - //SEG910 [459] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] + //SEG905 [454] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] b5_from_b4: jmp b5 - //SEG911 gfx_init::@5 + //SEG906 gfx_init::@5 b5: - //SEG912 [460] call gfx_init_charset + //SEG907 [455] call gfx_init_charset jsr gfx_init_charset - //SEG913 [461] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] + //SEG908 [456] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] b6_from_b5: jmp b6 - //SEG914 gfx_init::@6 + //SEG909 gfx_init::@6 b6: - //SEG915 [462] call gfx_init_vic_bitmap - //SEG916 [605] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] + //SEG910 [457] call gfx_init_vic_bitmap + //SEG911 [600] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] gfx_init_vic_bitmap_from_b6: jsr gfx_init_vic_bitmap - //SEG917 [463] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] + //SEG912 [458] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] b7_from_b6: jmp b7 - //SEG918 gfx_init::@7 + //SEG913 gfx_init::@7 b7: - //SEG919 [464] call gfx_init_plane_8bppchunky - //SEG920 [585] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] + //SEG914 [459] call gfx_init_plane_8bppchunky + //SEG915 [580] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] gfx_init_plane_8bppchunky_from_b7: jsr gfx_init_plane_8bppchunky - //SEG921 [465] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] + //SEG916 [460] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] b8_from_b7: jmp b8 - //SEG922 gfx_init::@8 + //SEG917 gfx_init::@8 b8: - //SEG923 [466] call gfx_init_plane_charset8 - //SEG924 [560] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] + //SEG918 [461] call gfx_init_plane_charset8 + //SEG919 [555] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] gfx_init_plane_charset8_from_b8: jsr gfx_init_plane_charset8 - //SEG925 [467] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] + //SEG920 [462] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] b9_from_b8: jmp b9 - //SEG926 gfx_init::@9 + //SEG921 gfx_init::@9 b9: - //SEG927 [468] call gfx_init_plane_horisontal - //SEG928 [542] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] + //SEG922 [463] call gfx_init_plane_horisontal + //SEG923 [537] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] gfx_init_plane_horisontal_from_b9: jsr gfx_init_plane_horisontal - //SEG929 [469] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] + //SEG924 [464] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] b10_from_b9: jmp b10 - //SEG930 gfx_init::@10 + //SEG925 gfx_init::@10 b10: - //SEG931 [470] call gfx_init_plane_vertical - //SEG932 [529] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] + //SEG926 [465] call gfx_init_plane_vertical + //SEG927 [524] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] gfx_init_plane_vertical_from_b10: jsr gfx_init_plane_vertical - //SEG933 [471] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] + //SEG928 [466] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] b11_from_b10: jmp b11 - //SEG934 gfx_init::@11 + //SEG929 gfx_init::@11 b11: - //SEG935 [472] call gfx_init_plane_horisontal2 - //SEG936 [514] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] + //SEG930 [467] call gfx_init_plane_horisontal2 + //SEG931 [509] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] gfx_init_plane_horisontal2_from_b11: jsr gfx_init_plane_horisontal2 - //SEG937 [473] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] + //SEG932 [468] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] b12_from_b11: jmp b12 - //SEG938 gfx_init::@12 + //SEG933 gfx_init::@12 b12: - //SEG939 [474] call gfx_init_plane_vertical2 - //SEG940 [511] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] + //SEG934 [469] call gfx_init_plane_vertical2 + //SEG935 [506] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] gfx_init_plane_vertical2_from_b12: jsr gfx_init_plane_vertical2 - //SEG941 [475] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] + //SEG936 [470] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] b13_from_b12: jmp b13 - //SEG942 gfx_init::@13 + //SEG937 gfx_init::@13 b13: - //SEG943 [476] call gfx_init_plane_blank - //SEG944 [508] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] + //SEG938 [471] call gfx_init_plane_blank + //SEG939 [503] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] gfx_init_plane_blank_from_b13: jsr gfx_init_plane_blank - //SEG945 [477] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] + //SEG940 [472] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] b14_from_b13: jmp b14 - //SEG946 gfx_init::@14 + //SEG941 gfx_init::@14 b14: - //SEG947 [478] call gfx_init_plane_full - //SEG948 [480] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] + //SEG942 [473] call gfx_init_plane_full + //SEG943 [475] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] gfx_init_plane_full_from_b14: jsr gfx_init_plane_full jmp breturn - //SEG949 gfx_init::@return + //SEG944 gfx_init::@return breturn: - //SEG950 [479] return + //SEG945 [474] return rts } -//SEG951 gfx_init_plane_full +//SEG946 gfx_init_plane_full // Initialize Plane with all pixels gfx_init_plane_full: { - //SEG952 [481] call gfx_init_plane_fill - //SEG953 [483] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] + //SEG947 [476] call gfx_init_plane_fill + //SEG948 [478] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_full: - //SEG954 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG949 [478] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$ff sta gfx_init_plane_fill.fill - //SEG955 [483] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_FULL#0 [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 + //SEG950 [478] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_FULL#0 [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_FULL @@ -16323,27 +16367,27 @@ gfx_init_plane_full: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG956 gfx_init_plane_full::@return + //SEG951 gfx_init_plane_full::@return breturn: - //SEG957 [482] return + //SEG952 [477] return rts } -//SEG958 gfx_init_plane_fill +//SEG953 gfx_init_plane_fill // Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // gfx_init_plane_fill(dword zeropage($3a) plane_addr, byte zeropage($3e) fill) gfx_init_plane_fill: { - .label _0 = $124 - .label _1 = $128 - .label _4 = $12b - .label _5 = $12d - .label _6 = $12f - .label gfxbCpuBank = $12a + .label _0 = $11a + .label _1 = $11e + .label _4 = $121 + .label _5 = $123 + .label _6 = $125 + .label gfxbCpuBank = $120 .label gfxb = $40 .label bx = $42 .label by = $3f .label plane_addr = $3a .label fill = $3e - //SEG959 [484] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vduz1=vduz2_rol_2 + //SEG954 [479] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vduz1=vduz2_rol_2 lda plane_addr sta _0 lda plane_addr+1 @@ -16360,38 +16404,38 @@ gfx_init_plane_fill: { rol _0+1 rol _0+2 rol _0+3 - //SEG960 [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 + //SEG955 [480] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 lda _0+2 sta _1 lda _0+3 sta _1+1 - //SEG961 [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuz1=_lo_vwuz2 + //SEG956 [481] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuz1=_lo_vwuz2 lda _1 sta gfxbCpuBank - //SEG962 [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuz1=vbuz2 + //SEG957 [482] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuz1=vbuz2 lda gfxbCpuBank sta dtvSetCpuBankSegment1.cpuBankIdx - //SEG963 [488] call dtvSetCpuBankSegment1 - //SEG964 [504] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] + //SEG958 [483] call dtvSetCpuBankSegment1 + //SEG959 [499] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_fill: - //SEG965 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy + //SEG960 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp b5 - //SEG966 gfx_init_plane_fill::@5 + //SEG961 gfx_init_plane_fill::@5 b5: - //SEG967 [489] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 + //SEG962 [484] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 lda plane_addr sta _4 lda plane_addr+1 sta _4+1 - //SEG968 [490] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff -- vwuz1=vwuz2_band_vwuc1 + //SEG963 [485] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff -- vwuz1=vwuz2_band_vwuc1 lda _4 and #<$3fff sta _5 lda _4+1 and #>$3fff sta _5+1 - //SEG969 [491] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz2 + //SEG964 [486] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz2 lda _5 clc adc #<$4000 @@ -16399,82 +16443,82 @@ gfx_init_plane_fill: { lda _5+1 adc #>$4000 sta _6+1 - //SEG970 [492] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 -- pbuz1=pbuz2 + //SEG965 [487] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 -- pbuz1=pbuz2 lda _6 sta gfxb lda _6+1 sta gfxb+1 - //SEG971 [493] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] + //SEG966 [488] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] b1_from_b5: - //SEG972 [493] phi (byte) gfx_init_plane_fill::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 + //SEG967 [488] phi (byte) gfx_init_plane_fill::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 lda #0 sta by - //SEG973 [493] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*~) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy + //SEG968 [488] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*~) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy jmp b1 - //SEG974 [493] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] + //SEG969 [488] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] b1_from_b3: - //SEG975 [493] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy - //SEG976 [493] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy + //SEG970 [488] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy + //SEG971 [488] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy jmp b1 - //SEG977 gfx_init_plane_fill::@1 + //SEG972 gfx_init_plane_fill::@1 b1: - //SEG978 [494] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] + //SEG973 [489] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] b2_from_b1: - //SEG979 [494] phi (byte) gfx_init_plane_fill::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuz1=vbuc1 + //SEG974 [489] phi (byte) gfx_init_plane_fill::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuz1=vbuc1 lda #0 sta bx - //SEG980 [494] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy + //SEG975 [489] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy jmp b2 - //SEG981 [494] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] + //SEG976 [489] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] b2_from_b2: - //SEG982 [494] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy - //SEG983 [494] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy + //SEG977 [489] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy + //SEG978 [489] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy jmp b2 - //SEG984 gfx_init_plane_fill::@2 + //SEG979 gfx_init_plane_fill::@2 b2: - //SEG985 [495] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 + //SEG980 [490] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 lda fill ldy #0 sta (gfxb),y - //SEG986 [496] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG981 [491] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG987 [497] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuz1=_inc_vbuz1 + //SEG982 [492] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuz1=_inc_vbuz1 inc bx - //SEG988 [498] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG983 [493] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp bx bne b2_from_b2 jmp b3 - //SEG989 gfx_init_plane_fill::@3 + //SEG984 gfx_init_plane_fill::@3 b3: - //SEG990 [499] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 + //SEG985 [494] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG991 [500] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG986 [495] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp by bne b1_from_b3 - //SEG992 [501] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] + //SEG987 [496] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] b4_from_b3: jmp b4 - //SEG993 gfx_init_plane_fill::@4 + //SEG988 gfx_init_plane_fill::@4 b4: - //SEG994 [502] call dtvSetCpuBankSegment1 - //SEG995 [504] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] + //SEG989 [497] call dtvSetCpuBankSegment1 + //SEG990 [499] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG996 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG991 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG997 gfx_init_plane_fill::@return + //SEG992 gfx_init_plane_fill::@return breturn: - //SEG998 [503] return + //SEG993 [498] return rts } -//SEG999 dtvSetCpuBankSegment1 +//SEG994 dtvSetCpuBankSegment1 // 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 // The actual memory addressed will be $4000*cpuSegmentIdx @@ -16483,29 +16527,29 @@ dtvSetCpuBankSegment1: { // Move CPU BANK 1 SEGMENT ($4000-$7fff) .label cpuBank = $ff .label cpuBankIdx = $43 - //SEG1000 [505] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuz1 + //SEG995 [500] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuz1 lda cpuBankIdx sta cpuBank - //SEG1001 asm { .byte$32,$dd lda$ff .byte$32,$00 } + //SEG996 asm { .byte$32,$dd lda$ff .byte$32,$00 } .byte $32, $dd lda $ff .byte $32, $00 jmp breturn - //SEG1002 dtvSetCpuBankSegment1::@return + //SEG997 dtvSetCpuBankSegment1::@return breturn: - //SEG1003 [507] return + //SEG998 [502] return rts } -//SEG1004 gfx_init_plane_blank +//SEG999 gfx_init_plane_blank // Initialize Plane with blank pixels gfx_init_plane_blank: { - //SEG1005 [509] call gfx_init_plane_fill - //SEG1006 [483] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] + //SEG1000 [504] call gfx_init_plane_fill + //SEG1001 [478] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_blank: - //SEG1007 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG1002 [478] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #0 sta gfx_init_plane_fill.fill - //SEG1008 [483] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_BLANK#0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 + //SEG1003 [478] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_BLANK#0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_BLANK @@ -16516,21 +16560,21 @@ gfx_init_plane_blank: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG1009 gfx_init_plane_blank::@return + //SEG1004 gfx_init_plane_blank::@return breturn: - //SEG1010 [510] return + //SEG1005 [505] return rts } -//SEG1011 gfx_init_plane_vertical2 +//SEG1006 gfx_init_plane_vertical2 // Initialize Plane with Vertical Stripes every 2 pixels gfx_init_plane_vertical2: { - //SEG1012 [512] call gfx_init_plane_fill - //SEG1013 [483] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] + //SEG1007 [507] call gfx_init_plane_fill + //SEG1008 [478] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_vertical2: - //SEG1014 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG1009 [478] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$1b sta gfx_init_plane_fill.fill - //SEG1015 [483] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_VERTICAL2#0 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 + //SEG1010 [478] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_VERTICAL2#0 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_VERTICAL2 @@ -16541,323 +16585,323 @@ gfx_init_plane_vertical2: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG1016 gfx_init_plane_vertical2::@return + //SEG1011 gfx_init_plane_vertical2::@return breturn: - //SEG1017 [513] return + //SEG1012 [508] return rts } -//SEG1018 gfx_init_plane_horisontal2 +//SEG1013 gfx_init_plane_horisontal2 // Initialize Plane with Horizontal Stripes every 2 pixels gfx_init_plane_horisontal2: { .const gfxbCpuBank = PLANE_HORISONTAL2/$4000 - .label _8 = $131 - .label row = $132 + .label _8 = $127 + .label row = $128 .label gfxa = $45 .label ax = $47 .label ay = $44 - //SEG1019 [515] call dtvSetCpuBankSegment1 - //SEG1020 [504] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] + //SEG1014 [510] call dtvSetCpuBankSegment1 + //SEG1015 [499] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal2: - //SEG1021 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1016 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #gfxbCpuBank sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 - //SEG1022 [516] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] + //SEG1017 [511] 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: - //SEG1023 [516] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 + //SEG1018 [511] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 lda #<$4000+(PLANE_HORISONTAL2&$3fff) sta gfxa lda #>$4000+(PLANE_HORISONTAL2&$3fff) sta gfxa+1 - //SEG1024 [516] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 + //SEG1019 [511] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 lda #0 sta ay jmp b1 - //SEG1025 [516] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] + //SEG1020 [511] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] b1_from_b3: - //SEG1026 [516] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy - //SEG1027 [516] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy + //SEG1021 [511] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy + //SEG1022 [511] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy jmp b1 - //SEG1028 gfx_init_plane_horisontal2::@1 + //SEG1023 gfx_init_plane_horisontal2::@1 b1: - //SEG1029 [517] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] + //SEG1024 [512] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] b2_from_b1: - //SEG1030 [517] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuz1=vbuc1 + //SEG1025 [512] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuz1=vbuc1 lda #0 sta ax - //SEG1031 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy + //SEG1026 [512] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy jmp b2 - //SEG1032 [517] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] + //SEG1027 [512] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] b2_from_b2: - //SEG1033 [517] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy - //SEG1034 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy + //SEG1028 [512] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy + //SEG1029 [512] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy jmp b2 - //SEG1035 gfx_init_plane_horisontal2::@2 + //SEG1030 gfx_init_plane_horisontal2::@2 b2: - //SEG1036 [518] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1031 [513] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda ay lsr sta _8 - //SEG1037 [519] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_band_vbuc1 + //SEG1032 [514] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_band_vbuc1 lda #3 and _8 sta row - //SEG1038 [520] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + //SEG1033 [515] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy row lda row_bitmask,y ldy #0 sta (gfxa),y - //SEG1039 [521] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1034 [516] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1040 [522] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuz1=_inc_vbuz1 + //SEG1035 [517] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuz1=_inc_vbuz1 inc ax - //SEG1041 [523] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1036 [518] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp ax bne b2_from_b2 jmp b3 - //SEG1042 gfx_init_plane_horisontal2::@3 + //SEG1037 gfx_init_plane_horisontal2::@3 b3: - //SEG1043 [524] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1038 [519] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1044 [525] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1039 [520] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp ay bne b1_from_b3 - //SEG1045 [526] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] + //SEG1040 [521] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] b4_from_b3: jmp b4 - //SEG1046 gfx_init_plane_horisontal2::@4 + //SEG1041 gfx_init_plane_horisontal2::@4 b4: - //SEG1047 [527] call dtvSetCpuBankSegment1 - //SEG1048 [504] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] + //SEG1042 [522] call dtvSetCpuBankSegment1 + //SEG1043 [499] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1049 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1044 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1050 gfx_init_plane_horisontal2::@return + //SEG1045 gfx_init_plane_horisontal2::@return breturn: - //SEG1051 [528] return + //SEG1046 [523] return rts row_bitmask: .byte 0, $55, $aa, $ff } -//SEG1052 gfx_init_plane_vertical +//SEG1047 gfx_init_plane_vertical // Initialize Plane with Vertical Stripes gfx_init_plane_vertical: { .const gfxbCpuBank = PLANE_VERTICAL/$4000 .label gfxb = $49 .label bx = $4b .label by = $48 - //SEG1053 [530] call dtvSetCpuBankSegment1 - //SEG1054 [504] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] + //SEG1048 [525] call dtvSetCpuBankSegment1 + //SEG1049 [499] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_vertical: - //SEG1055 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1050 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #gfxbCpuBank sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 - //SEG1056 [531] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] + //SEG1051 [526] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] b1_from_gfx_init_plane_vertical: - //SEG1057 [531] phi (byte) gfx_init_plane_vertical::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 + //SEG1052 [526] phi (byte) gfx_init_plane_vertical::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 lda #0 sta by - //SEG1058 [531] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 + //SEG1053 [526] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 lda #<$4000+(PLANE_VERTICAL&$3fff) sta gfxb lda #>$4000+(PLANE_VERTICAL&$3fff) sta gfxb+1 jmp b1 - //SEG1059 [531] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] + //SEG1054 [526] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] b1_from_b3: - //SEG1060 [531] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy - //SEG1061 [531] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy + //SEG1055 [526] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy + //SEG1056 [526] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy jmp b1 - //SEG1062 gfx_init_plane_vertical::@1 + //SEG1057 gfx_init_plane_vertical::@1 b1: - //SEG1063 [532] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] + //SEG1058 [527] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] b2_from_b1: - //SEG1064 [532] phi (byte) gfx_init_plane_vertical::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuz1=vbuc1 + //SEG1059 [527] phi (byte) gfx_init_plane_vertical::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuz1=vbuc1 lda #0 sta bx - //SEG1065 [532] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy + //SEG1060 [527] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy jmp b2 - //SEG1066 [532] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] + //SEG1061 [527] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] b2_from_b2: - //SEG1067 [532] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy - //SEG1068 [532] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy + //SEG1062 [527] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy + //SEG1063 [527] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy jmp b2 - //SEG1069 gfx_init_plane_vertical::@2 + //SEG1064 gfx_init_plane_vertical::@2 b2: - //SEG1070 [533] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f -- _deref_pbuz1=vbuc1 + //SEG1065 [528] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - //SEG1071 [534] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG1066 [529] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1072 [535] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuz1=_inc_vbuz1 + //SEG1067 [530] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuz1=_inc_vbuz1 inc bx - //SEG1073 [536] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1068 [531] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp bx bne b2_from_b2 jmp b3 - //SEG1074 gfx_init_plane_vertical::@3 + //SEG1069 gfx_init_plane_vertical::@3 b3: - //SEG1075 [537] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 + //SEG1070 [532] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG1076 [538] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1071 [533] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp by bne b1_from_b3 - //SEG1077 [539] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] + //SEG1072 [534] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] b4_from_b3: jmp b4 - //SEG1078 gfx_init_plane_vertical::@4 + //SEG1073 gfx_init_plane_vertical::@4 b4: - //SEG1079 [540] call dtvSetCpuBankSegment1 - //SEG1080 [504] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] + //SEG1074 [535] call dtvSetCpuBankSegment1 + //SEG1075 [499] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1081 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1076 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1082 gfx_init_plane_vertical::@return + //SEG1077 gfx_init_plane_vertical::@return breturn: - //SEG1083 [541] return + //SEG1078 [536] return rts } -//SEG1084 gfx_init_plane_horisontal +//SEG1079 gfx_init_plane_horisontal // Initialize Plane with Horizontal Stripes gfx_init_plane_horisontal: { .const gfxbCpuBank = PLANE_HORISONTAL/$4000 - .label _8 = $133 + .label _8 = $129 .label gfxa = $4d .label ax = $4f .label ay = $4c - //SEG1085 [543] call dtvSetCpuBankSegment1 - //SEG1086 [504] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] + //SEG1080 [538] call dtvSetCpuBankSegment1 + //SEG1081 [499] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal: - //SEG1087 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1082 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #gfxbCpuBank sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 - //SEG1088 [544] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] + //SEG1083 [539] 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: - //SEG1089 [544] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 + //SEG1084 [539] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 lda #<$4000+(PLANE_HORISONTAL&$3fff) sta gfxa lda #>$4000+(PLANE_HORISONTAL&$3fff) sta gfxa+1 - //SEG1090 [544] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 + //SEG1085 [539] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 lda #0 sta ay jmp b1 - //SEG1091 [544] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] + //SEG1086 [539] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] b1_from_b6: - //SEG1092 [544] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy - //SEG1093 [544] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy + //SEG1087 [539] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy + //SEG1088 [539] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy jmp b1 - //SEG1094 gfx_init_plane_horisontal::@1 + //SEG1089 gfx_init_plane_horisontal::@1 b1: - //SEG1095 [545] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] + //SEG1090 [540] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] b2_from_b1: - //SEG1096 [545] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuz1=vbuc1 + //SEG1091 [540] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuz1=vbuc1 lda #0 sta ax - //SEG1097 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy + //SEG1092 [540] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy jmp b2 - //SEG1098 [545] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] + //SEG1093 [540] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] b2_from_b4: - //SEG1099 [545] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy - //SEG1100 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy + //SEG1094 [540] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy + //SEG1095 [540] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy jmp b2 - //SEG1101 gfx_init_plane_horisontal::@2 + //SEG1096 gfx_init_plane_horisontal::@2 b2: - //SEG1102 [546] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_band_vbuc1 + //SEG1097 [541] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_band_vbuc1 lda #4 and ay sta _8 - //SEG1103 [547] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuz1_eq_0_then_la1 + //SEG1098 [542] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuz1_eq_0_then_la1 lda _8 cmp #0 beq b3 jmp b5 - //SEG1104 gfx_init_plane_horisontal::@5 + //SEG1099 gfx_init_plane_horisontal::@5 b5: - //SEG1105 [548] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuz1=vbuc1 + //SEG1100 [543] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - //SEG1106 [549] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1101 [544] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1107 [550] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] + //SEG1102 [545] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] b4_from_b3: b4_from_b5: - //SEG1108 [550] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy + //SEG1103 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy jmp b4 - //SEG1109 gfx_init_plane_horisontal::@4 + //SEG1104 gfx_init_plane_horisontal::@4 b4: - //SEG1110 [551] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuz1=_inc_vbuz1 + //SEG1105 [546] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuz1=_inc_vbuz1 inc ax - //SEG1111 [552] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1106 [547] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp ax bne b2_from_b4 jmp b6 - //SEG1112 gfx_init_plane_horisontal::@6 + //SEG1107 gfx_init_plane_horisontal::@6 b6: - //SEG1113 [553] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1108 [548] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1114 [554] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1109 [549] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp ay bne b1_from_b6 - //SEG1115 [555] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] + //SEG1110 [550] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] b7_from_b6: jmp b7 - //SEG1116 gfx_init_plane_horisontal::@7 + //SEG1111 gfx_init_plane_horisontal::@7 b7: - //SEG1117 [556] call dtvSetCpuBankSegment1 - //SEG1118 [504] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] + //SEG1112 [551] call dtvSetCpuBankSegment1 + //SEG1113 [499] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b7: - //SEG1119 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1114 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1120 gfx_init_plane_horisontal::@return + //SEG1115 gfx_init_plane_horisontal::@return breturn: - //SEG1121 [557] return + //SEG1116 [552] return rts - //SEG1122 gfx_init_plane_horisontal::@3 + //SEG1117 gfx_init_plane_horisontal::@3 b3: - //SEG1123 [558] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1118 [553] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (gfxa),y - //SEG1124 [559] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1119 [554] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: jmp b4_from_b3 } -//SEG1125 gfx_init_plane_charset8 +//SEG1120 gfx_init_plane_charset8 // Initialize Plane with 8bpp charset gfx_init_plane_charset8: { .const gfxbCpuBank = PLANE_CHARSET8/$4000 - .label _8 = $134 + .label _8 = $12a .label bits = $54 .label chargen = $51 .label gfxa = $55 @@ -16866,231 +16910,231 @@ gfx_init_plane_charset8: { .label cr = $53 .label ch = $50 .label c = $59 - //SEG1126 [561] call dtvSetCpuBankSegment1 - //SEG1127 [504] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] + //SEG1121 [556] call dtvSetCpuBankSegment1 + //SEG1122 [499] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_charset8: - //SEG1128 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1123 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #gfxbCpuBank sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp b9 - //SEG1129 gfx_init_plane_charset8::@9 + //SEG1124 gfx_init_plane_charset8::@9 b9: - //SEG1130 [562] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 + //SEG1125 [557] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_CHARROM sta PROCPORT - //SEG1131 [563] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] + //SEG1126 [558] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] b1_from_b9: - //SEG1132 [563] phi (byte) gfx_init_plane_charset8::ch#8 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 + //SEG1127 [558] phi (byte) gfx_init_plane_charset8::ch#8 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 lda #0 sta ch - //SEG1133 [563] phi (byte) gfx_init_plane_charset8::col#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 + //SEG1128 [558] phi (byte) gfx_init_plane_charset8::col#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 lda #0 sta col - //SEG1134 [563] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 + //SEG1129 [558] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 lda #<$4000+(PLANE_CHARSET8&$3fff) sta gfxa lda #>$4000+(PLANE_CHARSET8&$3fff) sta gfxa+1 - //SEG1135 [563] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 + //SEG1130 [558] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 lda #CHARGEN sta chargen+1 jmp b1 - //SEG1136 [563] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] + //SEG1131 [558] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] b1_from_b7: - //SEG1137 [563] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy - //SEG1138 [563] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy - //SEG1139 [563] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy - //SEG1140 [563] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy + //SEG1132 [558] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy + //SEG1133 [558] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy + //SEG1134 [558] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy + //SEG1135 [558] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy jmp b1 - //SEG1141 gfx_init_plane_charset8::@1 + //SEG1136 gfx_init_plane_charset8::@1 b1: - //SEG1142 [564] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] + //SEG1137 [559] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] b2_from_b1: - //SEG1143 [564] phi (byte) gfx_init_plane_charset8::cr#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 + //SEG1138 [559] phi (byte) gfx_init_plane_charset8::cr#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 lda #0 sta cr - //SEG1144 [564] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy - //SEG1145 [564] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy - //SEG1146 [564] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy + //SEG1139 [559] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy + //SEG1140 [559] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy + //SEG1141 [559] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy jmp b2 - //SEG1147 [564] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] + //SEG1142 [559] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] b2_from_b6: - //SEG1148 [564] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy - //SEG1149 [564] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy - //SEG1150 [564] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy - //SEG1151 [564] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy + //SEG1143 [559] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy + //SEG1144 [559] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy + //SEG1145 [559] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy + //SEG1146 [559] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy jmp b2 - //SEG1152 gfx_init_plane_charset8::@2 + //SEG1147 gfx_init_plane_charset8::@2 b2: - //SEG1153 [565] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 + //SEG1148 [560] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta bits - //SEG1154 [566] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1149 [561] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1155 [567] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] + //SEG1150 [562] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] b3_from_b2: - //SEG1156 [567] phi (byte) gfx_init_plane_charset8::cp#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuz1=vbuc1 + //SEG1151 [562] phi (byte) gfx_init_plane_charset8::cp#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuz1=vbuc1 lda #0 sta cp - //SEG1157 [567] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy - //SEG1158 [567] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy - //SEG1159 [567] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy + //SEG1152 [562] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy + //SEG1153 [562] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy + //SEG1154 [562] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy jmp b3 - //SEG1160 [567] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] + //SEG1155 [562] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] b3_from_b4: - //SEG1161 [567] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy - //SEG1162 [567] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy - //SEG1163 [567] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy - //SEG1164 [567] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy + //SEG1156 [562] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy + //SEG1157 [562] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy + //SEG1158 [562] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy + //SEG1159 [562] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy jmp b3 - //SEG1165 gfx_init_plane_charset8::@3 + //SEG1160 gfx_init_plane_charset8::@3 b3: - //SEG1166 [568] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 -- vbuz1=vbuz2_band_vbuc1 + //SEG1161 [563] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 -- vbuz1=vbuz2_band_vbuc1 lda #$80 and bits sta _8 - //SEG1167 [569] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuz1_eq_0_then_la1 + //SEG1162 [564] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuz1_eq_0_then_la1 lda _8 cmp #0 beq b4_from_b3 jmp b5 - //SEG1168 gfx_init_plane_charset8::@5 + //SEG1163 gfx_init_plane_charset8::@5 b5: - //SEG1169 [570] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuz1=vbuz2 + //SEG1164 [565] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuz1=vbuz2 lda col sta c - //SEG1170 [571] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] + //SEG1165 [566] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] b4_from_b5: - //SEG1171 [571] phi (byte) gfx_init_plane_charset8::c#2 = (byte~) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy + //SEG1166 [566] phi (byte) gfx_init_plane_charset8::c#2 = (byte~) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy jmp b4 - //SEG1172 [571] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] + //SEG1167 [566] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] b4_from_b3: - //SEG1173 [571] phi (byte) gfx_init_plane_charset8::c#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuz1=vbuc1 + //SEG1168 [566] phi (byte) gfx_init_plane_charset8::c#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuz1=vbuc1 lda #0 sta c jmp b4 - //SEG1174 gfx_init_plane_charset8::@4 + //SEG1169 gfx_init_plane_charset8::@4 b4: - //SEG1175 [572] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuz2 + //SEG1170 [567] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuz2 lda c ldy #0 sta (gfxa),y - //SEG1176 [573] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1171 [568] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1177 [574] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 + //SEG1172 [569] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 asl bits - //SEG1178 [575] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 + //SEG1173 [570] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 inc col - //SEG1179 [576] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuz1=_inc_vbuz1 + //SEG1174 [571] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuz1=_inc_vbuz1 inc cp - //SEG1180 [577] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 -- vbuz1_neq_vbuc1_then_la1 + //SEG1175 [572] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp cp bne b3_from_b4 jmp b6 - //SEG1181 gfx_init_plane_charset8::@6 + //SEG1176 gfx_init_plane_charset8::@6 b6: - //SEG1182 [578] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 + //SEG1177 [573] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 inc cr - //SEG1183 [579] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1178 [574] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp cr bne b2_from_b6 jmp b7 - //SEG1184 gfx_init_plane_charset8::@7 + //SEG1179 gfx_init_plane_charset8::@7 b7: - //SEG1185 [580] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 + //SEG1180 [575] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 inc ch - //SEG1186 [581] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 + //SEG1181 [576] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 lda ch cmp #0 bne b1_from_b7 jmp b8 - //SEG1187 gfx_init_plane_charset8::@8 + //SEG1182 gfx_init_plane_charset8::@8 b8: - //SEG1188 [582] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 + //SEG1183 [577] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_IO sta PROCPORT - //SEG1189 [583] call dtvSetCpuBankSegment1 - //SEG1190 [504] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] + //SEG1184 [578] call dtvSetCpuBankSegment1 + //SEG1185 [499] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b8: - //SEG1191 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1186 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1192 gfx_init_plane_charset8::@return + //SEG1187 gfx_init_plane_charset8::@return breturn: - //SEG1193 [584] return + //SEG1188 [579] return rts } -//SEG1194 gfx_init_plane_8bppchunky +//SEG1189 gfx_init_plane_8bppchunky // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { - .label _9 = $135 - .label c = $137 + .label _9 = $12b + .label c = $12d .label gfxb = $5e .label x = $5b .label gfxbCpuBank = $5d .label y = $5a - //SEG1195 [586] call dtvSetCpuBankSegment1 - //SEG1196 [504] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + //SEG1190 [581] call dtvSetCpuBankSegment1 + //SEG1191 [499] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_8bppchunky: - //SEG1197 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1192 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 - //SEG1198 [587] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + //SEG1193 [582] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] b1_from_gfx_init_plane_8bppchunky: - //SEG1199 [587] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuz1=vbuc1 + //SEG1194 [582] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuz1=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000+1 sta gfxbCpuBank - //SEG1200 [587] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 + //SEG1195 [582] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 lda #0 sta y - //SEG1201 [587] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + //SEG1196 [582] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 jmp b1 - //SEG1202 [587] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + //SEG1197 [582] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] b1_from_b5: - //SEG1203 [587] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy - //SEG1204 [587] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy - //SEG1205 [587] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy + //SEG1198 [582] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy + //SEG1199 [582] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy + //SEG1200 [582] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy jmp b1 - //SEG1206 gfx_init_plane_8bppchunky::@1 + //SEG1201 gfx_init_plane_8bppchunky::@1 b1: - //SEG1207 [588] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + //SEG1202 [583] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] b2_from_b1: - //SEG1208 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy - //SEG1209 [588] phi (word) gfx_init_plane_8bppchunky::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vbuc1 + //SEG1203 [583] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG1204 [583] phi (word) gfx_init_plane_8bppchunky::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vbuc1 lda #0 sta x lda #0 sta x+1 - //SEG1210 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy + //SEG1205 [583] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy jmp b2 - //SEG1211 [588] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + //SEG1206 [583] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] b2_from_b3: - //SEG1212 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy - //SEG1213 [588] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy - //SEG1214 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy + //SEG1207 [583] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG1208 [583] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy + //SEG1209 [583] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy jmp b2 - //SEG1215 gfx_init_plane_8bppchunky::@2 + //SEG1210 gfx_init_plane_8bppchunky::@2 b2: - //SEG1216 [589] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 + //SEG1211 [584] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 lda gfxb+1 cmp #>$8000 bne b3_from_b2 @@ -17098,38 +17142,38 @@ gfx_init_plane_8bppchunky: { cmp #<$8000 bne b3_from_b2 jmp b4 - //SEG1217 gfx_init_plane_8bppchunky::@4 + //SEG1212 gfx_init_plane_8bppchunky::@4 b4: - //SEG1218 [590] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=vbuz2 + //SEG1213 [585] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=vbuz2 lda gfxbCpuBank sta dtvSetCpuBankSegment1.cpuBankIdx - //SEG1219 [591] call dtvSetCpuBankSegment1 - //SEG1220 [504] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + //SEG1214 [586] call dtvSetCpuBankSegment1 + //SEG1215 [499] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1221 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + //SEG1216 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp b7 - //SEG1222 gfx_init_plane_8bppchunky::@7 + //SEG1217 gfx_init_plane_8bppchunky::@7 b7: - //SEG1223 [592] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=_inc_vbuz1 + //SEG1218 [587] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=_inc_vbuz1 inc gfxbCpuBank - //SEG1224 [593] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] + //SEG1219 [588] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] b3_from_b7: - //SEG1225 [593] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy - //SEG1226 [593] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + //SEG1220 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG1221 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 jmp b3 - //SEG1227 [593] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + //SEG1222 [588] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] b3_from_b2: - //SEG1228 [593] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy - //SEG1229 [593] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy + //SEG1223 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG1224 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy jmp b3 - //SEG1230 gfx_init_plane_8bppchunky::@3 + //SEG1225 gfx_init_plane_8bppchunky::@3 b3: - //SEG1231 [594] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 + //SEG1226 [589] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 lda y clc adc x @@ -17137,24 +17181,24 @@ gfx_init_plane_8bppchunky: { lda #0 adc x+1 sta _9+1 - //SEG1232 [595] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 -- vbuz1=_byte_vwuz2 + //SEG1227 [590] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 -- vbuz1=_byte_vwuz2 lda _9 sta c - //SEG1233 [596] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuz2 + //SEG1228 [591] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuz2 lda c ldy #0 sta (gfxb),y - //SEG1234 [597] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 + //SEG1229 [592] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1235 [598] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 + //SEG1230 [593] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 inc x bne !+ inc x+1 !: - //SEG1236 [599] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 + //SEG1231 [594] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 lda x+1 cmp #>$140 bne b2_from_b3 @@ -17162,510 +17206,510 @@ gfx_init_plane_8bppchunky: { cmp #<$140 bne b2_from_b3 jmp b5 - //SEG1237 gfx_init_plane_8bppchunky::@5 + //SEG1232 gfx_init_plane_8bppchunky::@5 b5: - //SEG1238 [600] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 + //SEG1233 [595] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 inc y - //SEG1239 [601] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1234 [596] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp y bne b1_from_b5 - //SEG1240 [602] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + //SEG1235 [597] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] b6_from_b5: jmp b6 - //SEG1241 gfx_init_plane_8bppchunky::@6 + //SEG1236 gfx_init_plane_8bppchunky::@6 b6: - //SEG1242 [603] call dtvSetCpuBankSegment1 - //SEG1243 [504] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + //SEG1237 [598] call dtvSetCpuBankSegment1 + //SEG1238 [499] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b6: - //SEG1244 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1239 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1245 gfx_init_plane_8bppchunky::@return + //SEG1240 gfx_init_plane_8bppchunky::@return breturn: - //SEG1246 [604] return + //SEG1241 [599] return rts } -//SEG1247 gfx_init_vic_bitmap +//SEG1242 gfx_init_vic_bitmap // Initialize VIC bitmap gfx_init_vic_bitmap: { .const lines_cnt = 9 .label l = $60 - //SEG1248 [606] call bitmap_init - //SEG1249 [758] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] + //SEG1243 [601] call bitmap_init + //SEG1244 [753] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] bitmap_init_from_gfx_init_vic_bitmap: jsr bitmap_init - //SEG1250 [607] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@2 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@2] + //SEG1245 [602] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@2 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@2] b2_from_gfx_init_vic_bitmap: jmp b2 - //SEG1251 gfx_init_vic_bitmap::@2 + //SEG1246 gfx_init_vic_bitmap::@2 b2: - //SEG1252 [608] call bitmap_clear + //SEG1247 [603] call bitmap_clear jsr bitmap_clear - //SEG1253 [609] phi from gfx_init_vic_bitmap::@2 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1] + //SEG1248 [604] phi from gfx_init_vic_bitmap::@2 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1] b1_from_b2: - //SEG1254 [609] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 + //SEG1249 [604] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 lda #0 sta l jmp b1 - //SEG1255 [609] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] + //SEG1250 [604] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] b1_from_b3: - //SEG1256 [609] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- register_copy + //SEG1251 [604] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- register_copy jmp b1 - //SEG1257 gfx_init_vic_bitmap::@1 + //SEG1252 gfx_init_vic_bitmap::@1 b1: - //SEG1258 [610] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1253 [605] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy l lda lines_x,y sta bitmap_line.x0 - //SEG1259 [611] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1254 [606] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy l lda lines_x+1,y sta bitmap_line.x1 - //SEG1260 [612] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1255 [607] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy l lda lines_y,y sta bitmap_line.y0 - //SEG1261 [613] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1256 [608] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy l lda lines_y+1,y sta bitmap_line.y1 - //SEG1262 [614] call bitmap_line + //SEG1257 [609] call bitmap_line jsr bitmap_line jmp b3 - //SEG1263 gfx_init_vic_bitmap::@3 + //SEG1258 gfx_init_vic_bitmap::@3 b3: - //SEG1264 [615] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 + //SEG1259 [610] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 inc l - //SEG1265 [616] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 -- vbuz1_lt_vbuc1_then_la1 + //SEG1260 [611] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 -- vbuz1_lt_vbuc1_then_la1 lda l cmp #lines_cnt bcc b1_from_b3 jmp breturn - //SEG1266 gfx_init_vic_bitmap::@return + //SEG1261 gfx_init_vic_bitmap::@return breturn: - //SEG1267 [617] return + //SEG1262 [612] return rts lines_x: .byte 0, $ff, $ff, 0, 0, $80, $ff, $80, 0, $80 lines_y: .byte 0, 0, $c7, $c7, 0, 0, $64, $c7, $64, 0 } -//SEG1268 bitmap_line +//SEG1263 bitmap_line // Draw a line on the bitmap -// bitmap_line(byte zeropage($138) x0, byte zeropage($139) x1, byte zeropage($13a) y0, byte zeropage($13b) y1) +// bitmap_line(byte zeropage($12e) x0, byte zeropage($12f) x1, byte zeropage($130) y0, byte zeropage($131) y1) bitmap_line: { - .label xd = $13f - .label xd_2 = $13c - .label yd = $13e - .label yd_2 = $13d - .label x0 = $138 - .label x1 = $139 - .label y0 = $13a - .label y1 = $13b - .label yd_10 = $140 - .label yd_11 = $141 - //SEG1269 [618] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1 + .label xd = $135 + .label xd_2 = $132 + .label yd = $134 + .label yd_2 = $133 + .label x0 = $12e + .label x1 = $12f + .label y0 = $130 + .label y1 = $131 + .label yd_10 = $136 + .label yd_11 = $137 + //SEG1264 [613] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1 lda x0 cmp x1 bcc b1 jmp b2 - //SEG1270 bitmap_line::@2 + //SEG1265 bitmap_line::@2 b2: - //SEG1271 [619] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1266 [614] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 lda x0 sec sbc x1 sta xd_2 - //SEG1272 [620] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuz2_then_la1 + //SEG1267 [615] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuz2_then_la1 lda y0 cmp y1 bcc b7 jmp b3 - //SEG1273 bitmap_line::@3 + //SEG1268 bitmap_line::@3 b3: - //SEG1274 [621] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1269 [616] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 lda y0 sec sbc y1 sta yd_2 - //SEG1275 [622] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuz1_lt_vbuz2_then_la1 + //SEG1270 [617] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuz1_lt_vbuz2_then_la1 lda yd_2 cmp xd_2 bcc b8 jmp b4 - //SEG1276 bitmap_line::@4 + //SEG1271 bitmap_line::@4 b4: - //SEG1277 [623] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1272 [618] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxi.y - //SEG1278 [624] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1273 [619] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_ydxi.x - //SEG1279 [625] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1274 [620] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y1 - //SEG1280 [626] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2 + //SEG1275 [621] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2 lda yd_2 sta bitmap_line_ydxi.yd - //SEG1281 [627] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 + //SEG1276 [622] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 lda xd_2 sta bitmap_line_ydxi.xd - //SEG1282 [628] call bitmap_line_ydxi - //SEG1283 [702] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] + //SEG1277 [623] call bitmap_line_ydxi + //SEG1278 [697] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] bitmap_line_ydxi_from_b4: - //SEG1284 [702] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy - //SEG1285 [702] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy - //SEG1286 [702] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy - //SEG1287 [702] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy - //SEG1288 [702] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy + //SEG1279 [697] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy + //SEG1280 [697] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy + //SEG1281 [697] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy + //SEG1282 [697] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy + //SEG1283 [697] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp breturn - //SEG1289 bitmap_line::@return + //SEG1284 bitmap_line::@return breturn: - //SEG1290 [629] return + //SEG1285 [624] return rts - //SEG1291 bitmap_line::@8 + //SEG1286 bitmap_line::@8 b8: - //SEG1292 [630] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1287 [625] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyi.x - //SEG1293 [631] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1288 [626] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_xdyi.y - //SEG1294 [632] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1289 [627] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyi.x1 - //SEG1295 [633] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 + //SEG1290 [628] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 lda xd_2 sta bitmap_line_xdyi.xd - //SEG1296 [634] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2 + //SEG1291 [629] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2 lda yd_2 sta bitmap_line_xdyi.yd - //SEG1297 [635] call bitmap_line_xdyi - //SEG1298 [680] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] + //SEG1292 [630] call bitmap_line_xdyi + //SEG1293 [675] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] bitmap_line_xdyi_from_b8: - //SEG1299 [680] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy - //SEG1300 [680] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy - //SEG1301 [680] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy - //SEG1302 [680] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy - //SEG1303 [680] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy + //SEG1294 [675] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy + //SEG1295 [675] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy + //SEG1296 [675] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy + //SEG1297 [675] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy + //SEG1298 [675] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp breturn - //SEG1304 bitmap_line::@7 + //SEG1299 bitmap_line::@7 b7: - //SEG1305 [636] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1300 [631] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 lda y1 sec sbc y0 sta yd - //SEG1306 [637] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuz1_lt_vbuz2_then_la1 + //SEG1301 [632] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuz1_lt_vbuz2_then_la1 lda yd cmp xd_2 bcc b9 jmp b10 - //SEG1307 bitmap_line::@10 + //SEG1302 bitmap_line::@10 b10: - //SEG1308 [638] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1303 [633] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxd.y - //SEG1309 [639] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1304 [634] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_ydxd.x - //SEG1310 [640] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1305 [635] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxd.y1 - //SEG1311 [641] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 + //SEG1306 [636] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 lda yd sta bitmap_line_ydxd.yd - //SEG1312 [642] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 + //SEG1307 [637] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 lda xd_2 sta bitmap_line_ydxd.xd - //SEG1313 [643] call bitmap_line_ydxd - //SEG1314 [732] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] + //SEG1308 [638] call bitmap_line_ydxd + //SEG1309 [727] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] bitmap_line_ydxd_from_b10: - //SEG1315 [732] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy - //SEG1316 [732] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy - //SEG1317 [732] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy - //SEG1318 [732] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy - //SEG1319 [732] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy + //SEG1310 [727] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy + //SEG1311 [727] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy + //SEG1312 [727] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy + //SEG1313 [727] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy + //SEG1314 [727] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1320 bitmap_line::@9 + //SEG1315 bitmap_line::@9 b9: - //SEG1321 [644] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1316 [639] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyd.x - //SEG1322 [645] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1317 [640] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_xdyd.y - //SEG1323 [646] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1318 [641] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x1 - //SEG1324 [647] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 + //SEG1319 [642] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 lda xd_2 sta bitmap_line_xdyd.xd - //SEG1325 [648] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 + //SEG1320 [643] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 lda yd sta bitmap_line_xdyd.yd - //SEG1326 [649] call bitmap_line_xdyd - //SEG1327 [717] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] + //SEG1321 [644] call bitmap_line_xdyd + //SEG1322 [712] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] bitmap_line_xdyd_from_b9: - //SEG1328 [717] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy - //SEG1329 [717] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy - //SEG1330 [717] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy - //SEG1331 [717] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy - //SEG1332 [717] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy + //SEG1323 [712] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy + //SEG1324 [712] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy + //SEG1325 [712] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy + //SEG1326 [712] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy + //SEG1327 [712] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1333 bitmap_line::@1 + //SEG1328 bitmap_line::@1 b1: - //SEG1334 [650] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1329 [645] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 lda x1 sec sbc x0 sta xd - //SEG1335 [651] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuz2_then_la1 + //SEG1330 [646] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuz2_then_la1 lda y0 cmp y1 bcc b11 jmp b5 - //SEG1336 bitmap_line::@5 + //SEG1331 bitmap_line::@5 b5: - //SEG1337 [652] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1332 [647] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 lda y0 sec sbc y1 sta yd_10 - //SEG1338 [653] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuz1_lt_vbuz2_then_la1 + //SEG1333 [648] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuz1_lt_vbuz2_then_la1 lda yd_10 cmp xd bcc b12 jmp b6 - //SEG1339 bitmap_line::@6 + //SEG1334 bitmap_line::@6 b6: - //SEG1340 [654] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1335 [649] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxd.y - //SEG1341 [655] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1336 [650] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_ydxd.x - //SEG1342 [656] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1337 [651] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxd.y1 - //SEG1343 [657] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 + //SEG1338 [652] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 lda yd_10 sta bitmap_line_ydxd.yd - //SEG1344 [658] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + //SEG1339 [653] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda xd sta bitmap_line_ydxd.xd - //SEG1345 [659] call bitmap_line_ydxd - //SEG1346 [732] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] + //SEG1340 [654] call bitmap_line_ydxd + //SEG1341 [727] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] bitmap_line_ydxd_from_b6: - //SEG1347 [732] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy - //SEG1348 [732] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy - //SEG1349 [732] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy - //SEG1350 [732] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy - //SEG1351 [732] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy + //SEG1342 [727] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy + //SEG1343 [727] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy + //SEG1344 [727] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy + //SEG1345 [727] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy + //SEG1346 [727] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1352 bitmap_line::@12 + //SEG1347 bitmap_line::@12 b12: - //SEG1353 [660] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1348 [655] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x - //SEG1354 [661] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1349 [656] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_xdyd.y - //SEG1355 [662] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1350 [657] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyd.x1 - //SEG1356 [663] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + //SEG1351 [658] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda xd sta bitmap_line_xdyd.xd - //SEG1357 [664] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 + //SEG1352 [659] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 lda yd_10 sta bitmap_line_xdyd.yd - //SEG1358 [665] call bitmap_line_xdyd - //SEG1359 [717] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] + //SEG1353 [660] call bitmap_line_xdyd + //SEG1354 [712] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] bitmap_line_xdyd_from_b12: - //SEG1360 [717] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy - //SEG1361 [717] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy - //SEG1362 [717] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy - //SEG1363 [717] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy - //SEG1364 [717] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy + //SEG1355 [712] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy + //SEG1356 [712] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy + //SEG1357 [712] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy + //SEG1358 [712] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy + //SEG1359 [712] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1365 bitmap_line::@11 + //SEG1360 bitmap_line::@11 b11: - //SEG1366 [666] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1361 [661] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 lda y1 sec sbc y0 sta yd_11 - //SEG1367 [667] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 + //SEG1362 [662] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 lda yd_11 cmp xd bcc b13 jmp b14 - //SEG1368 bitmap_line::@14 + //SEG1363 bitmap_line::@14 b14: - //SEG1369 [668] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1364 [663] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y - //SEG1370 [669] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1365 [664] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_ydxi.x - //SEG1371 [670] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1366 [665] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxi.y1 - //SEG1372 [671] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2 + //SEG1367 [666] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2 lda yd_11 sta bitmap_line_ydxi.yd - //SEG1373 [672] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + //SEG1368 [667] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda xd sta bitmap_line_ydxi.xd - //SEG1374 [673] call bitmap_line_ydxi - //SEG1375 [702] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] + //SEG1369 [668] call bitmap_line_ydxi + //SEG1370 [697] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] bitmap_line_ydxi_from_b14: - //SEG1376 [702] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy - //SEG1377 [702] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy - //SEG1378 [702] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy - //SEG1379 [702] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy - //SEG1380 [702] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy + //SEG1371 [697] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy + //SEG1372 [697] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy + //SEG1373 [697] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy + //SEG1374 [697] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy + //SEG1375 [697] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp breturn - //SEG1381 bitmap_line::@13 + //SEG1376 bitmap_line::@13 b13: - //SEG1382 [674] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1377 [669] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyi.x - //SEG1383 [675] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1378 [670] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_xdyi.y - //SEG1384 [676] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1379 [671] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyi.x1 - //SEG1385 [677] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + //SEG1380 [672] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda xd sta bitmap_line_xdyi.xd - //SEG1386 [678] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2 + //SEG1381 [673] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2 lda yd_11 sta bitmap_line_xdyi.yd - //SEG1387 [679] call bitmap_line_xdyi - //SEG1388 [680] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] + //SEG1382 [674] call bitmap_line_xdyi + //SEG1383 [675] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] bitmap_line_xdyi_from_b13: - //SEG1389 [680] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy - //SEG1390 [680] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy - //SEG1391 [680] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy - //SEG1392 [680] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy - //SEG1393 [680] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy + //SEG1384 [675] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy + //SEG1385 [675] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy + //SEG1386 [675] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy + //SEG1387 [675] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy + //SEG1388 [675] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp breturn } -//SEG1394 bitmap_line_xdyi +//SEG1389 bitmap_line_xdyi // bitmap_line_xdyi(byte zeropage($64) x, byte zeropage($65) y, byte zeropage($63) x1, byte zeropage($62) xd, byte zeropage($61) yd) bitmap_line_xdyi: { - .label _6 = $142 + .label _6 = $138 .label x = $64 .label y = $65 .label x1 = $63 .label xd = $62 .label yd = $61 .label e = $66 - //SEG1395 [681] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1390 [676] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda yd lsr sta e - //SEG1396 [682] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] + //SEG1391 [677] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] b1_from_bitmap_line_xdyi: b1_from_b2: - //SEG1397 [682] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy - //SEG1398 [682] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy - //SEG1399 [682] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy + //SEG1392 [677] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy + //SEG1393 [677] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy + //SEG1394 [677] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy jmp b1 - //SEG1400 bitmap_line_xdyi::@1 + //SEG1395 bitmap_line_xdyi::@1 b1: - //SEG1401 [683] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuz1=vbuz2 + //SEG1396 [678] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuz1=vbuz2 lda x sta bitmap_plot.x - //SEG1402 [684] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuz1=vbuz2 + //SEG1397 [679] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuz1=vbuz2 lda y sta bitmap_plot.y - //SEG1403 [685] call bitmap_plot - //SEG1404 [695] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] + //SEG1398 [680] call bitmap_plot + //SEG1399 [690] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1405 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy - //SEG1406 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy + //SEG1400 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy + //SEG1401 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp b4 - //SEG1407 bitmap_line_xdyi::@4 + //SEG1402 bitmap_line_xdyi::@4 b4: - //SEG1408 [686] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 + //SEG1403 [681] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1409 [687] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1404 [682] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc yd sta e - //SEG1410 [688] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1405 [683] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 lda xd cmp e bcs b2_from_b4 jmp b3 - //SEG1411 bitmap_line_xdyi::@3 + //SEG1406 bitmap_line_xdyi::@3 b3: - //SEG1412 [689] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1407 [684] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1413 [690] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1408 [685] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc xd sta e - //SEG1414 [691] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] + //SEG1409 [686] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] b2_from_b3: b2_from_b4: - //SEG1415 [691] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy - //SEG1416 [691] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy + //SEG1410 [686] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy + //SEG1411 [686] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy jmp b2 - //SEG1417 bitmap_line_xdyi::@2 + //SEG1412 bitmap_line_xdyi::@2 b2: - //SEG1418 [692] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 + //SEG1413 [687] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 ldy x1 iny sty _6 - //SEG1419 [693] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuz2_then_la1 + //SEG1414 [688] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuz2_then_la1 lda x cmp _6 bne b1_from_b2 jmp breturn - //SEG1420 bitmap_line_xdyi::@return + //SEG1415 bitmap_line_xdyi::@return breturn: - //SEG1421 [694] return + //SEG1416 [689] return rts } -//SEG1422 bitmap_plot +//SEG1417 bitmap_plot // bitmap_plot(byte zeropage($67) x, byte zeropage($68) y) bitmap_plot: { - .label _0 = $147 - .label _1 = $149 - .label plotter_x = $143 - .label plotter_y = $145 + .label _0 = $13d + .label _1 = $13f + .label plotter_x = $139 + .label plotter_y = $13b .label x = $67 .label y = $68 - //SEG1423 [696] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + //SEG1418 [691] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy x lda bitmap_plot_xhi,y sta plotter_x+1 lda bitmap_plot_xlo,y sta plotter_x - //SEG1424 [697] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + //SEG1419 [692] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy y lda bitmap_plot_yhi,y sta plotter_y+1 lda bitmap_plot_ylo,y sta plotter_y - //SEG1425 [698] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz2_plus_vwuz3 + //SEG1420 [693] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz2_plus_vwuz3 lda plotter_x clc adc plotter_y @@ -17673,457 +17717,457 @@ bitmap_plot: { lda plotter_x+1 adc plotter_y+1 sta _0+1 - //SEG1426 [699] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuz1=_deref_pbuz2_bor_pbuc1_derefidx_vbuz3 + //SEG1421 [694] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuz1=_deref_pbuz2_bor_pbuc1_derefidx_vbuz3 ldy #0 lda (_0),y ldy x ora bitmap_plot_bit,y sta _1 - //SEG1427 [700] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuz2 + //SEG1422 [695] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuz2 lda _1 ldy #0 sta (_0),y jmp breturn - //SEG1428 bitmap_plot::@return + //SEG1423 bitmap_plot::@return breturn: - //SEG1429 [701] return + //SEG1424 [696] return rts } -//SEG1430 bitmap_line_ydxi +//SEG1425 bitmap_line_ydxi // bitmap_line_ydxi(byte zeropage($6d) y, byte zeropage($6c) x, byte zeropage($6b) y1, byte zeropage($6a) yd, byte zeropage($69) xd) bitmap_line_ydxi: { - .label _6 = $14a + .label _6 = $140 .label y = $6d .label x = $6c .label y1 = $6b .label yd = $6a .label xd = $69 .label e = $6e - //SEG1431 [703] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1426 [698] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda xd lsr sta e - //SEG1432 [704] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] + //SEG1427 [699] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] b1_from_bitmap_line_ydxi: b1_from_b2: - //SEG1433 [704] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy - //SEG1434 [704] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy - //SEG1435 [704] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy + //SEG1428 [699] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy + //SEG1429 [699] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy + //SEG1430 [699] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy jmp b1 - //SEG1436 bitmap_line_ydxi::@1 + //SEG1431 bitmap_line_ydxi::@1 b1: - //SEG1437 [705] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuz1=vbuz2 + //SEG1432 [700] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuz1=vbuz2 lda x sta bitmap_plot.x - //SEG1438 [706] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuz1=vbuz2 + //SEG1433 [701] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuz1=vbuz2 lda y sta bitmap_plot.y - //SEG1439 [707] call bitmap_plot - //SEG1440 [695] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] + //SEG1434 [702] call bitmap_plot + //SEG1435 [690] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1441 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy - //SEG1442 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy + //SEG1436 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy + //SEG1437 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp b4 - //SEG1443 bitmap_line_ydxi::@4 + //SEG1438 bitmap_line_ydxi::@4 b4: - //SEG1444 [708] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1439 [703] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1445 [709] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1440 [704] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc xd sta e - //SEG1446 [710] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1441 [705] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 lda yd cmp e bcs b2_from_b4 jmp b3 - //SEG1447 bitmap_line_ydxi::@3 + //SEG1442 bitmap_line_ydxi::@3 b3: - //SEG1448 [711] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 + //SEG1443 [706] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1449 [712] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1444 [707] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc yd sta e - //SEG1450 [713] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] + //SEG1445 [708] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] b2_from_b3: b2_from_b4: - //SEG1451 [713] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy - //SEG1452 [713] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy + //SEG1446 [708] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy + //SEG1447 [708] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy jmp b2 - //SEG1453 bitmap_line_ydxi::@2 + //SEG1448 bitmap_line_ydxi::@2 b2: - //SEG1454 [714] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 + //SEG1449 [709] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 ldy y1 iny sty _6 - //SEG1455 [715] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuz2_then_la1 + //SEG1450 [710] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuz2_then_la1 lda y cmp _6 bne b1_from_b2 jmp breturn - //SEG1456 bitmap_line_ydxi::@return + //SEG1451 bitmap_line_ydxi::@return breturn: - //SEG1457 [716] return + //SEG1452 [711] return rts } -//SEG1458 bitmap_line_xdyd +//SEG1453 bitmap_line_xdyd // bitmap_line_xdyd(byte zeropage($72) x, byte zeropage($73) y, byte zeropage($71) x1, byte zeropage($70) xd, byte zeropage($6f) yd) bitmap_line_xdyd: { - .label _6 = $14b + .label _6 = $141 .label x = $72 .label y = $73 .label x1 = $71 .label xd = $70 .label yd = $6f .label e = $74 - //SEG1459 [718] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1454 [713] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda yd lsr sta e - //SEG1460 [719] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] + //SEG1455 [714] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] b1_from_bitmap_line_xdyd: b1_from_b2: - //SEG1461 [719] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy - //SEG1462 [719] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy - //SEG1463 [719] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy + //SEG1456 [714] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy + //SEG1457 [714] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy + //SEG1458 [714] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy jmp b1 - //SEG1464 bitmap_line_xdyd::@1 + //SEG1459 bitmap_line_xdyd::@1 b1: - //SEG1465 [720] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuz1=vbuz2 + //SEG1460 [715] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuz1=vbuz2 lda x sta bitmap_plot.x - //SEG1466 [721] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuz1=vbuz2 + //SEG1461 [716] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuz1=vbuz2 lda y sta bitmap_plot.y - //SEG1467 [722] call bitmap_plot - //SEG1468 [695] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] + //SEG1462 [717] call bitmap_plot + //SEG1463 [690] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1469 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy - //SEG1470 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy + //SEG1464 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy + //SEG1465 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp b4 - //SEG1471 bitmap_line_xdyd::@4 + //SEG1466 bitmap_line_xdyd::@4 b4: - //SEG1472 [723] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 + //SEG1467 [718] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1473 [724] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1468 [719] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc yd sta e - //SEG1474 [725] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1469 [720] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 lda xd cmp e bcs b2_from_b4 jmp b3 - //SEG1475 bitmap_line_xdyd::@3 + //SEG1470 bitmap_line_xdyd::@3 b3: - //SEG1476 [726] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 + //SEG1471 [721] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 dec y - //SEG1477 [727] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1472 [722] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc xd sta e - //SEG1478 [728] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] + //SEG1473 [723] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] b2_from_b3: b2_from_b4: - //SEG1479 [728] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy - //SEG1480 [728] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy + //SEG1474 [723] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy + //SEG1475 [723] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy jmp b2 - //SEG1481 bitmap_line_xdyd::@2 + //SEG1476 bitmap_line_xdyd::@2 b2: - //SEG1482 [729] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 + //SEG1477 [724] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 ldy x1 iny sty _6 - //SEG1483 [730] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuz2_then_la1 + //SEG1478 [725] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuz2_then_la1 lda x cmp _6 bne b1_from_b2 jmp breturn - //SEG1484 bitmap_line_xdyd::@return + //SEG1479 bitmap_line_xdyd::@return breturn: - //SEG1485 [731] return + //SEG1480 [726] return rts } -//SEG1486 bitmap_line_ydxd +//SEG1481 bitmap_line_ydxd // bitmap_line_ydxd(byte zeropage($79) y, byte zeropage($78) x, byte zeropage($77) y1, byte zeropage($76) yd, byte zeropage($75) xd) bitmap_line_ydxd: { - .label _6 = $14c + .label _6 = $142 .label y = $79 .label x = $78 .label y1 = $77 .label yd = $76 .label xd = $75 .label e = $7a - //SEG1487 [733] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1482 [728] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda xd lsr sta e - //SEG1488 [734] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] + //SEG1483 [729] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] b1_from_bitmap_line_ydxd: b1_from_b2: - //SEG1489 [734] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy - //SEG1490 [734] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy - //SEG1491 [734] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy + //SEG1484 [729] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy + //SEG1485 [729] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy + //SEG1486 [729] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy jmp b1 - //SEG1492 bitmap_line_ydxd::@1 + //SEG1487 bitmap_line_ydxd::@1 b1: - //SEG1493 [735] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuz1=vbuz2 + //SEG1488 [730] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuz1=vbuz2 lda x sta bitmap_plot.x - //SEG1494 [736] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuz1=vbuz2 + //SEG1489 [731] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuz1=vbuz2 lda y sta bitmap_plot.y - //SEG1495 [737] call bitmap_plot - //SEG1496 [695] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] + //SEG1490 [732] call bitmap_plot + //SEG1491 [690] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1497 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy - //SEG1498 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy + //SEG1492 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy + //SEG1493 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp b4 - //SEG1499 bitmap_line_ydxd::@4 + //SEG1494 bitmap_line_ydxd::@4 b4: - //SEG1500 [738] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 + //SEG1495 [733] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG1501 [739] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1496 [734] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc xd sta e - //SEG1502 [740] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1497 [735] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 lda yd cmp e bcs b2_from_b4 jmp b3 - //SEG1503 bitmap_line_ydxd::@3 + //SEG1498 bitmap_line_ydxd::@3 b3: - //SEG1504 [741] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 + //SEG1499 [736] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 dec x - //SEG1505 [742] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1500 [737] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc yd sta e - //SEG1506 [743] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] + //SEG1501 [738] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] b2_from_b3: b2_from_b4: - //SEG1507 [743] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy - //SEG1508 [743] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy + //SEG1502 [738] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy + //SEG1503 [738] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy jmp b2 - //SEG1509 bitmap_line_ydxd::@2 + //SEG1504 bitmap_line_ydxd::@2 b2: - //SEG1510 [744] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 + //SEG1505 [739] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 ldy y1 iny sty _6 - //SEG1511 [745] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuz2_then_la1 + //SEG1506 [740] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuz2_then_la1 lda y cmp _6 bne b1_from_b2 jmp breturn - //SEG1512 bitmap_line_ydxd::@return + //SEG1507 bitmap_line_ydxd::@return breturn: - //SEG1513 [746] return + //SEG1508 [741] return rts } -//SEG1514 bitmap_clear +//SEG1509 bitmap_clear // Clear all graphics on the bitmap bitmap_clear: { .label bitmap = $7c .label x = $7e .label y = $7b - .label _3 = $14d - //SEG1515 [747] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + .label _3 = $143 + //SEG1510 [742] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda bitmap_plot_xlo sta _3 lda bitmap_plot_xhi sta _3+1 - //SEG1516 [748] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 -- pbuz1=pbuz2 + //SEG1511 [743] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 -- pbuz1=pbuz2 lda _3 sta bitmap lda _3+1 sta bitmap+1 - //SEG1517 [749] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] + //SEG1512 [744] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] b1_from_bitmap_clear: - //SEG1518 [749] phi (byte) bitmap_clear::y#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 + //SEG1513 [744] phi (byte) bitmap_clear::y#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 lda #0 sta y - //SEG1519 [749] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy + //SEG1514 [744] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy jmp b1 - //SEG1520 [749] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] + //SEG1515 [744] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] b1_from_b3: - //SEG1521 [749] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy - //SEG1522 [749] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy + //SEG1516 [744] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy + //SEG1517 [744] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy jmp b1 - //SEG1523 bitmap_clear::@1 + //SEG1518 bitmap_clear::@1 b1: - //SEG1524 [750] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] + //SEG1519 [745] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] b2_from_b1: - //SEG1525 [750] phi (byte) bitmap_clear::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuz1=vbuc1 + //SEG1520 [745] phi (byte) bitmap_clear::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuz1=vbuc1 lda #0 sta x - //SEG1526 [750] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy + //SEG1521 [745] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy jmp b2 - //SEG1527 [750] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] + //SEG1522 [745] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] b2_from_b2: - //SEG1528 [750] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy - //SEG1529 [750] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy + //SEG1523 [745] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy + //SEG1524 [745] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy jmp b2 - //SEG1530 bitmap_clear::@2 + //SEG1525 bitmap_clear::@2 b2: - //SEG1531 [751] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1526 [746] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (bitmap),y - //SEG1532 [752] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 + //SEG1527 [747] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 inc bitmap bne !+ inc bitmap+1 !: - //SEG1533 [753] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuz1=_inc_vbuz1 + //SEG1528 [748] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuz1=_inc_vbuz1 inc x - //SEG1534 [754] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1529 [749] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp x bne b2_from_b2 jmp b3 - //SEG1535 bitmap_clear::@3 + //SEG1530 bitmap_clear::@3 b3: - //SEG1536 [755] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 + //SEG1531 [750] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 inc y - //SEG1537 [756] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1532 [751] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp y bne b1_from_b3 jmp breturn - //SEG1538 bitmap_clear::@return + //SEG1533 bitmap_clear::@return breturn: - //SEG1539 [757] return + //SEG1534 [752] return rts } -//SEG1540 bitmap_init +//SEG1535 bitmap_init // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { - .label _0 = $14f - .label _6 = $150 - .label _7 = $151 - .label _8 = $152 - .label _9 = $153 - .label _10 = $154 + .label _0 = $145 + .label _6 = $146 + .label _7 = $147 + .label _8 = $148 + .label _9 = $149 + .label _10 = $14a .label bits = $80 .label x = $7f .label y = $81 .label yoffs = $82 - //SEG1541 [759] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] + //SEG1536 [754] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] b1_from_bitmap_init: - //SEG1542 [759] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuz1=vbuc1 + //SEG1537 [754] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuz1=vbuc1 lda #$80 sta bits - //SEG1543 [759] phi (byte) bitmap_init::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuz1=vbuc1 + //SEG1538 [754] phi (byte) bitmap_init::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuz1=vbuc1 lda #0 sta x jmp b1 - //SEG1544 [759] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] + //SEG1539 [754] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] b1_from_b2: - //SEG1545 [759] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy - //SEG1546 [759] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy + //SEG1540 [754] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy + //SEG1541 [754] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy jmp b1 - //SEG1547 bitmap_init::@1 + //SEG1542 bitmap_init::@1 b1: - //SEG1548 [760] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 -- vbuz1=vbuz2_band_vbuc1 + //SEG1543 [755] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 -- vbuz1=vbuz2_band_vbuc1 lda #$f8 and x sta _0 - //SEG1549 [761] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG1544 [756] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuz1=vbuz2 lda _0 ldy x sta bitmap_plot_xlo,y - //SEG1550 [762] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG1545 [757] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #>VIC_BITMAP ldy x sta bitmap_plot_xhi,y - //SEG1551 [763] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG1546 [758] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuz1=vbuz2 lda bits ldy x sta bitmap_plot_bit,y - //SEG1552 [764] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_ror_1 + //SEG1547 [759] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_ror_1 lsr bits - //SEG1553 [765] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 -- vbuz1_neq_0_then_la1 + //SEG1548 [760] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 -- vbuz1_neq_0_then_la1 lda bits cmp #0 bne b6_from_b1 - //SEG1554 [766] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] + //SEG1549 [761] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] b2_from_b1: - //SEG1555 [766] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuz1=vbuc1 + //SEG1550 [761] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuz1=vbuc1 lda #$80 sta bits jmp b2 - //SEG1556 bitmap_init::@2 + //SEG1551 bitmap_init::@2 b2: - //SEG1557 [767] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuz1=_inc_vbuz1 + //SEG1552 [762] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuz1=_inc_vbuz1 inc x - //SEG1558 [768] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 -- vbuz1_neq_0_then_la1 + //SEG1553 [763] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 -- vbuz1_neq_0_then_la1 lda x cmp #0 bne b1_from_b2 - //SEG1559 [769] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] + //SEG1554 [764] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] b3_from_b2: - //SEG1560 [769] phi (byte*) bitmap_init::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 + //SEG1555 [764] phi (byte*) bitmap_init::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 lda #<0 sta yoffs lda #>0 sta yoffs+1 - //SEG1561 [769] phi (byte) bitmap_init::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuz1=vbuc1 + //SEG1556 [764] phi (byte) bitmap_init::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuz1=vbuc1 lda #0 sta y jmp b3 - //SEG1562 [769] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] + //SEG1557 [764] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] b3_from_b4: - //SEG1563 [769] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy - //SEG1564 [769] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy + //SEG1558 [764] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy + //SEG1559 [764] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy jmp b3 - //SEG1565 bitmap_init::@3 + //SEG1560 bitmap_init::@3 b3: - //SEG1566 [770] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_band_vbuc1 + //SEG1561 [765] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_band_vbuc1 lda #7 and y sta _6 - //SEG1567 [771] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuz1=_lo_pbuz2 + //SEG1562 [766] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuz1=_lo_pbuz2 lda yoffs sta _7 - //SEG1568 [772] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuz1=vbuz2_bor_vbuz3 + //SEG1563 [767] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuz1=vbuz2_bor_vbuz3 lda _6 ora _7 sta _8 - //SEG1569 [773] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG1564 [768] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuz1=vbuz2 lda _8 ldy y sta bitmap_plot_ylo,y - //SEG1570 [774] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuz1=_hi_pbuz2 + //SEG1565 [769] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuz1=_hi_pbuz2 lda yoffs+1 sta _9 - //SEG1571 [775] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG1566 [770] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuz1=vbuz2 lda _9 ldy y sta bitmap_plot_yhi,y - //SEG1572 [776] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_band_vbuc1 + //SEG1567 [771] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_band_vbuc1 lda #7 and y sta _10 - //SEG1573 [777] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 + //SEG1568 [772] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 lda #7 cmp _10 bne b4_from_b3 jmp b5 - //SEG1574 bitmap_init::@5 + //SEG1569 bitmap_init::@5 b5: - //SEG1575 [778] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 + //SEG1570 [773] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 clc lda yoffs adc #<$28*8 @@ -18131,567 +18175,567 @@ bitmap_init: { lda yoffs+1 adc #>$28*8 sta yoffs+1 - //SEG1576 [779] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] + //SEG1571 [774] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] b4_from_b3: b4_from_b5: - //SEG1577 [779] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy + //SEG1572 [774] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy jmp b4 - //SEG1578 bitmap_init::@4 + //SEG1573 bitmap_init::@4 b4: - //SEG1579 [780] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuz1=_inc_vbuz1 + //SEG1574 [775] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG1580 [781] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 -- vbuz1_neq_0_then_la1 + //SEG1575 [776] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 -- vbuz1_neq_0_then_la1 lda y cmp #0 bne b3_from_b4 jmp breturn - //SEG1581 bitmap_init::@return + //SEG1576 bitmap_init::@return breturn: - //SEG1582 [782] return + //SEG1577 [777] return rts - //SEG1583 [783] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] + //SEG1578 [778] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] b6_from_b1: jmp b6 - //SEG1584 bitmap_init::@6 + //SEG1579 bitmap_init::@6 b6: - //SEG1585 [766] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] + //SEG1580 [761] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] b2_from_b6: - //SEG1586 [766] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy + //SEG1581 [761] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy jmp b2 } -//SEG1587 gfx_init_charset +//SEG1582 gfx_init_charset gfx_init_charset: { .label charset = $87 .label chargen = $85 .label l = $89 .label c = $84 - //SEG1588 [784] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 -- _deref_pbuc1=vbuc2 + //SEG1583 [779] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - //SEG1589 [785] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] + //SEG1584 [780] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] b1_from_gfx_init_charset: - //SEG1590 [785] phi (byte) gfx_init_charset::c#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 + //SEG1585 [780] phi (byte) gfx_init_charset::c#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 lda #0 sta c - //SEG1591 [785] phi (byte*) gfx_init_charset::charset#3 = (const byte*) VIC_CHARSET_ROM#0 [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 + //SEG1586 [780] phi (byte*) gfx_init_charset::charset#3 = (const byte*) VIC_CHARSET_ROM#0 [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 lda #VIC_CHARSET_ROM sta charset+1 - //SEG1592 [785] phi (byte*) gfx_init_charset::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 + //SEG1587 [780] phi (byte*) gfx_init_charset::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 lda #CHARGEN sta chargen+1 jmp b1 - //SEG1593 [785] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] + //SEG1588 [780] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] b1_from_b3: - //SEG1594 [785] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy - //SEG1595 [785] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy - //SEG1596 [785] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy + //SEG1589 [780] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy + //SEG1590 [780] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy + //SEG1591 [780] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy jmp b1 - //SEG1597 gfx_init_charset::@1 + //SEG1592 gfx_init_charset::@1 b1: - //SEG1598 [786] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] + //SEG1593 [781] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] b2_from_b1: - //SEG1599 [786] phi (byte) gfx_init_charset::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuz1=vbuc1 + //SEG1594 [781] phi (byte) gfx_init_charset::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuz1=vbuc1 lda #0 sta l - //SEG1600 [786] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy - //SEG1601 [786] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy + //SEG1595 [781] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy + //SEG1596 [781] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy jmp b2 - //SEG1602 [786] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] + //SEG1597 [781] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] b2_from_b2: - //SEG1603 [786] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy - //SEG1604 [786] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy - //SEG1605 [786] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy + //SEG1598 [781] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy + //SEG1599 [781] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy + //SEG1600 [781] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy jmp b2 - //SEG1606 gfx_init_charset::@2 + //SEG1601 gfx_init_charset::@2 b2: - //SEG1607 [787] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 + //SEG1602 [782] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (chargen),y ldy #0 sta (charset),y - //SEG1608 [788] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 + //SEG1603 [783] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 inc charset bne !+ inc charset+1 !: - //SEG1609 [789] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1604 [784] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1610 [790] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuz1=_inc_vbuz1 + //SEG1605 [785] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuz1=_inc_vbuz1 inc l - //SEG1611 [791] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1606 [786] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp l bne b2_from_b2 jmp b3 - //SEG1612 gfx_init_charset::@3 + //SEG1607 gfx_init_charset::@3 b3: - //SEG1613 [792] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 + //SEG1608 [787] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 inc c - //SEG1614 [793] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 + //SEG1609 [788] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 lda c cmp #0 bne b1_from_b3 jmp b4 - //SEG1615 gfx_init_charset::@4 + //SEG1610 gfx_init_charset::@4 b4: - //SEG1616 [794] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 + //SEG1611 [789] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT jmp breturn - //SEG1617 gfx_init_charset::@return + //SEG1612 gfx_init_charset::@return breturn: - //SEG1618 [795] return + //SEG1613 [790] return rts } -//SEG1619 gfx_init_screen4 +//SEG1614 gfx_init_screen4 // Initialize VIC screen 4 - all chars are 00 gfx_init_screen4: { .label ch = $8b .label cx = $8d .label cy = $8a - //SEG1620 [797] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] + //SEG1615 [792] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] b1_from_gfx_init_screen4: - //SEG1621 [797] phi (byte) gfx_init_screen4::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 + //SEG1616 [792] phi (byte) gfx_init_screen4::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 lda #0 sta cy - //SEG1622 [797] phi (byte*) gfx_init_screen4::ch#3 = (const byte*) VIC_SCREEN4#0 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 + //SEG1617 [792] phi (byte*) gfx_init_screen4::ch#3 = (const byte*) VIC_SCREEN4#0 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 lda #VIC_SCREEN4 sta ch+1 jmp b1 - //SEG1623 [797] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] + //SEG1618 [792] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] b1_from_b3: - //SEG1624 [797] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy - //SEG1625 [797] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy + //SEG1619 [792] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy + //SEG1620 [792] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy jmp b1 - //SEG1626 gfx_init_screen4::@1 + //SEG1621 gfx_init_screen4::@1 b1: - //SEG1627 [798] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] + //SEG1622 [793] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] b2_from_b1: - //SEG1628 [798] phi (byte) gfx_init_screen4::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuz1=vbuc1 + //SEG1623 [793] phi (byte) gfx_init_screen4::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuz1=vbuc1 lda #0 sta cx - //SEG1629 [798] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy + //SEG1624 [793] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy jmp b2 - //SEG1630 [798] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] + //SEG1625 [793] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] b2_from_b2: - //SEG1631 [798] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy - //SEG1632 [798] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy + //SEG1626 [793] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy + //SEG1627 [793] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy jmp b2 - //SEG1633 gfx_init_screen4::@2 + //SEG1628 gfx_init_screen4::@2 b2: - //SEG1634 [799] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1629 [794] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (ch),y - //SEG1635 [800] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1630 [795] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1636 [801] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1631 [796] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1637 [802] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1632 [797] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp cx bne b2_from_b2 jmp b3 - //SEG1638 gfx_init_screen4::@3 + //SEG1633 gfx_init_screen4::@3 b3: - //SEG1639 [803] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1634 [798] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1640 [804] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1635 [799] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1641 gfx_init_screen4::@return + //SEG1636 gfx_init_screen4::@return breturn: - //SEG1642 [805] return + //SEG1637 [800] return rts } -//SEG1643 gfx_init_screen3 +//SEG1638 gfx_init_screen3 // Initialize VIC screen 3 ( value is %00xx00yy where xx is xpos and yy is ypos gfx_init_screen3: { - .label _0 = $155 - .label _1 = $156 - .label _2 = $157 - .label _3 = $158 + .label _0 = $14b + .label _1 = $14c + .label _2 = $14d + .label _3 = $14e .label ch = $90 .label cx = $8f .label cy = $8e - //SEG1644 [807] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] + //SEG1639 [802] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] b1_from_gfx_init_screen3: - //SEG1645 [807] phi (byte*) gfx_init_screen3::ch#3 = (const byte*) VIC_SCREEN3#0 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 + //SEG1640 [802] phi (byte*) gfx_init_screen3::ch#3 = (const byte*) VIC_SCREEN3#0 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN3 sta ch+1 - //SEG1646 [807] phi (byte) gfx_init_screen3::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 + //SEG1641 [802] phi (byte) gfx_init_screen3::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b1 - //SEG1647 [807] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] + //SEG1642 [802] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] b1_from_b3: - //SEG1648 [807] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy - //SEG1649 [807] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy + //SEG1643 [802] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy + //SEG1644 [802] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy jmp b1 - //SEG1650 gfx_init_screen3::@1 + //SEG1645 gfx_init_screen3::@1 b1: - //SEG1651 [808] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] + //SEG1646 [803] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] b2_from_b1: - //SEG1652 [808] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy - //SEG1653 [808] phi (byte) gfx_init_screen3::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuz1=vbuc1 + //SEG1647 [803] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy + //SEG1648 [803] phi (byte) gfx_init_screen3::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuz1=vbuc1 lda #0 sta cx jmp b2 - //SEG1654 [808] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] + //SEG1649 [803] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] b2_from_b2: - //SEG1655 [808] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy - //SEG1656 [808] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy + //SEG1650 [803] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy + //SEG1651 [803] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy jmp b2 - //SEG1657 gfx_init_screen3::@2 + //SEG1652 gfx_init_screen3::@2 b2: - //SEG1658 [809] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_band_vbuc1 + //SEG1653 [804] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_band_vbuc1 lda #3 and cx sta _0 - //SEG1659 [810] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_rol_4 + //SEG1654 [805] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_rol_4 lda _0 asl asl asl asl sta _1 - //SEG1660 [811] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_band_vbuc1 + //SEG1655 [806] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_band_vbuc1 lda #3 and cy sta _2 - //SEG1661 [812] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuz1=vbuz2_bor_vbuz3 + //SEG1656 [807] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuz1=vbuz2_bor_vbuz3 lda _1 ora _2 sta _3 - //SEG1662 [813] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuz2 + //SEG1657 [808] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuz2 lda _3 ldy #0 sta (ch),y - //SEG1663 [814] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1658 [809] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1664 [815] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1659 [810] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1665 [816] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1660 [811] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp cx bne b2_from_b2 jmp b3 - //SEG1666 gfx_init_screen3::@3 + //SEG1661 gfx_init_screen3::@3 b3: - //SEG1667 [817] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1662 [812] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1668 [818] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1663 [813] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1669 gfx_init_screen3::@return + //SEG1664 gfx_init_screen3::@return breturn: - //SEG1670 [819] return + //SEG1665 [814] return rts } -//SEG1671 gfx_init_screen2 +//SEG1666 gfx_init_screen2 // Initialize VIC screen 2 ( value is %ccccrrrr where cccc is (x+y mod $f) and rrrr is %1111-%cccc) gfx_init_screen2: { - .label _0 = $159 - .label _3 = $15c - .label _4 = $15d - .label col = $15a - .label col2 = $15b + .label _0 = $14f + .label _3 = $152 + .label _4 = $153 + .label col = $150 + .label col2 = $151 .label ch = $94 .label cx = $93 .label cy = $92 - //SEG1672 [821] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] + //SEG1667 [816] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] b1_from_gfx_init_screen2: - //SEG1673 [821] phi (byte*) gfx_init_screen2::ch#3 = (const byte*) VIC_SCREEN2#0 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 + //SEG1668 [816] phi (byte*) gfx_init_screen2::ch#3 = (const byte*) VIC_SCREEN2#0 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN2 sta ch+1 - //SEG1674 [821] phi (byte) gfx_init_screen2::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 + //SEG1669 [816] phi (byte) gfx_init_screen2::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b1 - //SEG1675 [821] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] + //SEG1670 [816] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] b1_from_b3: - //SEG1676 [821] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy - //SEG1677 [821] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy + //SEG1671 [816] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy + //SEG1672 [816] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy jmp b1 - //SEG1678 gfx_init_screen2::@1 + //SEG1673 gfx_init_screen2::@1 b1: - //SEG1679 [822] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] + //SEG1674 [817] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] b2_from_b1: - //SEG1680 [822] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy - //SEG1681 [822] phi (byte) gfx_init_screen2::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuz1=vbuc1 + //SEG1675 [817] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy + //SEG1676 [817] phi (byte) gfx_init_screen2::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuz1=vbuc1 lda #0 sta cx jmp b2 - //SEG1682 [822] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] + //SEG1677 [817] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] b2_from_b2: - //SEG1683 [822] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy - //SEG1684 [822] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy + //SEG1678 [817] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy + //SEG1679 [817] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy jmp b2 - //SEG1685 gfx_init_screen2::@2 + //SEG1680 gfx_init_screen2::@2 b2: - //SEG1686 [823] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuz1=vbuz2_plus_vbuz3 + //SEG1681 [818] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuz1=vbuz2_plus_vbuz3 lda cx clc adc cy sta _0 - //SEG1687 [824] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 + //SEG1682 [819] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and _0 sta col - //SEG1688 [825] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuz2 + //SEG1683 [820] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuz2 lda #$f sec sbc col sta col2 - //SEG1689 [826] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_rol_4 + //SEG1684 [821] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_rol_4 lda col asl asl asl asl sta _3 - //SEG1690 [827] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuz1=vbuz2_bor_vbuz3 + //SEG1685 [822] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuz1=vbuz2_bor_vbuz3 lda _3 ora col2 sta _4 - //SEG1691 [828] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuz2 + //SEG1686 [823] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuz2 lda _4 ldy #0 sta (ch),y - //SEG1692 [829] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1687 [824] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1693 [830] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1688 [825] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1694 [831] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1689 [826] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp cx bne b2_from_b2 jmp b3 - //SEG1695 gfx_init_screen2::@3 + //SEG1690 gfx_init_screen2::@3 b3: - //SEG1696 [832] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1691 [827] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1697 [833] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1692 [828] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1698 gfx_init_screen2::@return + //SEG1693 gfx_init_screen2::@return breturn: - //SEG1699 [834] return + //SEG1694 [829] return rts } -//SEG1700 gfx_init_screen1 +//SEG1695 gfx_init_screen1 // Initialize VIC screen 1 ( value is %0000cccc where cccc is (x+y mod $f)) gfx_init_screen1: { - .label _0 = $15e - .label _1 = $15f + .label _0 = $154 + .label _1 = $155 .label ch = $98 .label cx = $97 .label cy = $96 - //SEG1701 [836] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] + //SEG1696 [831] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] b1_from_gfx_init_screen1: - //SEG1702 [836] phi (byte*) gfx_init_screen1::ch#3 = (const byte*) VIC_SCREEN1#0 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 + //SEG1697 [831] phi (byte*) gfx_init_screen1::ch#3 = (const byte*) VIC_SCREEN1#0 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN1 sta ch+1 - //SEG1703 [836] phi (byte) gfx_init_screen1::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 + //SEG1698 [831] phi (byte) gfx_init_screen1::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b1 - //SEG1704 [836] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] + //SEG1699 [831] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] b1_from_b3: - //SEG1705 [836] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy - //SEG1706 [836] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy + //SEG1700 [831] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy + //SEG1701 [831] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy jmp b1 - //SEG1707 gfx_init_screen1::@1 + //SEG1702 gfx_init_screen1::@1 b1: - //SEG1708 [837] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] + //SEG1703 [832] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] b2_from_b1: - //SEG1709 [837] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy - //SEG1710 [837] phi (byte) gfx_init_screen1::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuz1=vbuc1 + //SEG1704 [832] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy + //SEG1705 [832] phi (byte) gfx_init_screen1::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuz1=vbuc1 lda #0 sta cx jmp b2 - //SEG1711 [837] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] + //SEG1706 [832] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] b2_from_b2: - //SEG1712 [837] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy - //SEG1713 [837] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy + //SEG1707 [832] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy + //SEG1708 [832] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy jmp b2 - //SEG1714 gfx_init_screen1::@2 + //SEG1709 gfx_init_screen1::@2 b2: - //SEG1715 [838] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuz1=vbuz2_plus_vbuz3 + //SEG1710 [833] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuz1=vbuz2_plus_vbuz3 lda cx clc adc cy sta _0 - //SEG1716 [839] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 + //SEG1711 [834] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and _0 sta _1 - //SEG1717 [840] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuz2 + //SEG1712 [835] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuz2 lda _1 ldy #0 sta (ch),y - //SEG1718 [841] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1713 [836] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1719 [842] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1714 [837] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1720 [843] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1715 [838] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp cx bne b2_from_b2 jmp b3 - //SEG1721 gfx_init_screen1::@3 + //SEG1716 gfx_init_screen1::@3 b3: - //SEG1722 [844] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1717 [839] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1723 [845] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1718 [840] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1724 gfx_init_screen1::@return + //SEG1719 gfx_init_screen1::@return breturn: - //SEG1725 [846] return + //SEG1720 [841] return rts } -//SEG1726 gfx_init_screen0 +//SEG1721 gfx_init_screen0 // Initialize VIC screen 0 ( value is %yyyyxxxx where yyyy is ypos and xxxx is xpos) gfx_init_screen0: { - .label _0 = $160 - .label _1 = $161 - .label _2 = $162 - .label _3 = $163 + .label _0 = $156 + .label _1 = $157 + .label _2 = $158 + .label _3 = $159 .label ch = $9c .label cx = $9b .label cy = $9a - //SEG1727 [848] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] + //SEG1722 [843] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] b1_from_gfx_init_screen0: - //SEG1728 [848] phi (byte*) gfx_init_screen0::ch#3 = (const byte*) VIC_SCREEN0#0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 + //SEG1723 [843] phi (byte*) gfx_init_screen0::ch#3 = (const byte*) VIC_SCREEN0#0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN0 sta ch+1 - //SEG1729 [848] phi (byte) gfx_init_screen0::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 + //SEG1724 [843] phi (byte) gfx_init_screen0::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b1 - //SEG1730 [848] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] + //SEG1725 [843] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] b1_from_b3: - //SEG1731 [848] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy - //SEG1732 [848] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy + //SEG1726 [843] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy + //SEG1727 [843] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy jmp b1 - //SEG1733 gfx_init_screen0::@1 + //SEG1728 gfx_init_screen0::@1 b1: - //SEG1734 [849] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] + //SEG1729 [844] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] b2_from_b1: - //SEG1735 [849] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy - //SEG1736 [849] phi (byte) gfx_init_screen0::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuz1=vbuc1 + //SEG1730 [844] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy + //SEG1731 [844] phi (byte) gfx_init_screen0::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuz1=vbuc1 lda #0 sta cx jmp b2 - //SEG1737 [849] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] + //SEG1732 [844] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] b2_from_b2: - //SEG1738 [849] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy - //SEG1739 [849] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy + //SEG1733 [844] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy + //SEG1734 [844] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy jmp b2 - //SEG1740 gfx_init_screen0::@2 + //SEG1735 gfx_init_screen0::@2 b2: - //SEG1741 [850] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 + //SEG1736 [845] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and cy sta _0 - //SEG1742 [851] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_rol_4 + //SEG1737 [846] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_rol_4 lda _0 asl asl asl asl sta _1 - //SEG1743 [852] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 + //SEG1738 [847] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and cx sta _2 - //SEG1744 [853] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuz1=vbuz2_bor_vbuz3 + //SEG1739 [848] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuz1=vbuz2_bor_vbuz3 lda _1 ora _2 sta _3 - //SEG1745 [854] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuz2 + //SEG1740 [849] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuz2 lda _3 ldy #0 sta (ch),y - //SEG1746 [855] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1741 [850] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1747 [856] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1742 [851] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1748 [857] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1743 [852] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp cx bne b2_from_b2 jmp b3 - //SEG1749 gfx_init_screen0::@3 + //SEG1744 gfx_init_screen0::@3 b3: - //SEG1750 [858] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1745 [853] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1751 [859] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1746 [854] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1752 gfx_init_screen0::@return + //SEG1747 gfx_init_screen0::@return breturn: - //SEG1753 [860] return + //SEG1748 [855] return rts } -//SEG1754 keyboard_init +//SEG1749 keyboard_init // Initialize keyboard reading by setting CIA#$ Data Direction Registers keyboard_init: { - //SEG1755 [861] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 + //SEG1750 [856] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Write Mode lda #$ff sta CIA1_PORT_A_DDR - //SEG1756 [862] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + //SEG1751 [857] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Read Mode lda #0 sta CIA1_PORT_B_DDR jmp breturn - //SEG1757 keyboard_init::@return + //SEG1752 keyboard_init::@return breturn: - //SEG1758 [863] return + //SEG1753 [858] return rts } // Default vallues for the palette @@ -18748,7 +18792,7 @@ keyboard_init: { FORM_COLS: .text "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" @"+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" @"+" nnnnnnnnnnnn mmmmmmmmmm ooooooooo @"+" nnnnnnnnnnnn mmmmmmmmmm ooooooooo @"+" nnnnnnnnnnnn mmmmmmmmmm ooooooooo @"+" nnnnnnnnnnnn mmmmmmmmmm ooooooooo @"+" nnnnnnnnnnnn mmmmmmmmmm @"+" nnnnnnnnnnnn jjjjjjjjj @"+" nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"+" nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"+" nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"+" nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"+" nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"+" nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"+"@" REGISTER UPLIFT POTENTIAL REGISTERS -Equivalence Class zp ZP_BYTE:337 [ bitmap_init::$7 ] has ALU potential. +Equivalence Class zp ZP_BYTE:327 [ bitmap_init::$7 ] has ALU potential. Statement [5] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0 [ ] ( main:2 [ ] ) always clobbers reg byte a Statement [6] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [ ] ( main:2 [ ] ) always clobbers reg byte a Statement [7] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) always clobbers reg byte a @@ -18842,28 +18886,29 @@ Statement [136] if(*((const byte*) form_dtv_palet#0)==(byte/signed byte/word/sig Statement [141] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) $ff) goto gfx_mode::@25 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a Statement [151] *((const byte*) DTV_PALETTE#0 + (byte) gfx_mode::i#2) ← *((const byte[$10]) DTV_PALETTE_DEFAULT#0 + (byte) gfx_mode::i#2) [ keyboard_events_size#24 gfx_mode::i#2 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::i#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:12 [ gfx_mode::i#2 gfx_mode::i#1 ] -Statement [166] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ) always clobbers reg byte a +Statement [166] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] -Statement [181] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#18 | (const byte) KEY_MODIFIER_RSHIFT#0 [ keyboard_events_size#100 keyboard_modifiers#3 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#3 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#3 ] ) always clobbers reg byte a -Statement [187] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#19 | (const byte) KEY_MODIFIER_CTRL#0 [ keyboard_events_size#100 keyboard_modifiers#4 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#4 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#4 ] ) always clobbers reg byte a -Statement [193] (byte) keyboard_modifiers#5 ← (byte) keyboard_modifiers#20 | (const byte) KEY_MODIFIER_COMMODORE#0 [ keyboard_events_size#100 keyboard_modifiers#5 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#5 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#5 ] ) always clobbers reg byte a -Statement [197] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:269 [ form_field_ptr::x#0 ] +Statement [181] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#18 | (const byte) KEY_MODIFIER_RSHIFT#0 [ keyboard_events_size#100 keyboard_modifiers#3 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#3 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#3 ] ) always clobbers reg byte a +Statement [187] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#19 | (const byte) KEY_MODIFIER_CTRL#0 [ keyboard_events_size#100 keyboard_modifiers#4 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#4 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#4 ] ) always clobbers reg byte a +Statement [193] (byte) keyboard_modifiers#5 ← (byte) keyboard_modifiers#20 | (const byte) KEY_MODIFIER_COMMODORE#0 [ keyboard_events_size#100 keyboard_modifiers#5 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#5 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#5 ] ) always clobbers reg byte a +Statement [197] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:245 [ keyboard_event_scan::row_scan#0 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 ] -Statement [201] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ) always clobbers reg byte a -Statement [203] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#18) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ) always clobbers reg byte a -Statement [209] *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ) always clobbers reg byte a -Statement [210] (byte/word/dword~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte/signed byte/word/signed word/dword/signed dword) $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ) always clobbers reg byte a -Statement [214] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ) always clobbers reg byte a +Statement [201] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ) always clobbers reg byte a +Statement [203] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#18) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ) always clobbers reg byte a +Statement [209] *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ) always clobbers reg byte a +Statement [210] (byte/word/dword~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte/signed byte/word/signed word/dword/signed dword) $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ) always clobbers reg byte a +Statement [214] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#18 keyboard_modifiers#3 keyboard_modifiers#4 keyboard_modifiers#5 ] -Statement [216] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ) always clobbers reg byte a +Statement [216] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] -Statement [217] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] ) always clobbers reg byte a -Statement [219] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] ) always clobbers reg byte a -Statement [220] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a +Statement [217] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] ) always clobbers reg byte a +Statement [219] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] ) always clobbers reg byte a +Statement [220] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a Statement [272] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) FORM_CHARSET#0/(dword/signed dword) $10000 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a Statement [273] *((const byte*) DTV_COLOR_BANK_LO#0) ← <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a Statement [274] *((const byte*) DTV_COLOR_BANK_HI#0) ← >((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a @@ -18885,56 +18930,48 @@ Statement [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name Statement [325] if(*((byte*) print_str_at::str#2)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#2 print_str_at::at#2 ] ( main:2::form_mode:13::render_preset_name:271::print_str_at:321 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] main:2::form_mode:13::render_preset_name:305::print_str_at:321 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] Statement [327] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) [ print_str_at::str#2 print_str_at::at#2 ] ( main:2::form_mode:13::render_preset_name:271::print_str_at:321 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] main:2::form_mode:13::render_preset_name:305::print_str_at:321 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] ) always clobbers reg byte a reg byte y -Statement [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::form_mode:13::form_render_values:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_field_ptr::return#2 ] main:2::form_mode:13::form_render_values:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) always clobbers reg byte a +Statement [334] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::form_mode:13::form_render_values:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 ] main:2::form_mode:13::form_render_values:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] -Statement [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::form_mode:13::form_render_values:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_render_values::field#0 ] main:2::form_mode:13::form_render_values:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_render_values::field#0 ] ) always clobbers reg byte a -Statement [336] *((byte*) form_render_values::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::form_mode:13::form_render_values:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 ] main:2::form_mode:13::form_render_values:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] -Statement [342] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::form_mode:13::form_render_values:269::form_field_ptr:333 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::form_mode:13::form_render_values:303::form_field_ptr:333 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::form_mode:13::form_control:294::form_field_ptr:365 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) always clobbers reg byte a +Statement [340] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::$2 form_field_ptr::field_idx#2 ] ( main:2::form_mode:13::form_render_values:269::form_field_ptr:333 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::field_idx#2 ] main:2::form_mode:13::form_render_values:303::form_field_ptr:333 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::field_idx#2 ] main:2::form_mode:13::form_control:294::form_field_ptr:362 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::$2 form_field_ptr::field_idx#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:42 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] -Statement [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::form_mode:13::form_render_values:269::form_field_ptr:333 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_field_ptr::return#0 ] main:2::form_mode:13::form_render_values:303::form_field_ptr:333 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::return#0 ] main:2::form_mode:13::form_control:294::form_field_ptr:365 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::return#0 ] ) always clobbers reg byte a -Statement [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) [ apply_preset::preset#14 apply_preset::i#2 ] ( main:2::form_mode:13::apply_preset:301 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 apply_preset::preset#14 apply_preset::i#2 ] ) always clobbers reg byte a +Statement [357] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) [ apply_preset::preset#14 apply_preset::i#2 ] ( main:2::form_mode:13::apply_preset:301 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 apply_preset::preset#14 apply_preset::i#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:45 [ apply_preset::i#2 apply_preset::i#1 ] -Statement [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::return#3 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::return#3 ] ) always clobbers reg byte a -Statement [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_control::field#0 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_control::field#0 ] ) always clobbers reg byte a -Statement [371] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [372] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$13 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$13 ] ) always clobbers reg byte a reg byte y -Statement [373] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y -Statement [381] (byte~) form_control::$15 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_control::field#0 form_control::$15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_control::field#0 form_control::$15 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#18 keyboard_modifiers#3 keyboard_modifiers#4 keyboard_modifiers#5 ] -Statement [382] *((byte*) form_control::field#0) ← (byte~) form_control::$15 [ keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 ] ) always clobbers reg byte y -Statement [383] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ) always clobbers reg byte a -Statement [395] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$24 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$24 ] ) always clobbers reg byte a -Statement [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [399] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [400] *((byte*) form_control::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) [ keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ) always clobbers reg byte a reg byte y -Statement [402] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a reg byte y -Statement [403] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [406] (byte/word/dword~) form_control::$14 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) $80 [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$14 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$14 ] ) always clobbers reg byte a reg byte y -Statement [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$14 [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y -Statement [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::form_mode:13::form_set_screen:267 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] ) always clobbers reg byte a +Statement [366] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [367] (byte~) form_control::$13 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$13 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$13 ] ) always clobbers reg byte a +Statement [376] (byte~) form_control::$15 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_control::$15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_control::$15 ] ) always clobbers reg byte a +Statement [378] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ) always clobbers reg byte a +Statement [390] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$24 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$24 ] ) always clobbers reg byte a +Statement [393] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [394] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [395] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) [ keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [397] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:269 [ form_field_ptr::x#0 ] +Statement [398] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [401] (byte/word/dword~) form_control::$14 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) | (byte/word/signed word/dword/signed dword) $80 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$14 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$14 ] ) always clobbers reg byte a reg byte y +Statement [402] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte/word/dword~) form_control::$14 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte y +Statement [410] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::form_mode:13::form_set_screen:267 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:49 [ form_set_screen::y#2 form_set_screen::y#1 ] -Statement [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ) always clobbers reg byte a -Statement [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) always clobbers reg byte a reg byte y -Statement [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y -Statement [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:289 [ print_str_lines::ch#0 ] -Statement [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ) always clobbers reg byte a -Statement [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:433 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:433 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a -Statement [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:433 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:433 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a -Statement [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 [ print_set_screen::screen#2 print_cls::sc#0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] ) always clobbers reg byte a -Statement [442] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) always clobbers reg byte a -Statement [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] ) always clobbers reg byte a -Statement [484] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ) always clobbers reg byte a +Statement [415] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ) always clobbers reg byte a +Statement [417] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) always clobbers reg byte a reg byte y +Statement [420] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y +Statement [423] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:279 [ print_str_lines::ch#0 ] +Statement [429] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ) always clobbers reg byte a +Statement [432] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [433] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [435] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 [ print_set_screen::screen#2 print_cls::sc#0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] ) always clobbers reg byte a +Statement [437] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [439] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) always clobbers reg byte a +Statement [440] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] ) always clobbers reg byte a +Statement [479] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] -Statement [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ) always clobbers reg byte a -Statement [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ) always clobbers reg byte a -Statement [489] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ) always clobbers reg byte a -Statement [490] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ) always clobbers reg byte a -Statement [491] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ) always clobbers reg byte a -Statement [492] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ) always clobbers reg byte a -Statement [495] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ) always clobbers reg byte a reg byte y +Statement [480] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ) always clobbers reg byte a +Statement [481] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ) always clobbers reg byte a +Statement [484] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ) always clobbers reg byte a +Statement [485] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ) always clobbers reg byte a +Statement [486] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ) always clobbers reg byte a +Statement [487] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ) always clobbers reg byte a +Statement [490] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] @@ -18943,64 +18980,64 @@ Removing always clobbered register reg byte y as potential for zp ZP_BYTE:66 [ g Statement asm { .byte$32,$dd lda$ff .byte$32,$00 } always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:93 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] -Statement [518] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:472 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ) always clobbers reg byte a +Statement [513] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:467 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] -Statement [520] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:472 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [515] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:467 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] -Statement [533] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_vertical:470 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ) always clobbers reg byte a reg byte y +Statement [528] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_vertical:465 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:75 [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:75 [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] -Statement [548] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:468 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [543] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:463 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:79 [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:79 [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] -Statement [558] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:468 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y -Statement [562] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:466 [ ] ) always clobbers reg byte a -Statement [565] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:466 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ) always clobbers reg byte a reg byte y +Statement [553] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:463 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [557] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ ] ) always clobbers reg byte a +Statement [560] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] -Statement [572] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:466 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ) always clobbers reg byte y +Statement [567] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:88 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] -Statement [582] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:466 [ ] ) always clobbers reg byte a -Statement [589] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ) always clobbers reg byte a -Statement [594] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ) always clobbers reg byte a -Statement [595] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ) always clobbers reg byte a -Statement [596] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ) always clobbers reg byte y +Statement [577] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ ] ) always clobbers reg byte a +Statement [584] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ) always clobbers reg byte a +Statement [589] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ) always clobbers reg byte a +Statement [590] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ) always clobbers reg byte a +Statement [591] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:93 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] -Statement [599] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ) always clobbers reg byte a -Statement [619] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ) always clobbers reg byte a +Statement [594] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ) always clobbers reg byte a +Statement [614] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:312 [ bitmap_line::x0#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:313 [ bitmap_line::x1#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:314 [ bitmap_line::y0#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:315 [ bitmap_line::y1#0 ] -Statement [621] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:316 [ bitmap_line::xd#2 ] -Statement [636] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ) always clobbers reg byte a -Statement [650] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ) always clobbers reg byte a -Statement [652] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:319 [ bitmap_line::xd#1 ] -Statement [666] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ) always clobbers reg byte a -Statement [681] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:302 [ bitmap_line::x0#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:303 [ bitmap_line::x1#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:304 [ bitmap_line::y0#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:305 [ bitmap_line::y1#0 ] +Statement [616] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:306 [ bitmap_line::xd#2 ] +Statement [631] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ) always clobbers reg byte a +Statement [645] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ) always clobbers reg byte a +Statement [647] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:309 [ bitmap_line::xd#1 ] +Statement [661] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ) always clobbers reg byte a +Statement [676] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] -Statement [687] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ) always clobbers reg byte a -Statement [690] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ) always clobbers reg byte a -Statement [696] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ) always clobbers reg byte a +Statement [682] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ) always clobbers reg byte a +Statement [685] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ) always clobbers reg byte a +Statement [691] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:103 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:104 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] @@ -19022,9 +19059,9 @@ Removing always clobbered register reg byte a as potential for zp ZP_BYTE:119 [ Removing always clobbered register reg byte a as potential for zp ZP_BYTE:120 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] -Statement [697] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ) always clobbers reg byte a -Statement [698] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::$0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] ) always clobbers reg byte a -Statement [699] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::$0 bitmap_plot::$1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] ) always clobbers reg byte a reg byte y +Statement [692] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ) always clobbers reg byte a +Statement [693] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::$0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] ) always clobbers reg byte a +Statement [694] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::$0 bitmap_plot::$1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] @@ -19050,75 +19087,75 @@ Removing always clobbered register reg byte y as potential for zp ZP_BYTE:119 [ Removing always clobbered register reg byte y as potential for zp ZP_BYTE:120 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] -Statement [700] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 [ ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] ) always clobbers reg byte y -Statement [703] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ) always clobbers reg byte a -Statement [709] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ) always clobbers reg byte a -Statement [712] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ) always clobbers reg byte a -Statement [718] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ) always clobbers reg byte a -Statement [724] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ) always clobbers reg byte a -Statement [727] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ) always clobbers reg byte a -Statement [733] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ) always clobbers reg byte a -Statement [739] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ) always clobbers reg byte a -Statement [742] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ) always clobbers reg byte a -Statement [747] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) [ bitmap_clear::$3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_clear:608 [ bitmap_clear::$3 ] ) always clobbers reg byte a -Statement [748] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 [ bitmap_clear::bitmap#5 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_clear:608 [ bitmap_clear::bitmap#5 ] ) always clobbers reg byte a -Statement [751] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_clear:608 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ) always clobbers reg byte a reg byte y +Statement [695] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 [ ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] ) always clobbers reg byte y +Statement [698] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ) always clobbers reg byte a +Statement [704] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ) always clobbers reg byte a +Statement [707] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ) always clobbers reg byte a +Statement [713] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ) always clobbers reg byte a +Statement [719] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ) always clobbers reg byte a +Statement [722] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ) always clobbers reg byte a +Statement [728] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ) always clobbers reg byte a +Statement [734] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ) always clobbers reg byte a +Statement [737] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ) always clobbers reg byte a +Statement [742] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) [ bitmap_clear::$3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_clear:603 [ bitmap_clear::$3 ] ) always clobbers reg byte a +Statement [743] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 [ bitmap_clear::bitmap#5 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_clear:603 [ bitmap_clear::bitmap#5 ] ) always clobbers reg byte a +Statement [746] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_clear:603 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:126 [ bitmap_clear::x#2 bitmap_clear::x#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:126 [ bitmap_clear::x#2 bitmap_clear::x#1 ] -Statement [762] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_init:606 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a +Statement [757] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:127 [ bitmap_init::x#2 bitmap_init::x#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:128 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] -Statement [763] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_init:606 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a -Statement [778] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_init:606 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ) always clobbers reg byte a +Statement [758] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a +Statement [773] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:129 [ bitmap_init::y#2 bitmap_init::y#1 ] -Statement [784] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 [ ] ( main:2::gfx_init:10::gfx_init_charset:460 [ ] ) always clobbers reg byte a -Statement [787] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ( main:2::gfx_init:10::gfx_init_charset:460 [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ) always clobbers reg byte a reg byte y +Statement [779] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 [ ] ( main:2::gfx_init:10::gfx_init_charset:455 [ ] ) always clobbers reg byte a +Statement [782] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ( main:2::gfx_init:10::gfx_init_charset:455 [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:137 [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:137 [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] -Statement [794] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 [ ] ( main:2::gfx_init:10::gfx_init_charset:460 [ ] ) always clobbers reg byte a -Statement [799] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ( main:2::gfx_init:10::gfx_init_screen4:458 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ) always clobbers reg byte a reg byte y +Statement [789] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 [ ] ( main:2::gfx_init:10::gfx_init_charset:455 [ ] ) always clobbers reg byte a +Statement [794] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ( main:2::gfx_init:10::gfx_init_screen4:453 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:141 [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:141 [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] -Statement [810] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ( main:2::gfx_init:10::gfx_init_screen3:456 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ) always clobbers reg byte a +Statement [805] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] -Statement [811] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ( main:2::gfx_init:10::gfx_init_screen3:456 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:342 [ gfx_init_screen3::$1 ] -Statement [813] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen3:456 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ) always clobbers reg byte y +Statement [806] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:332 [ gfx_init_screen3::$1 ] +Statement [808] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] -Statement [823] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ( main:2::gfx_init:10::gfx_init_screen2:454 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ) always clobbers reg byte a +Statement [818] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] -Statement [825] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ( main:2::gfx_init:10::gfx_init_screen2:454 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:346 [ gfx_init_screen2::col#0 ] -Statement [826] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ( main:2::gfx_init:10::gfx_init_screen2:454 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:347 [ gfx_init_screen2::col2#0 ] -Statement [828] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen2:454 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ) always clobbers reg byte y +Statement [820] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:336 [ gfx_init_screen2::col#0 ] +Statement [821] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:337 [ gfx_init_screen2::col2#0 ] +Statement [823] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] -Statement [838] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ( main:2::gfx_init:10::gfx_init_screen1:452 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ) always clobbers reg byte a +Statement [833] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ( main:2::gfx_init:10::gfx_init_screen1:447 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:151 [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] -Statement [840] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen1:452 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ) always clobbers reg byte y +Statement [835] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen1:447 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:151 [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] -Statement [851] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ( main:2::gfx_init:10::gfx_init_screen0:450 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ) always clobbers reg byte a +Statement [846] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] -Statement [852] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ( main:2::gfx_init:10::gfx_init_screen0:450 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:353 [ gfx_init_screen0::$1 ] -Statement [854] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen0:450 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ) always clobbers reg byte y +Statement [847] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:343 [ gfx_init_screen0::$1 ] +Statement [849] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] -Statement [861] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a -Statement [862] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a +Statement [856] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a +Statement [857] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a Statement [5] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0 [ ] ( main:2 [ ] ) always clobbers reg byte a Statement [6] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [ ] ( main:2 [ ] ) always clobbers reg byte a Statement [7] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) always clobbers reg byte a @@ -19196,21 +19233,21 @@ Statement [134] (byte~) gfx_mode::$71 ← (byte~) gfx_mode::$70 | *((const byte* Statement [136] if(*((const byte*) form_dtv_palet#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@24 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a Statement [141] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) $ff) goto gfx_mode::@25 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a Statement [151] *((const byte*) DTV_PALETTE#0 + (byte) gfx_mode::i#2) ← *((const byte[$10]) DTV_PALETTE_DEFAULT#0 + (byte) gfx_mode::i#2) [ keyboard_events_size#24 gfx_mode::i#2 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::i#2 ] ) always clobbers reg byte a -Statement [165] if((byte) keyboard_event_scan::row_scan#0!=*((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_event_scan::row_scan#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_event_scan::row_scan#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_event_scan::row_scan#0 ] ) always clobbers reg byte a -Statement [166] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ) always clobbers reg byte a -Statement [181] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#18 | (const byte) KEY_MODIFIER_RSHIFT#0 [ keyboard_events_size#100 keyboard_modifiers#3 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#3 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#3 ] ) always clobbers reg byte a -Statement [187] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#19 | (const byte) KEY_MODIFIER_CTRL#0 [ keyboard_events_size#100 keyboard_modifiers#4 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#4 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#4 ] ) always clobbers reg byte a -Statement [193] (byte) keyboard_modifiers#5 ← (byte) keyboard_modifiers#20 | (const byte) KEY_MODIFIER_COMMODORE#0 [ keyboard_events_size#100 keyboard_modifiers#5 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#5 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#5 ] ) always clobbers reg byte a -Statement [197] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ) always clobbers reg byte a -Statement [201] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ) always clobbers reg byte a -Statement [203] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#18) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ) always clobbers reg byte a -Statement [209] *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ) always clobbers reg byte a -Statement [210] (byte/word/dword~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte/signed byte/word/signed word/dword/signed dword) $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ) always clobbers reg byte a -Statement [214] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ) always clobbers reg byte a -Statement [216] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ) always clobbers reg byte a -Statement [217] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] ) always clobbers reg byte a -Statement [219] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] ) always clobbers reg byte a -Statement [220] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:375::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a +Statement [165] if((byte) keyboard_event_scan::row_scan#0!=*((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_event_scan::row_scan#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_event_scan::row_scan#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_event_scan::row_scan#0 ] ) always clobbers reg byte a +Statement [166] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ) always clobbers reg byte a +Statement [181] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#18 | (const byte) KEY_MODIFIER_RSHIFT#0 [ keyboard_events_size#100 keyboard_modifiers#3 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#3 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#3 ] ) always clobbers reg byte a +Statement [187] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#19 | (const byte) KEY_MODIFIER_CTRL#0 [ keyboard_events_size#100 keyboard_modifiers#4 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#4 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#4 ] ) always clobbers reg byte a +Statement [193] (byte) keyboard_modifiers#5 ← (byte) keyboard_modifiers#20 | (const byte) KEY_MODIFIER_COMMODORE#0 [ keyboard_events_size#100 keyboard_modifiers#5 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#5 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#5 ] ) always clobbers reg byte a +Statement [197] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ) always clobbers reg byte a +Statement [201] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ) always clobbers reg byte a +Statement [203] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#18) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ) always clobbers reg byte a +Statement [209] *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ) always clobbers reg byte a +Statement [210] (byte/word/dword~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte/signed byte/word/signed word/dword/signed dword) $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ) always clobbers reg byte a +Statement [214] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ) always clobbers reg byte a +Statement [216] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ) always clobbers reg byte a +Statement [217] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] ) always clobbers reg byte a +Statement [219] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] ) always clobbers reg byte a +Statement [220] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a Statement [272] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) FORM_CHARSET#0/(dword/signed dword) $10000 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a Statement [273] *((const byte*) DTV_COLOR_BANK_LO#0) ← <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a Statement [274] *((const byte*) DTV_COLOR_BANK_HI#0) ← >((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a @@ -19230,116 +19267,329 @@ Statement [292] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signe Statement [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 [ print_str_at::str#1 ] ( main:2::form_mode:13::render_preset_name:271 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#1 ] main:2::form_mode:13::render_preset_name:305 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#1 ] ) always clobbers reg byte a Statement [325] if(*((byte*) print_str_at::str#2)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#2 print_str_at::at#2 ] ( main:2::form_mode:13::render_preset_name:271::print_str_at:321 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] main:2::form_mode:13::render_preset_name:305::print_str_at:321 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] ) always clobbers reg byte a reg byte y Statement [327] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) [ print_str_at::str#2 print_str_at::at#2 ] ( main:2::form_mode:13::render_preset_name:271::print_str_at:321 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] main:2::form_mode:13::render_preset_name:305::print_str_at:321 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] ) always clobbers reg byte a reg byte y -Statement [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::form_mode:13::form_render_values:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_field_ptr::return#2 ] main:2::form_mode:13::form_render_values:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) always clobbers reg byte a -Statement [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::form_mode:13::form_render_values:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_render_values::field#0 ] main:2::form_mode:13::form_render_values:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_render_values::field#0 ] ) always clobbers reg byte a -Statement [336] *((byte*) form_render_values::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::form_mode:13::form_render_values:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 ] main:2::form_mode:13::form_render_values:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 ] ) always clobbers reg byte a reg byte y -Statement [342] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::form_mode:13::form_render_values:269::form_field_ptr:333 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::form_mode:13::form_render_values:303::form_field_ptr:333 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::form_mode:13::form_control:294::form_field_ptr:365 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) always clobbers reg byte a -Statement [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::form_mode:13::form_render_values:269::form_field_ptr:333 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_field_ptr::return#0 ] main:2::form_mode:13::form_render_values:303::form_field_ptr:333 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::return#0 ] main:2::form_mode:13::form_control:294::form_field_ptr:365 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::return#0 ] ) always clobbers reg byte a -Statement [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) [ apply_preset::preset#14 apply_preset::i#2 ] ( main:2::form_mode:13::apply_preset:301 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 apply_preset::preset#14 apply_preset::i#2 ] ) always clobbers reg byte a -Statement [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::return#3 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::return#3 ] ) always clobbers reg byte a -Statement [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_control::field#0 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_control::field#0 ] ) always clobbers reg byte a -Statement [371] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [372] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$13 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$13 ] ) always clobbers reg byte a reg byte y -Statement [373] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y -Statement [381] (byte~) form_control::$15 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_control::field#0 form_control::$15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_control::field#0 form_control::$15 ] ) always clobbers reg byte a reg byte y -Statement [382] *((byte*) form_control::field#0) ← (byte~) form_control::$15 [ keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 ] ) always clobbers reg byte y -Statement [383] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ) always clobbers reg byte a -Statement [395] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$24 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$24 ] ) always clobbers reg byte a -Statement [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [399] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [400] *((byte*) form_control::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) [ keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ) always clobbers reg byte a reg byte y -Statement [402] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a reg byte y -Statement [403] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [406] (byte/word/dword~) form_control::$14 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) $80 [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$14 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 form_control::$14 ] ) always clobbers reg byte a reg byte y -Statement [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$14 [ keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y -Statement [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::form_mode:13::form_set_screen:267 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] ) always clobbers reg byte a -Statement [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ) always clobbers reg byte a -Statement [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) always clobbers reg byte a reg byte y -Statement [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y -Statement [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte y -Statement [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ) always clobbers reg byte a -Statement [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:433 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:433 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a -Statement [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:433 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:433 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a -Statement [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 [ print_set_screen::screen#2 print_cls::sc#0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] ) always clobbers reg byte a -Statement [442] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) always clobbers reg byte a -Statement [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] ) always clobbers reg byte a -Statement [484] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ) always clobbers reg byte a -Statement [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ) always clobbers reg byte a -Statement [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ) always clobbers reg byte a -Statement [489] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ) always clobbers reg byte a -Statement [490] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ) always clobbers reg byte a -Statement [491] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ) always clobbers reg byte a -Statement [492] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ) always clobbers reg byte a -Statement [495] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_full:478::gfx_init_plane_fill:481 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_blank:476::gfx_init_plane_fill:509 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_vertical2:474::gfx_init_plane_fill:512 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ) always clobbers reg byte a reg byte y +Statement [334] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::form_mode:13::form_render_values:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 ] main:2::form_mode:13::form_render_values:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] +Statement [340] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::$2 form_field_ptr::field_idx#2 ] ( main:2::form_mode:13::form_render_values:269::form_field_ptr:333 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::field_idx#2 ] main:2::form_mode:13::form_render_values:303::form_field_ptr:333 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::field_idx#2 ] main:2::form_mode:13::form_control:294::form_field_ptr:362 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::$2 form_field_ptr::field_idx#2 ] ) always clobbers reg byte a +Statement [357] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) [ apply_preset::preset#14 apply_preset::i#2 ] ( main:2::form_mode:13::apply_preset:301 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 apply_preset::preset#14 apply_preset::i#2 ] ) always clobbers reg byte a +Statement [366] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [367] (byte~) form_control::$13 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$13 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$13 ] ) always clobbers reg byte a reg byte y +Statement [368] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$13 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte y +Statement [376] (byte~) form_control::$15 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_control::$15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_control::$15 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#18 keyboard_modifiers#3 keyboard_modifiers#4 keyboard_modifiers#5 ] +Statement [377] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$15 [ keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 ] ) always clobbers reg byte y +Statement [378] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ) always clobbers reg byte a +Statement [390] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$24 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$24 ] ) always clobbers reg byte a +Statement [393] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [394] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [395] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) [ keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ) always clobbers reg byte a reg byte y +Statement [397] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a reg byte y +Statement [398] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [401] (byte/word/dword~) form_control::$14 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) | (byte/word/signed word/dword/signed dword) $80 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$14 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$14 ] ) always clobbers reg byte a reg byte y +Statement [402] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte/word/dword~) form_control::$14 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte y +Statement [410] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::form_mode:13::form_set_screen:267 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] ) always clobbers reg byte a +Statement [415] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ) always clobbers reg byte a +Statement [417] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) always clobbers reg byte a reg byte y +Statement [420] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y +Statement [423] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte y +Statement [429] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ) always clobbers reg byte a +Statement [432] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [433] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [435] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 [ print_set_screen::screen#2 print_cls::sc#0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] ) always clobbers reg byte a +Statement [437] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [439] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) always clobbers reg byte a +Statement [440] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] ) always clobbers reg byte a +Statement [479] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ) always clobbers reg byte a +Statement [480] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ) always clobbers reg byte a +Statement [481] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ) always clobbers reg byte a +Statement [484] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ) always clobbers reg byte a +Statement [485] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ) always clobbers reg byte a +Statement [486] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ) always clobbers reg byte a +Statement [487] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ) always clobbers reg byte a +Statement [490] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ) always clobbers reg byte a reg byte y Statement asm { .byte$32,$dd lda$ff .byte$32,$00 } always clobbers reg byte a -Statement [518] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:472 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ) always clobbers reg byte a -Statement [520] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:472 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ) always clobbers reg byte a reg byte y -Statement [533] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_vertical:470 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ) always clobbers reg byte a reg byte y -Statement [546] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$8 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:468 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$8 ] ) always clobbers reg byte a -Statement [548] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:468 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y -Statement [558] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:468 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y -Statement [562] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:466 [ ] ) always clobbers reg byte a -Statement [565] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:466 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ) always clobbers reg byte a reg byte y -Statement [572] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:466 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ) always clobbers reg byte y -Statement [582] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:466 [ ] ) always clobbers reg byte a -Statement [589] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ) always clobbers reg byte a -Statement [594] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ) always clobbers reg byte a -Statement [595] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ) always clobbers reg byte a -Statement [596] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ) always clobbers reg byte y -Statement [599] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:464 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ) always clobbers reg byte a -Statement [619] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ) always clobbers reg byte a -Statement [621] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ) always clobbers reg byte a -Statement [636] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ) always clobbers reg byte a -Statement [650] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ) always clobbers reg byte a -Statement [652] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ) always clobbers reg byte a -Statement [666] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ) always clobbers reg byte a -Statement [681] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ) always clobbers reg byte a -Statement [687] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ) always clobbers reg byte a -Statement [690] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ) always clobbers reg byte a -Statement [696] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ) always clobbers reg byte a -Statement [697] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ) always clobbers reg byte a -Statement [698] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::$0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] ) always clobbers reg byte a -Statement [699] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::$0 bitmap_plot::$1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] ) always clobbers reg byte a reg byte y -Statement [700] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 [ ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:635::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyi:679::bitmap_plot:685 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673::bitmap_plot:707 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665::bitmap_plot:722 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659::bitmap_plot:737 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] ) always clobbers reg byte y -Statement [703] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ) always clobbers reg byte a -Statement [709] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ) always clobbers reg byte a -Statement [712] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:628 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxi:673 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ) always clobbers reg byte a -Statement [718] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ) always clobbers reg byte a -Statement [724] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ) always clobbers reg byte a -Statement [727] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:649 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_xdyd:665 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ) always clobbers reg byte a -Statement [733] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ) always clobbers reg byte a -Statement [739] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ) always clobbers reg byte a -Statement [742] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:643 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_line:614::bitmap_line_ydxd:659 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ) always clobbers reg byte a -Statement [747] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) [ bitmap_clear::$3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_clear:608 [ bitmap_clear::$3 ] ) always clobbers reg byte a -Statement [748] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 [ bitmap_clear::bitmap#5 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_clear:608 [ bitmap_clear::bitmap#5 ] ) always clobbers reg byte a -Statement [751] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_clear:608 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ) always clobbers reg byte a reg byte y -Statement [760] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_init:606 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ) always clobbers reg byte a -Statement [762] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_init:606 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a -Statement [763] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_init:606 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a -Statement [770] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$6 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_init:606 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$6 ] ) always clobbers reg byte a -Statement [776] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_init:606 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ) always clobbers reg byte a -Statement [778] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:462::bitmap_init:606 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ) always clobbers reg byte a -Statement [784] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 [ ] ( main:2::gfx_init:10::gfx_init_charset:460 [ ] ) always clobbers reg byte a -Statement [787] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ( main:2::gfx_init:10::gfx_init_charset:460 [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ) always clobbers reg byte a reg byte y -Statement [794] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 [ ] ( main:2::gfx_init:10::gfx_init_charset:460 [ ] ) always clobbers reg byte a -Statement [799] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ( main:2::gfx_init:10::gfx_init_screen4:458 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ) always clobbers reg byte a reg byte y -Statement [809] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] ( main:2::gfx_init:10::gfx_init_screen3:456 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] ) always clobbers reg byte a -Statement [810] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ( main:2::gfx_init:10::gfx_init_screen3:456 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ) always clobbers reg byte a -Statement [811] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ( main:2::gfx_init:10::gfx_init_screen3:456 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ) always clobbers reg byte a -Statement [813] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen3:456 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ) always clobbers reg byte y -Statement [823] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ( main:2::gfx_init:10::gfx_init_screen2:454 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ) always clobbers reg byte a -Statement [825] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ( main:2::gfx_init:10::gfx_init_screen2:454 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ) always clobbers reg byte a -Statement [826] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ( main:2::gfx_init:10::gfx_init_screen2:454 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ) always clobbers reg byte a -Statement [828] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen2:454 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ) always clobbers reg byte y -Statement [838] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ( main:2::gfx_init:10::gfx_init_screen1:452 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ) always clobbers reg byte a -Statement [840] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen1:452 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ) always clobbers reg byte y -Statement [850] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] ( main:2::gfx_init:10::gfx_init_screen0:450 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] ) always clobbers reg byte a -Statement [851] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ( main:2::gfx_init:10::gfx_init_screen0:450 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ) always clobbers reg byte a -Statement [852] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ( main:2::gfx_init:10::gfx_init_screen0:450 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ) always clobbers reg byte a -Statement [854] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen0:450 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ) always clobbers reg byte y -Statement [861] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a -Statement [862] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a +Statement [513] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:467 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ) always clobbers reg byte a +Statement [515] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:467 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [528] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_vertical:465 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ) always clobbers reg byte a reg byte y +Statement [541] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$8 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:463 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$8 ] ) always clobbers reg byte a +Statement [543] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:463 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [553] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:463 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [557] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ ] ) always clobbers reg byte a +Statement [560] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ) always clobbers reg byte a reg byte y +Statement [567] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ) always clobbers reg byte y +Statement [577] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ ] ) always clobbers reg byte a +Statement [584] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ) always clobbers reg byte a +Statement [589] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ) always clobbers reg byte a +Statement [590] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ) always clobbers reg byte a +Statement [591] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ) always clobbers reg byte y +Statement [594] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ) always clobbers reg byte a +Statement [614] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ) always clobbers reg byte a +Statement [616] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ) always clobbers reg byte a +Statement [631] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ) always clobbers reg byte a +Statement [645] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ) always clobbers reg byte a +Statement [647] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ) always clobbers reg byte a +Statement [661] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ) always clobbers reg byte a +Statement [676] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ) always clobbers reg byte a +Statement [682] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ) always clobbers reg byte a +Statement [685] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ) always clobbers reg byte a +Statement [691] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ) always clobbers reg byte a +Statement [692] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ) always clobbers reg byte a +Statement [693] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::$0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] ) always clobbers reg byte a +Statement [694] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::$0 bitmap_plot::$1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] ) always clobbers reg byte a reg byte y +Statement [695] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 [ ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] ) always clobbers reg byte y +Statement [698] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ) always clobbers reg byte a +Statement [704] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ) always clobbers reg byte a +Statement [707] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ) always clobbers reg byte a +Statement [713] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ) always clobbers reg byte a +Statement [719] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ) always clobbers reg byte a +Statement [722] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ) always clobbers reg byte a +Statement [728] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ) always clobbers reg byte a +Statement [734] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ) always clobbers reg byte a +Statement [737] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ) always clobbers reg byte a +Statement [742] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) [ bitmap_clear::$3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_clear:603 [ bitmap_clear::$3 ] ) always clobbers reg byte a +Statement [743] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 [ bitmap_clear::bitmap#5 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_clear:603 [ bitmap_clear::bitmap#5 ] ) always clobbers reg byte a +Statement [746] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_clear:603 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ) always clobbers reg byte a reg byte y +Statement [755] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ) always clobbers reg byte a +Statement [757] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a +Statement [758] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a +Statement [765] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$6 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$6 ] ) always clobbers reg byte a +Statement [771] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ) always clobbers reg byte a +Statement [773] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ) always clobbers reg byte a +Statement [779] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 [ ] ( main:2::gfx_init:10::gfx_init_charset:455 [ ] ) always clobbers reg byte a +Statement [782] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ( main:2::gfx_init:10::gfx_init_charset:455 [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ) always clobbers reg byte a reg byte y +Statement [789] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 [ ] ( main:2::gfx_init:10::gfx_init_charset:455 [ ] ) always clobbers reg byte a +Statement [794] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ( main:2::gfx_init:10::gfx_init_screen4:453 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ) always clobbers reg byte a reg byte y +Statement [804] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] ) always clobbers reg byte a +Statement [805] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ) always clobbers reg byte a +Statement [806] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ) always clobbers reg byte a +Statement [808] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ) always clobbers reg byte y +Statement [818] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ) always clobbers reg byte a +Statement [820] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ) always clobbers reg byte a +Statement [821] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ) always clobbers reg byte a +Statement [823] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ) always clobbers reg byte y +Statement [833] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ( main:2::gfx_init:10::gfx_init_screen1:447 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ) always clobbers reg byte a +Statement [835] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen1:447 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ) always clobbers reg byte y +Statement [845] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] ) always clobbers reg byte a +Statement [846] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ) always clobbers reg byte a +Statement [847] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ) always clobbers reg byte a +Statement [849] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ) always clobbers reg byte y +Statement [856] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a +Statement [857] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a +Statement [5] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [6] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [7] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [16] if(*((const byte*) form_ctrl_line#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@1 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [19] if(*((const byte*) form_ctrl_borof#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@2 [ keyboard_events_size#24 gfx_mode::dtv_control#14 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#14 ] ) always clobbers reg byte a +Statement [20] (byte) gfx_mode::dtv_control#2 ← (byte) gfx_mode::dtv_control#14 | (const byte) DTV_BORDER_OFF#0 [ keyboard_events_size#24 gfx_mode::dtv_control#2 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#2 ] ) always clobbers reg byte a +Statement [22] if(*((const byte*) form_ctrl_hicol#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@3 [ keyboard_events_size#24 gfx_mode::dtv_control#15 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#15 ] ) always clobbers reg byte a +Statement [23] (byte) gfx_mode::dtv_control#3 ← (byte) gfx_mode::dtv_control#15 | (const byte) DTV_HIGHCOLOR#0 [ keyboard_events_size#24 gfx_mode::dtv_control#3 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#3 ] ) always clobbers reg byte a +Statement [25] if(*((const byte*) form_ctrl_overs#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@4 [ keyboard_events_size#24 gfx_mode::dtv_control#10 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#10 ] ) always clobbers reg byte a +Statement [26] (byte) gfx_mode::dtv_control#4 ← (byte) gfx_mode::dtv_control#10 | (const byte) DTV_OVERSCAN#0 [ keyboard_events_size#24 gfx_mode::dtv_control#4 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#4 ] ) always clobbers reg byte a +Statement [28] if(*((const byte*) form_ctrl_colof#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@5 [ keyboard_events_size#24 gfx_mode::dtv_control#11 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#11 ] ) always clobbers reg byte a +Statement [29] (byte) gfx_mode::dtv_control#5 ← (byte) gfx_mode::dtv_control#11 | (const byte) DTV_COLORRAM_OFF#0 [ keyboard_events_size#24 gfx_mode::dtv_control#5 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#5 ] ) always clobbers reg byte a +Statement [31] if(*((const byte*) form_ctrl_chunk#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@6 [ keyboard_events_size#24 gfx_mode::dtv_control#13 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#13 ] ) always clobbers reg byte a +Statement [32] (byte) gfx_mode::dtv_control#6 ← (byte) gfx_mode::dtv_control#13 | (const byte) DTV_CHUNKY#0 [ keyboard_events_size#24 gfx_mode::dtv_control#6 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::dtv_control#6 ] ) always clobbers reg byte a +Statement [35] if(*((const byte*) form_ctrl_ecm#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@7 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [38] if(*((const byte*) form_ctrl_bmm#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@8 [ keyboard_events_size#24 gfx_mode::vic_control#5 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::vic_control#5 ] ) always clobbers reg byte a +Statement [39] (byte) gfx_mode::vic_control#2 ← (byte) gfx_mode::vic_control#5 | (const byte) VIC_BMM#0 [ keyboard_events_size#24 gfx_mode::vic_control#2 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::vic_control#2 ] ) always clobbers reg byte a +Statement [42] if(*((const byte*) form_ctrl_mcm#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@9 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [46] (byte~) gfx_mode::$20 ← *((const byte*) form_a_start_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$20 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$20 ] ) always clobbers reg byte a +Statement [47] (byte) gfx_mode::plane_a_offs#0 ← (byte~) gfx_mode::$20 | *((const byte*) form_a_start_lo#0) [ keyboard_events_size#24 gfx_mode::plane_a_offs#0 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_a_offs#0 ] ) always clobbers reg byte a +Statement [50] (dword) get_plane::return#16 ← (dword) get_plane::return#14 [ keyboard_events_size#24 gfx_mode::plane_a_offs#0 get_plane::return#16 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_a_offs#0 get_plane::return#16 ] ) always clobbers reg byte a +Statement [51] (dword~) gfx_mode::$22 ← (dword) get_plane::return#16 [ keyboard_events_size#24 gfx_mode::plane_a_offs#0 gfx_mode::$22 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_a_offs#0 gfx_mode::$22 ] ) always clobbers reg byte a +Statement [52] (dword) gfx_mode::plane_a#0 ← (dword~) gfx_mode::$22 + (byte) gfx_mode::plane_a_offs#0 [ keyboard_events_size#24 gfx_mode::plane_a#0 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_a#0 ] ) always clobbers reg byte a +Statement [53] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 [ keyboard_events_size#24 gfx_mode::plane_a#0 gfx_mode::$24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_a#0 gfx_mode::$24 ] ) always clobbers reg byte a +Statement [54] (byte~) gfx_mode::$25 ← < (word~) gfx_mode::$24 [ keyboard_events_size#24 gfx_mode::plane_a#0 gfx_mode::$25 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_a#0 gfx_mode::$25 ] ) always clobbers reg byte a +Statement [56] (word~) gfx_mode::$26 ← < (dword) gfx_mode::plane_a#0 [ keyboard_events_size#24 gfx_mode::plane_a#0 gfx_mode::$26 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_a#0 gfx_mode::$26 ] ) always clobbers reg byte a +Statement [57] (byte~) gfx_mode::$27 ← > (word~) gfx_mode::$26 [ keyboard_events_size#24 gfx_mode::plane_a#0 gfx_mode::$27 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_a#0 gfx_mode::$27 ] ) always clobbers reg byte a +Statement [59] (word~) gfx_mode::$28 ← > (dword) gfx_mode::plane_a#0 [ keyboard_events_size#24 gfx_mode::$28 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$28 ] ) always clobbers reg byte a +Statement [60] (byte~) gfx_mode::$29 ← < (word~) gfx_mode::$28 [ keyboard_events_size#24 gfx_mode::$29 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$29 ] ) always clobbers reg byte a +Statement [62] (byte~) gfx_mode::$30 ← *((const byte*) form_a_step_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$30 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$30 ] ) always clobbers reg byte a +Statement [63] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const byte*) form_a_step_lo#0) [ keyboard_events_size#24 gfx_mode::$31 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$31 ] ) always clobbers reg byte a +Statement [65] (byte~) gfx_mode::$32 ← *((const byte*) form_a_mod_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$32 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$32 ] ) always clobbers reg byte a +Statement [66] (byte~) gfx_mode::$33 ← (byte~) gfx_mode::$32 | *((const byte*) form_a_mod_lo#0) [ keyboard_events_size#24 gfx_mode::$33 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$33 ] ) always clobbers reg byte a +Statement [68] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [69] (byte~) gfx_mode::$34 ← *((const byte*) form_b_start_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$34 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$34 ] ) always clobbers reg byte a +Statement [70] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$34 | *((const byte*) form_b_start_lo#0) [ keyboard_events_size#24 gfx_mode::plane_b_offs#0 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_b_offs#0 ] ) always clobbers reg byte a +Statement [73] (dword) get_plane::return#17 ← (dword) get_plane::return#14 [ keyboard_events_size#24 gfx_mode::plane_b_offs#0 get_plane::return#17 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_b_offs#0 get_plane::return#17 ] ) always clobbers reg byte a +Statement [74] (dword~) gfx_mode::$36 ← (dword) get_plane::return#17 [ keyboard_events_size#24 gfx_mode::plane_b_offs#0 gfx_mode::$36 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_b_offs#0 gfx_mode::$36 ] ) always clobbers reg byte a +Statement [75] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$36 + (byte) gfx_mode::plane_b_offs#0 [ keyboard_events_size#24 gfx_mode::plane_b#0 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_b#0 ] ) always clobbers reg byte a +Statement [76] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 [ keyboard_events_size#24 gfx_mode::plane_b#0 gfx_mode::$38 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_b#0 gfx_mode::$38 ] ) always clobbers reg byte a +Statement [77] (byte~) gfx_mode::$39 ← < (word~) gfx_mode::$38 [ keyboard_events_size#24 gfx_mode::plane_b#0 gfx_mode::$39 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_b#0 gfx_mode::$39 ] ) always clobbers reg byte a +Statement [79] (word~) gfx_mode::$40 ← < (dword) gfx_mode::plane_b#0 [ keyboard_events_size#24 gfx_mode::plane_b#0 gfx_mode::$40 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_b#0 gfx_mode::$40 ] ) always clobbers reg byte a +Statement [80] (byte~) gfx_mode::$41 ← > (word~) gfx_mode::$40 [ keyboard_events_size#24 gfx_mode::plane_b#0 gfx_mode::$41 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::plane_b#0 gfx_mode::$41 ] ) always clobbers reg byte a +Statement [82] (word~) gfx_mode::$42 ← > (dword) gfx_mode::plane_b#0 [ keyboard_events_size#24 gfx_mode::$42 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$42 ] ) always clobbers reg byte a +Statement [83] (byte~) gfx_mode::$43 ← < (word~) gfx_mode::$42 [ keyboard_events_size#24 gfx_mode::$43 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$43 ] ) always clobbers reg byte a +Statement [85] (byte~) gfx_mode::$44 ← *((const byte*) form_b_step_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$44 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$44 ] ) always clobbers reg byte a +Statement [86] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const byte*) form_b_step_lo#0) [ keyboard_events_size#24 gfx_mode::$45 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$45 ] ) always clobbers reg byte a +Statement [88] (byte~) gfx_mode::$46 ← *((const byte*) form_b_mod_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$46 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$46 ] ) always clobbers reg byte a +Statement [89] (byte~) gfx_mode::$47 ← (byte~) gfx_mode::$46 | *((const byte*) form_b_mod_lo#0) [ keyboard_events_size#24 gfx_mode::$47 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$47 ] ) always clobbers reg byte a +Statement [91] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [92] *((const byte*) CIA2_PORT_A_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [93] *((const byte*) CIA2_PORT_A#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3^((byte))((word))(const byte*) VIC_SCREEN0#0/(word/signed word/dword/signed dword) $4000 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [96] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#24 get_vic_screen::return#10 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 get_vic_screen::return#10 ] ) always clobbers reg byte a +Statement [97] (byte*~) gfx_mode::$52 ← (byte*) get_vic_screen::return#10 [ keyboard_events_size#24 gfx_mode::$52 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$52 ] ) always clobbers reg byte a +Statement [98] (word~) gfx_mode::$54 ← (word)(byte*~) gfx_mode::$52 & (word/signed word/dword/signed dword) $3fff [ keyboard_events_size#24 gfx_mode::$54 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$54 ] ) always clobbers reg byte a +Statement [99] (word~) gfx_mode::$55 ← (word~) gfx_mode::$54 >> (byte/signed byte/word/signed word/dword/signed dword) 6 [ keyboard_events_size#24 gfx_mode::$55 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$55 ] ) always clobbers reg byte a reg byte y +Statement [100] (byte~) gfx_mode::$56 ← ((byte)) (word~) gfx_mode::$55 [ keyboard_events_size#24 gfx_mode::$56 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$56 ] ) always clobbers reg byte a +Statement [103] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 [ keyboard_events_size#24 gfx_mode::$56 get_vic_charset::return#4 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$56 get_vic_charset::return#4 ] ) always clobbers reg byte a +Statement [104] (byte*~) gfx_mode::$57 ← (byte*) get_vic_charset::return#4 [ keyboard_events_size#24 gfx_mode::$56 gfx_mode::$57 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$56 gfx_mode::$57 ] ) always clobbers reg byte a +Statement [105] (word~) gfx_mode::$59 ← (word)(byte*~) gfx_mode::$57 & (word/signed word/dword/signed dword) $3fff [ keyboard_events_size#24 gfx_mode::$56 gfx_mode::$59 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$56 gfx_mode::$59 ] ) always clobbers reg byte a +Statement [106] (byte~) gfx_mode::$60 ← > (word~) gfx_mode::$59 [ keyboard_events_size#24 gfx_mode::$56 gfx_mode::$60 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$56 gfx_mode::$60 ] ) always clobbers reg byte a +Statement [107] (byte~) gfx_mode::$61 ← (byte~) gfx_mode::$60 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ keyboard_events_size#24 gfx_mode::$56 gfx_mode::$61 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$56 gfx_mode::$61 ] ) always clobbers reg byte a +Statement [112] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#24 get_vic_screen::return#11 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 get_vic_screen::return#11 ] ) always clobbers reg byte a +Statement [113] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 [ keyboard_events_size#24 gfx_mode::vic_colors#0 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::vic_colors#0 ] ) always clobbers reg byte a +Statement [116] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) [ keyboard_events_size#24 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] ) always clobbers reg byte a reg byte y +Statement [123] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [124] (byte~) gfx_mode::$64 ← *((const byte*) form_vic_bg0_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$64 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$64 ] ) always clobbers reg byte a +Statement [125] (byte~) gfx_mode::$65 ← (byte~) gfx_mode::$64 | *((const byte*) form_vic_bg0_lo#0) [ keyboard_events_size#24 gfx_mode::$65 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$65 ] ) always clobbers reg byte a +Statement [127] (byte~) gfx_mode::$66 ← *((const byte*) form_vic_bg1_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$66 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$66 ] ) always clobbers reg byte a +Statement [128] (byte~) gfx_mode::$67 ← (byte~) gfx_mode::$66 | *((const byte*) form_vic_bg1_lo#0) [ keyboard_events_size#24 gfx_mode::$67 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$67 ] ) always clobbers reg byte a +Statement [130] (byte~) gfx_mode::$68 ← *((const byte*) form_vic_bg2_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$68 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$68 ] ) always clobbers reg byte a +Statement [131] (byte~) gfx_mode::$69 ← (byte~) gfx_mode::$68 | *((const byte*) form_vic_bg2_lo#0) [ keyboard_events_size#24 gfx_mode::$69 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$69 ] ) always clobbers reg byte a +Statement [133] (byte~) gfx_mode::$70 ← *((const byte*) form_vic_bg3_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ keyboard_events_size#24 gfx_mode::$70 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$70 ] ) always clobbers reg byte a +Statement [134] (byte~) gfx_mode::$71 ← (byte~) gfx_mode::$70 | *((const byte*) form_vic_bg3_lo#0) [ keyboard_events_size#24 gfx_mode::$71 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$71 ] ) always clobbers reg byte a +Statement [136] if(*((const byte*) form_dtv_palet#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@24 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [141] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) $ff) goto gfx_mode::@25 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] ) always clobbers reg byte a +Statement [151] *((const byte*) DTV_PALETTE#0 + (byte) gfx_mode::i#2) ← *((const byte[$10]) DTV_PALETTE_DEFAULT#0 + (byte) gfx_mode::i#2) [ keyboard_events_size#24 gfx_mode::i#2 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::i#2 ] ) always clobbers reg byte a +Statement [165] if((byte) keyboard_event_scan::row_scan#0!=*((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_event_scan::row_scan#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_event_scan::row_scan#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_event_scan::row_scan#0 ] ) always clobbers reg byte a +Statement [166] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_events_size#119 keyboard_event_scan::keycode#1 ] ) always clobbers reg byte a +Statement [181] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#18 | (const byte) KEY_MODIFIER_RSHIFT#0 [ keyboard_events_size#100 keyboard_modifiers#3 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#3 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#3 ] ) always clobbers reg byte a +Statement [187] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#19 | (const byte) KEY_MODIFIER_CTRL#0 [ keyboard_events_size#100 keyboard_modifiers#4 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#4 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#4 ] ) always clobbers reg byte a +Statement [193] (byte) keyboard_modifiers#5 ← (byte) keyboard_modifiers#20 | (const byte) KEY_MODIFIER_COMMODORE#0 [ keyboard_events_size#100 keyboard_modifiers#5 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#5 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#5 ] ) always clobbers reg byte a +Statement [197] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$15 ] ) always clobbers reg byte a +Statement [201] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::event_type#0 ] ) always clobbers reg byte a +Statement [203] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#18) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 ] ) always clobbers reg byte a +Statement [209] *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#118 ] ) always clobbers reg byte a +Statement [210] (byte/word/dword~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte/signed byte/word/signed word/dword/signed dword) $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ( main:2::gfx_mode:15::keyboard_event_scan:143 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#18 keyboard_event_scan::$23 ] ) always clobbers reg byte a +Statement [214] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ) always clobbers reg byte a +Statement [216] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ) always clobbers reg byte a +Statement [217] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:171 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:171 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:177 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:177 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#18 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:183 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:183 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_event_pressed:189 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_event_pressed:189 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] ) always clobbers reg byte a +Statement [219] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 ] ) always clobbers reg byte a +Statement [220] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:143::keyboard_matrix_read:162 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] main:2::form_mode:13::form_control:294::keyboard_event_scan:370::keyboard_matrix_read:162 [ form_mode::preset_current#6 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#119 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a +Statement [272] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) FORM_CHARSET#0/(dword/signed dword) $10000 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [273] *((const byte*) DTV_COLOR_BANK_LO#0) ← <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [274] *((const byte*) DTV_COLOR_BANK_HI#0) ← >((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [275] *((const byte*) CIA2_PORT_A_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [276] *((const byte*) CIA2_PORT_A#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3^((byte))((word))(const byte*) FORM_CHARSET#0/(word/signed word/dword/signed dword) $4000 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [277] *((const byte*) DTV_CONTROL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [278] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [279] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [280] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) FORM_SCREEN#0&(word/signed word/dword/signed dword) $3fff/(byte/signed byte/word/signed word/dword/signed dword) $40|((word))(const byte*) FORM_CHARSET#0&(word/signed word/dword/signed dword) $3fff/(word/signed word/dword/signed dword) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [281] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) FORM_SCREEN#0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [282] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) FORM_SCREEN#0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [283] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [285] *((const byte*) DTV_PALETTE#0 + (byte) form_mode::i#2) ← *((const byte[$10]) DTV_PALETTE_DEFAULT#0 + (byte) form_mode::i#2) [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_mode::i#2 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_mode::i#2 ] ) always clobbers reg byte a +Statement [288] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [289] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ) always clobbers reg byte a +Statement [292] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) $ff) goto form_mode::@4 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] ( main:2::form_mode:13 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] ) always clobbers reg byte a +Statement [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 [ print_str_at::str#1 ] ( main:2::form_mode:13::render_preset_name:271 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#1 ] main:2::form_mode:13::render_preset_name:305 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#1 ] ) always clobbers reg byte a +Statement [325] if(*((byte*) print_str_at::str#2)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#2 print_str_at::at#2 ] ( main:2::form_mode:13::render_preset_name:271::print_str_at:321 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] main:2::form_mode:13::render_preset_name:305::print_str_at:321 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] ) always clobbers reg byte a reg byte y +Statement [327] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) [ print_str_at::str#2 print_str_at::at#2 ] ( main:2::form_mode:13::render_preset_name:271::print_str_at:321 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] main:2::form_mode:13::render_preset_name:305::print_str_at:321 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] ) always clobbers reg byte a reg byte y +Statement [334] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::form_mode:13::form_render_values:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 ] main:2::form_mode:13::form_render_values:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 ] ) always clobbers reg byte a reg byte y +Statement [340] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::$2 form_field_ptr::field_idx#2 ] ( main:2::form_mode:13::form_render_values:269::form_field_ptr:333 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::field_idx#2 ] main:2::form_mode:13::form_render_values:303::form_field_ptr:333 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::field_idx#2 ] main:2::form_mode:13::form_control:294::form_field_ptr:362 [ form_mode::preset_current#6 keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_field_ptr::$2 form_field_ptr::field_idx#2 ] ) always clobbers reg byte a +Statement [357] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) [ apply_preset::preset#14 apply_preset::i#2 ] ( main:2::form_mode:13::apply_preset:301 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 apply_preset::preset#14 apply_preset::i#2 ] ) always clobbers reg byte a +Statement [366] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [367] (byte~) form_control::$13 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$13 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$13 ] ) always clobbers reg byte a reg byte y +Statement [368] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$13 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte y +Statement [376] (byte~) form_control::$15 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f [ keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_control::$15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_control::$15 ] ) always clobbers reg byte a reg byte y +Statement [377] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$15 [ keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 keyboard_modifiers#21 form_field_idx#28 ] ) always clobbers reg byte y +Statement [378] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_control::$16 ] ) always clobbers reg byte a +Statement [390] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$24 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$24 ] ) always clobbers reg byte a +Statement [393] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [394] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [395] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) [ keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_cursor_count#15 ] ) always clobbers reg byte a reg byte y +Statement [397] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a reg byte y +Statement [398] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#24 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [401] (byte/word/dword~) form_control::$14 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) | (byte/word/signed word/dword/signed dword) $80 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$14 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 form_control::$14 ] ) always clobbers reg byte a reg byte y +Statement [402] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte/word/dword~) form_control::$14 [ keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ( main:2::form_mode:13::form_control:294 [ form_mode::preset_current#6 keyboard_events_size#47 form_field_idx#28 form_field_ptr::$2 form_field_ptr::x#0 form_cursor_count#15 ] ) always clobbers reg byte y +Statement [410] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::form_mode:13::form_set_screen:267 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] ) always clobbers reg byte a +Statement [415] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#5 print_char_cursor#77 print_set_screen::screen#2 ] ) always clobbers reg byte a +Statement [417] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) always clobbers reg byte a reg byte y +Statement [420] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y +Statement [423] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte y +Statement [429] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ( main:2::form_mode:13::print_str_lines:259 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] main:2::form_mode:13::print_str_lines:265 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_char_cursor#78 print_line_cursor#22 ] ) always clobbers reg byte a +Statement [432] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [433] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::form_mode:13::print_str_lines:259::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::form_mode:13::print_str_lines:265::print_ln:428 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [435] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 [ print_set_screen::screen#2 print_cls::sc#0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] ) always clobbers reg byte a +Statement [437] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [439] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) always clobbers reg byte a +Statement [440] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::form_mode:13::print_cls:257 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::form_mode:13::print_cls:263 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] ) always clobbers reg byte a +Statement [479] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ) always clobbers reg byte a +Statement [480] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ) always clobbers reg byte a +Statement [481] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxbCpuBank#0 ] ) always clobbers reg byte a +Statement [484] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ) always clobbers reg byte a +Statement [485] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ) always clobbers reg byte a +Statement [486] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$6 ] ) always clobbers reg byte a +Statement [487] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ) always clobbers reg byte a +Statement [490] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_full:473::gfx_init_plane_fill:476 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_blank:471::gfx_init_plane_fill:504 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] main:2::gfx_init:10::gfx_init_plane_vertical2:469::gfx_init_plane_fill:507 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ) always clobbers reg byte a reg byte y +Statement asm { .byte$32,$dd lda$ff .byte$32,$00 } always clobbers reg byte a +Statement [513] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:467 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$8 ] ) always clobbers reg byte a +Statement [515] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal2:467 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [528] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ( main:2::gfx_init:10::gfx_init_plane_vertical:465 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ) always clobbers reg byte a reg byte y +Statement [541] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$8 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:463 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$8 ] ) always clobbers reg byte a +Statement [543] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:463 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [553] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( main:2::gfx_init:10::gfx_init_plane_horisontal:463 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [557] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ ] ) always clobbers reg byte a +Statement [560] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ) always clobbers reg byte a reg byte y +Statement [567] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ) always clobbers reg byte y +Statement [577] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [ ] ( main:2::gfx_init:10::gfx_init_plane_charset8:461 [ ] ) always clobbers reg byte a +Statement [584] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ) always clobbers reg byte a +Statement [589] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$9 ] ) always clobbers reg byte a +Statement [590] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ) always clobbers reg byte a +Statement [591] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ) always clobbers reg byte y +Statement [594] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( main:2::gfx_init:10::gfx_init_plane_8bppchunky:459 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ) always clobbers reg byte a +Statement [614] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ) always clobbers reg byte a +Statement [616] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ) always clobbers reg byte a +Statement [631] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ) always clobbers reg byte a +Statement [645] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ) always clobbers reg byte a +Statement [647] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ) always clobbers reg byte a +Statement [661] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ) always clobbers reg byte a +Statement [676] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ) always clobbers reg byte a +Statement [682] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ) always clobbers reg byte a +Statement [685] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ) always clobbers reg byte a +Statement [691] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ) always clobbers reg byte a +Statement [692] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ) always clobbers reg byte a +Statement [693] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::$0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::$0 ] ) always clobbers reg byte a +Statement [694] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) [ bitmap_plot::$0 bitmap_plot::$1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::$0 bitmap_plot::$1 ] ) always clobbers reg byte a reg byte y +Statement [695] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 [ ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:630::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyi:674::bitmap_plot:680 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668::bitmap_plot:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660::bitmap_plot:717 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654::bitmap_plot:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] ) always clobbers reg byte y +Statement [698] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ) always clobbers reg byte a +Statement [704] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ) always clobbers reg byte a +Statement [707] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:623 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxi:668 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ) always clobbers reg byte a +Statement [713] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ) always clobbers reg byte a +Statement [719] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ) always clobbers reg byte a +Statement [722] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:644 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_xdyd:660 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ) always clobbers reg byte a +Statement [728] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ) always clobbers reg byte a +Statement [734] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ) always clobbers reg byte a +Statement [737] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:638 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_line:609::bitmap_line_ydxd:654 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ) always clobbers reg byte a +Statement [742] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) [ bitmap_clear::$3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_clear:603 [ bitmap_clear::$3 ] ) always clobbers reg byte a +Statement [743] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 [ bitmap_clear::bitmap#5 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_clear:603 [ bitmap_clear::bitmap#5 ] ) always clobbers reg byte a +Statement [746] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_clear:603 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ) always clobbers reg byte a reg byte y +Statement [755] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ) always clobbers reg byte a +Statement [757] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a +Statement [758] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::x#2 bitmap_init::bits#3 ] ) always clobbers reg byte a +Statement [765] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$6 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$6 ] ) always clobbers reg byte a +Statement [771] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ) always clobbers reg byte a +Statement [773] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( main:2::gfx_init:10::gfx_init_vic_bitmap:457::bitmap_init:601 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ) always clobbers reg byte a +Statement [779] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 [ ] ( main:2::gfx_init:10::gfx_init_charset:455 [ ] ) always clobbers reg byte a +Statement [782] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ( main:2::gfx_init:10::gfx_init_charset:455 [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ) always clobbers reg byte a reg byte y +Statement [789] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 [ ] ( main:2::gfx_init:10::gfx_init_charset:455 [ ] ) always clobbers reg byte a +Statement [794] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ( main:2::gfx_init:10::gfx_init_screen4:453 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ) always clobbers reg byte a reg byte y +Statement [804] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] ) always clobbers reg byte a +Statement [805] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ) always clobbers reg byte a +Statement [806] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ) always clobbers reg byte a +Statement [808] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen3:451 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ) always clobbers reg byte y +Statement [818] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ) always clobbers reg byte a +Statement [820] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ) always clobbers reg byte a +Statement [821] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ) always clobbers reg byte a +Statement [823] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen2:449 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ) always clobbers reg byte y +Statement [833] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ( main:2::gfx_init:10::gfx_init_screen1:447 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ) always clobbers reg byte a +Statement [835] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen1:447 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ) always clobbers reg byte y +Statement [845] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] ) always clobbers reg byte a +Statement [846] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ) always clobbers reg byte a +Statement [847] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ) always clobbers reg byte a +Statement [849] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ( main:2::gfx_init:10::gfx_init_screen0:445 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ) always clobbers reg byte y +Statement [856] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a +Statement [857] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:8 [ ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] : zp ZP_BYTE:2 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:3 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] : zp ZP_BYTE:3 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:4 [ gfx_mode::vic_control2#2 ] : zp ZP_BYTE:4 , reg byte a , reg byte x , reg byte y , @@ -19536,119 +19786,114 @@ Potential registers zp ZP_BYTE:262 [ keyboard_matrix_read::return#0 ] : zp ZP_BY Potential registers zp ZP_BYTE:263 [ form_control::return#0 ] : zp ZP_BYTE:263 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_BYTE:264 [ form_mode::$36 ] : zp ZP_BYTE:264 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_BYTE:265 [ apply_preset::idx#0 ] : zp ZP_BYTE:265 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:266 [ form_field_ptr::return#2 ] : zp ZP_WORD:266 , -Potential registers zp ZP_WORD:268 [ form_render_values::field#0 ] : zp ZP_WORD:268 , -Potential registers zp ZP_BYTE:270 [ form_field_ptr::y#0 ] : zp ZP_BYTE:270 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:271 [ form_field_ptr::$2 ] : zp ZP_WORD:271 , -Potential registers zp ZP_BYTE:273 [ form_field_ptr::x#0 ] : zp ZP_BYTE:273 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:274 [ form_field_ptr::return#0 ] : zp ZP_WORD:274 , -Potential registers zp ZP_WORD:276 [ form_field_ptr::return#3 ] : zp ZP_WORD:276 , -Potential registers zp ZP_WORD:278 [ form_control::field#0 ] : zp ZP_WORD:278 , -Potential registers zp ZP_BYTE:280 [ form_control::$13 ] : zp ZP_BYTE:280 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:281 [ keyboard_event_get::return#4 ] : zp ZP_BYTE:281 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:282 [ form_control::key_event#0 ] : zp ZP_BYTE:282 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:283 [ form_control::$15 ] : zp ZP_BYTE:283 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:284 [ form_control::$16 ] : zp ZP_BYTE:284 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:285 [ form_control::$24 ] : zp ZP_BYTE:285 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:286 [ form_control::$14 ] : zp ZP_BYTE:286 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:287 [ form_set_screen::$0 ] : zp ZP_BYTE:287 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:288 [ form_set_screen::$1 ] : zp ZP_BYTE:288 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:289 [ print_str_lines::ch#0 ] : zp ZP_BYTE:289 , reg byte a , reg byte x , -Potential registers zp ZP_WORD:290 [ print_cls::$0 ] : zp ZP_WORD:290 , -Potential registers zp ZP_DWORD:292 [ gfx_init_plane_fill::$0 ] : zp ZP_DWORD:292 , -Potential registers zp ZP_WORD:296 [ gfx_init_plane_fill::$1 ] : zp ZP_WORD:296 , -Potential registers zp ZP_BYTE:298 [ gfx_init_plane_fill::gfxbCpuBank#0 ] : zp ZP_BYTE:298 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:299 [ gfx_init_plane_fill::$4 ] : zp ZP_WORD:299 , -Potential registers zp ZP_WORD:301 [ gfx_init_plane_fill::$5 ] : zp ZP_WORD:301 , -Potential registers zp ZP_WORD:303 [ gfx_init_plane_fill::$6 ] : zp ZP_WORD:303 , -Potential registers zp ZP_BYTE:305 [ gfx_init_plane_horisontal2::$8 ] : zp ZP_BYTE:305 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:306 [ gfx_init_plane_horisontal2::row#0 ] : zp ZP_BYTE:306 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:307 [ gfx_init_plane_horisontal::$8 ] : zp ZP_BYTE:307 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:308 [ gfx_init_plane_charset8::$8 ] : zp ZP_BYTE:308 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:309 [ gfx_init_plane_8bppchunky::$9 ] : zp ZP_WORD:309 , -Potential registers zp ZP_BYTE:311 [ gfx_init_plane_8bppchunky::c#0 ] : zp ZP_BYTE:311 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:312 [ bitmap_line::x0#0 ] : zp ZP_BYTE:312 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:313 [ bitmap_line::x1#0 ] : zp ZP_BYTE:313 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:314 [ bitmap_line::y0#0 ] : zp ZP_BYTE:314 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:315 [ bitmap_line::y1#0 ] : zp ZP_BYTE:315 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:316 [ bitmap_line::xd#2 ] : zp ZP_BYTE:316 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:317 [ bitmap_line::yd#2 ] : zp ZP_BYTE:317 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:318 [ bitmap_line::yd#1 ] : zp ZP_BYTE:318 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:319 [ bitmap_line::xd#1 ] : zp ZP_BYTE:319 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:320 [ bitmap_line::yd#10 ] : zp ZP_BYTE:320 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:321 [ bitmap_line::yd#11 ] : zp ZP_BYTE:321 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:322 [ bitmap_line_xdyi::$6 ] : zp ZP_BYTE:322 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:323 [ bitmap_plot::plotter_x#0 ] : zp ZP_WORD:323 , -Potential registers zp ZP_WORD:325 [ bitmap_plot::plotter_y#0 ] : zp ZP_WORD:325 , -Potential registers zp ZP_WORD:327 [ bitmap_plot::$0 ] : zp ZP_WORD:327 , -Potential registers zp ZP_BYTE:329 [ bitmap_plot::$1 ] : zp ZP_BYTE:329 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:330 [ bitmap_line_ydxi::$6 ] : zp ZP_BYTE:330 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:331 [ bitmap_line_xdyd::$6 ] : zp ZP_BYTE:331 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:332 [ bitmap_line_ydxd::$6 ] : zp ZP_BYTE:332 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:333 [ bitmap_clear::$3 ] : zp ZP_WORD:333 , -Potential registers zp ZP_BYTE:335 [ bitmap_init::$0 ] : zp ZP_BYTE:335 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:336 [ bitmap_init::$6 ] : zp ZP_BYTE:336 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:337 [ bitmap_init::$7 ] : zp ZP_BYTE:337 , reg byte a , reg byte x , reg byte y , reg byte alu , -Potential registers zp ZP_BYTE:338 [ bitmap_init::$8 ] : zp ZP_BYTE:338 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:339 [ bitmap_init::$9 ] : zp ZP_BYTE:339 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:340 [ bitmap_init::$10 ] : zp ZP_BYTE:340 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:341 [ gfx_init_screen3::$0 ] : zp ZP_BYTE:341 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:342 [ gfx_init_screen3::$1 ] : zp ZP_BYTE:342 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:343 [ gfx_init_screen3::$2 ] : zp ZP_BYTE:343 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:344 [ gfx_init_screen3::$3 ] : zp ZP_BYTE:344 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:345 [ gfx_init_screen2::$0 ] : zp ZP_BYTE:345 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:346 [ gfx_init_screen2::col#0 ] : zp ZP_BYTE:346 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:347 [ gfx_init_screen2::col2#0 ] : zp ZP_BYTE:347 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:348 [ gfx_init_screen2::$3 ] : zp ZP_BYTE:348 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:349 [ gfx_init_screen2::$4 ] : zp ZP_BYTE:349 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:350 [ gfx_init_screen1::$0 ] : zp ZP_BYTE:350 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:351 [ gfx_init_screen1::$1 ] : zp ZP_BYTE:351 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:352 [ gfx_init_screen0::$0 ] : zp ZP_BYTE:352 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:353 [ gfx_init_screen0::$1 ] : zp ZP_BYTE:353 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:354 [ gfx_init_screen0::$2 ] : zp ZP_BYTE:354 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:355 [ gfx_init_screen0::$3 ] : zp ZP_BYTE:355 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:266 [ form_field_ptr::y#0 ] : zp ZP_BYTE:266 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:267 [ form_field_ptr::$2 ] : zp ZP_WORD:267 , +Potential registers zp ZP_BYTE:269 [ form_field_ptr::x#0 ] : zp ZP_BYTE:269 , reg byte x , +Potential registers zp ZP_BYTE:270 [ form_control::$13 ] : zp ZP_BYTE:270 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:271 [ keyboard_event_get::return#4 ] : zp ZP_BYTE:271 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:272 [ form_control::key_event#0 ] : zp ZP_BYTE:272 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:273 [ form_control::$15 ] : zp ZP_BYTE:273 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:274 [ form_control::$16 ] : zp ZP_BYTE:274 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:275 [ form_control::$24 ] : zp ZP_BYTE:275 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:276 [ form_control::$14 ] : zp ZP_BYTE:276 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:277 [ form_set_screen::$0 ] : zp ZP_BYTE:277 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:278 [ form_set_screen::$1 ] : zp ZP_BYTE:278 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:279 [ print_str_lines::ch#0 ] : zp ZP_BYTE:279 , reg byte a , reg byte x , +Potential registers zp ZP_WORD:280 [ print_cls::$0 ] : zp ZP_WORD:280 , +Potential registers zp ZP_DWORD:282 [ gfx_init_plane_fill::$0 ] : zp ZP_DWORD:282 , +Potential registers zp ZP_WORD:286 [ gfx_init_plane_fill::$1 ] : zp ZP_WORD:286 , +Potential registers zp ZP_BYTE:288 [ gfx_init_plane_fill::gfxbCpuBank#0 ] : zp ZP_BYTE:288 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:289 [ gfx_init_plane_fill::$4 ] : zp ZP_WORD:289 , +Potential registers zp ZP_WORD:291 [ gfx_init_plane_fill::$5 ] : zp ZP_WORD:291 , +Potential registers zp ZP_WORD:293 [ gfx_init_plane_fill::$6 ] : zp ZP_WORD:293 , +Potential registers zp ZP_BYTE:295 [ gfx_init_plane_horisontal2::$8 ] : zp ZP_BYTE:295 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:296 [ gfx_init_plane_horisontal2::row#0 ] : zp ZP_BYTE:296 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:297 [ gfx_init_plane_horisontal::$8 ] : zp ZP_BYTE:297 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:298 [ gfx_init_plane_charset8::$8 ] : zp ZP_BYTE:298 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:299 [ gfx_init_plane_8bppchunky::$9 ] : zp ZP_WORD:299 , +Potential registers zp ZP_BYTE:301 [ gfx_init_plane_8bppchunky::c#0 ] : zp ZP_BYTE:301 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:302 [ bitmap_line::x0#0 ] : zp ZP_BYTE:302 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:303 [ bitmap_line::x1#0 ] : zp ZP_BYTE:303 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:304 [ bitmap_line::y0#0 ] : zp ZP_BYTE:304 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:305 [ bitmap_line::y1#0 ] : zp ZP_BYTE:305 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:306 [ bitmap_line::xd#2 ] : zp ZP_BYTE:306 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:307 [ bitmap_line::yd#2 ] : zp ZP_BYTE:307 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:308 [ bitmap_line::yd#1 ] : zp ZP_BYTE:308 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:309 [ bitmap_line::xd#1 ] : zp ZP_BYTE:309 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:310 [ bitmap_line::yd#10 ] : zp ZP_BYTE:310 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:311 [ bitmap_line::yd#11 ] : zp ZP_BYTE:311 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:312 [ bitmap_line_xdyi::$6 ] : zp ZP_BYTE:312 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:313 [ bitmap_plot::plotter_x#0 ] : zp ZP_WORD:313 , +Potential registers zp ZP_WORD:315 [ bitmap_plot::plotter_y#0 ] : zp ZP_WORD:315 , +Potential registers zp ZP_WORD:317 [ bitmap_plot::$0 ] : zp ZP_WORD:317 , +Potential registers zp ZP_BYTE:319 [ bitmap_plot::$1 ] : zp ZP_BYTE:319 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:320 [ bitmap_line_ydxi::$6 ] : zp ZP_BYTE:320 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:321 [ bitmap_line_xdyd::$6 ] : zp ZP_BYTE:321 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:322 [ bitmap_line_ydxd::$6 ] : zp ZP_BYTE:322 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:323 [ bitmap_clear::$3 ] : zp ZP_WORD:323 , +Potential registers zp ZP_BYTE:325 [ bitmap_init::$0 ] : zp ZP_BYTE:325 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:326 [ bitmap_init::$6 ] : zp ZP_BYTE:326 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:327 [ bitmap_init::$7 ] : zp ZP_BYTE:327 , reg byte a , reg byte x , reg byte y , reg byte alu , +Potential registers zp ZP_BYTE:328 [ bitmap_init::$8 ] : zp ZP_BYTE:328 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:329 [ bitmap_init::$9 ] : zp ZP_BYTE:329 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:330 [ bitmap_init::$10 ] : zp ZP_BYTE:330 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:331 [ gfx_init_screen3::$0 ] : zp ZP_BYTE:331 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:332 [ gfx_init_screen3::$1 ] : zp ZP_BYTE:332 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:333 [ gfx_init_screen3::$2 ] : zp ZP_BYTE:333 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:334 [ gfx_init_screen3::$3 ] : zp ZP_BYTE:334 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:335 [ gfx_init_screen2::$0 ] : zp ZP_BYTE:335 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:336 [ gfx_init_screen2::col#0 ] : zp ZP_BYTE:336 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:337 [ gfx_init_screen2::col2#0 ] : zp ZP_BYTE:337 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:338 [ gfx_init_screen2::$3 ] : zp ZP_BYTE:338 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:339 [ gfx_init_screen2::$4 ] : zp ZP_BYTE:339 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:340 [ gfx_init_screen1::$0 ] : zp ZP_BYTE:340 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:341 [ gfx_init_screen1::$1 ] : zp ZP_BYTE:341 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:342 [ gfx_init_screen0::$0 ] : zp ZP_BYTE:342 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:343 [ gfx_init_screen0::$1 ] : zp ZP_BYTE:343 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:344 [ gfx_init_screen0::$2 ] : zp ZP_BYTE:344 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:345 [ gfx_init_screen0::$3 ] : zp ZP_BYTE:345 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES Uplift Scope [keyboard_event_scan] 200,002: zp ZP_BYTE:254 [ keyboard_event_scan::$15 ] 200,002: zp ZP_BYTE:255 [ keyboard_event_scan::$16 ] 200,002: zp ZP_BYTE:256 [ keyboard_event_scan::event_type#0 ] 200,002: zp ZP_BYTE:257 [ keyboard_event_scan::$23 ] 178,573.21: zp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] 119,043.1: zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 ] 21,001.74: zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] 12,778.06: zp ZP_BYTE:245 [ keyboard_event_scan::row_scan#0 ] 4: zp ZP_BYTE:247 [ keyboard_event_scan::$0 ] 4: zp ZP_BYTE:249 [ keyboard_event_scan::$3 ] 4: zp ZP_BYTE:251 [ keyboard_event_scan::$6 ] 4: zp ZP_BYTE:253 [ keyboard_event_scan::$9 ] -Uplift Scope [] 588,355.23: zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 ] 3,703: zp ZP_WORD:52 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 ] 2,659.38: zp ZP_WORD:54 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] 226.56: zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] 105.45: zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 ] 16.73: zp ZP_BYTE:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#18 keyboard_modifiers#3 keyboard_modifiers#4 keyboard_modifiers#5 ] +Uplift Scope [] 588,363.91: zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 ] 3,703: zp ZP_WORD:52 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 ] 2,659.38: zp ZP_WORD:54 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] 289.76: zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] 107.03: zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 ] 16.73: zp ZP_BYTE:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#18 keyboard_modifiers#3 keyboard_modifiers#4 keyboard_modifiers#5 ] Uplift Scope [keyboard_matrix_read] 20,002: zp ZP_BYTE:244 [ keyboard_matrix_read::return#2 ] 10,003: zp ZP_BYTE:243 [ keyboard_matrix_read::rowid#0 ] 3,334.33: zp ZP_BYTE:262 [ keyboard_matrix_read::return#0 ] -Uplift Scope [gfx_init_plane_charset8] 4,004: zp ZP_BYTE:89 [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] 2,002: zp ZP_BYTE:308 [ gfx_init_plane_charset8::$8 ] 1,723.94: zp ZP_BYTE:88 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] 1,044.93: zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] 845.22: zp ZP_WORD:85 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] 783: zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] 192.31: zp ZP_WORD:81 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] 165.93: zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] 17.79: zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Uplift Scope [gfx_init_plane_charset8] 4,004: zp ZP_BYTE:89 [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] 2,002: zp ZP_BYTE:298 [ gfx_init_plane_charset8::$8 ] 1,723.94: zp ZP_BYTE:88 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] 1,044.93: zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] 845.22: zp ZP_WORD:85 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] 783: zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] 192.31: zp ZP_WORD:81 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] 165.93: zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] 17.79: zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Uplift Scope [gfx_mode] 2,104.5: zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 ] 2,002: zp ZP_BYTE:10 [ gfx_mode::cx#2 gfx_mode::cx#1 ] 1,663.27: zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 ] 353.5: zp ZP_BYTE:11 [ gfx_mode::j#2 gfx_mode::j#1 ] 353.5: zp ZP_BYTE:12 [ gfx_mode::i#2 gfx_mode::i#1 ] 202: zp ZP_BYTE:242 [ gfx_mode::keyboard_event#0 ] 180.36: zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ] 44: zp ZP_BYTE:2 [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] 12: zp ZP_BYTE:3 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] 4: zp ZP_BYTE:158 [ gfx_mode::$20 ] 4: zp ZP_DWORD:164 [ gfx_mode::$22 ] 4: zp ZP_WORD:172 [ gfx_mode::$24 ] 4: zp ZP_BYTE:174 [ gfx_mode::$25 ] 4: zp ZP_WORD:175 [ gfx_mode::$26 ] 4: zp ZP_BYTE:177 [ gfx_mode::$27 ] 4: zp ZP_WORD:178 [ gfx_mode::$28 ] 4: zp ZP_BYTE:180 [ gfx_mode::$29 ] 4: zp ZP_BYTE:181 [ gfx_mode::$30 ] 4: zp ZP_BYTE:182 [ gfx_mode::$31 ] 4: zp ZP_BYTE:183 [ gfx_mode::$32 ] 4: zp ZP_BYTE:184 [ gfx_mode::$33 ] 4: zp ZP_BYTE:185 [ gfx_mode::$34 ] 4: zp ZP_DWORD:191 [ gfx_mode::$36 ] 4: zp ZP_WORD:199 [ gfx_mode::$38 ] 4: zp ZP_BYTE:201 [ gfx_mode::$39 ] 4: zp ZP_WORD:202 [ gfx_mode::$40 ] 4: zp ZP_BYTE:204 [ gfx_mode::$41 ] 4: zp ZP_WORD:205 [ gfx_mode::$42 ] 4: zp ZP_BYTE:207 [ gfx_mode::$43 ] 4: zp ZP_BYTE:208 [ gfx_mode::$44 ] 4: zp ZP_BYTE:209 [ gfx_mode::$45 ] 4: zp ZP_BYTE:210 [ gfx_mode::$46 ] 4: zp ZP_BYTE:211 [ gfx_mode::$47 ] 4: zp ZP_WORD:216 [ gfx_mode::$54 ] 4: zp ZP_WORD:218 [ gfx_mode::$55 ] 4: zp ZP_WORD:226 [ gfx_mode::$59 ] 4: zp ZP_BYTE:228 [ gfx_mode::$60 ] 4: zp ZP_BYTE:229 [ gfx_mode::$61 ] 4: zp ZP_BYTE:230 [ gfx_mode::$62 ] 4: zp ZP_BYTE:233 [ gfx_mode::$64 ] 4: zp ZP_BYTE:234 [ gfx_mode::$65 ] 4: zp ZP_BYTE:235 [ gfx_mode::$66 ] 4: zp ZP_BYTE:236 [ gfx_mode::$67 ] 4: zp ZP_BYTE:237 [ gfx_mode::$68 ] 4: zp ZP_BYTE:238 [ gfx_mode::$69 ] 4: zp ZP_BYTE:239 [ gfx_mode::$70 ] 4: zp ZP_BYTE:240 [ gfx_mode::$71 ] 2: zp ZP_BYTE:4 [ gfx_mode::vic_control2#2 ] 2: zp ZP_WORD:214 [ gfx_mode::$52 ] 2: zp ZP_WORD:224 [ gfx_mode::$57 ] 1.14: zp ZP_DWORD:168 [ gfx_mode::plane_a#0 ] 1.14: zp ZP_DWORD:195 [ gfx_mode::plane_b#0 ] 0.8: zp ZP_BYTE:159 [ gfx_mode::plane_a_offs#0 ] 0.8: zp ZP_BYTE:186 [ gfx_mode::plane_b_offs#0 ] 0.5: zp ZP_BYTE:220 [ gfx_mode::$56 ] Uplift Scope [print_str_at] 3,005.5: zp ZP_WORD:37 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] 2,002: zp ZP_WORD:39 [ print_str_at::at#2 print_str_at::at#0 ] -Uplift Scope [form_field_ptr] 2,341.67: zp ZP_BYTE:42 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] 2,002: zp ZP_WORD:266 [ form_field_ptr::return#2 ] 251.25: zp ZP_WORD:274 [ form_field_ptr::return#0 ] 6: zp ZP_BYTE:270 [ form_field_ptr::y#0 ] 4: zp ZP_BYTE:273 [ form_field_ptr::x#0 ] 4: zp ZP_WORD:276 [ form_field_ptr::return#3 ] 1: zp ZP_WORD:271 [ form_field_ptr::$2 ] -Uplift Scope [form_render_values] 2,168.83: zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] 2,002: zp ZP_WORD:268 [ form_render_values::field#0 ] Uplift Scope [apply_preset] 3,503.5: zp ZP_BYTE:45 [ apply_preset::i#2 apply_preset::i#1 ] 200.2: zp ZP_WORD:43 [ apply_preset::preset#14 ] 11.18: zp ZP_BYTE:265 [ apply_preset::idx#0 ] -Uplift Scope [print_str_lines] 1,939.17: zp ZP_WORD:50 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] 667.33: zp ZP_BYTE:289 [ print_str_lines::ch#0 ] +Uplift Scope [print_str_lines] 1,939.17: zp ZP_WORD:50 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] 667.33: zp ZP_BYTE:279 [ print_str_lines::ch#0 ] Uplift Scope [form_mode] 2,002: zp ZP_BYTE:264 [ form_mode::$36 ] 353.5: zp ZP_BYTE:30 [ form_mode::i#2 form_mode::i#1 ] 212.21: zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] -Uplift Scope [form_control] 2,002: zp ZP_BYTE:263 [ form_control::return#0 ] 333.67: zp ZP_BYTE:46 [ form_control::return#2 ] 4: zp ZP_BYTE:280 [ form_control::$13 ] 4: zp ZP_BYTE:283 [ form_control::$15 ] 4: zp ZP_BYTE:284 [ form_control::$16 ] 4: zp ZP_BYTE:285 [ form_control::$24 ] 4: zp ZP_BYTE:286 [ form_control::$14 ] 2.67: zp ZP_BYTE:282 [ form_control::key_event#0 ] 0.59: zp ZP_WORD:278 [ form_control::field#0 ] -Uplift Scope [bitmap_plot] 1,012: zp ZP_BYTE:104 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] 506.5: zp ZP_BYTE:103 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] 4: zp ZP_WORD:325 [ bitmap_plot::plotter_y#0 ] 4: zp ZP_BYTE:329 [ bitmap_plot::$1 ] 2: zp ZP_WORD:323 [ bitmap_plot::plotter_x#0 ] 1: zp ZP_WORD:327 [ bitmap_plot::$0 ] -Uplift Scope [gfx_init_plane_8bppchunky] 362.64: zp ZP_BYTE:93 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] 297.35: zp ZP_WORD:94 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] 202: zp ZP_WORD:309 [ gfx_init_plane_8bppchunky::$9 ] 202: zp ZP_BYTE:311 [ gfx_init_plane_8bppchunky::c#0 ] 181.8: zp ZP_WORD:91 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] 25.96: zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] -Uplift Scope [gfx_init_screen2] 202: zp ZP_BYTE:345 [ gfx_init_screen2::$0 ] 202: zp ZP_BYTE:348 [ gfx_init_screen2::$3 ] 202: zp ZP_BYTE:349 [ gfx_init_screen2::$4 ] 189.38: zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] 151.5: zp ZP_BYTE:346 [ gfx_init_screen2::col#0 ] 109.46: zp ZP_WORD:148 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] 101: zp ZP_BYTE:347 [ gfx_init_screen2::col2#0 ] 27.68: zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] -Uplift Scope [bitmap_line_xdyi] 482.47: zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] 265: zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] 202: zp ZP_BYTE:322 [ bitmap_line_xdyi::$6 ] 118.72: zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] 18.71: zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] 15.64: zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] 10.17: zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] -Uplift Scope [bitmap_line_xdyd] 482.47: zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] 265: zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] 202: zp ZP_BYTE:331 [ bitmap_line_xdyd::$6 ] 118.72: zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] 18.71: zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] 15.64: zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] 10.17: zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] -Uplift Scope [bitmap_line_ydxi] 482.47: zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] 265: zp ZP_BYTE:108 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] 202: zp ZP_BYTE:330 [ bitmap_line_ydxi::$6 ] 118.72: zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] 18.71: zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] 15.64: zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] 10.17: zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] -Uplift Scope [bitmap_line_ydxd] 482.47: zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] 265: zp ZP_BYTE:120 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] 202: zp ZP_BYTE:332 [ bitmap_line_ydxd::$6 ] 118.72: zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] 18.71: zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] 15.64: zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] 10.17: zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] -Uplift Scope [gfx_init_screen0] 202: zp ZP_BYTE:352 [ gfx_init_screen0::$0 ] 202: zp ZP_BYTE:354 [ gfx_init_screen0::$2 ] 202: zp ZP_BYTE:355 [ gfx_init_screen0::$3 ] 194.79: zp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] 116.93: zp ZP_WORD:156 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] 101: zp ZP_BYTE:353 [ gfx_init_screen0::$1 ] 28.8: zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] -Uplift Scope [gfx_init_screen3] 202: zp ZP_BYTE:341 [ gfx_init_screen3::$0 ] 202: zp ZP_BYTE:343 [ gfx_init_screen3::$2 ] 202: zp ZP_BYTE:344 [ gfx_init_screen3::$3 ] 194.79: zp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] 116.93: zp ZP_WORD:144 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] 101: zp ZP_BYTE:342 [ gfx_init_screen3::$1 ] 28.8: zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] -Uplift Scope [gfx_init_plane_horisontal] 592: zp ZP_WORD:77 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] 202: zp ZP_BYTE:307 [ gfx_init_plane_horisontal::$8 ] 176.75: zp ZP_BYTE:79 [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] 27.68: zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] -Uplift Scope [gfx_init_screen1] 212.1: zp ZP_BYTE:151 [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] 202: zp ZP_BYTE:350 [ gfx_init_screen1::$0 ] 202: zp ZP_BYTE:351 [ gfx_init_screen1::$1 ] 143.1: zp ZP_WORD:152 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] 31.88: zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] -Uplift Scope [form_set_screen] 218.83: zp ZP_BYTE:49 [ form_set_screen::y#2 form_set_screen::y#1 ] 202: zp ZP_BYTE:287 [ form_set_screen::$0 ] 202: zp ZP_BYTE:288 [ form_set_screen::$1 ] 148.13: zp ZP_WORD:47 [ form_set_screen::line#2 form_set_screen::line#1 ] -Uplift Scope [gfx_init_plane_horisontal2] 202: zp ZP_BYTE:305 [ gfx_init_plane_horisontal2::$8 ] 202: zp ZP_BYTE:306 [ gfx_init_plane_horisontal2::row#0 ] 191.9: zp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] 143.1: zp ZP_WORD:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] 31.88: zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] +Uplift Scope [form_render_values] 2,502.5: zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] +Uplift Scope [form_field_ptr] 2,341.67: zp ZP_BYTE:42 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] 33.9: zp ZP_BYTE:269 [ form_field_ptr::x#0 ] 6: zp ZP_BYTE:266 [ form_field_ptr::y#0 ] 0.06: zp ZP_WORD:267 [ form_field_ptr::$2 ] +Uplift Scope [form_control] 2,002: zp ZP_BYTE:263 [ form_control::return#0 ] 333.67: zp ZP_BYTE:46 [ form_control::return#2 ] 4: zp ZP_BYTE:270 [ form_control::$13 ] 4: zp ZP_BYTE:273 [ form_control::$15 ] 4: zp ZP_BYTE:274 [ form_control::$16 ] 4: zp ZP_BYTE:275 [ form_control::$24 ] 4: zp ZP_BYTE:276 [ form_control::$14 ] 2.67: zp ZP_BYTE:272 [ form_control::key_event#0 ] +Uplift Scope [bitmap_plot] 1,012: zp ZP_BYTE:104 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] 506.5: zp ZP_BYTE:103 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] 4: zp ZP_WORD:315 [ bitmap_plot::plotter_y#0 ] 4: zp ZP_BYTE:319 [ bitmap_plot::$1 ] 2: zp ZP_WORD:313 [ bitmap_plot::plotter_x#0 ] 1: zp ZP_WORD:317 [ bitmap_plot::$0 ] +Uplift Scope [gfx_init_plane_8bppchunky] 362.64: zp ZP_BYTE:93 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] 297.35: zp ZP_WORD:94 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] 202: zp ZP_WORD:299 [ gfx_init_plane_8bppchunky::$9 ] 202: zp ZP_BYTE:301 [ gfx_init_plane_8bppchunky::c#0 ] 181.8: zp ZP_WORD:91 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] 25.96: zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplift Scope [gfx_init_screen2] 202: zp ZP_BYTE:335 [ gfx_init_screen2::$0 ] 202: zp ZP_BYTE:338 [ gfx_init_screen2::$3 ] 202: zp ZP_BYTE:339 [ gfx_init_screen2::$4 ] 189.38: zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] 151.5: zp ZP_BYTE:336 [ gfx_init_screen2::col#0 ] 109.46: zp ZP_WORD:148 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] 101: zp ZP_BYTE:337 [ gfx_init_screen2::col2#0 ] 27.68: zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplift Scope [bitmap_line_xdyi] 482.47: zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] 265: zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] 202: zp ZP_BYTE:312 [ bitmap_line_xdyi::$6 ] 118.72: zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] 18.71: zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] 15.64: zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] 10.17: zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] +Uplift Scope [bitmap_line_xdyd] 482.47: zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] 265: zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] 202: zp ZP_BYTE:321 [ bitmap_line_xdyd::$6 ] 118.72: zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] 18.71: zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] 15.64: zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] 10.17: zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] +Uplift Scope [bitmap_line_ydxi] 482.47: zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] 265: zp ZP_BYTE:108 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] 202: zp ZP_BYTE:320 [ bitmap_line_ydxi::$6 ] 118.72: zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] 18.71: zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] 15.64: zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] 10.17: zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] +Uplift Scope [bitmap_line_ydxd] 482.47: zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] 265: zp ZP_BYTE:120 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] 202: zp ZP_BYTE:322 [ bitmap_line_ydxd::$6 ] 118.72: zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] 18.71: zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] 15.64: zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] 10.17: zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] +Uplift Scope [gfx_init_screen0] 202: zp ZP_BYTE:342 [ gfx_init_screen0::$0 ] 202: zp ZP_BYTE:344 [ gfx_init_screen0::$2 ] 202: zp ZP_BYTE:345 [ gfx_init_screen0::$3 ] 194.79: zp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] 116.93: zp ZP_WORD:156 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] 101: zp ZP_BYTE:343 [ gfx_init_screen0::$1 ] 28.8: zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplift Scope [gfx_init_screen3] 202: zp ZP_BYTE:331 [ gfx_init_screen3::$0 ] 202: zp ZP_BYTE:333 [ gfx_init_screen3::$2 ] 202: zp ZP_BYTE:334 [ gfx_init_screen3::$3 ] 194.79: zp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] 116.93: zp ZP_WORD:144 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] 101: zp ZP_BYTE:332 [ gfx_init_screen3::$1 ] 28.8: zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplift Scope [gfx_init_plane_horisontal] 592: zp ZP_WORD:77 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] 202: zp ZP_BYTE:297 [ gfx_init_plane_horisontal::$8 ] 176.75: zp ZP_BYTE:79 [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] 27.68: zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] +Uplift Scope [gfx_init_screen1] 212.1: zp ZP_BYTE:151 [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] 202: zp ZP_BYTE:340 [ gfx_init_screen1::$0 ] 202: zp ZP_BYTE:341 [ gfx_init_screen1::$1 ] 143.1: zp ZP_WORD:152 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] 31.88: zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] +Uplift Scope [form_set_screen] 218.83: zp ZP_BYTE:49 [ form_set_screen::y#2 form_set_screen::y#1 ] 202: zp ZP_BYTE:277 [ form_set_screen::$0 ] 202: zp ZP_BYTE:278 [ form_set_screen::$1 ] 148.13: zp ZP_WORD:47 [ form_set_screen::line#2 form_set_screen::line#1 ] +Uplift Scope [gfx_init_plane_horisontal2] 202: zp ZP_BYTE:295 [ gfx_init_plane_horisontal2::$8 ] 202: zp ZP_BYTE:296 [ gfx_init_plane_horisontal2::row#0 ] 191.9: zp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] 143.1: zp ZP_WORD:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] 31.88: zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Uplift Scope [gfx_init_charset] 214.5: zp ZP_WORD:135 [ gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] 202: zp ZP_BYTE:137 [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] 169.27: zp ZP_WORD:133 [ gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 ] 19.64: zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] -Uplift Scope [gfx_init_plane_fill] 227.6: zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] 218.83: zp ZP_BYTE:66 [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] 20.17: zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] 5.61: zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] 4: zp ZP_DWORD:292 [ gfx_init_plane_fill::$0 ] 4: zp ZP_WORD:296 [ gfx_init_plane_fill::$1 ] 4: zp ZP_BYTE:298 [ gfx_init_plane_fill::gfxbCpuBank#0 ] 4: zp ZP_WORD:299 [ gfx_init_plane_fill::$4 ] 4: zp ZP_WORD:301 [ gfx_init_plane_fill::$5 ] 2: zp ZP_WORD:303 [ gfx_init_plane_fill::$6 ] 0.67: zp ZP_DWORD:58 [ gfx_init_plane_fill::plane_addr#3 ] -Uplift Scope [bitmap_clear] 227.6: zp ZP_WORD:124 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] 218.83: zp ZP_BYTE:126 [ bitmap_clear::x#2 bitmap_clear::x#1 ] 20.17: zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] 2: zp ZP_WORD:333 [ bitmap_clear::$3 ] +Uplift Scope [gfx_init_plane_fill] 227.6: zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] 218.83: zp ZP_BYTE:66 [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] 20.17: zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] 5.61: zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] 4: zp ZP_DWORD:282 [ gfx_init_plane_fill::$0 ] 4: zp ZP_WORD:286 [ gfx_init_plane_fill::$1 ] 4: zp ZP_BYTE:288 [ gfx_init_plane_fill::gfxbCpuBank#0 ] 4: zp ZP_WORD:289 [ gfx_init_plane_fill::$4 ] 4: zp ZP_WORD:291 [ gfx_init_plane_fill::$5 ] 2: zp ZP_WORD:293 [ gfx_init_plane_fill::$6 ] 0.67: zp ZP_DWORD:58 [ gfx_init_plane_fill::plane_addr#3 ] +Uplift Scope [bitmap_clear] 227.6: zp ZP_WORD:124 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] 218.83: zp ZP_BYTE:126 [ bitmap_clear::x#2 bitmap_clear::x#1 ] 20.17: zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] 2: zp ZP_WORD:323 [ bitmap_clear::$3 ] Uplift Scope [gfx_init_screen4] 221.6: zp ZP_WORD:139 [ gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 ] 218.83: zp ZP_BYTE:141 [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] 20.17: zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] Uplift Scope [gfx_init_plane_vertical] 221.6: zp ZP_WORD:73 [ gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 ] 218.83: zp ZP_BYTE:75 [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] 20.17: zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] -Uplift Scope [print_cls] 257.5: zp ZP_WORD:56 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] 202: zp ZP_WORD:290 [ print_cls::$0 ] +Uplift Scope [print_cls] 257.5: zp ZP_WORD:56 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] 202: zp ZP_WORD:280 [ print_cls::$0 ] Uplift Scope [dtvSetCpuBankSegment1] 311: zp ZP_BYTE:67 [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] -Uplift Scope [keyboard_event_get] 202: zp ZP_BYTE:241 [ keyboard_event_get::return#3 ] 30.25: zp ZP_BYTE:13 [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] 4: zp ZP_BYTE:281 [ keyboard_event_get::return#4 ] -Uplift Scope [bitmap_init] 39.11: zp ZP_WORD:130 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 24.93: zp ZP_BYTE:128 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 23.83: zp ZP_BYTE:127 [ bitmap_init::x#2 bitmap_init::x#1 ] 22.5: zp ZP_BYTE:129 [ bitmap_init::y#2 bitmap_init::y#1 ] 22: zp ZP_BYTE:335 [ bitmap_init::$0 ] 22: zp ZP_BYTE:337 [ bitmap_init::$7 ] 22: zp ZP_BYTE:338 [ bitmap_init::$8 ] 22: zp ZP_BYTE:339 [ bitmap_init::$9 ] 22: zp ZP_BYTE:340 [ bitmap_init::$10 ] 11: zp ZP_BYTE:336 [ bitmap_init::$6 ] +Uplift Scope [keyboard_event_get] 202: zp ZP_BYTE:241 [ keyboard_event_get::return#3 ] 30.25: zp ZP_BYTE:13 [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] 4: zp ZP_BYTE:271 [ keyboard_event_get::return#4 ] +Uplift Scope [bitmap_init] 39.11: zp ZP_WORD:130 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 24.93: zp ZP_BYTE:128 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 23.83: zp ZP_BYTE:127 [ bitmap_init::x#2 bitmap_init::x#1 ] 22.5: zp ZP_BYTE:129 [ bitmap_init::y#2 bitmap_init::y#1 ] 22: zp ZP_BYTE:325 [ bitmap_init::$0 ] 22: zp ZP_BYTE:327 [ bitmap_init::$7 ] 22: zp ZP_BYTE:328 [ bitmap_init::$8 ] 22: zp ZP_BYTE:329 [ bitmap_init::$9 ] 22: zp ZP_BYTE:330 [ bitmap_init::$10 ] 11: zp ZP_BYTE:326 [ bitmap_init::$6 ] Uplift Scope [render_preset_name] 217.36: zp ZP_BYTE:34 [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] 2: zp ZP_WORD:35 [ render_preset_name::name#13 ] Uplift Scope [keyboard_event_pressed] 4: zp ZP_BYTE:246 [ keyboard_event_pressed::return#0 ] 4: zp ZP_BYTE:248 [ keyboard_event_pressed::return#1 ] 4: zp ZP_BYTE:250 [ keyboard_event_pressed::return#2 ] 4: zp ZP_BYTE:252 [ keyboard_event_pressed::return#3 ] 4: zp ZP_BYTE:258 [ keyboard_event_pressed::$0 ] 4: zp ZP_BYTE:260 [ keyboard_event_pressed::$1 ] 2: zp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] 1.67: zp ZP_BYTE:261 [ keyboard_event_pressed::return#10 ] 1.33: zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] Uplift Scope [gfx_init_vic_bitmap] 27.5: zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] Uplift Scope [get_vic_screen] 10.8: zp ZP_BYTE:20 [ get_vic_screen::idx#2 get_vic_screen::idx#0 get_vic_screen::idx#1 ] 4: zp ZP_WORD:212 [ get_vic_screen::return#10 ] 4: zp ZP_WORD:231 [ get_vic_screen::return#11 ] 1: zp ZP_WORD:21 [ get_vic_screen::return#5 ] Uplift Scope [get_plane] 10.29: zp ZP_BYTE:25 [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ] 4: zp ZP_DWORD:160 [ get_plane::return#16 ] 4: zp ZP_DWORD:187 [ get_plane::return#17 ] 1: zp ZP_DWORD:26 [ get_plane::return#14 ] -Uplift Scope [bitmap_line] 1.75: zp ZP_BYTE:315 [ bitmap_line::y1#0 ] 1.67: zp ZP_BYTE:314 [ bitmap_line::y0#0 ] 1.32: zp ZP_BYTE:313 [ bitmap_line::x1#0 ] 1.26: zp ZP_BYTE:312 [ bitmap_line::x0#0 ] 0.89: zp ZP_BYTE:317 [ bitmap_line::yd#2 ] 0.89: zp ZP_BYTE:318 [ bitmap_line::yd#1 ] 0.89: zp ZP_BYTE:320 [ bitmap_line::yd#10 ] 0.89: zp ZP_BYTE:321 [ bitmap_line::yd#11 ] 0.7: zp ZP_BYTE:316 [ bitmap_line::xd#2 ] 0.7: zp ZP_BYTE:319 [ bitmap_line::xd#1 ] +Uplift Scope [bitmap_line] 1.75: zp ZP_BYTE:305 [ bitmap_line::y1#0 ] 1.67: zp ZP_BYTE:304 [ bitmap_line::y0#0 ] 1.32: zp ZP_BYTE:303 [ bitmap_line::x1#0 ] 1.26: zp ZP_BYTE:302 [ bitmap_line::x0#0 ] 0.89: zp ZP_BYTE:307 [ bitmap_line::yd#2 ] 0.89: zp ZP_BYTE:308 [ bitmap_line::yd#1 ] 0.89: zp ZP_BYTE:310 [ bitmap_line::yd#10 ] 0.89: zp ZP_BYTE:311 [ bitmap_line::yd#11 ] 0.7: zp ZP_BYTE:306 [ bitmap_line::xd#2 ] 0.7: zp ZP_BYTE:309 [ bitmap_line::xd#1 ] Uplift Scope [get_vic_charset] 4: zp ZP_WORD:222 [ get_vic_charset::return#4 ] 3: zp ZP_BYTE:221 [ get_vic_charset::idx#0 ] 0.67: zp ZP_WORD:23 [ get_vic_charset::return#2 ] Uplift Scope [print_ln] Uplift Scope [print_set_screen] @@ -19659,382 +19904,377 @@ Uplift Scope [gfx_init_plane_vertical2] Uplift Scope [gfx_init_plane_blank] Uplift Scope [gfx_init_plane_full] -Uplifting [keyboard_event_scan] best 15511598 combination reg byte a [ keyboard_event_scan::$15 ] reg byte a [ keyboard_event_scan::$16 ] zp ZP_BYTE:256 [ keyboard_event_scan::event_type#0 ] zp ZP_BYTE:257 [ keyboard_event_scan::$23 ] zp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 ] zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:245 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:247 [ keyboard_event_scan::$0 ] zp ZP_BYTE:249 [ keyboard_event_scan::$3 ] zp ZP_BYTE:251 [ keyboard_event_scan::$6 ] zp ZP_BYTE:253 [ keyboard_event_scan::$9 ] +Uplifting [keyboard_event_scan] best 15485565 combination reg byte a [ keyboard_event_scan::$15 ] reg byte a [ keyboard_event_scan::$16 ] zp ZP_BYTE:256 [ keyboard_event_scan::event_type#0 ] zp ZP_BYTE:257 [ keyboard_event_scan::$23 ] zp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 ] zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:245 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:247 [ keyboard_event_scan::$0 ] zp ZP_BYTE:249 [ keyboard_event_scan::$3 ] zp ZP_BYTE:251 [ keyboard_event_scan::$6 ] zp ZP_BYTE:253 [ keyboard_event_scan::$9 ] Limited combination testing to 10 combinations of 5308416 possible. -Uplifting [] best 15511580 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 ] zp ZP_WORD:52 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 ] zp ZP_WORD:54 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 ] reg byte x [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#18 keyboard_modifiers#3 keyboard_modifiers#4 keyboard_modifiers#5 ] +Uplifting [] best 15485547 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 ] zp ZP_WORD:52 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 ] zp ZP_WORD:54 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 ] reg byte x [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#18 keyboard_modifiers#3 keyboard_modifiers#4 keyboard_modifiers#5 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [keyboard_matrix_read] best 15421577 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] zp ZP_BYTE:262 [ keyboard_matrix_read::return#0 ] +Uplifting [keyboard_matrix_read] best 15395544 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] zp ZP_BYTE:262 [ keyboard_matrix_read::return#0 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [gfx_init_plane_charset8] best 15406577 combination reg byte a [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] reg byte a [ gfx_init_plane_charset8::$8 ] zp ZP_BYTE:88 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] zp ZP_WORD:85 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] zp ZP_WORD:81 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Uplifting [gfx_init_plane_charset8] best 15380544 combination reg byte a [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] reg byte a [ gfx_init_plane_charset8::$8 ] zp ZP_BYTE:88 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] zp ZP_WORD:85 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] zp ZP_WORD:81 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Limited combination testing to 10 combinations of 1152 possible. -Uplifting [print_str_at] best 15406577 combination zp ZP_WORD:37 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] zp ZP_WORD:39 [ print_str_at::at#2 print_str_at::at#0 ] -Uplifting [form_field_ptr] best 15403562 combination reg byte y [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp ZP_WORD:266 [ form_field_ptr::return#2 ] zp ZP_WORD:274 [ form_field_ptr::return#0 ] reg byte x [ form_field_ptr::y#0 ] zp ZP_BYTE:273 [ form_field_ptr::x#0 ] zp ZP_WORD:276 [ form_field_ptr::return#3 ] zp ZP_WORD:271 [ form_field_ptr::$2 ] -Limited combination testing to 10 combinations of 48 possible. -Uplifting [form_render_values] best 15403562 combination zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] zp ZP_WORD:268 [ form_render_values::field#0 ] -Uplifting [apply_preset] best 15391229 combination reg byte y [ apply_preset::i#2 apply_preset::i#1 ] zp ZP_WORD:43 [ apply_preset::preset#14 ] reg byte a [ apply_preset::idx#0 ] +Uplifting [print_str_at] best 15380544 combination zp ZP_WORD:37 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] zp ZP_WORD:39 [ print_str_at::at#2 print_str_at::at#0 ] +Uplifting [apply_preset] best 15368211 combination reg byte y [ apply_preset::i#2 apply_preset::i#1 ] zp ZP_WORD:43 [ apply_preset::preset#14 ] reg byte a [ apply_preset::idx#0 ] Limited combination testing to 10 combinations of 12 possible. -Uplifting [print_str_lines] best 15379229 combination zp ZP_WORD:50 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] -Uplifting [form_mode] best 15372029 combination reg byte a [ form_mode::$36 ] reg byte x [ form_mode::i#2 form_mode::i#1 ] zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] +Uplifting [print_str_lines] best 15356211 combination zp ZP_WORD:50 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] +Uplifting [form_mode] best 15349011 combination reg byte a [ form_mode::$36 ] reg byte x [ form_mode::i#2 form_mode::i#1 ] zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] Limited combination testing to 10 combinations of 24 possible. -Uplifting [form_control] best 15365020 combination reg byte a [ form_control::return#0 ] reg byte x [ form_control::return#2 ] zp ZP_BYTE:280 [ form_control::$13 ] zp ZP_BYTE:283 [ form_control::$15 ] zp ZP_BYTE:284 [ form_control::$16 ] zp ZP_BYTE:285 [ form_control::$24 ] zp ZP_BYTE:286 [ form_control::$14 ] zp ZP_BYTE:282 [ form_control::key_event#0 ] zp ZP_WORD:278 [ form_control::field#0 ] +Uplifting [form_render_values] best 15334011 combination reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] +Uplifting [form_field_ptr] best 15330998 combination reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp ZP_BYTE:269 [ form_field_ptr::x#0 ] reg byte a [ form_field_ptr::y#0 ] zp ZP_WORD:267 [ form_field_ptr::$2 ] +Limited combination testing to 10 combinations of 24 possible. +Uplifting [form_control] best 15323989 combination reg byte a [ form_control::return#0 ] reg byte x [ form_control::return#2 ] zp ZP_BYTE:270 [ form_control::$13 ] zp ZP_BYTE:273 [ form_control::$15 ] zp ZP_BYTE:274 [ form_control::$16 ] zp ZP_BYTE:275 [ form_control::$24 ] zp ZP_BYTE:276 [ form_control::$14 ] zp ZP_BYTE:272 [ form_control::key_event#0 ] Limited combination testing to 10 combinations of 65536 possible. -Uplifting [bitmap_plot] best 15362611 combination reg byte y [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] reg byte x [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] zp ZP_WORD:325 [ bitmap_plot::plotter_y#0 ] zp ZP_BYTE:329 [ bitmap_plot::$1 ] zp ZP_WORD:323 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:327 [ bitmap_plot::$0 ] +Uplifting [bitmap_plot] best 15321580 combination reg byte y [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] reg byte x [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] zp ZP_WORD:315 [ bitmap_plot::plotter_y#0 ] zp ZP_BYTE:319 [ bitmap_plot::$1 ] zp ZP_WORD:313 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:317 [ bitmap_plot::$0 ] Limited combination testing to 10 combinations of 36 possible. -Uplifting [gfx_init_plane_8bppchunky] best 15361381 combination reg byte x [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] zp ZP_WORD:94 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] zp ZP_WORD:309 [ gfx_init_plane_8bppchunky::$9 ] reg byte a [ gfx_init_plane_8bppchunky::c#0 ] zp ZP_WORD:91 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplifting [gfx_init_plane_8bppchunky] best 15320350 combination reg byte x [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] zp ZP_WORD:94 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] zp ZP_WORD:299 [ gfx_init_plane_8bppchunky::$9 ] reg byte a [ gfx_init_plane_8bppchunky::c#0 ] zp ZP_WORD:91 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [gfx_init_screen2] best 15360181 combination reg byte a [ gfx_init_screen2::$0 ] reg byte a [ gfx_init_screen2::$3 ] zp ZP_BYTE:349 [ gfx_init_screen2::$4 ] zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] zp ZP_BYTE:346 [ gfx_init_screen2::col#0 ] zp ZP_WORD:148 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] zp ZP_BYTE:347 [ gfx_init_screen2::col2#0 ] zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplifting [gfx_init_screen2] best 15319150 combination reg byte a [ gfx_init_screen2::$0 ] reg byte a [ gfx_init_screen2::$3 ] zp ZP_BYTE:339 [ gfx_init_screen2::$4 ] zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] zp ZP_BYTE:336 [ gfx_init_screen2::col#0 ] zp ZP_WORD:148 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] zp ZP_BYTE:337 [ gfx_init_screen2::col2#0 ] zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Limited combination testing to 10 combinations of 2304 possible. -Uplifting [bitmap_line_xdyi] best 15359581 combination zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] reg byte x [ bitmap_line_xdyi::$6 ] zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] +Uplifting [bitmap_line_xdyi] best 15318550 combination zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] reg byte x [ bitmap_line_xdyi::$6 ] zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_xdyd] best 15358981 combination zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] reg byte x [ bitmap_line_xdyd::$6 ] zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] +Uplifting [bitmap_line_xdyd] best 15317950 combination zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] reg byte x [ bitmap_line_xdyd::$6 ] zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_ydxi] best 15357975 combination zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] reg byte x [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] reg byte a [ bitmap_line_ydxi::$6 ] zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] +Uplifting [bitmap_line_ydxi] best 15316944 combination zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] reg byte x [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] reg byte a [ bitmap_line_ydxi::$6 ] zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_ydxd] best 15356969 combination zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] reg byte x [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte a [ bitmap_line_ydxd::$6 ] zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] +Uplifting [bitmap_line_ydxd] best 15315938 combination zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] reg byte x [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte a [ bitmap_line_ydxd::$6 ] zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [gfx_init_screen0] best 15355769 combination reg byte a [ gfx_init_screen0::$0 ] reg byte a [ gfx_init_screen0::$2 ] zp ZP_BYTE:355 [ gfx_init_screen0::$3 ] zp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] zp ZP_WORD:156 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] zp ZP_BYTE:353 [ gfx_init_screen0::$1 ] zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplifting [gfx_init_screen0] best 15314738 combination reg byte a [ gfx_init_screen0::$0 ] reg byte a [ gfx_init_screen0::$2 ] zp ZP_BYTE:345 [ gfx_init_screen0::$3 ] zp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] zp ZP_WORD:156 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] zp ZP_BYTE:343 [ gfx_init_screen0::$1 ] zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Limited combination testing to 10 combinations of 768 possible. -Uplifting [gfx_init_screen3] best 15354569 combination reg byte a [ gfx_init_screen3::$0 ] reg byte a [ gfx_init_screen3::$2 ] zp ZP_BYTE:344 [ gfx_init_screen3::$3 ] zp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] zp ZP_WORD:144 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] zp ZP_BYTE:342 [ gfx_init_screen3::$1 ] zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplifting [gfx_init_screen3] best 15313538 combination reg byte a [ gfx_init_screen3::$0 ] reg byte a [ gfx_init_screen3::$2 ] zp ZP_BYTE:334 [ gfx_init_screen3::$3 ] zp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] zp ZP_WORD:144 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] zp ZP_BYTE:332 [ gfx_init_screen3::$1 ] zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Limited combination testing to 10 combinations of 768 possible. -Uplifting [gfx_init_plane_horisontal] best 15353069 combination zp ZP_WORD:77 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] reg byte a [ gfx_init_plane_horisontal::$8 ] reg byte x [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] +Uplifting [gfx_init_plane_horisontal] best 15312038 combination zp ZP_WORD:77 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] reg byte a [ gfx_init_plane_horisontal::$8 ] reg byte x [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [gfx_init_screen1] best 15351469 combination reg byte x [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] reg byte a [ gfx_init_screen1::$0 ] zp ZP_BYTE:351 [ gfx_init_screen1::$1 ] zp ZP_WORD:152 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] +Uplifting [gfx_init_screen1] best 15310438 combination reg byte x [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] reg byte a [ gfx_init_screen1::$0 ] zp ZP_BYTE:341 [ gfx_init_screen1::$1 ] zp ZP_WORD:152 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [form_set_screen] best 15349369 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] zp ZP_BYTE:288 [ form_set_screen::$1 ] zp ZP_WORD:47 [ form_set_screen::line#2 form_set_screen::line#1 ] +Uplifting [form_set_screen] best 15308338 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] zp ZP_BYTE:278 [ form_set_screen::$1 ] zp ZP_WORD:47 [ form_set_screen::line#2 form_set_screen::line#1 ] Limited combination testing to 10 combinations of 48 possible. -Uplifting [gfx_init_plane_horisontal2] best 15348369 combination reg byte a [ gfx_init_plane_horisontal2::$8 ] reg byte a [ gfx_init_plane_horisontal2::row#0 ] zp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] zp ZP_WORD:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] +Uplifting [gfx_init_plane_horisontal2] best 15307338 combination reg byte a [ gfx_init_plane_horisontal2::$8 ] reg byte a [ gfx_init_plane_horisontal2::row#0 ] zp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] zp ZP_WORD:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [gfx_init_charset] best 15347469 combination zp ZP_WORD:135 [ gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] reg byte x [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] zp ZP_WORD:133 [ gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 ] zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] -Uplifting [gfx_init_plane_fill] best 15346563 combination zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] reg byte x [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] zp ZP_DWORD:292 [ gfx_init_plane_fill::$0 ] zp ZP_WORD:296 [ gfx_init_plane_fill::$1 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] zp ZP_WORD:299 [ gfx_init_plane_fill::$4 ] zp ZP_WORD:301 [ gfx_init_plane_fill::$5 ] zp ZP_WORD:303 [ gfx_init_plane_fill::$6 ] zp ZP_DWORD:58 [ gfx_init_plane_fill::plane_addr#3 ] +Uplifting [gfx_init_charset] best 15306438 combination zp ZP_WORD:135 [ gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] reg byte x [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] zp ZP_WORD:133 [ gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 ] zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] +Uplifting [gfx_init_plane_fill] best 15305532 combination zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] reg byte x [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] zp ZP_DWORD:282 [ gfx_init_plane_fill::$0 ] zp ZP_WORD:286 [ gfx_init_plane_fill::$1 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] zp ZP_WORD:289 [ gfx_init_plane_fill::$4 ] zp ZP_WORD:291 [ gfx_init_plane_fill::$5 ] zp ZP_WORD:293 [ gfx_init_plane_fill::$6 ] zp ZP_DWORD:58 [ gfx_init_plane_fill::plane_addr#3 ] Limited combination testing to 10 combinations of 32 possible. -Uplifting [bitmap_clear] best 15345663 combination zp ZP_WORD:124 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] reg byte x [ bitmap_clear::x#2 bitmap_clear::x#1 ] zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp ZP_WORD:333 [ bitmap_clear::$3 ] -Uplifting [gfx_init_screen4] best 15344763 combination zp ZP_WORD:139 [ gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 ] reg byte x [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] -Uplifting [gfx_init_plane_vertical] best 15343863 combination zp ZP_WORD:73 [ gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 ] reg byte x [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] -Uplifting [print_cls] best 15343863 combination zp ZP_WORD:56 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] zp ZP_WORD:290 [ print_cls::$0 ] -Uplifting [dtvSetCpuBankSegment1] best 15343724 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] -Uplifting [keyboard_event_get] best 15342815 combination reg byte a [ keyboard_event_get::return#3 ] reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] zp ZP_BYTE:281 [ keyboard_event_get::return#4 ] +Uplifting [bitmap_clear] best 15304632 combination zp ZP_WORD:124 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] reg byte x [ bitmap_clear::x#2 bitmap_clear::x#1 ] zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp ZP_WORD:323 [ bitmap_clear::$3 ] +Uplifting [gfx_init_screen4] best 15303732 combination zp ZP_WORD:139 [ gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 ] reg byte x [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] +Uplifting [gfx_init_plane_vertical] best 15302832 combination zp ZP_WORD:73 [ gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 ] reg byte x [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] +Uplifting [print_cls] best 15302832 combination zp ZP_WORD:56 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] zp ZP_WORD:280 [ print_cls::$0 ] +Uplifting [dtvSetCpuBankSegment1] best 15302693 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] +Uplifting [keyboard_event_get] best 15301784 combination reg byte a [ keyboard_event_get::return#3 ] reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] zp ZP_BYTE:271 [ keyboard_event_get::return#4 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [bitmap_init] best 15342515 combination zp ZP_WORD:130 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ] zp ZP_BYTE:129 [ bitmap_init::y#2 bitmap_init::y#1 ] zp ZP_BYTE:335 [ bitmap_init::$0 ] zp ZP_BYTE:337 [ bitmap_init::$7 ] zp ZP_BYTE:338 [ bitmap_init::$8 ] zp ZP_BYTE:339 [ bitmap_init::$9 ] zp ZP_BYTE:340 [ bitmap_init::$10 ] zp ZP_BYTE:336 [ bitmap_init::$6 ] +Uplifting [bitmap_init] best 15301484 combination zp ZP_WORD:130 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ] zp ZP_BYTE:129 [ bitmap_init::y#2 bitmap_init::y#1 ] zp ZP_BYTE:325 [ bitmap_init::$0 ] zp ZP_BYTE:327 [ bitmap_init::$7 ] zp ZP_BYTE:328 [ bitmap_init::$8 ] zp ZP_BYTE:329 [ bitmap_init::$9 ] zp ZP_BYTE:330 [ bitmap_init::$10 ] zp ZP_BYTE:326 [ bitmap_init::$6 ] Limited combination testing to 10 combinations of 138240 possible. -Uplifting [render_preset_name] best 15342179 combination reg byte a [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] zp ZP_WORD:35 [ render_preset_name::name#13 ] -Uplifting [keyboard_event_pressed] best 15342167 combination reg byte a [ keyboard_event_pressed::return#0 ] reg byte a [ keyboard_event_pressed::return#1 ] zp ZP_BYTE:250 [ keyboard_event_pressed::return#2 ] zp ZP_BYTE:252 [ keyboard_event_pressed::return#3 ] zp ZP_BYTE:258 [ keyboard_event_pressed::$0 ] zp ZP_BYTE:260 [ keyboard_event_pressed::$1 ] zp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:261 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] +Uplifting [render_preset_name] best 15301148 combination reg byte a [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] zp ZP_WORD:35 [ render_preset_name::name#13 ] +Uplifting [keyboard_event_pressed] best 15301136 combination reg byte a [ keyboard_event_pressed::return#0 ] reg byte a [ keyboard_event_pressed::return#1 ] zp ZP_BYTE:250 [ keyboard_event_pressed::return#2 ] zp ZP_BYTE:252 [ keyboard_event_pressed::return#3 ] zp ZP_BYTE:258 [ keyboard_event_pressed::$0 ] zp ZP_BYTE:260 [ keyboard_event_pressed::$1 ] zp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:261 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] Limited combination testing to 10 combinations of 147456 possible. -Uplifting [gfx_init_vic_bitmap] best 15342167 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Uplifting [get_vic_screen] best 15342146 combination reg byte a [ get_vic_screen::idx#2 get_vic_screen::idx#0 get_vic_screen::idx#1 ] zp ZP_WORD:212 [ get_vic_screen::return#10 ] zp ZP_WORD:231 [ get_vic_screen::return#11 ] zp ZP_WORD:21 [ get_vic_screen::return#5 ] -Uplifting [get_plane] best 15342098 combination reg byte a [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ] zp ZP_DWORD:160 [ get_plane::return#16 ] zp ZP_DWORD:187 [ get_plane::return#17 ] zp ZP_DWORD:26 [ get_plane::return#14 ] -Uplifting [bitmap_line] best 15342052 combination zp ZP_BYTE:315 [ bitmap_line::y1#0 ] zp ZP_BYTE:314 [ bitmap_line::y0#0 ] reg byte x [ bitmap_line::x1#0 ] zp ZP_BYTE:312 [ bitmap_line::x0#0 ] zp ZP_BYTE:317 [ bitmap_line::yd#2 ] zp ZP_BYTE:318 [ bitmap_line::yd#1 ] zp ZP_BYTE:320 [ bitmap_line::yd#10 ] zp ZP_BYTE:321 [ bitmap_line::yd#11 ] zp ZP_BYTE:316 [ bitmap_line::xd#2 ] zp ZP_BYTE:319 [ bitmap_line::xd#1 ] +Uplifting [gfx_init_vic_bitmap] best 15301136 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] +Uplifting [get_vic_screen] best 15301115 combination reg byte a [ get_vic_screen::idx#2 get_vic_screen::idx#0 get_vic_screen::idx#1 ] zp ZP_WORD:212 [ get_vic_screen::return#10 ] zp ZP_WORD:231 [ get_vic_screen::return#11 ] zp ZP_WORD:21 [ get_vic_screen::return#5 ] +Uplifting [get_plane] best 15301067 combination reg byte a [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ] zp ZP_DWORD:160 [ get_plane::return#16 ] zp ZP_DWORD:187 [ get_plane::return#17 ] zp ZP_DWORD:26 [ get_plane::return#14 ] +Uplifting [bitmap_line] best 15301021 combination zp ZP_BYTE:305 [ bitmap_line::y1#0 ] zp ZP_BYTE:304 [ bitmap_line::y0#0 ] reg byte x [ bitmap_line::x1#0 ] zp ZP_BYTE:302 [ bitmap_line::x0#0 ] zp ZP_BYTE:307 [ bitmap_line::yd#2 ] zp ZP_BYTE:308 [ bitmap_line::yd#1 ] zp ZP_BYTE:310 [ bitmap_line::yd#10 ] zp ZP_BYTE:311 [ bitmap_line::yd#11 ] zp ZP_BYTE:306 [ bitmap_line::xd#2 ] zp ZP_BYTE:309 [ bitmap_line::xd#1 ] Limited combination testing to 10 combinations of 186624 possible. -Uplifting [get_vic_charset] best 15342043 combination zp ZP_WORD:222 [ get_vic_charset::return#4 ] reg byte a [ get_vic_charset::idx#0 ] zp ZP_WORD:23 [ get_vic_charset::return#2 ] -Uplifting [print_ln] best 15342043 combination -Uplifting [print_set_screen] best 15342043 combination -Uplifting [keyboard_init] best 15342043 combination -Uplifting [main] best 15342043 combination -Uplifting [gfx_init] best 15342043 combination -Uplifting [gfx_init_plane_vertical2] best 15342043 combination -Uplifting [gfx_init_plane_blank] best 15342043 combination -Uplifting [gfx_init_plane_full] best 15342043 combination +Uplifting [get_vic_charset] best 15301012 combination zp ZP_WORD:222 [ get_vic_charset::return#4 ] reg byte a [ get_vic_charset::idx#0 ] zp ZP_WORD:23 [ get_vic_charset::return#2 ] +Uplifting [print_ln] best 15301012 combination +Uplifting [print_set_screen] best 15301012 combination +Uplifting [keyboard_init] best 15301012 combination +Uplifting [main] best 15301012 combination +Uplifting [gfx_init] best 15301012 combination +Uplifting [gfx_init_plane_vertical2] best 15301012 combination +Uplifting [gfx_init_plane_blank] best 15301012 combination +Uplifting [gfx_init_plane_full] best 15301012 combination Attempting to uplift remaining variables inzp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 ] -Uplifting [] best 15342043 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 ] +Uplifting [] best 15301012 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:256 [ keyboard_event_scan::event_type#0 ] -Uplifting [keyboard_event_scan] best 14742043 combination reg byte a [ keyboard_event_scan::event_type#0 ] +Uplifting [keyboard_event_scan] best 14701012 combination reg byte a [ keyboard_event_scan::event_type#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:257 [ keyboard_event_scan::$23 ] -Uplifting [keyboard_event_scan] best 14142043 combination reg byte a [ keyboard_event_scan::$23 ] +Uplifting [keyboard_event_scan] best 14101012 combination reg byte a [ keyboard_event_scan::$23 ] Attempting to uplift remaining variables inzp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] -Uplifting [keyboard_event_scan] best 12642043 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] +Uplifting [keyboard_event_scan] best 12601012 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 ] -Uplifting [keyboard_event_scan] best 12642043 combination zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 ] +Uplifting [keyboard_event_scan] best 12601012 combination zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Uplifting [keyboard_event_scan] best 12642043 combination zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] +Uplifting [keyboard_event_scan] best 12601012 combination zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:245 [ keyboard_event_scan::row_scan#0 ] -Uplifting [keyboard_event_scan] best 12642043 combination zp ZP_BYTE:245 [ keyboard_event_scan::row_scan#0 ] +Uplifting [keyboard_event_scan] best 12601012 combination zp ZP_BYTE:245 [ keyboard_event_scan::row_scan#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:262 [ keyboard_matrix_read::return#0 ] -Uplifting [keyboard_matrix_read] best 12612040 combination reg byte a [ keyboard_matrix_read::return#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] -Uplifting [form_render_values] best 12612040 combination zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] +Uplifting [keyboard_matrix_read] best 12571009 combination reg byte a [ keyboard_matrix_read::return#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:10 [ gfx_mode::cx#2 gfx_mode::cx#1 ] -Uplifting [gfx_mode] best 12603040 combination reg byte x [ gfx_mode::cx#2 gfx_mode::cx#1 ] +Uplifting [gfx_mode] best 12562009 combination reg byte x [ gfx_mode::cx#2 gfx_mode::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:88 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] -Uplifting [gfx_init_plane_charset8] best 12594040 combination reg byte x [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] +Uplifting [gfx_init_plane_charset8] best 12553009 combination reg byte x [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] -Uplifting [gfx_init_plane_charset8] best 12594040 combination zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] +Uplifting [gfx_init_plane_charset8] best 12553009 combination zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] -Uplifting [gfx_init_plane_charset8] best 12594040 combination zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] +Uplifting [gfx_init_plane_charset8] best 12553009 combination zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] -Uplifting [bitmap_line_xdyi] best 12594040 combination zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] +Uplifting [bitmap_line_xdyi] best 12553009 combination zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] -Uplifting [bitmap_line_ydxi] best 12594040 combination zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] +Uplifting [bitmap_line_ydxi] best 12553009 combination zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] -Uplifting [bitmap_line_xdyd] best 12594040 combination zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] +Uplifting [bitmap_line_xdyd] best 12553009 combination zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] -Uplifting [bitmap_line_ydxd] best 12594040 combination zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] +Uplifting [bitmap_line_ydxd] best 12553009 combination zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:11 [ gfx_mode::j#2 gfx_mode::j#1 ] -Uplifting [gfx_mode] best 12592840 combination reg byte x [ gfx_mode::j#2 gfx_mode::j#1 ] +Uplifting [gfx_mode] best 12551809 combination reg byte x [ gfx_mode::j#2 gfx_mode::j#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:12 [ gfx_mode::i#2 gfx_mode::i#1 ] -Uplifting [gfx_mode] best 12591640 combination reg byte x [ gfx_mode::i#2 gfx_mode::i#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] -Uplifting [bitmap_line_xdyi] best 12591640 combination zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] -Uplifting [bitmap_line_xdyd] best 12591640 combination zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] +Uplifting [gfx_mode] best 12550609 combination reg byte x [ gfx_mode::i#2 gfx_mode::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -Uplifting [] best 12591640 combination zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] +Uplifting [] best 12550609 combination zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] +Attempting to uplift remaining variables inzp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] +Uplifting [bitmap_line_xdyi] best 12550609 combination zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] +Uplifting [bitmap_line_xdyd] best 12550609 combination zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] -Uplifting [form_mode] best 12591640 combination zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] +Uplifting [form_mode] best 12550609 combination zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:242 [ gfx_mode::keyboard_event#0 ] -Uplifting [gfx_mode] best 12591040 combination reg byte a [ gfx_mode::keyboard_event#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:288 [ form_set_screen::$1 ] -Uplifting [form_set_screen] best 12590440 combination reg byte a [ form_set_screen::$1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:344 [ gfx_init_screen3::$3 ] -Uplifting [gfx_init_screen3] best 12589840 combination reg byte a [ gfx_init_screen3::$3 ] -Attempting to uplift remaining variables inzp ZP_BYTE:349 [ gfx_init_screen2::$4 ] -Uplifting [gfx_init_screen2] best 12589240 combination reg byte a [ gfx_init_screen2::$4 ] -Attempting to uplift remaining variables inzp ZP_BYTE:351 [ gfx_init_screen1::$1 ] -Uplifting [gfx_init_screen1] best 12588640 combination reg byte a [ gfx_init_screen1::$1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:355 [ gfx_init_screen0::$3 ] -Uplifting [gfx_init_screen0] best 12588040 combination reg byte a [ gfx_init_screen0::$3 ] +Uplifting [gfx_mode] best 12550009 combination reg byte a [ gfx_mode::keyboard_event#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:278 [ form_set_screen::$1 ] +Uplifting [form_set_screen] best 12549409 combination reg byte a [ form_set_screen::$1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:334 [ gfx_init_screen3::$3 ] +Uplifting [gfx_init_screen3] best 12548809 combination reg byte a [ gfx_init_screen3::$3 ] +Attempting to uplift remaining variables inzp ZP_BYTE:339 [ gfx_init_screen2::$4 ] +Uplifting [gfx_init_screen2] best 12548209 combination reg byte a [ gfx_init_screen2::$4 ] +Attempting to uplift remaining variables inzp ZP_BYTE:341 [ gfx_init_screen1::$1 ] +Uplifting [gfx_init_screen1] best 12547609 combination reg byte a [ gfx_init_screen1::$1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:345 [ gfx_init_screen0::$3 ] +Uplifting [gfx_init_screen0] best 12547009 combination reg byte a [ gfx_init_screen0::$3 ] Attempting to uplift remaining variables inzp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] -Uplifting [gfx_init_screen3] best 12587040 combination reg byte x [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] +Uplifting [gfx_init_screen3] best 12546009 combination reg byte x [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] -Uplifting [gfx_init_screen0] best 12586040 combination reg byte x [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] +Uplifting [gfx_init_screen0] best 12545009 combination reg byte x [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] -Uplifting [gfx_init_plane_horisontal2] best 12585140 combination reg byte x [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] +Uplifting [gfx_init_plane_horisontal2] best 12544109 combination reg byte x [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] -Uplifting [gfx_init_screen2] best 12584140 combination reg byte x [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] +Uplifting [gfx_init_screen2] best 12543109 combination reg byte x [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ] -Uplifting [gfx_mode] best 12584140 combination zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ] +Uplifting [gfx_mode] best 12543109 combination zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] -Uplifting [gfx_init_plane_charset8] best 12584140 combination zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:346 [ gfx_init_screen2::col#0 ] -Uplifting [gfx_init_screen2] best 12584040 combination reg byte y [ gfx_init_screen2::col#0 ] +Uplifting [gfx_init_plane_charset8] best 12543109 combination zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:336 [ gfx_init_screen2::col#0 ] +Uplifting [gfx_init_screen2] best 12543009 combination reg byte y [ gfx_init_screen2::col#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] -Uplifting [bitmap_line_xdyi] best 12584040 combination zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] +Uplifting [bitmap_line_xdyi] best 12543009 combination zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] -Uplifting [bitmap_line_ydxi] best 12584040 combination zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] +Uplifting [bitmap_line_ydxi] best 12543009 combination zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] -Uplifting [bitmap_line_xdyd] best 12584040 combination zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] +Uplifting [bitmap_line_xdyd] best 12543009 combination zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] -Uplifting [bitmap_line_ydxd] best 12584040 combination zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] +Uplifting [bitmap_line_ydxd] best 12543009 combination zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 ] -Uplifting [] best 12584040 combination zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 ] -Attempting to uplift remaining variables inzp ZP_BYTE:342 [ gfx_init_screen3::$1 ] -Uplifting [gfx_init_screen3] best 12584040 combination zp ZP_BYTE:342 [ gfx_init_screen3::$1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:347 [ gfx_init_screen2::col2#0 ] -Uplifting [gfx_init_screen2] best 12584040 combination zp ZP_BYTE:347 [ gfx_init_screen2::col2#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:353 [ gfx_init_screen0::$1 ] -Uplifting [gfx_init_screen0] best 12584040 combination zp ZP_BYTE:353 [ gfx_init_screen0::$1 ] +Uplifting [] best 12543009 combination zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 ] +Attempting to uplift remaining variables inzp ZP_BYTE:332 [ gfx_init_screen3::$1 ] +Uplifting [gfx_init_screen3] best 12543009 combination zp ZP_BYTE:332 [ gfx_init_screen3::$1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:337 [ gfx_init_screen2::col2#0 ] +Uplifting [gfx_init_screen2] best 12543009 combination zp ZP_BYTE:337 [ gfx_init_screen2::col2#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:343 [ gfx_init_screen0::$1 ] +Uplifting [gfx_init_screen0] best 12543009 combination zp ZP_BYTE:343 [ gfx_init_screen0::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] -Uplifting [gfx_mode] best 12584021 combination reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] +Uplifting [gfx_mode] best 12542990 combination reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:269 [ form_field_ptr::x#0 ] +Uplifting [form_field_ptr] best 12542990 combination zp ZP_BYTE:269 [ form_field_ptr::x#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] -Uplifting [gfx_init_plane_horisontal2] best 12584021 combination zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] +Uplifting [gfx_init_plane_horisontal2] best 12542990 combination zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] -Uplifting [gfx_init_screen1] best 12584021 combination zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] +Uplifting [gfx_init_screen1] best 12542990 combination zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] -Uplifting [gfx_init_screen3] best 12584021 combination zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplifting [gfx_init_screen3] best 12542990 combination zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] -Uplifting [gfx_init_screen0] best 12584021 combination zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplifting [gfx_init_screen0] best 12542990 combination zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] -Uplifting [gfx_init_plane_horisontal] best 12584021 combination zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] +Uplifting [gfx_init_plane_horisontal] best 12542990 combination zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] -Uplifting [gfx_init_screen2] best 12584021 combination zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplifting [gfx_init_screen2] best 12542990 combination zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Uplifting [gfx_init_vic_bitmap] best 12584021 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] +Uplifting [gfx_init_vic_bitmap] best 12542990 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] -Uplifting [gfx_init_plane_8bppchunky] best 12584021 combination zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplifting [gfx_init_plane_8bppchunky] best 12542990 combination zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:129 [ bitmap_init::y#2 bitmap_init::y#1 ] -Uplifting [bitmap_init] best 12583811 combination reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:335 [ bitmap_init::$0 ] -Uplifting [bitmap_init] best 12583771 combination reg byte a [ bitmap_init::$0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:337 [ bitmap_init::$7 ] -Uplifting [bitmap_init] best 12583711 combination reg byte a [ bitmap_init::$7 ] -Attempting to uplift remaining variables inzp ZP_BYTE:338 [ bitmap_init::$8 ] -Uplifting [bitmap_init] best 12583651 combination reg byte a [ bitmap_init::$8 ] -Attempting to uplift remaining variables inzp ZP_BYTE:339 [ bitmap_init::$9 ] -Uplifting [bitmap_init] best 12583591 combination reg byte a [ bitmap_init::$9 ] -Attempting to uplift remaining variables inzp ZP_BYTE:340 [ bitmap_init::$10 ] -Uplifting [bitmap_init] best 12583551 combination reg byte a [ bitmap_init::$10 ] +Uplifting [bitmap_init] best 12542780 combination reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:325 [ bitmap_init::$0 ] +Uplifting [bitmap_init] best 12542740 combination reg byte a [ bitmap_init::$0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:327 [ bitmap_init::$7 ] +Uplifting [bitmap_init] best 12542680 combination reg byte a [ bitmap_init::$7 ] +Attempting to uplift remaining variables inzp ZP_BYTE:328 [ bitmap_init::$8 ] +Uplifting [bitmap_init] best 12542620 combination reg byte a [ bitmap_init::$8 ] +Attempting to uplift remaining variables inzp ZP_BYTE:329 [ bitmap_init::$9 ] +Uplifting [bitmap_init] best 12542560 combination reg byte a [ bitmap_init::$9 ] +Attempting to uplift remaining variables inzp ZP_BYTE:330 [ bitmap_init::$10 ] +Uplifting [bitmap_init] best 12542520 combination reg byte a [ bitmap_init::$10 ] Attempting to uplift remaining variables inzp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] -Uplifting [gfx_init_plane_fill] best 12583551 combination zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] +Uplifting [gfx_init_plane_fill] best 12542520 combination zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] -Uplifting [gfx_init_plane_vertical] best 12583551 combination zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] +Uplifting [gfx_init_plane_vertical] best 12542520 combination zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] -Uplifting [bitmap_clear] best 12583551 combination zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] +Uplifting [bitmap_clear] best 12542520 combination zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] -Uplifting [gfx_init_screen4] best 12583551 combination zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] +Uplifting [gfx_init_screen4] best 12542520 combination zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] -Uplifting [gfx_init_charset] best 12583551 combination zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] +Uplifting [gfx_init_charset] best 12542520 combination zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] -Uplifting [bitmap_line_xdyi] best 12583551 combination zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] +Uplifting [bitmap_line_xdyi] best 12542520 combination zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] -Uplifting [bitmap_line_ydxi] best 12583551 combination zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] +Uplifting [bitmap_line_ydxi] best 12542520 combination zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] -Uplifting [bitmap_line_xdyd] best 12583551 combination zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] +Uplifting [bitmap_line_xdyd] best 12542520 combination zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] -Uplifting [bitmap_line_ydxd] best 12583551 combination zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] +Uplifting [bitmap_line_ydxd] best 12542520 combination zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] -Uplifting [gfx_init_plane_charset8] best 12583551 combination zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Uplifting [gfx_init_plane_charset8] best 12542520 combination zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] -Uplifting [bitmap_line_xdyi] best 12583551 combination zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] +Uplifting [bitmap_line_xdyi] best 12542520 combination zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] -Uplifting [bitmap_line_ydxi] best 12583551 combination zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] +Uplifting [bitmap_line_ydxi] best 12542520 combination zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] -Uplifting [bitmap_line_xdyd] best 12583551 combination zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] +Uplifting [bitmap_line_xdyd] best 12542520 combination zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] -Uplifting [bitmap_line_ydxd] best 12583551 combination zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] +Uplifting [bitmap_line_ydxd] best 12542520 combination zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] -Uplifting [gfx_mode] best 12583540 combination reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] -Attempting to uplift remaining variables inzp ZP_BYTE:336 [ bitmap_init::$6 ] -Uplifting [bitmap_init] best 12583540 combination zp ZP_BYTE:336 [ bitmap_init::$6 ] +Uplifting [gfx_mode] best 12542509 combination reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +Attempting to uplift remaining variables inzp ZP_BYTE:326 [ bitmap_init::$6 ] +Uplifting [bitmap_init] best 12542509 combination zp ZP_BYTE:326 [ bitmap_init::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] -Uplifting [bitmap_line_xdyi] best 12583540 combination zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] +Uplifting [bitmap_line_xdyi] best 12542509 combination zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] -Uplifting [bitmap_line_ydxi] best 12583540 combination zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] +Uplifting [bitmap_line_ydxi] best 12542509 combination zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] -Uplifting [bitmap_line_xdyd] best 12583540 combination zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] +Uplifting [bitmap_line_xdyd] best 12542509 combination zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] -Uplifting [bitmap_line_ydxd] best 12583540 combination zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] +Uplifting [bitmap_line_ydxd] best 12542509 combination zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] -Uplifting [gfx_init_plane_fill] best 12583540 combination zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] +Uplifting [gfx_init_plane_fill] best 12542509 combination zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] Attempting to uplift remaining variables inzp ZP_BYTE:158 [ gfx_mode::$20 ] -Uplifting [gfx_mode] best 12583534 combination reg byte a [ gfx_mode::$20 ] +Uplifting [gfx_mode] best 12542503 combination reg byte a [ gfx_mode::$20 ] Attempting to uplift remaining variables inzp ZP_BYTE:174 [ gfx_mode::$25 ] -Uplifting [gfx_mode] best 12583528 combination reg byte a [ gfx_mode::$25 ] +Uplifting [gfx_mode] best 12542497 combination reg byte a [ gfx_mode::$25 ] Attempting to uplift remaining variables inzp ZP_BYTE:177 [ gfx_mode::$27 ] -Uplifting [gfx_mode] best 12583522 combination reg byte a [ gfx_mode::$27 ] +Uplifting [gfx_mode] best 12542491 combination reg byte a [ gfx_mode::$27 ] Attempting to uplift remaining variables inzp ZP_BYTE:180 [ gfx_mode::$29 ] -Uplifting [gfx_mode] best 12583516 combination reg byte a [ gfx_mode::$29 ] +Uplifting [gfx_mode] best 12542485 combination reg byte a [ gfx_mode::$29 ] Attempting to uplift remaining variables inzp ZP_BYTE:181 [ gfx_mode::$30 ] -Uplifting [gfx_mode] best 12583510 combination reg byte a [ gfx_mode::$30 ] +Uplifting [gfx_mode] best 12542479 combination reg byte a [ gfx_mode::$30 ] Attempting to uplift remaining variables inzp ZP_BYTE:182 [ gfx_mode::$31 ] -Uplifting [gfx_mode] best 12583504 combination reg byte a [ gfx_mode::$31 ] +Uplifting [gfx_mode] best 12542473 combination reg byte a [ gfx_mode::$31 ] Attempting to uplift remaining variables inzp ZP_BYTE:183 [ gfx_mode::$32 ] -Uplifting [gfx_mode] best 12583498 combination reg byte a [ gfx_mode::$32 ] +Uplifting [gfx_mode] best 12542467 combination reg byte a [ gfx_mode::$32 ] Attempting to uplift remaining variables inzp ZP_BYTE:184 [ gfx_mode::$33 ] -Uplifting [gfx_mode] best 12583492 combination reg byte a [ gfx_mode::$33 ] +Uplifting [gfx_mode] best 12542461 combination reg byte a [ gfx_mode::$33 ] Attempting to uplift remaining variables inzp ZP_BYTE:185 [ gfx_mode::$34 ] -Uplifting [gfx_mode] best 12583486 combination reg byte a [ gfx_mode::$34 ] +Uplifting [gfx_mode] best 12542455 combination reg byte a [ gfx_mode::$34 ] Attempting to uplift remaining variables inzp ZP_BYTE:201 [ gfx_mode::$39 ] -Uplifting [gfx_mode] best 12583480 combination reg byte a [ gfx_mode::$39 ] +Uplifting [gfx_mode] best 12542449 combination reg byte a [ gfx_mode::$39 ] Attempting to uplift remaining variables inzp ZP_BYTE:204 [ gfx_mode::$41 ] -Uplifting [gfx_mode] best 12583474 combination reg byte a [ gfx_mode::$41 ] +Uplifting [gfx_mode] best 12542443 combination reg byte a [ gfx_mode::$41 ] Attempting to uplift remaining variables inzp ZP_BYTE:207 [ gfx_mode::$43 ] -Uplifting [gfx_mode] best 12583468 combination reg byte a [ gfx_mode::$43 ] +Uplifting [gfx_mode] best 12542437 combination reg byte a [ gfx_mode::$43 ] Attempting to uplift remaining variables inzp ZP_BYTE:208 [ gfx_mode::$44 ] -Uplifting [gfx_mode] best 12583462 combination reg byte a [ gfx_mode::$44 ] +Uplifting [gfx_mode] best 12542431 combination reg byte a [ gfx_mode::$44 ] Attempting to uplift remaining variables inzp ZP_BYTE:209 [ gfx_mode::$45 ] -Uplifting [gfx_mode] best 12583456 combination reg byte a [ gfx_mode::$45 ] +Uplifting [gfx_mode] best 12542425 combination reg byte a [ gfx_mode::$45 ] Attempting to uplift remaining variables inzp ZP_BYTE:210 [ gfx_mode::$46 ] -Uplifting [gfx_mode] best 12583450 combination reg byte a [ gfx_mode::$46 ] +Uplifting [gfx_mode] best 12542419 combination reg byte a [ gfx_mode::$46 ] Attempting to uplift remaining variables inzp ZP_BYTE:211 [ gfx_mode::$47 ] -Uplifting [gfx_mode] best 12583444 combination reg byte a [ gfx_mode::$47 ] +Uplifting [gfx_mode] best 12542413 combination reg byte a [ gfx_mode::$47 ] Attempting to uplift remaining variables inzp ZP_BYTE:228 [ gfx_mode::$60 ] -Uplifting [gfx_mode] best 12583438 combination reg byte a [ gfx_mode::$60 ] +Uplifting [gfx_mode] best 12542407 combination reg byte a [ gfx_mode::$60 ] Attempting to uplift remaining variables inzp ZP_BYTE:229 [ gfx_mode::$61 ] -Uplifting [gfx_mode] best 12583432 combination reg byte a [ gfx_mode::$61 ] +Uplifting [gfx_mode] best 12542401 combination reg byte a [ gfx_mode::$61 ] Attempting to uplift remaining variables inzp ZP_BYTE:230 [ gfx_mode::$62 ] -Uplifting [gfx_mode] best 12583426 combination reg byte a [ gfx_mode::$62 ] +Uplifting [gfx_mode] best 12542395 combination reg byte a [ gfx_mode::$62 ] Attempting to uplift remaining variables inzp ZP_BYTE:233 [ gfx_mode::$64 ] -Uplifting [gfx_mode] best 12583420 combination reg byte a [ gfx_mode::$64 ] +Uplifting [gfx_mode] best 12542389 combination reg byte a [ gfx_mode::$64 ] Attempting to uplift remaining variables inzp ZP_BYTE:234 [ gfx_mode::$65 ] -Uplifting [gfx_mode] best 12583414 combination reg byte a [ gfx_mode::$65 ] +Uplifting [gfx_mode] best 12542383 combination reg byte a [ gfx_mode::$65 ] Attempting to uplift remaining variables inzp ZP_BYTE:235 [ gfx_mode::$66 ] -Uplifting [gfx_mode] best 12583408 combination reg byte a [ gfx_mode::$66 ] +Uplifting [gfx_mode] best 12542377 combination reg byte a [ gfx_mode::$66 ] Attempting to uplift remaining variables inzp ZP_BYTE:236 [ gfx_mode::$67 ] -Uplifting [gfx_mode] best 12583402 combination reg byte a [ gfx_mode::$67 ] +Uplifting [gfx_mode] best 12542371 combination reg byte a [ gfx_mode::$67 ] Attempting to uplift remaining variables inzp ZP_BYTE:237 [ gfx_mode::$68 ] -Uplifting [gfx_mode] best 12583396 combination reg byte a [ gfx_mode::$68 ] +Uplifting [gfx_mode] best 12542365 combination reg byte a [ gfx_mode::$68 ] Attempting to uplift remaining variables inzp ZP_BYTE:238 [ gfx_mode::$69 ] -Uplifting [gfx_mode] best 12583390 combination reg byte a [ gfx_mode::$69 ] +Uplifting [gfx_mode] best 12542359 combination reg byte a [ gfx_mode::$69 ] Attempting to uplift remaining variables inzp ZP_BYTE:239 [ gfx_mode::$70 ] -Uplifting [gfx_mode] best 12583384 combination reg byte a [ gfx_mode::$70 ] +Uplifting [gfx_mode] best 12542353 combination reg byte a [ gfx_mode::$70 ] Attempting to uplift remaining variables inzp ZP_BYTE:240 [ gfx_mode::$71 ] -Uplifting [gfx_mode] best 12583378 combination reg byte a [ gfx_mode::$71 ] +Uplifting [gfx_mode] best 12542347 combination reg byte a [ gfx_mode::$71 ] Attempting to uplift remaining variables inzp ZP_BYTE:247 [ keyboard_event_scan::$0 ] -Uplifting [keyboard_event_scan] best 12583372 combination reg byte a [ keyboard_event_scan::$0 ] +Uplifting [keyboard_event_scan] best 12542341 combination reg byte a [ keyboard_event_scan::$0 ] Attempting to uplift remaining variables inzp ZP_BYTE:249 [ keyboard_event_scan::$3 ] -Uplifting [keyboard_event_scan] best 12583366 combination reg byte a [ keyboard_event_scan::$3 ] +Uplifting [keyboard_event_scan] best 12542335 combination reg byte a [ keyboard_event_scan::$3 ] Attempting to uplift remaining variables inzp ZP_BYTE:250 [ keyboard_event_pressed::return#2 ] -Uplifting [keyboard_event_pressed] best 12583360 combination reg byte a [ keyboard_event_pressed::return#2 ] +Uplifting [keyboard_event_pressed] best 12542329 combination reg byte a [ keyboard_event_pressed::return#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:251 [ keyboard_event_scan::$6 ] -Uplifting [keyboard_event_scan] best 12583354 combination reg byte a [ keyboard_event_scan::$6 ] +Uplifting [keyboard_event_scan] best 12542323 combination reg byte a [ keyboard_event_scan::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:252 [ keyboard_event_pressed::return#3 ] -Uplifting [keyboard_event_pressed] best 12583348 combination reg byte a [ keyboard_event_pressed::return#3 ] +Uplifting [keyboard_event_pressed] best 12542317 combination reg byte a [ keyboard_event_pressed::return#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:253 [ keyboard_event_scan::$9 ] -Uplifting [keyboard_event_scan] best 12583342 combination reg byte a [ keyboard_event_scan::$9 ] +Uplifting [keyboard_event_scan] best 12542311 combination reg byte a [ keyboard_event_scan::$9 ] Attempting to uplift remaining variables inzp ZP_BYTE:258 [ keyboard_event_pressed::$0 ] -Uplifting [keyboard_event_pressed] best 12583338 combination reg byte a [ keyboard_event_pressed::$0 ] +Uplifting [keyboard_event_pressed] best 12542307 combination reg byte a [ keyboard_event_pressed::$0 ] Attempting to uplift remaining variables inzp ZP_BYTE:260 [ keyboard_event_pressed::$1 ] -Uplifting [keyboard_event_pressed] best 12583334 combination reg byte a [ keyboard_event_pressed::$1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:273 [ form_field_ptr::x#0 ] -Uplifting [form_field_ptr] best 12583328 combination reg byte a [ form_field_ptr::x#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:280 [ form_control::$13 ] -Uplifting [form_control] best 12583322 combination reg byte a [ form_control::$13 ] -Attempting to uplift remaining variables inzp ZP_BYTE:281 [ keyboard_event_get::return#4 ] -Uplifting [keyboard_event_get] best 12583316 combination reg byte a [ keyboard_event_get::return#4 ] -Attempting to uplift remaining variables inzp ZP_BYTE:283 [ form_control::$15 ] -Uplifting [form_control] best 12583310 combination reg byte a [ form_control::$15 ] -Attempting to uplift remaining variables inzp ZP_BYTE:284 [ form_control::$16 ] -Uplifting [form_control] best 12583306 combination reg byte a [ form_control::$16 ] -Attempting to uplift remaining variables inzp ZP_BYTE:285 [ form_control::$24 ] -Uplifting [form_control] best 12583302 combination reg byte a [ form_control::$24 ] -Attempting to uplift remaining variables inzp ZP_BYTE:286 [ form_control::$14 ] -Uplifting [form_control] best 12583296 combination reg byte a [ form_control::$14 ] -Attempting to uplift remaining variables inzp ZP_BYTE:329 [ bitmap_plot::$1 ] -Uplifting [bitmap_plot] best 12583290 combination reg byte a [ bitmap_plot::$1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:282 [ form_control::key_event#0 ] -Uplifting [form_control] best 12583278 combination reg byte a [ form_control::key_event#0 ] +Uplifting [keyboard_event_pressed] best 12542303 combination reg byte a [ keyboard_event_pressed::$1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:270 [ form_control::$13 ] +Uplifting [form_control] best 12542297 combination reg byte a [ form_control::$13 ] +Attempting to uplift remaining variables inzp ZP_BYTE:271 [ keyboard_event_get::return#4 ] +Uplifting [keyboard_event_get] best 12542291 combination reg byte a [ keyboard_event_get::return#4 ] +Attempting to uplift remaining variables inzp ZP_BYTE:273 [ form_control::$15 ] +Uplifting [form_control] best 12542285 combination reg byte a [ form_control::$15 ] +Attempting to uplift remaining variables inzp ZP_BYTE:274 [ form_control::$16 ] +Uplifting [form_control] best 12542281 combination reg byte a [ form_control::$16 ] +Attempting to uplift remaining variables inzp ZP_BYTE:275 [ form_control::$24 ] +Uplifting [form_control] best 12542277 combination reg byte a [ form_control::$24 ] +Attempting to uplift remaining variables inzp ZP_BYTE:276 [ form_control::$14 ] +Uplifting [form_control] best 12542271 combination reg byte a [ form_control::$14 ] +Attempting to uplift remaining variables inzp ZP_BYTE:319 [ bitmap_plot::$1 ] +Uplifting [bitmap_plot] best 12542265 combination reg byte a [ bitmap_plot::$1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:272 [ form_control::key_event#0 ] +Uplifting [form_control] best 12542253 combination reg byte a [ form_control::key_event#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:4 [ gfx_mode::vic_control2#2 ] -Uplifting [gfx_mode] best 12583269 combination reg byte a [ gfx_mode::vic_control2#2 ] +Uplifting [gfx_mode] best 12542244 combination reg byte a [ gfx_mode::vic_control2#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] -Uplifting [keyboard_event_pressed] best 12583269 combination zp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:315 [ bitmap_line::y1#0 ] -Uplifting [bitmap_line] best 12583269 combination zp ZP_BYTE:315 [ bitmap_line::y1#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:314 [ bitmap_line::y0#0 ] -Uplifting [bitmap_line] best 12583269 combination zp ZP_BYTE:314 [ bitmap_line::y0#0 ] +Uplifting [keyboard_event_pressed] best 12542244 combination zp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:305 [ bitmap_line::y1#0 ] +Uplifting [bitmap_line] best 12542244 combination zp ZP_BYTE:305 [ bitmap_line::y1#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:304 [ bitmap_line::y0#0 ] +Uplifting [bitmap_line] best 12542244 combination zp ZP_BYTE:304 [ bitmap_line::y0#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:261 [ keyboard_event_pressed::return#10 ] -Uplifting [keyboard_event_pressed] best 12583254 combination reg byte a [ keyboard_event_pressed::return#10 ] +Uplifting [keyboard_event_pressed] best 12542229 combination reg byte a [ keyboard_event_pressed::return#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] -Uplifting [keyboard_event_pressed] best 12583254 combination zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] -Attempting to uplift remaining variables inzp ZP_BYTE:312 [ bitmap_line::x0#0 ] -Uplifting [bitmap_line] best 12583254 combination zp ZP_BYTE:312 [ bitmap_line::x0#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:317 [ bitmap_line::yd#2 ] -Uplifting [bitmap_line] best 12583244 combination reg byte y [ bitmap_line::yd#2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:318 [ bitmap_line::yd#1 ] -Uplifting [bitmap_line] best 12583234 combination reg byte y [ bitmap_line::yd#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:320 [ bitmap_line::yd#10 ] -Uplifting [bitmap_line] best 12583224 combination reg byte y [ bitmap_line::yd#10 ] -Attempting to uplift remaining variables inzp ZP_BYTE:321 [ bitmap_line::yd#11 ] -Uplifting [bitmap_line] best 12583214 combination reg byte y [ bitmap_line::yd#11 ] +Uplifting [keyboard_event_pressed] best 12542229 combination zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] +Attempting to uplift remaining variables inzp ZP_BYTE:302 [ bitmap_line::x0#0 ] +Uplifting [bitmap_line] best 12542229 combination zp ZP_BYTE:302 [ bitmap_line::x0#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:307 [ bitmap_line::yd#2 ] +Uplifting [bitmap_line] best 12542219 combination reg byte y [ bitmap_line::yd#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:308 [ bitmap_line::yd#1 ] +Uplifting [bitmap_line] best 12542209 combination reg byte y [ bitmap_line::yd#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:310 [ bitmap_line::yd#10 ] +Uplifting [bitmap_line] best 12542199 combination reg byte y [ bitmap_line::yd#10 ] +Attempting to uplift remaining variables inzp ZP_BYTE:311 [ bitmap_line::yd#11 ] +Uplifting [bitmap_line] best 12542189 combination reg byte y [ bitmap_line::yd#11 ] Attempting to uplift remaining variables inzp ZP_BYTE:159 [ gfx_mode::plane_a_offs#0 ] -Uplifting [gfx_mode] best 12583212 combination reg byte x [ gfx_mode::plane_a_offs#0 ] +Uplifting [gfx_mode] best 12542187 combination reg byte x [ gfx_mode::plane_a_offs#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:186 [ gfx_mode::plane_b_offs#0 ] -Uplifting [gfx_mode] best 12583210 combination reg byte x [ gfx_mode::plane_b_offs#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:316 [ bitmap_line::xd#2 ] -Uplifting [bitmap_line] best 12583210 combination zp ZP_BYTE:316 [ bitmap_line::xd#2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:319 [ bitmap_line::xd#1 ] -Uplifting [bitmap_line] best 12583210 combination zp ZP_BYTE:319 [ bitmap_line::xd#1 ] +Uplifting [gfx_mode] best 12542185 combination reg byte x [ gfx_mode::plane_b_offs#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:306 [ bitmap_line::xd#2 ] +Uplifting [bitmap_line] best 12542185 combination zp ZP_BYTE:306 [ bitmap_line::xd#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:309 [ bitmap_line::xd#1 ] +Uplifting [bitmap_line] best 12542185 combination zp ZP_BYTE:309 [ bitmap_line::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:220 [ gfx_mode::$56 ] -Uplifting [gfx_mode] best 12583210 combination zp ZP_BYTE:220 [ gfx_mode::$56 ] +Uplifting [gfx_mode] best 12542185 combination zp ZP_BYTE:220 [ gfx_mode::$56 ] Coalescing zero page register with common assignment [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 ] ] with [ zp ZP_WORD:231 [ get_vic_screen::return#11 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ get_vic_screen::return#5 ] ] with [ zp ZP_WORD:212 [ get_vic_screen::return#10 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:23 [ get_vic_charset::return#2 ] ] with [ zp ZP_WORD:222 [ get_vic_charset::return#4 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_DWORD:26 [ get_plane::return#14 ] ] with [ zp ZP_DWORD:160 [ get_plane::return#16 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_DWORD:26 [ get_plane::return#14 get_plane::return#16 ] ] with [ zp ZP_DWORD:187 [ get_plane::return#17 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:35 [ render_preset_name::name#13 ] ] with [ zp ZP_WORD:37 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] ] with [ zp ZP_WORD:303 [ gfx_init_plane_fill::$6 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] ] with [ zp ZP_BYTE:316 [ bitmap_line::xd#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 ] ] with [ zp ZP_BYTE:319 [ bitmap_line::xd#1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] ] with [ zp ZP_BYTE:312 [ bitmap_line::x0#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] ] with [ zp ZP_BYTE:314 [ bitmap_line::y0#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] ] with [ zp ZP_BYTE:315 [ bitmap_line::y1#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:124 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] ] with [ zp ZP_WORD:333 [ bitmap_clear::$3 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] ] with [ zp ZP_WORD:293 [ gfx_init_plane_fill::$6 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] ] with [ zp ZP_BYTE:306 [ bitmap_line::xd#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 ] ] with [ zp ZP_BYTE:309 [ bitmap_line::xd#1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] ] with [ zp ZP_BYTE:302 [ bitmap_line::x0#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] ] with [ zp ZP_BYTE:304 [ bitmap_line::y0#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] ] with [ zp ZP_BYTE:305 [ bitmap_line::y1#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:124 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] ] with [ zp ZP_WORD:323 [ bitmap_clear::$3 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_DWORD:164 [ gfx_mode::$22 ] ] with [ zp ZP_DWORD:168 [ gfx_mode::plane_a#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_DWORD:191 [ gfx_mode::$36 ] ] with [ zp ZP_DWORD:195 [ gfx_mode::plane_b#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:214 [ gfx_mode::$52 ] ] with [ zp ZP_WORD:216 [ gfx_mode::$54 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:224 [ gfx_mode::$57 ] ] with [ zp ZP_WORD:226 [ gfx_mode::$59 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:266 [ form_field_ptr::return#2 ] ] with [ zp ZP_WORD:268 [ form_render_values::field#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:266 [ form_field_ptr::return#2 form_render_values::field#0 ] ] with [ zp ZP_WORD:274 [ form_field_ptr::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:276 [ form_field_ptr::return#3 ] ] with [ zp ZP_WORD:278 [ form_control::field#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:299 [ gfx_init_plane_fill::$4 ] ] with [ zp ZP_WORD:301 [ gfx_init_plane_fill::$5 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:323 [ bitmap_plot::plotter_x#0 ] ] with [ zp ZP_WORD:327 [ bitmap_plot::$0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:289 [ gfx_init_plane_fill::$4 ] ] with [ zp ZP_WORD:291 [ gfx_init_plane_fill::$5 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:313 [ bitmap_plot::plotter_x#0 ] ] with [ zp ZP_WORD:317 [ bitmap_plot::$0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 bitmap_line::xd#1 ] ] with [ zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] ] - score: 2 Coalescing zero page register with common assignment [ zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] ] with [ zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] ] - score: 2 Coalescing zero page register with common assignment [ zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] ] with [ zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] ] - score: 2 @@ -20042,33 +20282,30 @@ Coalescing zero page register with common assignment [ zp ZP_WORD:6 [ gfx_mode:: Coalescing zero page register with common assignment [ zp ZP_WORD:23 [ get_vic_charset::return#2 get_vic_charset::return#4 ] ] with [ zp ZP_WORD:224 [ gfx_mode::$57 gfx_mode::$59 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_DWORD:26 [ get_plane::return#14 get_plane::return#16 get_plane::return#17 ] ] with [ zp ZP_DWORD:164 [ gfx_mode::$22 gfx_mode::plane_a#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_DWORD:26 [ get_plane::return#14 get_plane::return#16 get_plane::return#17 gfx_mode::$22 gfx_mode::plane_a#0 ] ] with [ zp ZP_DWORD:191 [ gfx_mode::$36 gfx_mode::plane_b#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 ] ] with [ zp ZP_WORD:299 [ gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 ] ] with [ zp ZP_WORD:289 [ gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 bitmap_line::x0#0 ] ] with [ zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 ] ] with [ zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] ] with [ zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:214 [ gfx_mode::$52 gfx_mode::$54 ] ] with [ zp ZP_WORD:218 [ gfx_mode::$55 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:266 [ form_field_ptr::return#2 form_render_values::field#0 form_field_ptr::return#0 ] ] with [ zp ZP_WORD:271 [ form_field_ptr::$2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:266 [ form_field_ptr::return#2 form_render_values::field#0 form_field_ptr::return#0 form_field_ptr::$2 ] ] with [ zp ZP_WORD:276 [ form_field_ptr::return#3 form_control::field#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 ] ] with [ zp ZP_WORD:214 [ gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 ] ] - score: 1 Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ] ] with [ zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] ] Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] ] with [ zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 ] ] with [ zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 ] ] with [ zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 ] ] with [ zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] ] with [ zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] ] with [ zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] ] with [ zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] ] with [ zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] ] with [ zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] ] with [ zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 ] ] with [ zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 ] ] with [ zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] ] with [ zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] ] with [ zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] ] with [ zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] ] with [ zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] ] with [ zp ZP_BYTE:220 [ gfx_mode::$56 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 gfx_mode::$56 ] ] with [ zp ZP_BYTE:336 [ bitmap_init::$6 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 ] ] with [ zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 ] ] with [ zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] ] with [ zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] ] with [ zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] ] with [ zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] ] with [ zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] ] with [ zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] ] with [ zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 ] ] with [ zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 ] ] with [ zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] ] with [ zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] ] with [ zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] ] with [ zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] ] with [ zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] ] with [ zp ZP_BYTE:220 [ gfx_mode::$56 ] ] +Coalescing zero page register [ zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 gfx_mode::$56 ] ] with [ zp ZP_BYTE:326 [ bitmap_init::$6 ] ] Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 ] ] with [ zp ZP_WORD:23 [ get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 ] ] Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 ] ] with [ zp ZP_WORD:35 [ render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] ] Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] ] with [ zp ZP_WORD:43 [ apply_preset::preset#14 ] ] @@ -20095,16 +20332,16 @@ Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode:: Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 ] ] with [ zp ZP_WORD:199 [ gfx_mode::$38 ] ] Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 ] ] with [ zp ZP_WORD:202 [ gfx_mode::$40 ] ] Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 ] ] with [ zp ZP_WORD:205 [ gfx_mode::$42 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 ] ] with [ zp ZP_WORD:266 [ form_field_ptr::return#2 form_render_values::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#3 form_control::field#0 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::return#2 form_render_values::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#3 form_control::field#0 ] ] with [ zp ZP_WORD:296 [ gfx_init_plane_fill::$1 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::return#2 form_render_values::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#3 form_control::field#0 gfx_init_plane_fill::$1 ] ] with [ zp ZP_WORD:323 [ bitmap_plot::plotter_x#0 bitmap_plot::$0 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 ] ] with [ zp ZP_WORD:267 [ form_field_ptr::$2 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::$2 ] ] with [ zp ZP_WORD:286 [ gfx_init_plane_fill::$1 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::$2 gfx_init_plane_fill::$1 ] ] with [ zp ZP_WORD:313 [ bitmap_plot::plotter_x#0 bitmap_plot::$0 ] ] Coalescing zero page register [ zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 ] ] with [ zp ZP_WORD:39 [ print_str_at::at#2 print_str_at::at#0 ] ] Coalescing zero page register [ zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 ] ] with [ zp ZP_WORD:52 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 ] ] Coalescing zero page register [ zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 ] ] with [ zp ZP_WORD:85 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] ] Coalescing zero page register [ zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] ] with [ zp ZP_WORD:94 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] ] Coalescing zero page register [ zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] ] with [ zp ZP_WORD:135 [ gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] ] -Coalescing zero page register [ zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] ] with [ zp ZP_WORD:290 [ print_cls::$0 ] ] -Coalescing zero page register [ zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 print_cls::$0 ] ] with [ zp ZP_WORD:325 [ bitmap_plot::plotter_y#0 ] ] +Coalescing zero page register [ zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] ] with [ zp ZP_WORD:280 [ print_cls::$0 ] ] +Coalescing zero page register [ zp ZP_WORD:8 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 print_cls::$0 ] ] with [ zp ZP_WORD:315 [ bitmap_plot::plotter_y#0 ] ] Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 ] ] with [ zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] ] Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] ] with [ zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] ] Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] ] with [ zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] ] @@ -20112,9 +20349,9 @@ Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] ] with [ zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] ] Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] ] with [ zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] ] Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] ] with [ zp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] ] -Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 keyboard_event_pressed::row_bits#0 ] ] with [ zp ZP_BYTE:342 [ gfx_init_screen3::$1 ] ] -Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 keyboard_event_pressed::row_bits#0 gfx_init_screen3::$1 ] ] with [ zp ZP_BYTE:347 [ gfx_init_screen2::col2#0 ] ] -Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 keyboard_event_pressed::row_bits#0 gfx_init_screen3::$1 gfx_init_screen2::col2#0 ] ] with [ zp ZP_BYTE:353 [ gfx_init_screen0::$1 ] ] +Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 keyboard_event_pressed::row_bits#0 ] ] with [ zp ZP_BYTE:332 [ gfx_init_screen3::$1 ] ] +Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 keyboard_event_pressed::row_bits#0 gfx_init_screen3::$1 ] ] with [ zp ZP_BYTE:337 [ gfx_init_screen2::col2#0 ] ] +Coalescing zero page register [ zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 keyboard_event_pressed::row_bits#0 gfx_init_screen3::$1 gfx_init_screen2::col2#0 ] ] with [ zp ZP_BYTE:343 [ gfx_init_screen0::$1 ] ] Coalescing zero page register [ zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 ] ] with [ zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] ] Coalescing zero page register [ zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] ] with [ zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] ] Coalescing zero page register [ zp ZP_DWORD:26 [ get_plane::return#14 get_plane::return#16 get_plane::return#17 gfx_mode::$22 gfx_mode::plane_a#0 gfx_mode::$36 gfx_mode::plane_b#0 ] ] with [ zp ZP_DWORD:58 [ gfx_init_plane_fill::plane_addr#3 ] ] @@ -20127,12 +20364,12 @@ Coalescing zero page register [ zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx Coalescing zero page register [ zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] ] with [ zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] ] Coalescing zero page register [ zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] ] with [ zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] ] Coalescing zero page register [ zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] ] with [ zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] ] -Coalescing zero page register [ zp ZP_WORD:54 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] ] with [ zp ZP_WORD:309 [ gfx_init_plane_8bppchunky::$9 ] ] +Coalescing zero page register [ zp ZP_WORD:54 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] ] with [ zp ZP_WORD:299 [ gfx_init_plane_8bppchunky::$9 ] ] Coalescing zero page register [ zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] ] with [ zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 ] ] Coalescing zero page register [ zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 ] ] with [ zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] ] Coalescing zero page register [ zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] ] with [ zp ZP_BYTE:245 [ keyboard_event_scan::row_scan#0 ] ] -Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:2 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 gfx_mode::$56 bitmap_init::$6 ] -Allocated (was zp ZP_WORD:6) zp ZP_WORD:3 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::return#2 form_render_values::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#3 form_control::field#0 gfx_init_plane_fill::$1 bitmap_plot::plotter_x#0 bitmap_plot::$0 ] +Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:2 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 gfx_mode::$56 bitmap_init::$6 ] +Allocated (was zp ZP_WORD:6) zp ZP_WORD:3 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::$2 gfx_init_plane_fill::$1 bitmap_plot::plotter_x#0 bitmap_plot::$0 ] Allocated (was zp ZP_WORD:8) zp ZP_WORD:5 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 print_cls::$0 bitmap_plot::plotter_y#0 ] Allocated (was zp ZP_BYTE:17) zp ZP_BYTE:7 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 keyboard_event_pressed::row_bits#0 gfx_init_screen3::$1 gfx_init_screen2::col2#0 gfx_init_screen0::$1 ] Allocated (was zp ZP_BYTE:18) zp ZP_BYTE:8 [ keyboard_events_size#18 keyboard_events_size#119 keyboard_events_size#110 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#118 keyboard_events_size#1 keyboard_events_size#2 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] @@ -20142,7 +20379,8 @@ Allocated (was zp ZP_BYTE:32) zp ZP_BYTE:14 [ form_field_idx#28 form_field_idx#1 Allocated (was zp ZP_BYTE:33) zp ZP_BYTE:15 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] Allocated (was zp ZP_WORD:54) zp ZP_WORD:16 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 gfx_init_plane_8bppchunky::$9 ] Allocated (was zp ZP_BYTE:102) zp ZP_BYTE:18 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 keyboard_event_scan::row_scan#0 ] -Allocated (was zp ZP_DWORD:292) zp ZP_DWORD:19 [ gfx_init_plane_fill::$0 ] +Allocated (was zp ZP_BYTE:269) zp ZP_BYTE:19 [ form_field_ptr::x#0 ] +Allocated (was zp ZP_DWORD:282) zp ZP_DWORD:20 [ gfx_init_plane_fill::$0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 File Comments @@ -20358,7 +20596,7 @@ main: { //SEG16 main::@3 b3: //SEG17 [10] call gfx_init - //SEG18 [449] phi from main::@3 to gfx_init [phi:main::@3->gfx_init] + //SEG18 [444] phi from main::@3 to gfx_init [phi:main::@3->gfx_init] gfx_init_from_b3: jsr gfx_init //SEG19 [11] phi from main::@3 to main::@1 [phi:main::@3->main::@1] @@ -21795,9 +22033,9 @@ get_plane: { form_mode: { .label preset_current = $f //SEG484 [255] call print_set_screen - //SEG485 [447] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] + //SEG485 [442] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] print_set_screen_from_form_mode: - //SEG486 [447] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 + //SEG486 [442] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 lda #COLS @@ -21816,9 +22054,9 @@ form_mode: { //SEG491 form_mode::@9 b9: //SEG492 [259] call print_str_lines - //SEG493 [419] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] + //SEG493 [414] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] print_str_lines_from_b9: - //SEG494 [419] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_COLS#0 [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 + //SEG494 [414] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_COLS#0 [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_COLS @@ -21830,9 +22068,9 @@ form_mode: { //SEG496 form_mode::@10 b10: //SEG497 [261] call print_set_screen - //SEG498 [447] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] + //SEG498 [442] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] print_set_screen_from_b10: - //SEG499 [447] phi (byte*) print_set_screen::screen#2 = (const byte*) FORM_SCREEN#0 [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 + //SEG499 [442] phi (byte*) print_set_screen::screen#2 = (const byte*) FORM_SCREEN#0 [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 lda #FORM_SCREEN @@ -21851,9 +22089,9 @@ form_mode: { //SEG504 form_mode::@12 b12: //SEG505 [265] call print_str_lines - //SEG506 [419] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] + //SEG506 [414] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] print_str_lines_from_b12: - //SEG507 [419] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_TEXT#0 [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 + //SEG507 [414] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_TEXT#0 [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_TEXT @@ -21865,7 +22103,7 @@ form_mode: { //SEG509 form_mode::@13 b13: //SEG510 [267] call form_set_screen - //SEG511 [409] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] + //SEG511 [404] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] form_set_screen_from_b13: jsr form_set_screen //SEG512 [268] phi from form_mode::@13 to form_mode::@14 [phi:form_mode::@13->form_mode::@14] @@ -22288,13 +22526,10 @@ print_str_at: { //SEG648 form_render_values // Render all form values from the form_fields_val array form_render_values: { - .label field = 3 - .label idx = 2 //SEG649 [331] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] b1_from_form_render_values: - //SEG650 [331] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuz1=vbuc1 - lda #0 - sta idx + //SEG650 [331] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 + ldx #0 jmp b1 //SEG651 [331] phi from form_render_values::@2 to form_render_values::@1 [phi:form_render_values::@2->form_render_values::@1] b1_from_b2: @@ -22302,288 +22537,275 @@ form_render_values: { jmp b1 //SEG653 form_render_values::@1 b1: - //SEG654 [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 -- vbuyy=vbuz1 - ldy idx + //SEG654 [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 //SEG655 [333] call form_field_ptr - //SEG656 [340] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //SEG656 [338] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] form_field_ptr_from_b1: - //SEG657 [340] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy + //SEG657 [338] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG658 [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 jmp b2 - //SEG659 form_render_values::@2 + //SEG658 form_render_values::@2 b2: - //SEG660 [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 - //SEG661 [336] *((byte*) form_render_values::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 - ldx idx + //SEG659 [334] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuxx ldy form_fields_val,x lda print_hextab,y - ldy #0 - sta (field),y - //SEG662 [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 - inc idx - //SEG663 [338] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 -- vbuz1_lt_vbuc1_then_la1 - lda idx - cmp #form_fields_cnt + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG660 [335] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuxx=_inc_vbuxx + inx + //SEG661 [336] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 -- vbuxx_lt_vbuc1_then_la1 + cpx #form_fields_cnt bcc b1_from_b2 jmp breturn - //SEG664 form_render_values::@return + //SEG662 form_render_values::@return breturn: - //SEG665 [339] return + //SEG663 [337] return rts } -//SEG666 form_field_ptr +//SEG664 form_field_ptr // Get the screen address of a form field // field_idx is the index of the field to get the screen address for -// form_field_ptr(byte register(Y) field_idx) +// form_field_ptr(byte register(X) field_idx) form_field_ptr: { - .label return = 3 + .label x = $13 .label _2 = 3 - //SEG667 [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuxx=pbuc1_derefidx_vbuyy - ldx form_fields_y,y - //SEG668 [342] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx - lda form_line_hi,x + //SEG665 [339] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuxx + lda form_fields_y,x + //SEG666 [340] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuaa_word_pbuc2_derefidx_vbuaa + tay + lda form_line_hi,y sta _2+1 - lda form_line_lo,x + lda form_line_lo,y sta _2 - //SEG669 [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuyy - lda form_fields_x,y - //SEG670 [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz1_plus_vbuaa - clc - adc return - sta return - bcc !+ - inc return+1 - !: + //SEG667 [341] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuxx + lda form_fields_x,x + sta x jmp breturn - //SEG671 form_field_ptr::@return + //SEG668 form_field_ptr::@return breturn: - //SEG672 [345] return + //SEG669 [342] return rts } -//SEG673 apply_preset +//SEG670 apply_preset // Apply a form value preset to the form values // idx is the ID of the preset // apply_preset(byte register(A) idx) apply_preset: { .label preset = 3 - //SEG674 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 -- vbuaa_eq_0_then_la1 + //SEG671 [343] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 -- vbuaa_eq_0_then_la1 cmp #0 beq b1_from_apply_preset jmp b2 - //SEG675 apply_preset::@2 + //SEG672 apply_preset::@2 b2: - //SEG676 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG673 [344] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq b1_from_b2 jmp b3 - //SEG677 apply_preset::@3 + //SEG674 apply_preset::@3 b3: - //SEG678 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG675 [345] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq b1_from_b3 jmp b4 - //SEG679 apply_preset::@4 + //SEG676 apply_preset::@4 b4: - //SEG680 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG677 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq b1_from_b4 jmp b5 - //SEG681 apply_preset::@5 + //SEG678 apply_preset::@5 b5: - //SEG682 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG679 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #4 beq b1_from_b5 jmp b6 - //SEG683 apply_preset::@6 + //SEG680 apply_preset::@6 b6: - //SEG684 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG681 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #5 beq b1_from_b6 jmp b7 - //SEG685 apply_preset::@7 + //SEG682 apply_preset::@7 b7: - //SEG686 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG683 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #6 beq b1_from_b7 jmp b8 - //SEG687 apply_preset::@8 + //SEG684 apply_preset::@8 b8: - //SEG688 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG685 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #7 beq b1_from_b8 jmp b9 - //SEG689 apply_preset::@9 + //SEG686 apply_preset::@9 b9: - //SEG690 [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG687 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #8 beq b1_from_b9 jmp b10 - //SEG691 apply_preset::@10 + //SEG688 apply_preset::@10 b10: - //SEG692 [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG689 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq b1_from_b10 jmp b11 - //SEG693 apply_preset::@11 + //SEG690 apply_preset::@11 b11: - //SEG694 [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG691 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq b1_from_b11 - //SEG695 [357] phi from apply_preset::@11 to apply_preset::@12 [phi:apply_preset::@11->apply_preset::@12] + //SEG692 [354] phi from apply_preset::@11 to apply_preset::@12 [phi:apply_preset::@11->apply_preset::@12] b12_from_b11: jmp b12 - //SEG696 apply_preset::@12 + //SEG693 apply_preset::@12 b12: - //SEG697 [358] phi from apply_preset apply_preset::@12 to apply_preset::@1 [phi:apply_preset/apply_preset::@12->apply_preset::@1] + //SEG694 [355] phi from apply_preset apply_preset::@12 to apply_preset::@1 [phi:apply_preset/apply_preset::@12->apply_preset::@1] b1_from_apply_preset: b1_from_b12: - //SEG698 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@12->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG695 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@12->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_stdchar sta preset+1 jmp b1 - //SEG699 [358] phi from apply_preset::@10 to apply_preset::@1 [phi:apply_preset::@10->apply_preset::@1] + //SEG696 [355] phi from apply_preset::@10 to apply_preset::@1 [phi:apply_preset::@10->apply_preset::@1] b1_from_b10: - //SEG700 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@10->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG697 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@10->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_sixsfred2 sta preset+1 jmp b1 - //SEG701 [358] phi from apply_preset::@11 to apply_preset::@1 [phi:apply_preset::@11->apply_preset::@1] + //SEG698 [355] phi from apply_preset::@11 to apply_preset::@1 [phi:apply_preset::@11->apply_preset::@1] b1_from_b11: - //SEG702 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@11->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG699 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@11->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_8bpppixelcell sta preset+1 jmp b1 - //SEG703 [358] phi from apply_preset::@2 to apply_preset::@1 [phi:apply_preset::@2->apply_preset::@1] + //SEG700 [355] phi from apply_preset::@2 to apply_preset::@1 [phi:apply_preset::@2->apply_preset::@1] b1_from_b2: - //SEG704 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@2->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG701 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@2->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_ecmchar sta preset+1 jmp b1 - //SEG705 [358] phi from apply_preset::@3 to apply_preset::@1 [phi:apply_preset::@3->apply_preset::@1] + //SEG702 [355] phi from apply_preset::@3 to apply_preset::@1 [phi:apply_preset::@3->apply_preset::@1] b1_from_b3: - //SEG706 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@3->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG703 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@3->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_stdbm sta preset+1 jmp b1 - //SEG707 [358] phi from apply_preset::@4 to apply_preset::@1 [phi:apply_preset::@4->apply_preset::@1] + //SEG704 [355] phi from apply_preset::@4 to apply_preset::@1 [phi:apply_preset::@4->apply_preset::@1] b1_from_b4: - //SEG708 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@4->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG705 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@4->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_mcbm sta preset+1 jmp b1 - //SEG709 [358] phi from apply_preset::@5 to apply_preset::@1 [phi:apply_preset::@5->apply_preset::@1] + //SEG706 [355] phi from apply_preset::@5 to apply_preset::@1 [phi:apply_preset::@5->apply_preset::@1] b1_from_b5: - //SEG710 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@5->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG707 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@5->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_hi_stdchar sta preset+1 jmp b1 - //SEG711 [358] phi from apply_preset::@6 to apply_preset::@1 [phi:apply_preset::@6->apply_preset::@1] + //SEG708 [355] phi from apply_preset::@6 to apply_preset::@1 [phi:apply_preset::@6->apply_preset::@1] b1_from_b6: - //SEG712 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@6->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG709 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@6->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_hi_ecmchar sta preset+1 jmp b1 - //SEG713 [358] phi from apply_preset::@7 to apply_preset::@1 [phi:apply_preset::@7->apply_preset::@1] + //SEG710 [355] phi from apply_preset::@7 to apply_preset::@1 [phi:apply_preset::@7->apply_preset::@1] b1_from_b7: - //SEG714 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@7->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG711 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@7->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_twoplane sta preset+1 jmp b1 - //SEG715 [358] phi from apply_preset::@8 to apply_preset::@1 [phi:apply_preset::@8->apply_preset::@1] + //SEG712 [355] phi from apply_preset::@8 to apply_preset::@1 [phi:apply_preset::@8->apply_preset::@1] b1_from_b8: - //SEG716 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_chunky#0 [phi:apply_preset::@8->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG713 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_chunky#0 [phi:apply_preset::@8->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_chunky sta preset+1 jmp b1 - //SEG717 [358] phi from apply_preset::@9 to apply_preset::@1 [phi:apply_preset::@9->apply_preset::@1] + //SEG714 [355] phi from apply_preset::@9 to apply_preset::@1 [phi:apply_preset::@9->apply_preset::@1] b1_from_b9: - //SEG718 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@9->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG715 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@9->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_sixsfred sta preset+1 jmp b1 - //SEG719 apply_preset::@1 + //SEG716 apply_preset::@1 b1: - //SEG720 [359] phi from apply_preset::@1 to apply_preset::@13 [phi:apply_preset::@1->apply_preset::@13] + //SEG717 [356] phi from apply_preset::@1 to apply_preset::@13 [phi:apply_preset::@1->apply_preset::@13] b13_from_b1: - //SEG721 [359] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@1->apply_preset::@13#0] -- vbuyy=vbuc1 + //SEG718 [356] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@1->apply_preset::@13#0] -- vbuyy=vbuc1 ldy #0 jmp b13 // Copy preset values into the fields - //SEG722 [359] phi from apply_preset::@13 to apply_preset::@13 [phi:apply_preset::@13->apply_preset::@13] + //SEG719 [356] phi from apply_preset::@13 to apply_preset::@13 [phi:apply_preset::@13->apply_preset::@13] b13_from_b13: - //SEG723 [359] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@13->apply_preset::@13#0] -- register_copy + //SEG720 [356] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@13->apply_preset::@13#0] -- register_copy jmp b13 - //SEG724 apply_preset::@13 + //SEG721 apply_preset::@13 b13: - //SEG725 [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy + //SEG722 [357] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy lda (preset),y sta form_fields_val,y - //SEG726 [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy + //SEG723 [358] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy iny - //SEG727 [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 -- vbuyy_neq_vbuc1_then_la1 + //SEG724 [359] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 -- vbuyy_neq_vbuc1_then_la1 cpy #form_fields_cnt bne b13_from_b13 jmp breturn - //SEG728 apply_preset::@return + //SEG725 apply_preset::@return breturn: - //SEG729 [363] return + //SEG726 [360] return rts } -//SEG730 form_control +//SEG727 form_control // Reads keyboard and allows the user to navigate and change the fields of the form // Returns 0 if space is not pressed, non-0 if space is pressed form_control: { - .label field = 3 - //SEG731 [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuyy=vbuz1 - ldy form_field_idx - //SEG732 [365] call form_field_ptr - //SEG733 [340] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG728 [361] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuxx=vbuz1 + ldx form_field_idx + //SEG729 [362] call form_field_ptr + //SEG730 [338] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - //SEG734 [340] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + //SEG731 [338] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG735 [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 jmp b17 - //SEG736 form_control::@17 + //SEG732 form_control::@17 b17: - //SEG737 [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 - //SEG738 [368] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 + //SEG733 [363] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG739 [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 -- vbsz1_ge_0_then_la1 + //SEG734 [364] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b20_from_b17 - //SEG740 [370] phi from form_control::@17 to form_control::@1 [phi:form_control::@17->form_control::@1] + //SEG735 [365] phi from form_control::@17 to form_control::@1 [phi:form_control::@17->form_control::@1] b1_from_b17: - //SEG741 [370] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@17->form_control::@1#0] -- vbsz1=vbsc1 + //SEG736 [365] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@17->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count jmp b1 - //SEG742 form_control::@1 + //SEG737 form_control::@1 b1: - //SEG743 [371] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 -- vbsz1_lt_vbuc1_then_la1 + //SEG738 [366] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 -- vbsz1_lt_vbuc1_then_la1 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -22592,256 +22814,256 @@ form_control: { !: bmi b2 jmp b6 - //SEG744 form_control::@6 + //SEG739 form_control::@6 b6: - //SEG745 [372] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG740 [367] (byte~) form_control::$13 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuaa=pbuz1_derefidx_vbuz2_band_vbuc1 lda #$7f - ldy #0 - and (field),y - //SEG746 [373] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- _deref_pbuz1=vbuaa - ldy #0 - sta (field),y - //SEG747 [374] phi from form_control::@2 form_control::@6 to form_control::@3 [phi:form_control::@2/form_control::@6->form_control::@3] + ldy form_field_ptr.x + and (form_field_ptr._2),y + //SEG741 [368] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$13 -- pbuz1_derefidx_vbuz2=vbuaa + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG742 [369] phi from form_control::@2 form_control::@6 to form_control::@3 [phi:form_control::@2/form_control::@6->form_control::@3] b3_from_b2: b3_from_b6: jmp b3 - //SEG748 form_control::@3 + //SEG743 form_control::@3 b3: - //SEG749 [375] call keyboard_event_scan - //SEG750 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + //SEG744 [370] call keyboard_event_scan + //SEG745 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] keyboard_event_scan_from_b3: - //SEG751 [159] phi (byte) keyboard_events_size#110 = (byte) keyboard_events_size#47 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy + //SEG746 [159] phi (byte) keyboard_events_size#110 = (byte) keyboard_events_size#47 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy jsr keyboard_event_scan - //SEG752 [376] phi from form_control::@3 to form_control::@18 [phi:form_control::@3->form_control::@18] + //SEG747 [371] phi from form_control::@3 to form_control::@18 [phi:form_control::@3->form_control::@18] b18_from_b3: jmp b18 - //SEG753 form_control::@18 + //SEG748 form_control::@18 b18: - //SEG754 [377] call keyboard_event_get + //SEG749 [372] call keyboard_event_get jsr keyboard_event_get - //SEG755 [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + //SEG750 [373] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 jmp b19 - //SEG756 form_control::@19 + //SEG751 form_control::@19 b19: - //SEG757 [379] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 - //SEG758 [380] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 + //SEG752 [374] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 + //SEG753 [375] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_DOWN bne b4 jmp b7 - //SEG759 form_control::@7 + //SEG754 form_control::@7 b7: - //SEG760 [381] (byte~) form_control::$15 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG755 [376] (byte~) form_control::$15 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuaa=pbuz1_derefidx_vbuz2_band_vbuc1 lda #$7f - ldy #0 - and (field),y - //SEG761 [382] *((byte*) form_control::field#0) ← (byte~) form_control::$15 -- _deref_pbuz1=vbuaa + ldy form_field_ptr.x + and (form_field_ptr._2),y + //SEG756 [377] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$15 -- pbuz1_derefidx_vbuz2=vbuaa // Unblink the cursor - ldy #0 - sta (field),y - //SEG762 [383] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuxx_band_vbuc1 + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG757 [378] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuxx_band_vbuc1 txa and #KEY_MODIFIER_SHIFT - //SEG763 [384] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 -- vbuaa_eq_0_then_la1 + //SEG758 [379] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 -- vbuaa_eq_0_then_la1 cmp #0 beq b12 jmp b8 - //SEG764 form_control::@8 + //SEG759 form_control::@8 b8: - //SEG765 [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuz1=_dec_vbuz1 + //SEG760 [380] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG766 [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 -- vbuz1_neq_vbuc1_then_la1 + //SEG761 [381] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 -- vbuz1_neq_vbuc1_then_la1 lda #$ff cmp form_field_idx bne b21_from_b8 - //SEG767 [387] phi from form_control::@8 to form_control::@13 [phi:form_control::@8->form_control::@13] + //SEG762 [382] phi from form_control::@8 to form_control::@13 [phi:form_control::@8->form_control::@13] b13_from_b8: - //SEG768 [387] phi (byte) form_field_idx#31 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@8->form_control::@13#0] -- vbuz1=vbuc1 + //SEG763 [382] phi (byte) form_field_idx#31 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@8->form_control::@13#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx jmp b13 - //SEG769 form_control::@13 + //SEG764 form_control::@13 b13: - //SEG770 [388] phi from form_control::@13 to form_control::@return [phi:form_control::@13->form_control::@return] + //SEG765 [383] phi from form_control::@13 to form_control::@return [phi:form_control::@13->form_control::@return] breturn_from_b13: - //SEG771 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#31 [phi:form_control::@13->form_control::@return#0] -- register_copy - //SEG772 [388] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@13->form_control::@return#1] -- vbsz1=vbuc1 + //SEG766 [383] phi (byte) form_field_idx#18 = (byte) form_field_idx#31 [phi:form_control::@13->form_control::@return#0] -- register_copy + //SEG767 [383] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@13->form_control::@return#1] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count - //SEG773 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@13->form_control::@return#2] -- vbuxx=vbuc1 + //SEG768 [383] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@13->form_control::@return#2] -- vbuxx=vbuc1 ldx #0 jmp breturn - //SEG774 form_control::@return + //SEG769 form_control::@return breturn: - //SEG775 [389] return + //SEG770 [384] return rts - //SEG776 [390] phi from form_control::@8 to form_control::@21 [phi:form_control::@8->form_control::@21] + //SEG771 [385] phi from form_control::@8 to form_control::@21 [phi:form_control::@8->form_control::@21] b21_from_b8: jmp b21 - //SEG777 form_control::@21 + //SEG772 form_control::@21 b21: - //SEG778 [387] phi from form_control::@21 form_control::@22 to form_control::@13 [phi:form_control::@21/form_control::@22->form_control::@13] + //SEG773 [382] phi from form_control::@21 form_control::@22 to form_control::@13 [phi:form_control::@21/form_control::@22->form_control::@13] b13_from_b21: b13_from_b22: - //SEG779 [387] phi (byte) form_field_idx#31 = (byte) form_field_idx#44 [phi:form_control::@21/form_control::@22->form_control::@13#0] -- register_copy + //SEG774 [382] phi (byte) form_field_idx#31 = (byte) form_field_idx#44 [phi:form_control::@21/form_control::@22->form_control::@13#0] -- register_copy jmp b13 - //SEG780 form_control::@12 + //SEG775 form_control::@12 b12: - //SEG781 [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuz1=_inc_vbuz1 + //SEG776 [386] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG782 [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 + //SEG777 [387] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 lda #form_fields_cnt cmp form_field_idx bne b22_from_b12 - //SEG783 [387] phi from form_control::@12 to form_control::@13 [phi:form_control::@12->form_control::@13] + //SEG778 [382] phi from form_control::@12 to form_control::@13 [phi:form_control::@12->form_control::@13] b13_from_b12: - //SEG784 [387] phi (byte) form_field_idx#31 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@12->form_control::@13#0] -- vbuz1=vbuc1 + //SEG779 [382] phi (byte) form_field_idx#31 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@12->form_control::@13#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx jmp b13 - //SEG785 [393] phi from form_control::@12 to form_control::@22 [phi:form_control::@12->form_control::@22] + //SEG780 [388] phi from form_control::@12 to form_control::@22 [phi:form_control::@12->form_control::@22] b22_from_b12: jmp b22 - //SEG786 form_control::@22 + //SEG781 form_control::@22 b22: jmp b13_from_b22 - //SEG787 form_control::@4 + //SEG782 form_control::@4 b4: - //SEG788 [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 -- vbuaa_neq_vbuc1_then_la1 + //SEG783 [389] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_RIGHT bne b5 jmp b9 - //SEG789 form_control::@9 + //SEG784 form_control::@9 b9: - //SEG790 [395] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuxx_band_vbuc1 + //SEG785 [390] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuxx_band_vbuc1 txa and #KEY_MODIFIER_SHIFT - //SEG791 [396] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 -- vbuaa_eq_0_then_la1 + //SEG786 [391] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 -- vbuaa_eq_0_then_la1 cmp #0 beq b14 jmp b10 - //SEG792 form_control::@10 + //SEG787 form_control::@10 b10: - //SEG793 [397] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + //SEG788 [392] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx form_field_idx dec form_fields_val,x - //SEG794 [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG789 [393] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 lda #$ff ldy form_field_idx cmp form_fields_val,y bne b15 jmp b11 - //SEG795 form_control::@11 + //SEG790 form_control::@11 b11: - //SEG796 [399] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + //SEG791 [394] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy form_field_idx lda form_fields_max,y sta form_fields_val,y jmp b15 - //SEG797 form_control::@15 + //SEG792 form_control::@15 b15: - //SEG798 [400] *((byte*) form_control::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG793 [395] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuz3 // Render field value ldx form_field_idx ldy form_fields_val,x lda print_hextab,y - ldy #0 - sta (field),y - //SEG799 [388] phi from form_control::@15 form_control::@23 to form_control::@return [phi:form_control::@15/form_control::@23->form_control::@return] + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG794 [383] phi from form_control::@15 form_control::@23 to form_control::@return [phi:form_control::@15/form_control::@23->form_control::@return] breturn_from_b15: breturn_from_b23: - //SEG800 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@15/form_control::@23->form_control::@return#0] -- register_copy - //SEG801 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@15/form_control::@23->form_control::@return#1] -- register_copy - //SEG802 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@15/form_control::@23->form_control::@return#2] -- vbuxx=vbuc1 + //SEG795 [383] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@15/form_control::@23->form_control::@return#0] -- register_copy + //SEG796 [383] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@15/form_control::@23->form_control::@return#1] -- register_copy + //SEG797 [383] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@15/form_control::@23->form_control::@return#2] -- vbuxx=vbuc1 ldx #0 jmp breturn - //SEG803 form_control::@14 + //SEG798 form_control::@14 b14: - //SEG804 [401] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + //SEG799 [396] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx form_field_idx inc form_fields_val,x - //SEG805 [402] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //SEG800 [397] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b15 beq b15 jmp b16 - //SEG806 form_control::@16 + //SEG801 form_control::@16 b16: - //SEG807 [403] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG802 [398] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 ldy form_field_idx sta form_fields_val,y jmp b15 - //SEG808 form_control::@5 + //SEG803 form_control::@5 b5: - //SEG809 [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 -- vbuaa_neq_vbuc1_then_la1 + //SEG804 [399] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_SPACE bne b23_from_b5 - //SEG810 [388] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] + //SEG805 [383] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] breturn_from_b5: - //SEG811 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@5->form_control::@return#0] -- register_copy - //SEG812 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@5->form_control::@return#1] -- register_copy - //SEG813 [388] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) $ff [phi:form_control::@5->form_control::@return#2] -- vbuxx=vbuc1 + //SEG806 [383] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@5->form_control::@return#0] -- register_copy + //SEG807 [383] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@5->form_control::@return#1] -- register_copy + //SEG808 [383] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) $ff [phi:form_control::@5->form_control::@return#2] -- vbuxx=vbuc1 ldx #$ff jmp breturn - //SEG814 [405] phi from form_control::@5 to form_control::@23 [phi:form_control::@5->form_control::@23] + //SEG809 [400] phi from form_control::@5 to form_control::@23 [phi:form_control::@5->form_control::@23] b23_from_b5: jmp b23 - //SEG815 form_control::@23 + //SEG810 form_control::@23 b23: jmp breturn_from_b23 - //SEG816 form_control::@2 + //SEG811 form_control::@2 b2: - //SEG817 [406] (byte/word/dword~) form_control::$14 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) $80 -- vbuaa=_deref_pbuz1_bor_vbuc1 + //SEG812 [401] (byte/word/dword~) form_control::$14 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) | (byte/word/signed word/dword/signed dword) $80 -- vbuaa=pbuz1_derefidx_vbuz2_bor_vbuc1 lda #$80 - ldy #0 - ora (field),y - //SEG818 [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$14 -- _deref_pbuz1=vbuaa - ldy #0 - sta (field),y + ldy form_field_ptr.x + ora (form_field_ptr._2),y + //SEG813 [402] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte/word/dword~) form_control::$14 -- pbuz1_derefidx_vbuz2=vbuaa + ldy form_field_ptr.x + sta (form_field_ptr._2),y jmp b3_from_b2 - //SEG819 [408] phi from form_control::@17 to form_control::@20 [phi:form_control::@17->form_control::@20] + //SEG814 [403] phi from form_control::@17 to form_control::@20 [phi:form_control::@17->form_control::@20] b20_from_b17: jmp b20 - //SEG820 form_control::@20 + //SEG815 form_control::@20 b20: - //SEG821 [370] phi from form_control::@20 to form_control::@1 [phi:form_control::@20->form_control::@1] + //SEG816 [365] phi from form_control::@20 to form_control::@1 [phi:form_control::@20->form_control::@1] b1_from_b20: - //SEG822 [370] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@20->form_control::@1#0] -- register_copy + //SEG817 [365] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@20->form_control::@1#0] -- register_copy jmp b1 } -//SEG823 form_set_screen +//SEG818 form_set_screen // Set the screen to use for the form. // screen is the start address of the screen to use form_set_screen: { .label line = 3 - //SEG824 [410] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + //SEG819 [405] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] b1_from_form_set_screen: - //SEG825 [410] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 + //SEG820 [405] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG826 [410] phi (byte*) form_set_screen::line#2 = (const byte*) FORM_SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + //SEG821 [405] phi (byte*) form_set_screen::line#2 = (const byte*) FORM_SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 lda #FORM_SCREEN sta line+1 jmp b1 - //SEG827 [410] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG822 [405] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] b1_from_b1: - //SEG828 [410] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy - //SEG829 [410] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy + //SEG823 [405] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy + //SEG824 [405] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy jmp b1 - //SEG830 form_set_screen::@1 + //SEG825 form_set_screen::@1 b1: - //SEG831 [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 + //SEG826 [406] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 lda line - //SEG832 [412] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG827 [407] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_lo,x - //SEG833 [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 + //SEG828 [408] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 lda line+1 - //SEG834 [414] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG829 [409] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_hi,x - //SEG835 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG830 [410] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc line @@ -22849,114 +23071,114 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG836 [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuxx=_inc_vbuxx + //SEG831 [411] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuxx=_inc_vbuxx inx - //SEG837 [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 -- vbuxx_neq_vbuc1_then_la1 + //SEG832 [412] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #$19 bne b1_from_b1 jmp breturn - //SEG838 form_set_screen::@return + //SEG833 form_set_screen::@return breturn: - //SEG839 [418] return + //SEG834 [413] return rts } -//SEG840 print_str_lines +//SEG835 print_str_lines // Print a number of zero-terminated strings, each followed by a newline. // The sequence of lines is terminated by another zero. // print_str_lines(byte* zeropage(3) str) print_str_lines: { .label str = 3 - //SEG841 [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG836 [415] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 lda print_set_screen.screen sta print_char_cursor lda print_set_screen.screen+1 sta print_char_cursor+1 - //SEG842 [421] phi from print_str_lines print_str_lines::@5 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1] + //SEG837 [416] phi from print_str_lines print_str_lines::@5 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1] b1_from_print_str_lines: b1_from_b5: - //SEG843 [421] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#0] -- register_copy - //SEG844 [421] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#77 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#1] -- register_copy - //SEG845 [421] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#2] -- register_copy + //SEG838 [416] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#0] -- register_copy + //SEG839 [416] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#77 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#1] -- register_copy + //SEG840 [416] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#2] -- register_copy jmp b1 - //SEG846 print_str_lines::@1 + //SEG841 print_str_lines::@1 b1: - //SEG847 [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG842 [417] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2_from_b1 jmp breturn - //SEG848 print_str_lines::@return + //SEG843 print_str_lines::@return breturn: - //SEG849 [423] return + //SEG844 [418] return rts - //SEG850 [424] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] + //SEG845 [419] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] b2_from_b1: b2_from_b3: - //SEG851 [424] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy - //SEG852 [424] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy + //SEG846 [419] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy + //SEG847 [419] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy jmp b2 - //SEG853 print_str_lines::@2 + //SEG848 print_str_lines::@2 b2: - //SEG854 [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 + //SEG849 [420] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG855 [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 + //SEG850 [421] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG856 [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 -- vbuaa_eq_vbuc1_then_la1 + //SEG851 [422] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b3_from_b2 jmp b4 - //SEG857 print_str_lines::@4 + //SEG852 print_str_lines::@4 b4: - //SEG858 [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuaa + //SEG853 [423] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG859 [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 + //SEG854 [424] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG860 [430] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] + //SEG855 [425] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] b3_from_b2: b3_from_b4: - //SEG861 [430] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy + //SEG856 [425] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy jmp b3 - //SEG862 print_str_lines::@3 + //SEG857 print_str_lines::@3 b3: - //SEG863 [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 -- vbuaa_neq_vbuc1_then_la1 + //SEG858 [426] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b2_from_b3 - //SEG864 [432] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] + //SEG859 [427] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] b5_from_b3: jmp b5 - //SEG865 print_str_lines::@5 + //SEG860 print_str_lines::@5 b5: - //SEG866 [433] call print_ln - //SEG867 [435] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] + //SEG861 [428] call print_ln + //SEG862 [430] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] print_ln_from_b5: jsr print_ln - //SEG868 [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 -- pbuz1=pbuz2 + //SEG863 [429] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 jmp b1_from_b5 } -//SEG869 print_ln +//SEG864 print_ln // Print a newline print_ln: { - //SEG870 [436] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG865 [431] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG871 [436] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG866 [431] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG872 print_ln::@1 + //SEG867 print_ln::@1 b1: - //SEG873 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG868 [432] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc print_line_cursor @@ -22964,7 +23186,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG874 [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + //SEG869 [433] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -22974,38 +23196,38 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG875 print_ln::@return + //SEG870 print_ln::@return breturn: - //SEG876 [439] return + //SEG871 [434] return rts } -//SEG877 print_cls +//SEG872 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { .label _0 = 5 .label sc = 3 - //SEG878 [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG873 [435] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 lda print_set_screen.screen sta sc lda print_set_screen.screen+1 sta sc+1 - //SEG879 [441] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] + //SEG874 [436] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] b1_from_print_cls: b1_from_b1: - //SEG880 [441] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy + //SEG875 [436] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG881 print_cls::@1 + //SEG876 print_cls::@1 b1: - //SEG882 [442] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + //SEG877 [437] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG883 [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + //SEG878 [438] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG884 [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 -- pbuz1=pbuz2_plus_vwuc1 + //SEG879 [439] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 -- pbuz1=pbuz2_plus_vwuc1 lda print_set_screen.screen clc adc #<$3e8 @@ -23013,7 +23235,7 @@ print_cls: { lda print_set_screen.screen+1 adc #>$3e8 sta _0+1 - //SEG885 [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -- pbuz1_neq_pbuz2_then_la1 + //SEG880 [440] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -- pbuz1_neq_pbuz2_then_la1 lda sc+1 cmp _0+1 bne b1_from_b1 @@ -23021,169 +23243,169 @@ print_cls: { cmp _0 bne b1_from_b1 jmp breturn - //SEG886 print_cls::@return + //SEG881 print_cls::@return breturn: - //SEG887 [446] return + //SEG882 [441] return rts } -//SEG888 print_set_screen +//SEG883 print_set_screen // Set the screen to print on. Also resets current line/char cursor. // print_set_screen(byte* zeropage($10) screen) print_set_screen: { .label screen = $10 jmp breturn - //SEG889 print_set_screen::@return + //SEG884 print_set_screen::@return breturn: - //SEG890 [448] return + //SEG885 [443] return rts } -//SEG891 gfx_init +//SEG886 gfx_init // Initialize the different graphics in the memory gfx_init: { - //SEG892 [450] call gfx_init_screen0 - //SEG893 [847] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] + //SEG887 [445] call gfx_init_screen0 + //SEG888 [842] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] gfx_init_screen0_from_gfx_init: jsr gfx_init_screen0 - //SEG894 [451] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] + //SEG889 [446] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] b1_from_gfx_init: jmp b1 - //SEG895 gfx_init::@1 + //SEG890 gfx_init::@1 b1: - //SEG896 [452] call gfx_init_screen1 - //SEG897 [835] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] + //SEG891 [447] call gfx_init_screen1 + //SEG892 [830] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] gfx_init_screen1_from_b1: jsr gfx_init_screen1 - //SEG898 [453] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] + //SEG893 [448] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] b2_from_b1: jmp b2 - //SEG899 gfx_init::@2 + //SEG894 gfx_init::@2 b2: - //SEG900 [454] call gfx_init_screen2 - //SEG901 [820] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] + //SEG895 [449] call gfx_init_screen2 + //SEG896 [815] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] gfx_init_screen2_from_b2: jsr gfx_init_screen2 - //SEG902 [455] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] + //SEG897 [450] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] b3_from_b2: jmp b3 - //SEG903 gfx_init::@3 + //SEG898 gfx_init::@3 b3: - //SEG904 [456] call gfx_init_screen3 - //SEG905 [806] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] + //SEG899 [451] call gfx_init_screen3 + //SEG900 [801] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] gfx_init_screen3_from_b3: jsr gfx_init_screen3 - //SEG906 [457] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] + //SEG901 [452] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] b4_from_b3: jmp b4 - //SEG907 gfx_init::@4 + //SEG902 gfx_init::@4 b4: - //SEG908 [458] call gfx_init_screen4 - //SEG909 [796] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] + //SEG903 [453] call gfx_init_screen4 + //SEG904 [791] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] gfx_init_screen4_from_b4: jsr gfx_init_screen4 - //SEG910 [459] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] + //SEG905 [454] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] b5_from_b4: jmp b5 - //SEG911 gfx_init::@5 + //SEG906 gfx_init::@5 b5: - //SEG912 [460] call gfx_init_charset + //SEG907 [455] call gfx_init_charset jsr gfx_init_charset - //SEG913 [461] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] + //SEG908 [456] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] b6_from_b5: jmp b6 - //SEG914 gfx_init::@6 + //SEG909 gfx_init::@6 b6: - //SEG915 [462] call gfx_init_vic_bitmap - //SEG916 [605] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] + //SEG910 [457] call gfx_init_vic_bitmap + //SEG911 [600] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] gfx_init_vic_bitmap_from_b6: jsr gfx_init_vic_bitmap - //SEG917 [463] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] + //SEG912 [458] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] b7_from_b6: jmp b7 - //SEG918 gfx_init::@7 + //SEG913 gfx_init::@7 b7: - //SEG919 [464] call gfx_init_plane_8bppchunky - //SEG920 [585] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] + //SEG914 [459] call gfx_init_plane_8bppchunky + //SEG915 [580] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] gfx_init_plane_8bppchunky_from_b7: jsr gfx_init_plane_8bppchunky - //SEG921 [465] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] + //SEG916 [460] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] b8_from_b7: jmp b8 - //SEG922 gfx_init::@8 + //SEG917 gfx_init::@8 b8: - //SEG923 [466] call gfx_init_plane_charset8 - //SEG924 [560] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] + //SEG918 [461] call gfx_init_plane_charset8 + //SEG919 [555] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] gfx_init_plane_charset8_from_b8: jsr gfx_init_plane_charset8 - //SEG925 [467] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] + //SEG920 [462] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] b9_from_b8: jmp b9 - //SEG926 gfx_init::@9 + //SEG921 gfx_init::@9 b9: - //SEG927 [468] call gfx_init_plane_horisontal - //SEG928 [542] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] + //SEG922 [463] call gfx_init_plane_horisontal + //SEG923 [537] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] gfx_init_plane_horisontal_from_b9: jsr gfx_init_plane_horisontal - //SEG929 [469] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] + //SEG924 [464] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] b10_from_b9: jmp b10 - //SEG930 gfx_init::@10 + //SEG925 gfx_init::@10 b10: - //SEG931 [470] call gfx_init_plane_vertical - //SEG932 [529] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] + //SEG926 [465] call gfx_init_plane_vertical + //SEG927 [524] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] gfx_init_plane_vertical_from_b10: jsr gfx_init_plane_vertical - //SEG933 [471] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] + //SEG928 [466] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] b11_from_b10: jmp b11 - //SEG934 gfx_init::@11 + //SEG929 gfx_init::@11 b11: - //SEG935 [472] call gfx_init_plane_horisontal2 - //SEG936 [514] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] + //SEG930 [467] call gfx_init_plane_horisontal2 + //SEG931 [509] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] gfx_init_plane_horisontal2_from_b11: jsr gfx_init_plane_horisontal2 - //SEG937 [473] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] + //SEG932 [468] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] b12_from_b11: jmp b12 - //SEG938 gfx_init::@12 + //SEG933 gfx_init::@12 b12: - //SEG939 [474] call gfx_init_plane_vertical2 - //SEG940 [511] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] + //SEG934 [469] call gfx_init_plane_vertical2 + //SEG935 [506] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] gfx_init_plane_vertical2_from_b12: jsr gfx_init_plane_vertical2 - //SEG941 [475] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] + //SEG936 [470] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] b13_from_b12: jmp b13 - //SEG942 gfx_init::@13 + //SEG937 gfx_init::@13 b13: - //SEG943 [476] call gfx_init_plane_blank - //SEG944 [508] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] + //SEG938 [471] call gfx_init_plane_blank + //SEG939 [503] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] gfx_init_plane_blank_from_b13: jsr gfx_init_plane_blank - //SEG945 [477] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] + //SEG940 [472] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] b14_from_b13: jmp b14 - //SEG946 gfx_init::@14 + //SEG941 gfx_init::@14 b14: - //SEG947 [478] call gfx_init_plane_full - //SEG948 [480] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] + //SEG942 [473] call gfx_init_plane_full + //SEG943 [475] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] gfx_init_plane_full_from_b14: jsr gfx_init_plane_full jmp breturn - //SEG949 gfx_init::@return + //SEG944 gfx_init::@return breturn: - //SEG950 [479] return + //SEG945 [474] return rts } -//SEG951 gfx_init_plane_full +//SEG946 gfx_init_plane_full // Initialize Plane with all pixels gfx_init_plane_full: { - //SEG952 [481] call gfx_init_plane_fill - //SEG953 [483] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] + //SEG947 [476] call gfx_init_plane_fill + //SEG948 [478] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_full: - //SEG954 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG949 [478] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$ff sta gfx_init_plane_fill.fill - //SEG955 [483] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_FULL#0 [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 + //SEG950 [478] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_FULL#0 [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_FULL @@ -23194,16 +23416,16 @@ gfx_init_plane_full: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG956 gfx_init_plane_full::@return + //SEG951 gfx_init_plane_full::@return breturn: - //SEG957 [482] return + //SEG952 [477] return rts } -//SEG958 gfx_init_plane_fill +//SEG953 gfx_init_plane_fill // Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // gfx_init_plane_fill(dword zeropage(9) plane_addr, byte zeropage(2) fill) gfx_init_plane_fill: { - .label _0 = $13 + .label _0 = $14 .label _1 = 3 .label _4 = 3 .label _5 = 3 @@ -23212,7 +23434,7 @@ gfx_init_plane_fill: { .label by = 7 .label plane_addr = 9 .label fill = 2 - //SEG959 [484] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vduz1=vduz2_rol_2 + //SEG954 [479] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vduz1=vduz2_rol_2 lda plane_addr sta _0 lda plane_addr+1 @@ -23229,35 +23451,35 @@ gfx_init_plane_fill: { rol _0+1 rol _0+2 rol _0+3 - //SEG960 [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 + //SEG955 [480] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 lda _0+2 sta _1 lda _0+3 sta _1+1 - //SEG961 [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuaa=_lo_vwuz1 + //SEG956 [481] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuaa=_lo_vwuz1 lda _1 - //SEG962 [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 - //SEG963 [488] call dtvSetCpuBankSegment1 - //SEG964 [504] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] + //SEG957 [482] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 + //SEG958 [483] call dtvSetCpuBankSegment1 + //SEG959 [499] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_fill: - //SEG965 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy + //SEG960 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp b5 - //SEG966 gfx_init_plane_fill::@5 + //SEG961 gfx_init_plane_fill::@5 b5: - //SEG967 [489] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 + //SEG962 [484] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 lda plane_addr sta _4 lda plane_addr+1 sta _4+1 - //SEG968 [490] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff -- vwuz1=vwuz1_band_vwuc1 + //SEG963 [485] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff -- vwuz1=vwuz1_band_vwuc1 lda _5 and #<$3fff sta _5 lda _5+1 and #>$3fff sta _5+1 - //SEG969 [491] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 + //SEG964 [486] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 clc lda _6 adc #<$4000 @@ -23265,75 +23487,75 @@ gfx_init_plane_fill: { lda _6+1 adc #>$4000 sta _6+1 - //SEG970 [492] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 - //SEG971 [493] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] + //SEG965 [487] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 + //SEG966 [488] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] b1_from_b5: - //SEG972 [493] phi (byte) gfx_init_plane_fill::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 + //SEG967 [488] phi (byte) gfx_init_plane_fill::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 lda #0 sta by - //SEG973 [493] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*~) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy + //SEG968 [488] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*~) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy jmp b1 - //SEG974 [493] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] + //SEG969 [488] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] b1_from_b3: - //SEG975 [493] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy - //SEG976 [493] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy + //SEG970 [488] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy + //SEG971 [488] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy jmp b1 - //SEG977 gfx_init_plane_fill::@1 + //SEG972 gfx_init_plane_fill::@1 b1: - //SEG978 [494] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] + //SEG973 [489] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] b2_from_b1: - //SEG979 [494] phi (byte) gfx_init_plane_fill::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuxx=vbuc1 + //SEG974 [489] phi (byte) gfx_init_plane_fill::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG980 [494] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy + //SEG975 [489] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy jmp b2 - //SEG981 [494] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] + //SEG976 [489] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] b2_from_b2: - //SEG982 [494] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy - //SEG983 [494] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy + //SEG977 [489] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy + //SEG978 [489] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy jmp b2 - //SEG984 gfx_init_plane_fill::@2 + //SEG979 gfx_init_plane_fill::@2 b2: - //SEG985 [495] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 + //SEG980 [490] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 lda fill ldy #0 sta (gfxb),y - //SEG986 [496] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG981 [491] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG987 [497] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx + //SEG982 [492] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx inx - //SEG988 [498] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG983 [493] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG989 gfx_init_plane_fill::@3 + //SEG984 gfx_init_plane_fill::@3 b3: - //SEG990 [499] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 + //SEG985 [494] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG991 [500] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG986 [495] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp by bne b1_from_b3 - //SEG992 [501] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] + //SEG987 [496] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] b4_from_b3: jmp b4 - //SEG993 gfx_init_plane_fill::@4 + //SEG988 gfx_init_plane_fill::@4 b4: - //SEG994 [502] call dtvSetCpuBankSegment1 - //SEG995 [504] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] + //SEG989 [497] call dtvSetCpuBankSegment1 + //SEG990 [499] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG996 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG991 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG997 gfx_init_plane_fill::@return + //SEG992 gfx_init_plane_fill::@return breturn: - //SEG998 [503] return + //SEG993 [498] return rts } -//SEG999 dtvSetCpuBankSegment1 +//SEG994 dtvSetCpuBankSegment1 // 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 // The actual memory addressed will be $4000*cpuSegmentIdx @@ -23341,28 +23563,28 @@ gfx_init_plane_fill: { dtvSetCpuBankSegment1: { // Move CPU BANK 1 SEGMENT ($4000-$7fff) .label cpuBank = $ff - //SEG1000 [505] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa + //SEG995 [500] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa sta cpuBank - //SEG1001 asm { .byte$32,$dd lda$ff .byte$32,$00 } + //SEG996 asm { .byte$32,$dd lda$ff .byte$32,$00 } .byte $32, $dd lda $ff .byte $32, $00 jmp breturn - //SEG1002 dtvSetCpuBankSegment1::@return + //SEG997 dtvSetCpuBankSegment1::@return breturn: - //SEG1003 [507] return + //SEG998 [502] return rts } -//SEG1004 gfx_init_plane_blank +//SEG999 gfx_init_plane_blank // Initialize Plane with blank pixels gfx_init_plane_blank: { - //SEG1005 [509] call gfx_init_plane_fill - //SEG1006 [483] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] + //SEG1000 [504] call gfx_init_plane_fill + //SEG1001 [478] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_blank: - //SEG1007 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG1002 [478] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #0 sta gfx_init_plane_fill.fill - //SEG1008 [483] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_BLANK#0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 + //SEG1003 [478] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_BLANK#0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_BLANK @@ -23373,21 +23595,21 @@ gfx_init_plane_blank: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG1009 gfx_init_plane_blank::@return + //SEG1004 gfx_init_plane_blank::@return breturn: - //SEG1010 [510] return + //SEG1005 [505] return rts } -//SEG1011 gfx_init_plane_vertical2 +//SEG1006 gfx_init_plane_vertical2 // Initialize Plane with Vertical Stripes every 2 pixels gfx_init_plane_vertical2: { - //SEG1012 [512] call gfx_init_plane_fill - //SEG1013 [483] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] + //SEG1007 [507] call gfx_init_plane_fill + //SEG1008 [478] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_vertical2: - //SEG1014 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG1009 [478] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$1b sta gfx_init_plane_fill.fill - //SEG1015 [483] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_VERTICAL2#0 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 + //SEG1010 [478] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_VERTICAL2#0 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_VERTICAL2 @@ -23398,296 +23620,296 @@ gfx_init_plane_vertical2: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG1016 gfx_init_plane_vertical2::@return + //SEG1011 gfx_init_plane_vertical2::@return breturn: - //SEG1017 [513] return + //SEG1012 [508] return rts } -//SEG1018 gfx_init_plane_horisontal2 +//SEG1013 gfx_init_plane_horisontal2 // Initialize Plane with Horizontal Stripes every 2 pixels gfx_init_plane_horisontal2: { .const gfxbCpuBank = PLANE_HORISONTAL2/$4000 .label gfxa = 3 .label ay = 2 - //SEG1019 [515] call dtvSetCpuBankSegment1 - //SEG1020 [504] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] + //SEG1014 [510] call dtvSetCpuBankSegment1 + //SEG1015 [499] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal2: - //SEG1021 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1016 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - //SEG1022 [516] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] + //SEG1017 [511] 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: - //SEG1023 [516] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 + //SEG1018 [511] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 lda #<$4000+(PLANE_HORISONTAL2&$3fff) sta gfxa lda #>$4000+(PLANE_HORISONTAL2&$3fff) sta gfxa+1 - //SEG1024 [516] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 + //SEG1019 [511] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 lda #0 sta ay jmp b1 - //SEG1025 [516] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] + //SEG1020 [511] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] b1_from_b3: - //SEG1026 [516] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy - //SEG1027 [516] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy + //SEG1021 [511] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy + //SEG1022 [511] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy jmp b1 - //SEG1028 gfx_init_plane_horisontal2::@1 + //SEG1023 gfx_init_plane_horisontal2::@1 b1: - //SEG1029 [517] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] + //SEG1024 [512] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] b2_from_b1: - //SEG1030 [517] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuxx=vbuc1 + //SEG1025 [512] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1031 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy + //SEG1026 [512] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy jmp b2 - //SEG1032 [517] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] + //SEG1027 [512] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] b2_from_b2: - //SEG1033 [517] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy - //SEG1034 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy + //SEG1028 [512] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy + //SEG1029 [512] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy jmp b2 - //SEG1035 gfx_init_plane_horisontal2::@2 + //SEG1030 gfx_init_plane_horisontal2::@2 b2: - //SEG1036 [518] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_ror_1 + //SEG1031 [513] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_ror_1 lda ay lsr - //SEG1037 [519] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuaa_band_vbuc1 + //SEG1032 [514] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuaa_band_vbuc1 and #3 - //SEG1038 [520] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuaa + //SEG1033 [515] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuaa tay lda row_bitmask,y ldy #0 sta (gfxa),y - //SEG1039 [521] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1034 [516] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1040 [522] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx + //SEG1035 [517] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx inx - //SEG1041 [523] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1036 [518] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1042 gfx_init_plane_horisontal2::@3 + //SEG1037 gfx_init_plane_horisontal2::@3 b3: - //SEG1043 [524] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1038 [519] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1044 [525] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1039 [520] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp ay bne b1_from_b3 - //SEG1045 [526] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] + //SEG1040 [521] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] b4_from_b3: jmp b4 - //SEG1046 gfx_init_plane_horisontal2::@4 + //SEG1041 gfx_init_plane_horisontal2::@4 b4: - //SEG1047 [527] call dtvSetCpuBankSegment1 - //SEG1048 [504] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] + //SEG1042 [522] call dtvSetCpuBankSegment1 + //SEG1043 [499] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1049 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1044 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1050 gfx_init_plane_horisontal2::@return + //SEG1045 gfx_init_plane_horisontal2::@return breturn: - //SEG1051 [528] return + //SEG1046 [523] return rts row_bitmask: .byte 0, $55, $aa, $ff } -//SEG1052 gfx_init_plane_vertical +//SEG1047 gfx_init_plane_vertical // Initialize Plane with Vertical Stripes gfx_init_plane_vertical: { .const gfxbCpuBank = PLANE_VERTICAL/$4000 .label gfxb = 3 .label by = 2 - //SEG1053 [530] call dtvSetCpuBankSegment1 - //SEG1054 [504] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] + //SEG1048 [525] call dtvSetCpuBankSegment1 + //SEG1049 [499] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_vertical: - //SEG1055 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1050 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - //SEG1056 [531] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] + //SEG1051 [526] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] b1_from_gfx_init_plane_vertical: - //SEG1057 [531] phi (byte) gfx_init_plane_vertical::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 + //SEG1052 [526] phi (byte) gfx_init_plane_vertical::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 lda #0 sta by - //SEG1058 [531] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 + //SEG1053 [526] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 lda #<$4000+(PLANE_VERTICAL&$3fff) sta gfxb lda #>$4000+(PLANE_VERTICAL&$3fff) sta gfxb+1 jmp b1 - //SEG1059 [531] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] + //SEG1054 [526] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] b1_from_b3: - //SEG1060 [531] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy - //SEG1061 [531] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy + //SEG1055 [526] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy + //SEG1056 [526] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy jmp b1 - //SEG1062 gfx_init_plane_vertical::@1 + //SEG1057 gfx_init_plane_vertical::@1 b1: - //SEG1063 [532] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] + //SEG1058 [527] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] b2_from_b1: - //SEG1064 [532] phi (byte) gfx_init_plane_vertical::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuxx=vbuc1 + //SEG1059 [527] phi (byte) gfx_init_plane_vertical::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1065 [532] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy + //SEG1060 [527] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy jmp b2 - //SEG1066 [532] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] + //SEG1061 [527] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] b2_from_b2: - //SEG1067 [532] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy - //SEG1068 [532] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy + //SEG1062 [527] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy + //SEG1063 [527] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy jmp b2 - //SEG1069 gfx_init_plane_vertical::@2 + //SEG1064 gfx_init_plane_vertical::@2 b2: - //SEG1070 [533] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f -- _deref_pbuz1=vbuc1 + //SEG1065 [528] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - //SEG1071 [534] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG1066 [529] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1072 [535] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx + //SEG1067 [530] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx inx - //SEG1073 [536] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1068 [531] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1074 gfx_init_plane_vertical::@3 + //SEG1069 gfx_init_plane_vertical::@3 b3: - //SEG1075 [537] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 + //SEG1070 [532] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG1076 [538] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1071 [533] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp by bne b1_from_b3 - //SEG1077 [539] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] + //SEG1072 [534] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] b4_from_b3: jmp b4 - //SEG1078 gfx_init_plane_vertical::@4 + //SEG1073 gfx_init_plane_vertical::@4 b4: - //SEG1079 [540] call dtvSetCpuBankSegment1 - //SEG1080 [504] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] + //SEG1074 [535] call dtvSetCpuBankSegment1 + //SEG1075 [499] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1081 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1076 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1082 gfx_init_plane_vertical::@return + //SEG1077 gfx_init_plane_vertical::@return breturn: - //SEG1083 [541] return + //SEG1078 [536] return rts } -//SEG1084 gfx_init_plane_horisontal +//SEG1079 gfx_init_plane_horisontal // Initialize Plane with Horizontal Stripes gfx_init_plane_horisontal: { .const gfxbCpuBank = PLANE_HORISONTAL/$4000 .label gfxa = 3 .label ay = 2 - //SEG1085 [543] call dtvSetCpuBankSegment1 - //SEG1086 [504] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] + //SEG1080 [538] call dtvSetCpuBankSegment1 + //SEG1081 [499] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal: - //SEG1087 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1082 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - //SEG1088 [544] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] + //SEG1083 [539] 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: - //SEG1089 [544] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 + //SEG1084 [539] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 lda #<$4000+(PLANE_HORISONTAL&$3fff) sta gfxa lda #>$4000+(PLANE_HORISONTAL&$3fff) sta gfxa+1 - //SEG1090 [544] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 + //SEG1085 [539] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 lda #0 sta ay jmp b1 - //SEG1091 [544] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] + //SEG1086 [539] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] b1_from_b6: - //SEG1092 [544] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy - //SEG1093 [544] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy + //SEG1087 [539] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy + //SEG1088 [539] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy jmp b1 - //SEG1094 gfx_init_plane_horisontal::@1 + //SEG1089 gfx_init_plane_horisontal::@1 b1: - //SEG1095 [545] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] + //SEG1090 [540] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] b2_from_b1: - //SEG1096 [545] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuxx=vbuc1 + //SEG1091 [540] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1097 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy + //SEG1092 [540] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy jmp b2 - //SEG1098 [545] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] + //SEG1093 [540] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] b2_from_b4: - //SEG1099 [545] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy - //SEG1100 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy + //SEG1094 [540] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy + //SEG1095 [540] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy jmp b2 - //SEG1101 gfx_init_plane_horisontal::@2 + //SEG1096 gfx_init_plane_horisontal::@2 b2: - //SEG1102 [546] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_band_vbuc1 + //SEG1097 [541] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_band_vbuc1 lda #4 and ay - //SEG1103 [547] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 + //SEG1098 [542] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 cmp #0 beq b3 jmp b5 - //SEG1104 gfx_init_plane_horisontal::@5 + //SEG1099 gfx_init_plane_horisontal::@5 b5: - //SEG1105 [548] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuz1=vbuc1 + //SEG1100 [543] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - //SEG1106 [549] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1101 [544] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1107 [550] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] + //SEG1102 [545] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] b4_from_b3: b4_from_b5: - //SEG1108 [550] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy + //SEG1103 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy jmp b4 - //SEG1109 gfx_init_plane_horisontal::@4 + //SEG1104 gfx_init_plane_horisontal::@4 b4: - //SEG1110 [551] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx + //SEG1105 [546] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx inx - //SEG1111 [552] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1106 [547] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b4 jmp b6 - //SEG1112 gfx_init_plane_horisontal::@6 + //SEG1107 gfx_init_plane_horisontal::@6 b6: - //SEG1113 [553] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1108 [548] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1114 [554] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1109 [549] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp ay bne b1_from_b6 - //SEG1115 [555] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] + //SEG1110 [550] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] b7_from_b6: jmp b7 - //SEG1116 gfx_init_plane_horisontal::@7 + //SEG1111 gfx_init_plane_horisontal::@7 b7: - //SEG1117 [556] call dtvSetCpuBankSegment1 - //SEG1118 [504] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] + //SEG1112 [551] call dtvSetCpuBankSegment1 + //SEG1113 [499] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b7: - //SEG1119 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1114 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1120 gfx_init_plane_horisontal::@return + //SEG1115 gfx_init_plane_horisontal::@return breturn: - //SEG1121 [557] return + //SEG1116 [552] return rts - //SEG1122 gfx_init_plane_horisontal::@3 + //SEG1117 gfx_init_plane_horisontal::@3 b3: - //SEG1123 [558] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1118 [553] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (gfxa),y - //SEG1124 [559] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1119 [554] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: jmp b4_from_b3 } -//SEG1125 gfx_init_plane_charset8 +//SEG1120 gfx_init_plane_charset8 // Initialize Plane with 8bpp charset gfx_init_plane_charset8: { .const gfxbCpuBank = PLANE_CHARSET8/$4000 @@ -23697,218 +23919,218 @@ gfx_init_plane_charset8: { .label col = $d .label cr = 7 .label ch = 2 - //SEG1126 [561] call dtvSetCpuBankSegment1 - //SEG1127 [504] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] + //SEG1121 [556] call dtvSetCpuBankSegment1 + //SEG1122 [499] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_charset8: - //SEG1128 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1123 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 jmp b9 - //SEG1129 gfx_init_plane_charset8::@9 + //SEG1124 gfx_init_plane_charset8::@9 b9: - //SEG1130 [562] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 + //SEG1125 [557] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_CHARROM sta PROCPORT - //SEG1131 [563] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] + //SEG1126 [558] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] b1_from_b9: - //SEG1132 [563] phi (byte) gfx_init_plane_charset8::ch#8 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 + //SEG1127 [558] phi (byte) gfx_init_plane_charset8::ch#8 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 lda #0 sta ch - //SEG1133 [563] phi (byte) gfx_init_plane_charset8::col#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 + //SEG1128 [558] phi (byte) gfx_init_plane_charset8::col#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 lda #0 sta col - //SEG1134 [563] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 + //SEG1129 [558] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 lda #<$4000+(PLANE_CHARSET8&$3fff) sta gfxa lda #>$4000+(PLANE_CHARSET8&$3fff) sta gfxa+1 - //SEG1135 [563] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 + //SEG1130 [558] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 lda #CHARGEN sta chargen+1 jmp b1 - //SEG1136 [563] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] + //SEG1131 [558] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] b1_from_b7: - //SEG1137 [563] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy - //SEG1138 [563] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy - //SEG1139 [563] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy - //SEG1140 [563] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy + //SEG1132 [558] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy + //SEG1133 [558] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy + //SEG1134 [558] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy + //SEG1135 [558] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy jmp b1 - //SEG1141 gfx_init_plane_charset8::@1 + //SEG1136 gfx_init_plane_charset8::@1 b1: - //SEG1142 [564] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] + //SEG1137 [559] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] b2_from_b1: - //SEG1143 [564] phi (byte) gfx_init_plane_charset8::cr#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 + //SEG1138 [559] phi (byte) gfx_init_plane_charset8::cr#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 lda #0 sta cr - //SEG1144 [564] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy - //SEG1145 [564] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy - //SEG1146 [564] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy + //SEG1139 [559] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy + //SEG1140 [559] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy + //SEG1141 [559] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy jmp b2 - //SEG1147 [564] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] + //SEG1142 [559] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] b2_from_b6: - //SEG1148 [564] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy - //SEG1149 [564] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy - //SEG1150 [564] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy - //SEG1151 [564] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy + //SEG1143 [559] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy + //SEG1144 [559] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy + //SEG1145 [559] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy + //SEG1146 [559] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy jmp b2 - //SEG1152 gfx_init_plane_charset8::@2 + //SEG1147 gfx_init_plane_charset8::@2 b2: - //SEG1153 [565] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 + //SEG1148 [560] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta bits - //SEG1154 [566] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1149 [561] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1155 [567] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] + //SEG1150 [562] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] b3_from_b2: - //SEG1156 [567] phi (byte) gfx_init_plane_charset8::cp#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuxx=vbuc1 + //SEG1151 [562] phi (byte) gfx_init_plane_charset8::cp#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuxx=vbuc1 ldx #0 - //SEG1157 [567] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy - //SEG1158 [567] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy - //SEG1159 [567] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy + //SEG1152 [562] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy + //SEG1153 [562] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy + //SEG1154 [562] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy jmp b3 - //SEG1160 [567] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] + //SEG1155 [562] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] b3_from_b4: - //SEG1161 [567] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy - //SEG1162 [567] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy - //SEG1163 [567] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy - //SEG1164 [567] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy + //SEG1156 [562] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy + //SEG1157 [562] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy + //SEG1158 [562] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy + //SEG1159 [562] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy jmp b3 - //SEG1165 gfx_init_plane_charset8::@3 + //SEG1160 gfx_init_plane_charset8::@3 b3: - //SEG1166 [568] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 -- vbuaa=vbuz1_band_vbuc1 + //SEG1161 [563] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 -- vbuaa=vbuz1_band_vbuc1 lda #$80 and bits - //SEG1167 [569] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 + //SEG1162 [564] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 cmp #0 beq b4_from_b3 jmp b5 - //SEG1168 gfx_init_plane_charset8::@5 + //SEG1163 gfx_init_plane_charset8::@5 b5: - //SEG1169 [570] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 + //SEG1164 [565] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 lda col - //SEG1170 [571] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] + //SEG1165 [566] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] b4_from_b5: - //SEG1171 [571] phi (byte) gfx_init_plane_charset8::c#2 = (byte~) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy + //SEG1166 [566] phi (byte) gfx_init_plane_charset8::c#2 = (byte~) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy jmp b4 - //SEG1172 [571] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] + //SEG1167 [566] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] b4_from_b3: - //SEG1173 [571] phi (byte) gfx_init_plane_charset8::c#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuaa=vbuc1 + //SEG1168 [566] phi (byte) gfx_init_plane_charset8::c#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuaa=vbuc1 lda #0 jmp b4 - //SEG1174 gfx_init_plane_charset8::@4 + //SEG1169 gfx_init_plane_charset8::@4 b4: - //SEG1175 [572] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa + //SEG1170 [567] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxa),y - //SEG1176 [573] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1171 [568] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1177 [574] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 + //SEG1172 [569] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 asl bits - //SEG1178 [575] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 + //SEG1173 [570] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 inc col - //SEG1179 [576] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx + //SEG1174 [571] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx inx - //SEG1180 [577] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 -- vbuxx_neq_vbuc1_then_la1 + //SEG1175 [572] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne b3_from_b4 jmp b6 - //SEG1181 gfx_init_plane_charset8::@6 + //SEG1176 gfx_init_plane_charset8::@6 b6: - //SEG1182 [578] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 + //SEG1177 [573] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 inc cr - //SEG1183 [579] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1178 [574] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp cr bne b2_from_b6 jmp b7 - //SEG1184 gfx_init_plane_charset8::@7 + //SEG1179 gfx_init_plane_charset8::@7 b7: - //SEG1185 [580] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 + //SEG1180 [575] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 inc ch - //SEG1186 [581] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 + //SEG1181 [576] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 lda ch cmp #0 bne b1_from_b7 jmp b8 - //SEG1187 gfx_init_plane_charset8::@8 + //SEG1182 gfx_init_plane_charset8::@8 b8: - //SEG1188 [582] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 + //SEG1183 [577] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_IO sta PROCPORT - //SEG1189 [583] call dtvSetCpuBankSegment1 - //SEG1190 [504] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] + //SEG1184 [578] call dtvSetCpuBankSegment1 + //SEG1185 [499] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b8: - //SEG1191 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1186 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1192 gfx_init_plane_charset8::@return + //SEG1187 gfx_init_plane_charset8::@return breturn: - //SEG1193 [584] return + //SEG1188 [579] return rts } -//SEG1194 gfx_init_plane_8bppchunky +//SEG1189 gfx_init_plane_8bppchunky // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { .label _9 = $10 .label gfxb = 5 .label x = 3 .label y = 2 - //SEG1195 [586] call dtvSetCpuBankSegment1 - //SEG1196 [504] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + //SEG1190 [581] call dtvSetCpuBankSegment1 + //SEG1191 [499] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_8bppchunky: - //SEG1197 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1192 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000 jsr dtvSetCpuBankSegment1 - //SEG1198 [587] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + //SEG1193 [582] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] b1_from_gfx_init_plane_8bppchunky: - //SEG1199 [587] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 + //SEG1194 [582] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 ldx #PLANE_8BPP_CHUNKY/$4000+1 - //SEG1200 [587] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 + //SEG1195 [582] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 lda #0 sta y - //SEG1201 [587] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + //SEG1196 [582] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 jmp b1 - //SEG1202 [587] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + //SEG1197 [582] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] b1_from_b5: - //SEG1203 [587] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy - //SEG1204 [587] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy - //SEG1205 [587] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy + //SEG1198 [582] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy + //SEG1199 [582] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy + //SEG1200 [582] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy jmp b1 - //SEG1206 gfx_init_plane_8bppchunky::@1 + //SEG1201 gfx_init_plane_8bppchunky::@1 b1: - //SEG1207 [588] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + //SEG1202 [583] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] b2_from_b1: - //SEG1208 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy - //SEG1209 [588] phi (word) gfx_init_plane_8bppchunky::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vbuc1 + //SEG1203 [583] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG1204 [583] phi (word) gfx_init_plane_8bppchunky::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vbuc1 lda #0 sta x lda #0 sta x+1 - //SEG1210 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy + //SEG1205 [583] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy jmp b2 - //SEG1211 [588] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + //SEG1206 [583] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] b2_from_b3: - //SEG1212 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy - //SEG1213 [588] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy - //SEG1214 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy + //SEG1207 [583] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG1208 [583] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy + //SEG1209 [583] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy jmp b2 - //SEG1215 gfx_init_plane_8bppchunky::@2 + //SEG1210 gfx_init_plane_8bppchunky::@2 b2: - //SEG1216 [589] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 + //SEG1211 [584] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 lda gfxb+1 cmp #>$8000 bne b3_from_b2 @@ -23916,37 +24138,37 @@ gfx_init_plane_8bppchunky: { cmp #<$8000 bne b3_from_b2 jmp b4 - //SEG1217 gfx_init_plane_8bppchunky::@4 + //SEG1212 gfx_init_plane_8bppchunky::@4 b4: - //SEG1218 [590] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx + //SEG1213 [585] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx txa - //SEG1219 [591] call dtvSetCpuBankSegment1 - //SEG1220 [504] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + //SEG1214 [586] call dtvSetCpuBankSegment1 + //SEG1215 [499] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1221 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + //SEG1216 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp b7 - //SEG1222 gfx_init_plane_8bppchunky::@7 + //SEG1217 gfx_init_plane_8bppchunky::@7 b7: - //SEG1223 [592] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx + //SEG1218 [587] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx inx - //SEG1224 [593] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] + //SEG1219 [588] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] b3_from_b7: - //SEG1225 [593] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy - //SEG1226 [593] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + //SEG1220 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG1221 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 jmp b3 - //SEG1227 [593] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + //SEG1222 [588] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] b3_from_b2: - //SEG1228 [593] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy - //SEG1229 [593] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy + //SEG1223 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG1224 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy jmp b3 - //SEG1230 gfx_init_plane_8bppchunky::@3 + //SEG1225 gfx_init_plane_8bppchunky::@3 b3: - //SEG1231 [594] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 + //SEG1226 [589] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 lda y clc adc x @@ -23954,22 +24176,22 @@ gfx_init_plane_8bppchunky: { lda #0 adc x+1 sta _9+1 - //SEG1232 [595] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 -- vbuaa=_byte_vwuz1 + //SEG1227 [590] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 -- vbuaa=_byte_vwuz1 lda _9 - //SEG1233 [596] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa + //SEG1228 [591] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxb),y - //SEG1234 [597] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 + //SEG1229 [592] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1235 [598] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 + //SEG1230 [593] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 inc x bne !+ inc x+1 !: - //SEG1236 [599] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 + //SEG1231 [594] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 lda x+1 cmp #>$140 bne b2_from_b3 @@ -23977,94 +24199,94 @@ gfx_init_plane_8bppchunky: { cmp #<$140 bne b2_from_b3 jmp b5 - //SEG1237 gfx_init_plane_8bppchunky::@5 + //SEG1232 gfx_init_plane_8bppchunky::@5 b5: - //SEG1238 [600] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 + //SEG1233 [595] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 inc y - //SEG1239 [601] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1234 [596] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp y bne b1_from_b5 - //SEG1240 [602] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + //SEG1235 [597] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] b6_from_b5: jmp b6 - //SEG1241 gfx_init_plane_8bppchunky::@6 + //SEG1236 gfx_init_plane_8bppchunky::@6 b6: - //SEG1242 [603] call dtvSetCpuBankSegment1 - //SEG1243 [504] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + //SEG1237 [598] call dtvSetCpuBankSegment1 + //SEG1238 [499] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b6: - //SEG1244 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1239 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1245 gfx_init_plane_8bppchunky::@return + //SEG1240 gfx_init_plane_8bppchunky::@return breturn: - //SEG1246 [604] return + //SEG1241 [599] return rts } -//SEG1247 gfx_init_vic_bitmap +//SEG1242 gfx_init_vic_bitmap // Initialize VIC bitmap gfx_init_vic_bitmap: { .const lines_cnt = 9 .label l = 2 - //SEG1248 [606] call bitmap_init - //SEG1249 [758] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] + //SEG1243 [601] call bitmap_init + //SEG1244 [753] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] bitmap_init_from_gfx_init_vic_bitmap: jsr bitmap_init - //SEG1250 [607] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@2 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@2] + //SEG1245 [602] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@2 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@2] b2_from_gfx_init_vic_bitmap: jmp b2 - //SEG1251 gfx_init_vic_bitmap::@2 + //SEG1246 gfx_init_vic_bitmap::@2 b2: - //SEG1252 [608] call bitmap_clear + //SEG1247 [603] call bitmap_clear jsr bitmap_clear - //SEG1253 [609] phi from gfx_init_vic_bitmap::@2 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1] + //SEG1248 [604] phi from gfx_init_vic_bitmap::@2 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1] b1_from_b2: - //SEG1254 [609] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 + //SEG1249 [604] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 lda #0 sta l jmp b1 - //SEG1255 [609] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] + //SEG1250 [604] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] b1_from_b3: - //SEG1256 [609] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- register_copy + //SEG1251 [604] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- register_copy jmp b1 - //SEG1257 gfx_init_vic_bitmap::@1 + //SEG1252 gfx_init_vic_bitmap::@1 b1: - //SEG1258 [610] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1253 [605] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy l lda lines_x,y sta bitmap_line.x0 - //SEG1259 [611] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuxx=pbuc1_derefidx_vbuz1 + //SEG1254 [606] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuxx=pbuc1_derefidx_vbuz1 ldy l ldx lines_x+1,y - //SEG1260 [612] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1255 [607] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy l lda lines_y,y sta bitmap_line.y0 - //SEG1261 [613] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1256 [608] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy l lda lines_y+1,y sta bitmap_line.y1 - //SEG1262 [614] call bitmap_line + //SEG1257 [609] call bitmap_line jsr bitmap_line jmp b3 - //SEG1263 gfx_init_vic_bitmap::@3 + //SEG1258 gfx_init_vic_bitmap::@3 b3: - //SEG1264 [615] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 + //SEG1259 [610] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 inc l - //SEG1265 [616] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 -- vbuz1_lt_vbuc1_then_la1 + //SEG1260 [611] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 -- vbuz1_lt_vbuc1_then_la1 lda l cmp #lines_cnt bcc b1_from_b3 jmp breturn - //SEG1266 gfx_init_vic_bitmap::@return + //SEG1261 gfx_init_vic_bitmap::@return breturn: - //SEG1267 [617] return + //SEG1262 [612] return rts lines_x: .byte 0, $ff, $ff, 0, 0, $80, $ff, $80, 0, $80 lines_y: .byte 0, 0, $c7, $c7, 0, 0, $64, $c7, $64, 0 } -//SEG1268 bitmap_line +//SEG1263 bitmap_line // Draw a line on the bitmap // bitmap_line(byte zeropage($d) x0, byte register(X) x1, byte zeropage($f) y0, byte zeropage($12) y1) bitmap_line: { @@ -24072,258 +24294,258 @@ bitmap_line: { .label x0 = $d .label y0 = $f .label y1 = $12 - //SEG1269 [618] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuxx_then_la1 + //SEG1264 [613] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuxx_then_la1 txa cmp x0 beq !+ bcs b1 !: jmp b2 - //SEG1270 bitmap_line::@2 + //SEG1265 bitmap_line::@2 b2: - //SEG1271 [619] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuxx + //SEG1266 [614] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuxx txa eor #$ff sec adc x0 sta xd - //SEG1272 [620] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuz2_then_la1 + //SEG1267 [615] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuz2_then_la1 lda y0 cmp y1 bcc b7 jmp b3 - //SEG1273 bitmap_line::@3 + //SEG1268 bitmap_line::@3 b3: - //SEG1274 [621] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuz1_minus_vbuz2 + //SEG1269 [616] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuz1_minus_vbuz2 lda y0 sec sbc y1 tay - //SEG1275 [622] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuyy_lt_vbuz1_then_la1 + //SEG1270 [617] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuyy_lt_vbuz1_then_la1 cpy xd bcc b8 jmp b4 - //SEG1276 bitmap_line::@4 + //SEG1271 bitmap_line::@4 b4: - //SEG1277 [623] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1272 [618] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxi.y - //SEG1278 [624] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 - //SEG1279 [625] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1273 [619] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 + //SEG1274 [620] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y1 - //SEG1280 [626] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy + //SEG1275 [621] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy sty bitmap_line_ydxi.yd - //SEG1281 [627] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 - //SEG1282 [628] call bitmap_line_ydxi - //SEG1283 [702] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] + //SEG1276 [622] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 + //SEG1277 [623] call bitmap_line_ydxi + //SEG1278 [697] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] bitmap_line_ydxi_from_b4: - //SEG1284 [702] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy - //SEG1285 [702] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy - //SEG1286 [702] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy - //SEG1287 [702] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy - //SEG1288 [702] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy + //SEG1279 [697] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy + //SEG1280 [697] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy + //SEG1281 [697] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy + //SEG1282 [697] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy + //SEG1283 [697] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp breturn - //SEG1289 bitmap_line::@return + //SEG1284 bitmap_line::@return breturn: - //SEG1290 [629] return + //SEG1285 [624] return rts - //SEG1291 bitmap_line::@8 + //SEG1286 bitmap_line::@8 b8: - //SEG1292 [630] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx + //SEG1287 [625] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx stx bitmap_line_xdyi.x - //SEG1293 [631] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1288 [626] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_xdyi.y - //SEG1294 [632] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 - //SEG1295 [633] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 - //SEG1296 [634] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy + //SEG1289 [627] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 + //SEG1290 [628] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 + //SEG1291 [629] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy sty bitmap_line_xdyi.yd - //SEG1297 [635] call bitmap_line_xdyi - //SEG1298 [680] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] + //SEG1292 [630] call bitmap_line_xdyi + //SEG1293 [675] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] bitmap_line_xdyi_from_b8: - //SEG1299 [680] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy - //SEG1300 [680] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy - //SEG1301 [680] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy - //SEG1302 [680] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy - //SEG1303 [680] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy + //SEG1294 [675] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy + //SEG1295 [675] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy + //SEG1296 [675] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy + //SEG1297 [675] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy + //SEG1298 [675] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp breturn - //SEG1304 bitmap_line::@7 + //SEG1299 bitmap_line::@7 b7: - //SEG1305 [636] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuz2 + //SEG1300 [631] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuz2 lda y1 sec sbc y0 tay - //SEG1306 [637] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuyy_lt_vbuz1_then_la1 + //SEG1301 [632] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuyy_lt_vbuz1_then_la1 cpy xd bcc b9 jmp b10 - //SEG1307 bitmap_line::@10 + //SEG1302 bitmap_line::@10 b10: - //SEG1308 [638] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1303 [633] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxd.y - //SEG1309 [639] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 + //SEG1304 [634] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 ldx x0 - //SEG1310 [640] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1305 [635] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxd.y1 - //SEG1311 [641] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy + //SEG1306 [636] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy sty bitmap_line_ydxd.yd - //SEG1312 [642] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 - //SEG1313 [643] call bitmap_line_ydxd - //SEG1314 [732] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] + //SEG1307 [637] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 + //SEG1308 [638] call bitmap_line_ydxd + //SEG1309 [727] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] bitmap_line_ydxd_from_b10: - //SEG1315 [732] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy - //SEG1316 [732] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy - //SEG1317 [732] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy - //SEG1318 [732] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy - //SEG1319 [732] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy + //SEG1310 [727] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy + //SEG1311 [727] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy + //SEG1312 [727] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy + //SEG1313 [727] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy + //SEG1314 [727] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1320 bitmap_line::@9 + //SEG1315 bitmap_line::@9 b9: - //SEG1321 [644] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx + //SEG1316 [639] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx stx bitmap_line_xdyd.x - //SEG1322 [645] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1317 [640] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_xdyd.y - //SEG1323 [646] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 - //SEG1324 [647] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 - //SEG1325 [648] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy + //SEG1318 [641] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 + //SEG1319 [642] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 + //SEG1320 [643] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy sty bitmap_line_xdyd.yd - //SEG1326 [649] call bitmap_line_xdyd - //SEG1327 [717] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] + //SEG1321 [644] call bitmap_line_xdyd + //SEG1322 [712] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] bitmap_line_xdyd_from_b9: - //SEG1328 [717] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy - //SEG1329 [717] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy - //SEG1330 [717] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy - //SEG1331 [717] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy - //SEG1332 [717] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy + //SEG1323 [712] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy + //SEG1324 [712] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy + //SEG1325 [712] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy + //SEG1326 [712] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy + //SEG1327 [712] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1333 bitmap_line::@1 + //SEG1328 bitmap_line::@1 b1: - //SEG1334 [650] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuxx_minus_vbuz2 + //SEG1329 [645] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuxx_minus_vbuz2 txa sec sbc x0 sta xd - //SEG1335 [651] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuz2_then_la1 + //SEG1330 [646] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuz2_then_la1 lda y0 cmp y1 bcc b11 jmp b5 - //SEG1336 bitmap_line::@5 + //SEG1331 bitmap_line::@5 b5: - //SEG1337 [652] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuz1_minus_vbuz2 + //SEG1332 [647] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuz1_minus_vbuz2 lda y0 sec sbc y1 tay - //SEG1338 [653] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuyy_lt_vbuz1_then_la1 + //SEG1333 [648] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuyy_lt_vbuz1_then_la1 cpy xd bcc b12 jmp b6 - //SEG1339 bitmap_line::@6 + //SEG1334 bitmap_line::@6 b6: - //SEG1340 [654] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1335 [649] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxd.y - //SEG1341 [655] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 - //SEG1342 [656] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 - //SEG1343 [657] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy + //SEG1336 [650] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 + //SEG1337 [651] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 + //SEG1338 [652] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy sty bitmap_line_ydxd.yd - //SEG1344 [658] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 - //SEG1345 [659] call bitmap_line_ydxd - //SEG1346 [732] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] + //SEG1339 [653] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 + //SEG1340 [654] call bitmap_line_ydxd + //SEG1341 [727] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] bitmap_line_ydxd_from_b6: - //SEG1347 [732] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy - //SEG1348 [732] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy - //SEG1349 [732] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy - //SEG1350 [732] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy - //SEG1351 [732] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy + //SEG1342 [727] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy + //SEG1343 [727] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy + //SEG1344 [727] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy + //SEG1345 [727] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy + //SEG1346 [727] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1352 bitmap_line::@12 + //SEG1347 bitmap_line::@12 b12: - //SEG1353 [660] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1348 [655] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x - //SEG1354 [661] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - //SEG1355 [662] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx + //SEG1349 [656] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + //SEG1350 [657] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx stx bitmap_line_xdyd.x1 - //SEG1356 [663] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 - //SEG1357 [664] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy + //SEG1351 [658] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 + //SEG1352 [659] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy sty bitmap_line_xdyd.yd - //SEG1358 [665] call bitmap_line_xdyd - //SEG1359 [717] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] + //SEG1353 [660] call bitmap_line_xdyd + //SEG1354 [712] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] bitmap_line_xdyd_from_b12: - //SEG1360 [717] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy - //SEG1361 [717] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy - //SEG1362 [717] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy - //SEG1363 [717] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy - //SEG1364 [717] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy + //SEG1355 [712] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy + //SEG1356 [712] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy + //SEG1357 [712] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy + //SEG1358 [712] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy + //SEG1359 [712] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1365 bitmap_line::@11 + //SEG1360 bitmap_line::@11 b11: - //SEG1366 [666] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuz2 + //SEG1361 [661] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuz2 lda y1 sec sbc y0 tay - //SEG1367 [667] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuyy_lt_vbuz1_then_la1 + //SEG1362 [662] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuyy_lt_vbuz1_then_la1 cpy xd bcc b13 jmp b14 - //SEG1368 bitmap_line::@14 + //SEG1363 bitmap_line::@14 b14: - //SEG1369 [668] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1364 [663] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y - //SEG1370 [669] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 + //SEG1365 [664] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 ldx x0 - //SEG1371 [670] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 - //SEG1372 [671] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy + //SEG1366 [665] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 + //SEG1367 [666] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy sty bitmap_line_ydxi.yd - //SEG1373 [672] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 - //SEG1374 [673] call bitmap_line_ydxi - //SEG1375 [702] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] + //SEG1368 [667] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 + //SEG1369 [668] call bitmap_line_ydxi + //SEG1370 [697] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] bitmap_line_ydxi_from_b14: - //SEG1376 [702] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy - //SEG1377 [702] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy - //SEG1378 [702] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy - //SEG1379 [702] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy - //SEG1380 [702] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy + //SEG1371 [697] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy + //SEG1372 [697] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy + //SEG1373 [697] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy + //SEG1374 [697] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy + //SEG1375 [697] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp breturn - //SEG1381 bitmap_line::@13 + //SEG1376 bitmap_line::@13 b13: - //SEG1382 [674] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1377 [669] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyi.x - //SEG1383 [675] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - //SEG1384 [676] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx + //SEG1378 [670] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + //SEG1379 [671] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx stx bitmap_line_xdyi.x1 - //SEG1385 [677] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 - //SEG1386 [678] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy + //SEG1380 [672] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 + //SEG1381 [673] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy sty bitmap_line_xdyi.yd - //SEG1387 [679] call bitmap_line_xdyi - //SEG1388 [680] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] + //SEG1382 [674] call bitmap_line_xdyi + //SEG1383 [675] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] bitmap_line_xdyi_from_b13: - //SEG1389 [680] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy - //SEG1390 [680] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy - //SEG1391 [680] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy - //SEG1392 [680] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy - //SEG1393 [680] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy + //SEG1384 [675] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy + //SEG1385 [675] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy + //SEG1386 [675] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy + //SEG1387 [675] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy + //SEG1388 [675] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp breturn } -//SEG1394 bitmap_line_xdyi +//SEG1389 bitmap_line_xdyi // bitmap_line_xdyi(byte zeropage($e) x, byte zeropage($f) y, byte zeropage($d) x1, byte zeropage(8) xd, byte zeropage(7) yd) bitmap_line_xdyi: { .label x = $e @@ -24332,90 +24554,90 @@ bitmap_line_xdyi: { .label xd = 8 .label yd = 7 .label e = $12 - //SEG1395 [681] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1390 [676] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda yd lsr sta e - //SEG1396 [682] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] + //SEG1391 [677] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] b1_from_bitmap_line_xdyi: b1_from_b2: - //SEG1397 [682] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy - //SEG1398 [682] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy - //SEG1399 [682] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy + //SEG1392 [677] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy + //SEG1393 [677] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy + //SEG1394 [677] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy jmp b1 - //SEG1400 bitmap_line_xdyi::@1 + //SEG1395 bitmap_line_xdyi::@1 b1: - //SEG1401 [683] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuxx=vbuz1 + //SEG1396 [678] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuxx=vbuz1 ldx x - //SEG1402 [684] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1 + //SEG1397 [679] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1 ldy y - //SEG1403 [685] call bitmap_plot - //SEG1404 [695] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] + //SEG1398 [680] call bitmap_plot + //SEG1399 [690] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1405 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy - //SEG1406 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy + //SEG1400 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy + //SEG1401 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp b4 - //SEG1407 bitmap_line_xdyi::@4 + //SEG1402 bitmap_line_xdyi::@4 b4: - //SEG1408 [686] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 + //SEG1403 [681] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1409 [687] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1404 [682] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc yd sta e - //SEG1410 [688] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1405 [683] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 lda xd cmp e bcs b2_from_b4 jmp b3 - //SEG1411 bitmap_line_xdyi::@3 + //SEG1406 bitmap_line_xdyi::@3 b3: - //SEG1412 [689] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1407 [684] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1413 [690] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1408 [685] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc xd sta e - //SEG1414 [691] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] + //SEG1409 [686] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] b2_from_b3: b2_from_b4: - //SEG1415 [691] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy - //SEG1416 [691] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy + //SEG1410 [686] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy + //SEG1411 [686] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy jmp b2 - //SEG1417 bitmap_line_xdyi::@2 + //SEG1412 bitmap_line_xdyi::@2 b2: - //SEG1418 [692] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuz1_plus_1 + //SEG1413 [687] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuz1_plus_1 ldx x1 inx - //SEG1419 [693] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuxx_then_la1 + //SEG1414 [688] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuxx_then_la1 cpx x bne b1_from_b2 jmp breturn - //SEG1420 bitmap_line_xdyi::@return + //SEG1415 bitmap_line_xdyi::@return breturn: - //SEG1421 [694] return + //SEG1416 [689] return rts } -//SEG1422 bitmap_plot +//SEG1417 bitmap_plot // bitmap_plot(byte register(X) x, byte register(Y) y) bitmap_plot: { .label _0 = 3 .label plotter_x = 3 .label plotter_y = 5 - //SEG1423 [696] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx + //SEG1418 [691] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx lda bitmap_plot_xhi,x sta plotter_x+1 lda bitmap_plot_xlo,x sta plotter_x - //SEG1424 [697] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + //SEG1419 [692] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy lda bitmap_plot_yhi,y sta plotter_y+1 lda bitmap_plot_ylo,y sta plotter_y - //SEG1425 [698] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 + //SEG1420 [693] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 lda _0 clc adc plotter_y @@ -24423,20 +24645,20 @@ bitmap_plot: { lda _0+1 adc plotter_y+1 sta _0+1 - //SEG1426 [699] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx + //SEG1421 [694] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx lda bitmap_plot_bit,x ldy #0 ora (_0),y - //SEG1427 [700] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa + //SEG1422 [695] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa ldy #0 sta (_0),y jmp breturn - //SEG1428 bitmap_plot::@return + //SEG1423 bitmap_plot::@return breturn: - //SEG1429 [701] return + //SEG1424 [696] return rts } -//SEG1430 bitmap_line_ydxi +//SEG1425 bitmap_line_ydxi // bitmap_line_ydxi(byte zeropage($e) y, byte register(X) x, byte zeropage($12) y1, byte zeropage(7) yd, byte zeropage(8) xd) bitmap_line_ydxi: { .label y = $e @@ -24444,74 +24666,74 @@ bitmap_line_ydxi: { .label yd = 7 .label xd = 8 .label e = $d - //SEG1431 [703] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1426 [698] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda xd lsr sta e - //SEG1432 [704] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] + //SEG1427 [699] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] b1_from_bitmap_line_ydxi: b1_from_b2: - //SEG1433 [704] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy - //SEG1434 [704] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy - //SEG1435 [704] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy + //SEG1428 [699] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy + //SEG1429 [699] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy + //SEG1430 [699] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy jmp b1 - //SEG1436 bitmap_line_ydxi::@1 + //SEG1431 bitmap_line_ydxi::@1 b1: - //SEG1437 [705] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 - //SEG1438 [706] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1 + //SEG1432 [700] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 + //SEG1433 [701] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1 ldy y - //SEG1439 [707] call bitmap_plot - //SEG1440 [695] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] + //SEG1434 [702] call bitmap_plot + //SEG1435 [690] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1441 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy - //SEG1442 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy + //SEG1436 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy + //SEG1437 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp b4 - //SEG1443 bitmap_line_ydxi::@4 + //SEG1438 bitmap_line_ydxi::@4 b4: - //SEG1444 [708] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1439 [703] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1445 [709] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1440 [704] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc xd sta e - //SEG1446 [710] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1441 [705] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 lda yd cmp e bcs b2_from_b4 jmp b3 - //SEG1447 bitmap_line_ydxi::@3 + //SEG1442 bitmap_line_ydxi::@3 b3: - //SEG1448 [711] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx + //SEG1443 [706] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx inx - //SEG1449 [712] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1444 [707] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc yd sta e - //SEG1450 [713] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] + //SEG1445 [708] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] b2_from_b3: b2_from_b4: - //SEG1451 [713] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy - //SEG1452 [713] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy + //SEG1446 [708] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy + //SEG1447 [708] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy jmp b2 - //SEG1453 bitmap_line_ydxi::@2 + //SEG1448 bitmap_line_ydxi::@2 b2: - //SEG1454 [714] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 + //SEG1449 [709] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 lda y1 clc adc #1 - //SEG1455 [715] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuaa_then_la1 + //SEG1450 [710] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuaa_then_la1 cmp y bne b1_from_b2 jmp breturn - //SEG1456 bitmap_line_ydxi::@return + //SEG1451 bitmap_line_ydxi::@return breturn: - //SEG1457 [716] return + //SEG1452 [711] return rts } -//SEG1458 bitmap_line_xdyd +//SEG1453 bitmap_line_xdyd // bitmap_line_xdyd(byte zeropage($e) x, byte zeropage($f) y, byte zeropage($d) x1, byte zeropage(8) xd, byte zeropage(7) yd) bitmap_line_xdyd: { .label x = $e @@ -24520,74 +24742,74 @@ bitmap_line_xdyd: { .label xd = 8 .label yd = 7 .label e = $12 - //SEG1459 [718] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1454 [713] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda yd lsr sta e - //SEG1460 [719] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] + //SEG1455 [714] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] b1_from_bitmap_line_xdyd: b1_from_b2: - //SEG1461 [719] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy - //SEG1462 [719] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy - //SEG1463 [719] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy + //SEG1456 [714] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy + //SEG1457 [714] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy + //SEG1458 [714] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy jmp b1 - //SEG1464 bitmap_line_xdyd::@1 + //SEG1459 bitmap_line_xdyd::@1 b1: - //SEG1465 [720] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuxx=vbuz1 + //SEG1460 [715] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuxx=vbuz1 ldx x - //SEG1466 [721] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1 + //SEG1461 [716] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1 ldy y - //SEG1467 [722] call bitmap_plot - //SEG1468 [695] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] + //SEG1462 [717] call bitmap_plot + //SEG1463 [690] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1469 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy - //SEG1470 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy + //SEG1464 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy + //SEG1465 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp b4 - //SEG1471 bitmap_line_xdyd::@4 + //SEG1466 bitmap_line_xdyd::@4 b4: - //SEG1472 [723] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 + //SEG1467 [718] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1473 [724] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1468 [719] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc yd sta e - //SEG1474 [725] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1469 [720] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 lda xd cmp e bcs b2_from_b4 jmp b3 - //SEG1475 bitmap_line_xdyd::@3 + //SEG1470 bitmap_line_xdyd::@3 b3: - //SEG1476 [726] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 + //SEG1471 [721] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 dec y - //SEG1477 [727] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1472 [722] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc xd sta e - //SEG1478 [728] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] + //SEG1473 [723] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] b2_from_b3: b2_from_b4: - //SEG1479 [728] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy - //SEG1480 [728] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy + //SEG1474 [723] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy + //SEG1475 [723] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy jmp b2 - //SEG1481 bitmap_line_xdyd::@2 + //SEG1476 bitmap_line_xdyd::@2 b2: - //SEG1482 [729] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuz1_plus_1 + //SEG1477 [724] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuz1_plus_1 ldx x1 inx - //SEG1483 [730] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuxx_then_la1 + //SEG1478 [725] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuxx_then_la1 cpx x bne b1_from_b2 jmp breturn - //SEG1484 bitmap_line_xdyd::@return + //SEG1479 bitmap_line_xdyd::@return breturn: - //SEG1485 [731] return + //SEG1480 [726] return rts } -//SEG1486 bitmap_line_ydxd +//SEG1481 bitmap_line_ydxd // bitmap_line_ydxd(byte zeropage($e) y, byte register(X) x, byte zeropage($f) y1, byte zeropage(7) yd, byte zeropage(8) xd) bitmap_line_ydxd: { .label y = $e @@ -24595,230 +24817,230 @@ bitmap_line_ydxd: { .label yd = 7 .label xd = 8 .label e = $d - //SEG1487 [733] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1482 [728] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda xd lsr sta e - //SEG1488 [734] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] + //SEG1483 [729] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] b1_from_bitmap_line_ydxd: b1_from_b2: - //SEG1489 [734] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy - //SEG1490 [734] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy - //SEG1491 [734] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy + //SEG1484 [729] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy + //SEG1485 [729] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy + //SEG1486 [729] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy jmp b1 - //SEG1492 bitmap_line_ydxd::@1 + //SEG1487 bitmap_line_ydxd::@1 b1: - //SEG1493 [735] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 - //SEG1494 [736] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1 + //SEG1488 [730] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 + //SEG1489 [731] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1 ldy y - //SEG1495 [737] call bitmap_plot - //SEG1496 [695] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] + //SEG1490 [732] call bitmap_plot + //SEG1491 [690] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1497 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy - //SEG1498 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy + //SEG1492 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy + //SEG1493 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp b4 - //SEG1499 bitmap_line_ydxd::@4 + //SEG1494 bitmap_line_ydxd::@4 b4: - //SEG1500 [738] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 + //SEG1495 [733] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG1501 [739] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1496 [734] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc xd sta e - //SEG1502 [740] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1497 [735] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 lda yd cmp e bcs b2_from_b4 jmp b3 - //SEG1503 bitmap_line_ydxd::@3 + //SEG1498 bitmap_line_ydxd::@3 b3: - //SEG1504 [741] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx + //SEG1499 [736] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx dex - //SEG1505 [742] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1500 [737] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc yd sta e - //SEG1506 [743] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] + //SEG1501 [738] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] b2_from_b3: b2_from_b4: - //SEG1507 [743] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy - //SEG1508 [743] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy + //SEG1502 [738] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy + //SEG1503 [738] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy jmp b2 - //SEG1509 bitmap_line_ydxd::@2 + //SEG1504 bitmap_line_ydxd::@2 b2: - //SEG1510 [744] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 + //SEG1505 [739] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 lda y1 clc adc #1 - //SEG1511 [745] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuaa_then_la1 + //SEG1506 [740] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuaa_then_la1 cmp y bne b1_from_b2 jmp breturn - //SEG1512 bitmap_line_ydxd::@return + //SEG1507 bitmap_line_ydxd::@return breturn: - //SEG1513 [746] return + //SEG1508 [741] return rts } -//SEG1514 bitmap_clear +//SEG1509 bitmap_clear // Clear all graphics on the bitmap bitmap_clear: { .label bitmap = 3 .label y = 2 .label _3 = 3 - //SEG1515 [747] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG1510 [742] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda bitmap_plot_xlo sta _3 lda bitmap_plot_xhi sta _3+1 - //SEG1516 [748] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 - //SEG1517 [749] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] + //SEG1511 [743] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 + //SEG1512 [744] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] b1_from_bitmap_clear: - //SEG1518 [749] phi (byte) bitmap_clear::y#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 + //SEG1513 [744] phi (byte) bitmap_clear::y#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 lda #0 sta y - //SEG1519 [749] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy + //SEG1514 [744] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy jmp b1 - //SEG1520 [749] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] + //SEG1515 [744] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] b1_from_b3: - //SEG1521 [749] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy - //SEG1522 [749] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy + //SEG1516 [744] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy + //SEG1517 [744] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy jmp b1 - //SEG1523 bitmap_clear::@1 + //SEG1518 bitmap_clear::@1 b1: - //SEG1524 [750] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] + //SEG1519 [745] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] b2_from_b1: - //SEG1525 [750] phi (byte) bitmap_clear::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1 + //SEG1520 [745] phi (byte) bitmap_clear::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1526 [750] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy + //SEG1521 [745] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy jmp b2 - //SEG1527 [750] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] + //SEG1522 [745] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] b2_from_b2: - //SEG1528 [750] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy - //SEG1529 [750] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy + //SEG1523 [745] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy + //SEG1524 [745] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy jmp b2 - //SEG1530 bitmap_clear::@2 + //SEG1525 bitmap_clear::@2 b2: - //SEG1531 [751] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1526 [746] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (bitmap),y - //SEG1532 [752] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 + //SEG1527 [747] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 inc bitmap bne !+ inc bitmap+1 !: - //SEG1533 [753] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx + //SEG1528 [748] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx inx - //SEG1534 [754] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1529 [749] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$c8 bne b2_from_b2 jmp b3 - //SEG1535 bitmap_clear::@3 + //SEG1530 bitmap_clear::@3 b3: - //SEG1536 [755] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 + //SEG1531 [750] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 inc y - //SEG1537 [756] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1532 [751] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp y bne b1_from_b3 jmp breturn - //SEG1538 bitmap_clear::@return + //SEG1533 bitmap_clear::@return breturn: - //SEG1539 [757] return + //SEG1534 [752] return rts } -//SEG1540 bitmap_init +//SEG1535 bitmap_init // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { .label _6 = 2 .label yoffs = 3 - //SEG1541 [759] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] + //SEG1536 [754] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] b1_from_bitmap_init: - //SEG1542 [759] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 + //SEG1537 [754] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 ldy #$80 - //SEG1543 [759] phi (byte) bitmap_init::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1 + //SEG1538 [754] phi (byte) bitmap_init::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1 ldx #0 jmp b1 - //SEG1544 [759] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] + //SEG1539 [754] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] b1_from_b2: - //SEG1545 [759] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy - //SEG1546 [759] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy + //SEG1540 [754] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy + //SEG1541 [754] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy jmp b1 - //SEG1547 bitmap_init::@1 + //SEG1542 bitmap_init::@1 b1: - //SEG1548 [760] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 -- vbuaa=vbuxx_band_vbuc1 + //SEG1543 [755] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 -- vbuaa=vbuxx_band_vbuc1 txa and #$f8 - //SEG1549 [761] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1544 [756] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_xlo,x - //SEG1550 [762] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG1545 [757] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuxx=vbuc2 lda #>VIC_BITMAP sta bitmap_plot_xhi,x - //SEG1551 [763] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy + //SEG1546 [758] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy tya sta bitmap_plot_bit,x - //SEG1552 [764] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuyy_ror_1 + //SEG1547 [759] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuyy_ror_1 tya lsr tay - //SEG1553 [765] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1 + //SEG1548 [760] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1 cpy #0 bne b6_from_b1 - //SEG1554 [766] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] + //SEG1549 [761] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] b2_from_b1: - //SEG1555 [766] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 + //SEG1550 [761] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 ldy #$80 jmp b2 - //SEG1556 bitmap_init::@2 + //SEG1551 bitmap_init::@2 b2: - //SEG1557 [767] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx + //SEG1552 [762] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx inx - //SEG1558 [768] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 + //SEG1553 [763] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 cpx #0 bne b1_from_b2 - //SEG1559 [769] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] + //SEG1554 [764] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] b3_from_b2: - //SEG1560 [769] phi (byte*) bitmap_init::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 + //SEG1555 [764] phi (byte*) bitmap_init::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 lda #<0 sta yoffs lda #>0 sta yoffs+1 - //SEG1561 [769] phi (byte) bitmap_init::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 + //SEG1556 [764] phi (byte) bitmap_init::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 ldx #0 jmp b3 - //SEG1562 [769] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] + //SEG1557 [764] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] b3_from_b4: - //SEG1563 [769] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy - //SEG1564 [769] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy + //SEG1558 [764] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy + //SEG1559 [764] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy jmp b3 - //SEG1565 bitmap_init::@3 + //SEG1560 bitmap_init::@3 b3: - //SEG1566 [770] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1 + //SEG1561 [765] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1 lda #7 sax _6 - //SEG1567 [771] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 + //SEG1562 [766] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 lda yoffs - //SEG1568 [772] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa + //SEG1563 [767] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa ora _6 - //SEG1569 [773] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1564 [768] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_ylo,x - //SEG1570 [774] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 + //SEG1565 [769] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 lda yoffs+1 - //SEG1571 [775] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1566 [770] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_yhi,x - //SEG1572 [776] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuxx_band_vbuc1 + //SEG1567 [771] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuxx_band_vbuc1 txa and #7 - //SEG1573 [777] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuaa_neq_vbuc1_then_la1 + //SEG1568 [772] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuaa_neq_vbuc1_then_la1 cmp #7 bne b4_from_b3 jmp b5 - //SEG1574 bitmap_init::@5 + //SEG1569 bitmap_init::@5 b5: - //SEG1575 [778] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 + //SEG1570 [773] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 clc lda yoffs adc #<$28*8 @@ -24826,515 +25048,515 @@ bitmap_init: { lda yoffs+1 adc #>$28*8 sta yoffs+1 - //SEG1576 [779] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] + //SEG1571 [774] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] b4_from_b3: b4_from_b5: - //SEG1577 [779] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy + //SEG1572 [774] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy jmp b4 - //SEG1578 bitmap_init::@4 + //SEG1573 bitmap_init::@4 b4: - //SEG1579 [780] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx + //SEG1574 [775] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx inx - //SEG1580 [781] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 + //SEG1575 [776] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 cpx #0 bne b3_from_b4 jmp breturn - //SEG1581 bitmap_init::@return + //SEG1576 bitmap_init::@return breturn: - //SEG1582 [782] return + //SEG1577 [777] return rts - //SEG1583 [783] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] + //SEG1578 [778] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] b6_from_b1: jmp b6 - //SEG1584 bitmap_init::@6 + //SEG1579 bitmap_init::@6 b6: - //SEG1585 [766] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] + //SEG1580 [761] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] b2_from_b6: - //SEG1586 [766] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy + //SEG1581 [761] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy jmp b2 } -//SEG1587 gfx_init_charset +//SEG1582 gfx_init_charset gfx_init_charset: { .label charset = 5 .label chargen = 3 .label c = 2 - //SEG1588 [784] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 -- _deref_pbuc1=vbuc2 + //SEG1583 [779] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - //SEG1589 [785] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] + //SEG1584 [780] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] b1_from_gfx_init_charset: - //SEG1590 [785] phi (byte) gfx_init_charset::c#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 + //SEG1585 [780] phi (byte) gfx_init_charset::c#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 lda #0 sta c - //SEG1591 [785] phi (byte*) gfx_init_charset::charset#3 = (const byte*) VIC_CHARSET_ROM#0 [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 + //SEG1586 [780] phi (byte*) gfx_init_charset::charset#3 = (const byte*) VIC_CHARSET_ROM#0 [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 lda #VIC_CHARSET_ROM sta charset+1 - //SEG1592 [785] phi (byte*) gfx_init_charset::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 + //SEG1587 [780] phi (byte*) gfx_init_charset::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 lda #CHARGEN sta chargen+1 jmp b1 - //SEG1593 [785] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] + //SEG1588 [780] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] b1_from_b3: - //SEG1594 [785] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy - //SEG1595 [785] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy - //SEG1596 [785] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy + //SEG1589 [780] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy + //SEG1590 [780] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy + //SEG1591 [780] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy jmp b1 - //SEG1597 gfx_init_charset::@1 + //SEG1592 gfx_init_charset::@1 b1: - //SEG1598 [786] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] + //SEG1593 [781] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] b2_from_b1: - //SEG1599 [786] phi (byte) gfx_init_charset::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuxx=vbuc1 + //SEG1594 [781] phi (byte) gfx_init_charset::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1600 [786] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy - //SEG1601 [786] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy + //SEG1595 [781] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy + //SEG1596 [781] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy jmp b2 - //SEG1602 [786] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] + //SEG1597 [781] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] b2_from_b2: - //SEG1603 [786] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy - //SEG1604 [786] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy - //SEG1605 [786] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy + //SEG1598 [781] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy + //SEG1599 [781] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy + //SEG1600 [781] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy jmp b2 - //SEG1606 gfx_init_charset::@2 + //SEG1601 gfx_init_charset::@2 b2: - //SEG1607 [787] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 + //SEG1602 [782] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (chargen),y ldy #0 sta (charset),y - //SEG1608 [788] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 + //SEG1603 [783] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 inc charset bne !+ inc charset+1 !: - //SEG1609 [789] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1604 [784] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1610 [790] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx + //SEG1605 [785] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx inx - //SEG1611 [791] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1606 [786] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne b2_from_b2 jmp b3 - //SEG1612 gfx_init_charset::@3 + //SEG1607 gfx_init_charset::@3 b3: - //SEG1613 [792] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 + //SEG1608 [787] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 inc c - //SEG1614 [793] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 + //SEG1609 [788] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 lda c cmp #0 bne b1_from_b3 jmp b4 - //SEG1615 gfx_init_charset::@4 + //SEG1610 gfx_init_charset::@4 b4: - //SEG1616 [794] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 + //SEG1611 [789] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT jmp breturn - //SEG1617 gfx_init_charset::@return + //SEG1612 gfx_init_charset::@return breturn: - //SEG1618 [795] return + //SEG1613 [790] return rts } -//SEG1619 gfx_init_screen4 +//SEG1614 gfx_init_screen4 // Initialize VIC screen 4 - all chars are 00 gfx_init_screen4: { .label ch = 3 .label cy = 2 - //SEG1620 [797] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] + //SEG1615 [792] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] b1_from_gfx_init_screen4: - //SEG1621 [797] phi (byte) gfx_init_screen4::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 + //SEG1616 [792] phi (byte) gfx_init_screen4::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 lda #0 sta cy - //SEG1622 [797] phi (byte*) gfx_init_screen4::ch#3 = (const byte*) VIC_SCREEN4#0 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 + //SEG1617 [792] phi (byte*) gfx_init_screen4::ch#3 = (const byte*) VIC_SCREEN4#0 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 lda #VIC_SCREEN4 sta ch+1 jmp b1 - //SEG1623 [797] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] + //SEG1618 [792] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] b1_from_b3: - //SEG1624 [797] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy - //SEG1625 [797] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy + //SEG1619 [792] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy + //SEG1620 [792] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy jmp b1 - //SEG1626 gfx_init_screen4::@1 + //SEG1621 gfx_init_screen4::@1 b1: - //SEG1627 [798] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] + //SEG1622 [793] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] b2_from_b1: - //SEG1628 [798] phi (byte) gfx_init_screen4::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuxx=vbuc1 + //SEG1623 [793] phi (byte) gfx_init_screen4::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1629 [798] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy + //SEG1624 [793] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy jmp b2 - //SEG1630 [798] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] + //SEG1625 [793] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] b2_from_b2: - //SEG1631 [798] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy - //SEG1632 [798] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy + //SEG1626 [793] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy + //SEG1627 [793] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy jmp b2 - //SEG1633 gfx_init_screen4::@2 + //SEG1628 gfx_init_screen4::@2 b2: - //SEG1634 [799] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1629 [794] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (ch),y - //SEG1635 [800] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1630 [795] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1636 [801] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx + //SEG1631 [796] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1637 [802] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1632 [797] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1638 gfx_init_screen4::@3 + //SEG1633 gfx_init_screen4::@3 b3: - //SEG1639 [803] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1634 [798] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1640 [804] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1635 [799] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1641 gfx_init_screen4::@return + //SEG1636 gfx_init_screen4::@return breturn: - //SEG1642 [805] return + //SEG1637 [800] return rts } -//SEG1643 gfx_init_screen3 +//SEG1638 gfx_init_screen3 // Initialize VIC screen 3 ( value is %00xx00yy where xx is xpos and yy is ypos gfx_init_screen3: { .label _1 = 7 .label ch = 3 .label cy = 2 - //SEG1644 [807] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] + //SEG1639 [802] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] b1_from_gfx_init_screen3: - //SEG1645 [807] phi (byte*) gfx_init_screen3::ch#3 = (const byte*) VIC_SCREEN3#0 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 + //SEG1640 [802] phi (byte*) gfx_init_screen3::ch#3 = (const byte*) VIC_SCREEN3#0 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN3 sta ch+1 - //SEG1646 [807] phi (byte) gfx_init_screen3::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 + //SEG1641 [802] phi (byte) gfx_init_screen3::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b1 - //SEG1647 [807] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] + //SEG1642 [802] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] b1_from_b3: - //SEG1648 [807] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy - //SEG1649 [807] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy + //SEG1643 [802] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy + //SEG1644 [802] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy jmp b1 - //SEG1650 gfx_init_screen3::@1 + //SEG1645 gfx_init_screen3::@1 b1: - //SEG1651 [808] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] + //SEG1646 [803] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] b2_from_b1: - //SEG1652 [808] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy - //SEG1653 [808] phi (byte) gfx_init_screen3::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuxx=vbuc1 + //SEG1647 [803] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy + //SEG1648 [803] phi (byte) gfx_init_screen3::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuxx=vbuc1 ldx #0 jmp b2 - //SEG1654 [808] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] + //SEG1649 [803] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] b2_from_b2: - //SEG1655 [808] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy - //SEG1656 [808] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy + //SEG1650 [803] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy + //SEG1651 [803] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy jmp b2 - //SEG1657 gfx_init_screen3::@2 + //SEG1652 gfx_init_screen3::@2 b2: - //SEG1658 [809] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuxx_band_vbuc1 + //SEG1653 [804] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuxx_band_vbuc1 txa and #3 - //SEG1659 [810] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 + //SEG1654 [805] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 asl asl asl asl sta _1 - //SEG1660 [811] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuz1_band_vbuc1 + //SEG1655 [806] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuz1_band_vbuc1 lda #3 and cy - //SEG1661 [812] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa + //SEG1656 [807] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG1662 [813] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa + //SEG1657 [808] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1663 [814] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1658 [809] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1664 [815] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx + //SEG1659 [810] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1665 [816] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1660 [811] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1666 gfx_init_screen3::@3 + //SEG1661 gfx_init_screen3::@3 b3: - //SEG1667 [817] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1662 [812] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1668 [818] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1663 [813] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1669 gfx_init_screen3::@return + //SEG1664 gfx_init_screen3::@return breturn: - //SEG1670 [819] return + //SEG1665 [814] return rts } -//SEG1671 gfx_init_screen2 +//SEG1666 gfx_init_screen2 // Initialize VIC screen 2 ( value is %ccccrrrr where cccc is (x+y mod $f) and rrrr is %1111-%cccc) gfx_init_screen2: { .label col2 = 7 .label ch = 3 .label cy = 2 - //SEG1672 [821] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] + //SEG1667 [816] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] b1_from_gfx_init_screen2: - //SEG1673 [821] phi (byte*) gfx_init_screen2::ch#3 = (const byte*) VIC_SCREEN2#0 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 + //SEG1668 [816] phi (byte*) gfx_init_screen2::ch#3 = (const byte*) VIC_SCREEN2#0 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN2 sta ch+1 - //SEG1674 [821] phi (byte) gfx_init_screen2::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 + //SEG1669 [816] phi (byte) gfx_init_screen2::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b1 - //SEG1675 [821] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] + //SEG1670 [816] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] b1_from_b3: - //SEG1676 [821] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy - //SEG1677 [821] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy + //SEG1671 [816] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy + //SEG1672 [816] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy jmp b1 - //SEG1678 gfx_init_screen2::@1 + //SEG1673 gfx_init_screen2::@1 b1: - //SEG1679 [822] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] + //SEG1674 [817] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] b2_from_b1: - //SEG1680 [822] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy - //SEG1681 [822] phi (byte) gfx_init_screen2::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuxx=vbuc1 + //SEG1675 [817] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy + //SEG1676 [817] phi (byte) gfx_init_screen2::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuxx=vbuc1 ldx #0 jmp b2 - //SEG1682 [822] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] + //SEG1677 [817] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] b2_from_b2: - //SEG1683 [822] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy - //SEG1684 [822] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy + //SEG1678 [817] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy + //SEG1679 [817] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy jmp b2 - //SEG1685 gfx_init_screen2::@2 + //SEG1680 gfx_init_screen2::@2 b2: - //SEG1686 [823] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + //SEG1681 [818] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 txa clc adc cy - //SEG1687 [824] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuyy=vbuaa_band_vbuc1 + //SEG1682 [819] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuyy=vbuaa_band_vbuc1 and #$f tay - //SEG1688 [825] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy + //SEG1683 [820] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy tya eor #$ff clc adc #$f+1 sta col2 - //SEG1689 [826] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuyy_rol_4 + //SEG1684 [821] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuyy_rol_4 tya asl asl asl asl - //SEG1690 [827] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 + //SEG1685 [822] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 ora col2 - //SEG1691 [828] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa + //SEG1686 [823] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1692 [829] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1687 [824] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1693 [830] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx + //SEG1688 [825] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1694 [831] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1689 [826] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1695 gfx_init_screen2::@3 + //SEG1690 gfx_init_screen2::@3 b3: - //SEG1696 [832] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1691 [827] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1697 [833] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1692 [828] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1698 gfx_init_screen2::@return + //SEG1693 gfx_init_screen2::@return breturn: - //SEG1699 [834] return + //SEG1694 [829] return rts } -//SEG1700 gfx_init_screen1 +//SEG1695 gfx_init_screen1 // Initialize VIC screen 1 ( value is %0000cccc where cccc is (x+y mod $f)) gfx_init_screen1: { .label ch = 3 .label cy = 2 - //SEG1701 [836] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] + //SEG1696 [831] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] b1_from_gfx_init_screen1: - //SEG1702 [836] phi (byte*) gfx_init_screen1::ch#3 = (const byte*) VIC_SCREEN1#0 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 + //SEG1697 [831] phi (byte*) gfx_init_screen1::ch#3 = (const byte*) VIC_SCREEN1#0 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN1 sta ch+1 - //SEG1703 [836] phi (byte) gfx_init_screen1::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 + //SEG1698 [831] phi (byte) gfx_init_screen1::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b1 - //SEG1704 [836] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] + //SEG1699 [831] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] b1_from_b3: - //SEG1705 [836] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy - //SEG1706 [836] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy + //SEG1700 [831] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy + //SEG1701 [831] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy jmp b1 - //SEG1707 gfx_init_screen1::@1 + //SEG1702 gfx_init_screen1::@1 b1: - //SEG1708 [837] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] + //SEG1703 [832] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] b2_from_b1: - //SEG1709 [837] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy - //SEG1710 [837] phi (byte) gfx_init_screen1::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuxx=vbuc1 + //SEG1704 [832] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy + //SEG1705 [832] phi (byte) gfx_init_screen1::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuxx=vbuc1 ldx #0 jmp b2 - //SEG1711 [837] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] + //SEG1706 [832] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] b2_from_b2: - //SEG1712 [837] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy - //SEG1713 [837] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy + //SEG1707 [832] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy + //SEG1708 [832] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy jmp b2 - //SEG1714 gfx_init_screen1::@2 + //SEG1709 gfx_init_screen1::@2 b2: - //SEG1715 [838] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + //SEG1710 [833] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 txa clc adc cy - //SEG1716 [839] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuaa_band_vbuc1 + //SEG1711 [834] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuaa_band_vbuc1 and #$f - //SEG1717 [840] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa + //SEG1712 [835] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1718 [841] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1713 [836] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1719 [842] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx + //SEG1714 [837] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1720 [843] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1715 [838] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1721 gfx_init_screen1::@3 + //SEG1716 gfx_init_screen1::@3 b3: - //SEG1722 [844] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1717 [839] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1723 [845] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1718 [840] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1724 gfx_init_screen1::@return + //SEG1719 gfx_init_screen1::@return breturn: - //SEG1725 [846] return + //SEG1720 [841] return rts } -//SEG1726 gfx_init_screen0 +//SEG1721 gfx_init_screen0 // Initialize VIC screen 0 ( value is %yyyyxxxx where yyyy is ypos and xxxx is xpos) gfx_init_screen0: { .label _1 = 7 .label ch = 3 .label cy = 2 - //SEG1727 [848] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] + //SEG1722 [843] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] b1_from_gfx_init_screen0: - //SEG1728 [848] phi (byte*) gfx_init_screen0::ch#3 = (const byte*) VIC_SCREEN0#0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 + //SEG1723 [843] phi (byte*) gfx_init_screen0::ch#3 = (const byte*) VIC_SCREEN0#0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN0 sta ch+1 - //SEG1729 [848] phi (byte) gfx_init_screen0::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 + //SEG1724 [843] phi (byte) gfx_init_screen0::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b1 - //SEG1730 [848] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] + //SEG1725 [843] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] b1_from_b3: - //SEG1731 [848] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy - //SEG1732 [848] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy + //SEG1726 [843] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy + //SEG1727 [843] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy jmp b1 - //SEG1733 gfx_init_screen0::@1 + //SEG1728 gfx_init_screen0::@1 b1: - //SEG1734 [849] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] + //SEG1729 [844] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] b2_from_b1: - //SEG1735 [849] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy - //SEG1736 [849] phi (byte) gfx_init_screen0::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuxx=vbuc1 + //SEG1730 [844] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy + //SEG1731 [844] phi (byte) gfx_init_screen0::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuxx=vbuc1 ldx #0 jmp b2 - //SEG1737 [849] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] + //SEG1732 [844] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] b2_from_b2: - //SEG1738 [849] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy - //SEG1739 [849] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy + //SEG1733 [844] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy + //SEG1734 [844] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy jmp b2 - //SEG1740 gfx_init_screen0::@2 + //SEG1735 gfx_init_screen0::@2 b2: - //SEG1741 [850] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuz1_band_vbuc1 + //SEG1736 [845] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuz1_band_vbuc1 lda #$f and cy - //SEG1742 [851] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 + //SEG1737 [846] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 asl asl asl asl sta _1 - //SEG1743 [852] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuxx_band_vbuc1 + //SEG1738 [847] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG1744 [853] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa + //SEG1739 [848] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG1745 [854] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa + //SEG1740 [849] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1746 [855] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1741 [850] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1747 [856] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx + //SEG1742 [851] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1748 [857] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1743 [852] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1749 gfx_init_screen0::@3 + //SEG1744 gfx_init_screen0::@3 b3: - //SEG1750 [858] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1745 [853] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1751 [859] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1746 [854] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1_from_b3 jmp breturn - //SEG1752 gfx_init_screen0::@return + //SEG1747 gfx_init_screen0::@return breturn: - //SEG1753 [860] return + //SEG1748 [855] return rts } -//SEG1754 keyboard_init +//SEG1749 keyboard_init // Initialize keyboard reading by setting CIA#$ Data Direction Registers keyboard_init: { - //SEG1755 [861] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 + //SEG1750 [856] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Write Mode lda #$ff sta CIA1_PORT_A_DDR - //SEG1756 [862] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + //SEG1751 [857] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Read Mode lda #0 sta CIA1_PORT_B_DDR jmp breturn - //SEG1757 keyboard_init::@return + //SEG1752 keyboard_init::@return breturn: - //SEG1758 [863] return + //SEG1753 [858] return rts } // Default vallues for the palette @@ -25706,9 +25928,9 @@ Removing instruction lda #0 Removing instruction lda row_scan Removing instruction lda #0 Removing instruction ldy #0 -Removing instruction ldy #0 -Removing instruction ldy #0 -Removing instruction ldy #0 +Removing instruction ldy form_field_ptr.x +Removing instruction ldy form_field_ptr.x +Removing instruction ldy form_field_ptr.x Replacing instruction ldy #0 with TAY Removing instruction lda #0 Removing instruction lda #0 @@ -25898,6 +26120,7 @@ Removing instruction b1_from_render_preset_name: Removing instruction b1_from_b12: Removing instruction print_str_at_from_b1: Removing instruction b1_from_b2: +Removing instruction form_field_ptr_from_b1: Removing instruction b12_from_b11: Removing instruction b1_from_apply_preset: Removing instruction b1_from_b12: @@ -26141,7 +26364,6 @@ Removing instruction b1_from_print_str_at: Removing instruction breturn: Removing instruction b1_from_b2: Removing instruction b1_from_form_render_values: -Removing instruction form_field_ptr_from_b1: Removing instruction b2: Removing instruction breturn: Removing instruction breturn: @@ -26492,7 +26714,7 @@ Fixing long branch [763] beq b11 to bne Fixing long branch [767] beq b12 to bne Fixing long branch [771] beq b13 to bne Fixing long branch [775] beq b14 to bne -Fixing long branch [1324] bmi b2 to bpl +Fixing long branch [1313] bmi b2 to bpl FINAL SYMBOL TABLE (label) @1 @@ -27024,7 +27246,6 @@ FINAL SYMBOL TABLE (label) form_control::@9 (label) form_control::@return (byte*) form_control::field -(byte*) form_control::field#0 field zp ZP_WORD:3 0.5925925925925926 (byte) form_control::key_event (byte) form_control::key_event#0 reg byte a 2.6666666666666665 (byte) form_control::return @@ -27052,34 +27273,31 @@ FINAL SYMBOL TABLE (signed byte) form_cursor_count#1 form_cursor_count zp ZP_BYTE:13 0.3333333333333333 (signed byte) form_cursor_count#15 form_cursor_count zp ZP_BYTE:13 0.4 (signed byte) form_cursor_count#16 form_cursor_count zp ZP_BYTE:13 65.82352941176472 -(signed byte) form_cursor_count#21 form_cursor_count zp ZP_BYTE:13 157.99999999999997 +(signed byte) form_cursor_count#21 form_cursor_count zp ZP_BYTE:13 221.2 (signed byte) form_cursor_count#5 form_cursor_count zp ZP_BYTE:13 2.0 (byte*) form_dtv_palet (const byte*) form_dtv_palet#0 form_dtv_palet = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) $1b (byte) form_field_idx (byte) form_field_idx#1 form_field_idx zp ZP_BYTE:14 0.3333333333333333 (byte) form_field_idx#18 form_field_idx zp ZP_BYTE:14 65.94117647058826 -(byte) form_field_idx#28 form_field_idx zp ZP_BYTE:14 29.17948717948718 +(byte) form_field_idx#28 form_field_idx zp ZP_BYTE:14 30.75675675675673 (byte) form_field_idx#31 form_field_idx zp ZP_BYTE:14 6.0 (byte) form_field_idx#44 form_field_idx zp ZP_BYTE:14 2.0 (byte) form_field_idx#45 form_field_idx zp ZP_BYTE:14 2.0 (byte*()) form_field_ptr((byte) form_field_ptr::field_idx) -(word~) form_field_ptr::$2 $2 zp ZP_WORD:3 1.0 +(word~) form_field_ptr::$2 $2 zp ZP_WORD:3 0.06451612903225806 (label) form_field_ptr::@return (byte*) form_field_ptr::field (byte) form_field_ptr::field_idx -(byte) form_field_ptr::field_idx#0 reg byte y 2002.0 -(byte) form_field_ptr::field_idx#1 reg byte y 4.0 -(byte) form_field_ptr::field_idx#2 reg byte y 335.66666666666674 +(byte) form_field_ptr::field_idx#0 reg byte x 2002.0 +(byte) form_field_ptr::field_idx#1 reg byte x 4.0 +(byte) form_field_ptr::field_idx#2 reg byte x 335.66666666666674 (byte*) form_field_ptr::line (byte*) form_field_ptr::return -(byte*) form_field_ptr::return#0 return zp ZP_WORD:3 251.25 -(byte*) form_field_ptr::return#2 return zp ZP_WORD:3 2002.0 -(byte*) form_field_ptr::return#3 return zp ZP_WORD:3 4.0 (byte) form_field_ptr::x -(byte) form_field_ptr::x#0 reg byte a 4.0 +(byte) form_field_ptr::x#0 x zp ZP_BYTE:19 33.90000000000003 (byte) form_field_ptr::y -(byte) form_field_ptr::y#0 reg byte x 6.0 +(byte) form_field_ptr::y#0 reg byte a 6.0 (byte) form_fields_cnt (const byte) form_fields_cnt#0 form_fields_cnt = (byte/signed byte/word/signed word/dword/signed dword) $24 (byte[]) form_fields_max @@ -27129,10 +27347,9 @@ FINAL SYMBOL TABLE (label) form_render_values::@2 (label) form_render_values::@return (byte*) form_render_values::field -(byte*) form_render_values::field#0 field zp ZP_WORD:3 2002.0 (byte) form_render_values::idx -(byte) form_render_values::idx#1 idx zp ZP_BYTE:2 1501.5 -(byte) form_render_values::idx#2 idx zp ZP_BYTE:2 667.3333333333334 +(byte) form_render_values::idx#1 reg byte x 1501.5 +(byte) form_render_values::idx#2 reg byte x 1001.0 (void()) form_set_screen((byte*) form_set_screen::screen) (byte~) form_set_screen::$0 reg byte a 202.0 (byte~) form_set_screen::$1 reg byte a 202.0 @@ -27326,7 +27543,7 @@ FINAL SYMBOL TABLE (byte) gfx_init_plane_charset8::gfxbCpuBank (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfxbCpuBank = ((byte))(const dword) PLANE_CHARSET8#0/(word/signed word/dword/signed dword) $4000 (void()) gfx_init_plane_fill((dword) gfx_init_plane_fill::plane_addr , (byte) gfx_init_plane_fill::fill) -(dword~) gfx_init_plane_fill::$0 $0 zp ZP_DWORD:19 4.0 +(dword~) gfx_init_plane_fill::$0 $0 zp ZP_DWORD:20 4.0 (word~) gfx_init_plane_fill::$1 $1 zp ZP_WORD:3 4.0 (word~) gfx_init_plane_fill::$4 $4 zp ZP_WORD:3 4.0 (word~) gfx_init_plane_fill::$5 $5 zp ZP_WORD:3 4.0 @@ -27737,7 +27954,7 @@ FINAL SYMBOL TABLE (byte) keyboard_events_size#24 keyboard_events_size zp ZP_BYTE:8 6.6923076923076925 (byte) keyboard_events_size#27 keyboard_events_size zp ZP_BYTE:8 0.3333333333333333 (byte) keyboard_events_size#4 keyboard_events_size zp ZP_BYTE:8 3.0 -(byte) keyboard_events_size#47 keyboard_events_size zp ZP_BYTE:8 65.05882352941177 +(byte) keyboard_events_size#47 keyboard_events_size zp ZP_BYTE:8 73.73333333333335 (void()) keyboard_init() (label) keyboard_init::@return (byte[8]) keyboard_matrix_col_bitmask @@ -27878,8 +28095,8 @@ FINAL SYMBOL TABLE reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] reg byte a [ gfx_mode::vic_control2#2 ] -zp ZP_BYTE:2 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 gfx_mode::$56 bitmap_init::$6 ] -zp ZP_WORD:3 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::return#2 form_render_values::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#3 form_control::field#0 gfx_init_plane_fill::$1 bitmap_plot::plotter_x#0 bitmap_plot::$0 ] +zp ZP_BYTE:2 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 gfx_mode::$56 bitmap_init::$6 ] +zp ZP_WORD:3 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::$2 gfx_init_plane_fill::$1 bitmap_plot::plotter_x#0 bitmap_plot::$0 ] zp ZP_WORD:5 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 print_cls::$0 bitmap_plot::plotter_y#0 ] reg byte x [ gfx_mode::cx#2 gfx_mode::cx#1 ] reg byte x [ gfx_mode::j#2 gfx_mode::j#1 ] @@ -27897,7 +28114,8 @@ zp ZP_BYTE:13 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 fo zp ZP_BYTE:14 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:15 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] reg byte a [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] -reg byte y [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] +reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] +reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] reg byte y [ apply_preset::i#2 apply_preset::i#1 ] reg byte x [ form_control::return#2 ] reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] @@ -27978,8 +28196,8 @@ reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ form_control::return#0 ] reg byte a [ form_mode::$36 ] reg byte a [ apply_preset::idx#0 ] -reg byte x [ form_field_ptr::y#0 ] -reg byte a [ form_field_ptr::x#0 ] +reg byte a [ form_field_ptr::y#0 ] +zp ZP_BYTE:19 [ form_field_ptr::x#0 ] reg byte a [ form_control::$13 ] reg byte a [ keyboard_event_get::return#4 ] reg byte a [ form_control::key_event#0 ] @@ -27990,7 +28208,7 @@ reg byte a [ form_control::$14 ] reg byte a [ form_set_screen::$0 ] reg byte a [ form_set_screen::$1 ] reg byte a [ print_str_lines::ch#0 ] -zp ZP_DWORD:19 [ gfx_init_plane_fill::$0 ] +zp ZP_DWORD:20 [ gfx_init_plane_fill::$0 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] reg byte a [ gfx_init_plane_horisontal2::$8 ] reg byte a [ gfx_init_plane_horisontal2::row#0 ] @@ -28027,7 +28245,7 @@ reg byte a [ gfx_init_screen0::$3 ] FINAL ASSEMBLER -Score: 10142550 +Score: 10128544 //SEG0 File Comments // Interactive Explorer for C64DTV Screen Modes @@ -28231,7 +28449,7 @@ main: { //SEG15 [9] phi from main to main::@3 [phi:main->main::@3] //SEG16 main::@3 //SEG17 [10] call gfx_init - //SEG18 [449] phi from main::@3 to gfx_init [phi:main::@3->gfx_init] + //SEG18 [444] phi from main::@3 to gfx_init [phi:main::@3->gfx_init] jsr gfx_init //SEG19 [11] phi from main::@3 to main::@1 [phi:main::@3->main::@1] //SEG20 [11] phi (byte) form_field_idx#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@3->main::@1#0] -- vbuz1=vbuc1 @@ -29445,8 +29663,8 @@ get_plane: { form_mode: { .label preset_current = $f //SEG484 [255] call print_set_screen - //SEG485 [447] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] - //SEG486 [447] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 + //SEG485 [442] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] + //SEG486 [442] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 lda #COLS @@ -29459,8 +29677,8 @@ form_mode: { //SEG490 [258] phi from form_mode::@8 to form_mode::@9 [phi:form_mode::@8->form_mode::@9] //SEG491 form_mode::@9 //SEG492 [259] call print_str_lines - //SEG493 [419] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] - //SEG494 [419] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_COLS#0 [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 + //SEG493 [414] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] + //SEG494 [414] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_COLS#0 [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_COLS @@ -29469,8 +29687,8 @@ form_mode: { //SEG495 [260] phi from form_mode::@9 to form_mode::@10 [phi:form_mode::@9->form_mode::@10] //SEG496 form_mode::@10 //SEG497 [261] call print_set_screen - //SEG498 [447] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] - //SEG499 [447] phi (byte*) print_set_screen::screen#2 = (const byte*) FORM_SCREEN#0 [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 + //SEG498 [442] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] + //SEG499 [442] phi (byte*) print_set_screen::screen#2 = (const byte*) FORM_SCREEN#0 [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 lda #FORM_SCREEN @@ -29483,8 +29701,8 @@ form_mode: { //SEG503 [264] phi from form_mode::@11 to form_mode::@12 [phi:form_mode::@11->form_mode::@12] //SEG504 form_mode::@12 //SEG505 [265] call print_str_lines - //SEG506 [419] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] - //SEG507 [419] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_TEXT#0 [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 + //SEG506 [414] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] + //SEG507 [414] phi (byte*) print_str_lines::str#5 = (const byte[]) FORM_TEXT#0 [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_TEXT @@ -29493,7 +29711,7 @@ form_mode: { //SEG508 [266] phi from form_mode::@12 to form_mode::@13 [phi:form_mode::@12->form_mode::@13] //SEG509 form_mode::@13 //SEG510 [267] call form_set_screen - //SEG511 [409] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] + //SEG511 [404] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] jsr form_set_screen //SEG512 [268] phi from form_mode::@13 to form_mode::@14 [phi:form_mode::@13->form_mode::@14] //SEG513 form_mode::@14 @@ -29842,255 +30060,239 @@ print_str_at: { //SEG648 form_render_values // Render all form values from the form_fields_val array form_render_values: { - .label field = 3 - .label idx = 2 //SEG649 [331] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] - //SEG650 [331] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuz1=vbuc1 - lda #0 - sta idx + //SEG650 [331] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 + ldx #0 //SEG651 [331] phi from form_render_values::@2 to form_render_values::@1 [phi:form_render_values::@2->form_render_values::@1] //SEG652 [331] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@2->form_render_values::@1#0] -- register_copy //SEG653 form_render_values::@1 b1: - //SEG654 [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 -- vbuyy=vbuz1 - ldy idx + //SEG654 [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 //SEG655 [333] call form_field_ptr - //SEG656 [340] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] - //SEG657 [340] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy + //SEG656 [338] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //SEG657 [338] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG658 [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 - //SEG659 form_render_values::@2 - //SEG660 [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 - //SEG661 [336] *((byte*) form_render_values::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 - ldx idx + //SEG658 form_render_values::@2 + //SEG659 [334] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuxx ldy form_fields_val,x lda print_hextab,y - ldy #0 - sta (field),y - //SEG662 [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 - inc idx - //SEG663 [338] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 -- vbuz1_lt_vbuc1_then_la1 - lda idx - cmp #form_fields_cnt + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG660 [335] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuxx=_inc_vbuxx + inx + //SEG661 [336] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 -- vbuxx_lt_vbuc1_then_la1 + cpx #form_fields_cnt bcc b1 - //SEG664 form_render_values::@return - //SEG665 [339] return + //SEG662 form_render_values::@return + //SEG663 [337] return rts } -//SEG666 form_field_ptr +//SEG664 form_field_ptr // Get the screen address of a form field // field_idx is the index of the field to get the screen address for -// form_field_ptr(byte register(Y) field_idx) +// form_field_ptr(byte register(X) field_idx) form_field_ptr: { - .label return = 3 + .label x = $13 .label _2 = 3 - //SEG667 [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuxx=pbuc1_derefidx_vbuyy - ldx form_fields_y,y - //SEG668 [342] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx - lda form_line_hi,x + //SEG665 [339] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuxx + lda form_fields_y,x + //SEG666 [340] (word~) form_field_ptr::$2 ← *((const byte[$19]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[$19]) form_line_lo#0 + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuaa_word_pbuc2_derefidx_vbuaa + tay + lda form_line_hi,y sta _2+1 - lda form_line_lo,x + lda form_line_lo,y sta _2 - //SEG669 [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuyy - lda form_fields_x,y - //SEG670 [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz1_plus_vbuaa - clc - adc return - sta return - bcc !+ - inc return+1 - !: - //SEG671 form_field_ptr::@return - //SEG672 [345] return + //SEG667 [341] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuxx + lda form_fields_x,x + sta x + //SEG668 form_field_ptr::@return + //SEG669 [342] return rts } -//SEG673 apply_preset +//SEG670 apply_preset // Apply a form value preset to the form values // idx is the ID of the preset // apply_preset(byte register(A) idx) apply_preset: { .label preset = 3 - //SEG674 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 -- vbuaa_eq_0_then_la1 + //SEG671 [343] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@1 -- vbuaa_eq_0_then_la1 cmp #0 beq b12 - //SEG675 apply_preset::@2 - //SEG676 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG672 apply_preset::@2 + //SEG673 [344] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq b4 - //SEG677 apply_preset::@3 - //SEG678 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG674 apply_preset::@3 + //SEG675 [345] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq b5 - //SEG679 apply_preset::@4 - //SEG680 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG676 apply_preset::@4 + //SEG677 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq b6 - //SEG681 apply_preset::@5 - //SEG682 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG678 apply_preset::@5 + //SEG679 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #4 beq b7 - //SEG683 apply_preset::@6 - //SEG684 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG680 apply_preset::@6 + //SEG681 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #5 beq b8 - //SEG685 apply_preset::@7 - //SEG686 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG682 apply_preset::@7 + //SEG683 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #6 beq b9 - //SEG687 apply_preset::@8 - //SEG688 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG684 apply_preset::@8 + //SEG685 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #7 beq b10 - //SEG689 apply_preset::@9 - //SEG690 [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG686 apply_preset::@9 + //SEG687 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #8 beq b11 - //SEG691 apply_preset::@10 - //SEG692 [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG688 apply_preset::@10 + //SEG689 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq b2 - //SEG693 apply_preset::@11 - //SEG694 [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + //SEG690 apply_preset::@11 + //SEG691 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) $a) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq b3 - //SEG695 [357] phi from apply_preset::@11 to apply_preset::@12 [phi:apply_preset::@11->apply_preset::@12] - //SEG696 apply_preset::@12 + //SEG692 [354] phi from apply_preset::@11 to apply_preset::@12 [phi:apply_preset::@11->apply_preset::@12] + //SEG693 apply_preset::@12 b12: - //SEG697 [358] phi from apply_preset apply_preset::@12 to apply_preset::@1 [phi:apply_preset/apply_preset::@12->apply_preset::@1] - //SEG698 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@12->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG694 [355] phi from apply_preset apply_preset::@12 to apply_preset::@1 [phi:apply_preset/apply_preset::@12->apply_preset::@1] + //SEG695 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@12->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_stdchar sta preset+1 jmp b1 - //SEG699 [358] phi from apply_preset::@10 to apply_preset::@1 [phi:apply_preset::@10->apply_preset::@1] + //SEG696 [355] phi from apply_preset::@10 to apply_preset::@1 [phi:apply_preset::@10->apply_preset::@1] b2: - //SEG700 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@10->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG697 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@10->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_sixsfred2 sta preset+1 jmp b1 - //SEG701 [358] phi from apply_preset::@11 to apply_preset::@1 [phi:apply_preset::@11->apply_preset::@1] + //SEG698 [355] phi from apply_preset::@11 to apply_preset::@1 [phi:apply_preset::@11->apply_preset::@1] b3: - //SEG702 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@11->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG699 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@11->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_8bpppixelcell sta preset+1 jmp b1 - //SEG703 [358] phi from apply_preset::@2 to apply_preset::@1 [phi:apply_preset::@2->apply_preset::@1] + //SEG700 [355] phi from apply_preset::@2 to apply_preset::@1 [phi:apply_preset::@2->apply_preset::@1] b4: - //SEG704 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@2->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG701 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@2->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_ecmchar sta preset+1 jmp b1 - //SEG705 [358] phi from apply_preset::@3 to apply_preset::@1 [phi:apply_preset::@3->apply_preset::@1] + //SEG702 [355] phi from apply_preset::@3 to apply_preset::@1 [phi:apply_preset::@3->apply_preset::@1] b5: - //SEG706 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@3->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG703 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@3->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_stdbm sta preset+1 jmp b1 - //SEG707 [358] phi from apply_preset::@4 to apply_preset::@1 [phi:apply_preset::@4->apply_preset::@1] + //SEG704 [355] phi from apply_preset::@4 to apply_preset::@1 [phi:apply_preset::@4->apply_preset::@1] b6: - //SEG708 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@4->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG705 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@4->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_mcbm sta preset+1 jmp b1 - //SEG709 [358] phi from apply_preset::@5 to apply_preset::@1 [phi:apply_preset::@5->apply_preset::@1] + //SEG706 [355] phi from apply_preset::@5 to apply_preset::@1 [phi:apply_preset::@5->apply_preset::@1] b7: - //SEG710 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@5->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG707 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@5->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_hi_stdchar sta preset+1 jmp b1 - //SEG711 [358] phi from apply_preset::@6 to apply_preset::@1 [phi:apply_preset::@6->apply_preset::@1] + //SEG708 [355] phi from apply_preset::@6 to apply_preset::@1 [phi:apply_preset::@6->apply_preset::@1] b8: - //SEG712 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@6->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG709 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@6->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_hi_ecmchar sta preset+1 jmp b1 - //SEG713 [358] phi from apply_preset::@7 to apply_preset::@1 [phi:apply_preset::@7->apply_preset::@1] + //SEG710 [355] phi from apply_preset::@7 to apply_preset::@1 [phi:apply_preset::@7->apply_preset::@1] b9: - //SEG714 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@7->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG711 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@7->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_twoplane sta preset+1 jmp b1 - //SEG715 [358] phi from apply_preset::@8 to apply_preset::@1 [phi:apply_preset::@8->apply_preset::@1] + //SEG712 [355] phi from apply_preset::@8 to apply_preset::@1 [phi:apply_preset::@8->apply_preset::@1] b10: - //SEG716 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_chunky#0 [phi:apply_preset::@8->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG713 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_chunky#0 [phi:apply_preset::@8->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_chunky sta preset+1 jmp b1 - //SEG717 [358] phi from apply_preset::@9 to apply_preset::@1 [phi:apply_preset::@9->apply_preset::@1] + //SEG714 [355] phi from apply_preset::@9 to apply_preset::@1 [phi:apply_preset::@9->apply_preset::@1] b11: - //SEG718 [358] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@9->apply_preset::@1#0] -- pbuz1=pbuc1 + //SEG715 [355] phi (byte*) apply_preset::preset#14 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@9->apply_preset::@1#0] -- pbuz1=pbuc1 lda #preset_sixsfred sta preset+1 - //SEG719 apply_preset::@1 + //SEG716 apply_preset::@1 b1: - //SEG720 [359] phi from apply_preset::@1 to apply_preset::@13 [phi:apply_preset::@1->apply_preset::@13] - //SEG721 [359] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@1->apply_preset::@13#0] -- vbuyy=vbuc1 + //SEG717 [356] phi from apply_preset::@1 to apply_preset::@13 [phi:apply_preset::@1->apply_preset::@13] + //SEG718 [356] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@1->apply_preset::@13#0] -- vbuyy=vbuc1 ldy #0 // Copy preset values into the fields - //SEG722 [359] phi from apply_preset::@13 to apply_preset::@13 [phi:apply_preset::@13->apply_preset::@13] - //SEG723 [359] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@13->apply_preset::@13#0] -- register_copy - //SEG724 apply_preset::@13 + //SEG719 [356] phi from apply_preset::@13 to apply_preset::@13 [phi:apply_preset::@13->apply_preset::@13] + //SEG720 [356] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@13->apply_preset::@13#0] -- register_copy + //SEG721 apply_preset::@13 b13: - //SEG725 [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy + //SEG722 [357] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#14 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy lda (preset),y sta form_fields_val,y - //SEG726 [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy + //SEG723 [358] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy iny - //SEG727 [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 -- vbuyy_neq_vbuc1_then_la1 + //SEG724 [359] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@13 -- vbuyy_neq_vbuc1_then_la1 cpy #form_fields_cnt bne b13 - //SEG728 apply_preset::@return - //SEG729 [363] return + //SEG725 apply_preset::@return + //SEG726 [360] return rts } -//SEG730 form_control +//SEG727 form_control // Reads keyboard and allows the user to navigate and change the fields of the form // Returns 0 if space is not pressed, non-0 if space is pressed form_control: { - .label field = 3 - //SEG731 [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuyy=vbuz1 - ldy form_field_idx - //SEG732 [365] call form_field_ptr - //SEG733 [340] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] - //SEG734 [340] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + //SEG728 [361] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuxx=vbuz1 + ldx form_field_idx + //SEG729 [362] call form_field_ptr + //SEG730 [338] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG731 [338] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG735 [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 - //SEG736 form_control::@17 - //SEG737 [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 - //SEG738 [368] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 + //SEG732 form_control::@17 + //SEG733 [363] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG739 [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 -- vbsz1_ge_0_then_la1 + //SEG734 [364] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@20 -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b1 - //SEG740 [370] phi from form_control::@17 to form_control::@1 [phi:form_control::@17->form_control::@1] - //SEG741 [370] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@17->form_control::@1#0] -- vbsz1=vbsc1 + //SEG735 [365] phi from form_control::@17 to form_control::@1 [phi:form_control::@17->form_control::@1] + //SEG736 [365] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@17->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count - //SEG742 form_control::@1 + //SEG737 form_control::@1 b1: - //SEG743 [371] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 -- vbsz1_lt_vbuc1_then_la1 + //SEG738 [366] if((signed byte) form_cursor_count#15<(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 -- vbsz1_lt_vbuc1_then_la1 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -30100,197 +30302,197 @@ form_control: { bpl !b2+ jmp b2 !b2: - //SEG744 form_control::@6 - //SEG745 [372] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG739 form_control::@6 + //SEG740 [367] (byte~) form_control::$13 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuaa=pbuz1_derefidx_vbuz2_band_vbuc1 lda #$7f - ldy #0 - and (field),y - //SEG746 [373] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- _deref_pbuz1=vbuaa - sta (field),y - //SEG747 [374] phi from form_control::@2 form_control::@6 to form_control::@3 [phi:form_control::@2/form_control::@6->form_control::@3] - //SEG748 form_control::@3 + ldy form_field_ptr.x + and (form_field_ptr._2),y + //SEG741 [368] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$13 -- pbuz1_derefidx_vbuz2=vbuaa + sta (form_field_ptr._2),y + //SEG742 [369] phi from form_control::@2 form_control::@6 to form_control::@3 [phi:form_control::@2/form_control::@6->form_control::@3] + //SEG743 form_control::@3 b3: - //SEG749 [375] call keyboard_event_scan - //SEG750 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] - //SEG751 [159] phi (byte) keyboard_events_size#110 = (byte) keyboard_events_size#47 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy + //SEG744 [370] call keyboard_event_scan + //SEG745 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + //SEG746 [159] phi (byte) keyboard_events_size#110 = (byte) keyboard_events_size#47 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy jsr keyboard_event_scan - //SEG752 [376] phi from form_control::@3 to form_control::@18 [phi:form_control::@3->form_control::@18] - //SEG753 form_control::@18 - //SEG754 [377] call keyboard_event_get + //SEG747 [371] phi from form_control::@3 to form_control::@18 [phi:form_control::@3->form_control::@18] + //SEG748 form_control::@18 + //SEG749 [372] call keyboard_event_get jsr keyboard_event_get - //SEG755 [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 - //SEG756 form_control::@19 - //SEG757 [379] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 - //SEG758 [380] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 + //SEG750 [373] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + //SEG751 form_control::@19 + //SEG752 [374] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 + //SEG753 [375] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_DOWN bne b4 - //SEG759 form_control::@7 - //SEG760 [381] (byte~) form_control::$15 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG754 form_control::@7 + //SEG755 [376] (byte~) form_control::$15 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) & (byte/signed byte/word/signed word/dword/signed dword) $7f -- vbuaa=pbuz1_derefidx_vbuz2_band_vbuc1 lda #$7f - ldy #0 - and (field),y - //SEG761 [382] *((byte*) form_control::field#0) ← (byte~) form_control::$15 -- _deref_pbuz1=vbuaa + ldy form_field_ptr.x + and (form_field_ptr._2),y + //SEG756 [377] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte~) form_control::$15 -- pbuz1_derefidx_vbuz2=vbuaa // Unblink the cursor - sta (field),y - //SEG762 [383] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuxx_band_vbuc1 + sta (form_field_ptr._2),y + //SEG757 [378] (byte~) form_control::$16 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuxx_band_vbuc1 txa and #KEY_MODIFIER_SHIFT - //SEG763 [384] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 -- vbuaa_eq_0_then_la1 + //SEG758 [379] if((byte~) form_control::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 -- vbuaa_eq_0_then_la1 cmp #0 beq b12 - //SEG764 form_control::@8 - //SEG765 [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuz1=_dec_vbuz1 + //SEG759 form_control::@8 + //SEG760 [380] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG766 [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 -- vbuz1_neq_vbuc1_then_la1 + //SEG761 [381] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@21 -- vbuz1_neq_vbuc1_then_la1 lda #$ff cmp form_field_idx bne b13 - //SEG767 [387] phi from form_control::@8 to form_control::@13 [phi:form_control::@8->form_control::@13] - //SEG768 [387] phi (byte) form_field_idx#31 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@8->form_control::@13#0] -- vbuz1=vbuc1 + //SEG762 [382] phi from form_control::@8 to form_control::@13 [phi:form_control::@8->form_control::@13] + //SEG763 [382] phi (byte) form_field_idx#31 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@8->form_control::@13#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx - //SEG769 form_control::@13 + //SEG764 form_control::@13 b13: - //SEG770 [388] phi from form_control::@13 to form_control::@return [phi:form_control::@13->form_control::@return] - //SEG771 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#31 [phi:form_control::@13->form_control::@return#0] -- register_copy - //SEG772 [388] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@13->form_control::@return#1] -- vbsz1=vbuc1 + //SEG765 [383] phi from form_control::@13 to form_control::@return [phi:form_control::@13->form_control::@return] + //SEG766 [383] phi (byte) form_field_idx#18 = (byte) form_field_idx#31 [phi:form_control::@13->form_control::@return#0] -- register_copy + //SEG767 [383] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@13->form_control::@return#1] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count - //SEG773 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@13->form_control::@return#2] -- vbuxx=vbuc1 + //SEG768 [383] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@13->form_control::@return#2] -- vbuxx=vbuc1 ldx #0 - //SEG774 form_control::@return - //SEG775 [389] return + //SEG769 form_control::@return + //SEG770 [384] return rts - //SEG776 [390] phi from form_control::@8 to form_control::@21 [phi:form_control::@8->form_control::@21] - //SEG777 form_control::@21 - //SEG778 [387] phi from form_control::@21 form_control::@22 to form_control::@13 [phi:form_control::@21/form_control::@22->form_control::@13] - //SEG779 [387] phi (byte) form_field_idx#31 = (byte) form_field_idx#44 [phi:form_control::@21/form_control::@22->form_control::@13#0] -- register_copy - //SEG780 form_control::@12 + //SEG771 [385] phi from form_control::@8 to form_control::@21 [phi:form_control::@8->form_control::@21] + //SEG772 form_control::@21 + //SEG773 [382] phi from form_control::@21 form_control::@22 to form_control::@13 [phi:form_control::@21/form_control::@22->form_control::@13] + //SEG774 [382] phi (byte) form_field_idx#31 = (byte) form_field_idx#44 [phi:form_control::@21/form_control::@22->form_control::@13#0] -- register_copy + //SEG775 form_control::@12 b12: - //SEG781 [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuz1=_inc_vbuz1 + //SEG776 [386] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG782 [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 + //SEG777 [387] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 lda #form_fields_cnt cmp form_field_idx bne b13 - //SEG783 [387] phi from form_control::@12 to form_control::@13 [phi:form_control::@12->form_control::@13] - //SEG784 [387] phi (byte) form_field_idx#31 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@12->form_control::@13#0] -- vbuz1=vbuc1 + //SEG778 [382] phi from form_control::@12 to form_control::@13 [phi:form_control::@12->form_control::@13] + //SEG779 [382] phi (byte) form_field_idx#31 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@12->form_control::@13#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx jmp b13 - //SEG785 [393] phi from form_control::@12 to form_control::@22 [phi:form_control::@12->form_control::@22] - //SEG786 form_control::@22 - //SEG787 form_control::@4 + //SEG780 [388] phi from form_control::@12 to form_control::@22 [phi:form_control::@12->form_control::@22] + //SEG781 form_control::@22 + //SEG782 form_control::@4 b4: - //SEG788 [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 -- vbuaa_neq_vbuc1_then_la1 + //SEG783 [389] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@5 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_RIGHT bne b5 - //SEG789 form_control::@9 - //SEG790 [395] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuxx_band_vbuc1 + //SEG784 form_control::@9 + //SEG785 [390] (byte~) form_control::$24 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuxx_band_vbuc1 txa and #KEY_MODIFIER_SHIFT - //SEG791 [396] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 -- vbuaa_eq_0_then_la1 + //SEG786 [391] if((byte~) form_control::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@14 -- vbuaa_eq_0_then_la1 cmp #0 beq b14 - //SEG792 form_control::@10 - //SEG793 [397] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + //SEG787 form_control::@10 + //SEG788 [392] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx form_field_idx dec form_fields_val,x - //SEG794 [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG789 [393] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) $ff) goto form_control::@15 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 lda #$ff ldy form_field_idx cmp form_fields_val,y bne b15 - //SEG795 form_control::@11 - //SEG796 [399] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + //SEG790 form_control::@11 + //SEG791 [394] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 lda form_fields_max,y sta form_fields_val,y - //SEG797 form_control::@15 + //SEG792 form_control::@15 b15: - //SEG798 [400] *((byte*) form_control::field#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG793 [395] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← *((const byte[]) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_pbuc2_derefidx_vbuz3 // Render field value ldx form_field_idx ldy form_fields_val,x lda print_hextab,y - ldy #0 - sta (field),y - //SEG799 [388] phi from form_control::@15 form_control::@23 to form_control::@return [phi:form_control::@15/form_control::@23->form_control::@return] + ldy form_field_ptr.x + sta (form_field_ptr._2),y + //SEG794 [383] phi from form_control::@15 form_control::@23 to form_control::@return [phi:form_control::@15/form_control::@23->form_control::@return] b6: - //SEG800 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@15/form_control::@23->form_control::@return#0] -- register_copy - //SEG801 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@15/form_control::@23->form_control::@return#1] -- register_copy - //SEG802 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@15/form_control::@23->form_control::@return#2] -- vbuxx=vbuc1 + //SEG795 [383] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@15/form_control::@23->form_control::@return#0] -- register_copy + //SEG796 [383] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@15/form_control::@23->form_control::@return#1] -- register_copy + //SEG797 [383] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@15/form_control::@23->form_control::@return#2] -- vbuxx=vbuc1 ldx #0 rts - //SEG803 form_control::@14 + //SEG798 form_control::@14 b14: - //SEG804 [401] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + //SEG799 [396] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx form_field_idx inc form_fields_val,x - //SEG805 [402] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //SEG800 [397] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@15 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b15 beq b15 - //SEG806 form_control::@16 - //SEG807 [403] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG801 form_control::@16 + //SEG802 [398] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 sta form_fields_val,y jmp b15 - //SEG808 form_control::@5 + //SEG803 form_control::@5 b5: - //SEG809 [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 -- vbuaa_neq_vbuc1_then_la1 + //SEG804 [399] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@23 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_SPACE bne b6 - //SEG810 [388] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] - //SEG811 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@5->form_control::@return#0] -- register_copy - //SEG812 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@5->form_control::@return#1] -- register_copy - //SEG813 [388] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) $ff [phi:form_control::@5->form_control::@return#2] -- vbuxx=vbuc1 + //SEG805 [383] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] + //SEG806 [383] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@5->form_control::@return#0] -- register_copy + //SEG807 [383] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@5->form_control::@return#1] -- register_copy + //SEG808 [383] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) $ff [phi:form_control::@5->form_control::@return#2] -- vbuxx=vbuc1 ldx #$ff rts - //SEG814 [405] phi from form_control::@5 to form_control::@23 [phi:form_control::@5->form_control::@23] - //SEG815 form_control::@23 - //SEG816 form_control::@2 + //SEG809 [400] phi from form_control::@5 to form_control::@23 [phi:form_control::@5->form_control::@23] + //SEG810 form_control::@23 + //SEG811 form_control::@2 b2: - //SEG817 [406] (byte/word/dword~) form_control::$14 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) $80 -- vbuaa=_deref_pbuz1_bor_vbuc1 + //SEG812 [401] (byte/word/dword~) form_control::$14 ← *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) | (byte/word/signed word/dword/signed dword) $80 -- vbuaa=pbuz1_derefidx_vbuz2_bor_vbuc1 lda #$80 - ldy #0 - ora (field),y - //SEG818 [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$14 -- _deref_pbuz1=vbuaa - sta (field),y + ldy form_field_ptr.x + ora (form_field_ptr._2),y + //SEG813 [402] *((byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0) ← (byte/word/dword~) form_control::$14 -- pbuz1_derefidx_vbuz2=vbuaa + sta (form_field_ptr._2),y jmp b3 - //SEG819 [408] phi from form_control::@17 to form_control::@20 [phi:form_control::@17->form_control::@20] - //SEG820 form_control::@20 - //SEG821 [370] phi from form_control::@20 to form_control::@1 [phi:form_control::@20->form_control::@1] - //SEG822 [370] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@20->form_control::@1#0] -- register_copy + //SEG814 [403] phi from form_control::@17 to form_control::@20 [phi:form_control::@17->form_control::@20] + //SEG815 form_control::@20 + //SEG816 [365] phi from form_control::@20 to form_control::@1 [phi:form_control::@20->form_control::@1] + //SEG817 [365] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@20->form_control::@1#0] -- register_copy } -//SEG823 form_set_screen +//SEG818 form_set_screen // Set the screen to use for the form. // screen is the start address of the screen to use form_set_screen: { .label line = 3 - //SEG824 [410] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] - //SEG825 [410] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 + //SEG819 [405] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + //SEG820 [405] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG826 [410] phi (byte*) form_set_screen::line#2 = (const byte*) FORM_SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + //SEG821 [405] phi (byte*) form_set_screen::line#2 = (const byte*) FORM_SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 lda #FORM_SCREEN sta line+1 - //SEG827 [410] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] - //SEG828 [410] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy - //SEG829 [410] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy - //SEG830 form_set_screen::@1 + //SEG822 [405] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG823 [405] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy + //SEG824 [405] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy + //SEG825 form_set_screen::@1 b1: - //SEG831 [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 + //SEG826 [406] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 lda line - //SEG832 [412] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG827 [407] *((const byte[$19]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_lo,x - //SEG833 [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 + //SEG828 [408] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 lda line+1 - //SEG834 [414] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG829 [409] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_hi,x - //SEG835 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG830 [410] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc line @@ -30298,92 +30500,92 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG836 [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuxx=_inc_vbuxx + //SEG831 [411] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuxx=_inc_vbuxx inx - //SEG837 [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 -- vbuxx_neq_vbuc1_then_la1 + //SEG832 [412] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto form_set_screen::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #$19 bne b1 - //SEG838 form_set_screen::@return - //SEG839 [418] return + //SEG833 form_set_screen::@return + //SEG834 [413] return rts } -//SEG840 print_str_lines +//SEG835 print_str_lines // Print a number of zero-terminated strings, each followed by a newline. // The sequence of lines is terminated by another zero. // print_str_lines(byte* zeropage(3) str) print_str_lines: { .label str = 3 - //SEG841 [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG836 [415] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 lda print_set_screen.screen sta print_char_cursor lda print_set_screen.screen+1 sta print_char_cursor+1 - //SEG842 [421] phi from print_str_lines print_str_lines::@5 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1] - //SEG843 [421] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#0] -- register_copy - //SEG844 [421] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#77 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#1] -- register_copy - //SEG845 [421] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#2] -- register_copy - //SEG846 print_str_lines::@1 + //SEG837 [416] phi from print_str_lines print_str_lines::@5 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1] + //SEG838 [416] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#0] -- register_copy + //SEG839 [416] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#77 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#1] -- register_copy + //SEG840 [416] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@5->print_str_lines::@1#2] -- register_copy + //SEG841 print_str_lines::@1 b1: - //SEG847 [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG842 [417] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 - //SEG848 print_str_lines::@return - //SEG849 [423] return + //SEG843 print_str_lines::@return + //SEG844 [418] return rts - //SEG850 [424] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] - //SEG851 [424] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy - //SEG852 [424] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy - //SEG853 print_str_lines::@2 + //SEG845 [419] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] + //SEG846 [419] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy + //SEG847 [419] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy + //SEG848 print_str_lines::@2 b2: - //SEG854 [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 + //SEG849 [420] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG855 [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 + //SEG850 [421] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG856 [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 -- vbuaa_eq_vbuc1_then_la1 + //SEG851 [422] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@3 -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b3 - //SEG857 print_str_lines::@4 - //SEG858 [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuaa + //SEG852 print_str_lines::@4 + //SEG853 [423] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG859 [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 + //SEG854 [424] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG860 [430] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] - //SEG861 [430] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy - //SEG862 print_str_lines::@3 + //SEG855 [425] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] + //SEG856 [425] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy + //SEG857 print_str_lines::@3 b3: - //SEG863 [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 -- vbuaa_neq_vbuc1_then_la1 + //SEG858 [426] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@2 -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b2 - //SEG864 [432] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] - //SEG865 print_str_lines::@5 - //SEG866 [433] call print_ln - //SEG867 [435] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] + //SEG859 [427] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] + //SEG860 print_str_lines::@5 + //SEG861 [428] call print_ln + //SEG862 [430] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] jsr print_ln - //SEG868 [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 -- pbuz1=pbuz2 + //SEG863 [429] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 jmp b1 } -//SEG869 print_ln +//SEG864 print_ln // Print a newline print_ln: { - //SEG870 [436] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] - //SEG871 [436] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy - //SEG872 print_ln::@1 + //SEG865 [431] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG866 [431] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG867 print_ln::@1 b1: - //SEG873 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG868 [432] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc print_line_cursor @@ -30391,7 +30593,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG874 [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + //SEG869 [433] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1 @@ -30400,34 +30602,34 @@ print_ln: { cmp print_char_cursor bcc b1 !: - //SEG875 print_ln::@return - //SEG876 [439] return + //SEG870 print_ln::@return + //SEG871 [434] return rts } -//SEG877 print_cls +//SEG872 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { .label _0 = 5 .label sc = 3 - //SEG878 [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG873 [435] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 lda print_set_screen.screen sta sc lda print_set_screen.screen+1 sta sc+1 - //SEG879 [441] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] - //SEG880 [441] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy - //SEG881 print_cls::@1 + //SEG874 [436] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] + //SEG875 [436] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy + //SEG876 print_cls::@1 b1: - //SEG882 [442] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + //SEG877 [437] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG883 [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + //SEG878 [438] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG884 [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 -- pbuz1=pbuz2_plus_vwuc1 + //SEG879 [439] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) $3e8 -- pbuz1=pbuz2_plus_vwuc1 lda print_set_screen.screen clc adc #<$3e8 @@ -30435,114 +30637,114 @@ print_cls: { lda print_set_screen.screen+1 adc #>$3e8 sta _0+1 - //SEG885 [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -- pbuz1_neq_pbuz2_then_la1 + //SEG880 [440] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -- pbuz1_neq_pbuz2_then_la1 lda sc+1 cmp _0+1 bne b1 lda sc cmp _0 bne b1 - //SEG886 print_cls::@return - //SEG887 [446] return + //SEG881 print_cls::@return + //SEG882 [441] return rts } -//SEG888 print_set_screen +//SEG883 print_set_screen // Set the screen to print on. Also resets current line/char cursor. // print_set_screen(byte* zeropage($10) screen) print_set_screen: { .label screen = $10 - //SEG889 print_set_screen::@return - //SEG890 [448] return + //SEG884 print_set_screen::@return + //SEG885 [443] return rts } -//SEG891 gfx_init +//SEG886 gfx_init // Initialize the different graphics in the memory gfx_init: { - //SEG892 [450] call gfx_init_screen0 - //SEG893 [847] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] + //SEG887 [445] call gfx_init_screen0 + //SEG888 [842] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] jsr gfx_init_screen0 - //SEG894 [451] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] - //SEG895 gfx_init::@1 - //SEG896 [452] call gfx_init_screen1 - //SEG897 [835] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] + //SEG889 [446] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] + //SEG890 gfx_init::@1 + //SEG891 [447] call gfx_init_screen1 + //SEG892 [830] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] jsr gfx_init_screen1 - //SEG898 [453] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] - //SEG899 gfx_init::@2 - //SEG900 [454] call gfx_init_screen2 - //SEG901 [820] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] + //SEG893 [448] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] + //SEG894 gfx_init::@2 + //SEG895 [449] call gfx_init_screen2 + //SEG896 [815] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] jsr gfx_init_screen2 - //SEG902 [455] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] - //SEG903 gfx_init::@3 - //SEG904 [456] call gfx_init_screen3 - //SEG905 [806] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] + //SEG897 [450] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] + //SEG898 gfx_init::@3 + //SEG899 [451] call gfx_init_screen3 + //SEG900 [801] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] jsr gfx_init_screen3 - //SEG906 [457] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] - //SEG907 gfx_init::@4 - //SEG908 [458] call gfx_init_screen4 - //SEG909 [796] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] + //SEG901 [452] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] + //SEG902 gfx_init::@4 + //SEG903 [453] call gfx_init_screen4 + //SEG904 [791] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] jsr gfx_init_screen4 - //SEG910 [459] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] - //SEG911 gfx_init::@5 - //SEG912 [460] call gfx_init_charset + //SEG905 [454] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] + //SEG906 gfx_init::@5 + //SEG907 [455] call gfx_init_charset jsr gfx_init_charset - //SEG913 [461] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] - //SEG914 gfx_init::@6 - //SEG915 [462] call gfx_init_vic_bitmap - //SEG916 [605] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] + //SEG908 [456] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] + //SEG909 gfx_init::@6 + //SEG910 [457] call gfx_init_vic_bitmap + //SEG911 [600] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] jsr gfx_init_vic_bitmap - //SEG917 [463] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] - //SEG918 gfx_init::@7 - //SEG919 [464] call gfx_init_plane_8bppchunky - //SEG920 [585] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] + //SEG912 [458] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] + //SEG913 gfx_init::@7 + //SEG914 [459] call gfx_init_plane_8bppchunky + //SEG915 [580] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] jsr gfx_init_plane_8bppchunky - //SEG921 [465] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] - //SEG922 gfx_init::@8 - //SEG923 [466] call gfx_init_plane_charset8 - //SEG924 [560] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] + //SEG916 [460] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] + //SEG917 gfx_init::@8 + //SEG918 [461] call gfx_init_plane_charset8 + //SEG919 [555] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] jsr gfx_init_plane_charset8 - //SEG925 [467] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] - //SEG926 gfx_init::@9 - //SEG927 [468] call gfx_init_plane_horisontal - //SEG928 [542] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] + //SEG920 [462] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] + //SEG921 gfx_init::@9 + //SEG922 [463] call gfx_init_plane_horisontal + //SEG923 [537] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] jsr gfx_init_plane_horisontal - //SEG929 [469] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] - //SEG930 gfx_init::@10 - //SEG931 [470] call gfx_init_plane_vertical - //SEG932 [529] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] + //SEG924 [464] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] + //SEG925 gfx_init::@10 + //SEG926 [465] call gfx_init_plane_vertical + //SEG927 [524] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] jsr gfx_init_plane_vertical - //SEG933 [471] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] - //SEG934 gfx_init::@11 - //SEG935 [472] call gfx_init_plane_horisontal2 - //SEG936 [514] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] + //SEG928 [466] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] + //SEG929 gfx_init::@11 + //SEG930 [467] call gfx_init_plane_horisontal2 + //SEG931 [509] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] jsr gfx_init_plane_horisontal2 - //SEG937 [473] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] - //SEG938 gfx_init::@12 - //SEG939 [474] call gfx_init_plane_vertical2 - //SEG940 [511] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] + //SEG932 [468] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] + //SEG933 gfx_init::@12 + //SEG934 [469] call gfx_init_plane_vertical2 + //SEG935 [506] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] jsr gfx_init_plane_vertical2 - //SEG941 [475] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] - //SEG942 gfx_init::@13 - //SEG943 [476] call gfx_init_plane_blank - //SEG944 [508] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] + //SEG936 [470] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] + //SEG937 gfx_init::@13 + //SEG938 [471] call gfx_init_plane_blank + //SEG939 [503] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] jsr gfx_init_plane_blank - //SEG945 [477] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] - //SEG946 gfx_init::@14 - //SEG947 [478] call gfx_init_plane_full - //SEG948 [480] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] + //SEG940 [472] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] + //SEG941 gfx_init::@14 + //SEG942 [473] call gfx_init_plane_full + //SEG943 [475] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] jsr gfx_init_plane_full - //SEG949 gfx_init::@return - //SEG950 [479] return + //SEG944 gfx_init::@return + //SEG945 [474] return rts } -//SEG951 gfx_init_plane_full +//SEG946 gfx_init_plane_full // Initialize Plane with all pixels gfx_init_plane_full: { - //SEG952 [481] call gfx_init_plane_fill - //SEG953 [483] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] - //SEG954 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG947 [476] call gfx_init_plane_fill + //SEG948 [478] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] + //SEG949 [478] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$ff sta gfx_init_plane_fill.fill - //SEG955 [483] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_FULL#0 [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 + //SEG950 [478] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_FULL#0 [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_FULL @@ -30552,15 +30754,15 @@ gfx_init_plane_full: { lda #>PLANE_FULL>>$10 sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill - //SEG956 gfx_init_plane_full::@return - //SEG957 [482] return + //SEG951 gfx_init_plane_full::@return + //SEG952 [477] return rts } -//SEG958 gfx_init_plane_fill +//SEG953 gfx_init_plane_fill // Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // gfx_init_plane_fill(dword zeropage(9) plane_addr, byte zeropage(2) fill) gfx_init_plane_fill: { - .label _0 = $13 + .label _0 = $14 .label _1 = 3 .label _4 = 3 .label _5 = 3 @@ -30569,7 +30771,7 @@ gfx_init_plane_fill: { .label by = 7 .label plane_addr = 9 .label fill = 2 - //SEG959 [484] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vduz1=vduz2_rol_2 + //SEG954 [479] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vduz1=vduz2_rol_2 lda plane_addr sta _0 lda plane_addr+1 @@ -30586,32 +30788,32 @@ gfx_init_plane_fill: { rol _0+1 rol _0+2 rol _0+3 - //SEG960 [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 + //SEG955 [480] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 lda _0+2 sta _1 lda _0+3 sta _1+1 - //SEG961 [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuaa=_lo_vwuz1 + //SEG956 [481] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuaa=_lo_vwuz1 lda _1 - //SEG962 [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 - //SEG963 [488] call dtvSetCpuBankSegment1 - //SEG964 [504] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] - //SEG965 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy + //SEG957 [482] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 + //SEG958 [483] call dtvSetCpuBankSegment1 + //SEG959 [499] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] + //SEG960 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 - //SEG966 gfx_init_plane_fill::@5 - //SEG967 [489] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 + //SEG961 gfx_init_plane_fill::@5 + //SEG962 [484] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 lda plane_addr sta _4 lda plane_addr+1 sta _4+1 - //SEG968 [490] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff -- vwuz1=vwuz1_band_vwuc1 + //SEG963 [485] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) $3fff -- vwuz1=vwuz1_band_vwuc1 lda _5 and #<$3fff sta _5 lda _5+1 and #>$3fff sta _5+1 - //SEG969 [491] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 + //SEG964 [486] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 clc lda _6 adc #<$4000 @@ -30619,59 +30821,59 @@ gfx_init_plane_fill: { lda _6+1 adc #>$4000 sta _6+1 - //SEG970 [492] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 - //SEG971 [493] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] - //SEG972 [493] phi (byte) gfx_init_plane_fill::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 + //SEG965 [487] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 + //SEG966 [488] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] + //SEG967 [488] phi (byte) gfx_init_plane_fill::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 lda #0 sta by - //SEG973 [493] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*~) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy - //SEG974 [493] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] - //SEG975 [493] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy - //SEG976 [493] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy - //SEG977 gfx_init_plane_fill::@1 + //SEG968 [488] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*~) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy + //SEG969 [488] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] + //SEG970 [488] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy + //SEG971 [488] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy + //SEG972 gfx_init_plane_fill::@1 b1: - //SEG978 [494] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] - //SEG979 [494] phi (byte) gfx_init_plane_fill::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuxx=vbuc1 + //SEG973 [489] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] + //SEG974 [489] phi (byte) gfx_init_plane_fill::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG980 [494] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy - //SEG981 [494] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] - //SEG982 [494] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy - //SEG983 [494] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy - //SEG984 gfx_init_plane_fill::@2 + //SEG975 [489] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy + //SEG976 [489] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] + //SEG977 [489] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy + //SEG978 [489] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy + //SEG979 gfx_init_plane_fill::@2 b2: - //SEG985 [495] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 + //SEG980 [490] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 lda fill ldy #0 sta (gfxb),y - //SEG986 [496] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG981 [491] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG987 [497] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx + //SEG982 [492] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx inx - //SEG988 [498] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG983 [493] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG989 gfx_init_plane_fill::@3 - //SEG990 [499] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 + //SEG984 gfx_init_plane_fill::@3 + //SEG985 [494] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG991 [500] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG986 [495] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp by bne b1 - //SEG992 [501] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] - //SEG993 gfx_init_plane_fill::@4 - //SEG994 [502] call dtvSetCpuBankSegment1 - //SEG995 [504] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] - //SEG996 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG987 [496] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] + //SEG988 gfx_init_plane_fill::@4 + //SEG989 [497] call dtvSetCpuBankSegment1 + //SEG990 [499] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] + //SEG991 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG997 gfx_init_plane_fill::@return - //SEG998 [503] return + //SEG992 gfx_init_plane_fill::@return + //SEG993 [498] return rts } -//SEG999 dtvSetCpuBankSegment1 +//SEG994 dtvSetCpuBankSegment1 // 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 // The actual memory addressed will be $4000*cpuSegmentIdx @@ -30679,25 +30881,25 @@ gfx_init_plane_fill: { dtvSetCpuBankSegment1: { // Move CPU BANK 1 SEGMENT ($4000-$7fff) .label cpuBank = $ff - //SEG1000 [505] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa + //SEG995 [500] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa sta cpuBank - //SEG1001 asm { .byte$32,$dd lda$ff .byte$32,$00 } + //SEG996 asm { .byte$32,$dd lda$ff .byte$32,$00 } .byte $32, $dd lda $ff .byte $32, $00 - //SEG1002 dtvSetCpuBankSegment1::@return - //SEG1003 [507] return + //SEG997 dtvSetCpuBankSegment1::@return + //SEG998 [502] return rts } -//SEG1004 gfx_init_plane_blank +//SEG999 gfx_init_plane_blank // Initialize Plane with blank pixels gfx_init_plane_blank: { - //SEG1005 [509] call gfx_init_plane_fill - //SEG1006 [483] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] - //SEG1007 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG1000 [504] call gfx_init_plane_fill + //SEG1001 [478] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] + //SEG1002 [478] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #0 sta gfx_init_plane_fill.fill - //SEG1008 [483] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_BLANK#0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 + //SEG1003 [478] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_BLANK#0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_BLANK @@ -30707,19 +30909,19 @@ gfx_init_plane_blank: { lda #>PLANE_BLANK>>$10 sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill - //SEG1009 gfx_init_plane_blank::@return - //SEG1010 [510] return + //SEG1004 gfx_init_plane_blank::@return + //SEG1005 [505] return rts } -//SEG1011 gfx_init_plane_vertical2 +//SEG1006 gfx_init_plane_vertical2 // Initialize Plane with Vertical Stripes every 2 pixels gfx_init_plane_vertical2: { - //SEG1012 [512] call gfx_init_plane_fill - //SEG1013 [483] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] - //SEG1014 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG1007 [507] call gfx_init_plane_fill + //SEG1008 [478] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] + //SEG1009 [478] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$1b sta gfx_init_plane_fill.fill - //SEG1015 [483] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_VERTICAL2#0 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 + //SEG1010 [478] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const dword) PLANE_VERTICAL2#0 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_VERTICAL2 @@ -30729,239 +30931,239 @@ gfx_init_plane_vertical2: { lda #>PLANE_VERTICAL2>>$10 sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill - //SEG1016 gfx_init_plane_vertical2::@return - //SEG1017 [513] return + //SEG1011 gfx_init_plane_vertical2::@return + //SEG1012 [508] return rts } -//SEG1018 gfx_init_plane_horisontal2 +//SEG1013 gfx_init_plane_horisontal2 // Initialize Plane with Horizontal Stripes every 2 pixels gfx_init_plane_horisontal2: { .const gfxbCpuBank = PLANE_HORISONTAL2/$4000 .label gfxa = 3 .label ay = 2 - //SEG1019 [515] call dtvSetCpuBankSegment1 - //SEG1020 [504] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] - //SEG1021 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1014 [510] call dtvSetCpuBankSegment1 + //SEG1015 [499] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] + //SEG1016 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - //SEG1022 [516] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] - //SEG1023 [516] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 + //SEG1017 [511] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] + //SEG1018 [511] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 lda #<$4000+(PLANE_HORISONTAL2&$3fff) sta gfxa lda #>$4000+(PLANE_HORISONTAL2&$3fff) sta gfxa+1 - //SEG1024 [516] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 + //SEG1019 [511] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 lda #0 sta ay - //SEG1025 [516] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] - //SEG1026 [516] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy - //SEG1027 [516] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy - //SEG1028 gfx_init_plane_horisontal2::@1 + //SEG1020 [511] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] + //SEG1021 [511] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy + //SEG1022 [511] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy + //SEG1023 gfx_init_plane_horisontal2::@1 b1: - //SEG1029 [517] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] - //SEG1030 [517] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuxx=vbuc1 + //SEG1024 [512] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] + //SEG1025 [512] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1031 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy - //SEG1032 [517] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] - //SEG1033 [517] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy - //SEG1034 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy - //SEG1035 gfx_init_plane_horisontal2::@2 + //SEG1026 [512] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy + //SEG1027 [512] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] + //SEG1028 [512] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy + //SEG1029 [512] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy + //SEG1030 gfx_init_plane_horisontal2::@2 b2: - //SEG1036 [518] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_ror_1 + //SEG1031 [513] (byte~) gfx_init_plane_horisontal2::$8 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_ror_1 lda ay lsr - //SEG1037 [519] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuaa_band_vbuc1 + //SEG1032 [514] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$8 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuaa_band_vbuc1 and #3 - //SEG1038 [520] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuaa + //SEG1033 [515] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte[]) gfx_init_plane_horisontal2::row_bitmask#0 + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuaa tay lda row_bitmask,y ldy #0 sta (gfxa),y - //SEG1039 [521] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1034 [516] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1040 [522] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx + //SEG1035 [517] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx inx - //SEG1041 [523] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1036 [518] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1042 gfx_init_plane_horisontal2::@3 - //SEG1043 [524] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1037 gfx_init_plane_horisontal2::@3 + //SEG1038 [519] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1044 [525] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1039 [520] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp ay bne b1 - //SEG1045 [526] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] - //SEG1046 gfx_init_plane_horisontal2::@4 - //SEG1047 [527] call dtvSetCpuBankSegment1 - //SEG1048 [504] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] - //SEG1049 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1040 [521] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] + //SEG1041 gfx_init_plane_horisontal2::@4 + //SEG1042 [522] call dtvSetCpuBankSegment1 + //SEG1043 [499] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] + //SEG1044 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1050 gfx_init_plane_horisontal2::@return - //SEG1051 [528] return + //SEG1045 gfx_init_plane_horisontal2::@return + //SEG1046 [523] return rts row_bitmask: .byte 0, $55, $aa, $ff } -//SEG1052 gfx_init_plane_vertical +//SEG1047 gfx_init_plane_vertical // Initialize Plane with Vertical Stripes gfx_init_plane_vertical: { .const gfxbCpuBank = PLANE_VERTICAL/$4000 .label gfxb = 3 .label by = 2 - //SEG1053 [530] call dtvSetCpuBankSegment1 - //SEG1054 [504] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] - //SEG1055 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1048 [525] call dtvSetCpuBankSegment1 + //SEG1049 [499] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] + //SEG1050 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - //SEG1056 [531] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] - //SEG1057 [531] phi (byte) gfx_init_plane_vertical::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 + //SEG1051 [526] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] + //SEG1052 [526] phi (byte) gfx_init_plane_vertical::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 lda #0 sta by - //SEG1058 [531] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 + //SEG1053 [526] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 lda #<$4000+(PLANE_VERTICAL&$3fff) sta gfxb lda #>$4000+(PLANE_VERTICAL&$3fff) sta gfxb+1 - //SEG1059 [531] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] - //SEG1060 [531] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy - //SEG1061 [531] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy - //SEG1062 gfx_init_plane_vertical::@1 + //SEG1054 [526] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] + //SEG1055 [526] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy + //SEG1056 [526] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy + //SEG1057 gfx_init_plane_vertical::@1 b1: - //SEG1063 [532] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] - //SEG1064 [532] phi (byte) gfx_init_plane_vertical::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuxx=vbuc1 + //SEG1058 [527] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] + //SEG1059 [527] phi (byte) gfx_init_plane_vertical::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1065 [532] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy - //SEG1066 [532] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] - //SEG1067 [532] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy - //SEG1068 [532] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy - //SEG1069 gfx_init_plane_vertical::@2 + //SEG1060 [527] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy + //SEG1061 [527] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] + //SEG1062 [527] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy + //SEG1063 [527] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy + //SEG1064 gfx_init_plane_vertical::@2 b2: - //SEG1070 [533] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f -- _deref_pbuz1=vbuc1 + //SEG1065 [528] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) $f -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - //SEG1071 [534] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG1066 [529] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1072 [535] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx + //SEG1067 [530] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx inx - //SEG1073 [536] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1068 [531] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1074 gfx_init_plane_vertical::@3 - //SEG1075 [537] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 + //SEG1069 gfx_init_plane_vertical::@3 + //SEG1070 [532] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG1076 [538] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1071 [533] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp by bne b1 - //SEG1077 [539] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] - //SEG1078 gfx_init_plane_vertical::@4 - //SEG1079 [540] call dtvSetCpuBankSegment1 - //SEG1080 [504] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] - //SEG1081 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1072 [534] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] + //SEG1073 gfx_init_plane_vertical::@4 + //SEG1074 [535] call dtvSetCpuBankSegment1 + //SEG1075 [499] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] + //SEG1076 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1082 gfx_init_plane_vertical::@return - //SEG1083 [541] return + //SEG1077 gfx_init_plane_vertical::@return + //SEG1078 [536] return rts } -//SEG1084 gfx_init_plane_horisontal +//SEG1079 gfx_init_plane_horisontal // Initialize Plane with Horizontal Stripes gfx_init_plane_horisontal: { .const gfxbCpuBank = PLANE_HORISONTAL/$4000 .label gfxa = 3 .label ay = 2 - //SEG1085 [543] call dtvSetCpuBankSegment1 - //SEG1086 [504] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] - //SEG1087 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1080 [538] call dtvSetCpuBankSegment1 + //SEG1081 [499] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] + //SEG1082 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - //SEG1088 [544] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] - //SEG1089 [544] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 + //SEG1083 [539] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] + //SEG1084 [539] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 lda #<$4000+(PLANE_HORISONTAL&$3fff) sta gfxa lda #>$4000+(PLANE_HORISONTAL&$3fff) sta gfxa+1 - //SEG1090 [544] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 + //SEG1085 [539] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 lda #0 sta ay - //SEG1091 [544] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] - //SEG1092 [544] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy - //SEG1093 [544] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy - //SEG1094 gfx_init_plane_horisontal::@1 + //SEG1086 [539] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] + //SEG1087 [539] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy + //SEG1088 [539] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy + //SEG1089 gfx_init_plane_horisontal::@1 b1: - //SEG1095 [545] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] - //SEG1096 [545] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuxx=vbuc1 + //SEG1090 [540] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] + //SEG1091 [540] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1097 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy - //SEG1098 [545] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] - //SEG1099 [545] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy - //SEG1100 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy - //SEG1101 gfx_init_plane_horisontal::@2 + //SEG1092 [540] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy + //SEG1093 [540] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] + //SEG1094 [540] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy + //SEG1095 [540] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy + //SEG1096 gfx_init_plane_horisontal::@2 b2: - //SEG1102 [546] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_band_vbuc1 + //SEG1097 [541] (byte~) gfx_init_plane_horisontal::$8 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_band_vbuc1 lda #4 and ay - //SEG1103 [547] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 + //SEG1098 [542] if((byte~) gfx_init_plane_horisontal::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 cmp #0 beq b3 - //SEG1104 gfx_init_plane_horisontal::@5 - //SEG1105 [548] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuz1=vbuc1 + //SEG1099 gfx_init_plane_horisontal::@5 + //SEG1100 [543] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - //SEG1106 [549] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1101 [544] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1107 [550] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] - //SEG1108 [550] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy - //SEG1109 gfx_init_plane_horisontal::@4 + //SEG1102 [545] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] + //SEG1103 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy + //SEG1104 gfx_init_plane_horisontal::@4 b4: - //SEG1110 [551] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx + //SEG1105 [546] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx inx - //SEG1111 [552] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1106 [547] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1112 gfx_init_plane_horisontal::@6 - //SEG1113 [553] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1107 gfx_init_plane_horisontal::@6 + //SEG1108 [548] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1114 [554] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1109 [549] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp ay bne b1 - //SEG1115 [555] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] - //SEG1116 gfx_init_plane_horisontal::@7 - //SEG1117 [556] call dtvSetCpuBankSegment1 - //SEG1118 [504] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] - //SEG1119 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1110 [550] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] + //SEG1111 gfx_init_plane_horisontal::@7 + //SEG1112 [551] call dtvSetCpuBankSegment1 + //SEG1113 [499] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] + //SEG1114 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1120 gfx_init_plane_horisontal::@return - //SEG1121 [557] return + //SEG1115 gfx_init_plane_horisontal::@return + //SEG1116 [552] return rts - //SEG1122 gfx_init_plane_horisontal::@3 + //SEG1117 gfx_init_plane_horisontal::@3 b3: - //SEG1123 [558] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1118 [553] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 tay sta (gfxa),y - //SEG1124 [559] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1119 [554] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: jmp b4 } -//SEG1125 gfx_init_plane_charset8 +//SEG1120 gfx_init_plane_charset8 // Initialize Plane with 8bpp charset gfx_init_plane_charset8: { .const gfxbCpuBank = PLANE_CHARSET8/$4000 @@ -30971,208 +31173,208 @@ gfx_init_plane_charset8: { .label col = $d .label cr = 7 .label ch = 2 - //SEG1126 [561] call dtvSetCpuBankSegment1 - //SEG1127 [504] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] - //SEG1128 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1121 [556] call dtvSetCpuBankSegment1 + //SEG1122 [499] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] + //SEG1123 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - //SEG1129 gfx_init_plane_charset8::@9 - //SEG1130 [562] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 + //SEG1124 gfx_init_plane_charset8::@9 + //SEG1125 [557] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_CHARROM sta PROCPORT - //SEG1131 [563] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] - //SEG1132 [563] phi (byte) gfx_init_plane_charset8::ch#8 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 + //SEG1126 [558] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] + //SEG1127 [558] phi (byte) gfx_init_plane_charset8::ch#8 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 lda #0 sta ch - //SEG1133 [563] phi (byte) gfx_init_plane_charset8::col#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 + //SEG1128 [558] phi (byte) gfx_init_plane_charset8::col#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 sta col - //SEG1134 [563] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 + //SEG1129 [558] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) $4000+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) $3fff [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 lda #<$4000+(PLANE_CHARSET8&$3fff) sta gfxa lda #>$4000+(PLANE_CHARSET8&$3fff) sta gfxa+1 - //SEG1135 [563] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 + //SEG1130 [558] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 lda #CHARGEN sta chargen+1 - //SEG1136 [563] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] - //SEG1137 [563] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy - //SEG1138 [563] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy - //SEG1139 [563] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy - //SEG1140 [563] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy - //SEG1141 gfx_init_plane_charset8::@1 + //SEG1131 [558] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] + //SEG1132 [558] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy + //SEG1133 [558] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy + //SEG1134 [558] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy + //SEG1135 [558] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy + //SEG1136 gfx_init_plane_charset8::@1 b1: - //SEG1142 [564] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] - //SEG1143 [564] phi (byte) gfx_init_plane_charset8::cr#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 + //SEG1137 [559] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] + //SEG1138 [559] phi (byte) gfx_init_plane_charset8::cr#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 lda #0 sta cr - //SEG1144 [564] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy - //SEG1145 [564] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy - //SEG1146 [564] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy - //SEG1147 [564] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] - //SEG1148 [564] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy - //SEG1149 [564] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy - //SEG1150 [564] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy - //SEG1151 [564] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy - //SEG1152 gfx_init_plane_charset8::@2 + //SEG1139 [559] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy + //SEG1140 [559] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy + //SEG1141 [559] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy + //SEG1142 [559] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] + //SEG1143 [559] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy + //SEG1144 [559] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy + //SEG1145 [559] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy + //SEG1146 [559] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy + //SEG1147 gfx_init_plane_charset8::@2 b2: - //SEG1153 [565] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 + //SEG1148 [560] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta bits - //SEG1154 [566] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1149 [561] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1155 [567] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] - //SEG1156 [567] phi (byte) gfx_init_plane_charset8::cp#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuxx=vbuc1 + //SEG1150 [562] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] + //SEG1151 [562] phi (byte) gfx_init_plane_charset8::cp#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuxx=vbuc1 ldx #0 - //SEG1157 [567] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy - //SEG1158 [567] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy - //SEG1159 [567] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy - //SEG1160 [567] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] - //SEG1161 [567] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy - //SEG1162 [567] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy - //SEG1163 [567] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy - //SEG1164 [567] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy - //SEG1165 gfx_init_plane_charset8::@3 + //SEG1152 [562] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy + //SEG1153 [562] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy + //SEG1154 [562] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy + //SEG1155 [562] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] + //SEG1156 [562] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy + //SEG1157 [562] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy + //SEG1158 [562] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy + //SEG1159 [562] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy + //SEG1160 gfx_init_plane_charset8::@3 b3: - //SEG1166 [568] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 -- vbuaa=vbuz1_band_vbuc1 + //SEG1161 [563] (byte~) gfx_init_plane_charset8::$8 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) $80 -- vbuaa=vbuz1_band_vbuc1 lda #$80 and bits - //SEG1167 [569] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 + //SEG1162 [564] if((byte~) gfx_init_plane_charset8::$8==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 cmp #0 beq b5 - //SEG1168 gfx_init_plane_charset8::@5 - //SEG1169 [570] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 + //SEG1163 gfx_init_plane_charset8::@5 + //SEG1164 [565] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 lda col - //SEG1170 [571] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] - //SEG1171 [571] phi (byte) gfx_init_plane_charset8::c#2 = (byte~) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy + //SEG1165 [566] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] + //SEG1166 [566] phi (byte) gfx_init_plane_charset8::c#2 = (byte~) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy jmp b4 - //SEG1172 [571] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] + //SEG1167 [566] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] b5: - //SEG1173 [571] phi (byte) gfx_init_plane_charset8::c#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuaa=vbuc1 + //SEG1168 [566] phi (byte) gfx_init_plane_charset8::c#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuaa=vbuc1 lda #0 - //SEG1174 gfx_init_plane_charset8::@4 + //SEG1169 gfx_init_plane_charset8::@4 b4: - //SEG1175 [572] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa + //SEG1170 [567] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxa),y - //SEG1176 [573] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1171 [568] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1177 [574] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 + //SEG1172 [569] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 asl bits - //SEG1178 [575] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 + //SEG1173 [570] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 inc col - //SEG1179 [576] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx + //SEG1174 [571] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx inx - //SEG1180 [577] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 -- vbuxx_neq_vbuc1_then_la1 + //SEG1175 [572] if((byte) gfx_init_plane_charset8::cp#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@3 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne b3 - //SEG1181 gfx_init_plane_charset8::@6 - //SEG1182 [578] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 + //SEG1176 gfx_init_plane_charset8::@6 + //SEG1177 [573] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 inc cr - //SEG1183 [579] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1178 [574] if((byte) gfx_init_plane_charset8::cr#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp cr bne b2 - //SEG1184 gfx_init_plane_charset8::@7 - //SEG1185 [580] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 + //SEG1179 gfx_init_plane_charset8::@7 + //SEG1180 [575] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 inc ch - //SEG1186 [581] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 + //SEG1181 [576] if((byte) gfx_init_plane_charset8::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 lda ch cmp #0 bne b1 - //SEG1187 gfx_init_plane_charset8::@8 - //SEG1188 [582] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 + //SEG1182 gfx_init_plane_charset8::@8 + //SEG1183 [577] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_IO sta PROCPORT - //SEG1189 [583] call dtvSetCpuBankSegment1 - //SEG1190 [504] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] - //SEG1191 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1184 [578] call dtvSetCpuBankSegment1 + //SEG1185 [499] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] + //SEG1186 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1192 gfx_init_plane_charset8::@return - //SEG1193 [584] return + //SEG1187 gfx_init_plane_charset8::@return + //SEG1188 [579] return rts } -//SEG1194 gfx_init_plane_8bppchunky +//SEG1189 gfx_init_plane_8bppchunky // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { .label _9 = $10 .label gfxb = 5 .label x = 3 .label y = 2 - //SEG1195 [586] call dtvSetCpuBankSegment1 - //SEG1196 [504] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] - //SEG1197 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1190 [581] call dtvSetCpuBankSegment1 + //SEG1191 [499] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + //SEG1192 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000 jsr dtvSetCpuBankSegment1 - //SEG1198 [587] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] - //SEG1199 [587] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 + //SEG1193 [582] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + //SEG1194 [582] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 ldx #PLANE_8BPP_CHUNKY/$4000+1 - //SEG1200 [587] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 + //SEG1195 [582] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 lda #0 sta y - //SEG1201 [587] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + //SEG1196 [582] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 - //SEG1202 [587] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] - //SEG1203 [587] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy - //SEG1204 [587] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy - //SEG1205 [587] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy - //SEG1206 gfx_init_plane_8bppchunky::@1 + //SEG1197 [582] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + //SEG1198 [582] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy + //SEG1199 [582] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy + //SEG1200 [582] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy + //SEG1201 gfx_init_plane_8bppchunky::@1 b1: - //SEG1207 [588] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] - //SEG1208 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy - //SEG1209 [588] phi (word) gfx_init_plane_8bppchunky::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vbuc1 + //SEG1202 [583] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + //SEG1203 [583] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG1204 [583] phi (word) gfx_init_plane_8bppchunky::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vbuc1 lda #0 sta x sta x+1 - //SEG1210 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy - //SEG1211 [588] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] - //SEG1212 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy - //SEG1213 [588] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy - //SEG1214 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy - //SEG1215 gfx_init_plane_8bppchunky::@2 + //SEG1205 [583] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy + //SEG1206 [583] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + //SEG1207 [583] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG1208 [583] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy + //SEG1209 [583] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy + //SEG1210 gfx_init_plane_8bppchunky::@2 b2: - //SEG1216 [589] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 + //SEG1211 [584] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 lda gfxb+1 cmp #>$8000 bne b3 lda gfxb cmp #<$8000 bne b3 - //SEG1217 gfx_init_plane_8bppchunky::@4 - //SEG1218 [590] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx + //SEG1212 gfx_init_plane_8bppchunky::@4 + //SEG1213 [585] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx txa - //SEG1219 [591] call dtvSetCpuBankSegment1 - //SEG1220 [504] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] - //SEG1221 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + //SEG1214 [586] call dtvSetCpuBankSegment1 + //SEG1215 [499] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + //SEG1216 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 - //SEG1222 gfx_init_plane_8bppchunky::@7 - //SEG1223 [592] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx + //SEG1217 gfx_init_plane_8bppchunky::@7 + //SEG1218 [587] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx inx - //SEG1224 [593] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] - //SEG1225 [593] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy - //SEG1226 [593] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + //SEG1219 [588] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] + //SEG1220 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG1221 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 - //SEG1227 [593] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] - //SEG1228 [593] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy - //SEG1229 [593] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy - //SEG1230 gfx_init_plane_8bppchunky::@3 + //SEG1222 [588] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + //SEG1223 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG1224 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy + //SEG1225 gfx_init_plane_8bppchunky::@3 b3: - //SEG1231 [594] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 + //SEG1226 [589] (word~) gfx_init_plane_8bppchunky::$9 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 lda y clc adc x @@ -31180,94 +31382,94 @@ gfx_init_plane_8bppchunky: { lda #0 adc x+1 sta _9+1 - //SEG1232 [595] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 -- vbuaa=_byte_vwuz1 + //SEG1227 [590] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$9 -- vbuaa=_byte_vwuz1 lda _9 - //SEG1233 [596] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa + //SEG1228 [591] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxb),y - //SEG1234 [597] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 + //SEG1229 [592] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1235 [598] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 + //SEG1230 [593] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 inc x bne !+ inc x+1 !: - //SEG1236 [599] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 + //SEG1231 [594] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 lda x+1 cmp #>$140 bne b2 lda x cmp #<$140 bne b2 - //SEG1237 gfx_init_plane_8bppchunky::@5 - //SEG1238 [600] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 + //SEG1232 gfx_init_plane_8bppchunky::@5 + //SEG1233 [595] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 inc y - //SEG1239 [601] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1234 [596] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp y bne b1 - //SEG1240 [602] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] - //SEG1241 gfx_init_plane_8bppchunky::@6 - //SEG1242 [603] call dtvSetCpuBankSegment1 - //SEG1243 [504] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] - //SEG1244 [504] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1235 [597] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + //SEG1236 gfx_init_plane_8bppchunky::@6 + //SEG1237 [598] call dtvSetCpuBankSegment1 + //SEG1238 [499] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + //SEG1239 [499] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) $4000/(word/signed word/dword/signed dword) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1245 gfx_init_plane_8bppchunky::@return - //SEG1246 [604] return + //SEG1240 gfx_init_plane_8bppchunky::@return + //SEG1241 [599] return rts } -//SEG1247 gfx_init_vic_bitmap +//SEG1242 gfx_init_vic_bitmap // Initialize VIC bitmap gfx_init_vic_bitmap: { .const lines_cnt = 9 .label l = 2 - //SEG1248 [606] call bitmap_init - //SEG1249 [758] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] + //SEG1243 [601] call bitmap_init + //SEG1244 [753] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] jsr bitmap_init - //SEG1250 [607] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@2 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@2] - //SEG1251 gfx_init_vic_bitmap::@2 - //SEG1252 [608] call bitmap_clear + //SEG1245 [602] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@2 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@2] + //SEG1246 gfx_init_vic_bitmap::@2 + //SEG1247 [603] call bitmap_clear jsr bitmap_clear - //SEG1253 [609] phi from gfx_init_vic_bitmap::@2 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1] - //SEG1254 [609] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 + //SEG1248 [604] phi from gfx_init_vic_bitmap::@2 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1] + //SEG1249 [604] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@2->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 lda #0 sta l - //SEG1255 [609] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] - //SEG1256 [609] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- register_copy - //SEG1257 gfx_init_vic_bitmap::@1 + //SEG1250 [604] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] + //SEG1251 [604] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- register_copy + //SEG1252 gfx_init_vic_bitmap::@1 b1: - //SEG1258 [610] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1253 [605] (byte) bitmap_line::x0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy l lda lines_x,y sta bitmap_line.x0 - //SEG1259 [611] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuxx=pbuc1_derefidx_vbuz1 + //SEG1254 [606] (byte) bitmap_line::x1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuxx=pbuc1_derefidx_vbuz1 ldx lines_x+1,y - //SEG1260 [612] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1255 [607] (byte) bitmap_line::y0#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 lda lines_y,y sta bitmap_line.y0 - //SEG1261 [613] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG1256 [608] (byte) bitmap_line::y1#0 ← *((const byte[]) gfx_init_vic_bitmap::lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 lda lines_y+1,y sta bitmap_line.y1 - //SEG1262 [614] call bitmap_line + //SEG1257 [609] call bitmap_line jsr bitmap_line - //SEG1263 gfx_init_vic_bitmap::@3 - //SEG1264 [615] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 + //SEG1258 gfx_init_vic_bitmap::@3 + //SEG1259 [610] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 inc l - //SEG1265 [616] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 -- vbuz1_lt_vbuc1_then_la1 + //SEG1260 [611] if((byte) gfx_init_vic_bitmap::l#1<(const byte) gfx_init_vic_bitmap::lines_cnt#0) goto gfx_init_vic_bitmap::@1 -- vbuz1_lt_vbuc1_then_la1 lda l cmp #lines_cnt bcc b1 - //SEG1266 gfx_init_vic_bitmap::@return - //SEG1267 [617] return + //SEG1261 gfx_init_vic_bitmap::@return + //SEG1262 [612] return rts lines_x: .byte 0, $ff, $ff, 0, 0, $80, $ff, $80, 0, $80 lines_y: .byte 0, 0, $c7, $c7, 0, 0, $64, $c7, $64, 0 } -//SEG1268 bitmap_line +//SEG1263 bitmap_line // Draw a line on the bitmap // bitmap_line(byte zeropage($d) x0, byte register(X) x1, byte zeropage($f) y0, byte zeropage($12) y1) bitmap_line: { @@ -31275,232 +31477,232 @@ bitmap_line: { .label x0 = $d .label y0 = $f .label y1 = $12 - //SEG1269 [618] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuxx_then_la1 + //SEG1264 [613] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuxx_then_la1 txa cmp x0 beq !+ bcs b1 !: - //SEG1270 bitmap_line::@2 - //SEG1271 [619] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuxx + //SEG1265 bitmap_line::@2 + //SEG1266 [614] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuxx txa eor #$ff sec adc x0 sta xd - //SEG1272 [620] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuz2_then_la1 + //SEG1267 [615] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuz2_then_la1 lda y0 cmp y1 bcc b7 - //SEG1273 bitmap_line::@3 - //SEG1274 [621] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuz1_minus_vbuz2 + //SEG1268 bitmap_line::@3 + //SEG1269 [616] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuz1_minus_vbuz2 sec sbc y1 tay - //SEG1275 [622] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuyy_lt_vbuz1_then_la1 + //SEG1270 [617] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuyy_lt_vbuz1_then_la1 cpy xd bcc b8 - //SEG1276 bitmap_line::@4 - //SEG1277 [623] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1271 bitmap_line::@4 + //SEG1272 [618] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxi.y - //SEG1278 [624] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 - //SEG1279 [625] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1273 [619] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 + //SEG1274 [620] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y1 - //SEG1280 [626] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy + //SEG1275 [621] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy sty bitmap_line_ydxi.yd - //SEG1281 [627] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 - //SEG1282 [628] call bitmap_line_ydxi - //SEG1283 [702] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] - //SEG1284 [702] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy - //SEG1285 [702] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy - //SEG1286 [702] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy - //SEG1287 [702] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy - //SEG1288 [702] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy + //SEG1276 [622] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 + //SEG1277 [623] call bitmap_line_ydxi + //SEG1278 [697] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] + //SEG1279 [697] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy + //SEG1280 [697] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy + //SEG1281 [697] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy + //SEG1282 [697] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy + //SEG1283 [697] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi - //SEG1289 bitmap_line::@return - //SEG1290 [629] return + //SEG1284 bitmap_line::@return + //SEG1285 [624] return rts - //SEG1291 bitmap_line::@8 + //SEG1286 bitmap_line::@8 b8: - //SEG1292 [630] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx + //SEG1287 [625] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx stx bitmap_line_xdyi.x - //SEG1293 [631] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1288 [626] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_xdyi.y - //SEG1294 [632] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 - //SEG1295 [633] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 - //SEG1296 [634] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy + //SEG1289 [627] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 + //SEG1290 [628] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 + //SEG1291 [629] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy sty bitmap_line_xdyi.yd - //SEG1297 [635] call bitmap_line_xdyi - //SEG1298 [680] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] - //SEG1299 [680] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy - //SEG1300 [680] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy - //SEG1301 [680] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy - //SEG1302 [680] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy - //SEG1303 [680] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy + //SEG1292 [630] call bitmap_line_xdyi + //SEG1293 [675] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] + //SEG1294 [675] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy + //SEG1295 [675] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy + //SEG1296 [675] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy + //SEG1297 [675] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy + //SEG1298 [675] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi rts - //SEG1304 bitmap_line::@7 + //SEG1299 bitmap_line::@7 b7: - //SEG1305 [636] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuz2 + //SEG1300 [631] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuz2 lda y1 sec sbc y0 tay - //SEG1306 [637] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuyy_lt_vbuz1_then_la1 + //SEG1301 [632] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuyy_lt_vbuz1_then_la1 cpy xd bcc b9 - //SEG1307 bitmap_line::@10 - //SEG1308 [638] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1302 bitmap_line::@10 + //SEG1303 [633] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxd.y - //SEG1309 [639] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 + //SEG1304 [634] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 ldx x0 - //SEG1310 [640] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1305 [635] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxd.y1 - //SEG1311 [641] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy + //SEG1306 [636] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy sty bitmap_line_ydxd.yd - //SEG1312 [642] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 - //SEG1313 [643] call bitmap_line_ydxd - //SEG1314 [732] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] - //SEG1315 [732] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy - //SEG1316 [732] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy - //SEG1317 [732] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy - //SEG1318 [732] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy - //SEG1319 [732] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy + //SEG1307 [637] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 + //SEG1308 [638] call bitmap_line_ydxd + //SEG1309 [727] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] + //SEG1310 [727] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy + //SEG1311 [727] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy + //SEG1312 [727] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy + //SEG1313 [727] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy + //SEG1314 [727] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd rts - //SEG1320 bitmap_line::@9 + //SEG1315 bitmap_line::@9 b9: - //SEG1321 [644] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx + //SEG1316 [639] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx stx bitmap_line_xdyd.x - //SEG1322 [645] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1317 [640] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_xdyd.y - //SEG1323 [646] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 - //SEG1324 [647] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 - //SEG1325 [648] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy + //SEG1318 [641] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 + //SEG1319 [642] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 + //SEG1320 [643] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy sty bitmap_line_xdyd.yd - //SEG1326 [649] call bitmap_line_xdyd - //SEG1327 [717] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] - //SEG1328 [717] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy - //SEG1329 [717] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy - //SEG1330 [717] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy - //SEG1331 [717] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy - //SEG1332 [717] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy + //SEG1321 [644] call bitmap_line_xdyd + //SEG1322 [712] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] + //SEG1323 [712] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy + //SEG1324 [712] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy + //SEG1325 [712] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy + //SEG1326 [712] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy + //SEG1327 [712] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd rts - //SEG1333 bitmap_line::@1 + //SEG1328 bitmap_line::@1 b1: - //SEG1334 [650] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuxx_minus_vbuz2 + //SEG1329 [645] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuxx_minus_vbuz2 txa sec sbc x0 sta xd - //SEG1335 [651] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuz2_then_la1 + //SEG1330 [646] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuz2_then_la1 lda y0 cmp y1 bcc b11 - //SEG1336 bitmap_line::@5 - //SEG1337 [652] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuz1_minus_vbuz2 + //SEG1331 bitmap_line::@5 + //SEG1332 [647] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuz1_minus_vbuz2 sec sbc y1 tay - //SEG1338 [653] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuyy_lt_vbuz1_then_la1 + //SEG1333 [648] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuyy_lt_vbuz1_then_la1 cpy xd bcc b12 - //SEG1339 bitmap_line::@6 - //SEG1340 [654] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1334 bitmap_line::@6 + //SEG1335 [649] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxd.y - //SEG1341 [655] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 - //SEG1342 [656] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 - //SEG1343 [657] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy + //SEG1336 [650] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 + //SEG1337 [651] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 + //SEG1338 [652] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy sty bitmap_line_ydxd.yd - //SEG1344 [658] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 - //SEG1345 [659] call bitmap_line_ydxd - //SEG1346 [732] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] - //SEG1347 [732] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy - //SEG1348 [732] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy - //SEG1349 [732] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy - //SEG1350 [732] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy - //SEG1351 [732] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy + //SEG1339 [653] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 + //SEG1340 [654] call bitmap_line_ydxd + //SEG1341 [727] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] + //SEG1342 [727] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy + //SEG1343 [727] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy + //SEG1344 [727] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy + //SEG1345 [727] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy + //SEG1346 [727] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd rts - //SEG1352 bitmap_line::@12 + //SEG1347 bitmap_line::@12 b12: - //SEG1353 [660] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1348 [655] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x - //SEG1354 [661] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - //SEG1355 [662] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx + //SEG1349 [656] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + //SEG1350 [657] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx stx bitmap_line_xdyd.x1 - //SEG1356 [663] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 - //SEG1357 [664] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy + //SEG1351 [658] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 + //SEG1352 [659] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy sty bitmap_line_xdyd.yd - //SEG1358 [665] call bitmap_line_xdyd - //SEG1359 [717] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] - //SEG1360 [717] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy - //SEG1361 [717] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy - //SEG1362 [717] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy - //SEG1363 [717] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy - //SEG1364 [717] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy + //SEG1353 [660] call bitmap_line_xdyd + //SEG1354 [712] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] + //SEG1355 [712] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy + //SEG1356 [712] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy + //SEG1357 [712] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy + //SEG1358 [712] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy + //SEG1359 [712] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd rts - //SEG1365 bitmap_line::@11 + //SEG1360 bitmap_line::@11 b11: - //SEG1366 [666] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuz2 + //SEG1361 [661] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuz2 lda y1 sec sbc y0 tay - //SEG1367 [667] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuyy_lt_vbuz1_then_la1 + //SEG1362 [662] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuyy_lt_vbuz1_then_la1 cpy xd bcc b13 - //SEG1368 bitmap_line::@14 - //SEG1369 [668] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1363 bitmap_line::@14 + //SEG1364 [663] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y - //SEG1370 [669] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 + //SEG1365 [664] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 ldx x0 - //SEG1371 [670] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 - //SEG1372 [671] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy + //SEG1366 [665] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 + //SEG1367 [666] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy sty bitmap_line_ydxi.yd - //SEG1373 [672] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 - //SEG1374 [673] call bitmap_line_ydxi - //SEG1375 [702] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] - //SEG1376 [702] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy - //SEG1377 [702] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy - //SEG1378 [702] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy - //SEG1379 [702] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy - //SEG1380 [702] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy + //SEG1368 [667] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 + //SEG1369 [668] call bitmap_line_ydxi + //SEG1370 [697] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] + //SEG1371 [697] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy + //SEG1372 [697] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy + //SEG1373 [697] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy + //SEG1374 [697] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy + //SEG1375 [697] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi rts - //SEG1381 bitmap_line::@13 + //SEG1376 bitmap_line::@13 b13: - //SEG1382 [674] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1377 [669] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyi.x - //SEG1383 [675] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - //SEG1384 [676] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx + //SEG1378 [670] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + //SEG1379 [671] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuxx stx bitmap_line_xdyi.x1 - //SEG1385 [677] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 - //SEG1386 [678] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy + //SEG1380 [672] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 + //SEG1381 [673] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy sty bitmap_line_xdyi.yd - //SEG1387 [679] call bitmap_line_xdyi - //SEG1388 [680] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] - //SEG1389 [680] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy - //SEG1390 [680] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy - //SEG1391 [680] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy - //SEG1392 [680] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy - //SEG1393 [680] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy + //SEG1382 [674] call bitmap_line_xdyi + //SEG1383 [675] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] + //SEG1384 [675] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy + //SEG1385 [675] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy + //SEG1386 [675] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy + //SEG1387 [675] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy + //SEG1388 [675] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi rts } -//SEG1394 bitmap_line_xdyi +//SEG1389 bitmap_line_xdyi // bitmap_line_xdyi(byte zeropage($e) x, byte zeropage($f) y, byte zeropage($d) x1, byte zeropage(8) xd, byte zeropage(7) yd) bitmap_line_xdyi: { .label x = $e @@ -31509,77 +31711,77 @@ bitmap_line_xdyi: { .label xd = 8 .label yd = 7 .label e = $12 - //SEG1395 [681] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1390 [676] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda yd lsr sta e - //SEG1396 [682] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] - //SEG1397 [682] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy - //SEG1398 [682] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy - //SEG1399 [682] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy - //SEG1400 bitmap_line_xdyi::@1 + //SEG1391 [677] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] + //SEG1392 [677] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy + //SEG1393 [677] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy + //SEG1394 [677] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy + //SEG1395 bitmap_line_xdyi::@1 b1: - //SEG1401 [683] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuxx=vbuz1 + //SEG1396 [678] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuxx=vbuz1 ldx x - //SEG1402 [684] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1 + //SEG1397 [679] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1 ldy y - //SEG1403 [685] call bitmap_plot - //SEG1404 [695] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] - //SEG1405 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy - //SEG1406 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy + //SEG1398 [680] call bitmap_plot + //SEG1399 [690] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] + //SEG1400 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy + //SEG1401 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot - //SEG1407 bitmap_line_xdyi::@4 - //SEG1408 [686] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 + //SEG1402 bitmap_line_xdyi::@4 + //SEG1403 [681] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1409 [687] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1404 [682] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc yd sta e - //SEG1410 [688] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1405 [683] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 lda xd cmp e bcs b2 - //SEG1411 bitmap_line_xdyi::@3 - //SEG1412 [689] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1406 bitmap_line_xdyi::@3 + //SEG1407 [684] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1413 [690] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1408 [685] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc xd sta e - //SEG1414 [691] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] - //SEG1415 [691] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy - //SEG1416 [691] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy - //SEG1417 bitmap_line_xdyi::@2 + //SEG1409 [686] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] + //SEG1410 [686] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy + //SEG1411 [686] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy + //SEG1412 bitmap_line_xdyi::@2 b2: - //SEG1418 [692] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuz1_plus_1 + //SEG1413 [687] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuz1_plus_1 ldx x1 inx - //SEG1419 [693] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuxx_then_la1 + //SEG1414 [688] if((byte) bitmap_line_xdyi::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuxx_then_la1 cpx x bne b1 - //SEG1420 bitmap_line_xdyi::@return - //SEG1421 [694] return + //SEG1415 bitmap_line_xdyi::@return + //SEG1416 [689] return rts } -//SEG1422 bitmap_plot +//SEG1417 bitmap_plot // bitmap_plot(byte register(X) x, byte register(Y) y) bitmap_plot: { .label _0 = 3 .label plotter_x = 3 .label plotter_y = 5 - //SEG1423 [696] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx + //SEG1418 [691] (word) bitmap_plot::plotter_x#0 ← *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx lda bitmap_plot_xhi,x sta plotter_x+1 lda bitmap_plot_xlo,x sta plotter_x - //SEG1424 [697] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + //SEG1419 [692] (word) bitmap_plot::plotter_y#0 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy lda bitmap_plot_yhi,y sta plotter_y+1 lda bitmap_plot_ylo,y sta plotter_y - //SEG1425 [698] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 + //SEG1420 [693] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 lda _0 clc adc plotter_y @@ -31587,17 +31789,17 @@ bitmap_plot: { lda _0+1 adc plotter_y+1 sta _0+1 - //SEG1426 [699] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx + //SEG1421 [694] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx lda bitmap_plot_bit,x ldy #0 ora (_0),y - //SEG1427 [700] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa + //SEG1422 [695] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa sta (_0),y - //SEG1428 bitmap_plot::@return - //SEG1429 [701] return + //SEG1423 bitmap_plot::@return + //SEG1424 [696] return rts } -//SEG1430 bitmap_line_ydxi +//SEG1425 bitmap_line_ydxi // bitmap_line_ydxi(byte zeropage($e) y, byte register(X) x, byte zeropage($12) y1, byte zeropage(7) yd, byte zeropage(8) xd) bitmap_line_ydxi: { .label y = $e @@ -31605,61 +31807,61 @@ bitmap_line_ydxi: { .label yd = 7 .label xd = 8 .label e = $d - //SEG1431 [703] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1426 [698] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda xd lsr sta e - //SEG1432 [704] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] - //SEG1433 [704] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy - //SEG1434 [704] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy - //SEG1435 [704] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy - //SEG1436 bitmap_line_ydxi::@1 + //SEG1427 [699] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] + //SEG1428 [699] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy + //SEG1429 [699] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy + //SEG1430 [699] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy + //SEG1431 bitmap_line_ydxi::@1 b1: - //SEG1437 [705] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 - //SEG1438 [706] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1 + //SEG1432 [700] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 + //SEG1433 [701] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1 ldy y - //SEG1439 [707] call bitmap_plot - //SEG1440 [695] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] - //SEG1441 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy - //SEG1442 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy + //SEG1434 [702] call bitmap_plot + //SEG1435 [690] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] + //SEG1436 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy + //SEG1437 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot - //SEG1443 bitmap_line_ydxi::@4 - //SEG1444 [708] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1438 bitmap_line_ydxi::@4 + //SEG1439 [703] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1445 [709] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1440 [704] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc xd sta e - //SEG1446 [710] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1441 [705] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 lda yd cmp e bcs b2 - //SEG1447 bitmap_line_ydxi::@3 - //SEG1448 [711] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx + //SEG1442 bitmap_line_ydxi::@3 + //SEG1443 [706] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx inx - //SEG1449 [712] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1444 [707] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc yd sta e - //SEG1450 [713] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] - //SEG1451 [713] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy - //SEG1452 [713] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy - //SEG1453 bitmap_line_ydxi::@2 + //SEG1445 [708] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] + //SEG1446 [708] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy + //SEG1447 [708] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy + //SEG1448 bitmap_line_ydxi::@2 b2: - //SEG1454 [714] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 + //SEG1449 [709] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 lda y1 clc adc #1 - //SEG1455 [715] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuaa_then_la1 + //SEG1450 [710] if((byte) bitmap_line_ydxi::y#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuaa_then_la1 cmp y bne b1 - //SEG1456 bitmap_line_ydxi::@return - //SEG1457 [716] return + //SEG1451 bitmap_line_ydxi::@return + //SEG1452 [711] return rts } -//SEG1458 bitmap_line_xdyd +//SEG1453 bitmap_line_xdyd // bitmap_line_xdyd(byte zeropage($e) x, byte zeropage($f) y, byte zeropage($d) x1, byte zeropage(8) xd, byte zeropage(7) yd) bitmap_line_xdyd: { .label x = $e @@ -31668,61 +31870,61 @@ bitmap_line_xdyd: { .label xd = 8 .label yd = 7 .label e = $12 - //SEG1459 [718] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1454 [713] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda yd lsr sta e - //SEG1460 [719] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] - //SEG1461 [719] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy - //SEG1462 [719] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy - //SEG1463 [719] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy - //SEG1464 bitmap_line_xdyd::@1 + //SEG1455 [714] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] + //SEG1456 [714] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy + //SEG1457 [714] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy + //SEG1458 [714] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy + //SEG1459 bitmap_line_xdyd::@1 b1: - //SEG1465 [720] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuxx=vbuz1 + //SEG1460 [715] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuxx=vbuz1 ldx x - //SEG1466 [721] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1 + //SEG1461 [716] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1 ldy y - //SEG1467 [722] call bitmap_plot - //SEG1468 [695] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] - //SEG1469 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy - //SEG1470 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy + //SEG1462 [717] call bitmap_plot + //SEG1463 [690] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] + //SEG1464 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy + //SEG1465 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot - //SEG1471 bitmap_line_xdyd::@4 - //SEG1472 [723] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 + //SEG1466 bitmap_line_xdyd::@4 + //SEG1467 [718] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1473 [724] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1468 [719] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc yd sta e - //SEG1474 [725] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1469 [720] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 lda xd cmp e bcs b2 - //SEG1475 bitmap_line_xdyd::@3 - //SEG1476 [726] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 + //SEG1470 bitmap_line_xdyd::@3 + //SEG1471 [721] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 dec y - //SEG1477 [727] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1472 [722] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc xd sta e - //SEG1478 [728] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] - //SEG1479 [728] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy - //SEG1480 [728] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy - //SEG1481 bitmap_line_xdyd::@2 + //SEG1473 [723] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] + //SEG1474 [723] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy + //SEG1475 [723] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy + //SEG1476 bitmap_line_xdyd::@2 b2: - //SEG1482 [729] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuz1_plus_1 + //SEG1477 [724] (byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuz1_plus_1 ldx x1 inx - //SEG1483 [730] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuxx_then_la1 + //SEG1478 [725] if((byte) bitmap_line_xdyd::x#2!=(byte/signed word/word/dword/signed dword~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuxx_then_la1 cpx x bne b1 - //SEG1484 bitmap_line_xdyd::@return - //SEG1485 [731] return + //SEG1479 bitmap_line_xdyd::@return + //SEG1480 [726] return rts } -//SEG1486 bitmap_line_ydxd +//SEG1481 bitmap_line_ydxd // bitmap_line_ydxd(byte zeropage($e) y, byte register(X) x, byte zeropage($f) y1, byte zeropage(7) yd, byte zeropage(8) xd) bitmap_line_ydxd: { .label y = $e @@ -31730,192 +31932,192 @@ bitmap_line_ydxd: { .label yd = 7 .label xd = 8 .label e = $d - //SEG1487 [733] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1482 [728] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda xd lsr sta e - //SEG1488 [734] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] - //SEG1489 [734] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy - //SEG1490 [734] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy - //SEG1491 [734] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy - //SEG1492 bitmap_line_ydxd::@1 + //SEG1483 [729] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] + //SEG1484 [729] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy + //SEG1485 [729] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy + //SEG1486 [729] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy + //SEG1487 bitmap_line_ydxd::@1 b1: - //SEG1493 [735] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 - //SEG1494 [736] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1 + //SEG1488 [730] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 + //SEG1489 [731] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1 ldy y - //SEG1495 [737] call bitmap_plot - //SEG1496 [695] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] - //SEG1497 [695] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy - //SEG1498 [695] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy + //SEG1490 [732] call bitmap_plot + //SEG1491 [690] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] + //SEG1492 [690] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy + //SEG1493 [690] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot - //SEG1499 bitmap_line_ydxd::@4 - //SEG1500 [738] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 + //SEG1494 bitmap_line_ydxd::@4 + //SEG1495 [733] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG1501 [739] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1496 [734] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda e clc adc xd sta e - //SEG1502 [740] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1497 [735] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 lda yd cmp e bcs b2 - //SEG1503 bitmap_line_ydxd::@3 - //SEG1504 [741] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx + //SEG1498 bitmap_line_ydxd::@3 + //SEG1499 [736] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx dex - //SEG1505 [742] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1500 [737] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda e sec sbc yd sta e - //SEG1506 [743] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] - //SEG1507 [743] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy - //SEG1508 [743] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy - //SEG1509 bitmap_line_ydxd::@2 + //SEG1501 [738] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] + //SEG1502 [738] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy + //SEG1503 [738] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy + //SEG1504 bitmap_line_ydxd::@2 b2: - //SEG1510 [744] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 + //SEG1505 [739] (byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 lda y1 clc adc #1 - //SEG1511 [745] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuaa_then_la1 + //SEG1506 [740] if((byte) bitmap_line_ydxd::y#3!=(byte/signed word/word/dword/signed dword~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuaa_then_la1 cmp y bne b1 - //SEG1512 bitmap_line_ydxd::@return - //SEG1513 [746] return + //SEG1507 bitmap_line_ydxd::@return + //SEG1508 [741] return rts } -//SEG1514 bitmap_clear +//SEG1509 bitmap_clear // Clear all graphics on the bitmap bitmap_clear: { .label bitmap = 3 .label y = 2 .label _3 = 3 - //SEG1515 [747] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG1510 [742] (word~) bitmap_clear::$3 ← *((const byte[$100]) bitmap_plot_xhi#0) w= *((const byte[$100]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda bitmap_plot_xlo sta _3 lda bitmap_plot_xhi sta _3+1 - //SEG1516 [748] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 - //SEG1517 [749] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] - //SEG1518 [749] phi (byte) bitmap_clear::y#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 + //SEG1511 [743] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 + //SEG1512 [744] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] + //SEG1513 [744] phi (byte) bitmap_clear::y#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 lda #0 sta y - //SEG1519 [749] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy - //SEG1520 [749] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] - //SEG1521 [749] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy - //SEG1522 [749] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy - //SEG1523 bitmap_clear::@1 + //SEG1514 [744] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy + //SEG1515 [744] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] + //SEG1516 [744] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy + //SEG1517 [744] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy + //SEG1518 bitmap_clear::@1 b1: - //SEG1524 [750] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] - //SEG1525 [750] phi (byte) bitmap_clear::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1 + //SEG1519 [745] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] + //SEG1520 [745] phi (byte) bitmap_clear::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1526 [750] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy - //SEG1527 [750] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] - //SEG1528 [750] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy - //SEG1529 [750] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy - //SEG1530 bitmap_clear::@2 + //SEG1521 [745] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy + //SEG1522 [745] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] + //SEG1523 [745] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy + //SEG1524 [745] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy + //SEG1525 bitmap_clear::@2 b2: - //SEG1531 [751] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1526 [746] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 tay sta (bitmap),y - //SEG1532 [752] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 + //SEG1527 [747] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 inc bitmap bne !+ inc bitmap+1 !: - //SEG1533 [753] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx + //SEG1528 [748] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx inx - //SEG1534 [754] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1529 [749] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$c8 bne b2 - //SEG1535 bitmap_clear::@3 - //SEG1536 [755] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 + //SEG1530 bitmap_clear::@3 + //SEG1531 [750] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 inc y - //SEG1537 [756] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1532 [751] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp y bne b1 - //SEG1538 bitmap_clear::@return - //SEG1539 [757] return + //SEG1533 bitmap_clear::@return + //SEG1534 [752] return rts } -//SEG1540 bitmap_init +//SEG1535 bitmap_init // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { .label _6 = 2 .label yoffs = 3 - //SEG1541 [759] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] - //SEG1542 [759] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 + //SEG1536 [754] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] + //SEG1537 [754] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 ldy #$80 - //SEG1543 [759] phi (byte) bitmap_init::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1 + //SEG1538 [754] phi (byte) bitmap_init::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1 ldx #0 - //SEG1544 [759] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] - //SEG1545 [759] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy - //SEG1546 [759] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy - //SEG1547 bitmap_init::@1 + //SEG1539 [754] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] + //SEG1540 [754] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy + //SEG1541 [754] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy + //SEG1542 bitmap_init::@1 b1: - //SEG1548 [760] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 -- vbuaa=vbuxx_band_vbuc1 + //SEG1543 [755] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) $f8 -- vbuaa=vbuxx_band_vbuc1 txa and #$f8 - //SEG1549 [761] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1544 [756] *((const byte[$100]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_xlo,x - //SEG1550 [762] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG1545 [757] *((const byte[$100]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuxx=vbuc2 lda #>VIC_BITMAP sta bitmap_plot_xhi,x - //SEG1551 [763] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy + //SEG1546 [758] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy tya sta bitmap_plot_bit,x - //SEG1552 [764] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuyy_ror_1 + //SEG1547 [759] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuyy_ror_1 tya lsr tay - //SEG1553 [765] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1 + //SEG1548 [760] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1 cpy #0 bne b2 - //SEG1554 [766] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] - //SEG1555 [766] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 + //SEG1549 [761] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] + //SEG1550 [761] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 ldy #$80 - //SEG1556 bitmap_init::@2 + //SEG1551 bitmap_init::@2 b2: - //SEG1557 [767] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx + //SEG1552 [762] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx inx - //SEG1558 [768] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 + //SEG1553 [763] if((byte) bitmap_init::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 cpx #0 bne b1 - //SEG1559 [769] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] - //SEG1560 [769] phi (byte*) bitmap_init::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 + //SEG1554 [764] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] + //SEG1555 [764] phi (byte*) bitmap_init::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 lda #<0 sta yoffs sta yoffs+1 - //SEG1561 [769] phi (byte) bitmap_init::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 + //SEG1556 [764] phi (byte) bitmap_init::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 tax - //SEG1562 [769] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] - //SEG1563 [769] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy - //SEG1564 [769] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy - //SEG1565 bitmap_init::@3 + //SEG1557 [764] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] + //SEG1558 [764] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy + //SEG1559 [764] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy + //SEG1560 bitmap_init::@3 b3: - //SEG1566 [770] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1 + //SEG1561 [765] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1 lda #7 sax _6 - //SEG1567 [771] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 + //SEG1562 [766] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 lda yoffs - //SEG1568 [772] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa + //SEG1563 [767] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa ora _6 - //SEG1569 [773] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1564 [768] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_ylo,x - //SEG1570 [774] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 + //SEG1565 [769] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 lda yoffs+1 - //SEG1571 [775] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1566 [770] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_yhi,x - //SEG1572 [776] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuxx_band_vbuc1 + //SEG1567 [771] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuxx_band_vbuc1 txa and #7 - //SEG1573 [777] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuaa_neq_vbuc1_then_la1 + //SEG1568 [772] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuaa_neq_vbuc1_then_la1 cmp #7 bne b4 - //SEG1574 bitmap_init::@5 - //SEG1575 [778] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 + //SEG1569 bitmap_init::@5 + //SEG1570 [773] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 clc lda yoffs adc #<$28*8 @@ -31923,428 +32125,428 @@ bitmap_init: { lda yoffs+1 adc #>$28*8 sta yoffs+1 - //SEG1576 [779] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] - //SEG1577 [779] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy - //SEG1578 bitmap_init::@4 + //SEG1571 [774] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] + //SEG1572 [774] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy + //SEG1573 bitmap_init::@4 b4: - //SEG1579 [780] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx + //SEG1574 [775] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx inx - //SEG1580 [781] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 + //SEG1575 [776] if((byte) bitmap_init::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 cpx #0 bne b3 - //SEG1581 bitmap_init::@return - //SEG1582 [782] return + //SEG1576 bitmap_init::@return + //SEG1577 [777] return rts - //SEG1583 [783] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] - //SEG1584 bitmap_init::@6 - //SEG1585 [766] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] - //SEG1586 [766] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy + //SEG1578 [778] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] + //SEG1579 bitmap_init::@6 + //SEG1580 [761] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] + //SEG1581 [761] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy } -//SEG1587 gfx_init_charset +//SEG1582 gfx_init_charset gfx_init_charset: { .label charset = 5 .label chargen = 3 .label c = 2 - //SEG1588 [784] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 -- _deref_pbuc1=vbuc2 + //SEG1583 [779] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - //SEG1589 [785] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] - //SEG1590 [785] phi (byte) gfx_init_charset::c#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 + //SEG1584 [780] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] + //SEG1585 [780] phi (byte) gfx_init_charset::c#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 lda #0 sta c - //SEG1591 [785] phi (byte*) gfx_init_charset::charset#3 = (const byte*) VIC_CHARSET_ROM#0 [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 + //SEG1586 [780] phi (byte*) gfx_init_charset::charset#3 = (const byte*) VIC_CHARSET_ROM#0 [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 lda #VIC_CHARSET_ROM sta charset+1 - //SEG1592 [785] phi (byte*) gfx_init_charset::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 + //SEG1587 [780] phi (byte*) gfx_init_charset::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 lda #CHARGEN sta chargen+1 - //SEG1593 [785] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] - //SEG1594 [785] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy - //SEG1595 [785] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy - //SEG1596 [785] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy - //SEG1597 gfx_init_charset::@1 + //SEG1588 [780] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] + //SEG1589 [780] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy + //SEG1590 [780] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy + //SEG1591 [780] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy + //SEG1592 gfx_init_charset::@1 b1: - //SEG1598 [786] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] - //SEG1599 [786] phi (byte) gfx_init_charset::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuxx=vbuc1 + //SEG1593 [781] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] + //SEG1594 [781] phi (byte) gfx_init_charset::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1600 [786] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy - //SEG1601 [786] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy - //SEG1602 [786] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] - //SEG1603 [786] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy - //SEG1604 [786] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy - //SEG1605 [786] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy - //SEG1606 gfx_init_charset::@2 + //SEG1595 [781] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy + //SEG1596 [781] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy + //SEG1597 [781] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] + //SEG1598 [781] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy + //SEG1599 [781] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy + //SEG1600 [781] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy + //SEG1601 gfx_init_charset::@2 b2: - //SEG1607 [787] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 + //SEG1602 [782] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta (charset),y - //SEG1608 [788] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 + //SEG1603 [783] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 inc charset bne !+ inc charset+1 !: - //SEG1609 [789] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1604 [784] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1610 [790] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx + //SEG1605 [785] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx inx - //SEG1611 [791] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1606 [786] if((byte) gfx_init_charset::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto gfx_init_charset::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne b2 - //SEG1612 gfx_init_charset::@3 - //SEG1613 [792] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 + //SEG1607 gfx_init_charset::@3 + //SEG1608 [787] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 inc c - //SEG1614 [793] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 + //SEG1609 [788] if((byte) gfx_init_charset::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 lda c cmp #0 bne b1 - //SEG1615 gfx_init_charset::@4 - //SEG1616 [794] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 + //SEG1610 gfx_init_charset::@4 + //SEG1611 [789] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT - //SEG1617 gfx_init_charset::@return - //SEG1618 [795] return + //SEG1612 gfx_init_charset::@return + //SEG1613 [790] return rts } -//SEG1619 gfx_init_screen4 +//SEG1614 gfx_init_screen4 // Initialize VIC screen 4 - all chars are 00 gfx_init_screen4: { .label ch = 3 .label cy = 2 - //SEG1620 [797] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] - //SEG1621 [797] phi (byte) gfx_init_screen4::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 + //SEG1615 [792] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] + //SEG1616 [792] phi (byte) gfx_init_screen4::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 lda #0 sta cy - //SEG1622 [797] phi (byte*) gfx_init_screen4::ch#3 = (const byte*) VIC_SCREEN4#0 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 + //SEG1617 [792] phi (byte*) gfx_init_screen4::ch#3 = (const byte*) VIC_SCREEN4#0 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 lda #VIC_SCREEN4 sta ch+1 - //SEG1623 [797] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] - //SEG1624 [797] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy - //SEG1625 [797] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy - //SEG1626 gfx_init_screen4::@1 + //SEG1618 [792] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] + //SEG1619 [792] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy + //SEG1620 [792] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy + //SEG1621 gfx_init_screen4::@1 b1: - //SEG1627 [798] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] - //SEG1628 [798] phi (byte) gfx_init_screen4::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuxx=vbuc1 + //SEG1622 [793] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] + //SEG1623 [793] phi (byte) gfx_init_screen4::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuxx=vbuc1 ldx #0 - //SEG1629 [798] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy - //SEG1630 [798] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] - //SEG1631 [798] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy - //SEG1632 [798] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy - //SEG1633 gfx_init_screen4::@2 + //SEG1624 [793] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy + //SEG1625 [793] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] + //SEG1626 [793] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy + //SEG1627 [793] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy + //SEG1628 gfx_init_screen4::@2 b2: - //SEG1634 [799] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1629 [794] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 tay sta (ch),y - //SEG1635 [800] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1630 [795] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1636 [801] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx + //SEG1631 [796] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1637 [802] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1632 [797] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1638 gfx_init_screen4::@3 - //SEG1639 [803] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1633 gfx_init_screen4::@3 + //SEG1634 [798] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1640 [804] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1635 [799] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1 - //SEG1641 gfx_init_screen4::@return - //SEG1642 [805] return + //SEG1636 gfx_init_screen4::@return + //SEG1637 [800] return rts } -//SEG1643 gfx_init_screen3 +//SEG1638 gfx_init_screen3 // Initialize VIC screen 3 ( value is %00xx00yy where xx is xpos and yy is ypos gfx_init_screen3: { .label _1 = 7 .label ch = 3 .label cy = 2 - //SEG1644 [807] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] - //SEG1645 [807] phi (byte*) gfx_init_screen3::ch#3 = (const byte*) VIC_SCREEN3#0 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 + //SEG1639 [802] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] + //SEG1640 [802] phi (byte*) gfx_init_screen3::ch#3 = (const byte*) VIC_SCREEN3#0 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN3 sta ch+1 - //SEG1646 [807] phi (byte) gfx_init_screen3::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 + //SEG1641 [802] phi (byte) gfx_init_screen3::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 lda #0 sta cy - //SEG1647 [807] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] - //SEG1648 [807] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy - //SEG1649 [807] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy - //SEG1650 gfx_init_screen3::@1 + //SEG1642 [802] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] + //SEG1643 [802] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy + //SEG1644 [802] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy + //SEG1645 gfx_init_screen3::@1 b1: - //SEG1651 [808] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] - //SEG1652 [808] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy - //SEG1653 [808] phi (byte) gfx_init_screen3::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuxx=vbuc1 + //SEG1646 [803] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] + //SEG1647 [803] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy + //SEG1648 [803] phi (byte) gfx_init_screen3::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuxx=vbuc1 ldx #0 - //SEG1654 [808] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] - //SEG1655 [808] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy - //SEG1656 [808] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy - //SEG1657 gfx_init_screen3::@2 + //SEG1649 [803] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] + //SEG1650 [803] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy + //SEG1651 [803] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy + //SEG1652 gfx_init_screen3::@2 b2: - //SEG1658 [809] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuxx_band_vbuc1 + //SEG1653 [804] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuxx_band_vbuc1 txa and #3 - //SEG1659 [810] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 + //SEG1654 [805] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 asl asl asl asl sta _1 - //SEG1660 [811] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuz1_band_vbuc1 + //SEG1655 [806] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuz1_band_vbuc1 lda #3 and cy - //SEG1661 [812] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa + //SEG1656 [807] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG1662 [813] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa + //SEG1657 [808] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1663 [814] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1658 [809] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1664 [815] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx + //SEG1659 [810] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1665 [816] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1660 [811] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1666 gfx_init_screen3::@3 - //SEG1667 [817] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1661 gfx_init_screen3::@3 + //SEG1662 [812] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1668 [818] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1663 [813] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1 - //SEG1669 gfx_init_screen3::@return - //SEG1670 [819] return + //SEG1664 gfx_init_screen3::@return + //SEG1665 [814] return rts } -//SEG1671 gfx_init_screen2 +//SEG1666 gfx_init_screen2 // Initialize VIC screen 2 ( value is %ccccrrrr where cccc is (x+y mod $f) and rrrr is %1111-%cccc) gfx_init_screen2: { .label col2 = 7 .label ch = 3 .label cy = 2 - //SEG1672 [821] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] - //SEG1673 [821] phi (byte*) gfx_init_screen2::ch#3 = (const byte*) VIC_SCREEN2#0 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 + //SEG1667 [816] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] + //SEG1668 [816] phi (byte*) gfx_init_screen2::ch#3 = (const byte*) VIC_SCREEN2#0 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN2 sta ch+1 - //SEG1674 [821] phi (byte) gfx_init_screen2::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 + //SEG1669 [816] phi (byte) gfx_init_screen2::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 lda #0 sta cy - //SEG1675 [821] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] - //SEG1676 [821] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy - //SEG1677 [821] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy - //SEG1678 gfx_init_screen2::@1 + //SEG1670 [816] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] + //SEG1671 [816] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy + //SEG1672 [816] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy + //SEG1673 gfx_init_screen2::@1 b1: - //SEG1679 [822] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] - //SEG1680 [822] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy - //SEG1681 [822] phi (byte) gfx_init_screen2::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuxx=vbuc1 + //SEG1674 [817] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] + //SEG1675 [817] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy + //SEG1676 [817] phi (byte) gfx_init_screen2::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuxx=vbuc1 ldx #0 - //SEG1682 [822] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] - //SEG1683 [822] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy - //SEG1684 [822] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy - //SEG1685 gfx_init_screen2::@2 + //SEG1677 [817] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] + //SEG1678 [817] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy + //SEG1679 [817] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy + //SEG1680 gfx_init_screen2::@2 b2: - //SEG1686 [823] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + //SEG1681 [818] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 txa clc adc cy - //SEG1687 [824] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuyy=vbuaa_band_vbuc1 + //SEG1682 [819] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuyy=vbuaa_band_vbuc1 and #$f tay - //SEG1688 [825] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy + //SEG1683 [820] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy tya eor #$ff clc adc #$f+1 sta col2 - //SEG1689 [826] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuyy_rol_4 + //SEG1684 [821] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuyy_rol_4 tya asl asl asl asl - //SEG1690 [827] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 + //SEG1685 [822] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 ora col2 - //SEG1691 [828] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa + //SEG1686 [823] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1692 [829] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1687 [824] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1693 [830] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx + //SEG1688 [825] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1694 [831] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1689 [826] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1695 gfx_init_screen2::@3 - //SEG1696 [832] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1690 gfx_init_screen2::@3 + //SEG1691 [827] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1697 [833] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1692 [828] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1 - //SEG1698 gfx_init_screen2::@return - //SEG1699 [834] return + //SEG1693 gfx_init_screen2::@return + //SEG1694 [829] return rts } -//SEG1700 gfx_init_screen1 +//SEG1695 gfx_init_screen1 // Initialize VIC screen 1 ( value is %0000cccc where cccc is (x+y mod $f)) gfx_init_screen1: { .label ch = 3 .label cy = 2 - //SEG1701 [836] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] - //SEG1702 [836] phi (byte*) gfx_init_screen1::ch#3 = (const byte*) VIC_SCREEN1#0 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 + //SEG1696 [831] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] + //SEG1697 [831] phi (byte*) gfx_init_screen1::ch#3 = (const byte*) VIC_SCREEN1#0 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN1 sta ch+1 - //SEG1703 [836] phi (byte) gfx_init_screen1::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 + //SEG1698 [831] phi (byte) gfx_init_screen1::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 lda #0 sta cy - //SEG1704 [836] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] - //SEG1705 [836] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy - //SEG1706 [836] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy - //SEG1707 gfx_init_screen1::@1 + //SEG1699 [831] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] + //SEG1700 [831] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy + //SEG1701 [831] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy + //SEG1702 gfx_init_screen1::@1 b1: - //SEG1708 [837] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] - //SEG1709 [837] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy - //SEG1710 [837] phi (byte) gfx_init_screen1::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuxx=vbuc1 + //SEG1703 [832] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] + //SEG1704 [832] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy + //SEG1705 [832] phi (byte) gfx_init_screen1::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuxx=vbuc1 ldx #0 - //SEG1711 [837] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] - //SEG1712 [837] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy - //SEG1713 [837] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy - //SEG1714 gfx_init_screen1::@2 + //SEG1706 [832] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] + //SEG1707 [832] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy + //SEG1708 [832] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy + //SEG1709 gfx_init_screen1::@2 b2: - //SEG1715 [838] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + //SEG1710 [833] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 txa clc adc cy - //SEG1716 [839] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuaa_band_vbuc1 + //SEG1711 [834] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuaa_band_vbuc1 and #$f - //SEG1717 [840] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa + //SEG1712 [835] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1718 [841] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1713 [836] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1719 [842] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx + //SEG1714 [837] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1720 [843] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1715 [838] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1721 gfx_init_screen1::@3 - //SEG1722 [844] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1716 gfx_init_screen1::@3 + //SEG1717 [839] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1723 [845] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1718 [840] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1 - //SEG1724 gfx_init_screen1::@return - //SEG1725 [846] return + //SEG1719 gfx_init_screen1::@return + //SEG1720 [841] return rts } -//SEG1726 gfx_init_screen0 +//SEG1721 gfx_init_screen0 // Initialize VIC screen 0 ( value is %yyyyxxxx where yyyy is ypos and xxxx is xpos) gfx_init_screen0: { .label _1 = 7 .label ch = 3 .label cy = 2 - //SEG1727 [848] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] - //SEG1728 [848] phi (byte*) gfx_init_screen0::ch#3 = (const byte*) VIC_SCREEN0#0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 + //SEG1722 [843] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] + //SEG1723 [843] phi (byte*) gfx_init_screen0::ch#3 = (const byte*) VIC_SCREEN0#0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN0 sta ch+1 - //SEG1729 [848] phi (byte) gfx_init_screen0::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 + //SEG1724 [843] phi (byte) gfx_init_screen0::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 lda #0 sta cy - //SEG1730 [848] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] - //SEG1731 [848] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy - //SEG1732 [848] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy - //SEG1733 gfx_init_screen0::@1 + //SEG1725 [843] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] + //SEG1726 [843] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy + //SEG1727 [843] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy + //SEG1728 gfx_init_screen0::@1 b1: - //SEG1734 [849] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] - //SEG1735 [849] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy - //SEG1736 [849] phi (byte) gfx_init_screen0::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuxx=vbuc1 + //SEG1729 [844] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] + //SEG1730 [844] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy + //SEG1731 [844] phi (byte) gfx_init_screen0::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuxx=vbuc1 ldx #0 - //SEG1737 [849] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] - //SEG1738 [849] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy - //SEG1739 [849] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy - //SEG1740 gfx_init_screen0::@2 + //SEG1732 [844] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] + //SEG1733 [844] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy + //SEG1734 [844] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy + //SEG1735 gfx_init_screen0::@2 b2: - //SEG1741 [850] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuz1_band_vbuc1 + //SEG1736 [845] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuz1_band_vbuc1 lda #$f and cy - //SEG1742 [851] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 + //SEG1737 [846] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 asl asl asl asl sta _1 - //SEG1743 [852] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuxx_band_vbuc1 + //SEG1738 [847] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG1744 [853] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa + //SEG1739 [848] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG1745 [854] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa + //SEG1740 [849] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1746 [855] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1741 [850] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1747 [856] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx + //SEG1742 [851] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1748 [857] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1743 [852] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) $28) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1749 gfx_init_screen0::@3 - //SEG1750 [858] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1744 gfx_init_screen0::@3 + //SEG1745 [853] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1751 [859] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1746 [854] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp cy bne b1 - //SEG1752 gfx_init_screen0::@return - //SEG1753 [860] return + //SEG1747 gfx_init_screen0::@return + //SEG1748 [855] return rts } -//SEG1754 keyboard_init +//SEG1749 keyboard_init // Initialize keyboard reading by setting CIA#$ Data Direction Registers keyboard_init: { - //SEG1755 [861] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 + //SEG1750 [856] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Write Mode lda #$ff sta CIA1_PORT_A_DDR - //SEG1756 [862] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + //SEG1751 [857] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Read Mode lda #0 sta CIA1_PORT_B_DDR - //SEG1757 keyboard_init::@return - //SEG1758 [863] return + //SEG1752 keyboard_init::@return + //SEG1753 [858] return rts } // Default vallues for the palette diff --git a/src/test/ref/c64dtv-gfxexplorer.sym b/src/test/ref/c64dtv-gfxexplorer.sym index 427f932f7..42218c431 100644 --- a/src/test/ref/c64dtv-gfxexplorer.sym +++ b/src/test/ref/c64dtv-gfxexplorer.sym @@ -527,7 +527,6 @@ (label) form_control::@9 (label) form_control::@return (byte*) form_control::field -(byte*) form_control::field#0 field zp ZP_WORD:3 0.5925925925925926 (byte) form_control::key_event (byte) form_control::key_event#0 reg byte a 2.6666666666666665 (byte) form_control::return @@ -555,34 +554,31 @@ (signed byte) form_cursor_count#1 form_cursor_count zp ZP_BYTE:13 0.3333333333333333 (signed byte) form_cursor_count#15 form_cursor_count zp ZP_BYTE:13 0.4 (signed byte) form_cursor_count#16 form_cursor_count zp ZP_BYTE:13 65.82352941176472 -(signed byte) form_cursor_count#21 form_cursor_count zp ZP_BYTE:13 157.99999999999997 +(signed byte) form_cursor_count#21 form_cursor_count zp ZP_BYTE:13 221.2 (signed byte) form_cursor_count#5 form_cursor_count zp ZP_BYTE:13 2.0 (byte*) form_dtv_palet (const byte*) form_dtv_palet#0 form_dtv_palet = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) $1b (byte) form_field_idx (byte) form_field_idx#1 form_field_idx zp ZP_BYTE:14 0.3333333333333333 (byte) form_field_idx#18 form_field_idx zp ZP_BYTE:14 65.94117647058826 -(byte) form_field_idx#28 form_field_idx zp ZP_BYTE:14 29.17948717948718 +(byte) form_field_idx#28 form_field_idx zp ZP_BYTE:14 30.75675675675673 (byte) form_field_idx#31 form_field_idx zp ZP_BYTE:14 6.0 (byte) form_field_idx#44 form_field_idx zp ZP_BYTE:14 2.0 (byte) form_field_idx#45 form_field_idx zp ZP_BYTE:14 2.0 (byte*()) form_field_ptr((byte) form_field_ptr::field_idx) -(word~) form_field_ptr::$2 $2 zp ZP_WORD:3 1.0 +(word~) form_field_ptr::$2 $2 zp ZP_WORD:3 0.06451612903225806 (label) form_field_ptr::@return (byte*) form_field_ptr::field (byte) form_field_ptr::field_idx -(byte) form_field_ptr::field_idx#0 reg byte y 2002.0 -(byte) form_field_ptr::field_idx#1 reg byte y 4.0 -(byte) form_field_ptr::field_idx#2 reg byte y 335.66666666666674 +(byte) form_field_ptr::field_idx#0 reg byte x 2002.0 +(byte) form_field_ptr::field_idx#1 reg byte x 4.0 +(byte) form_field_ptr::field_idx#2 reg byte x 335.66666666666674 (byte*) form_field_ptr::line (byte*) form_field_ptr::return -(byte*) form_field_ptr::return#0 return zp ZP_WORD:3 251.25 -(byte*) form_field_ptr::return#2 return zp ZP_WORD:3 2002.0 -(byte*) form_field_ptr::return#3 return zp ZP_WORD:3 4.0 (byte) form_field_ptr::x -(byte) form_field_ptr::x#0 reg byte a 4.0 +(byte) form_field_ptr::x#0 x zp ZP_BYTE:19 33.90000000000003 (byte) form_field_ptr::y -(byte) form_field_ptr::y#0 reg byte x 6.0 +(byte) form_field_ptr::y#0 reg byte a 6.0 (byte) form_fields_cnt (const byte) form_fields_cnt#0 form_fields_cnt = (byte/signed byte/word/signed word/dword/signed dword) $24 (byte[]) form_fields_max @@ -632,10 +628,9 @@ (label) form_render_values::@2 (label) form_render_values::@return (byte*) form_render_values::field -(byte*) form_render_values::field#0 field zp ZP_WORD:3 2002.0 (byte) form_render_values::idx -(byte) form_render_values::idx#1 idx zp ZP_BYTE:2 1501.5 -(byte) form_render_values::idx#2 idx zp ZP_BYTE:2 667.3333333333334 +(byte) form_render_values::idx#1 reg byte x 1501.5 +(byte) form_render_values::idx#2 reg byte x 1001.0 (void()) form_set_screen((byte*) form_set_screen::screen) (byte~) form_set_screen::$0 reg byte a 202.0 (byte~) form_set_screen::$1 reg byte a 202.0 @@ -829,7 +824,7 @@ (byte) gfx_init_plane_charset8::gfxbCpuBank (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfxbCpuBank = ((byte))(const dword) PLANE_CHARSET8#0/(word/signed word/dword/signed dword) $4000 (void()) gfx_init_plane_fill((dword) gfx_init_plane_fill::plane_addr , (byte) gfx_init_plane_fill::fill) -(dword~) gfx_init_plane_fill::$0 $0 zp ZP_DWORD:19 4.0 +(dword~) gfx_init_plane_fill::$0 $0 zp ZP_DWORD:20 4.0 (word~) gfx_init_plane_fill::$1 $1 zp ZP_WORD:3 4.0 (word~) gfx_init_plane_fill::$4 $4 zp ZP_WORD:3 4.0 (word~) gfx_init_plane_fill::$5 $5 zp ZP_WORD:3 4.0 @@ -1240,7 +1235,7 @@ (byte) keyboard_events_size#24 keyboard_events_size zp ZP_BYTE:8 6.6923076923076925 (byte) keyboard_events_size#27 keyboard_events_size zp ZP_BYTE:8 0.3333333333333333 (byte) keyboard_events_size#4 keyboard_events_size zp ZP_BYTE:8 3.0 -(byte) keyboard_events_size#47 keyboard_events_size zp ZP_BYTE:8 65.05882352941177 +(byte) keyboard_events_size#47 keyboard_events_size zp ZP_BYTE:8 73.73333333333335 (void()) keyboard_init() (label) keyboard_init::@return (byte[8]) keyboard_matrix_col_bitmask @@ -1381,8 +1376,8 @@ reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] reg byte a [ gfx_mode::vic_control2#2 ] -zp ZP_BYTE:2 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 form_render_values::idx#2 form_render_values::idx#1 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 gfx_mode::$56 bitmap_init::$6 ] -zp ZP_WORD:3 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::return#2 form_render_values::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#3 form_control::field#0 gfx_init_plane_fill::$1 bitmap_plot::plotter_x#0 bitmap_plot::$0 ] +zp ZP_BYTE:2 [ gfx_mode::cy#4 gfx_mode::cy#1 keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::fill#6 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 bitmap_clear::y#4 bitmap_clear::y#1 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 gfx_mode::$56 bitmap_init::$6 ] +zp ZP_WORD:3 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$52 gfx_mode::$54 gfx_mode::$55 get_vic_charset::return#2 get_vic_charset::return#4 gfx_mode::$57 gfx_mode::$59 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 apply_preset::preset#14 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::$6 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::$3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::$24 gfx_mode::$26 gfx_mode::$28 gfx_mode::$38 gfx_mode::$40 gfx_mode::$42 form_field_ptr::$2 gfx_init_plane_fill::$1 bitmap_plot::plotter_x#0 bitmap_plot::$0 ] zp ZP_WORD:5 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 print_str_at::at#2 print_str_at::at#0 print_char_cursor#20 print_char_cursor#22 print_char_cursor#77 print_char_cursor#78 print_char_cursor#38 print_char_cursor#1 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 print_cls::$0 bitmap_plot::plotter_y#0 ] reg byte x [ gfx_mode::cx#2 gfx_mode::cx#1 ] reg byte x [ gfx_mode::j#2 gfx_mode::j#1 ] @@ -1400,7 +1395,8 @@ zp ZP_BYTE:13 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 fo zp ZP_BYTE:14 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#44 form_field_idx#45 bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:15 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line::y0#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] reg byte a [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] -reg byte y [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] +reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] +reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] reg byte y [ apply_preset::i#2 apply_preset::i#1 ] reg byte x [ form_control::return#2 ] reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] @@ -1481,8 +1477,8 @@ reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ form_control::return#0 ] reg byte a [ form_mode::$36 ] reg byte a [ apply_preset::idx#0 ] -reg byte x [ form_field_ptr::y#0 ] -reg byte a [ form_field_ptr::x#0 ] +reg byte a [ form_field_ptr::y#0 ] +zp ZP_BYTE:19 [ form_field_ptr::x#0 ] reg byte a [ form_control::$13 ] reg byte a [ keyboard_event_get::return#4 ] reg byte a [ form_control::key_event#0 ] @@ -1493,7 +1489,7 @@ reg byte a [ form_control::$14 ] reg byte a [ form_set_screen::$0 ] reg byte a [ form_set_screen::$1 ] reg byte a [ print_str_lines::ch#0 ] -zp ZP_DWORD:19 [ gfx_init_plane_fill::$0 ] +zp ZP_DWORD:20 [ gfx_init_plane_fill::$0 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] reg byte a [ gfx_init_plane_horisontal2::$8 ] reg byte a [ gfx_init_plane_horisontal2::row#0 ] diff --git a/src/test/ref/c64dtv-gfxmodes.log b/src/test/ref/c64dtv-gfxmodes.log index 2f8020210..9e0fdc4f9 100644 --- a/src/test/ref/c64dtv-gfxmodes.log +++ b/src/test/ref/c64dtv-gfxmodes.log @@ -7249,7 +7249,56 @@ Fixing inline constructor with bitmap_plot::$3 ← *(bitmap_plot_yhi#0 + bitmap_ Successful SSA optimization Pass2FixInlineConstructors Inferred type updated to byte in [483] (byte/signed word/word/dword/signed dword~) mode_stdbitmap::$29 ← (byte) mode_stdbitmap::l#2 Inferred type updated to byte in [484] (byte/signed word/word/dword/signed dword~) mode_stdbitmap::$30 ← (byte) mode_stdbitmap::l#2 +Eliminating unused variable - keeping the phi block (byte*) print_screen#13 +Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#10 +Eliminating unused variable - keeping the phi block (byte*) print_char_cursor#11 +Eliminating unused variable - keeping the phi block (byte) dtv_control#1 +Eliminating unused constant (const byte) bitmap_line::xd#0 +Eliminating unused constant (const byte) bitmap_line::yd#0 +Eliminating unused constant (const string) $21 +Eliminating unused constant (const string) $22 +Eliminating unused constant (const string) $23 +Eliminating unused constant (const string) $25 +Eliminating unused constant (const string) $26 +Eliminating unused constant (const string) $27 +Eliminating unused constant (const string) $28 +Eliminating unused constant (const string) $29 +Eliminating unused constant (const string) $30 +Eliminating unused constant (const string) $31 +Eliminating unused constant (const string) $32 +Eliminating unused constant (const string) $33 +Eliminating unused constant (const string) $34 +Eliminating unused constant (const string) $35 +Eliminating unused constant (const string) $36 +Eliminating unused constant (const string) $37 +Eliminating unused constant (const string) $38 +Eliminating unused constant (const string) $39 +Eliminating unused constant (const string) $40 +Eliminating unused constant (const string) $41 +Eliminating unused constant (const string) $1 +Eliminating unused constant (const string) $2 +Eliminating unused constant (const string) $3 +Eliminating unused constant (const string) $4 +Eliminating unused constant (const string) $5 +Eliminating unused constant (const string) $6 +Eliminating unused constant (const string) $7 +Eliminating unused constant (const string) $8 +Eliminating unused constant (const string) $9 +Eliminating unused constant (const string) $10 +Eliminating unused constant (const string) $11 +Eliminating unused constant (const string) $12 +Eliminating unused constant (const string) $13 +Eliminating unused constant (const string) $14 +Eliminating unused constant (const string) $15 +Eliminating unused constant (const string) $16 +Eliminating unused constant (const string) $17 +Eliminating unused constant (const string) $18 +Eliminating unused constant (const string) $19 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable - keeping the phi block (byte) dtv_control#3 +Eliminating unused constant (const string) $24 +Eliminating unused constant (const byte*) print_screen#0 +Eliminating unused constant (const byte) dtv_control#129 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (byte*) bitmap_clear::bitmap#0 ← ((byte*)) (word~) bitmap_clear::$3 Eliminating Noop Cast (byte*) bitmap_plot::plotter#0 ← ((byte*)) (word~) bitmap_plot::$0 diff --git a/src/test/ref/cast-not-needed-2.log b/src/test/ref/cast-not-needed-2.log index 4af6fa92b..1e1df2c68 100644 --- a/src/test/ref/cast-not-needed-2.log +++ b/src/test/ref/cast-not-needed-2.log @@ -114,6 +114,7 @@ Constant (const byte) main::getScreen1_$0#0 = main::getScreen1_id#0*SIZEOF_POINT Successful SSA optimization Pass2ConstantIdentification Consolidated array index constant in *(screens#0+main::getScreen1_$0#0) Successful SSA optimization Pass2ConstantAdditionElimination +Eliminating unused constant (const byte*) main::screen#0 Successful SSA optimization PassNEliminateUnusedVars Removing redundant cast (byte*) main::spritePtr1_return#0 ← ((byte*)) (byte*) main::spritePtr1_$0#0 Successful SSA optimization Pass2EliminateRedundantCasts diff --git a/src/test/ref/comma-expr-2.log b/src/test/ref/comma-expr-2.log index 1d023f1d2..fcaf1ff31 100644 --- a/src/test/ref/comma-expr-2.log +++ b/src/test/ref/comma-expr-2.log @@ -43,6 +43,7 @@ Constant (const byte) main::c#1 = 1+3 Successful SSA optimization Pass2ConstantIdentification Consolidated array index constant in *(main::SCREEN#0+0) Successful SSA optimization Pass2ConstantAdditionElimination +Eliminating unused constant (const byte) main::c#0 Successful SSA optimization PassNEliminateUnusedVars Simplifying constant plus zero main::SCREEN#0+0 Adding NOP phi() at start of @begin diff --git a/src/test/ref/complex/tetris/test-sprites.log b/src/test/ref/complex/tetris/test-sprites.log index 8e457f1ed..2ab21754d 100644 --- a/src/test/ref/complex/tetris/test-sprites.log +++ b/src/test/ref/complex/tetris/test-sprites.log @@ -1153,6 +1153,9 @@ Consolidated array index constant in *(PLAYFIELD_SPRITE_PTRS_2#0+3) Successful SSA optimization Pass2ConstantAdditionElimination if() condition always true - replacing block destination [92] if(true) goto loop::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused variable - keeping the phi block (byte) irq_cnt#3 +Eliminating unused variable - keeping the phi block (byte) irq_sprite_ypos#11 +Eliminating unused variable - keeping the phi block (byte) irq_sprite_ptr#11 Successful SSA optimization PassNEliminateUnusedVars Removing unused block loop::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/complex/tetris/tetris.log b/src/test/ref/complex/tetris/tetris.log index 7561f361e..f7a2cf7a0 100644 --- a/src/test/ref/complex/tetris/tetris.log +++ b/src/test/ref/complex/tetris/tetris.log @@ -8745,15 +8745,50 @@ Removing PHI-reference to removed block (main::@12) in block main::@19 Removing PHI-reference to removed block (main::@12) in block main::@19 if() condition always true - replacing block destination [529] if(true) goto main::@13 Successful SSA optimization Pass2ConstantIfs +Eliminating unused variable (byte*) render_bcd::screen_pos#1 and assignment [131] (byte*) render_bcd::screen_pos#1 ← ++ (byte*) render_bcd::screen_pos#3 +Eliminating unused variable - keeping the phi block (byte) irq_cnt#3 +Eliminating unused variable - keeping the phi block (byte) irq_sprite_ypos#11 +Eliminating unused variable - keeping the phi block (byte) irq_sprite_ptr#11 +Eliminating unused variable - keeping the phi block (byte) render_screen_showing#13 +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#16 +Eliminating unused constant (const byte) render_show::d018val#0 +Eliminating unused constant (const byte*) render_score::screen#0 +Eliminating unused constant (const byte*) render_next::screen_next_area#0 +Eliminating unused constant (const byte) play_movement::render#0 +Eliminating unused constant (const byte) play_move_rotate::orientation#0 +Eliminating unused constant (const byte) main::render#0 +Eliminating unused constant (const byte*) current_piece_gfx#0 +Eliminating unused constant (const byte) current_piece_char#0 +Eliminating unused constant (const byte) current_xpos#0 +Eliminating unused constant (const byte) current_ypos#0 +Eliminating unused constant (const byte) render_screen_render#0 +Eliminating unused constant (const byte) render_screen_show#0 +Eliminating unused constant (const byte*) current_piece#0 +Eliminating unused constant (const byte) current_orientation#0 +Eliminating unused constant (const byte) current_movedown_slow#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#14 +Eliminating unused constant (const byte) keyboard_modifiers#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable (byte) keyboard_modifiers#5 and assignment [51] (byte) keyboard_modifiers#5 ← (byte) keyboard_modifiers#13 | (const byte) KEY_MODIFIER_COMMODORE#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#13 +Eliminating unused constant (const byte) KEY_MODIFIER_COMMODORE#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable (byte) keyboard_modifiers#4 and assignment [50] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#12 | (const byte) KEY_MODIFIER_CTRL#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#12 +Eliminating unused constant (const byte) KEY_MODIFIER_CTRL#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable (byte) keyboard_modifiers#3 and assignment [44] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#11 | (const byte) KEY_MODIFIER_RSHIFT#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#11 +Eliminating unused constant (const byte) KEY_MODIFIER_RSHIFT#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte) keyboard_modifiers#2 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte) KEY_MODIFIER_LSHIFT#0 +Eliminating unused constant (const byte) keyboard_modifiers#1 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (byte*) render_next::next_piece_gfx#0 ← ((byte*)) *((const word[]) PIECES#0 + (byte) render_next::$9) Eliminating Noop Cast (byte*) current_piece#5 ← ((byte*)) *((const word[]) PIECES#0 + (byte) play_spawn_current::$7) @@ -8915,6 +8950,9 @@ Redundant Phi (dword) score_bcd#42 (dword) score_bcd#14 Redundant Phi (byte) level#102 (byte) level#17 Redundant Phi (byte) level_bcd#100 (byte) level_bcd#17 Successful SSA optimization Pass2RedundantPhiElimination +Eliminating unused constant (const byte) SIZEOF_POINTER +Eliminating unused constant (const byte) SIZEOF_WORD +Eliminating unused constant (const byte) SIZEOF_DWORD Successful SSA optimization PassNEliminateUnusedVars Alias candidate removed (volatile)(byte) sprites_irq::raster_sprite_gfx_modify#0 = (byte/signed word/word/dword/signed dword~) sprites_irq::$0 Inlining constant with var siblings (const byte) keyboard_event_scan::keycode#0 diff --git a/src/test/ref/concat-char.log b/src/test/ref/concat-char.log index d149dd89b..492facbb5 100644 --- a/src/test/ref/concat-char.log +++ b/src/test/ref/concat-char.log @@ -62,6 +62,8 @@ Constant (const byte) main::i#0 = 0 Successful SSA optimization Pass2ConstantIdentification Constant (const byte[]) main::msg#0 = "cm"+'l' Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const string) main::$2 +Eliminating unused constant (const byte) main::l#0 Successful SSA optimization PassNEliminateUnusedVars Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,2)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) 3 diff --git a/src/test/ref/consolidate-constant-problem.log b/src/test/ref/consolidate-constant-problem.log index 52b9c944f..9def82422 100644 --- a/src/test/ref/consolidate-constant-problem.log +++ b/src/test/ref/consolidate-constant-problem.log @@ -95,6 +95,7 @@ Successful SSA optimization Pass2ConstantAdditionElimination Removing PHI-reference to removed block (main::@1_1) in block main::@1_2 if() condition always false - eliminating [5] if((const byte) main::j#4!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@1_2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) main::j#4 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) main::j#5 from unused block main::@1_2 Eliminating variable (byte/signed word/word/dword/signed dword~) main::$9 from unused block main::@1_2 diff --git a/src/test/ref/const-identification.log b/src/test/ref/const-identification.log index 1ed3690de..ff0ba1dc4 100644 --- a/src/test/ref/const-identification.log +++ b/src/test/ref/const-identification.log @@ -171,6 +171,7 @@ Culled Empty Block (label) line::@1 Successful SSA optimization Pass2CullEmptyBlocks Redundant Phi (byte) plot::x#2 (byte) plot::x#1 Successful SSA optimization Pass2RedundantPhiElimination +Eliminating unused constant (const byte) plot::x#0 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::i#0 Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 diff --git a/src/test/ref/const-if-problem.log b/src/test/ref/const-if-problem.log index 47a822d12..1a09e4a82 100644 --- a/src/test/ref/const-if-problem.log +++ b/src/test/ref/const-if-problem.log @@ -92,6 +92,7 @@ Removing unused procedure block doit2::@return Successful SSA optimization Pass2EliminateUnusedBlocks Culled Empty Block (label) @1 Successful SSA optimization Pass2CullEmptyBlocks +Eliminating unused constant (const byte) cc#0 Successful SSA optimization PassNEliminateUnusedVars Simplifying constant plus zero SCREEN#0+0 Adding NOP phi() at start of @begin diff --git a/src/test/ref/const-pointer.log b/src/test/ref/const-pointer.log index f24bac7a1..b11d3ccbf 100644 --- a/src/test/ref/const-pointer.log +++ b/src/test/ref/const-pointer.log @@ -58,6 +58,8 @@ Consolidated array index constant in *(main::screen#0+0) Successful SSA optimization Pass2ConstantAdditionElimination if() condition always true - replacing block destination [0] if((const byte*) main::rem#0!=(const byte*) main::NULL#0) goto main::@1 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte*) main::NULL#0 +Eliminating unused constant (const byte*) main::rem#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@3 Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/constant-string-concat.log b/src/test/ref/constant-string-concat.log index d573005d4..933c47dcc 100644 --- a/src/test/ref/constant-string-concat.log +++ b/src/test/ref/constant-string-concat.log @@ -98,6 +98,13 @@ Constant (const byte[]) main::s3#0 = "cam"+main::s#0+'o' Successful SSA optimization Pass2ConstantIdentification Constant (const byte[]) main::s5#0 = main::s3#0+main::s4#0 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const string) main::$7 +Eliminating unused constant (const string) main::$8 +Eliminating unused constant (const string) main::$9 +Eliminating unused constant (const string) main::$10 +Eliminating unused constant (const byte) main::e#0 +Eliminating unused constant (const string) main::$3 +Eliminating unused constant (const byte[]) main::s2#0 Successful SSA optimization PassNEliminateUnusedVars Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,7)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) 8 diff --git a/src/test/ref/deref-to-derefidx-2.asm b/src/test/ref/deref-to-derefidx-2.asm new file mode 100644 index 000000000..beaa1e073 --- /dev/null +++ b/src/test/ref/deref-to-derefidx-2.asm @@ -0,0 +1,38 @@ +// Tests optimizing derefs of *(ptr+b) to ptr[b - even when a noop-cast is needed +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" + .label SCREEN = $400 + .label screen_idx = 4 +main: { + lda #0 + sta screen_idx + lda #msg1 + sta print.m+1 + jsr print + lda #msg2 + sta print.m+1 + jsr print + rts +} +// print(byte* zeropage(2) m) +print: { + .label m = 2 + lda screen_idx + asl + ldy #2 + tax + lda (m),y + sta SCREEN,y + iny + lda (m),y + sta SCREEN+1,y + inc screen_idx + rts +} + msg1: .byte 'a', 'b', 'c', 'd' + msg2: .byte '1', '2', '3', '4' diff --git a/src/test/ref/deref-to-derefidx-2.cfg b/src/test/ref/deref-to-derefidx-2.cfg new file mode 100644 index 000000000..316c4d7ba --- /dev/null +++ b/src/test/ref/deref-to-derefidx-2.cfg @@ -0,0 +1,30 @@ +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + [5] call print + to:main::@1 +main::@1: scope:[main] from main + [6] phi() + [7] call print + to:main::@return +main::@return: scope:[main] from main::@1 + [8] return + to:@return +print: scope:[print] from main main::@1 + [9] (byte) screen_idx#10 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) screen_idx#11 ) + [9] (byte*) print::m#2 ← phi( main/(const byte[]) msg1#0 main::@1/(const byte[]) msg2#0 ) + [10] (byte) print::$2 ← (byte) screen_idx#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [11] *((const word*) SCREEN#0 + (byte) print::$2) ← *((word*)(byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) + [12] (byte) screen_idx#11 ← ++ (byte) screen_idx#10 + to:print::@return +print::@return: scope:[print] from print + [13] return + to:@return diff --git a/src/test/ref/deref-to-derefidx-2.log b/src/test/ref/deref-to-derefidx-2.log new file mode 100644 index 000000000..ffb0f83ac --- /dev/null +++ b/src/test/ref/deref-to-derefidx-2.log @@ -0,0 +1,535 @@ +Fixing pointer array-indexing *((word*) SCREEN + (byte) screen_idx) + +CONTROL FLOW GRAPH SSA +@begin: scope:[] from + (byte[]) msg1#0 ← { (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd' } + (byte[]) msg2#0 ← { (byte) '1', (byte) '2', (byte) '3', (byte) '4' } + to:@1 +main: scope:[main] from @2 + (byte) screen_idx#13 ← phi( @2/(byte) screen_idx#14 ) + (byte*) print::m#0 ← (byte[]) msg1#0 + call print + to:main::@1 +main::@1: scope:[main] from main + (byte) screen_idx#7 ← phi( main/(byte) screen_idx#5 ) + (byte) screen_idx#0 ← (byte) screen_idx#7 + (byte*) print::m#1 ← (byte[]) msg2#0 + call print + to:main::@2 +main::@2: scope:[main] from main::@1 + (byte) screen_idx#8 ← phi( main::@1/(byte) screen_idx#5 ) + (byte) screen_idx#1 ← (byte) screen_idx#8 + to:main::@return +main::@return: scope:[main] from main::@2 + (byte) screen_idx#9 ← phi( main::@2/(byte) screen_idx#1 ) + (byte) screen_idx#2 ← (byte) screen_idx#9 + return + to:@return +@1: scope:[] from @begin + (word*) SCREEN#0 ← ((word*)) (word/signed word/dword/signed dword) $400 + (byte) screen_idx#3 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:@2 +print: scope:[print] from main main::@1 + (byte) screen_idx#10 ← phi( main/(byte) screen_idx#13 main::@1/(byte) screen_idx#0 ) + (byte*) print::m#2 ← phi( main/(byte*) print::m#0 main::@1/(byte*) print::m#1 ) + (byte*~) print::$0 ← (byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (word*~) print::$1 ← ((word*)) (byte*~) print::$0 + (byte) print::$2 ← (byte) screen_idx#10 * (const byte) SIZEOF_WORD + *((word*) SCREEN#0 + (byte) print::$2) ← *((word*~) print::$1) + (byte) screen_idx#4 ← ++ (byte) screen_idx#10 + to:print::@return +print::@return: scope:[print] from print + (byte) screen_idx#11 ← phi( print/(byte) screen_idx#4 ) + (byte) screen_idx#5 ← (byte) screen_idx#11 + return + to:@return +@2: scope:[] from @1 + (byte) screen_idx#14 ← phi( @1/(byte) screen_idx#3 ) + call main + to:@3 +@3: scope:[] from @2 + (byte) screen_idx#12 ← phi( @2/(byte) screen_idx#2 ) + (byte) screen_idx#6 ← (byte) screen_idx#12 + to:@end +@end: scope:[] from @3 + +SYMBOL TABLE SSA +(label) @1 +(label) @2 +(label) @3 +(label) @begin +(label) @end +(word*) SCREEN +(word*) SCREEN#0 +(const byte) SIZEOF_WORD = (byte/signed byte/word/signed word/dword/signed dword) 2 +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@return +(byte[]) msg1 +(byte[]) msg1#0 +(byte[]) msg2 +(byte[]) msg2#0 +(void()) print((byte*) print::m) +(byte*~) print::$0 +(word*~) print::$1 +(byte) print::$2 +(label) print::@return +(byte*) print::m +(byte*) print::m#0 +(byte*) print::m#1 +(byte*) print::m#2 +(byte) screen_idx +(byte) screen_idx#0 +(byte) screen_idx#1 +(byte) screen_idx#10 +(byte) screen_idx#11 +(byte) screen_idx#12 +(byte) screen_idx#13 +(byte) screen_idx#14 +(byte) screen_idx#2 +(byte) screen_idx#3 +(byte) screen_idx#4 +(byte) screen_idx#5 +(byte) screen_idx#6 +(byte) screen_idx#7 +(byte) screen_idx#8 +(byte) screen_idx#9 + +Alias (byte) screen_idx#0 = (byte) screen_idx#7 +Alias (byte) screen_idx#1 = (byte) screen_idx#8 (byte) screen_idx#9 (byte) screen_idx#2 +Alias (byte) screen_idx#11 = (byte) screen_idx#4 (byte) screen_idx#5 +Alias (byte) screen_idx#14 = (byte) screen_idx#3 +Alias (byte) screen_idx#12 = (byte) screen_idx#6 +Successful SSA optimization Pass2AliasElimination +Redundant Phi (byte) screen_idx#13 (byte) screen_idx#14 +Redundant Phi (byte) screen_idx#0 (byte) screen_idx#11 +Redundant Phi (byte) screen_idx#1 (byte) screen_idx#11 +Redundant Phi (byte) screen_idx#12 (byte) screen_idx#1 +Successful SSA optimization Pass2RedundantPhiElimination +Constant (const byte[]) msg1#0 = { 'a', 'b', 'c', 'd' } +Constant (const byte[]) msg2#0 = { '1', '2', '3', '4' } +Constant (const word*) SCREEN#0 = ((word*))$400 +Constant (const byte) screen_idx#14 = 0 +Successful SSA optimization Pass2ConstantIdentification +Constant (const byte*) print::m#0 = msg1#0 +Constant (const byte*) print::m#1 = msg2#0 +Successful SSA optimization Pass2ConstantIdentification +Eliminating Noop Cast (word*~) print::$1 ← ((word*)) (byte*~) print::$0 +Successful SSA optimization Pass2NopCastElimination +Rewriting multiplication to use shift (byte) print::$2 ← (byte) screen_idx#10 * (const byte) SIZEOF_WORD +Successful SSA optimization Pass2MultiplyToShiftRewriting +Converting *(pointer+n) to pointer[n] *((const word*) SCREEN#0 + (byte) print::$2) ← *((word*)(byte*~) print::$0) -- *((word*)print::m#2 + 2) +Successful SSA optimization Pass2InlineDerefIdx +Culled Empty Block (label) main::@2 +Culled Empty Block (label) @1 +Culled Empty Block (label) @3 +Successful SSA optimization Pass2CullEmptyBlocks +Eliminating unused variable (byte*~) print::$0 and assignment [4] (byte*~) print::$0 ← (byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 +Eliminating unused constant (const byte) SIZEOF_WORD +Successful SSA optimization PassNEliminateUnusedVars +Inlining constant with var siblings (const byte*) print::m#0 +Inlining constant with var siblings (const byte*) print::m#1 +Inlining constant with var siblings (const byte) screen_idx#14 +Constant inlined print::m#1 = (const byte[]) msg2#0 +Constant inlined print::m#0 = (const byte[]) msg1#0 +Constant inlined screen_idx#14 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Successful SSA optimization Pass2ConstantInlining +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @2 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +CALL GRAPH +Calls in [] to main:2 +Calls in [main] to print:5 print:7 + +Created 2 initial phi equivalence classes +Coalesced [6] screen_idx#15 ← screen_idx#11 +Coalesced down to 2 phi equivalence classes +Renumbering block @2 to @1 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @1 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::@1 + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + [5] call print + to:main::@1 +main::@1: scope:[main] from main + [6] phi() + [7] call print + to:main::@return +main::@return: scope:[main] from main::@1 + [8] return + to:@return +print: scope:[print] from main main::@1 + [9] (byte) screen_idx#10 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) screen_idx#11 ) + [9] (byte*) print::m#2 ← phi( main/(const byte[]) msg1#0 main::@1/(const byte[]) msg2#0 ) + [10] (byte) print::$2 ← (byte) screen_idx#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [11] *((const word*) SCREEN#0 + (byte) print::$2) ← *((word*)(byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) + [12] (byte) screen_idx#11 ← ++ (byte) screen_idx#10 + to:print::@return +print::@return: scope:[print] from print + [13] return + to:@return + + +VARIABLE REGISTER WEIGHTS +(word*) SCREEN +(void()) main() +(byte[]) msg1 +(byte[]) msg2 +(void()) print((byte*) print::m) +(byte) print::$2 4.0 +(byte*) print::m +(byte*) print::m#2 +(byte) screen_idx +(byte) screen_idx#10 2.0 +(byte) screen_idx#11 1.0 + +Initial phi equivalence classes +[ print::m#2 ] +[ screen_idx#10 screen_idx#11 ] +Added variable print::$2 to zero page equivalence class [ print::$2 ] +Complete equivalence classes +[ print::m#2 ] +[ screen_idx#10 screen_idx#11 ] +[ print::$2 ] +Allocated zp ZP_WORD:2 [ print::m#2 ] +Allocated zp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] +Allocated zp ZP_BYTE:5 [ print::$2 ] + +INITIAL ASM +//SEG0 File Comments +// Tests optimizing derefs of *(ptr+b) to ptr[b - even when a noop-cast is needed +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels + .label SCREEN = $400 + .label screen_idx = 4 +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +main: { + //SEG11 [5] call print + //SEG12 [9] phi from main to print [phi:main->print] + print_from_main: + //SEG13 [9] phi (byte) screen_idx#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->print#0] -- vbuz1=vbuc1 + lda #0 + sta screen_idx + //SEG14 [9] phi (byte*) print::m#2 = (const byte[]) msg1#0 [phi:main->print#1] -- pbuz1=pbuc1 + lda #msg1 + sta print.m+1 + jsr print + //SEG15 [6] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + jmp b1 + //SEG16 main::@1 + b1: + //SEG17 [7] call print + //SEG18 [9] phi from main::@1 to print [phi:main::@1->print] + print_from_b1: + //SEG19 [9] phi (byte) screen_idx#10 = (byte) screen_idx#11 [phi:main::@1->print#0] -- register_copy + //SEG20 [9] phi (byte*) print::m#2 = (const byte[]) msg2#0 [phi:main::@1->print#1] -- pbuz1=pbuc1 + lda #msg2 + sta print.m+1 + jsr print + jmp breturn + //SEG21 main::@return + breturn: + //SEG22 [8] return + rts +} +//SEG23 print +// print(byte* zeropage(2) m) +print: { + .label _2 = 5 + .label m = 2 + //SEG24 [10] (byte) print::$2 ← (byte) screen_idx#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 + lda screen_idx + asl + sta _2 + //SEG25 [11] *((const word*) SCREEN#0 + (byte) print::$2) ← *((word*)(byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) -- pwuc1_derefidx_vbuz1=pwuz2_derefidx_vbuc2 + ldx _2 + ldy #2 + lda (m),y + sta SCREEN,y + iny + lda (m),y + sta SCREEN+1,y + //SEG26 [12] (byte) screen_idx#11 ← ++ (byte) screen_idx#10 -- vbuz1=_inc_vbuz1 + inc screen_idx + jmp breturn + //SEG27 print::@return + breturn: + //SEG28 [13] return + rts +} + msg1: .byte 'a', 'b', 'c', 'd' + msg2: .byte '1', '2', '3', '4' + +REGISTER UPLIFT POTENTIAL REGISTERS +Statement [10] (byte) print::$2 ← (byte) screen_idx#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ print::m#2 screen_idx#10 print::$2 ] ( main:2::print:5 [ print::m#2 screen_idx#10 print::$2 ] main:2::print:7 [ print::m#2 screen_idx#10 print::$2 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] +Statement [11] *((const word*) SCREEN#0 + (byte) print::$2) ← *((word*)(byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) [ screen_idx#10 ] ( main:2::print:5 [ screen_idx#10 ] main:2::print:7 [ screen_idx#10 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] +Statement [10] (byte) print::$2 ← (byte) screen_idx#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ print::m#2 screen_idx#10 print::$2 ] ( main:2::print:5 [ print::m#2 screen_idx#10 print::$2 ] main:2::print:7 [ print::m#2 screen_idx#10 print::$2 ] ) always clobbers reg byte a +Statement [11] *((const word*) SCREEN#0 + (byte) print::$2) ← *((word*)(byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) [ screen_idx#10 ] ( main:2::print:5 [ screen_idx#10 ] main:2::print:7 [ screen_idx#10 ] ) always clobbers reg byte a reg byte y +Potential registers zp ZP_WORD:2 [ print::m#2 ] : zp ZP_WORD:2 , +Potential registers zp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] : zp ZP_BYTE:4 , reg byte x , +Potential registers zp ZP_BYTE:5 [ print::$2 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , + +REGISTER UPLIFT SCOPES +Uplift Scope [print] 4: zp ZP_BYTE:5 [ print::$2 ] 0: zp ZP_WORD:2 [ print::m#2 ] +Uplift Scope [] 3: zp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] +Uplift Scope [main] + +Uplifting [print] best 107 combination reg byte a [ print::$2 ] zp ZP_WORD:2 [ print::m#2 ] +Uplifting [] best 107 combination zp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] +Uplifting [main] best 107 combination +Attempting to uplift remaining variables inzp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] +Uplifting [] best 107 combination zp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] + +ASSEMBLER BEFORE OPTIMIZATION +//SEG0 File Comments +// Tests optimizing derefs of *(ptr+b) to ptr[b - even when a noop-cast is needed +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels + .label SCREEN = $400 + .label screen_idx = 4 +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +main: { + //SEG11 [5] call print + //SEG12 [9] phi from main to print [phi:main->print] + print_from_main: + //SEG13 [9] phi (byte) screen_idx#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->print#0] -- vbuz1=vbuc1 + lda #0 + sta screen_idx + //SEG14 [9] phi (byte*) print::m#2 = (const byte[]) msg1#0 [phi:main->print#1] -- pbuz1=pbuc1 + lda #msg1 + sta print.m+1 + jsr print + //SEG15 [6] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + jmp b1 + //SEG16 main::@1 + b1: + //SEG17 [7] call print + //SEG18 [9] phi from main::@1 to print [phi:main::@1->print] + print_from_b1: + //SEG19 [9] phi (byte) screen_idx#10 = (byte) screen_idx#11 [phi:main::@1->print#0] -- register_copy + //SEG20 [9] phi (byte*) print::m#2 = (const byte[]) msg2#0 [phi:main::@1->print#1] -- pbuz1=pbuc1 + lda #msg2 + sta print.m+1 + jsr print + jmp breturn + //SEG21 main::@return + breturn: + //SEG22 [8] return + rts +} +//SEG23 print +// print(byte* zeropage(2) m) +print: { + .label m = 2 + //SEG24 [10] (byte) print::$2 ← (byte) screen_idx#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_rol_1 + lda screen_idx + asl + //SEG25 [11] *((const word*) SCREEN#0 + (byte) print::$2) ← *((word*)(byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) -- pwuc1_derefidx_vbuaa=pwuz1_derefidx_vbuc2 + ldy #2 + tax + lda (m),y + sta SCREEN,y + iny + lda (m),y + sta SCREEN+1,y + //SEG26 [12] (byte) screen_idx#11 ← ++ (byte) screen_idx#10 -- vbuz1=_inc_vbuz1 + inc screen_idx + jmp breturn + //SEG27 print::@return + breturn: + //SEG28 [13] return + rts +} + msg1: .byte 'a', 'b', 'c', 'd' + msg2: .byte '1', '2', '3', '4' + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp b1 +Removing instruction jmp bend +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp breturn +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction b1_from_bbegin: +Removing instruction b1: +Removing instruction main_from_b1: +Removing instruction bend_from_b1: +Removing instruction b1_from_main: +Removing instruction print_from_b1: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction bend: +Removing instruction print_from_main: +Removing instruction b1: +Removing instruction breturn: +Removing instruction breturn: +Succesful ASM optimization Pass5UnusedLabelElimination +Updating BasicUpstart to call main directly +Removing instruction jsr main +Succesful ASM optimization Pass5SkipBegin +Removing instruction bbegin: +Succesful ASM optimization Pass5UnusedLabelElimination + +FINAL SYMBOL TABLE +(label) @1 +(label) @begin +(label) @end +(word*) SCREEN +(const word*) SCREEN#0 SCREEN = ((word*))(word/signed word/dword/signed dword) $400 +(void()) main() +(label) main::@1 +(label) main::@return +(byte[]) msg1 +(const byte[]) msg1#0 msg1 = { (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd' } +(byte[]) msg2 +(const byte[]) msg2#0 msg2 = { (byte) '1', (byte) '2', (byte) '3', (byte) '4' } +(void()) print((byte*) print::m) +(byte) print::$2 reg byte a 4.0 +(label) print::@return +(byte*) print::m +(byte*) print::m#2 m zp ZP_WORD:2 +(byte) screen_idx +(byte) screen_idx#10 screen_idx zp ZP_BYTE:4 2.0 +(byte) screen_idx#11 screen_idx zp ZP_BYTE:4 1.0 + +zp ZP_WORD:2 [ print::m#2 ] +zp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] +reg byte a [ print::$2 ] + + +FINAL ASSEMBLER +Score: 86 + +//SEG0 File Comments +// Tests optimizing derefs of *(ptr+b) to ptr[b - even when a noop-cast is needed +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG2 Global Constants & labels + .label SCREEN = $400 + .label screen_idx = 4 +//SEG3 @begin +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +//SEG5 @1 +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +//SEG9 @end +//SEG10 main +main: { + //SEG11 [5] call print + //SEG12 [9] phi from main to print [phi:main->print] + //SEG13 [9] phi (byte) screen_idx#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->print#0] -- vbuz1=vbuc1 + lda #0 + sta screen_idx + //SEG14 [9] phi (byte*) print::m#2 = (const byte[]) msg1#0 [phi:main->print#1] -- pbuz1=pbuc1 + lda #msg1 + sta print.m+1 + jsr print + //SEG15 [6] phi from main to main::@1 [phi:main->main::@1] + //SEG16 main::@1 + //SEG17 [7] call print + //SEG18 [9] phi from main::@1 to print [phi:main::@1->print] + //SEG19 [9] phi (byte) screen_idx#10 = (byte) screen_idx#11 [phi:main::@1->print#0] -- register_copy + //SEG20 [9] phi (byte*) print::m#2 = (const byte[]) msg2#0 [phi:main::@1->print#1] -- pbuz1=pbuc1 + lda #msg2 + sta print.m+1 + jsr print + //SEG21 main::@return + //SEG22 [8] return + rts +} +//SEG23 print +// print(byte* zeropage(2) m) +print: { + .label m = 2 + //SEG24 [10] (byte) print::$2 ← (byte) screen_idx#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_rol_1 + lda screen_idx + asl + //SEG25 [11] *((const word*) SCREEN#0 + (byte) print::$2) ← *((word*)(byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) -- pwuc1_derefidx_vbuaa=pwuz1_derefidx_vbuc2 + ldy #2 + tax + lda (m),y + sta SCREEN,y + iny + lda (m),y + sta SCREEN+1,y + //SEG26 [12] (byte) screen_idx#11 ← ++ (byte) screen_idx#10 -- vbuz1=_inc_vbuz1 + inc screen_idx + //SEG27 print::@return + //SEG28 [13] return + rts +} + msg1: .byte 'a', 'b', 'c', 'd' + msg2: .byte '1', '2', '3', '4' + diff --git a/src/test/ref/deref-to-derefidx-2.sym b/src/test/ref/deref-to-derefidx-2.sym new file mode 100644 index 000000000..e6d1926cd --- /dev/null +++ b/src/test/ref/deref-to-derefidx-2.sym @@ -0,0 +1,24 @@ +(label) @1 +(label) @begin +(label) @end +(word*) SCREEN +(const word*) SCREEN#0 SCREEN = ((word*))(word/signed word/dword/signed dword) $400 +(void()) main() +(label) main::@1 +(label) main::@return +(byte[]) msg1 +(const byte[]) msg1#0 msg1 = { (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd' } +(byte[]) msg2 +(const byte[]) msg2#0 msg2 = { (byte) '1', (byte) '2', (byte) '3', (byte) '4' } +(void()) print((byte*) print::m) +(byte) print::$2 reg byte a 4.0 +(label) print::@return +(byte*) print::m +(byte*) print::m#2 m zp ZP_WORD:2 +(byte) screen_idx +(byte) screen_idx#10 screen_idx zp ZP_BYTE:4 2.0 +(byte) screen_idx#11 screen_idx zp ZP_BYTE:4 1.0 + +zp ZP_WORD:2 [ print::m#2 ] +zp ZP_BYTE:4 [ screen_idx#10 screen_idx#11 ] +reg byte a [ print::$2 ] diff --git a/src/test/ref/deref-to-derefidx.asm b/src/test/ref/deref-to-derefidx.asm new file mode 100644 index 000000000..05f93e581 --- /dev/null +++ b/src/test/ref/deref-to-derefidx.asm @@ -0,0 +1,30 @@ +// Tests optimizing derefs of *(ptr+b) to ptr[b] +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" + .label SCREEN = $400 +main: { + ldx #0 + lda #msg1 + sta print.m+1 + jsr print + lda #msg2 + sta print.m+1 + jsr print + rts +} +// print(byte* zeropage(2) m) +print: { + .label m = 2 + ldy #2 + lda (m),y + sta SCREEN,x + inx + rts +} + msg1: .byte 'a', 'b', 'c', 'd' + msg2: .byte '1', '2', '3', '4' diff --git a/src/test/ref/deref-to-derefidx.cfg b/src/test/ref/deref-to-derefidx.cfg new file mode 100644 index 000000000..f4786f332 --- /dev/null +++ b/src/test/ref/deref-to-derefidx.cfg @@ -0,0 +1,29 @@ +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + [5] call print + to:main::@1 +main::@1: scope:[main] from main + [6] phi() + [7] call print + to:main::@return +main::@return: scope:[main] from main::@1 + [8] return + to:@return +print: scope:[print] from main main::@1 + [9] (byte) idx#10 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) idx#11 ) + [9] (byte*) print::m#2 ← phi( main/(const byte[]) msg1#0 main::@1/(const byte[]) msg2#0 ) + [10] *((const byte*) SCREEN#0 + (byte) idx#10) ← *((byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) + [11] (byte) idx#11 ← ++ (byte) idx#10 + to:print::@return +print::@return: scope:[print] from print + [12] return + to:@return diff --git a/src/test/ref/deref-to-derefidx.log b/src/test/ref/deref-to-derefidx.log new file mode 100644 index 000000000..c13503025 --- /dev/null +++ b/src/test/ref/deref-to-derefidx.log @@ -0,0 +1,486 @@ + +CONTROL FLOW GRAPH SSA +@begin: scope:[] from + (byte[]) msg1#0 ← { (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd' } + (byte[]) msg2#0 ← { (byte) '1', (byte) '2', (byte) '3', (byte) '4' } + to:@1 +main: scope:[main] from @2 + (byte) idx#13 ← phi( @2/(byte) idx#14 ) + (byte*) print::m#0 ← (byte[]) msg1#0 + call print + to:main::@1 +main::@1: scope:[main] from main + (byte) idx#7 ← phi( main/(byte) idx#5 ) + (byte) idx#0 ← (byte) idx#7 + (byte*) print::m#1 ← (byte[]) msg2#0 + call print + to:main::@2 +main::@2: scope:[main] from main::@1 + (byte) idx#8 ← phi( main::@1/(byte) idx#5 ) + (byte) idx#1 ← (byte) idx#8 + to:main::@return +main::@return: scope:[main] from main::@2 + (byte) idx#9 ← phi( main::@2/(byte) idx#1 ) + (byte) idx#2 ← (byte) idx#9 + return + to:@return +@1: scope:[] from @begin + (byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) $400 + (byte) idx#3 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:@2 +print: scope:[print] from main main::@1 + (byte) idx#10 ← phi( main/(byte) idx#13 main::@1/(byte) idx#0 ) + (byte*) print::m#2 ← phi( main/(byte*) print::m#0 main::@1/(byte*) print::m#1 ) + (byte*~) print::$0 ← (byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 + *((byte*) SCREEN#0 + (byte) idx#10) ← *((byte*~) print::$0) + (byte) idx#4 ← ++ (byte) idx#10 + to:print::@return +print::@return: scope:[print] from print + (byte) idx#11 ← phi( print/(byte) idx#4 ) + (byte) idx#5 ← (byte) idx#11 + return + to:@return +@2: scope:[] from @1 + (byte) idx#14 ← phi( @1/(byte) idx#3 ) + call main + to:@3 +@3: scope:[] from @2 + (byte) idx#12 ← phi( @2/(byte) idx#2 ) + (byte) idx#6 ← (byte) idx#12 + to:@end +@end: scope:[] from @3 + +SYMBOL TABLE SSA +(label) @1 +(label) @2 +(label) @3 +(label) @begin +(label) @end +(byte*) SCREEN +(byte*) SCREEN#0 +(byte) idx +(byte) idx#0 +(byte) idx#1 +(byte) idx#10 +(byte) idx#11 +(byte) idx#12 +(byte) idx#13 +(byte) idx#14 +(byte) idx#2 +(byte) idx#3 +(byte) idx#4 +(byte) idx#5 +(byte) idx#6 +(byte) idx#7 +(byte) idx#8 +(byte) idx#9 +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@return +(byte[]) msg1 +(byte[]) msg1#0 +(byte[]) msg2 +(byte[]) msg2#0 +(void()) print((byte*) print::m) +(byte*~) print::$0 +(label) print::@return +(byte*) print::m +(byte*) print::m#0 +(byte*) print::m#1 +(byte*) print::m#2 + +Alias (byte) idx#0 = (byte) idx#7 +Alias (byte) idx#1 = (byte) idx#8 (byte) idx#9 (byte) idx#2 +Alias (byte) idx#11 = (byte) idx#4 (byte) idx#5 +Alias (byte) idx#14 = (byte) idx#3 +Alias (byte) idx#12 = (byte) idx#6 +Successful SSA optimization Pass2AliasElimination +Redundant Phi (byte) idx#13 (byte) idx#14 +Redundant Phi (byte) idx#0 (byte) idx#11 +Redundant Phi (byte) idx#1 (byte) idx#11 +Redundant Phi (byte) idx#12 (byte) idx#1 +Successful SSA optimization Pass2RedundantPhiElimination +Constant (const byte[]) msg1#0 = { 'a', 'b', 'c', 'd' } +Constant (const byte[]) msg2#0 = { '1', '2', '3', '4' } +Constant (const byte*) SCREEN#0 = ((byte*))$400 +Constant (const byte) idx#14 = 0 +Successful SSA optimization Pass2ConstantIdentification +Constant (const byte*) print::m#0 = msg1#0 +Constant (const byte*) print::m#1 = msg2#0 +Successful SSA optimization Pass2ConstantIdentification +Converting *(pointer+n) to pointer[n] *((const byte*) SCREEN#0 + (byte) idx#10) ← *((byte*~) print::$0) -- *(print::m#2 + 2) +Successful SSA optimization Pass2InlineDerefIdx +Culled Empty Block (label) main::@2 +Culled Empty Block (label) @1 +Culled Empty Block (label) @3 +Successful SSA optimization Pass2CullEmptyBlocks +Eliminating unused variable (byte*~) print::$0 and assignment [4] (byte*~) print::$0 ← (byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 +Successful SSA optimization PassNEliminateUnusedVars +Inlining constant with var siblings (const byte*) print::m#0 +Inlining constant with var siblings (const byte*) print::m#1 +Inlining constant with var siblings (const byte) idx#14 +Constant inlined idx#14 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined print::m#1 = (const byte[]) msg2#0 +Constant inlined print::m#0 = (const byte[]) msg1#0 +Successful SSA optimization Pass2ConstantInlining +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @2 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +CALL GRAPH +Calls in [] to main:2 +Calls in [main] to print:5 print:7 + +Created 2 initial phi equivalence classes +Coalesced [6] idx#15 ← idx#11 +Coalesced down to 2 phi equivalence classes +Renumbering block @2 to @1 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @1 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::@1 + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + [5] call print + to:main::@1 +main::@1: scope:[main] from main + [6] phi() + [7] call print + to:main::@return +main::@return: scope:[main] from main::@1 + [8] return + to:@return +print: scope:[print] from main main::@1 + [9] (byte) idx#10 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) idx#11 ) + [9] (byte*) print::m#2 ← phi( main/(const byte[]) msg1#0 main::@1/(const byte[]) msg2#0 ) + [10] *((const byte*) SCREEN#0 + (byte) idx#10) ← *((byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) + [11] (byte) idx#11 ← ++ (byte) idx#10 + to:print::@return +print::@return: scope:[print] from print + [12] return + to:@return + + +VARIABLE REGISTER WEIGHTS +(byte*) SCREEN +(byte) idx +(byte) idx#10 3.0 +(byte) idx#11 1.0 +(void()) main() +(byte[]) msg1 +(byte[]) msg2 +(void()) print((byte*) print::m) +(byte*) print::m +(byte*) print::m#2 2.0 + +Initial phi equivalence classes +[ print::m#2 ] +[ idx#10 idx#11 ] +Complete equivalence classes +[ print::m#2 ] +[ idx#10 idx#11 ] +Allocated zp ZP_WORD:2 [ print::m#2 ] +Allocated zp ZP_BYTE:4 [ idx#10 idx#11 ] + +INITIAL ASM +//SEG0 File Comments +// Tests optimizing derefs of *(ptr+b) to ptr[b] +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels + .label SCREEN = $400 + .label idx = 4 +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +main: { + //SEG11 [5] call print + //SEG12 [9] phi from main to print [phi:main->print] + print_from_main: + //SEG13 [9] phi (byte) idx#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->print#0] -- vbuz1=vbuc1 + lda #0 + sta idx + //SEG14 [9] phi (byte*) print::m#2 = (const byte[]) msg1#0 [phi:main->print#1] -- pbuz1=pbuc1 + lda #msg1 + sta print.m+1 + jsr print + //SEG15 [6] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + jmp b1 + //SEG16 main::@1 + b1: + //SEG17 [7] call print + //SEG18 [9] phi from main::@1 to print [phi:main::@1->print] + print_from_b1: + //SEG19 [9] phi (byte) idx#10 = (byte) idx#11 [phi:main::@1->print#0] -- register_copy + //SEG20 [9] phi (byte*) print::m#2 = (const byte[]) msg2#0 [phi:main::@1->print#1] -- pbuz1=pbuc1 + lda #msg2 + sta print.m+1 + jsr print + jmp breturn + //SEG21 main::@return + breturn: + //SEG22 [8] return + rts +} +//SEG23 print +// print(byte* zeropage(2) m) +print: { + .label m = 2 + //SEG24 [10] *((const byte*) SCREEN#0 + (byte) idx#10) ← *((byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) -- pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuc2 + ldx idx + ldy #2 + lda (m),y + sta SCREEN,x + //SEG25 [11] (byte) idx#11 ← ++ (byte) idx#10 -- vbuz1=_inc_vbuz1 + inc idx + jmp breturn + //SEG26 print::@return + breturn: + //SEG27 [12] return + rts +} + msg1: .byte 'a', 'b', 'c', 'd' + msg2: .byte '1', '2', '3', '4' + +REGISTER UPLIFT POTENTIAL REGISTERS +Statement [10] *((const byte*) SCREEN#0 + (byte) idx#10) ← *((byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) [ idx#10 ] ( main:2::print:5 [ idx#10 ] main:2::print:7 [ idx#10 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:4 [ idx#10 idx#11 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:4 [ idx#10 idx#11 ] +Statement [10] *((const byte*) SCREEN#0 + (byte) idx#10) ← *((byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) [ idx#10 ] ( main:2::print:5 [ idx#10 ] main:2::print:7 [ idx#10 ] ) always clobbers reg byte a reg byte y +Potential registers zp ZP_WORD:2 [ print::m#2 ] : zp ZP_WORD:2 , +Potential registers zp ZP_BYTE:4 [ idx#10 idx#11 ] : zp ZP_BYTE:4 , reg byte x , + +REGISTER UPLIFT SCOPES +Uplift Scope [] 4: zp ZP_BYTE:4 [ idx#10 idx#11 ] +Uplift Scope [print] 2: zp ZP_WORD:2 [ print::m#2 ] +Uplift Scope [main] + +Uplifting [] best 81 combination reg byte x [ idx#10 idx#11 ] +Uplifting [print] best 81 combination zp ZP_WORD:2 [ print::m#2 ] +Uplifting [main] best 81 combination + +ASSEMBLER BEFORE OPTIMIZATION +//SEG0 File Comments +// Tests optimizing derefs of *(ptr+b) to ptr[b] +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels + .label SCREEN = $400 +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +main: { + //SEG11 [5] call print + //SEG12 [9] phi from main to print [phi:main->print] + print_from_main: + //SEG13 [9] phi (byte) idx#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->print#0] -- vbuxx=vbuc1 + ldx #0 + //SEG14 [9] phi (byte*) print::m#2 = (const byte[]) msg1#0 [phi:main->print#1] -- pbuz1=pbuc1 + lda #msg1 + sta print.m+1 + jsr print + //SEG15 [6] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + jmp b1 + //SEG16 main::@1 + b1: + //SEG17 [7] call print + //SEG18 [9] phi from main::@1 to print [phi:main::@1->print] + print_from_b1: + //SEG19 [9] phi (byte) idx#10 = (byte) idx#11 [phi:main::@1->print#0] -- register_copy + //SEG20 [9] phi (byte*) print::m#2 = (const byte[]) msg2#0 [phi:main::@1->print#1] -- pbuz1=pbuc1 + lda #msg2 + sta print.m+1 + jsr print + jmp breturn + //SEG21 main::@return + breturn: + //SEG22 [8] return + rts +} +//SEG23 print +// print(byte* zeropage(2) m) +print: { + .label m = 2 + //SEG24 [10] *((const byte*) SCREEN#0 + (byte) idx#10) ← *((byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) -- pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2 + ldy #2 + lda (m),y + sta SCREEN,x + //SEG25 [11] (byte) idx#11 ← ++ (byte) idx#10 -- vbuxx=_inc_vbuxx + inx + jmp breturn + //SEG26 print::@return + breturn: + //SEG27 [12] return + rts +} + msg1: .byte 'a', 'b', 'c', 'd' + msg2: .byte '1', '2', '3', '4' + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp b1 +Removing instruction jmp bend +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp breturn +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction b1_from_bbegin: +Removing instruction b1: +Removing instruction main_from_b1: +Removing instruction bend_from_b1: +Removing instruction b1_from_main: +Removing instruction print_from_b1: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction bend: +Removing instruction print_from_main: +Removing instruction b1: +Removing instruction breturn: +Removing instruction breturn: +Succesful ASM optimization Pass5UnusedLabelElimination +Updating BasicUpstart to call main directly +Removing instruction jsr main +Succesful ASM optimization Pass5SkipBegin +Removing instruction bbegin: +Succesful ASM optimization Pass5UnusedLabelElimination + +FINAL SYMBOL TABLE +(label) @1 +(label) @begin +(label) @end +(byte*) SCREEN +(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400 +(byte) idx +(byte) idx#10 reg byte x 3.0 +(byte) idx#11 reg byte x 1.0 +(void()) main() +(label) main::@1 +(label) main::@return +(byte[]) msg1 +(const byte[]) msg1#0 msg1 = { (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd' } +(byte[]) msg2 +(const byte[]) msg2#0 msg2 = { (byte) '1', (byte) '2', (byte) '3', (byte) '4' } +(void()) print((byte*) print::m) +(label) print::@return +(byte*) print::m +(byte*) print::m#2 m zp ZP_WORD:2 2.0 + +zp ZP_WORD:2 [ print::m#2 ] +reg byte x [ idx#10 idx#11 ] + + +FINAL ASSEMBLER +Score: 60 + +//SEG0 File Comments +// Tests optimizing derefs of *(ptr+b) to ptr[b] +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG2 Global Constants & labels + .label SCREEN = $400 +//SEG3 @begin +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +//SEG5 @1 +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +//SEG9 @end +//SEG10 main +main: { + //SEG11 [5] call print + //SEG12 [9] phi from main to print [phi:main->print] + //SEG13 [9] phi (byte) idx#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->print#0] -- vbuxx=vbuc1 + ldx #0 + //SEG14 [9] phi (byte*) print::m#2 = (const byte[]) msg1#0 [phi:main->print#1] -- pbuz1=pbuc1 + lda #msg1 + sta print.m+1 + jsr print + //SEG15 [6] phi from main to main::@1 [phi:main->main::@1] + //SEG16 main::@1 + //SEG17 [7] call print + //SEG18 [9] phi from main::@1 to print [phi:main::@1->print] + //SEG19 [9] phi (byte) idx#10 = (byte) idx#11 [phi:main::@1->print#0] -- register_copy + //SEG20 [9] phi (byte*) print::m#2 = (const byte[]) msg2#0 [phi:main::@1->print#1] -- pbuz1=pbuc1 + lda #msg2 + sta print.m+1 + jsr print + //SEG21 main::@return + //SEG22 [8] return + rts +} +//SEG23 print +// print(byte* zeropage(2) m) +print: { + .label m = 2 + //SEG24 [10] *((const byte*) SCREEN#0 + (byte) idx#10) ← *((byte*) print::m#2 + (byte/signed byte/word/signed word/dword/signed dword) 2) -- pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2 + ldy #2 + lda (m),y + sta SCREEN,x + //SEG25 [11] (byte) idx#11 ← ++ (byte) idx#10 -- vbuxx=_inc_vbuxx + inx + //SEG26 print::@return + //SEG27 [12] return + rts +} + msg1: .byte 'a', 'b', 'c', 'd' + msg2: .byte '1', '2', '3', '4' + diff --git a/src/test/ref/deref-to-derefidx.sym b/src/test/ref/deref-to-derefidx.sym new file mode 100644 index 000000000..8e9d94563 --- /dev/null +++ b/src/test/ref/deref-to-derefidx.sym @@ -0,0 +1,22 @@ +(label) @1 +(label) @begin +(label) @end +(byte*) SCREEN +(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400 +(byte) idx +(byte) idx#10 reg byte x 3.0 +(byte) idx#11 reg byte x 1.0 +(void()) main() +(label) main::@1 +(label) main::@return +(byte[]) msg1 +(const byte[]) msg1#0 msg1 = { (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd' } +(byte[]) msg2 +(const byte[]) msg2#0 msg2 = { (byte) '1', (byte) '2', (byte) '3', (byte) '4' } +(void()) print((byte*) print::m) +(label) print::@return +(byte*) print::m +(byte*) print::m#2 m zp ZP_WORD:2 2.0 + +zp ZP_WORD:2 [ print::m#2 ] +reg byte x [ idx#10 idx#11 ] diff --git a/src/test/ref/double-assignment.log b/src/test/ref/double-assignment.log index dfc7c94bd..b74598a17 100644 --- a/src/test/ref/double-assignment.log +++ b/src/test/ref/double-assignment.log @@ -50,6 +50,8 @@ Successful SSA optimization Pass2ConstantIdentification Consolidated array index constant in *(main::screen#0+0) Consolidated array index constant in *(main::screen#0+1) Successful SSA optimization Pass2ConstantAdditionElimination +Eliminating unused constant (const byte) main::a#0 +Eliminating unused constant (const byte) main::b#0 Successful SSA optimization PassNEliminateUnusedVars Simplifying constant plus zero main::screen#0+0 Adding NOP phi() at start of @begin diff --git a/src/test/ref/duplicate-loop-problem.log b/src/test/ref/duplicate-loop-problem.log index aa69d929e..e5e9a3256 100644 --- a/src/test/ref/duplicate-loop-problem.log +++ b/src/test/ref/duplicate-loop-problem.log @@ -76,6 +76,7 @@ Constant (const byte) key#0 = 0 Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [5] if(true) goto main::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) key#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/examples/3d/3d.asm b/src/test/ref/examples/3d/3d.asm index 8e862d88a..0dcdcb236 100644 --- a/src/test/ref/examples/3d/3d.asm +++ b/src/test/ref/examples/3d/3d.asm @@ -691,24 +691,14 @@ debug_print_init: { .label at_line = SCREEN+$10*$28 .label at_cols = COLS+$10*$28 .label _59 = 6 - .label _60 = 6 .label _63 = 6 - .label _64 = 6 .label _67 = 6 - .label _68 = 6 .label _71 = 6 - .label _72 = 6 .label _75 = 6 - .label _76 = 6 .label _79 = 6 - .label _80 = 6 .label _83 = 6 - .label _84 = 6 .label _87 = 6 - .label _88 = 6 .label _91 = 6 - .label _92 = 6 - .label j = 4 .label c = 2 .label i = 3 jsr print_cls @@ -855,8 +845,7 @@ debug_print_init: { ldy i ldx zs,y jsr print_sbyte_at - lda #0 - sta j + ldy #0 b2: lax i axs #-[8] @@ -867,16 +856,8 @@ debug_print_init: { lda #>at_cols adc #0 sta _59+1 - lda j - clc - adc _60 - sta _60 - bcc !+ - inc _60+1 - !: txa - ldy #0 - sta (_60),y + sta (_59),y lda c clc adc #at_cols+$28*1 adc #0 sta _63+1 - lda j - clc - adc _64 - sta _64 - bcc !+ - inc _64+1 - !: txa - ldy #0 - sta (_64),y + sta (_63),y lda c clc adc #at_cols+$28*2 adc #0 sta _67+1 - lda j - clc - adc _68 - sta _68 - bcc !+ - inc _68+1 - !: txa - ldy #0 - sta (_68),y + sta (_67),y lda c clc adc #at_cols+$28*3 adc #0 sta _71+1 - lda j - clc - adc _72 - sta _72 - bcc !+ - inc _72+1 - !: txa - ldy #0 - sta (_72),y + sta (_71),y lda c clc adc #at_cols+$28*4 adc #0 sta _75+1 - lda j - clc - adc _76 - sta _76 - bcc !+ - inc _76+1 - !: txa - ldy #0 - sta (_76),y + sta (_75),y lda c clc adc #at_cols+$28*5 adc #0 sta _79+1 - lda j - clc - adc _80 - sta _80 - bcc !+ - inc _80+1 - !: txa - ldy #0 - sta (_80),y + sta (_79),y lda c clc adc #at_cols+$28*6 adc #0 sta _83+1 - lda j - clc - adc _84 - sta _84 - bcc !+ - inc _84+1 - !: txa - ldy #0 - sta (_84),y + sta (_83),y lda c clc adc #at_cols+$28*7 adc #0 sta _87+1 - lda j - clc - adc _88 - sta _88 - bcc !+ - inc _88+1 - !: txa - ldy #0 - sta (_88),y + sta (_87),y lda c clc adc #at_cols+$28*8 adc #0 sta _91+1 - lda j - clc - adc _92 - sta _92 - bcc !+ - inc _92+1 - !: txa - ldy #0 - sta (_92),y - inc j - lda #4 - cmp j + sta (_91),y + iny + cpy #4 beq !b2+ jmp b2 !b2: diff --git a/src/test/ref/examples/3d/3d.cfg b/src/test/ref/examples/3d/3d.cfg index dacd51da2..773637f61 100644 --- a/src/test/ref/examples/3d/3d.cfg +++ b/src/test/ref/examples/3d/3d.cfg @@ -475,82 +475,73 @@ debug_print_init::@2: scope:[debug_print_init] from debug_print_init::@17 debug [225] (byte) debug_print_init::j#2 ← phi( debug_print_init::@2/(byte) debug_print_init::j#1 debug_print_init::@17/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [226] (byte) debug_print_init::col#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::i#2 [227] (byte*~) debug_print_init::$59 ← (const byte*) debug_print_init::at_cols#0 + (byte) debug_print_init::c#2 - [228] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2 - [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 - [230] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 - [231] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2 - [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 - [233] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 - [234] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2 - [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 - [236] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 - [237] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2 - [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 - [239] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 - [240] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2 - [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 - [242] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 - [243] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2 - [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 - [245] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 - [246] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2 - [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 - [248] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 - [249] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2 - [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 - [251] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 - [252] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2 - [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 - [254] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 - [255] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 + [228] *((byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [229] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 + [230] *((byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [231] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 + [232] *((byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [233] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 + [234] *((byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [235] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 + [236] *((byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [237] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 + [238] *((byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [239] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 + [240] *((byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [241] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 + [242] *((byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [243] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 + [244] *((byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [245] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 + [246] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 to:debug_print_init::@3 debug_print_init::@3: scope:[debug_print_init] from debug_print_init::@2 - [256] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 - [257] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 - [258] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 + [247] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 + [248] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 + [249] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 to:debug_print_init::@return debug_print_init::@return: scope:[debug_print_init] from debug_print_init::@3 - [259] return + [250] return to:@return print_str_at: scope:[print_str_at] from debug_print_init::@10 debug_print_init::@11 debug_print_init::@12 debug_print_init::@13 debug_print_init::@14 debug_print_init::@15 debug_print_init::@4 debug_print_init::@5 debug_print_init::@6 debug_print_init::@7 debug_print_init::@8 debug_print_init::@9 - [260] (byte*) print_str_at::at#15 ← phi( debug_print_init::@9/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 debug_print_init::@10/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 debug_print_init::@11/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 debug_print_init::@12/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 debug_print_init::@13/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 debug_print_init::@14/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 debug_print_init::@15/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 debug_print_init::@4/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@5/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@6/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 debug_print_init::@8/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 ) - [260] (byte*) print_str_at::str#15 ← phi( debug_print_init::@9/(const string) debug_print_init::str5 debug_print_init::@10/(const string) debug_print_init::str6 debug_print_init::@11/(const string) debug_print_init::str7 debug_print_init::@12/(const string) debug_print_init::str8 debug_print_init::@13/(const string) debug_print_init::str9 debug_print_init::@14/(const string) debug_print_init::str10 debug_print_init::@15/(const string) debug_print_init::str11 debug_print_init::@4/(const string) debug_print_init::str debug_print_init::@5/(const string) debug_print_init::str1 debug_print_init::@6/(const string) debug_print_init::str2 debug_print_init::@7/(const string) debug_print_init::str3 debug_print_init::@8/(const string) debug_print_init::str4 ) + [251] (byte*) print_str_at::at#15 ← phi( debug_print_init::@9/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 debug_print_init::@10/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 debug_print_init::@11/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 debug_print_init::@12/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 debug_print_init::@13/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 debug_print_init::@14/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 debug_print_init::@15/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 debug_print_init::@4/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@5/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@6/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 debug_print_init::@8/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 ) + [251] (byte*) print_str_at::str#15 ← phi( debug_print_init::@9/(const string) debug_print_init::str5 debug_print_init::@10/(const string) debug_print_init::str6 debug_print_init::@11/(const string) debug_print_init::str7 debug_print_init::@12/(const string) debug_print_init::str8 debug_print_init::@13/(const string) debug_print_init::str9 debug_print_init::@14/(const string) debug_print_init::str10 debug_print_init::@15/(const string) debug_print_init::str11 debug_print_init::@4/(const string) debug_print_init::str debug_print_init::@5/(const string) debug_print_init::str1 debug_print_init::@6/(const string) debug_print_init::str2 debug_print_init::@7/(const string) debug_print_init::str3 debug_print_init::@8/(const string) debug_print_init::str4 ) to:print_str_at::@1 print_str_at::@1: scope:[print_str_at] from print_str_at print_str_at::@2 - [261] (byte*) print_str_at::at#13 ← phi( print_str_at/(byte*) print_str_at::at#15 print_str_at::@2/(byte*) print_str_at::at#0 ) - [261] (byte*) print_str_at::str#13 ← phi( print_str_at/(byte*) print_str_at::str#15 print_str_at::@2/(byte*) print_str_at::str#0 ) - [262] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 + [252] (byte*) print_str_at::at#13 ← phi( print_str_at/(byte*) print_str_at::at#15 print_str_at::@2/(byte*) print_str_at::at#0 ) + [252] (byte*) print_str_at::str#13 ← phi( print_str_at/(byte*) print_str_at::str#15 print_str_at::@2/(byte*) print_str_at::str#0 ) + [253] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 to:print_str_at::@return print_str_at::@return: scope:[print_str_at] from print_str_at::@1 - [263] return + [254] return to:@return print_str_at::@2: scope:[print_str_at] from print_str_at::@1 - [264] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) - [265] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 - [266] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 + [255] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) + [256] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 + [257] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 to:print_str_at::@1 print_cls: scope:[print_cls] from debug_print_init - [267] phi() + [258] phi() to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [268] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) print_screen#0 print_cls::@1/(byte*) print_cls::sc#1 ) - [269] *((byte*) print_cls::sc#2) ← (byte) ' ' - [270] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 - [271] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 + [259] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) print_screen#0 print_cls::@1/(byte*) print_cls::sc#1 ) + [260] *((byte*) print_cls::sc#2) ← (byte) ' ' + [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 + [262] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [272] return + [263] return to:@return sprites_init: scope:[sprites_init] from main - [273] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff + [264] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff to:sprites_init::@1 sprites_init::@1: scope:[sprites_init] from sprites_init sprites_init::@1 - [274] (byte) sprites_init::i#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::i#1 ) - [275] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 - [276] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 - [277] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 - [278] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 + [265] (byte) sprites_init::i#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::i#1 ) + [266] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 + [267] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 + [268] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 + [269] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 to:sprites_init::@return sprites_init::@return: scope:[sprites_init] from sprites_init::@1 - [279] return + [270] return to:@return diff --git a/src/test/ref/examples/3d/3d.log b/src/test/ref/examples/3d/3d.log index 81c192108..69c00312a 100644 --- a/src/test/ref/examples/3d/3d.log +++ b/src/test/ref/examples/3d/3d.log @@ -2730,7 +2730,11 @@ Removed zero-constant in assignment calculate_matrix::t3#0 Successful SSA optimization Pass2ConstantAdditionElimination if() condition always true - replacing block destination [44] if(true) goto anim::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte/signed byte/word/signed word/dword/signed dword) debug_print_init::$44 +Eliminating unused constant (const byte/signed byte/word/signed word/dword/signed dword) debug_print_init::$57 +Eliminating unused constant (const byte/signed word/word/dword/signed dword) debug_print::print_sbyte_pos1_$0#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte) debug_print::print_sbyte_pos1_row#0 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (byte) print_byte_at::b#0 ← ((byte)) (signed byte) print_sbyte_at::b#24 Eliminating Noop Cast (byte~) anim::$7 ← ((byte)) *((const signed byte*) xp#0) @@ -2750,6 +2754,16 @@ Resolved ranged next value sprites_init::i#1 ← ++ sprites_init::i#2 to ++ Resolved ranged comparison value if(sprites_init::i#1!=rangelast(0,7)) goto sprites_init::@1 to (byte/signed byte/word/signed word/dword/signed dword) 8 Rewriting multiplication to use shift (byte) anim::i2#0 ← (byte) anim::i#2 * (byte/signed byte/word/signed word/dword/signed dword) 2 Successful SSA optimization Pass2MultiplyToShiftRewriting +Converting *(pointer+n) to pointer[n] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 -- *(debug_print_init::$59 + debug_print_init::j#2) +Converting *(pointer+n) to pointer[n] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 -- *(debug_print_init::$63 + debug_print_init::j#2) +Converting *(pointer+n) to pointer[n] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 -- *(debug_print_init::$67 + debug_print_init::j#2) +Converting *(pointer+n) to pointer[n] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 -- *(debug_print_init::$71 + debug_print_init::j#2) +Converting *(pointer+n) to pointer[n] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 -- *(debug_print_init::$75 + debug_print_init::j#2) +Converting *(pointer+n) to pointer[n] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 -- *(debug_print_init::$79 + debug_print_init::j#2) +Converting *(pointer+n) to pointer[n] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 -- *(debug_print_init::$83 + debug_print_init::j#2) +Converting *(pointer+n) to pointer[n] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 -- *(debug_print_init::$87 + debug_print_init::j#2) +Converting *(pointer+n) to pointer[n] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 -- *(debug_print_init::$91 + debug_print_init::j#2) +Successful SSA optimization Pass2InlineDerefIdx Culled Empty Block (label) @4 Culled Empty Block (label) print_sbyte_at::@6 Culled Empty Block (label) @16 @@ -2830,6 +2844,16 @@ Constant (const byte*) print_sbyte_at::at#12 = debug_print::print_sbyte_pos10_$1 Constant (const byte*) print_sbyte_at::at#13 = debug_print::print_sbyte_pos11_$1#0+debug_print::print_sbyte_pos11_$0#0+debug_print::print_sbyte_pos11_col#0 Constant (const byte*) print_sbyte_at::at#14 = debug_print::print_sbyte_pos12_$1#0+debug_print::print_sbyte_pos12_$0#0+debug_print::print_sbyte_pos12_col#0 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused variable (byte*~) debug_print_init::$60 and assignment [101] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2 +Eliminating unused variable (byte*~) debug_print_init::$64 and assignment [104] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2 +Eliminating unused variable (byte*~) debug_print_init::$68 and assignment [107] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2 +Eliminating unused variable (byte*~) debug_print_init::$72 and assignment [110] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2 +Eliminating unused variable (byte*~) debug_print_init::$76 and assignment [113] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2 +Eliminating unused variable (byte*~) debug_print_init::$80 and assignment [116] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2 +Eliminating unused variable (byte*~) debug_print_init::$84 and assignment [119] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2 +Eliminating unused variable (byte*~) debug_print_init::$88 and assignment [122] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2 +Eliminating unused variable (byte*~) debug_print_init::$92 and assignment [125] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2 +Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte*) print_str_at::str#1 Inlining constant with var siblings (const byte*) print_str_at::str#2 Inlining constant with var siblings (const byte*) print_str_at::str#3 @@ -3100,15 +3124,15 @@ Coalesced [259] print_sbyte_at::b#46 ← print_sbyte_at::b#2 Coalesced [260] print_sbyte_at::at#34 ← print_sbyte_at::at#1 Coalesced [264] print_sbyte_at::b#47 ← print_sbyte_at::b#3 Coalesced [265] print_sbyte_at::at#35 ← print_sbyte_at::at#2 -Coalesced [302] debug_print_init::c#8 ← debug_print_init::c#1 -Coalesced [303] debug_print_init::i#8 ← debug_print_init::i#1 -Coalesced [304] debug_print_init::j#3 ← debug_print_init::j#1 -Coalesced [306] print_str_at::str#16 ← print_str_at::str#15 -Coalesced [307] print_str_at::at#16 ← print_str_at::at#15 -Coalesced [314] print_str_at::str#17 ← print_str_at::str#0 -Coalesced [315] print_str_at::at#17 ← print_str_at::at#0 -Coalesced [322] print_cls::sc#3 ← print_cls::sc#1 -Coalesced [330] sprites_init::i#3 ← sprites_init::i#1 +Coalesced [293] debug_print_init::c#8 ← debug_print_init::c#1 +Coalesced [294] debug_print_init::i#8 ← debug_print_init::i#1 +Coalesced [295] debug_print_init::j#3 ← debug_print_init::j#1 +Coalesced [297] print_str_at::str#16 ← print_str_at::str#15 +Coalesced [298] print_str_at::at#16 ← print_str_at::at#15 +Coalesced [305] print_str_at::str#17 ← print_str_at::str#0 +Coalesced [306] print_str_at::at#17 ← print_str_at::at#0 +Coalesced [313] print_cls::sc#3 ← print_cls::sc#1 +Coalesced [321] sprites_init::i#3 ← sprites_init::i#1 Coalesced down to 16 phi equivalence classes Culled Empty Block (label) anim::@31 Culled Empty Block (label) debug_print::@33 @@ -3656,84 +3680,75 @@ debug_print_init::@2: scope:[debug_print_init] from debug_print_init::@17 debug [225] (byte) debug_print_init::j#2 ← phi( debug_print_init::@2/(byte) debug_print_init::j#1 debug_print_init::@17/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [226] (byte) debug_print_init::col#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::i#2 [227] (byte*~) debug_print_init::$59 ← (const byte*) debug_print_init::at_cols#0 + (byte) debug_print_init::c#2 - [228] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2 - [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 - [230] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 - [231] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2 - [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 - [233] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 - [234] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2 - [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 - [236] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 - [237] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2 - [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 - [239] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 - [240] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2 - [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 - [242] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 - [243] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2 - [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 - [245] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 - [246] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2 - [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 - [248] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 - [249] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2 - [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 - [251] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 - [252] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2 - [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 - [254] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 - [255] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 + [228] *((byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [229] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 + [230] *((byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [231] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 + [232] *((byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [233] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 + [234] *((byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [235] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 + [236] *((byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [237] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 + [238] *((byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [239] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 + [240] *((byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [241] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 + [242] *((byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [243] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 + [244] *((byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 + [245] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 + [246] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 to:debug_print_init::@3 debug_print_init::@3: scope:[debug_print_init] from debug_print_init::@2 - [256] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 - [257] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 - [258] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 + [247] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 + [248] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 + [249] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 to:debug_print_init::@return debug_print_init::@return: scope:[debug_print_init] from debug_print_init::@3 - [259] return + [250] return to:@return print_str_at: scope:[print_str_at] from debug_print_init::@10 debug_print_init::@11 debug_print_init::@12 debug_print_init::@13 debug_print_init::@14 debug_print_init::@15 debug_print_init::@4 debug_print_init::@5 debug_print_init::@6 debug_print_init::@7 debug_print_init::@8 debug_print_init::@9 - [260] (byte*) print_str_at::at#15 ← phi( debug_print_init::@9/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 debug_print_init::@10/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 debug_print_init::@11/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 debug_print_init::@12/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 debug_print_init::@13/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 debug_print_init::@14/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 debug_print_init::@15/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 debug_print_init::@4/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@5/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@6/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 debug_print_init::@8/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 ) - [260] (byte*) print_str_at::str#15 ← phi( debug_print_init::@9/(const string) debug_print_init::str5 debug_print_init::@10/(const string) debug_print_init::str6 debug_print_init::@11/(const string) debug_print_init::str7 debug_print_init::@12/(const string) debug_print_init::str8 debug_print_init::@13/(const string) debug_print_init::str9 debug_print_init::@14/(const string) debug_print_init::str10 debug_print_init::@15/(const string) debug_print_init::str11 debug_print_init::@4/(const string) debug_print_init::str debug_print_init::@5/(const string) debug_print_init::str1 debug_print_init::@6/(const string) debug_print_init::str2 debug_print_init::@7/(const string) debug_print_init::str3 debug_print_init::@8/(const string) debug_print_init::str4 ) + [251] (byte*) print_str_at::at#15 ← phi( debug_print_init::@9/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 debug_print_init::@10/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 debug_print_init::@11/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 debug_print_init::@12/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 debug_print_init::@13/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 debug_print_init::@14/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 debug_print_init::@15/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 debug_print_init::@4/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@5/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@6/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 debug_print_init::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 debug_print_init::@8/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 ) + [251] (byte*) print_str_at::str#15 ← phi( debug_print_init::@9/(const string) debug_print_init::str5 debug_print_init::@10/(const string) debug_print_init::str6 debug_print_init::@11/(const string) debug_print_init::str7 debug_print_init::@12/(const string) debug_print_init::str8 debug_print_init::@13/(const string) debug_print_init::str9 debug_print_init::@14/(const string) debug_print_init::str10 debug_print_init::@15/(const string) debug_print_init::str11 debug_print_init::@4/(const string) debug_print_init::str debug_print_init::@5/(const string) debug_print_init::str1 debug_print_init::@6/(const string) debug_print_init::str2 debug_print_init::@7/(const string) debug_print_init::str3 debug_print_init::@8/(const string) debug_print_init::str4 ) to:print_str_at::@1 print_str_at::@1: scope:[print_str_at] from print_str_at print_str_at::@2 - [261] (byte*) print_str_at::at#13 ← phi( print_str_at/(byte*) print_str_at::at#15 print_str_at::@2/(byte*) print_str_at::at#0 ) - [261] (byte*) print_str_at::str#13 ← phi( print_str_at/(byte*) print_str_at::str#15 print_str_at::@2/(byte*) print_str_at::str#0 ) - [262] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 + [252] (byte*) print_str_at::at#13 ← phi( print_str_at/(byte*) print_str_at::at#15 print_str_at::@2/(byte*) print_str_at::at#0 ) + [252] (byte*) print_str_at::str#13 ← phi( print_str_at/(byte*) print_str_at::str#15 print_str_at::@2/(byte*) print_str_at::str#0 ) + [253] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 to:print_str_at::@return print_str_at::@return: scope:[print_str_at] from print_str_at::@1 - [263] return + [254] return to:@return print_str_at::@2: scope:[print_str_at] from print_str_at::@1 - [264] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) - [265] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 - [266] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 + [255] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) + [256] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 + [257] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 to:print_str_at::@1 print_cls: scope:[print_cls] from debug_print_init - [267] phi() + [258] phi() to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [268] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) print_screen#0 print_cls::@1/(byte*) print_cls::sc#1 ) - [269] *((byte*) print_cls::sc#2) ← (byte) ' ' - [270] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 - [271] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 + [259] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) print_screen#0 print_cls::@1/(byte*) print_cls::sc#1 ) + [260] *((byte*) print_cls::sc#2) ← (byte) ' ' + [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 + [262] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [272] return + [263] return to:@return sprites_init: scope:[sprites_init] from main - [273] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff + [264] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff to:sprites_init::@1 sprites_init::@1: scope:[sprites_init] from sprites_init sprites_init::@1 - [274] (byte) sprites_init::i#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::i#1 ) - [275] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 - [276] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 - [277] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 - [278] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 + [265] (byte) sprites_init::i#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::i#1 ) + [266] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 + [267] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 + [268] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 + [269] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 to:sprites_init::@return sprites_init::@return: scope:[sprites_init] from sprites_init::@1 - [279] return + [270] return to:@return null depth in calling loop Loop head: debug_print::@1 tails: debug_print::@17 blocks: debug_print::@17 debug_print::@16 debug_print::@15 debug_print::@14 debug_print::@13 debug_print::@12 debug_print::@1 in scope print_sbyte_at @@ -3916,37 +3931,28 @@ VARIABLE REGISTER WEIGHTS (signed byte) debug_print::print_sbyte_pos9_sb#0 4.0 (void()) debug_print_init() (byte*~) debug_print_init::$59 202.0 -(byte*~) debug_print_init::$60 202.0 (byte*~) debug_print_init::$63 202.0 -(byte*~) debug_print_init::$64 202.0 (byte*~) debug_print_init::$67 202.0 -(byte*~) debug_print_init::$68 202.0 (byte*~) debug_print_init::$71 202.0 -(byte*~) debug_print_init::$72 202.0 (byte*~) debug_print_init::$75 202.0 -(byte*~) debug_print_init::$76 202.0 (byte*~) debug_print_init::$79 202.0 -(byte*~) debug_print_init::$80 202.0 (byte*~) debug_print_init::$83 202.0 -(byte*~) debug_print_init::$84 202.0 (byte*~) debug_print_init::$87 202.0 -(byte*~) debug_print_init::$88 202.0 (byte*~) debug_print_init::$91 202.0 -(byte*~) debug_print_init::$92 202.0 (byte*) debug_print_init::COLS (byte*) debug_print_init::at_cols (byte*) debug_print_init::at_line (byte) debug_print_init::c (byte) debug_print_init::c#1 7.333333333333333 -(byte) debug_print_init::c#2 23.512195121951223 +(byte) debug_print_init::c#2 30.125 (byte) debug_print_init::col -(byte) debug_print_init::col#0 37.40740740740741 +(byte) debug_print_init::col#0 56.111111111111114 (byte) debug_print_init::i (byte) debug_print_init::i#1 16.5 -(byte) debug_print_init::i#2 3.7142857142857144 +(byte) debug_print_init::i#2 4.727272727272727 (byte) debug_print_init::j (byte) debug_print_init::j#1 151.5 -(byte) debug_print_init::j#2 38.31034482758621 +(byte) debug_print_init::j#2 55.54999999999999 (void()) main() (byte*) mulf_sqr1 (byte*) mulf_sqr2 @@ -4134,23 +4140,14 @@ Added variable calculate_matrix::$33 to zero page equivalence class [ calculate_ Added variable calculate_matrix::$34 to zero page equivalence class [ calculate_matrix::$34 ] Added variable debug_print_init::col#0 to zero page equivalence class [ debug_print_init::col#0 ] Added variable debug_print_init::$59 to zero page equivalence class [ debug_print_init::$59 ] -Added variable debug_print_init::$60 to zero page equivalence class [ debug_print_init::$60 ] Added variable debug_print_init::$63 to zero page equivalence class [ debug_print_init::$63 ] -Added variable debug_print_init::$64 to zero page equivalence class [ debug_print_init::$64 ] Added variable debug_print_init::$67 to zero page equivalence class [ debug_print_init::$67 ] -Added variable debug_print_init::$68 to zero page equivalence class [ debug_print_init::$68 ] Added variable debug_print_init::$71 to zero page equivalence class [ debug_print_init::$71 ] -Added variable debug_print_init::$72 to zero page equivalence class [ debug_print_init::$72 ] Added variable debug_print_init::$75 to zero page equivalence class [ debug_print_init::$75 ] -Added variable debug_print_init::$76 to zero page equivalence class [ debug_print_init::$76 ] Added variable debug_print_init::$79 to zero page equivalence class [ debug_print_init::$79 ] -Added variable debug_print_init::$80 to zero page equivalence class [ debug_print_init::$80 ] Added variable debug_print_init::$83 to zero page equivalence class [ debug_print_init::$83 ] -Added variable debug_print_init::$84 to zero page equivalence class [ debug_print_init::$84 ] Added variable debug_print_init::$87 to zero page equivalence class [ debug_print_init::$87 ] -Added variable debug_print_init::$88 to zero page equivalence class [ debug_print_init::$88 ] Added variable debug_print_init::$91 to zero page equivalence class [ debug_print_init::$91 ] -Added variable debug_print_init::$92 to zero page equivalence class [ debug_print_init::$92 ] Complete equivalence classes [ sx#10 sx#3 ] [ sy#10 sy#3 ] @@ -4227,23 +4224,14 @@ Complete equivalence classes [ calculate_matrix::$34 ] [ debug_print_init::col#0 ] [ debug_print_init::$59 ] -[ debug_print_init::$60 ] [ debug_print_init::$63 ] -[ debug_print_init::$64 ] [ debug_print_init::$67 ] -[ debug_print_init::$68 ] [ debug_print_init::$71 ] -[ debug_print_init::$72 ] [ debug_print_init::$75 ] -[ debug_print_init::$76 ] [ debug_print_init::$79 ] -[ debug_print_init::$80 ] [ debug_print_init::$83 ] -[ debug_print_init::$84 ] [ debug_print_init::$87 ] -[ debug_print_init::$88 ] [ debug_print_init::$91 ] -[ debug_print_init::$92 ] Allocated zp ZP_BYTE:2 [ sx#10 sx#3 ] Allocated zp ZP_BYTE:3 [ sy#10 sy#3 ] Allocated zp ZP_BYTE:4 [ anim::i#2 anim::i#1 ] @@ -4319,23 +4307,14 @@ Allocated zp ZP_BYTE:79 [ calculate_matrix::$33 ] Allocated zp ZP_BYTE:80 [ calculate_matrix::$34 ] Allocated zp ZP_BYTE:81 [ debug_print_init::col#0 ] Allocated zp ZP_WORD:82 [ debug_print_init::$59 ] -Allocated zp ZP_WORD:84 [ debug_print_init::$60 ] -Allocated zp ZP_WORD:86 [ debug_print_init::$63 ] -Allocated zp ZP_WORD:88 [ debug_print_init::$64 ] -Allocated zp ZP_WORD:90 [ debug_print_init::$67 ] -Allocated zp ZP_WORD:92 [ debug_print_init::$68 ] -Allocated zp ZP_WORD:94 [ debug_print_init::$71 ] -Allocated zp ZP_WORD:96 [ debug_print_init::$72 ] -Allocated zp ZP_WORD:98 [ debug_print_init::$75 ] -Allocated zp ZP_WORD:100 [ debug_print_init::$76 ] -Allocated zp ZP_WORD:102 [ debug_print_init::$79 ] -Allocated zp ZP_WORD:104 [ debug_print_init::$80 ] -Allocated zp ZP_WORD:106 [ debug_print_init::$83 ] -Allocated zp ZP_WORD:108 [ debug_print_init::$84 ] -Allocated zp ZP_WORD:110 [ debug_print_init::$87 ] -Allocated zp ZP_WORD:112 [ debug_print_init::$88 ] -Allocated zp ZP_WORD:114 [ debug_print_init::$91 ] -Allocated zp ZP_WORD:116 [ debug_print_init::$92 ] +Allocated zp ZP_WORD:84 [ debug_print_init::$63 ] +Allocated zp ZP_WORD:86 [ debug_print_init::$67 ] +Allocated zp ZP_WORD:88 [ debug_print_init::$71 ] +Allocated zp ZP_WORD:90 [ debug_print_init::$75 ] +Allocated zp ZP_WORD:92 [ debug_print_init::$79 ] +Allocated zp ZP_WORD:94 [ debug_print_init::$83 ] +Allocated zp ZP_WORD:96 [ debug_print_init::$87 ] +Allocated zp ZP_WORD:98 [ debug_print_init::$91 ] INITIAL ASM //SEG0 File Comments @@ -5685,29 +5664,20 @@ debug_print_init: { .label at_line = SCREEN+$10*$28 .label at_cols = COLS+$10*$28 .label _59 = $52 - .label _60 = $54 - .label _63 = $56 - .label _64 = $58 - .label _67 = $5a - .label _68 = $5c - .label _71 = $5e - .label _72 = $60 - .label _75 = $62 - .label _76 = $64 - .label _79 = $66 - .label _80 = $68 - .label _83 = $6a - .label _84 = $6c - .label _87 = $6e - .label _88 = $70 - .label _91 = $72 - .label _92 = $74 + .label _63 = $54 + .label _67 = $56 + .label _71 = $58 + .label _75 = $5a + .label _79 = $5c + .label _83 = $5e + .label _87 = $60 + .label _91 = $62 .label col = $51 .label j = $f .label c = $d .label i = $e //SEG337 [190] call print_cls - //SEG338 [267] phi from debug_print_init to print_cls [phi:debug_print_init->print_cls] + //SEG338 [258] phi from debug_print_init to print_cls [phi:debug_print_init->print_cls] print_cls_from_debug_print_init: jsr print_cls //SEG339 [191] phi from debug_print_init to debug_print_init::@4 [phi:debug_print_init->debug_print_init::@4] @@ -5716,14 +5686,14 @@ debug_print_init: { //SEG340 debug_print_init::@4 b4: //SEG341 [192] call print_str_at - //SEG342 [260] phi from debug_print_init::@4 to print_str_at [phi:debug_print_init::@4->print_str_at] + //SEG342 [251] phi from debug_print_init::@4 to print_str_at [phi:debug_print_init::@4->print_str_at] print_str_at_from_b4: - //SEG343 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@4->print_str_at#0] -- pbuz1=pbuc1 + //SEG343 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@4->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$22 sta print_str_at.at+1 - //SEG344 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str [phi:debug_print_init::@4->print_str_at#1] -- pbuz1=pbuc1 + //SEG344 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str [phi:debug_print_init::@4->print_str_at#1] -- pbuz1=pbuc1 lda #str @@ -5735,14 +5705,14 @@ debug_print_init: { //SEG346 debug_print_init::@5 b5: //SEG347 [194] call print_str_at - //SEG348 [260] phi from debug_print_init::@5 to print_str_at [phi:debug_print_init::@5->print_str_at] + //SEG348 [251] phi from debug_print_init::@5 to print_str_at [phi:debug_print_init::@5->print_str_at] print_str_at_from_b5: - //SEG349 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@5->print_str_at#0] -- pbuz1=pbuc1 + //SEG349 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@5->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*1+$22 sta print_str_at.at+1 - //SEG350 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str1 [phi:debug_print_init::@5->print_str_at#1] -- pbuz1=pbuc1 + //SEG350 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str1 [phi:debug_print_init::@5->print_str_at#1] -- pbuz1=pbuc1 lda #str1 @@ -5754,14 +5724,14 @@ debug_print_init: { //SEG352 debug_print_init::@6 b6: //SEG353 [196] call print_str_at - //SEG354 [260] phi from debug_print_init::@6 to print_str_at [phi:debug_print_init::@6->print_str_at] + //SEG354 [251] phi from debug_print_init::@6 to print_str_at [phi:debug_print_init::@6->print_str_at] print_str_at_from_b6: - //SEG355 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@6->print_str_at#0] -- pbuz1=pbuc1 + //SEG355 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@6->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*2+$22 sta print_str_at.at+1 - //SEG356 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str2 [phi:debug_print_init::@6->print_str_at#1] -- pbuz1=pbuc1 + //SEG356 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str2 [phi:debug_print_init::@6->print_str_at#1] -- pbuz1=pbuc1 lda #str2 @@ -5773,14 +5743,14 @@ debug_print_init: { //SEG358 debug_print_init::@7 b7: //SEG359 [198] call print_str_at - //SEG360 [260] phi from debug_print_init::@7 to print_str_at [phi:debug_print_init::@7->print_str_at] + //SEG360 [251] phi from debug_print_init::@7 to print_str_at [phi:debug_print_init::@7->print_str_at] print_str_at_from_b7: - //SEG361 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 [phi:debug_print_init::@7->print_str_at#0] -- pbuz1=pbuc1 + //SEG361 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 [phi:debug_print_init::@7->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$10 sta print_str_at.at+1 - //SEG362 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str3 [phi:debug_print_init::@7->print_str_at#1] -- pbuz1=pbuc1 + //SEG362 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str3 [phi:debug_print_init::@7->print_str_at#1] -- pbuz1=pbuc1 lda #str3 @@ -5792,14 +5762,14 @@ debug_print_init: { //SEG364 debug_print_init::@8 b8: //SEG365 [200] call print_str_at - //SEG366 [260] phi from debug_print_init::@8 to print_str_at [phi:debug_print_init::@8->print_str_at] + //SEG366 [251] phi from debug_print_init::@8 to print_str_at [phi:debug_print_init::@8->print_str_at] print_str_at_from_b8: - //SEG367 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 [phi:debug_print_init::@8->print_str_at#0] -- pbuz1=pbuc1 + //SEG367 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 [phi:debug_print_init::@8->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$11 sta print_str_at.at+1 - //SEG368 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str4 [phi:debug_print_init::@8->print_str_at#1] -- pbuz1=pbuc1 + //SEG368 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str4 [phi:debug_print_init::@8->print_str_at#1] -- pbuz1=pbuc1 lda #str4 @@ -5811,14 +5781,14 @@ debug_print_init: { //SEG370 debug_print_init::@9 b9: //SEG371 [202] call print_str_at - //SEG372 [260] phi from debug_print_init::@9 to print_str_at [phi:debug_print_init::@9->print_str_at] + //SEG372 [251] phi from debug_print_init::@9 to print_str_at [phi:debug_print_init::@9->print_str_at] print_str_at_from_b9: - //SEG373 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 [phi:debug_print_init::@9->print_str_at#0] -- pbuz1=pbuc1 + //SEG373 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 [phi:debug_print_init::@9->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$12 sta print_str_at.at+1 - //SEG374 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str5 [phi:debug_print_init::@9->print_str_at#1] -- pbuz1=pbuc1 + //SEG374 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str5 [phi:debug_print_init::@9->print_str_at#1] -- pbuz1=pbuc1 lda #str5 @@ -5830,14 +5800,14 @@ debug_print_init: { //SEG376 debug_print_init::@10 b10: //SEG377 [204] call print_str_at - //SEG378 [260] phi from debug_print_init::@10 to print_str_at [phi:debug_print_init::@10->print_str_at] + //SEG378 [251] phi from debug_print_init::@10 to print_str_at [phi:debug_print_init::@10->print_str_at] print_str_at_from_b10: - //SEG379 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 [phi:debug_print_init::@10->print_str_at#0] -- pbuz1=pbuc1 + //SEG379 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 [phi:debug_print_init::@10->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$13 sta print_str_at.at+1 - //SEG380 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str6 [phi:debug_print_init::@10->print_str_at#1] -- pbuz1=pbuc1 + //SEG380 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str6 [phi:debug_print_init::@10->print_str_at#1] -- pbuz1=pbuc1 lda #str6 @@ -5849,14 +5819,14 @@ debug_print_init: { //SEG382 debug_print_init::@11 b11: //SEG383 [206] call print_str_at - //SEG384 [260] phi from debug_print_init::@11 to print_str_at [phi:debug_print_init::@11->print_str_at] + //SEG384 [251] phi from debug_print_init::@11 to print_str_at [phi:debug_print_init::@11->print_str_at] print_str_at_from_b11: - //SEG385 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 [phi:debug_print_init::@11->print_str_at#0] -- pbuz1=pbuc1 + //SEG385 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 [phi:debug_print_init::@11->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$14 sta print_str_at.at+1 - //SEG386 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str7 [phi:debug_print_init::@11->print_str_at#1] -- pbuz1=pbuc1 + //SEG386 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str7 [phi:debug_print_init::@11->print_str_at#1] -- pbuz1=pbuc1 lda #str7 @@ -5868,14 +5838,14 @@ debug_print_init: { //SEG388 debug_print_init::@12 b12: //SEG389 [208] call print_str_at - //SEG390 [260] phi from debug_print_init::@12 to print_str_at [phi:debug_print_init::@12->print_str_at] + //SEG390 [251] phi from debug_print_init::@12 to print_str_at [phi:debug_print_init::@12->print_str_at] print_str_at_from_b12: - //SEG391 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 [phi:debug_print_init::@12->print_str_at#0] -- pbuz1=pbuc1 + //SEG391 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 [phi:debug_print_init::@12->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$15 sta print_str_at.at+1 - //SEG392 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str8 [phi:debug_print_init::@12->print_str_at#1] -- pbuz1=pbuc1 + //SEG392 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str8 [phi:debug_print_init::@12->print_str_at#1] -- pbuz1=pbuc1 lda #str8 @@ -5887,14 +5857,14 @@ debug_print_init: { //SEG394 debug_print_init::@13 b13: //SEG395 [210] call print_str_at - //SEG396 [260] phi from debug_print_init::@13 to print_str_at [phi:debug_print_init::@13->print_str_at] + //SEG396 [251] phi from debug_print_init::@13 to print_str_at [phi:debug_print_init::@13->print_str_at] print_str_at_from_b13: - //SEG397 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 [phi:debug_print_init::@13->print_str_at#0] -- pbuz1=pbuc1 + //SEG397 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 [phi:debug_print_init::@13->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$16 sta print_str_at.at+1 - //SEG398 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str9 [phi:debug_print_init::@13->print_str_at#1] -- pbuz1=pbuc1 + //SEG398 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str9 [phi:debug_print_init::@13->print_str_at#1] -- pbuz1=pbuc1 lda #str9 @@ -5906,14 +5876,14 @@ debug_print_init: { //SEG400 debug_print_init::@14 b14: //SEG401 [212] call print_str_at - //SEG402 [260] phi from debug_print_init::@14 to print_str_at [phi:debug_print_init::@14->print_str_at] + //SEG402 [251] phi from debug_print_init::@14 to print_str_at [phi:debug_print_init::@14->print_str_at] print_str_at_from_b14: - //SEG403 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 [phi:debug_print_init::@14->print_str_at#0] -- pbuz1=pbuc1 + //SEG403 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 [phi:debug_print_init::@14->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$17 sta print_str_at.at+1 - //SEG404 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str10 [phi:debug_print_init::@14->print_str_at#1] -- pbuz1=pbuc1 + //SEG404 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str10 [phi:debug_print_init::@14->print_str_at#1] -- pbuz1=pbuc1 lda #str10 @@ -5925,14 +5895,14 @@ debug_print_init: { //SEG406 debug_print_init::@15 b15: //SEG407 [214] call print_str_at - //SEG408 [260] phi from debug_print_init::@15 to print_str_at [phi:debug_print_init::@15->print_str_at] + //SEG408 [251] phi from debug_print_init::@15 to print_str_at [phi:debug_print_init::@15->print_str_at] print_str_at_from_b15: - //SEG409 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 [phi:debug_print_init::@15->print_str_at#0] -- pbuz1=pbuc1 + //SEG409 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 [phi:debug_print_init::@15->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$18 sta print_str_at.at+1 - //SEG410 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str11 [phi:debug_print_init::@15->print_str_at#1] -- pbuz1=pbuc1 + //SEG410 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str11 [phi:debug_print_init::@15->print_str_at#1] -- pbuz1=pbuc1 lda #str11 @@ -6038,19 +6008,11 @@ debug_print_init: { lda #>at_cols adc #0 sta _59+1 - //SEG445 [228] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2 -- pbuz1=pbuz2_plus_vbuz3 - lda j - clc - adc _59 - sta _60 - lda #0 - adc _59+1 - sta _60+1 - //SEG446 [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2 + //SEG445 [228] *((byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuz2=vbuz3 lda col - ldy #0 - sta (_60),y - //SEG447 [230] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + ldy j + sta (_59),y + //SEG446 [229] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*1 adc #0 sta _63+1 - //SEG448 [231] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2 -- pbuz1=pbuz2_plus_vbuz3 - lda j - clc - adc _63 - sta _64 - lda #0 - adc _63+1 - sta _64+1 - //SEG449 [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2 + //SEG447 [230] *((byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuz2=vbuz3 lda col - ldy #0 - sta (_64),y - //SEG450 [233] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + ldy j + sta (_63),y + //SEG448 [231] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*2 adc #0 sta _67+1 - //SEG451 [234] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2 -- pbuz1=pbuz2_plus_vbuz3 - lda j - clc - adc _67 - sta _68 - lda #0 - adc _67+1 - sta _68+1 - //SEG452 [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2 + //SEG449 [232] *((byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuz2=vbuz3 lda col - ldy #0 - sta (_68),y - //SEG453 [236] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + ldy j + sta (_67),y + //SEG450 [233] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*3 adc #0 sta _71+1 - //SEG454 [237] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2 -- pbuz1=pbuz2_plus_vbuz3 - lda j - clc - adc _71 - sta _72 - lda #0 - adc _71+1 - sta _72+1 - //SEG455 [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2 + //SEG451 [234] *((byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuz2=vbuz3 lda col - ldy #0 - sta (_72),y - //SEG456 [239] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + ldy j + sta (_71),y + //SEG452 [235] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*4 adc #0 sta _75+1 - //SEG457 [240] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2 -- pbuz1=pbuz2_plus_vbuz3 - lda j - clc - adc _75 - sta _76 - lda #0 - adc _75+1 - sta _76+1 - //SEG458 [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2 + //SEG453 [236] *((byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuz2=vbuz3 lda col - ldy #0 - sta (_76),y - //SEG459 [242] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + ldy j + sta (_75),y + //SEG454 [237] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*5 adc #0 sta _79+1 - //SEG460 [243] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2 -- pbuz1=pbuz2_plus_vbuz3 - lda j - clc - adc _79 - sta _80 - lda #0 - adc _79+1 - sta _80+1 - //SEG461 [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2 + //SEG455 [238] *((byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuz2=vbuz3 lda col - ldy #0 - sta (_80),y - //SEG462 [245] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + ldy j + sta (_79),y + //SEG456 [239] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*6 adc #0 sta _83+1 - //SEG463 [246] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2 -- pbuz1=pbuz2_plus_vbuz3 - lda j - clc - adc _83 - sta _84 - lda #0 - adc _83+1 - sta _84+1 - //SEG464 [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2 + //SEG457 [240] *((byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuz2=vbuz3 lda col - ldy #0 - sta (_84),y - //SEG465 [248] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + ldy j + sta (_83),y + //SEG458 [241] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*7 adc #0 sta _87+1 - //SEG466 [249] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2 -- pbuz1=pbuz2_plus_vbuz3 - lda j - clc - adc _87 - sta _88 - lda #0 - adc _87+1 - sta _88+1 - //SEG467 [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2 + //SEG459 [242] *((byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuz2=vbuz3 lda col - ldy #0 - sta (_88),y - //SEG468 [251] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + ldy j + sta (_87),y + //SEG460 [243] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*8 adc #0 sta _91+1 - //SEG469 [252] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2 -- pbuz1=pbuz2_plus_vbuz3 - lda j - clc - adc _91 - sta _92 - lda #0 - adc _91+1 - sta _92+1 - //SEG470 [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2 + //SEG461 [244] *((byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuz2=vbuz3 lda col - ldy #0 - sta (_92),y - //SEG471 [254] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 -- vbuz1=_inc_vbuz1 + ldy j + sta (_91),y + //SEG462 [245] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 -- vbuz1=_inc_vbuz1 inc j - //SEG472 [255] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG463 [246] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 -- vbuz1_neq_vbuc1_then_la1 lda #4 cmp j bne b2_from_b2 jmp b3 - //SEG473 debug_print_init::@3 + //SEG464 debug_print_init::@3 b3: - //SEG474 [256] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz1_plus_vbuc1 + //SEG465 [247] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz1_plus_vbuc1 lax c axs #-[4] stx c - //SEG475 [257] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 -- vbuz1=_inc_vbuz1 + //SEG466 [248] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 -- vbuz1=_inc_vbuz1 inc i - //SEG476 [258] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG467 [249] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp i bne b1_from_b3 jmp breturn - //SEG477 debug_print_init::@return + //SEG468 debug_print_init::@return breturn: - //SEG478 [259] return + //SEG469 [250] return rts str: .text "sx@" str1: .text "sy@" @@ -6247,77 +6145,77 @@ debug_print_init: { str10: .text "xp@" str11: .text "yp@" } -//SEG479 print_str_at +//SEG470 print_str_at // Print a string at a specific screen position // print_str_at(byte* zeropage($10) str, byte* zeropage($12) at) print_str_at: { .label at = $12 .label str = $10 - //SEG480 [261] phi from print_str_at print_str_at::@2 to print_str_at::@1 [phi:print_str_at/print_str_at::@2->print_str_at::@1] + //SEG471 [252] phi from print_str_at print_str_at::@2 to print_str_at::@1 [phi:print_str_at/print_str_at::@2->print_str_at::@1] b1_from_print_str_at: b1_from_b2: - //SEG481 [261] phi (byte*) print_str_at::at#13 = (byte*) print_str_at::at#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#0] -- register_copy - //SEG482 [261] phi (byte*) print_str_at::str#13 = (byte*) print_str_at::str#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#1] -- register_copy + //SEG472 [252] phi (byte*) print_str_at::at#13 = (byte*) print_str_at::at#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#0] -- register_copy + //SEG473 [252] phi (byte*) print_str_at::str#13 = (byte*) print_str_at::str#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#1] -- register_copy jmp b1 - //SEG483 print_str_at::@1 + //SEG474 print_str_at::@1 b1: - //SEG484 [262] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG475 [253] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 jmp breturn - //SEG485 print_str_at::@return + //SEG476 print_str_at::@return breturn: - //SEG486 [263] return + //SEG477 [254] return rts - //SEG487 print_str_at::@2 + //SEG478 print_str_at::@2 b2: - //SEG488 [264] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) -- _deref_pbuz1=_deref_pbuz2 + //SEG479 [255] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (at),y - //SEG489 [265] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 -- pbuz1=_inc_pbuz1 + //SEG480 [256] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 -- pbuz1=_inc_pbuz1 inc at bne !+ inc at+1 !: - //SEG490 [266] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 -- pbuz1=_inc_pbuz1 + //SEG481 [257] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: jmp b1_from_b2 } -//SEG491 print_cls +//SEG482 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { .label sc = $14 - //SEG492 [268] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG483 [259] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG493 [268] phi (byte*) print_cls::sc#2 = (const byte*) print_screen#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG484 [259] phi (byte*) print_cls::sc#2 = (const byte*) print_screen#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #print_screen sta sc+1 jmp b1 - //SEG494 [268] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG485 [259] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG495 [268] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG486 [259] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG496 print_cls::@1 + //SEG487 print_cls::@1 b1: - //SEG497 [269] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + //SEG488 [260] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG498 [270] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + //SEG489 [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG499 [271] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 + //SEG490 [262] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>print_screen+$3e8 bne b1_from_b1 @@ -6325,50 +6223,50 @@ print_cls: { cmp #sprites_init::@1] + //SEG495 [265] phi from sprites_init to sprites_init::@1 [phi:sprites_init->sprites_init::@1] b1_from_sprites_init: - //SEG505 [274] phi (byte) sprites_init::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sprites_init->sprites_init::@1#0] -- vbuz1=vbuc1 + //SEG496 [265] phi (byte) sprites_init::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sprites_init->sprites_init::@1#0] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG506 [274] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1] + //SEG497 [265] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1] b1_from_b1: - //SEG507 [274] phi (byte) sprites_init::i#2 = (byte) sprites_init::i#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy + //SEG498 [265] phi (byte) sprites_init::i#2 = (byte) sprites_init::i#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy jmp b1 - //SEG508 sprites_init::@1 + //SEG499 sprites_init::@1 b1: - //SEG509 [275] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG500 [266] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 -- pbuc1_derefidx_vbuz1=vbuc2 lda #$ff&SPRITE/$40 ldy i sta sprites_ptr,y - //SEG510 [276] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG501 [267] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #GREEN ldy i sta SPRITES_COLS,y - //SEG511 [277] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 -- vbuz1=_inc_vbuz1 + //SEG502 [268] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 -- vbuz1=_inc_vbuz1 inc i - //SEG512 [278] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG503 [269] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp i bne b1_from_b1 jmp breturn - //SEG513 sprites_init::@return + //SEG504 sprites_init::@return breturn: - //SEG514 [279] return + //SEG505 [270] return rts } print_hextab: .text "0123456789abcdef" @@ -6596,45 +6494,34 @@ Statement [226] (byte) debug_print_init::col#0 ← (byte/signed byte/word/signed Removing always clobbered register reg byte a as potential for zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] Statement [227] (byte*~) debug_print_init::$59 ← (const byte*) debug_print_init::at_cols#0 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:81 [ debug_print_init::col#0 ] -Statement [228] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$60 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$60 ] ) always clobbers reg byte a -Statement [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:81 [ debug_print_init::col#0 ] -Statement [230] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ) always clobbers reg byte a -Statement [231] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$64 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$64 ] ) always clobbers reg byte a -Statement [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [233] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ) always clobbers reg byte a -Statement [234] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$68 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$68 ] ) always clobbers reg byte a -Statement [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [236] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ) always clobbers reg byte a -Statement [237] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$72 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$72 ] ) always clobbers reg byte a -Statement [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [239] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ) always clobbers reg byte a -Statement [240] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$76 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$76 ] ) always clobbers reg byte a -Statement [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [242] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ) always clobbers reg byte a -Statement [243] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$80 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$80 ] ) always clobbers reg byte a -Statement [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [245] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ) always clobbers reg byte a -Statement [246] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$84 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$84 ] ) always clobbers reg byte a -Statement [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [248] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ) always clobbers reg byte a -Statement [249] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$88 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$88 ] ) always clobbers reg byte a -Statement [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [251] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ) always clobbers reg byte a -Statement [252] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$92 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$92 ] ) always clobbers reg byte a -Statement [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ) always clobbers reg byte a reg byte y -Statement [256] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ debug_print_init::i#2 debug_print_init::c#1 ] ( main:11::debug_print_init:17 [ debug_print_init::i#2 debug_print_init::c#1 ] ) always clobbers reg byte a reg byte x +Statement [228] *((byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [229] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ) always clobbers reg byte a +Statement [230] *((byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [231] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ) always clobbers reg byte a +Statement [232] *((byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [233] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ) always clobbers reg byte a +Statement [234] *((byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [235] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ) always clobbers reg byte a +Statement [236] *((byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [237] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ) always clobbers reg byte a +Statement [238] *((byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [239] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ) always clobbers reg byte a +Statement [240] *((byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [241] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ) always clobbers reg byte a +Statement [242] *((byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [243] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ) always clobbers reg byte a +Statement [244] *((byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ) always clobbers reg byte a +Statement [247] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ debug_print_init::i#2 debug_print_init::c#1 ] ( main:11::debug_print_init:17 [ debug_print_init::i#2 debug_print_init::c#1 ] ) always clobbers reg byte a reg byte x Removing always clobbered register reg byte x as potential for zp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] -Statement [258] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 [ debug_print_init::c#1 debug_print_init::i#1 ] ( main:11::debug_print_init:17 [ debug_print_init::c#1 debug_print_init::i#1 ] ) always clobbers reg byte a -Statement [262] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y -Statement [264] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y -Statement [269] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [271] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#1 ] ) always clobbers reg byte a -Statement [273] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:11::sprites_init:14 [ ] ) always clobbers reg byte a -Statement [275] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a +Statement [249] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 [ debug_print_init::c#1 debug_print_init::i#1 ] ( main:11::debug_print_init:17 [ debug_print_init::c#1 debug_print_init::i#1 ] ) always clobbers reg byte a +Statement [253] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y +Statement [255] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y +Statement [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [262] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [264] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:11::sprites_init:14 [ ] ) always clobbers reg byte a +Statement [266] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:22 [ sprites_init::i#2 sprites_init::i#1 ] -Statement [276] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a +Statement [267] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a Statement [15] *((const word*) psp1#0) ← ((word))(const byte*) mulf_sqr1#0 [ ] ( main:11 [ ] ) always clobbers reg byte a Statement [16] *((const word*) psp2#0) ← ((word))(const byte*) mulf_sqr2#0 [ ] ( main:11 [ ] ) always clobbers reg byte a Statement [23] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) $ff) goto anim::@2 [ sx#10 sy#10 ] ( main:11::anim:19 [ sx#10 sy#10 ] ) always clobbers reg byte a @@ -6717,46 +6604,34 @@ Statement [219] (byte*) print_sbyte_at::at#1 ← (const byte*) debug_print_init: Statement [220] (signed byte) print_sbyte_at::b#2 ← *((const signed byte[8]) ys#0 + (byte) debug_print_init::i#2) [ print_sbyte_at::b#2 print_sbyte_at::at#1 debug_print_init::c#2 debug_print_init::i#2 ] ( main:11::debug_print_init:17 [ print_sbyte_at::b#2 print_sbyte_at::at#1 debug_print_init::c#2 debug_print_init::i#2 ] ) always clobbers reg byte y Statement [222] (byte*) print_sbyte_at::at#2 ← (const byte*) debug_print_init::at_line#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 [ print_sbyte_at::at#2 debug_print_init::c#2 debug_print_init::i#2 ] ( main:11::debug_print_init:17 [ print_sbyte_at::at#2 debug_print_init::c#2 debug_print_init::i#2 ] ) always clobbers reg byte a Statement [223] (signed byte) print_sbyte_at::b#3 ← *((const signed byte[8]) zs#0 + (byte) debug_print_init::i#2) [ print_sbyte_at::b#3 print_sbyte_at::at#2 debug_print_init::c#2 debug_print_init::i#2 ] ( main:11::debug_print_init:17 [ print_sbyte_at::b#3 print_sbyte_at::at#2 debug_print_init::c#2 debug_print_init::i#2 ] ) always clobbers reg byte y -Statement [226] (byte) debug_print_init::col#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::i#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte x -Removing always clobbered register reg byte x as potential for zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] -Removing always clobbered register reg byte x as potential for zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] +Statement [226] (byte) debug_print_init::col#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::i#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a Statement [227] (byte*~) debug_print_init::$59 ← (const byte*) debug_print_init::at_cols#0 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] ) always clobbers reg byte a -Statement [228] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$60 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$60 ] ) always clobbers reg byte a -Statement [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [230] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ) always clobbers reg byte a -Statement [231] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$64 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$64 ] ) always clobbers reg byte a -Statement [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [233] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ) always clobbers reg byte a -Statement [234] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$68 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$68 ] ) always clobbers reg byte a -Statement [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [236] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ) always clobbers reg byte a -Statement [237] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$72 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$72 ] ) always clobbers reg byte a -Statement [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [239] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ) always clobbers reg byte a -Statement [240] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$76 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$76 ] ) always clobbers reg byte a -Statement [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [242] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ) always clobbers reg byte a -Statement [243] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$80 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$80 ] ) always clobbers reg byte a -Statement [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [245] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ) always clobbers reg byte a -Statement [246] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$84 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$84 ] ) always clobbers reg byte a -Statement [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [248] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ) always clobbers reg byte a -Statement [249] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$88 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$88 ] ) always clobbers reg byte a -Statement [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [251] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ) always clobbers reg byte a -Statement [252] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$92 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$92 ] ) always clobbers reg byte a -Statement [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ) always clobbers reg byte a reg byte y -Statement [255] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#1 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#1 ] ) always clobbers reg byte a -Statement [256] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ debug_print_init::i#2 debug_print_init::c#1 ] ( main:11::debug_print_init:17 [ debug_print_init::i#2 debug_print_init::c#1 ] ) always clobbers reg byte a reg byte x -Statement [258] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 [ debug_print_init::c#1 debug_print_init::i#1 ] ( main:11::debug_print_init:17 [ debug_print_init::c#1 debug_print_init::i#1 ] ) always clobbers reg byte a -Statement [262] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y -Statement [264] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y -Statement [269] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [271] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#1 ] ) always clobbers reg byte a -Statement [273] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:11::sprites_init:14 [ ] ) always clobbers reg byte a -Statement [275] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a -Statement [276] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a +Statement [228] *((byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [229] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ) always clobbers reg byte a +Statement [230] *((byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [231] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ) always clobbers reg byte a +Statement [232] *((byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [233] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ) always clobbers reg byte a +Statement [234] *((byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [235] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ) always clobbers reg byte a +Statement [236] *((byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [237] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ) always clobbers reg byte a +Statement [238] *((byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [239] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ) always clobbers reg byte a +Statement [240] *((byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [241] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ) always clobbers reg byte a +Statement [242] *((byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [243] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ) always clobbers reg byte a +Statement [244] *((byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ) always clobbers reg byte a +Statement [247] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ debug_print_init::i#2 debug_print_init::c#1 ] ( main:11::debug_print_init:17 [ debug_print_init::i#2 debug_print_init::c#1 ] ) always clobbers reg byte a reg byte x +Statement [249] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 [ debug_print_init::c#1 debug_print_init::i#1 ] ( main:11::debug_print_init:17 [ debug_print_init::c#1 debug_print_init::i#1 ] ) always clobbers reg byte a +Statement [253] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y +Statement [255] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y +Statement [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [262] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [264] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:11::sprites_init:14 [ ] ) always clobbers reg byte a +Statement [266] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a +Statement [267] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a Statement [15] *((const word*) psp1#0) ← ((word))(const byte*) mulf_sqr1#0 [ ] ( main:11 [ ] ) always clobbers reg byte a Statement [16] *((const word*) psp2#0) ← ((word))(const byte*) mulf_sqr2#0 [ ] ( main:11 [ ] ) always clobbers reg byte a Statement [23] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) $ff) goto anim::@2 [ sx#10 sy#10 ] ( main:11::anim:19 [ sx#10 sy#10 ] ) always clobbers reg byte a @@ -6842,44 +6717,34 @@ Statement [219] (byte*) print_sbyte_at::at#1 ← (const byte*) debug_print_init: Statement [220] (signed byte) print_sbyte_at::b#2 ← *((const signed byte[8]) ys#0 + (byte) debug_print_init::i#2) [ print_sbyte_at::b#2 print_sbyte_at::at#1 debug_print_init::c#2 debug_print_init::i#2 ] ( main:11::debug_print_init:17 [ print_sbyte_at::b#2 print_sbyte_at::at#1 debug_print_init::c#2 debug_print_init::i#2 ] ) always clobbers reg byte y Statement [222] (byte*) print_sbyte_at::at#2 ← (const byte*) debug_print_init::at_line#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 [ print_sbyte_at::at#2 debug_print_init::c#2 debug_print_init::i#2 ] ( main:11::debug_print_init:17 [ print_sbyte_at::at#2 debug_print_init::c#2 debug_print_init::i#2 ] ) always clobbers reg byte a Statement [223] (signed byte) print_sbyte_at::b#3 ← *((const signed byte[8]) zs#0 + (byte) debug_print_init::i#2) [ print_sbyte_at::b#3 print_sbyte_at::at#2 debug_print_init::c#2 debug_print_init::i#2 ] ( main:11::debug_print_init:17 [ print_sbyte_at::b#3 print_sbyte_at::at#2 debug_print_init::c#2 debug_print_init::i#2 ] ) always clobbers reg byte y -Statement [226] (byte) debug_print_init::col#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::i#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte x +Statement [226] (byte) debug_print_init::col#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::i#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a Statement [227] (byte*~) debug_print_init::$59 ← (const byte*) debug_print_init::at_cols#0 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] ) always clobbers reg byte a -Statement [228] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$60 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$60 ] ) always clobbers reg byte a -Statement [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [230] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ) always clobbers reg byte a -Statement [231] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$64 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$64 ] ) always clobbers reg byte a -Statement [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [233] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ) always clobbers reg byte a -Statement [234] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$68 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$68 ] ) always clobbers reg byte a -Statement [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [236] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ) always clobbers reg byte a -Statement [237] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$72 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$72 ] ) always clobbers reg byte a -Statement [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [239] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ) always clobbers reg byte a -Statement [240] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$76 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$76 ] ) always clobbers reg byte a -Statement [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [242] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ) always clobbers reg byte a -Statement [243] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$80 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$80 ] ) always clobbers reg byte a -Statement [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [245] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ) always clobbers reg byte a -Statement [246] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$84 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$84 ] ) always clobbers reg byte a -Statement [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [248] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ) always clobbers reg byte a -Statement [249] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$88 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$88 ] ) always clobbers reg byte a -Statement [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a reg byte y -Statement [251] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ) always clobbers reg byte a -Statement [252] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$92 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$92 ] ) always clobbers reg byte a -Statement [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ) always clobbers reg byte a reg byte y -Statement [255] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#1 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#1 ] ) always clobbers reg byte a -Statement [256] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ debug_print_init::i#2 debug_print_init::c#1 ] ( main:11::debug_print_init:17 [ debug_print_init::i#2 debug_print_init::c#1 ] ) always clobbers reg byte a reg byte x -Statement [258] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 [ debug_print_init::c#1 debug_print_init::i#1 ] ( main:11::debug_print_init:17 [ debug_print_init::c#1 debug_print_init::i#1 ] ) always clobbers reg byte a -Statement [262] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y -Statement [264] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y -Statement [269] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [271] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#1 ] ) always clobbers reg byte a -Statement [273] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:11::sprites_init:14 [ ] ) always clobbers reg byte a -Statement [275] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a -Statement [276] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a +Statement [228] *((byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [229] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$63 ] ) always clobbers reg byte a +Statement [230] *((byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [231] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$67 ] ) always clobbers reg byte a +Statement [232] *((byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [233] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$71 ] ) always clobbers reg byte a +Statement [234] *((byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [235] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$75 ] ) always clobbers reg byte a +Statement [236] *((byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [237] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$79 ] ) always clobbers reg byte a +Statement [238] *((byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [239] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$83 ] ) always clobbers reg byte a +Statement [240] *((byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [241] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$87 ] ) always clobbers reg byte a +Statement [242] *((byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ) always clobbers reg byte a +Statement [243] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$91 ] ) always clobbers reg byte a +Statement [244] *((byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ( main:11::debug_print_init:17 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ) always clobbers reg byte a +Statement [247] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ debug_print_init::i#2 debug_print_init::c#1 ] ( main:11::debug_print_init:17 [ debug_print_init::i#2 debug_print_init::c#1 ] ) always clobbers reg byte a reg byte x +Statement [249] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 [ debug_print_init::c#1 debug_print_init::i#1 ] ( main:11::debug_print_init:17 [ debug_print_init::c#1 debug_print_init::i#1 ] ) always clobbers reg byte a +Statement [253] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y +Statement [255] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) [ print_str_at::str#13 print_str_at::at#13 ] ( main:11::debug_print_init:17::print_str_at:192 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:194 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:196 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:198 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:200 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:202 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:204 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:206 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:208 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:210 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:212 [ print_str_at::str#13 print_str_at::at#13 ] main:11::debug_print_init:17::print_str_at:214 [ print_str_at::str#13 print_str_at::at#13 ] ) always clobbers reg byte a reg byte y +Statement [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [262] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:11::debug_print_init:17::print_cls:190 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [264] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:11::sprites_init:14 [ ] ) always clobbers reg byte a +Statement [266] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a +Statement [267] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:11::sprites_init:14 [ sprites_init::i#2 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ sx#10 sx#3 ] : zp ZP_BYTE:2 , Potential registers zp ZP_BYTE:3 [ sy#10 sy#3 ] : zp ZP_BYTE:3 , Potential registers zp ZP_BYTE:4 [ anim::i#2 anim::i#1 ] : zp ZP_BYTE:4 , @@ -6889,9 +6754,9 @@ Potential registers zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 p Potential registers zp ZP_BYTE:9 [ print_sbyte_at::b#24 print_sbyte_at::b#0 print_sbyte_at::b#22 print_sbyte_at::b#16 print_sbyte_at::b#17 print_sbyte_at::b#18 print_sbyte_at::b#19 print_sbyte_at::b#20 print_sbyte_at::b#21 print_sbyte_at::b#4 print_sbyte_at::b#13 print_sbyte_at::b#14 print_sbyte_at::b#15 print_sbyte_at::b#5 print_sbyte_at::b#7 print_sbyte_at::b#8 print_sbyte_at::b#9 print_sbyte_at::b#10 print_sbyte_at::b#11 print_sbyte_at::b#12 print_sbyte_at::b#1 print_sbyte_at::b#2 print_sbyte_at::b#3 ] : zp ZP_BYTE:9 , reg byte x , Potential registers zp ZP_BYTE:10 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] : zp ZP_BYTE:10 , reg byte x , reg byte y , Potential registers zp ZP_WORD:11 [ print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 ] : zp ZP_WORD:11 , -Potential registers zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] : zp ZP_BYTE:13 , +Potential registers zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] : zp ZP_BYTE:13 , reg byte x , Potential registers zp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] : zp ZP_BYTE:14 , -Potential registers zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] : zp ZP_BYTE:15 , +Potential registers zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] : zp ZP_BYTE:15 , reg byte x , reg byte y , Potential registers zp ZP_WORD:16 [ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] : zp ZP_WORD:16 , Potential registers zp ZP_WORD:18 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] : zp ZP_WORD:18 , Potential registers zp ZP_WORD:20 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:20 , @@ -6953,29 +6818,20 @@ Potential registers zp ZP_BYTE:77 [ calculate_matrix::$31 ] : zp ZP_BYTE:77 , re Potential registers zp ZP_BYTE:78 [ calculate_matrix::$32 ] : zp ZP_BYTE:78 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_BYTE:79 [ calculate_matrix::$33 ] : zp ZP_BYTE:79 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_BYTE:80 [ calculate_matrix::$34 ] : zp ZP_BYTE:80 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:81 [ debug_print_init::col#0 ] : zp ZP_BYTE:81 , reg byte x , +Potential registers zp ZP_BYTE:81 [ debug_print_init::col#0 ] : zp ZP_BYTE:81 , reg byte x , reg byte y , Potential registers zp ZP_WORD:82 [ debug_print_init::$59 ] : zp ZP_WORD:82 , -Potential registers zp ZP_WORD:84 [ debug_print_init::$60 ] : zp ZP_WORD:84 , -Potential registers zp ZP_WORD:86 [ debug_print_init::$63 ] : zp ZP_WORD:86 , -Potential registers zp ZP_WORD:88 [ debug_print_init::$64 ] : zp ZP_WORD:88 , -Potential registers zp ZP_WORD:90 [ debug_print_init::$67 ] : zp ZP_WORD:90 , -Potential registers zp ZP_WORD:92 [ debug_print_init::$68 ] : zp ZP_WORD:92 , -Potential registers zp ZP_WORD:94 [ debug_print_init::$71 ] : zp ZP_WORD:94 , -Potential registers zp ZP_WORD:96 [ debug_print_init::$72 ] : zp ZP_WORD:96 , -Potential registers zp ZP_WORD:98 [ debug_print_init::$75 ] : zp ZP_WORD:98 , -Potential registers zp ZP_WORD:100 [ debug_print_init::$76 ] : zp ZP_WORD:100 , -Potential registers zp ZP_WORD:102 [ debug_print_init::$79 ] : zp ZP_WORD:102 , -Potential registers zp ZP_WORD:104 [ debug_print_init::$80 ] : zp ZP_WORD:104 , -Potential registers zp ZP_WORD:106 [ debug_print_init::$83 ] : zp ZP_WORD:106 , -Potential registers zp ZP_WORD:108 [ debug_print_init::$84 ] : zp ZP_WORD:108 , -Potential registers zp ZP_WORD:110 [ debug_print_init::$87 ] : zp ZP_WORD:110 , -Potential registers zp ZP_WORD:112 [ debug_print_init::$88 ] : zp ZP_WORD:112 , -Potential registers zp ZP_WORD:114 [ debug_print_init::$91 ] : zp ZP_WORD:114 , -Potential registers zp ZP_WORD:116 [ debug_print_init::$92 ] : zp ZP_WORD:116 , +Potential registers zp ZP_WORD:84 [ debug_print_init::$63 ] : zp ZP_WORD:84 , +Potential registers zp ZP_WORD:86 [ debug_print_init::$67 ] : zp ZP_WORD:86 , +Potential registers zp ZP_WORD:88 [ debug_print_init::$71 ] : zp ZP_WORD:88 , +Potential registers zp ZP_WORD:90 [ debug_print_init::$75 ] : zp ZP_WORD:90 , +Potential registers zp ZP_WORD:92 [ debug_print_init::$79 ] : zp ZP_WORD:92 , +Potential registers zp ZP_WORD:94 [ debug_print_init::$83 ] : zp ZP_WORD:94 , +Potential registers zp ZP_WORD:96 [ debug_print_init::$87 ] : zp ZP_WORD:96 , +Potential registers zp ZP_WORD:98 [ debug_print_init::$91 ] : zp ZP_WORD:98 , REGISTER UPLIFT SCOPES -Uplift Scope [debug_print_init] 202: zp ZP_WORD:82 [ debug_print_init::$59 ] 202: zp ZP_WORD:84 [ debug_print_init::$60 ] 202: zp ZP_WORD:86 [ debug_print_init::$63 ] 202: zp ZP_WORD:88 [ debug_print_init::$64 ] 202: zp ZP_WORD:90 [ debug_print_init::$67 ] 202: zp ZP_WORD:92 [ debug_print_init::$68 ] 202: zp ZP_WORD:94 [ debug_print_init::$71 ] 202: zp ZP_WORD:96 [ debug_print_init::$72 ] 202: zp ZP_WORD:98 [ debug_print_init::$75 ] 202: zp ZP_WORD:100 [ debug_print_init::$76 ] 202: zp ZP_WORD:102 [ debug_print_init::$79 ] 202: zp ZP_WORD:104 [ debug_print_init::$80 ] 202: zp ZP_WORD:106 [ debug_print_init::$83 ] 202: zp ZP_WORD:108 [ debug_print_init::$84 ] 202: zp ZP_WORD:110 [ debug_print_init::$87 ] 202: zp ZP_WORD:112 [ debug_print_init::$88 ] 202: zp ZP_WORD:114 [ debug_print_init::$91 ] 202: zp ZP_WORD:116 [ debug_print_init::$92 ] 189.81: zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] 37.41: zp ZP_BYTE:81 [ debug_print_init::col#0 ] 30.85: zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] 20.21: zp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] Uplift Scope [print_sbyte_at] 1,437.83: zp ZP_BYTE:9 [ print_sbyte_at::b#24 print_sbyte_at::b#0 print_sbyte_at::b#22 print_sbyte_at::b#16 print_sbyte_at::b#17 print_sbyte_at::b#18 print_sbyte_at::b#19 print_sbyte_at::b#20 print_sbyte_at::b#21 print_sbyte_at::b#4 print_sbyte_at::b#13 print_sbyte_at::b#14 print_sbyte_at::b#15 print_sbyte_at::b#5 print_sbyte_at::b#7 print_sbyte_at::b#8 print_sbyte_at::b#9 print_sbyte_at::b#10 print_sbyte_at::b#11 print_sbyte_at::b#12 print_sbyte_at::b#1 print_sbyte_at::b#2 print_sbyte_at::b#3 ] 719.62: zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 ] +Uplift Scope [debug_print_init] 207.05: zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] 202: zp ZP_WORD:82 [ debug_print_init::$59 ] 202: zp ZP_WORD:84 [ debug_print_init::$63 ] 202: zp ZP_WORD:86 [ debug_print_init::$67 ] 202: zp ZP_WORD:88 [ debug_print_init::$71 ] 202: zp ZP_WORD:90 [ debug_print_init::$75 ] 202: zp ZP_WORD:92 [ debug_print_init::$79 ] 202: zp ZP_WORD:94 [ debug_print_init::$83 ] 202: zp ZP_WORD:96 [ debug_print_init::$87 ] 202: zp ZP_WORD:98 [ debug_print_init::$91 ] 56.11: zp ZP_BYTE:81 [ debug_print_init::col#0 ] 37.46: zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] 21.23: zp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] Uplift Scope [anim] 222.79: zp ZP_BYTE:4 [ anim::i#2 anim::i#1 ] 202: zp ZP_BYTE:29 [ anim::$8 ] 202: zp ZP_BYTE:30 [ anim::$10 ] 75.75: zp ZP_BYTE:28 [ anim::i2#0 ] Uplift Scope [debug_print] 191.9: zp ZP_BYTE:6 [ debug_print::i#2 debug_print::i#1 ] 109.86: zp ZP_BYTE:5 [ debug_print::c#2 debug_print::c#1 ] 4: zp ZP_BYTE:31 [ debug_print::print_sbyte_pos1_sb#0 ] 4: zp ZP_BYTE:32 [ debug_print::print_sbyte_pos2_sb#0 ] 4: zp ZP_BYTE:33 [ debug_print::print_sbyte_pos4_sb#0 ] 4: zp ZP_BYTE:34 [ debug_print::print_sbyte_pos5_sb#0 ] 4: zp ZP_BYTE:35 [ debug_print::print_sbyte_pos6_sb#0 ] 4: zp ZP_BYTE:36 [ debug_print::print_sbyte_pos7_sb#0 ] 4: zp ZP_BYTE:37 [ debug_print::print_sbyte_pos8_sb#0 ] 4: zp ZP_BYTE:38 [ debug_print::print_sbyte_pos9_sb#0 ] 4: zp ZP_BYTE:39 [ debug_print::print_sbyte_pos10_sb#0 ] 4: zp ZP_BYTE:40 [ debug_print::print_sbyte_pos11_sb#0 ] 4: zp ZP_BYTE:41 [ debug_print::print_sbyte_pos12_sb#0 ] Uplift Scope [calculate_matrix] 4: zp ZP_BYTE:56 [ calculate_matrix::$10 ] 4: zp ZP_BYTE:57 [ calculate_matrix::$11 ] 4: zp ZP_BYTE:58 [ calculate_matrix::$12 ] 4: zp ZP_BYTE:59 [ calculate_matrix::$13 ] 4: zp ZP_BYTE:60 [ calculate_matrix::$14 ] 4: zp ZP_BYTE:61 [ calculate_matrix::$15 ] 4: zp ZP_BYTE:62 [ calculate_matrix::$16 ] 4: zp ZP_BYTE:63 [ calculate_matrix::$17 ] 4: zp ZP_BYTE:64 [ calculate_matrix::$18 ] 4: zp ZP_BYTE:65 [ calculate_matrix::$19 ] 4: zp ZP_BYTE:66 [ calculate_matrix::$20 ] 4: zp ZP_BYTE:67 [ calculate_matrix::$21 ] 4: zp ZP_BYTE:68 [ calculate_matrix::$22 ] 4: zp ZP_BYTE:69 [ calculate_matrix::$23 ] 4: zp ZP_BYTE:70 [ calculate_matrix::$24 ] 4: zp ZP_BYTE:71 [ calculate_matrix::$25 ] 4: zp ZP_BYTE:72 [ calculate_matrix::$26 ] 4: zp ZP_BYTE:73 [ calculate_matrix::$27 ] 4: zp ZP_BYTE:74 [ calculate_matrix::$28 ] 4: zp ZP_BYTE:75 [ calculate_matrix::$29 ] 4: zp ZP_BYTE:76 [ calculate_matrix::$30 ] 4: zp ZP_BYTE:77 [ calculate_matrix::$31 ] 4: zp ZP_BYTE:78 [ calculate_matrix::$32 ] 4: zp ZP_BYTE:79 [ calculate_matrix::$33 ] 4: zp ZP_BYTE:80 [ calculate_matrix::$34 ] 2.45: zp ZP_BYTE:23 [ calculate_matrix::sx#0 ] 1.53: zp ZP_BYTE:24 [ calculate_matrix::sy#0 ] 0.91: zp ZP_BYTE:47 [ calculate_matrix::t2#0 ] 0.83: zp ZP_BYTE:46 [ calculate_matrix::t1#0 ] 0.31: zp ZP_BYTE:51 [ calculate_matrix::t6#0 ] 0.3: zp ZP_BYTE:49 [ calculate_matrix::t4#0 ] 0.3: zp ZP_BYTE:52 [ calculate_matrix::t7#0 ] 0.3: zp ZP_BYTE:53 [ calculate_matrix::t8#0 ] 0.29: zp ZP_BYTE:48 [ calculate_matrix::t3#0 ] 0.29: zp ZP_BYTE:50 [ calculate_matrix::t5#0 ] 0.18: zp ZP_BYTE:55 [ calculate_matrix::t10#0 ] 0.18: zp ZP_BYTE:54 [ calculate_matrix::t9#0 ] @@ -6989,166 +6845,154 @@ Uplift Scope [print_byte_at] 4: zp ZP_BYTE:44 [ print_byte_at::$0 ] 2: zp ZP_BYT Uplift Scope [main] Uplift Scope [store_matrix] -Uplifting [debug_print_init] best 96666 combination zp ZP_WORD:82 [ debug_print_init::$59 ] zp ZP_WORD:84 [ debug_print_init::$60 ] zp ZP_WORD:86 [ debug_print_init::$63 ] zp ZP_WORD:88 [ debug_print_init::$64 ] zp ZP_WORD:90 [ debug_print_init::$67 ] zp ZP_WORD:92 [ debug_print_init::$68 ] zp ZP_WORD:94 [ debug_print_init::$71 ] zp ZP_WORD:96 [ debug_print_init::$72 ] zp ZP_WORD:98 [ debug_print_init::$75 ] zp ZP_WORD:100 [ debug_print_init::$76 ] zp ZP_WORD:102 [ debug_print_init::$79 ] zp ZP_WORD:104 [ debug_print_init::$80 ] zp ZP_WORD:106 [ debug_print_init::$83 ] zp ZP_WORD:108 [ debug_print_init::$84 ] zp ZP_WORD:110 [ debug_print_init::$87 ] zp ZP_WORD:112 [ debug_print_init::$88 ] zp ZP_WORD:114 [ debug_print_init::$91 ] zp ZP_WORD:116 [ debug_print_init::$92 ] zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] reg byte x [ debug_print_init::col#0 ] zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] zp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] -Uplifting [print_sbyte_at] best 94733 combination reg byte x [ print_sbyte_at::b#24 print_sbyte_at::b#0 print_sbyte_at::b#22 print_sbyte_at::b#16 print_sbyte_at::b#17 print_sbyte_at::b#18 print_sbyte_at::b#19 print_sbyte_at::b#20 print_sbyte_at::b#21 print_sbyte_at::b#4 print_sbyte_at::b#13 print_sbyte_at::b#14 print_sbyte_at::b#15 print_sbyte_at::b#5 print_sbyte_at::b#7 print_sbyte_at::b#8 print_sbyte_at::b#9 print_sbyte_at::b#10 print_sbyte_at::b#11 print_sbyte_at::b#12 print_sbyte_at::b#1 print_sbyte_at::b#2 print_sbyte_at::b#3 ] zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 ] -Uplifting [anim] best 92833 combination zp ZP_BYTE:4 [ anim::i#2 anim::i#1 ] reg byte a [ anim::$8 ] reg byte a [ anim::$10 ] reg byte x [ anim::i2#0 ] -Uplifting [debug_print] best 92815 combination zp ZP_BYTE:6 [ debug_print::i#2 debug_print::i#1 ] zp ZP_BYTE:5 [ debug_print::c#2 debug_print::c#1 ] reg byte x [ debug_print::print_sbyte_pos1_sb#0 ] reg byte x [ debug_print::print_sbyte_pos2_sb#0 ] reg byte x [ debug_print::print_sbyte_pos4_sb#0 ] zp ZP_BYTE:34 [ debug_print::print_sbyte_pos5_sb#0 ] zp ZP_BYTE:35 [ debug_print::print_sbyte_pos6_sb#0 ] zp ZP_BYTE:36 [ debug_print::print_sbyte_pos7_sb#0 ] zp ZP_BYTE:37 [ debug_print::print_sbyte_pos8_sb#0 ] zp ZP_BYTE:38 [ debug_print::print_sbyte_pos9_sb#0 ] zp ZP_BYTE:39 [ debug_print::print_sbyte_pos10_sb#0 ] zp ZP_BYTE:40 [ debug_print::print_sbyte_pos11_sb#0 ] zp ZP_BYTE:41 [ debug_print::print_sbyte_pos12_sb#0 ] +Uplifting [print_sbyte_at] best 79733 combination reg byte x [ print_sbyte_at::b#24 print_sbyte_at::b#0 print_sbyte_at::b#22 print_sbyte_at::b#16 print_sbyte_at::b#17 print_sbyte_at::b#18 print_sbyte_at::b#19 print_sbyte_at::b#20 print_sbyte_at::b#21 print_sbyte_at::b#4 print_sbyte_at::b#13 print_sbyte_at::b#14 print_sbyte_at::b#15 print_sbyte_at::b#5 print_sbyte_at::b#7 print_sbyte_at::b#8 print_sbyte_at::b#9 print_sbyte_at::b#10 print_sbyte_at::b#11 print_sbyte_at::b#12 print_sbyte_at::b#1 print_sbyte_at::b#2 print_sbyte_at::b#3 ] zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 ] +Uplifting [debug_print_init] best 74933 combination reg byte y [ debug_print_init::j#2 debug_print_init::j#1 ] zp ZP_WORD:82 [ debug_print_init::$59 ] zp ZP_WORD:84 [ debug_print_init::$63 ] zp ZP_WORD:86 [ debug_print_init::$67 ] zp ZP_WORD:88 [ debug_print_init::$71 ] zp ZP_WORD:90 [ debug_print_init::$75 ] zp ZP_WORD:92 [ debug_print_init::$79 ] zp ZP_WORD:94 [ debug_print_init::$83 ] zp ZP_WORD:96 [ debug_print_init::$87 ] zp ZP_WORD:98 [ debug_print_init::$91 ] reg byte x [ debug_print_init::col#0 ] zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] zp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] +Uplifting [anim] best 73033 combination zp ZP_BYTE:4 [ anim::i#2 anim::i#1 ] reg byte a [ anim::$8 ] reg byte a [ anim::$10 ] reg byte x [ anim::i2#0 ] +Uplifting [debug_print] best 73015 combination zp ZP_BYTE:6 [ debug_print::i#2 debug_print::i#1 ] zp ZP_BYTE:5 [ debug_print::c#2 debug_print::c#1 ] reg byte x [ debug_print::print_sbyte_pos1_sb#0 ] reg byte x [ debug_print::print_sbyte_pos2_sb#0 ] reg byte x [ debug_print::print_sbyte_pos4_sb#0 ] zp ZP_BYTE:34 [ debug_print::print_sbyte_pos5_sb#0 ] zp ZP_BYTE:35 [ debug_print::print_sbyte_pos6_sb#0 ] zp ZP_BYTE:36 [ debug_print::print_sbyte_pos7_sb#0 ] zp ZP_BYTE:37 [ debug_print::print_sbyte_pos8_sb#0 ] zp ZP_BYTE:38 [ debug_print::print_sbyte_pos9_sb#0 ] zp ZP_BYTE:39 [ debug_print::print_sbyte_pos10_sb#0 ] zp ZP_BYTE:40 [ debug_print::print_sbyte_pos11_sb#0 ] zp ZP_BYTE:41 [ debug_print::print_sbyte_pos12_sb#0 ] Limited combination testing to 100 combinations of 8388608 possible. -Uplifting [rotate_matrix] best 92514 combination reg byte x [ rotate_matrix::x#0 ] zp ZP_BYTE:26 [ rotate_matrix::y#0 ] zp ZP_BYTE:27 [ rotate_matrix::z#0 ] -Uplifting [print_str_at] best 92514 combination zp ZP_WORD:16 [ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] zp ZP_WORD:18 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] -Uplifting [print_char_at] best 92514 combination zp ZP_WORD:11 [ print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 ] zp ZP_BYTE:10 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] -Uplifting [] best 92514 combination zp ZP_BYTE:3 [ sy#10 sy#3 ] zp ZP_BYTE:2 [ sx#10 sx#3 ] -Uplifting [print_cls] best 92514 combination zp ZP_WORD:20 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [sprites_init] best 92364 combination reg byte x [ sprites_init::i#2 sprites_init::i#1 ] -Uplifting [print_byte_at] best 92356 combination reg byte a [ print_byte_at::$0 ] reg byte x [ print_byte_at::$2 ] zp ZP_WORD:42 [ print_byte_at::at#0 ] -Uplifting [main] best 92356 combination -Uplifting [store_matrix] best 92356 combination +Uplifting [rotate_matrix] best 72714 combination reg byte x [ rotate_matrix::x#0 ] zp ZP_BYTE:26 [ rotate_matrix::y#0 ] zp ZP_BYTE:27 [ rotate_matrix::z#0 ] +Uplifting [print_str_at] best 72714 combination zp ZP_WORD:16 [ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] zp ZP_WORD:18 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] +Uplifting [print_char_at] best 72714 combination zp ZP_WORD:11 [ print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 ] zp ZP_BYTE:10 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] +Uplifting [] best 72714 combination zp ZP_BYTE:3 [ sy#10 sy#3 ] zp ZP_BYTE:2 [ sx#10 sx#3 ] +Uplifting [print_cls] best 72714 combination zp ZP_WORD:20 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [sprites_init] best 72564 combination reg byte x [ sprites_init::i#2 sprites_init::i#1 ] +Uplifting [print_byte_at] best 72556 combination reg byte a [ print_byte_at::$0 ] reg byte x [ print_byte_at::$2 ] zp ZP_WORD:42 [ print_byte_at::at#0 ] +Uplifting [main] best 72556 combination +Uplifting [store_matrix] best 72556 combination Attempting to uplift remaining variables inzp ZP_BYTE:4 [ anim::i#2 anim::i#1 ] -Uplifting [anim] best 92356 combination zp ZP_BYTE:4 [ anim::i#2 anim::i#1 ] +Uplifting [anim] best 72556 combination zp ZP_BYTE:4 [ anim::i#2 anim::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:6 [ debug_print::i#2 debug_print::i#1 ] -Uplifting [debug_print] best 92356 combination zp ZP_BYTE:6 [ debug_print::i#2 debug_print::i#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] -Uplifting [debug_print_init] best 92356 combination zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] +Uplifting [debug_print] best 72556 combination zp ZP_BYTE:6 [ debug_print::i#2 debug_print::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ debug_print::c#2 debug_print::c#1 ] -Uplifting [debug_print] best 92356 combination zp ZP_BYTE:5 [ debug_print::c#2 debug_print::c#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:26 [ rotate_matrix::y#0 ] -Uplifting [rotate_matrix] best 92356 combination zp ZP_BYTE:26 [ rotate_matrix::y#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:27 [ rotate_matrix::z#0 ] -Uplifting [rotate_matrix] best 92356 combination zp ZP_BYTE:27 [ rotate_matrix::z#0 ] +Uplifting [debug_print] best 72556 combination zp ZP_BYTE:5 [ debug_print::c#2 debug_print::c#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] -Uplifting [debug_print_init] best 92356 combination zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] +Uplifting [debug_print_init] best 72556 combination zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:26 [ rotate_matrix::y#0 ] +Uplifting [rotate_matrix] best 72556 combination zp ZP_BYTE:26 [ rotate_matrix::y#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:27 [ rotate_matrix::z#0 ] +Uplifting [rotate_matrix] best 72556 combination zp ZP_BYTE:27 [ rotate_matrix::z#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ sy#10 sy#3 ] -Uplifting [] best 92356 combination zp ZP_BYTE:3 [ sy#10 sy#3 ] +Uplifting [] best 72556 combination zp ZP_BYTE:3 [ sy#10 sy#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] -Uplifting [debug_print_init] best 92356 combination zp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] +Uplifting [debug_print_init] best 72556 combination zp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:10 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] -Uplifting [print_char_at] best 92356 combination zp ZP_BYTE:10 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] +Uplifting [print_char_at] best 72556 combination zp ZP_BYTE:10 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ sx#10 sx#3 ] -Uplifting [] best 92356 combination zp ZP_BYTE:2 [ sx#10 sx#3 ] +Uplifting [] best 72556 combination zp ZP_BYTE:2 [ sx#10 sx#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:34 [ debug_print::print_sbyte_pos5_sb#0 ] -Uplifting [debug_print] best 92350 combination reg byte x [ debug_print::print_sbyte_pos5_sb#0 ] +Uplifting [debug_print] best 72550 combination reg byte x [ debug_print::print_sbyte_pos5_sb#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:35 [ debug_print::print_sbyte_pos6_sb#0 ] -Uplifting [debug_print] best 92344 combination reg byte x [ debug_print::print_sbyte_pos6_sb#0 ] +Uplifting [debug_print] best 72544 combination reg byte x [ debug_print::print_sbyte_pos6_sb#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:36 [ debug_print::print_sbyte_pos7_sb#0 ] -Uplifting [debug_print] best 92338 combination reg byte x [ debug_print::print_sbyte_pos7_sb#0 ] +Uplifting [debug_print] best 72538 combination reg byte x [ debug_print::print_sbyte_pos7_sb#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:37 [ debug_print::print_sbyte_pos8_sb#0 ] -Uplifting [debug_print] best 92332 combination reg byte x [ debug_print::print_sbyte_pos8_sb#0 ] +Uplifting [debug_print] best 72532 combination reg byte x [ debug_print::print_sbyte_pos8_sb#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:38 [ debug_print::print_sbyte_pos9_sb#0 ] -Uplifting [debug_print] best 92326 combination reg byte x [ debug_print::print_sbyte_pos9_sb#0 ] +Uplifting [debug_print] best 72526 combination reg byte x [ debug_print::print_sbyte_pos9_sb#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:39 [ debug_print::print_sbyte_pos10_sb#0 ] -Uplifting [debug_print] best 92320 combination reg byte x [ debug_print::print_sbyte_pos10_sb#0 ] +Uplifting [debug_print] best 72520 combination reg byte x [ debug_print::print_sbyte_pos10_sb#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:40 [ debug_print::print_sbyte_pos11_sb#0 ] -Uplifting [debug_print] best 92314 combination reg byte x [ debug_print::print_sbyte_pos11_sb#0 ] +Uplifting [debug_print] best 72514 combination reg byte x [ debug_print::print_sbyte_pos11_sb#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:41 [ debug_print::print_sbyte_pos12_sb#0 ] -Uplifting [debug_print] best 92308 combination reg byte x [ debug_print::print_sbyte_pos12_sb#0 ] +Uplifting [debug_print] best 72508 combination reg byte x [ debug_print::print_sbyte_pos12_sb#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:56 [ calculate_matrix::$10 ] -Uplifting [calculate_matrix] best 92302 combination reg byte a [ calculate_matrix::$10 ] +Uplifting [calculate_matrix] best 72502 combination reg byte a [ calculate_matrix::$10 ] Attempting to uplift remaining variables inzp ZP_BYTE:57 [ calculate_matrix::$11 ] -Uplifting [calculate_matrix] best 92296 combination reg byte a [ calculate_matrix::$11 ] +Uplifting [calculate_matrix] best 72496 combination reg byte a [ calculate_matrix::$11 ] Attempting to uplift remaining variables inzp ZP_BYTE:58 [ calculate_matrix::$12 ] -Uplifting [calculate_matrix] best 92290 combination reg byte a [ calculate_matrix::$12 ] +Uplifting [calculate_matrix] best 72490 combination reg byte a [ calculate_matrix::$12 ] Attempting to uplift remaining variables inzp ZP_BYTE:59 [ calculate_matrix::$13 ] -Uplifting [calculate_matrix] best 92284 combination reg byte a [ calculate_matrix::$13 ] +Uplifting [calculate_matrix] best 72484 combination reg byte a [ calculate_matrix::$13 ] Attempting to uplift remaining variables inzp ZP_BYTE:60 [ calculate_matrix::$14 ] -Uplifting [calculate_matrix] best 92278 combination reg byte a [ calculate_matrix::$14 ] +Uplifting [calculate_matrix] best 72478 combination reg byte a [ calculate_matrix::$14 ] Attempting to uplift remaining variables inzp ZP_BYTE:61 [ calculate_matrix::$15 ] -Uplifting [calculate_matrix] best 92272 combination reg byte a [ calculate_matrix::$15 ] +Uplifting [calculate_matrix] best 72472 combination reg byte a [ calculate_matrix::$15 ] Attempting to uplift remaining variables inzp ZP_BYTE:62 [ calculate_matrix::$16 ] -Uplifting [calculate_matrix] best 92266 combination reg byte a [ calculate_matrix::$16 ] +Uplifting [calculate_matrix] best 72466 combination reg byte a [ calculate_matrix::$16 ] Attempting to uplift remaining variables inzp ZP_BYTE:63 [ calculate_matrix::$17 ] -Uplifting [calculate_matrix] best 92260 combination reg byte a [ calculate_matrix::$17 ] +Uplifting [calculate_matrix] best 72460 combination reg byte a [ calculate_matrix::$17 ] Attempting to uplift remaining variables inzp ZP_BYTE:64 [ calculate_matrix::$18 ] -Uplifting [calculate_matrix] best 92254 combination reg byte a [ calculate_matrix::$18 ] +Uplifting [calculate_matrix] best 72454 combination reg byte a [ calculate_matrix::$18 ] Attempting to uplift remaining variables inzp ZP_BYTE:65 [ calculate_matrix::$19 ] -Uplifting [calculate_matrix] best 92248 combination reg byte a [ calculate_matrix::$19 ] +Uplifting [calculate_matrix] best 72448 combination reg byte a [ calculate_matrix::$19 ] Attempting to uplift remaining variables inzp ZP_BYTE:66 [ calculate_matrix::$20 ] -Uplifting [calculate_matrix] best 92242 combination reg byte a [ calculate_matrix::$20 ] +Uplifting [calculate_matrix] best 72442 combination reg byte a [ calculate_matrix::$20 ] Attempting to uplift remaining variables inzp ZP_BYTE:67 [ calculate_matrix::$21 ] -Uplifting [calculate_matrix] best 92236 combination reg byte a [ calculate_matrix::$21 ] +Uplifting [calculate_matrix] best 72436 combination reg byte a [ calculate_matrix::$21 ] Attempting to uplift remaining variables inzp ZP_BYTE:68 [ calculate_matrix::$22 ] -Uplifting [calculate_matrix] best 92230 combination reg byte a [ calculate_matrix::$22 ] +Uplifting [calculate_matrix] best 72430 combination reg byte a [ calculate_matrix::$22 ] Attempting to uplift remaining variables inzp ZP_BYTE:69 [ calculate_matrix::$23 ] -Uplifting [calculate_matrix] best 92224 combination reg byte a [ calculate_matrix::$23 ] +Uplifting [calculate_matrix] best 72424 combination reg byte a [ calculate_matrix::$23 ] Attempting to uplift remaining variables inzp ZP_BYTE:70 [ calculate_matrix::$24 ] -Uplifting [calculate_matrix] best 92218 combination reg byte a [ calculate_matrix::$24 ] +Uplifting [calculate_matrix] best 72418 combination reg byte a [ calculate_matrix::$24 ] Attempting to uplift remaining variables inzp ZP_BYTE:71 [ calculate_matrix::$25 ] -Uplifting [calculate_matrix] best 92212 combination reg byte a [ calculate_matrix::$25 ] +Uplifting [calculate_matrix] best 72412 combination reg byte a [ calculate_matrix::$25 ] Attempting to uplift remaining variables inzp ZP_BYTE:72 [ calculate_matrix::$26 ] -Uplifting [calculate_matrix] best 92206 combination reg byte a [ calculate_matrix::$26 ] +Uplifting [calculate_matrix] best 72406 combination reg byte a [ calculate_matrix::$26 ] Attempting to uplift remaining variables inzp ZP_BYTE:73 [ calculate_matrix::$27 ] -Uplifting [calculate_matrix] best 92200 combination reg byte a [ calculate_matrix::$27 ] +Uplifting [calculate_matrix] best 72400 combination reg byte a [ calculate_matrix::$27 ] Attempting to uplift remaining variables inzp ZP_BYTE:74 [ calculate_matrix::$28 ] -Uplifting [calculate_matrix] best 92194 combination reg byte a [ calculate_matrix::$28 ] +Uplifting [calculate_matrix] best 72394 combination reg byte a [ calculate_matrix::$28 ] Attempting to uplift remaining variables inzp ZP_BYTE:75 [ calculate_matrix::$29 ] -Uplifting [calculate_matrix] best 92188 combination reg byte a [ calculate_matrix::$29 ] +Uplifting [calculate_matrix] best 72388 combination reg byte a [ calculate_matrix::$29 ] Attempting to uplift remaining variables inzp ZP_BYTE:76 [ calculate_matrix::$30 ] -Uplifting [calculate_matrix] best 92182 combination reg byte a [ calculate_matrix::$30 ] +Uplifting [calculate_matrix] best 72382 combination reg byte a [ calculate_matrix::$30 ] Attempting to uplift remaining variables inzp ZP_BYTE:77 [ calculate_matrix::$31 ] -Uplifting [calculate_matrix] best 92176 combination reg byte a [ calculate_matrix::$31 ] +Uplifting [calculate_matrix] best 72376 combination reg byte a [ calculate_matrix::$31 ] Attempting to uplift remaining variables inzp ZP_BYTE:78 [ calculate_matrix::$32 ] -Uplifting [calculate_matrix] best 92170 combination reg byte a [ calculate_matrix::$32 ] +Uplifting [calculate_matrix] best 72370 combination reg byte a [ calculate_matrix::$32 ] Attempting to uplift remaining variables inzp ZP_BYTE:79 [ calculate_matrix::$33 ] -Uplifting [calculate_matrix] best 92164 combination reg byte a [ calculate_matrix::$33 ] +Uplifting [calculate_matrix] best 72364 combination reg byte a [ calculate_matrix::$33 ] Attempting to uplift remaining variables inzp ZP_BYTE:80 [ calculate_matrix::$34 ] -Uplifting [calculate_matrix] best 92158 combination reg byte a [ calculate_matrix::$34 ] +Uplifting [calculate_matrix] best 72358 combination reg byte a [ calculate_matrix::$34 ] Attempting to uplift remaining variables inzp ZP_BYTE:23 [ calculate_matrix::sx#0 ] -Uplifting [calculate_matrix] best 92124 combination reg byte y [ calculate_matrix::sx#0 ] +Uplifting [calculate_matrix] best 72324 combination reg byte y [ calculate_matrix::sx#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:24 [ calculate_matrix::sy#0 ] -Uplifting [calculate_matrix] best 92124 combination zp ZP_BYTE:24 [ calculate_matrix::sy#0 ] +Uplifting [calculate_matrix] best 72324 combination zp ZP_BYTE:24 [ calculate_matrix::sy#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:47 [ calculate_matrix::t2#0 ] -Uplifting [calculate_matrix] best 92119 combination reg byte x [ calculate_matrix::t2#0 ] +Uplifting [calculate_matrix] best 72319 combination reg byte x [ calculate_matrix::t2#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:46 [ calculate_matrix::t1#0 ] -Uplifting [calculate_matrix] best 92119 combination zp ZP_BYTE:46 [ calculate_matrix::t1#0 ] +Uplifting [calculate_matrix] best 72319 combination zp ZP_BYTE:46 [ calculate_matrix::t1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:51 [ calculate_matrix::t6#0 ] -Uplifting [calculate_matrix] best 92119 combination zp ZP_BYTE:51 [ calculate_matrix::t6#0 ] +Uplifting [calculate_matrix] best 72319 combination zp ZP_BYTE:51 [ calculate_matrix::t6#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:49 [ calculate_matrix::t4#0 ] -Uplifting [calculate_matrix] best 92119 combination zp ZP_BYTE:49 [ calculate_matrix::t4#0 ] +Uplifting [calculate_matrix] best 72319 combination zp ZP_BYTE:49 [ calculate_matrix::t4#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:52 [ calculate_matrix::t7#0 ] -Uplifting [calculate_matrix] best 92119 combination zp ZP_BYTE:52 [ calculate_matrix::t7#0 ] +Uplifting [calculate_matrix] best 72319 combination zp ZP_BYTE:52 [ calculate_matrix::t7#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:53 [ calculate_matrix::t8#0 ] -Uplifting [calculate_matrix] best 92119 combination zp ZP_BYTE:53 [ calculate_matrix::t8#0 ] +Uplifting [calculate_matrix] best 72319 combination zp ZP_BYTE:53 [ calculate_matrix::t8#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:48 [ calculate_matrix::t3#0 ] -Uplifting [calculate_matrix] best 92119 combination zp ZP_BYTE:48 [ calculate_matrix::t3#0 ] +Uplifting [calculate_matrix] best 72319 combination zp ZP_BYTE:48 [ calculate_matrix::t3#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:50 [ calculate_matrix::t5#0 ] -Uplifting [calculate_matrix] best 92119 combination zp ZP_BYTE:50 [ calculate_matrix::t5#0 ] +Uplifting [calculate_matrix] best 72319 combination zp ZP_BYTE:50 [ calculate_matrix::t5#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:55 [ calculate_matrix::t10#0 ] -Uplifting [calculate_matrix] best 92119 combination zp ZP_BYTE:55 [ calculate_matrix::t10#0 ] +Uplifting [calculate_matrix] best 72319 combination zp ZP_BYTE:55 [ calculate_matrix::t10#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:54 [ calculate_matrix::t9#0 ] -Uplifting [calculate_matrix] best 92119 combination zp ZP_BYTE:54 [ calculate_matrix::t9#0 ] +Uplifting [calculate_matrix] best 72319 combination zp ZP_BYTE:54 [ calculate_matrix::t9#0 ] Coalescing zero page register with common assignment [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 ] ] with [ zp ZP_WORD:11 [ print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 ] ] - score: 2 Coalescing zero page register with common assignment [ zp ZP_BYTE:3 [ sy#10 sy#3 ] ] with [ zp ZP_BYTE:24 [ calculate_matrix::sy#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 ] ] with [ zp ZP_WORD:42 [ print_byte_at::at#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:82 [ debug_print_init::$59 ] ] with [ zp ZP_WORD:84 [ debug_print_init::$60 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:86 [ debug_print_init::$63 ] ] with [ zp ZP_WORD:88 [ debug_print_init::$64 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:90 [ debug_print_init::$67 ] ] with [ zp ZP_WORD:92 [ debug_print_init::$68 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:94 [ debug_print_init::$71 ] ] with [ zp ZP_WORD:96 [ debug_print_init::$72 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:98 [ debug_print_init::$75 ] ] with [ zp ZP_WORD:100 [ debug_print_init::$76 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:102 [ debug_print_init::$79 ] ] with [ zp ZP_WORD:104 [ debug_print_init::$80 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:106 [ debug_print_init::$83 ] ] with [ zp ZP_WORD:108 [ debug_print_init::$84 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:110 [ debug_print_init::$87 ] ] with [ zp ZP_WORD:112 [ debug_print_init::$88 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:114 [ debug_print_init::$91 ] ] with [ zp ZP_WORD:116 [ debug_print_init::$92 ] ] - score: 1 Coalescing zero page register [ zp ZP_BYTE:2 [ sx#10 sx#3 ] ] with [ zp ZP_BYTE:13 [ debug_print_init::c#2 debug_print_init::c#1 ] ] Coalescing zero page register [ zp ZP_BYTE:3 [ sy#10 sy#3 calculate_matrix::sy#0 ] ] with [ zp ZP_BYTE:14 [ debug_print_init::i#2 debug_print_init::i#1 ] ] Coalescing zero page register [ zp ZP_BYTE:4 [ anim::i#2 anim::i#1 ] ] with [ zp ZP_BYTE:5 [ debug_print::c#2 debug_print::c#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:4 [ anim::i#2 anim::i#1 debug_print::c#2 debug_print::c#1 ] ] with [ zp ZP_BYTE:15 [ debug_print_init::j#2 debug_print_init::j#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:4 [ anim::i#2 anim::i#1 debug_print::c#2 debug_print::c#1 debug_print_init::j#2 debug_print_init::j#1 ] ] with [ zp ZP_BYTE:46 [ calculate_matrix::t1#0 ] ] +Coalescing zero page register [ zp ZP_BYTE:4 [ anim::i#2 anim::i#1 debug_print::c#2 debug_print::c#1 ] ] with [ zp ZP_BYTE:46 [ calculate_matrix::t1#0 ] ] Coalescing zero page register [ zp ZP_BYTE:6 [ debug_print::i#2 debug_print::i#1 ] ] with [ zp ZP_BYTE:26 [ rotate_matrix::y#0 ] ] Coalescing zero page register [ zp ZP_BYTE:6 [ debug_print::i#2 debug_print::i#1 rotate_matrix::y#0 ] ] with [ zp ZP_BYTE:48 [ calculate_matrix::t3#0 ] ] Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 ] ] with [ zp ZP_WORD:16 [ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] ] Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] ] with [ zp ZP_WORD:20 [ print_cls::sc#2 print_cls::sc#1 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:82 [ debug_print_init::$59 debug_print_init::$60 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 ] ] with [ zp ZP_WORD:86 [ debug_print_init::$63 debug_print_init::$64 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 ] ] with [ zp ZP_WORD:90 [ debug_print_init::$67 debug_print_init::$68 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 ] ] with [ zp ZP_WORD:94 [ debug_print_init::$71 debug_print_init::$72 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 debug_print_init::$71 debug_print_init::$72 ] ] with [ zp ZP_WORD:98 [ debug_print_init::$75 debug_print_init::$76 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 debug_print_init::$71 debug_print_init::$72 debug_print_init::$75 debug_print_init::$76 ] ] with [ zp ZP_WORD:102 [ debug_print_init::$79 debug_print_init::$80 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 debug_print_init::$71 debug_print_init::$72 debug_print_init::$75 debug_print_init::$76 debug_print_init::$79 debug_print_init::$80 ] ] with [ zp ZP_WORD:106 [ debug_print_init::$83 debug_print_init::$84 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 debug_print_init::$71 debug_print_init::$72 debug_print_init::$75 debug_print_init::$76 debug_print_init::$79 debug_print_init::$80 debug_print_init::$83 debug_print_init::$84 ] ] with [ zp ZP_WORD:110 [ debug_print_init::$87 debug_print_init::$88 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 debug_print_init::$71 debug_print_init::$72 debug_print_init::$75 debug_print_init::$76 debug_print_init::$79 debug_print_init::$80 debug_print_init::$83 debug_print_init::$84 debug_print_init::$87 debug_print_init::$88 ] ] with [ zp ZP_WORD:114 [ debug_print_init::$91 debug_print_init::$92 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:82 [ debug_print_init::$59 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 ] ] with [ zp ZP_WORD:84 [ debug_print_init::$63 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 ] ] with [ zp ZP_WORD:86 [ debug_print_init::$67 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 debug_print_init::$67 ] ] with [ zp ZP_WORD:88 [ debug_print_init::$71 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 debug_print_init::$67 debug_print_init::$71 ] ] with [ zp ZP_WORD:90 [ debug_print_init::$75 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 debug_print_init::$67 debug_print_init::$71 debug_print_init::$75 ] ] with [ zp ZP_WORD:92 [ debug_print_init::$79 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 debug_print_init::$67 debug_print_init::$71 debug_print_init::$75 debug_print_init::$79 ] ] with [ zp ZP_WORD:94 [ debug_print_init::$83 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 debug_print_init::$67 debug_print_init::$71 debug_print_init::$75 debug_print_init::$79 debug_print_init::$83 ] ] with [ zp ZP_WORD:96 [ debug_print_init::$87 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 debug_print_init::$67 debug_print_init::$71 debug_print_init::$75 debug_print_init::$79 debug_print_init::$83 debug_print_init::$87 ] ] with [ zp ZP_WORD:98 [ debug_print_init::$91 ] ] Coalescing zero page register [ zp ZP_BYTE:10 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] ] with [ zp ZP_BYTE:27 [ rotate_matrix::z#0 ] ] Coalescing zero page register [ zp ZP_BYTE:10 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 rotate_matrix::z#0 ] ] with [ zp ZP_BYTE:49 [ calculate_matrix::t4#0 ] ] Allocated (was zp ZP_BYTE:6) zp ZP_BYTE:5 [ debug_print::i#2 debug_print::i#1 rotate_matrix::y#0 calculate_matrix::t3#0 ] -Allocated (was zp ZP_WORD:7) zp ZP_WORD:6 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 debug_print_init::$71 debug_print_init::$72 debug_print_init::$75 debug_print_init::$76 debug_print_init::$79 debug_print_init::$80 debug_print_init::$83 debug_print_init::$84 debug_print_init::$87 debug_print_init::$88 debug_print_init::$91 debug_print_init::$92 ] +Allocated (was zp ZP_WORD:7) zp ZP_WORD:6 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 debug_print_init::$67 debug_print_init::$71 debug_print_init::$75 debug_print_init::$79 debug_print_init::$83 debug_print_init::$87 debug_print_init::$91 ] Allocated (was zp ZP_BYTE:10) zp ZP_BYTE:8 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 rotate_matrix::z#0 calculate_matrix::t4#0 ] Allocated (was zp ZP_WORD:18) zp ZP_WORD:9 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] Allocated (was zp ZP_BYTE:50) zp ZP_BYTE:11 [ calculate_matrix::t5#0 ] @@ -8340,28 +8184,18 @@ debug_print_init: { .label at_line = SCREEN+$10*$28 .label at_cols = COLS+$10*$28 .label _59 = 6 - .label _60 = 6 .label _63 = 6 - .label _64 = 6 .label _67 = 6 - .label _68 = 6 .label _71 = 6 - .label _72 = 6 .label _75 = 6 - .label _76 = 6 .label _79 = 6 - .label _80 = 6 .label _83 = 6 - .label _84 = 6 .label _87 = 6 - .label _88 = 6 .label _91 = 6 - .label _92 = 6 - .label j = 4 .label c = 2 .label i = 3 //SEG337 [190] call print_cls - //SEG338 [267] phi from debug_print_init to print_cls [phi:debug_print_init->print_cls] + //SEG338 [258] phi from debug_print_init to print_cls [phi:debug_print_init->print_cls] print_cls_from_debug_print_init: jsr print_cls //SEG339 [191] phi from debug_print_init to debug_print_init::@4 [phi:debug_print_init->debug_print_init::@4] @@ -8370,14 +8204,14 @@ debug_print_init: { //SEG340 debug_print_init::@4 b4: //SEG341 [192] call print_str_at - //SEG342 [260] phi from debug_print_init::@4 to print_str_at [phi:debug_print_init::@4->print_str_at] + //SEG342 [251] phi from debug_print_init::@4 to print_str_at [phi:debug_print_init::@4->print_str_at] print_str_at_from_b4: - //SEG343 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@4->print_str_at#0] -- pbuz1=pbuc1 + //SEG343 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@4->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$22 sta print_str_at.at+1 - //SEG344 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str [phi:debug_print_init::@4->print_str_at#1] -- pbuz1=pbuc1 + //SEG344 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str [phi:debug_print_init::@4->print_str_at#1] -- pbuz1=pbuc1 lda #str @@ -8389,14 +8223,14 @@ debug_print_init: { //SEG346 debug_print_init::@5 b5: //SEG347 [194] call print_str_at - //SEG348 [260] phi from debug_print_init::@5 to print_str_at [phi:debug_print_init::@5->print_str_at] + //SEG348 [251] phi from debug_print_init::@5 to print_str_at [phi:debug_print_init::@5->print_str_at] print_str_at_from_b5: - //SEG349 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@5->print_str_at#0] -- pbuz1=pbuc1 + //SEG349 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@5->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*1+$22 sta print_str_at.at+1 - //SEG350 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str1 [phi:debug_print_init::@5->print_str_at#1] -- pbuz1=pbuc1 + //SEG350 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str1 [phi:debug_print_init::@5->print_str_at#1] -- pbuz1=pbuc1 lda #str1 @@ -8408,14 +8242,14 @@ debug_print_init: { //SEG352 debug_print_init::@6 b6: //SEG353 [196] call print_str_at - //SEG354 [260] phi from debug_print_init::@6 to print_str_at [phi:debug_print_init::@6->print_str_at] + //SEG354 [251] phi from debug_print_init::@6 to print_str_at [phi:debug_print_init::@6->print_str_at] print_str_at_from_b6: - //SEG355 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@6->print_str_at#0] -- pbuz1=pbuc1 + //SEG355 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@6->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*2+$22 sta print_str_at.at+1 - //SEG356 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str2 [phi:debug_print_init::@6->print_str_at#1] -- pbuz1=pbuc1 + //SEG356 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str2 [phi:debug_print_init::@6->print_str_at#1] -- pbuz1=pbuc1 lda #str2 @@ -8427,14 +8261,14 @@ debug_print_init: { //SEG358 debug_print_init::@7 b7: //SEG359 [198] call print_str_at - //SEG360 [260] phi from debug_print_init::@7 to print_str_at [phi:debug_print_init::@7->print_str_at] + //SEG360 [251] phi from debug_print_init::@7 to print_str_at [phi:debug_print_init::@7->print_str_at] print_str_at_from_b7: - //SEG361 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 [phi:debug_print_init::@7->print_str_at#0] -- pbuz1=pbuc1 + //SEG361 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 [phi:debug_print_init::@7->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$10 sta print_str_at.at+1 - //SEG362 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str3 [phi:debug_print_init::@7->print_str_at#1] -- pbuz1=pbuc1 + //SEG362 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str3 [phi:debug_print_init::@7->print_str_at#1] -- pbuz1=pbuc1 lda #str3 @@ -8446,14 +8280,14 @@ debug_print_init: { //SEG364 debug_print_init::@8 b8: //SEG365 [200] call print_str_at - //SEG366 [260] phi from debug_print_init::@8 to print_str_at [phi:debug_print_init::@8->print_str_at] + //SEG366 [251] phi from debug_print_init::@8 to print_str_at [phi:debug_print_init::@8->print_str_at] print_str_at_from_b8: - //SEG367 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 [phi:debug_print_init::@8->print_str_at#0] -- pbuz1=pbuc1 + //SEG367 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 [phi:debug_print_init::@8->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$11 sta print_str_at.at+1 - //SEG368 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str4 [phi:debug_print_init::@8->print_str_at#1] -- pbuz1=pbuc1 + //SEG368 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str4 [phi:debug_print_init::@8->print_str_at#1] -- pbuz1=pbuc1 lda #str4 @@ -8465,14 +8299,14 @@ debug_print_init: { //SEG370 debug_print_init::@9 b9: //SEG371 [202] call print_str_at - //SEG372 [260] phi from debug_print_init::@9 to print_str_at [phi:debug_print_init::@9->print_str_at] + //SEG372 [251] phi from debug_print_init::@9 to print_str_at [phi:debug_print_init::@9->print_str_at] print_str_at_from_b9: - //SEG373 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 [phi:debug_print_init::@9->print_str_at#0] -- pbuz1=pbuc1 + //SEG373 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 [phi:debug_print_init::@9->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$12 sta print_str_at.at+1 - //SEG374 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str5 [phi:debug_print_init::@9->print_str_at#1] -- pbuz1=pbuc1 + //SEG374 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str5 [phi:debug_print_init::@9->print_str_at#1] -- pbuz1=pbuc1 lda #str5 @@ -8484,14 +8318,14 @@ debug_print_init: { //SEG376 debug_print_init::@10 b10: //SEG377 [204] call print_str_at - //SEG378 [260] phi from debug_print_init::@10 to print_str_at [phi:debug_print_init::@10->print_str_at] + //SEG378 [251] phi from debug_print_init::@10 to print_str_at [phi:debug_print_init::@10->print_str_at] print_str_at_from_b10: - //SEG379 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 [phi:debug_print_init::@10->print_str_at#0] -- pbuz1=pbuc1 + //SEG379 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 [phi:debug_print_init::@10->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$13 sta print_str_at.at+1 - //SEG380 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str6 [phi:debug_print_init::@10->print_str_at#1] -- pbuz1=pbuc1 + //SEG380 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str6 [phi:debug_print_init::@10->print_str_at#1] -- pbuz1=pbuc1 lda #str6 @@ -8503,14 +8337,14 @@ debug_print_init: { //SEG382 debug_print_init::@11 b11: //SEG383 [206] call print_str_at - //SEG384 [260] phi from debug_print_init::@11 to print_str_at [phi:debug_print_init::@11->print_str_at] + //SEG384 [251] phi from debug_print_init::@11 to print_str_at [phi:debug_print_init::@11->print_str_at] print_str_at_from_b11: - //SEG385 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 [phi:debug_print_init::@11->print_str_at#0] -- pbuz1=pbuc1 + //SEG385 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 [phi:debug_print_init::@11->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$14 sta print_str_at.at+1 - //SEG386 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str7 [phi:debug_print_init::@11->print_str_at#1] -- pbuz1=pbuc1 + //SEG386 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str7 [phi:debug_print_init::@11->print_str_at#1] -- pbuz1=pbuc1 lda #str7 @@ -8522,14 +8356,14 @@ debug_print_init: { //SEG388 debug_print_init::@12 b12: //SEG389 [208] call print_str_at - //SEG390 [260] phi from debug_print_init::@12 to print_str_at [phi:debug_print_init::@12->print_str_at] + //SEG390 [251] phi from debug_print_init::@12 to print_str_at [phi:debug_print_init::@12->print_str_at] print_str_at_from_b12: - //SEG391 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 [phi:debug_print_init::@12->print_str_at#0] -- pbuz1=pbuc1 + //SEG391 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 [phi:debug_print_init::@12->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$15 sta print_str_at.at+1 - //SEG392 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str8 [phi:debug_print_init::@12->print_str_at#1] -- pbuz1=pbuc1 + //SEG392 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str8 [phi:debug_print_init::@12->print_str_at#1] -- pbuz1=pbuc1 lda #str8 @@ -8541,14 +8375,14 @@ debug_print_init: { //SEG394 debug_print_init::@13 b13: //SEG395 [210] call print_str_at - //SEG396 [260] phi from debug_print_init::@13 to print_str_at [phi:debug_print_init::@13->print_str_at] + //SEG396 [251] phi from debug_print_init::@13 to print_str_at [phi:debug_print_init::@13->print_str_at] print_str_at_from_b13: - //SEG397 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 [phi:debug_print_init::@13->print_str_at#0] -- pbuz1=pbuc1 + //SEG397 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 [phi:debug_print_init::@13->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$16 sta print_str_at.at+1 - //SEG398 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str9 [phi:debug_print_init::@13->print_str_at#1] -- pbuz1=pbuc1 + //SEG398 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str9 [phi:debug_print_init::@13->print_str_at#1] -- pbuz1=pbuc1 lda #str9 @@ -8560,14 +8394,14 @@ debug_print_init: { //SEG400 debug_print_init::@14 b14: //SEG401 [212] call print_str_at - //SEG402 [260] phi from debug_print_init::@14 to print_str_at [phi:debug_print_init::@14->print_str_at] + //SEG402 [251] phi from debug_print_init::@14 to print_str_at [phi:debug_print_init::@14->print_str_at] print_str_at_from_b14: - //SEG403 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 [phi:debug_print_init::@14->print_str_at#0] -- pbuz1=pbuc1 + //SEG403 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 [phi:debug_print_init::@14->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$17 sta print_str_at.at+1 - //SEG404 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str10 [phi:debug_print_init::@14->print_str_at#1] -- pbuz1=pbuc1 + //SEG404 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str10 [phi:debug_print_init::@14->print_str_at#1] -- pbuz1=pbuc1 lda #str10 @@ -8579,14 +8413,14 @@ debug_print_init: { //SEG406 debug_print_init::@15 b15: //SEG407 [214] call print_str_at - //SEG408 [260] phi from debug_print_init::@15 to print_str_at [phi:debug_print_init::@15->print_str_at] + //SEG408 [251] phi from debug_print_init::@15 to print_str_at [phi:debug_print_init::@15->print_str_at] print_str_at_from_b15: - //SEG409 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 [phi:debug_print_init::@15->print_str_at#0] -- pbuz1=pbuc1 + //SEG409 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 [phi:debug_print_init::@15->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$18 sta print_str_at.at+1 - //SEG410 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str11 [phi:debug_print_init::@15->print_str_at#1] -- pbuz1=pbuc1 + //SEG410 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str11 [phi:debug_print_init::@15->print_str_at#1] -- pbuz1=pbuc1 lda #str11 @@ -8667,9 +8501,8 @@ debug_print_init: { jsr print_sbyte_at //SEG438 [225] phi from debug_print_init::@17 to debug_print_init::@2 [phi:debug_print_init::@17->debug_print_init::@2] b2_from_b17: - //SEG439 [225] phi (byte) debug_print_init::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:debug_print_init::@17->debug_print_init::@2#0] -- vbuz1=vbuc1 - lda #0 - sta j + //SEG439 [225] phi (byte) debug_print_init::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:debug_print_init::@17->debug_print_init::@2#0] -- vbuyy=vbuc1 + ldy #0 jmp b2 //SEG440 [225] phi from debug_print_init::@2 to debug_print_init::@2 [phi:debug_print_init::@2->debug_print_init::@2] b2_from_b2: @@ -8688,19 +8521,10 @@ debug_print_init: { lda #>at_cols adc #0 sta _59+1 - //SEG445 [228] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _60 - sta _60 - bcc !+ - inc _60+1 - !: - //SEG446 [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG445 [228] *((byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_60),y - //SEG447 [230] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_59),y + //SEG446 [229] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*1 adc #0 sta _63+1 - //SEG448 [231] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _64 - sta _64 - bcc !+ - inc _64+1 - !: - //SEG449 [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG447 [230] *((byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_64),y - //SEG450 [233] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_63),y + //SEG448 [231] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*2 adc #0 sta _67+1 - //SEG451 [234] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _68 - sta _68 - bcc !+ - inc _68+1 - !: - //SEG452 [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG449 [232] *((byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_68),y - //SEG453 [236] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_67),y + //SEG450 [233] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*3 adc #0 sta _71+1 - //SEG454 [237] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _72 - sta _72 - bcc !+ - inc _72+1 - !: - //SEG455 [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG451 [234] *((byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_72),y - //SEG456 [239] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_71),y + //SEG452 [235] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*4 adc #0 sta _75+1 - //SEG457 [240] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _76 - sta _76 - bcc !+ - inc _76+1 - !: - //SEG458 [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG453 [236] *((byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_76),y - //SEG459 [242] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_75),y + //SEG454 [237] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*5 adc #0 sta _79+1 - //SEG460 [243] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _80 - sta _80 - bcc !+ - inc _80+1 - !: - //SEG461 [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG455 [238] *((byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_80),y - //SEG462 [245] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_79),y + //SEG456 [239] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*6 adc #0 sta _83+1 - //SEG463 [246] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _84 - sta _84 - bcc !+ - inc _84+1 - !: - //SEG464 [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG457 [240] *((byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_84),y - //SEG465 [248] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_83),y + //SEG458 [241] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*7 adc #0 sta _87+1 - //SEG466 [249] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _88 - sta _88 - bcc !+ - inc _88+1 - !: - //SEG467 [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG459 [242] *((byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_88),y - //SEG468 [251] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_87),y + //SEG460 [243] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*8 adc #0 sta _91+1 - //SEG469 [252] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _92 - sta _92 - bcc !+ - inc _92+1 - !: - //SEG470 [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG461 [244] *((byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_92),y - //SEG471 [254] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 -- vbuz1=_inc_vbuz1 - inc j - //SEG472 [255] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 -- vbuz1_neq_vbuc1_then_la1 - lda #4 - cmp j + sta (_91),y + //SEG462 [245] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 -- vbuyy=_inc_vbuyy + iny + //SEG463 [246] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 -- vbuyy_neq_vbuc1_then_la1 + cpy #4 bne b2_from_b2 jmp b3 - //SEG473 debug_print_init::@3 + //SEG464 debug_print_init::@3 b3: - //SEG474 [256] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz1_plus_vbuc1 + //SEG465 [247] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz1_plus_vbuc1 lax c axs #-[4] stx c - //SEG475 [257] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 -- vbuz1=_inc_vbuz1 + //SEG466 [248] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 -- vbuz1=_inc_vbuz1 inc i - //SEG476 [258] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG467 [249] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp i bne b1_from_b3 jmp breturn - //SEG477 debug_print_init::@return + //SEG468 debug_print_init::@return breturn: - //SEG478 [259] return + //SEG469 [250] return rts str: .text "sx@" str1: .text "sy@" @@ -8897,77 +8648,77 @@ debug_print_init: { str10: .text "xp@" str11: .text "yp@" } -//SEG479 print_str_at +//SEG470 print_str_at // Print a string at a specific screen position // print_str_at(byte* zeropage(6) str, byte* zeropage(9) at) print_str_at: { .label at = 9 .label str = 6 - //SEG480 [261] phi from print_str_at print_str_at::@2 to print_str_at::@1 [phi:print_str_at/print_str_at::@2->print_str_at::@1] + //SEG471 [252] phi from print_str_at print_str_at::@2 to print_str_at::@1 [phi:print_str_at/print_str_at::@2->print_str_at::@1] b1_from_print_str_at: b1_from_b2: - //SEG481 [261] phi (byte*) print_str_at::at#13 = (byte*) print_str_at::at#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#0] -- register_copy - //SEG482 [261] phi (byte*) print_str_at::str#13 = (byte*) print_str_at::str#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#1] -- register_copy + //SEG472 [252] phi (byte*) print_str_at::at#13 = (byte*) print_str_at::at#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#0] -- register_copy + //SEG473 [252] phi (byte*) print_str_at::str#13 = (byte*) print_str_at::str#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#1] -- register_copy jmp b1 - //SEG483 print_str_at::@1 + //SEG474 print_str_at::@1 b1: - //SEG484 [262] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG475 [253] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 jmp breturn - //SEG485 print_str_at::@return + //SEG476 print_str_at::@return breturn: - //SEG486 [263] return + //SEG477 [254] return rts - //SEG487 print_str_at::@2 + //SEG478 print_str_at::@2 b2: - //SEG488 [264] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) -- _deref_pbuz1=_deref_pbuz2 + //SEG479 [255] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (at),y - //SEG489 [265] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 -- pbuz1=_inc_pbuz1 + //SEG480 [256] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 -- pbuz1=_inc_pbuz1 inc at bne !+ inc at+1 !: - //SEG490 [266] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 -- pbuz1=_inc_pbuz1 + //SEG481 [257] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: jmp b1_from_b2 } -//SEG491 print_cls +//SEG482 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { .label sc = 6 - //SEG492 [268] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG483 [259] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG493 [268] phi (byte*) print_cls::sc#2 = (const byte*) print_screen#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG484 [259] phi (byte*) print_cls::sc#2 = (const byte*) print_screen#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #print_screen sta sc+1 jmp b1 - //SEG494 [268] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG485 [259] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG495 [268] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG486 [259] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG496 print_cls::@1 + //SEG487 print_cls::@1 b1: - //SEG497 [269] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + //SEG488 [260] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG498 [270] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + //SEG489 [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG499 [271] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 + //SEG490 [262] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>print_screen+$3e8 bne b1_from_b1 @@ -8975,45 +8726,45 @@ print_cls: { cmp #sprites_init::@1] + //SEG495 [265] phi from sprites_init to sprites_init::@1 [phi:sprites_init->sprites_init::@1] b1_from_sprites_init: - //SEG505 [274] phi (byte) sprites_init::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sprites_init->sprites_init::@1#0] -- vbuxx=vbuc1 + //SEG496 [265] phi (byte) sprites_init::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sprites_init->sprites_init::@1#0] -- vbuxx=vbuc1 ldx #0 jmp b1 - //SEG506 [274] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1] + //SEG497 [265] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1] b1_from_b1: - //SEG507 [274] phi (byte) sprites_init::i#2 = (byte) sprites_init::i#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy + //SEG498 [265] phi (byte) sprites_init::i#2 = (byte) sprites_init::i#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy jmp b1 - //SEG508 sprites_init::@1 + //SEG499 sprites_init::@1 b1: - //SEG509 [275] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG500 [266] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 -- pbuc1_derefidx_vbuxx=vbuc2 lda #$ff&SPRITE/$40 sta sprites_ptr,x - //SEG510 [276] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG501 [267] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 -- pbuc1_derefidx_vbuxx=vbuc2 lda #GREEN sta SPRITES_COLS,x - //SEG511 [277] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 -- vbuxx=_inc_vbuxx + //SEG502 [268] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 -- vbuxx=_inc_vbuxx inx - //SEG512 [278] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 -- vbuxx_neq_vbuc1_then_la1 + //SEG503 [269] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne b1_from_b1 jmp breturn - //SEG513 sprites_init::@return + //SEG504 sprites_init::@return breturn: - //SEG514 [279] return + //SEG505 [270] return rts } print_hextab: .text "0123456789abcdef" @@ -9394,8 +9145,8 @@ Succesful ASM optimization Pass5NextJumpElimination Removing instruction bbegin: Succesful ASM optimization Pass5UnusedLabelElimination Fixing long branch [327] bne b1 to beq -Fixing long branch [1018] bne b2 to beq -Fixing long branch [1027] bne b1 to beq +Fixing long branch [934] bne b2 to beq +Fixing long branch [943] bne b1 to beq FINAL SYMBOL TABLE (label) @1 @@ -9658,23 +9409,14 @@ FINAL SYMBOL TABLE (signed byte) debug_print::print_sbyte_pos9_sb#0 reg byte x 4.0 (void()) debug_print_init() (byte*~) debug_print_init::$59 $59 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$60 $60 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$63 $63 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$64 $64 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$67 $67 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$68 $68 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$71 $71 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$72 $72 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$75 $75 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$76 $76 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$79 $79 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$80 $80 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$83 $83 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$84 $84 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$87 $87 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$88 $88 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$91 $91 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$92 $92 zp ZP_WORD:6 202.0 (label) debug_print_init::@1 (label) debug_print_init::@10 (label) debug_print_init::@11 @@ -9701,15 +9443,15 @@ FINAL SYMBOL TABLE (const byte*) debug_print_init::at_line#0 at_line = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $10*(byte/signed byte/word/signed word/dword/signed dword) $28 (byte) debug_print_init::c (byte) debug_print_init::c#1 c zp ZP_BYTE:2 7.333333333333333 -(byte) debug_print_init::c#2 c zp ZP_BYTE:2 23.512195121951223 +(byte) debug_print_init::c#2 c zp ZP_BYTE:2 30.125 (byte) debug_print_init::col -(byte) debug_print_init::col#0 reg byte x 37.40740740740741 +(byte) debug_print_init::col#0 reg byte x 56.111111111111114 (byte) debug_print_init::i (byte) debug_print_init::i#1 i zp ZP_BYTE:3 16.5 -(byte) debug_print_init::i#2 i zp ZP_BYTE:3 3.7142857142857144 +(byte) debug_print_init::i#2 i zp ZP_BYTE:3 4.727272727272727 (byte) debug_print_init::j -(byte) debug_print_init::j#1 j zp ZP_BYTE:4 151.5 -(byte) debug_print_init::j#2 j zp ZP_BYTE:4 38.31034482758621 +(byte) debug_print_init::j#1 reg byte y 151.5 +(byte) debug_print_init::j#2 reg byte y 55.54999999999999 (const string) debug_print_init::str str = (string) "sx@" (const string) debug_print_init::str1 str1 = (string) "sy@" (const string) debug_print_init::str10 str10 = (string) "xp@" @@ -9880,11 +9622,12 @@ FINAL SYMBOL TABLE zp ZP_BYTE:2 [ sx#10 sx#3 debug_print_init::c#2 debug_print_init::c#1 ] zp ZP_BYTE:3 [ sy#10 sy#3 calculate_matrix::sy#0 debug_print_init::i#2 debug_print_init::i#1 ] -zp ZP_BYTE:4 [ anim::i#2 anim::i#1 debug_print::c#2 debug_print::c#1 debug_print_init::j#2 debug_print_init::j#1 calculate_matrix::t1#0 ] +zp ZP_BYTE:4 [ anim::i#2 anim::i#1 debug_print::c#2 debug_print::c#1 calculate_matrix::t1#0 ] zp ZP_BYTE:5 [ debug_print::i#2 debug_print::i#1 rotate_matrix::y#0 calculate_matrix::t3#0 ] -zp ZP_WORD:6 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 debug_print_init::$71 debug_print_init::$72 debug_print_init::$75 debug_print_init::$76 debug_print_init::$79 debug_print_init::$80 debug_print_init::$83 debug_print_init::$84 debug_print_init::$87 debug_print_init::$88 debug_print_init::$91 debug_print_init::$92 ] +zp ZP_WORD:6 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 debug_print_init::$67 debug_print_init::$71 debug_print_init::$75 debug_print_init::$79 debug_print_init::$83 debug_print_init::$87 debug_print_init::$91 ] reg byte x [ print_sbyte_at::b#24 print_sbyte_at::b#0 print_sbyte_at::b#22 print_sbyte_at::b#16 print_sbyte_at::b#17 print_sbyte_at::b#18 print_sbyte_at::b#19 print_sbyte_at::b#20 print_sbyte_at::b#21 print_sbyte_at::b#4 print_sbyte_at::b#13 print_sbyte_at::b#14 print_sbyte_at::b#15 print_sbyte_at::b#5 print_sbyte_at::b#7 print_sbyte_at::b#8 print_sbyte_at::b#9 print_sbyte_at::b#10 print_sbyte_at::b#11 print_sbyte_at::b#12 print_sbyte_at::b#1 print_sbyte_at::b#2 print_sbyte_at::b#3 ] zp ZP_BYTE:8 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 rotate_matrix::z#0 calculate_matrix::t4#0 ] +reg byte y [ debug_print_init::j#2 debug_print_init::j#1 ] zp ZP_WORD:9 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] reg byte x [ sprites_init::i#2 sprites_init::i#1 ] reg byte y [ calculate_matrix::sx#0 ] @@ -9941,7 +9684,7 @@ reg byte x [ debug_print_init::col#0 ] FINAL ASSEMBLER -Score: 85392 +Score: 66042 //SEG0 File Comments // 3D Rotation using a Rotation Matrix @@ -10973,39 +10716,29 @@ debug_print_init: { .label at_line = SCREEN+$10*$28 .label at_cols = COLS+$10*$28 .label _59 = 6 - .label _60 = 6 .label _63 = 6 - .label _64 = 6 .label _67 = 6 - .label _68 = 6 .label _71 = 6 - .label _72 = 6 .label _75 = 6 - .label _76 = 6 .label _79 = 6 - .label _80 = 6 .label _83 = 6 - .label _84 = 6 .label _87 = 6 - .label _88 = 6 .label _91 = 6 - .label _92 = 6 - .label j = 4 .label c = 2 .label i = 3 //SEG337 [190] call print_cls - //SEG338 [267] phi from debug_print_init to print_cls [phi:debug_print_init->print_cls] + //SEG338 [258] phi from debug_print_init to print_cls [phi:debug_print_init->print_cls] jsr print_cls //SEG339 [191] phi from debug_print_init to debug_print_init::@4 [phi:debug_print_init->debug_print_init::@4] //SEG340 debug_print_init::@4 //SEG341 [192] call print_str_at - //SEG342 [260] phi from debug_print_init::@4 to print_str_at [phi:debug_print_init::@4->print_str_at] - //SEG343 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@4->print_str_at#0] -- pbuz1=pbuc1 + //SEG342 [251] phi from debug_print_init::@4 to print_str_at [phi:debug_print_init::@4->print_str_at] + //SEG343 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@4->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$22 sta print_str_at.at+1 - //SEG344 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str [phi:debug_print_init::@4->print_str_at#1] -- pbuz1=pbuc1 + //SEG344 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str [phi:debug_print_init::@4->print_str_at#1] -- pbuz1=pbuc1 lda #str @@ -11014,13 +10747,13 @@ debug_print_init: { //SEG345 [193] phi from debug_print_init::@4 to debug_print_init::@5 [phi:debug_print_init::@4->debug_print_init::@5] //SEG346 debug_print_init::@5 //SEG347 [194] call print_str_at - //SEG348 [260] phi from debug_print_init::@5 to print_str_at [phi:debug_print_init::@5->print_str_at] - //SEG349 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@5->print_str_at#0] -- pbuz1=pbuc1 + //SEG348 [251] phi from debug_print_init::@5 to print_str_at [phi:debug_print_init::@5->print_str_at] + //SEG349 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@5->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*1+$22 sta print_str_at.at+1 - //SEG350 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str1 [phi:debug_print_init::@5->print_str_at#1] -- pbuz1=pbuc1 + //SEG350 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str1 [phi:debug_print_init::@5->print_str_at#1] -- pbuz1=pbuc1 lda #str1 @@ -11029,13 +10762,13 @@ debug_print_init: { //SEG351 [195] phi from debug_print_init::@5 to debug_print_init::@6 [phi:debug_print_init::@5->debug_print_init::@6] //SEG352 debug_print_init::@6 //SEG353 [196] call print_str_at - //SEG354 [260] phi from debug_print_init::@6 to print_str_at [phi:debug_print_init::@6->print_str_at] - //SEG355 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@6->print_str_at#0] -- pbuz1=pbuc1 + //SEG354 [251] phi from debug_print_init::@6 to print_str_at [phi:debug_print_init::@6->print_str_at] + //SEG355 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) $22 [phi:debug_print_init::@6->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*2+$22 sta print_str_at.at+1 - //SEG356 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str2 [phi:debug_print_init::@6->print_str_at#1] -- pbuz1=pbuc1 + //SEG356 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str2 [phi:debug_print_init::@6->print_str_at#1] -- pbuz1=pbuc1 lda #str2 @@ -11044,13 +10777,13 @@ debug_print_init: { //SEG357 [197] phi from debug_print_init::@6 to debug_print_init::@7 [phi:debug_print_init::@6->debug_print_init::@7] //SEG358 debug_print_init::@7 //SEG359 [198] call print_str_at - //SEG360 [260] phi from debug_print_init::@7 to print_str_at [phi:debug_print_init::@7->print_str_at] - //SEG361 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 [phi:debug_print_init::@7->print_str_at#0] -- pbuz1=pbuc1 + //SEG360 [251] phi from debug_print_init::@7 to print_str_at [phi:debug_print_init::@7->print_str_at] + //SEG361 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $10 [phi:debug_print_init::@7->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$10 sta print_str_at.at+1 - //SEG362 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str3 [phi:debug_print_init::@7->print_str_at#1] -- pbuz1=pbuc1 + //SEG362 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str3 [phi:debug_print_init::@7->print_str_at#1] -- pbuz1=pbuc1 lda #str3 @@ -11059,13 +10792,13 @@ debug_print_init: { //SEG363 [199] phi from debug_print_init::@7 to debug_print_init::@8 [phi:debug_print_init::@7->debug_print_init::@8] //SEG364 debug_print_init::@8 //SEG365 [200] call print_str_at - //SEG366 [260] phi from debug_print_init::@8 to print_str_at [phi:debug_print_init::@8->print_str_at] - //SEG367 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 [phi:debug_print_init::@8->print_str_at#0] -- pbuz1=pbuc1 + //SEG366 [251] phi from debug_print_init::@8 to print_str_at [phi:debug_print_init::@8->print_str_at] + //SEG367 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $11 [phi:debug_print_init::@8->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$11 sta print_str_at.at+1 - //SEG368 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str4 [phi:debug_print_init::@8->print_str_at#1] -- pbuz1=pbuc1 + //SEG368 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str4 [phi:debug_print_init::@8->print_str_at#1] -- pbuz1=pbuc1 lda #str4 @@ -11074,13 +10807,13 @@ debug_print_init: { //SEG369 [201] phi from debug_print_init::@8 to debug_print_init::@9 [phi:debug_print_init::@8->debug_print_init::@9] //SEG370 debug_print_init::@9 //SEG371 [202] call print_str_at - //SEG372 [260] phi from debug_print_init::@9 to print_str_at [phi:debug_print_init::@9->print_str_at] - //SEG373 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 [phi:debug_print_init::@9->print_str_at#0] -- pbuz1=pbuc1 + //SEG372 [251] phi from debug_print_init::@9 to print_str_at [phi:debug_print_init::@9->print_str_at] + //SEG373 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $12 [phi:debug_print_init::@9->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$12 sta print_str_at.at+1 - //SEG374 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str5 [phi:debug_print_init::@9->print_str_at#1] -- pbuz1=pbuc1 + //SEG374 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str5 [phi:debug_print_init::@9->print_str_at#1] -- pbuz1=pbuc1 lda #str5 @@ -11089,13 +10822,13 @@ debug_print_init: { //SEG375 [203] phi from debug_print_init::@9 to debug_print_init::@10 [phi:debug_print_init::@9->debug_print_init::@10] //SEG376 debug_print_init::@10 //SEG377 [204] call print_str_at - //SEG378 [260] phi from debug_print_init::@10 to print_str_at [phi:debug_print_init::@10->print_str_at] - //SEG379 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 [phi:debug_print_init::@10->print_str_at#0] -- pbuz1=pbuc1 + //SEG378 [251] phi from debug_print_init::@10 to print_str_at [phi:debug_print_init::@10->print_str_at] + //SEG379 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $13 [phi:debug_print_init::@10->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$13 sta print_str_at.at+1 - //SEG380 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str6 [phi:debug_print_init::@10->print_str_at#1] -- pbuz1=pbuc1 + //SEG380 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str6 [phi:debug_print_init::@10->print_str_at#1] -- pbuz1=pbuc1 lda #str6 @@ -11104,13 +10837,13 @@ debug_print_init: { //SEG381 [205] phi from debug_print_init::@10 to debug_print_init::@11 [phi:debug_print_init::@10->debug_print_init::@11] //SEG382 debug_print_init::@11 //SEG383 [206] call print_str_at - //SEG384 [260] phi from debug_print_init::@11 to print_str_at [phi:debug_print_init::@11->print_str_at] - //SEG385 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 [phi:debug_print_init::@11->print_str_at#0] -- pbuz1=pbuc1 + //SEG384 [251] phi from debug_print_init::@11 to print_str_at [phi:debug_print_init::@11->print_str_at] + //SEG385 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $14 [phi:debug_print_init::@11->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$14 sta print_str_at.at+1 - //SEG386 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str7 [phi:debug_print_init::@11->print_str_at#1] -- pbuz1=pbuc1 + //SEG386 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str7 [phi:debug_print_init::@11->print_str_at#1] -- pbuz1=pbuc1 lda #str7 @@ -11119,13 +10852,13 @@ debug_print_init: { //SEG387 [207] phi from debug_print_init::@11 to debug_print_init::@12 [phi:debug_print_init::@11->debug_print_init::@12] //SEG388 debug_print_init::@12 //SEG389 [208] call print_str_at - //SEG390 [260] phi from debug_print_init::@12 to print_str_at [phi:debug_print_init::@12->print_str_at] - //SEG391 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 [phi:debug_print_init::@12->print_str_at#0] -- pbuz1=pbuc1 + //SEG390 [251] phi from debug_print_init::@12 to print_str_at [phi:debug_print_init::@12->print_str_at] + //SEG391 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $15 [phi:debug_print_init::@12->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$15 sta print_str_at.at+1 - //SEG392 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str8 [phi:debug_print_init::@12->print_str_at#1] -- pbuz1=pbuc1 + //SEG392 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str8 [phi:debug_print_init::@12->print_str_at#1] -- pbuz1=pbuc1 lda #str8 @@ -11134,13 +10867,13 @@ debug_print_init: { //SEG393 [209] phi from debug_print_init::@12 to debug_print_init::@13 [phi:debug_print_init::@12->debug_print_init::@13] //SEG394 debug_print_init::@13 //SEG395 [210] call print_str_at - //SEG396 [260] phi from debug_print_init::@13 to print_str_at [phi:debug_print_init::@13->print_str_at] - //SEG397 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 [phi:debug_print_init::@13->print_str_at#0] -- pbuz1=pbuc1 + //SEG396 [251] phi from debug_print_init::@13 to print_str_at [phi:debug_print_init::@13->print_str_at] + //SEG397 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $16 [phi:debug_print_init::@13->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$16 sta print_str_at.at+1 - //SEG398 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str9 [phi:debug_print_init::@13->print_str_at#1] -- pbuz1=pbuc1 + //SEG398 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str9 [phi:debug_print_init::@13->print_str_at#1] -- pbuz1=pbuc1 lda #str9 @@ -11149,13 +10882,13 @@ debug_print_init: { //SEG399 [211] phi from debug_print_init::@13 to debug_print_init::@14 [phi:debug_print_init::@13->debug_print_init::@14] //SEG400 debug_print_init::@14 //SEG401 [212] call print_str_at - //SEG402 [260] phi from debug_print_init::@14 to print_str_at [phi:debug_print_init::@14->print_str_at] - //SEG403 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 [phi:debug_print_init::@14->print_str_at#0] -- pbuz1=pbuc1 + //SEG402 [251] phi from debug_print_init::@14 to print_str_at [phi:debug_print_init::@14->print_str_at] + //SEG403 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $17 [phi:debug_print_init::@14->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$17 sta print_str_at.at+1 - //SEG404 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str10 [phi:debug_print_init::@14->print_str_at#1] -- pbuz1=pbuc1 + //SEG404 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str10 [phi:debug_print_init::@14->print_str_at#1] -- pbuz1=pbuc1 lda #str10 @@ -11164,13 +10897,13 @@ debug_print_init: { //SEG405 [213] phi from debug_print_init::@14 to debug_print_init::@15 [phi:debug_print_init::@14->debug_print_init::@15] //SEG406 debug_print_init::@15 //SEG407 [214] call print_str_at - //SEG408 [260] phi from debug_print_init::@15 to print_str_at [phi:debug_print_init::@15->print_str_at] - //SEG409 [260] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 [phi:debug_print_init::@15->print_str_at#0] -- pbuz1=pbuc1 + //SEG408 [251] phi from debug_print_init::@15 to print_str_at [phi:debug_print_init::@15->print_str_at] + //SEG409 [251] phi (byte*) print_str_at::at#15 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18 [phi:debug_print_init::@15->print_str_at#0] -- pbuz1=pbuc1 lda #SCREEN+$28*$18 sta print_str_at.at+1 - //SEG410 [260] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str11 [phi:debug_print_init::@15->print_str_at#1] -- pbuz1=pbuc1 + //SEG410 [251] phi (byte*) print_str_at::str#15 = (const string) debug_print_init::str11 [phi:debug_print_init::@15->print_str_at#1] -- pbuz1=pbuc1 lda #str11 @@ -11239,9 +10972,8 @@ debug_print_init: { //SEG437 [114] phi (signed byte) print_sbyte_at::b#22 = (signed byte) print_sbyte_at::b#3 [phi:debug_print_init::@17->print_sbyte_at#1] -- register_copy jsr print_sbyte_at //SEG438 [225] phi from debug_print_init::@17 to debug_print_init::@2 [phi:debug_print_init::@17->debug_print_init::@2] - //SEG439 [225] phi (byte) debug_print_init::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:debug_print_init::@17->debug_print_init::@2#0] -- vbuz1=vbuc1 - lda #0 - sta j + //SEG439 [225] phi (byte) debug_print_init::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:debug_print_init::@17->debug_print_init::@2#0] -- vbuyy=vbuc1 + ldy #0 //SEG440 [225] phi from debug_print_init::@2 to debug_print_init::@2 [phi:debug_print_init::@2->debug_print_init::@2] //SEG441 [225] phi (byte) debug_print_init::j#2 = (byte) debug_print_init::j#1 [phi:debug_print_init::@2->debug_print_init::@2#0] -- register_copy //SEG442 debug_print_init::@2 @@ -11257,19 +10989,10 @@ debug_print_init: { lda #>at_cols adc #0 sta _59+1 - //SEG445 [228] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _60 - sta _60 - bcc !+ - inc _60+1 - !: - //SEG446 [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG445 [228] *((byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_60),y - //SEG447 [230] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_59),y + //SEG446 [229] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*1 adc #0 sta _63+1 - //SEG448 [231] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _64 - sta _64 - bcc !+ - inc _64+1 - !: - //SEG449 [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG447 [230] *((byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_64),y - //SEG450 [233] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_63),y + //SEG448 [231] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*2 adc #0 sta _67+1 - //SEG451 [234] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _68 - sta _68 - bcc !+ - inc _68+1 - !: - //SEG452 [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG449 [232] *((byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_68),y - //SEG453 [236] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_67),y + //SEG450 [233] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*3 adc #0 sta _71+1 - //SEG454 [237] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _72 - sta _72 - bcc !+ - inc _72+1 - !: - //SEG455 [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG451 [234] *((byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_72),y - //SEG456 [239] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_71),y + //SEG452 [235] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*4 adc #0 sta _75+1 - //SEG457 [240] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _76 - sta _76 - bcc !+ - inc _76+1 - !: - //SEG458 [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG453 [236] *((byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_76),y - //SEG459 [242] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_75),y + //SEG454 [237] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*5 adc #0 sta _79+1 - //SEG460 [243] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _80 - sta _80 - bcc !+ - inc _80+1 - !: - //SEG461 [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG455 [238] *((byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_80),y - //SEG462 [245] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_79),y + //SEG456 [239] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*6 adc #0 sta _83+1 - //SEG463 [246] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _84 - sta _84 - bcc !+ - inc _84+1 - !: - //SEG464 [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG457 [240] *((byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_84),y - //SEG465 [248] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_83),y + //SEG458 [241] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*7 adc #0 sta _87+1 - //SEG466 [249] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _88 - sta _88 - bcc !+ - inc _88+1 - !: - //SEG467 [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG459 [242] *((byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_88),y - //SEG468 [251] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 + sta (_87),y + //SEG460 [243] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 lda c clc adc #at_cols+$28*8 adc #0 sta _91+1 - //SEG469 [252] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2 -- pbuz1=pbuz1_plus_vbuz2 - lda j - clc - adc _92 - sta _92 - bcc !+ - inc _92+1 - !: - //SEG470 [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuxx + //SEG461 [244] *((byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2) ← (byte) debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx txa - ldy #0 - sta (_92),y - //SEG471 [254] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 -- vbuz1=_inc_vbuz1 - inc j - //SEG472 [255] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 -- vbuz1_neq_vbuc1_then_la1 - lda #4 - cmp j + sta (_91),y + //SEG462 [245] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 -- vbuyy=_inc_vbuyy + iny + //SEG463 [246] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2 -- vbuyy_neq_vbuc1_then_la1 + cpy #4 beq !b2+ jmp b2 !b2: - //SEG473 debug_print_init::@3 - //SEG474 [256] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz1_plus_vbuc1 + //SEG464 debug_print_init::@3 + //SEG465 [247] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz1_plus_vbuc1 lax c axs #-[4] stx c - //SEG475 [257] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 -- vbuz1=_inc_vbuz1 + //SEG466 [248] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2 -- vbuz1=_inc_vbuz1 inc i - //SEG476 [258] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG467 [249] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp i beq !b1+ jmp b1 !b1: - //SEG477 debug_print_init::@return - //SEG478 [259] return + //SEG468 debug_print_init::@return + //SEG469 [250] return rts str: .text "sx@" str1: .text "sy@" @@ -11466,105 +11116,105 @@ debug_print_init: { str10: .text "xp@" str11: .text "yp@" } -//SEG479 print_str_at +//SEG470 print_str_at // Print a string at a specific screen position // print_str_at(byte* zeropage(6) str, byte* zeropage(9) at) print_str_at: { .label at = 9 .label str = 6 - //SEG480 [261] phi from print_str_at print_str_at::@2 to print_str_at::@1 [phi:print_str_at/print_str_at::@2->print_str_at::@1] - //SEG481 [261] phi (byte*) print_str_at::at#13 = (byte*) print_str_at::at#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#0] -- register_copy - //SEG482 [261] phi (byte*) print_str_at::str#13 = (byte*) print_str_at::str#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#1] -- register_copy - //SEG483 print_str_at::@1 + //SEG471 [252] phi from print_str_at print_str_at::@2 to print_str_at::@1 [phi:print_str_at/print_str_at::@2->print_str_at::@1] + //SEG472 [252] phi (byte*) print_str_at::at#13 = (byte*) print_str_at::at#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#0] -- register_copy + //SEG473 [252] phi (byte*) print_str_at::str#13 = (byte*) print_str_at::str#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#1] -- register_copy + //SEG474 print_str_at::@1 b1: - //SEG484 [262] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG475 [253] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 - //SEG485 print_str_at::@return - //SEG486 [263] return + //SEG476 print_str_at::@return + //SEG477 [254] return rts - //SEG487 print_str_at::@2 + //SEG478 print_str_at::@2 b2: - //SEG488 [264] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) -- _deref_pbuz1=_deref_pbuz2 + //SEG479 [255] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y sta (at),y - //SEG489 [265] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 -- pbuz1=_inc_pbuz1 + //SEG480 [256] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13 -- pbuz1=_inc_pbuz1 inc at bne !+ inc at+1 !: - //SEG490 [266] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 -- pbuz1=_inc_pbuz1 + //SEG481 [257] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: jmp b1 } -//SEG491 print_cls +//SEG482 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { .label sc = 6 - //SEG492 [268] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] - //SEG493 [268] phi (byte*) print_cls::sc#2 = (const byte*) print_screen#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG483 [259] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG484 [259] phi (byte*) print_cls::sc#2 = (const byte*) print_screen#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #print_screen sta sc+1 - //SEG494 [268] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] - //SEG495 [268] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy - //SEG496 print_cls::@1 + //SEG485 [259] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG486 [259] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG487 print_cls::@1 b1: - //SEG497 [269] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + //SEG488 [260] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG498 [270] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + //SEG489 [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG499 [271] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 + //SEG490 [262] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>print_screen+$3e8 bne b1 lda sc cmp #sprites_init::@1] - //SEG505 [274] phi (byte) sprites_init::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sprites_init->sprites_init::@1#0] -- vbuxx=vbuc1 + //SEG495 [265] phi from sprites_init to sprites_init::@1 [phi:sprites_init->sprites_init::@1] + //SEG496 [265] phi (byte) sprites_init::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sprites_init->sprites_init::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG506 [274] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1] - //SEG507 [274] phi (byte) sprites_init::i#2 = (byte) sprites_init::i#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy - //SEG508 sprites_init::@1 + //SEG497 [265] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1] + //SEG498 [265] phi (byte) sprites_init::i#2 = (byte) sprites_init::i#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy + //SEG499 sprites_init::@1 b1: - //SEG509 [275] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG500 [266] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) $40 -- pbuc1_derefidx_vbuxx=vbuc2 lda #$ff&SPRITE/$40 sta sprites_ptr,x - //SEG510 [276] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG501 [267] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 -- pbuc1_derefidx_vbuxx=vbuc2 lda #GREEN sta SPRITES_COLS,x - //SEG511 [277] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 -- vbuxx=_inc_vbuxx + //SEG502 [268] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 -- vbuxx=_inc_vbuxx inx - //SEG512 [278] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 -- vbuxx_neq_vbuc1_then_la1 + //SEG503 [269] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne b1 - //SEG513 sprites_init::@return - //SEG514 [279] return + //SEG504 sprites_init::@return + //SEG505 [270] return rts } print_hextab: .text "0123456789abcdef" diff --git a/src/test/ref/examples/3d/3d.sym b/src/test/ref/examples/3d/3d.sym index d3fe0b754..fc8dfb721 100644 --- a/src/test/ref/examples/3d/3d.sym +++ b/src/test/ref/examples/3d/3d.sym @@ -258,23 +258,14 @@ (signed byte) debug_print::print_sbyte_pos9_sb#0 reg byte x 4.0 (void()) debug_print_init() (byte*~) debug_print_init::$59 $59 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$60 $60 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$63 $63 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$64 $64 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$67 $67 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$68 $68 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$71 $71 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$72 $72 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$75 $75 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$76 $76 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$79 $79 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$80 $80 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$83 $83 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$84 $84 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$87 $87 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$88 $88 zp ZP_WORD:6 202.0 (byte*~) debug_print_init::$91 $91 zp ZP_WORD:6 202.0 -(byte*~) debug_print_init::$92 $92 zp ZP_WORD:6 202.0 (label) debug_print_init::@1 (label) debug_print_init::@10 (label) debug_print_init::@11 @@ -301,15 +292,15 @@ (const byte*) debug_print_init::at_line#0 at_line = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) $10*(byte/signed byte/word/signed word/dword/signed dword) $28 (byte) debug_print_init::c (byte) debug_print_init::c#1 c zp ZP_BYTE:2 7.333333333333333 -(byte) debug_print_init::c#2 c zp ZP_BYTE:2 23.512195121951223 +(byte) debug_print_init::c#2 c zp ZP_BYTE:2 30.125 (byte) debug_print_init::col -(byte) debug_print_init::col#0 reg byte x 37.40740740740741 +(byte) debug_print_init::col#0 reg byte x 56.111111111111114 (byte) debug_print_init::i (byte) debug_print_init::i#1 i zp ZP_BYTE:3 16.5 -(byte) debug_print_init::i#2 i zp ZP_BYTE:3 3.7142857142857144 +(byte) debug_print_init::i#2 i zp ZP_BYTE:3 4.727272727272727 (byte) debug_print_init::j -(byte) debug_print_init::j#1 j zp ZP_BYTE:4 151.5 -(byte) debug_print_init::j#2 j zp ZP_BYTE:4 38.31034482758621 +(byte) debug_print_init::j#1 reg byte y 151.5 +(byte) debug_print_init::j#2 reg byte y 55.54999999999999 (const string) debug_print_init::str str = (string) "sx@" (const string) debug_print_init::str1 str1 = (string) "sy@" (const string) debug_print_init::str10 str10 = (string) "xp@" @@ -480,11 +471,12 @@ zp ZP_BYTE:2 [ sx#10 sx#3 debug_print_init::c#2 debug_print_init::c#1 ] zp ZP_BYTE:3 [ sy#10 sy#3 calculate_matrix::sy#0 debug_print_init::i#2 debug_print_init::i#1 ] -zp ZP_BYTE:4 [ anim::i#2 anim::i#1 debug_print::c#2 debug_print::c#1 debug_print_init::j#2 debug_print_init::j#1 calculate_matrix::t1#0 ] +zp ZP_BYTE:4 [ anim::i#2 anim::i#1 debug_print::c#2 debug_print::c#1 calculate_matrix::t1#0 ] zp ZP_BYTE:5 [ debug_print::i#2 debug_print::i#1 rotate_matrix::y#0 calculate_matrix::t3#0 ] -zp ZP_WORD:6 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 debug_print_init::$71 debug_print_init::$72 debug_print_init::$75 debug_print_init::$76 debug_print_init::$79 debug_print_init::$80 debug_print_init::$83 debug_print_init::$84 debug_print_init::$87 debug_print_init::$88 debug_print_init::$91 debug_print_init::$92 ] +zp ZP_WORD:6 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 debug_print_init::$59 debug_print_init::$63 debug_print_init::$67 debug_print_init::$71 debug_print_init::$75 debug_print_init::$79 debug_print_init::$83 debug_print_init::$87 debug_print_init::$91 ] reg byte x [ print_sbyte_at::b#24 print_sbyte_at::b#0 print_sbyte_at::b#22 print_sbyte_at::b#16 print_sbyte_at::b#17 print_sbyte_at::b#18 print_sbyte_at::b#19 print_sbyte_at::b#20 print_sbyte_at::b#21 print_sbyte_at::b#4 print_sbyte_at::b#13 print_sbyte_at::b#14 print_sbyte_at::b#15 print_sbyte_at::b#5 print_sbyte_at::b#7 print_sbyte_at::b#8 print_sbyte_at::b#9 print_sbyte_at::b#10 print_sbyte_at::b#11 print_sbyte_at::b#12 print_sbyte_at::b#1 print_sbyte_at::b#2 print_sbyte_at::b#3 ] zp ZP_BYTE:8 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 rotate_matrix::z#0 calculate_matrix::t4#0 ] +reg byte y [ debug_print_init::j#2 debug_print_init::j#1 ] zp ZP_WORD:9 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] reg byte x [ sprites_init::i#2 sprites_init::i#1 ] reg byte y [ calculate_matrix::sx#0 ] diff --git a/src/test/ref/examples/bresenham/bitmap-bresenham.log b/src/test/ref/examples/bresenham/bitmap-bresenham.log index 01396a4d2..c457b8ca4 100644 --- a/src/test/ref/examples/bresenham/bitmap-bresenham.log +++ b/src/test/ref/examples/bresenham/bitmap-bresenham.log @@ -1431,6 +1431,8 @@ Fixing inline constructor with bitmap_plot::$3 ← *(bitmap_plot_yhi#0 + bitmap_ Successful SSA optimization Pass2FixInlineConstructors Inferred type updated to byte in [175] (byte/signed word/word/dword/signed dword~) lines::$0 ← (byte) lines::l#2 Inferred type updated to byte in [176] (byte/signed word/word/dword/signed dword~) lines::$1 ← (byte) lines::l#2 +Eliminating unused constant (const byte) bitmap_line::xd#0 +Eliminating unused constant (const byte) bitmap_line::yd#0 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (byte*) bitmap_clear::bitmap#0 ← ((byte*)) (word~) bitmap_clear::$3 Eliminating Noop Cast (byte*) bitmap_plot::plotter#0 ← ((byte*)) (word~) bitmap_plot::$0 diff --git a/src/test/ref/examples/chargen/chargen-analysis.log b/src/test/ref/examples/chargen/chargen-analysis.log index dc81ef6a0..6478429b3 100644 --- a/src/test/ref/examples/chargen/chargen-analysis.log +++ b/src/test/ref/examples/chargen/chargen-analysis.log @@ -1227,6 +1227,7 @@ Constant (const byte*) plot_chargen::$6 = plot_chargen::$5+1 Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [80] if(true) goto main::@5 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) main::shift#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/examples/multiplexer/simple-multiplexer.log b/src/test/ref/examples/multiplexer/simple-multiplexer.log index 49e93843f..4f50c4574 100644 --- a/src/test/ref/examples/multiplexer/simple-multiplexer.log +++ b/src/test/ref/examples/multiplexer/simple-multiplexer.log @@ -1459,7 +1459,17 @@ if() condition always true - replacing block destination [73] if(true) goto loop Successful SSA optimization Pass2ConstantIfs Inferred type updated to byte in [6] (byte/signed word/word/dword/signed dword~) plexSort::$2 ← (byte) plexSort::m#2 Inferred type updated to byte in [13] (byte/signed word/word/dword/signed dword~) plexSort::$5 ← (byte) plexSort::s#3 +Eliminating unused variable - keeping the phi block (byte) plex_show_idx#20 +Eliminating unused variable - keeping the phi block (byte) plex_sprite_idx#20 +Eliminating unused variable - keeping the phi block (byte) plex_sprite_msb#10 +Eliminating unused variable - keeping the phi block (byte) plex_free_next#19 +Eliminating unused constant (const byte*) PLEX_SCREEN_PTR#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const word/signed word/dword/signed dword) $0 +Eliminating unused constant (const byte) plex_show_idx#0 +Eliminating unused constant (const byte) plex_sprite_idx#0 +Eliminating unused constant (const byte) plex_sprite_msb#0 +Eliminating unused constant (const byte) plex_free_next#29 Successful SSA optimization PassNEliminateUnusedVars Removing unused block loop::@return Successful SSA optimization Pass2EliminateUnusedBlocks @@ -1511,6 +1521,7 @@ Successful SSA optimization Pass2RedundantPhiElimination Simple Condition (bool~) plexSort::$6 [18] if((byte) plexSort::s#1!=(byte/word/signed word/dword/signed dword) $ff) goto plexSort::@8 Simple Condition (bool~) plexSort::$7 [96] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 Successful SSA optimization Pass2ConditionalJumpSimplification +Eliminating unused constant (const byte) SIZEOF_WORD Successful SSA optimization PassNEliminateUnusedVars Self Phi Eliminated (byte*) PLEX_SCREEN_PTR#44 Successful SSA optimization Pass2SelfPhiElimination diff --git a/src/test/ref/examples/plasma/plasma-unroll.log b/src/test/ref/examples/plasma/plasma-unroll.log index 9b1819c90..b12a39b0a 100644 --- a/src/test/ref/examples/plasma/plasma-unroll.log +++ b/src/test/ref/examples/plasma/plasma-unroll.log @@ -1324,6 +1324,7 @@ Redundant Phi (byte*) print_char_cursor#43 (byte*) print_char_cursor#44 Successful SSA optimization Pass2RedundantPhiElimination Inferred type updated to word in [76] (word/signed dword/dword~) makecharset::$8 ← (word) makecharset::c#2 << (byte/signed byte/word/signed word/dword/signed dword) 3 Inferred type updated to word in [77] (word/signed dword/dword~) makecharset::$9 ← (word~) makecharset::$8 + (byte) makecharset::i#7 +Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#39 Successful SSA optimization PassNEliminateUnusedVars Self Phi Eliminated (byte*) makecharset::charset#7 Successful SSA optimization Pass2SelfPhiElimination @@ -1706,6 +1707,7 @@ Removing PHI-reference to removed block (doplasma::@6_24) in block doplasma::@6_ Removing PHI-reference to removed block (doplasma::@6_24) in block doplasma::@6_25 if() condition always false - eliminating [88] if((const byte) doplasma::ii#50<(byte/signed byte/word/signed word/dword/signed dword) $19) goto doplasma::@6_25 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) doplasma::ii#50 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) doplasma::val#51 from unused block doplasma::@6_25 Eliminating variable (byte) doplasma::ii#51 from unused block doplasma::@6_25 diff --git a/src/test/ref/examples/plasma/plasma.log b/src/test/ref/examples/plasma/plasma.log index 138096eb2..ed893b7e2 100644 --- a/src/test/ref/examples/plasma/plasma.log +++ b/src/test/ref/examples/plasma/plasma.log @@ -1446,6 +1446,7 @@ Redundant Phi (byte*) print_char_cursor#44 (byte*) print_char_cursor#46 Successful SSA optimization Pass2RedundantPhiElimination Inferred type updated to word in [76] (word/signed dword/dword~) makecharset::$8 ← (word) makecharset::c#2 << (byte/signed byte/word/signed word/dword/signed dword) 3 Inferred type updated to word in [77] (word/signed dword/dword~) makecharset::$9 ← (word~) makecharset::$8 + (byte) makecharset::i#7 +Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#41 Successful SSA optimization PassNEliminateUnusedVars Self Phi Eliminated (byte*) makecharset::charset#7 Successful SSA optimization Pass2SelfPhiElimination diff --git a/src/test/ref/examples/scrolllogo/scrolllogo.log b/src/test/ref/examples/scrolllogo/scrolllogo.log index 78d21e5e3..2e8c51c3b 100644 --- a/src/test/ref/examples/scrolllogo/scrolllogo.log +++ b/src/test/ref/examples/scrolllogo/scrolllogo.log @@ -1881,7 +1881,13 @@ if() condition always true - replacing block destination [150] if(true) goto loo Successful SSA optimization Pass2ConstantIfs Fixing inline constructor with div32u16u::$4 ← div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0 Successful SSA optimization Pass2FixInlineConstructors +Eliminating unused constant (const signed word) sin16s_gen2::offs#0 +Eliminating unused constant (const byte) render_logo::logo_idx#0 +Eliminating unused constant (const byte) render_logo::screen_idx#0 +Eliminating unused constant (const byte) render_logo::line#0 +Eliminating unused constant (const word) rem16u#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const signed word) sin16s_gen2::$1 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (word) mul16u::a#1 ← ((word)) (signed word) mul16s::a#0 Eliminating Noop Cast (word~) mul16s::$14 ← ((word)) (signed word) mul16s::a#0 @@ -1963,6 +1969,7 @@ Removed zero-constant in assignment render_logo::$15 if() condition always true - replacing block destination [44] if((const byte) render_logo::line#4!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto render_logo::@15_1 Successful SSA optimization Pass2ConstantIfs Inferred type updated to byte in [42] (byte/signed word/word/dword/signed dword~) render_logo::$15 ← (byte) render_logo::logo_idx#10 +Eliminating unused constant (const byte/signed word/word/dword/signed dword) render_logo::$14 Successful SSA optimization PassNEliminateUnusedVars Alias (byte) render_logo::logo_idx#10 = (byte~) render_logo::$15 Successful SSA optimization Pass2AliasElimination @@ -2027,6 +2034,7 @@ Successful SSA optimization Pass2ConstantIdentification Removing PHI-reference to removed block (render_logo::@15_5) in block render_logo::@15_6 if() condition always false - eliminating [53] if((const byte) render_logo::line#24!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto render_logo::@15_6 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) render_logo::line#24 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) render_logo::line#25 from unused block render_logo::@15_6 Eliminating variable (byte/signed word/word/dword/signed dword~) render_logo::$51 from unused block render_logo::@15_6 @@ -2092,6 +2100,7 @@ Successful SSA optimization Pass2ConstantIdentification Removing PHI-reference to removed block (render_logo::@7_5) in block render_logo::@7_6 if() condition always false - eliminating [61] if((const byte) render_logo::line#34!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto render_logo::@7_6 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) render_logo::line#34 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) render_logo::line#35 from unused block render_logo::@7_6 Eliminating variable (byte/signed word/word/dword/signed dword~) render_logo::$63 from unused block render_logo::@7_6 @@ -2166,6 +2175,7 @@ Successful SSA optimization Pass2ConstantIdentification Removing PHI-reference to removed block (render_logo::@32_5) in block render_logo::@32_6 if() condition always false - eliminating [73] if((const byte) render_logo::line#46!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto render_logo::@32_6 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) render_logo::line#46 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) render_logo::line#47 from unused block render_logo::@32_6 Eliminating variable (byte/signed word/word/dword/signed dword~) render_logo::$75 from unused block render_logo::@32_6 @@ -2187,6 +2197,7 @@ Removed zero-constant in assignment render_logo::$23 if() condition always true - replacing block destination [76] if((const byte) render_logo::line#6!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto render_logo::@24_1 Successful SSA optimization Pass2ConstantIfs Inferred type updated to byte in [74] (byte/signed word/word/dword/signed dword~) render_logo::$23 ← (byte) render_logo::logo_idx#11 +Eliminating unused constant (const byte/signed word/word/dword/signed dword) render_logo::$22 Successful SSA optimization PassNEliminateUnusedVars Alias (byte) render_logo::logo_idx#11 = (byte~) render_logo::$23 Successful SSA optimization Pass2AliasElimination @@ -2251,6 +2262,7 @@ Successful SSA optimization Pass2ConstantIdentification Removing PHI-reference to removed block (render_logo::@24_5) in block render_logo::@24_6 if() condition always false - eliminating [85] if((const byte) render_logo::line#58!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto render_logo::@24_6 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) render_logo::line#58 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) render_logo::line#59 from unused block render_logo::@24_6 Eliminating variable (byte/signed word/word/dword/signed dword~) render_logo::$97 from unused block render_logo::@24_6 diff --git a/src/test/ref/examples/sinplotter/sine-plotter.log b/src/test/ref/examples/sinplotter/sine-plotter.log index 8e84782a0..fb7daaf4b 100644 --- a/src/test/ref/examples/sinplotter/sine-plotter.log +++ b/src/test/ref/examples/sinplotter/sine-plotter.log @@ -1958,7 +1958,10 @@ Fixing inline constructor with bitmap_clear::$3 ← *(bitmap_plot_yhi#0+0) w= *( Fixing inline constructor with bitmap_plot::$3 ← *(bitmap_plot_yhi#0 + bitmap_plot::y#2) w= *(bitmap_plot_ylo#0 + bitmap_plot::y#2) Fixing inline constructor with div32u16u::$4 ← div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0 Successful SSA optimization Pass2FixInlineConstructors +Eliminating unused constant (const signed word) sin16s_gen2::offs#0 +Eliminating unused constant (const word) rem16u#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const signed word) sin16s_gen2::$1 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (word) mul16u::a#1 ← ((word)) (signed word) mul16s::a#0 Eliminating Noop Cast (word~) mul16s::$14 ← ((word)) (signed word) mul16s::a#0 diff --git a/src/test/ref/examples/sinsprites/sinus-sprites.log b/src/test/ref/examples/sinsprites/sinus-sprites.log index 4b53bb4de..f1b74f950 100644 --- a/src/test/ref/examples/sinsprites/sinus-sprites.log +++ b/src/test/ref/examples/sinsprites/sinus-sprites.log @@ -1927,6 +1927,7 @@ Successful SSA optimization Pass2ConstantIfs Fixing inline constructor with getFAC::$0 ← *(memHi#0) w= *(memLo#0) Successful SSA optimization Pass2FixInlineConstructors Inferred type updated to byte in [49] (byte/signed word/word/dword/signed dword~) init::$9 ← (byte) init::i#2 +Eliminating unused constant (const byte) progress_idx#35 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (byte*) prepareMEM::mem#0 ← ((byte*)) (word) setFAC::w#5 Successful SSA optimization Pass2NopCastElimination diff --git a/src/test/ref/forrangemin.log b/src/test/ref/forrangemin.log index ccd32e1b5..097a3d49f 100644 --- a/src/test/ref/forrangemin.log +++ b/src/test/ref/forrangemin.log @@ -74,6 +74,7 @@ Constant (const byte) main::i#0 = 0 Constant (const byte) main::j#0 = 0 Constant (const byte) main::j#1 = $64 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const byte) main::j#0 Successful SSA optimization PassNEliminateUnusedVars Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,$ff)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) 0 diff --git a/src/test/ref/function-pointer-noarg-3.log b/src/test/ref/function-pointer-noarg-3.log index 851ad31aa..37b4e06ce 100644 --- a/src/test/ref/function-pointer-noarg-3.log +++ b/src/test/ref/function-pointer-noarg-3.log @@ -123,6 +123,7 @@ Constant (const byte*) fn2::BGCOL#0 = ((byte*))$d021 Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [1] if(true) goto main::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const void()*) main::f#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/function-pointer-noarg-call-2.log b/src/test/ref/function-pointer-noarg-call-2.log index be01acd6c..7ba3ad15b 100644 --- a/src/test/ref/function-pointer-noarg-call-2.log +++ b/src/test/ref/function-pointer-noarg-call-2.log @@ -116,6 +116,7 @@ Constant (const byte*) fn2::BGCOL#0 = ((byte*))$d021 Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [1] if(true) goto main::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const void()*) main::f#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/function-pointer-noarg-call-4.log b/src/test/ref/function-pointer-noarg-call-4.log index b985f6e34..3cc90c90b 100644 --- a/src/test/ref/function-pointer-noarg-call-4.log +++ b/src/test/ref/function-pointer-noarg-call-4.log @@ -99,13 +99,17 @@ Constant (const void()*) main::$1 = getfn::return#0 Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [1] if(true) goto main::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused variable (byte) getfn::b#0 and assignment [2] (byte) getfn::b#0 ← (byte) main::i#1 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks Replacing constant pointer function call fn1 Successful SSA optimization Pass2ConstantCallPointerIdentification +Eliminating unused constant (const void()*) main::$1 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const void()*) getfn::return#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const void()*) getfn::return#1 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::i#0 Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 diff --git a/src/test/ref/function-pointer-noarg-call-5.log b/src/test/ref/function-pointer-noarg-call-5.log index 91e258dd5..231c0ba11 100644 --- a/src/test/ref/function-pointer-noarg-call-5.log +++ b/src/test/ref/function-pointer-noarg-call-5.log @@ -97,6 +97,7 @@ Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks Rewriting multiplication to use shift (byte) main::$2 ← (byte~) main::$0 * (const byte) SIZEOF_POINTER Successful SSA optimization Pass2MultiplyToShiftRewriting +Eliminating unused constant (const byte) SIZEOF_POINTER Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::i#0 Constant inlined $0 = &(void()) fn1() diff --git a/src/test/ref/function-pointer-noarg-call-6.log b/src/test/ref/function-pointer-noarg-call-6.log index bf2c03a71..f22bc33fd 100644 --- a/src/test/ref/function-pointer-noarg-call-6.log +++ b/src/test/ref/function-pointer-noarg-call-6.log @@ -89,6 +89,7 @@ Constant (const word/signed word/dword/signed dword) fn1::$0 = $400+$3e8 Successful SSA optimization Pass2ConstantIdentification Replacing constant pointer function call fn1 Successful SSA optimization Pass2ConstantCallPointerIdentification +Eliminating unused constant (const void()*) main::cls#0 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte*) main::cols#0 Inlining constant with var siblings (const byte*) fn1::screen#0 diff --git a/src/test/ref/function-pointer-noarg-call-7.log b/src/test/ref/function-pointer-noarg-call-7.log index ec9a8ec4e..9cb2ae082 100644 --- a/src/test/ref/function-pointer-noarg-call-7.log +++ b/src/test/ref/function-pointer-noarg-call-7.log @@ -134,7 +134,9 @@ Resolved ranged next value do10::i#1 ← ++ do10::i#2 to ++ Resolved ranged comparison value if(do10::i#1!=rangelast(0,9)) goto do10::@1 to (byte/signed byte/word/signed word/dword/signed dword) $a Replacing constant pointer function call hello Successful SSA optimization Pass2ConstantCallPointerIdentification +Eliminating unused constant (const void()*) do10::fn#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const void()*) main::f#0 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) do10::i#0 Inlining constant with var siblings (const byte) hello::i#0 diff --git a/src/test/ref/function-pointer-noarg-call-9.log b/src/test/ref/function-pointer-noarg-call-9.log index b2cd182b9..b0c3a8434 100644 --- a/src/test/ref/function-pointer-noarg-call-9.log +++ b/src/test/ref/function-pointer-noarg-call-9.log @@ -72,6 +72,7 @@ Successful SSA optimization Pass2ConstantIdentification Replacing constant pointer function call fn1 Replacing constant pointer function call fn1 Successful SSA optimization Pass2ConstantCallPointerIdentification +Eliminating unused constant (const void()*) main::f#0 Successful SSA optimization PassNEliminateUnusedVars Adding NOP phi() at start of @2 Adding NOP phi() at start of @end diff --git a/src/test/ref/function-pointer-noarg-call.log b/src/test/ref/function-pointer-noarg-call.log index b4501ea7e..1c385392d 100644 --- a/src/test/ref/function-pointer-noarg-call.log +++ b/src/test/ref/function-pointer-noarg-call.log @@ -49,6 +49,7 @@ Constant (const byte*) fn1::BORDERCOL#0 = ((byte*))$d020 Successful SSA optimization Pass2ConstantIdentification Replacing constant pointer function call fn1 Successful SSA optimization Pass2ConstantCallPointerIdentification +Eliminating unused constant (const void()*) main::f#0 Successful SSA optimization PassNEliminateUnusedVars Adding NOP phi() at start of @begin Adding NOP phi() at start of @2 diff --git a/src/test/ref/function-pointer-noarg.log b/src/test/ref/function-pointer-noarg.log index 68383764e..2e9d06789 100644 --- a/src/test/ref/function-pointer-noarg.log +++ b/src/test/ref/function-pointer-noarg.log @@ -107,6 +107,7 @@ Consolidated array index constant in *(main::SCREEN#0+1) Consolidated array index constant in *(main::SCREEN#0+2) Consolidated array index constant in *(main::SCREEN#0+3) Successful SSA optimization Pass2ConstantAdditionElimination +Eliminating unused constant (const void()*) main::f#0 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with different constant siblings (const void()*) main::f#1 Inlining constant with different constant siblings (const void()*) main::f#2 diff --git a/src/test/ref/function-pointer-return.log b/src/test/ref/function-pointer-return.log index 813c17331..d5da8e52b 100644 --- a/src/test/ref/function-pointer-return.log +++ b/src/test/ref/function-pointer-return.log @@ -140,6 +140,9 @@ Consolidated array index constant in *(main::SCREEN#0+0) Successful SSA optimization Pass2ConstantAdditionElimination if() condition always true - replacing block destination [1] if(true) goto main::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused variable (byte) fn1::return#0 and assignment [9] (byte) fn1::return#0 ← *((const byte*) fn1::BORDERCOL#0) +Eliminating unused variable (byte) fn2::return#0 and assignment [12] (byte) fn2::return#0 ← *((const byte*) fn2::BGCOL#0) +Eliminating unused constant (const byte()*) main::f#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/halfscii.asm b/src/test/ref/halfscii.asm index b452a7471..179529db1 100644 --- a/src/test/ref/halfscii.asm +++ b/src/test/ref/halfscii.asm @@ -7,11 +7,10 @@ .label D018 = $d018 .label CHARSET4 = $2800 main: { - .label _1 = 8 - .label _11 = 8 - .label _21 = 8 - .label _30 = 8 - .label chargen1 = 6 + .label _1 = 6 + .label _11 = 6 + .label _21 = 6 + .label _30 = 6 .label charset4 = 4 .label chargen = 2 sei @@ -26,19 +25,13 @@ main: { lda #>CHARGEN sta chargen+1 b1: - lda chargen - clc - adc #1 - sta chargen1 - lda chargen+1 - adc #0 - sta chargen1+1 lda #$60 ldy #0 and (chargen),y sta _1 lda #$60 - and (chargen1),y + ldy #1 + and (chargen),y lsr lsr ora _1 @@ -61,7 +54,8 @@ main: { and (chargen),y sta _11 lda #$18 - and (chargen1),y + ldy #1 + and (chargen),y lsr lsr ora _11 @@ -81,7 +75,8 @@ main: { asl sta _21 lda #6 - and (chargen1),y + ldy #1 + and (chargen),y lsr ora _21 tay @@ -100,7 +95,8 @@ main: { asl sta _30 lda #1 - and (chargen1),y + tay + and (chargen),y ora _30 tay lda bits_count,y diff --git a/src/test/ref/halfscii.cfg b/src/test/ref/halfscii.cfg index b97488b67..06ed76346 100644 --- a/src/test/ref/halfscii.cfg +++ b/src/test/ref/halfscii.cfg @@ -14,81 +14,80 @@ main: scope:[main] from @1 main::@1: scope:[main] from main main::@5 [6] (byte*) main::charset4#10 ← phi( main/(const byte*) CHARSET4#0 main::@5/(byte*) main::charset4#1 ) [6] (byte*) main::chargen#10 ← phi( main/(const byte*) CHARGEN#0 main::@5/(byte*) main::chargen#1 ) - [7] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [8] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 - [9] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $60 - [10] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 - [11] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 - [12] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [13] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 - [14] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) - [15] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 + [7] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 + [8] (byte~) main::$2 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $60 + [9] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 + [10] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 + [11] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [12] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 + [13] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) + [14] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 to:main::@6 main::@6: scope:[main] from main::@1 - [16] phi() + [15] phi() to:main::@2 main::@2: scope:[main] from main::@1 main::@6 - [17] (byte) main::bits_gen#9 ← phi( main::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@6/(byte/signed byte/word/signed word/dword/signed dword) 1 ) - [18] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [19] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 - [20] (byte~) main::$12 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $18 - [21] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 - [22] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 - [23] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [24] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) - [25] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 + [16] (byte) main::bits_gen#9 ← phi( main::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@6/(byte/signed byte/word/signed word/dword/signed dword) 1 ) + [17] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [18] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 + [19] (byte~) main::$12 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $18 + [20] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 + [21] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 + [22] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [23] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) + [24] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 to:main::@7 main::@7: scope:[main] from main::@2 - [26] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [25] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 to:main::@3 main::@3: scope:[main] from main::@2 main::@7 - [27] (byte) main::bits_gen#11 ← phi( main::@2/(byte) main::bits_gen#1 main::@7/(byte) main::bits_gen#4 ) - [28] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [29] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 - [30] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [31] (byte~) main::$22 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 6 - [32] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [33] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 - [34] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) - [35] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 + [26] (byte) main::bits_gen#11 ← phi( main::@2/(byte) main::bits_gen#1 main::@7/(byte) main::bits_gen#4 ) + [27] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [28] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 + [29] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [30] (byte~) main::$22 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 6 + [31] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [32] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 + [33] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) + [34] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 to:main::@8 main::@8: scope:[main] from main::@3 - [36] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [35] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 to:main::@4 main::@4: scope:[main] from main::@3 main::@8 - [37] (byte) main::bits_gen#13 ← phi( main::@3/(byte) main::bits_gen#14 main::@8/(byte) main::bits_gen#6 ) - [38] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [39] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 - [40] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 - [41] (byte~) main::$31 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 1 - [42] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 - [43] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) - [44] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 + [36] (byte) main::bits_gen#13 ← phi( main::@3/(byte) main::bits_gen#14 main::@8/(byte) main::bits_gen#6 ) + [37] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [38] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 + [39] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 + [40] (byte~) main::$31 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 1 + [41] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 + [42] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) + [43] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 to:main::@9 main::@9: scope:[main] from main::@4 - [45] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [44] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 to:main::@5 main::@5: scope:[main] from main::@4 main::@9 - [46] (byte) main::bits_gen#15 ← phi( main::@4/(byte) main::bits_gen#16 main::@9/(byte) main::bits_gen#8 ) - [47] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [48] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 - [49] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 - [50] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 - [51] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 + [45] (byte) main::bits_gen#15 ← phi( main::@4/(byte) main::bits_gen#16 main::@9/(byte) main::bits_gen#8 ) + [46] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [47] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 + [48] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 + [49] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 + [50] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 to:main::@10 main::@10: scope:[main] from main::@5 - [52] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 + [51] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 asm { cli } to:main::@11 main::@11: scope:[main] from main::@10 main::@11 - [54] (byte) main::i#2 ← phi( main::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@11/(byte) main::i#1 ) - [55] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 - [56] (byte) main::i#1 ← ++ (byte) main::i#2 - [57] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 + [53] (byte) main::i#2 ← phi( main::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@11/(byte) main::i#1 ) + [54] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 + [55] (byte) main::i#1 ← ++ (byte) main::i#2 + [56] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 to:main::@12 main::@12: scope:[main] from main::@11 - [58] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 + [57] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 to:main::@return main::@return: scope:[main] from main::@12 - [59] return + [58] return to:@return diff --git a/src/test/ref/halfscii.log b/src/test/ref/halfscii.log index ddb88be92..5a5c0a511 100644 --- a/src/test/ref/halfscii.log +++ b/src/test/ref/halfscii.log @@ -358,6 +358,11 @@ Rewriting multiplication to use shift (byte) main::bits_gen#16 ← (byte) main:: Rewriting multiplication to use shift (byte/signed word/word/dword/signed dword~) main::$30 ← (byte~) main::$29 * (byte/signed byte/word/signed word/dword/signed dword) 4 Rewriting multiplication to use shift (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 * (byte/signed byte/word/signed word/dword/signed dword) 2 Successful SSA optimization Pass2MultiplyToShiftRewriting +Converting *(pointer+n) to pointer[n] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- *(main::chargen#10 + 1) +Converting *(pointer+n) to pointer[n] (byte~) main::$12 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- *(main::chargen#10 + 1) +Converting *(pointer+n) to pointer[n] (byte~) main::$22 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- *(main::chargen#10 + 1) +Converting *(pointer+n) to pointer[n] (byte~) main::$31 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- *(main::chargen#10 + 1) +Successful SSA optimization Pass2InlineDerefIdx Inferred type updated to byte in [6] (byte/signed word/word/dword/signed dword~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 Inferred type updated to byte in [7] (byte/word/dword~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 Inferred type updated to byte in [8] (byte/signed word/word/dword/signed dword~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 @@ -370,6 +375,8 @@ Inferred type updated to byte in [26] (byte/signed word/word/dword/signed dword~ Inferred type updated to byte in [27] (byte/word/dword~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 Inferred type updated to byte in [34] (byte/signed word/word/dword/signed dword~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 Inferred type updated to byte in [36] (byte/word/dword~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 +Eliminating unused variable (byte*) main::chargen1#0 and assignment [3] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 +Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::bits_gen#0 Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte*) main::chargen#0 @@ -396,15 +403,15 @@ CALL GRAPH Calls in [] to main:2 Created 7 initial phi equivalence classes -Coalesced [27] main::bits_gen#18 ← main::bits_gen#4 -Coalesced [38] main::bits_gen#20 ← main::bits_gen#6 -Coalesced [48] main::bits_gen#22 ← main::bits_gen#8 -Coalesced [63] main::i#3 ← main::i#1 -Coalesced [64] main::chargen#11 ← main::chargen#1 -Coalesced [65] main::charset4#11 ← main::charset4#1 -Coalesced [66] main::bits_gen#21 ← main::bits_gen#16 -Coalesced [67] main::bits_gen#19 ← main::bits_gen#14 -Coalesced [68] main::bits_gen#17 ← main::bits_gen#1 +Coalesced [26] main::bits_gen#18 ← main::bits_gen#4 +Coalesced [37] main::bits_gen#20 ← main::bits_gen#6 +Coalesced [47] main::bits_gen#22 ← main::bits_gen#8 +Coalesced [62] main::i#3 ← main::i#1 +Coalesced [63] main::chargen#11 ← main::chargen#1 +Coalesced [64] main::charset4#11 ← main::charset4#1 +Coalesced [65] main::bits_gen#21 ← main::bits_gen#16 +Coalesced [66] main::bits_gen#19 ← main::bits_gen#14 +Coalesced [67] main::bits_gen#17 ← main::bits_gen#1 Coalesced down to 7 phi equivalence classes Culled Empty Block (label) main::@17 Culled Empty Block (label) main::@13 @@ -433,83 +440,82 @@ main: scope:[main] from @1 main::@1: scope:[main] from main main::@5 [6] (byte*) main::charset4#10 ← phi( main/(const byte*) CHARSET4#0 main::@5/(byte*) main::charset4#1 ) [6] (byte*) main::chargen#10 ← phi( main/(const byte*) CHARGEN#0 main::@5/(byte*) main::chargen#1 ) - [7] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [8] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 - [9] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $60 - [10] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 - [11] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 - [12] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [13] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 - [14] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) - [15] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 + [7] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 + [8] (byte~) main::$2 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $60 + [9] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 + [10] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 + [11] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [12] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 + [13] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) + [14] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 to:main::@6 main::@6: scope:[main] from main::@1 - [16] phi() + [15] phi() to:main::@2 main::@2: scope:[main] from main::@1 main::@6 - [17] (byte) main::bits_gen#9 ← phi( main::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@6/(byte/signed byte/word/signed word/dword/signed dword) 1 ) - [18] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [19] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 - [20] (byte~) main::$12 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $18 - [21] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 - [22] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 - [23] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [24] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) - [25] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 + [16] (byte) main::bits_gen#9 ← phi( main::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@6/(byte/signed byte/word/signed word/dword/signed dword) 1 ) + [17] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [18] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 + [19] (byte~) main::$12 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $18 + [20] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 + [21] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 + [22] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [23] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) + [24] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 to:main::@7 main::@7: scope:[main] from main::@2 - [26] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [25] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 to:main::@3 main::@3: scope:[main] from main::@2 main::@7 - [27] (byte) main::bits_gen#11 ← phi( main::@2/(byte) main::bits_gen#1 main::@7/(byte) main::bits_gen#4 ) - [28] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [29] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 - [30] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [31] (byte~) main::$22 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 6 - [32] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [33] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 - [34] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) - [35] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 + [26] (byte) main::bits_gen#11 ← phi( main::@2/(byte) main::bits_gen#1 main::@7/(byte) main::bits_gen#4 ) + [27] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [28] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 + [29] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [30] (byte~) main::$22 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 6 + [31] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [32] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 + [33] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) + [34] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 to:main::@8 main::@8: scope:[main] from main::@3 - [36] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [35] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 to:main::@4 main::@4: scope:[main] from main::@3 main::@8 - [37] (byte) main::bits_gen#13 ← phi( main::@3/(byte) main::bits_gen#14 main::@8/(byte) main::bits_gen#6 ) - [38] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [39] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 - [40] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 - [41] (byte~) main::$31 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 1 - [42] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 - [43] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) - [44] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 + [36] (byte) main::bits_gen#13 ← phi( main::@3/(byte) main::bits_gen#14 main::@8/(byte) main::bits_gen#6 ) + [37] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [38] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 + [39] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 + [40] (byte~) main::$31 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 1 + [41] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 + [42] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) + [43] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 to:main::@9 main::@9: scope:[main] from main::@4 - [45] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [44] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 to:main::@5 main::@5: scope:[main] from main::@4 main::@9 - [46] (byte) main::bits_gen#15 ← phi( main::@4/(byte) main::bits_gen#16 main::@9/(byte) main::bits_gen#8 ) - [47] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [48] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 - [49] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 - [50] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 - [51] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 + [45] (byte) main::bits_gen#15 ← phi( main::@4/(byte) main::bits_gen#16 main::@9/(byte) main::bits_gen#8 ) + [46] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [47] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 + [48] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 + [49] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 + [50] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 to:main::@10 main::@10: scope:[main] from main::@5 - [52] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 + [51] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 asm { cli } to:main::@11 main::@11: scope:[main] from main::@10 main::@11 - [54] (byte) main::i#2 ← phi( main::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@11/(byte) main::i#1 ) - [55] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 - [56] (byte) main::i#1 ← ++ (byte) main::i#2 - [57] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 + [53] (byte) main::i#2 ← phi( main::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@11/(byte) main::i#1 ) + [54] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 + [55] (byte) main::i#1 ← ++ (byte) main::i#2 + [56] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 to:main::@12 main::@12: scope:[main] from main::@11 - [58] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 + [57] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 to:main::@return main::@return: scope:[main] from main::@12 - [59] return + [58] return to:@return @@ -560,12 +566,11 @@ VARIABLE REGISTER WEIGHTS (byte) main::bits_gen#9 11.0 (byte*) main::chargen (byte*) main::chargen#1 16.5 -(byte*) main::chargen#10 1.75 +(byte*) main::chargen#10 2.558139534883721 (byte*) main::chargen1 -(byte*) main::chargen1#0 1.6176470588235294 (byte*) main::charset4 (byte*) main::charset4#1 7.333333333333333 -(byte*) main::charset4#10 0.7674418604651163 +(byte*) main::charset4#10 0.7857142857142858 (byte) main::i (byte) main::i#1 16.5 (byte) main::i#2 22.0 @@ -578,7 +583,6 @@ Initial phi equivalence classes [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] [ main::i#2 main::i#1 ] -Added variable main::chargen1#0 to zero page equivalence class [ main::chargen1#0 ] Added variable main::$1 to zero page equivalence class [ main::$1 ] Added variable main::$2 to zero page equivalence class [ main::$2 ] Added variable main::$3 to zero page equivalence class [ main::$3 ] @@ -612,7 +616,6 @@ Complete equivalence classes [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] [ main::i#2 main::i#1 ] -[ main::chargen1#0 ] [ main::$1 ] [ main::$2 ] [ main::$3 ] @@ -645,32 +648,31 @@ Allocated zp ZP_BYTE:7 [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] Allocated zp ZP_BYTE:8 [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] Allocated zp ZP_BYTE:9 [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] Allocated zp ZP_BYTE:10 [ main::i#2 main::i#1 ] -Allocated zp ZP_WORD:11 [ main::chargen1#0 ] -Allocated zp ZP_BYTE:13 [ main::$1 ] -Allocated zp ZP_BYTE:14 [ main::$2 ] -Allocated zp ZP_BYTE:15 [ main::$3 ] -Allocated zp ZP_BYTE:16 [ main::$4 ] -Allocated zp ZP_BYTE:17 [ main::$5 ] -Allocated zp ZP_BYTE:18 [ main::$6 ] -Allocated zp ZP_BYTE:19 [ main::bits#0 ] -Allocated zp ZP_BYTE:20 [ main::$11 ] -Allocated zp ZP_BYTE:21 [ main::$12 ] -Allocated zp ZP_BYTE:22 [ main::$13 ] -Allocated zp ZP_BYTE:23 [ main::$14 ] -Allocated zp ZP_BYTE:24 [ main::$15 ] -Allocated zp ZP_BYTE:25 [ main::bits#1 ] -Allocated zp ZP_BYTE:26 [ main::$20 ] -Allocated zp ZP_BYTE:27 [ main::$21 ] -Allocated zp ZP_BYTE:28 [ main::$22 ] -Allocated zp ZP_BYTE:29 [ main::$23 ] -Allocated zp ZP_BYTE:30 [ main::$24 ] -Allocated zp ZP_BYTE:31 [ main::bits#2 ] -Allocated zp ZP_BYTE:32 [ main::$29 ] -Allocated zp ZP_BYTE:33 [ main::$30 ] -Allocated zp ZP_BYTE:34 [ main::$31 ] -Allocated zp ZP_BYTE:35 [ main::$32 ] -Allocated zp ZP_BYTE:36 [ main::bits#3 ] -Allocated zp ZP_BYTE:37 [ main::bits_gen#7 ] +Allocated zp ZP_BYTE:11 [ main::$1 ] +Allocated zp ZP_BYTE:12 [ main::$2 ] +Allocated zp ZP_BYTE:13 [ main::$3 ] +Allocated zp ZP_BYTE:14 [ main::$4 ] +Allocated zp ZP_BYTE:15 [ main::$5 ] +Allocated zp ZP_BYTE:16 [ main::$6 ] +Allocated zp ZP_BYTE:17 [ main::bits#0 ] +Allocated zp ZP_BYTE:18 [ main::$11 ] +Allocated zp ZP_BYTE:19 [ main::$12 ] +Allocated zp ZP_BYTE:20 [ main::$13 ] +Allocated zp ZP_BYTE:21 [ main::$14 ] +Allocated zp ZP_BYTE:22 [ main::$15 ] +Allocated zp ZP_BYTE:23 [ main::bits#1 ] +Allocated zp ZP_BYTE:24 [ main::$20 ] +Allocated zp ZP_BYTE:25 [ main::$21 ] +Allocated zp ZP_BYTE:26 [ main::$22 ] +Allocated zp ZP_BYTE:27 [ main::$23 ] +Allocated zp ZP_BYTE:28 [ main::$24 ] +Allocated zp ZP_BYTE:29 [ main::bits#2 ] +Allocated zp ZP_BYTE:30 [ main::$29 ] +Allocated zp ZP_BYTE:31 [ main::$30 ] +Allocated zp ZP_BYTE:32 [ main::$31 ] +Allocated zp ZP_BYTE:33 [ main::$32 ] +Allocated zp ZP_BYTE:34 [ main::bits#3 ] +Allocated zp ZP_BYTE:35 [ main::bits_gen#7 ] INITIAL ASM //SEG0 File Comments @@ -700,34 +702,33 @@ bend_from_b1: bend: //SEG9 main main: { - .label _1 = $d - .label _2 = $e - .label _3 = $f - .label _4 = $10 - .label _5 = $11 - .label _6 = $12 - .label _11 = $14 - .label _12 = $15 - .label _13 = $16 - .label _14 = $17 - .label _15 = $18 - .label _20 = $1a - .label _21 = $1b - .label _22 = $1c - .label _23 = $1d - .label _24 = $1e - .label _29 = $20 - .label _30 = $21 - .label _31 = $22 - .label _32 = $23 - .label chargen1 = $b - .label bits = $13 + .label _1 = $b + .label _2 = $c + .label _3 = $d + .label _4 = $e + .label _5 = $f + .label _6 = $10 + .label _11 = $12 + .label _12 = $13 + .label _13 = $14 + .label _14 = $15 + .label _15 = $16 + .label _20 = $18 + .label _21 = $19 + .label _22 = $1a + .label _23 = $1b + .label _24 = $1c + .label _29 = $1e + .label _30 = $1f + .label _31 = $20 + .label _32 = $21 + .label bits = $11 .label bits_gen = 7 - .label bits_1 = $19 - .label bits_2 = $1f - .label bits_3 = $24 + .label bits_1 = $17 + .label bits_2 = $1d + .label bits_3 = $22 .label bits_gen_6 = 8 - .label bits_gen_7 = $25 + .label bits_gen_7 = $23 .label charset4 = 4 .label chargen = 2 .label bits_gen_8 = 9 @@ -762,219 +763,211 @@ main: { jmp b1 //SEG18 main::@1 b1: - //SEG19 [7] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- pbuz1=pbuz2_plus_1 - lda chargen - clc - adc #1 - sta chargen1 - lda chargen+1 - adc #0 - sta chargen1+1 - //SEG20 [8] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG19 [7] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$60 ldy #0 and (chargen),y sta _1 - //SEG21 [9] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG20 [8] (byte~) main::$2 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuz1=pbuz2_derefidx_vbuc1_band_vbuc2 lda #$60 - ldy #0 - and (chargen1),y + ldy #1 + and (chargen),y sta _2 - //SEG22 [10] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_ror_2 + //SEG21 [9] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_ror_2 lda _2 lsr lsr sta _3 - //SEG23 [11] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 -- vbuz1=vbuz2_bor_vbuz3 + //SEG22 [10] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 -- vbuz1=vbuz2_bor_vbuz3 lda _1 ora _3 sta _4 - //SEG24 [12] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG23 [11] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda _4 lsr sta _5 - //SEG25 [13] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_ror_2 + //SEG24 [12] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_ror_2 lda _5 lsr lsr sta _6 - //SEG26 [14] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG25 [13] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _6 lda bits_count,y sta bits - //SEG27 [15] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 -- vbuz1_lt_vbuc1_then_la1 + //SEG26 [14] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 -- vbuz1_lt_vbuc1_then_la1 lda bits cmp #2 bcc b2_from_b1 - //SEG28 [16] phi from main::@1 to main::@6 [phi:main::@1->main::@6] + //SEG27 [15] phi from main::@1 to main::@6 [phi:main::@1->main::@6] b6_from_b1: jmp b6 - //SEG29 main::@6 + //SEG28 main::@6 b6: - //SEG30 [17] phi from main::@6 to main::@2 [phi:main::@6->main::@2] + //SEG29 [16] phi from main::@6 to main::@2 [phi:main::@6->main::@2] b2_from_b6: - //SEG31 [17] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:main::@6->main::@2#0] -- vbuz1=vbuc1 + //SEG30 [16] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:main::@6->main::@2#0] -- vbuz1=vbuc1 lda #1 sta bits_gen_9 jmp b2 - //SEG32 [17] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + //SEG31 [16] phi from main::@1 to main::@2 [phi:main::@1->main::@2] b2_from_b1: - //SEG33 [17] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@1->main::@2#0] -- vbuz1=vbuc1 + //SEG32 [16] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@1->main::@2#0] -- vbuz1=vbuc1 lda #0 sta bits_gen_9 jmp b2 - //SEG34 main::@2 + //SEG33 main::@2 b2: - //SEG35 [18] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 + //SEG34 [17] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 lda bits_gen_9 asl sta bits_gen - //SEG36 [19] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG35 [18] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$18 ldy #0 and (chargen),y sta _11 - //SEG37 [20] (byte~) main::$12 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG36 [19] (byte~) main::$12 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuz1=pbuz2_derefidx_vbuc1_band_vbuc2 lda #$18 - ldy #0 - and (chargen1),y + ldy #1 + and (chargen),y sta _12 - //SEG38 [21] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_ror_2 + //SEG37 [20] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_ror_2 lda _12 lsr lsr sta _13 - //SEG39 [22] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 -- vbuz1=vbuz2_bor_vbuz3 + //SEG38 [21] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 -- vbuz1=vbuz2_bor_vbuz3 lda _11 ora _13 sta _14 - //SEG40 [23] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG39 [22] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda _14 lsr sta _15 - //SEG41 [24] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG40 [23] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _15 lda bits_count,y sta bits_1 - //SEG42 [25] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 -- vbuz1_lt_vbuc1_then_la1 + //SEG41 [24] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 -- vbuz1_lt_vbuc1_then_la1 lda bits_1 cmp #2 bcc b3_from_b2 jmp b7 - //SEG43 main::@7 + //SEG42 main::@7 b7: - //SEG44 [26] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_plus_1 + //SEG43 [25] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_plus_1 inc bits_gen - //SEG45 [27] phi from main::@2 main::@7 to main::@3 [phi:main::@2/main::@7->main::@3] + //SEG44 [26] phi from main::@2 main::@7 to main::@3 [phi:main::@2/main::@7->main::@3] b3_from_b2: b3_from_b7: - //SEG46 [27] phi (byte) main::bits_gen#11 = (byte) main::bits_gen#1 [phi:main::@2/main::@7->main::@3#0] -- register_copy + //SEG45 [26] phi (byte) main::bits_gen#11 = (byte) main::bits_gen#1 [phi:main::@2/main::@7->main::@3#0] -- register_copy jmp b3 - //SEG47 main::@3 + //SEG46 main::@3 b3: - //SEG48 [28] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 + //SEG47 [27] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 lda bits_gen asl sta bits_gen_14 - //SEG49 [29] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG48 [28] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #6 ldy #0 and (chargen),y sta _20 - //SEG50 [30] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 + //SEG49 [29] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 lda _20 asl sta _21 - //SEG51 [31] (byte~) main::$22 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG50 [30] (byte~) main::$22 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuz1=pbuz2_derefidx_vbuc1_band_vbuc2 lda #6 - ldy #0 - and (chargen1),y + ldy #1 + and (chargen),y sta _22 - //SEG52 [32] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG51 [31] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 lda _22 lsr sta _23 - //SEG53 [33] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 -- vbuz1=vbuz2_bor_vbuz3 + //SEG52 [32] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 -- vbuz1=vbuz2_bor_vbuz3 lda _21 ora _23 sta _24 - //SEG54 [34] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG53 [33] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _24 lda bits_count,y sta bits_2 - //SEG55 [35] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 -- vbuz1_lt_vbuc1_then_la1 + //SEG54 [34] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 -- vbuz1_lt_vbuc1_then_la1 lda bits_2 cmp #2 bcc b4_from_b3 jmp b8 - //SEG56 main::@8 + //SEG55 main::@8 b8: - //SEG57 [36] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_plus_1 + //SEG56 [35] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_plus_1 inc bits_gen_6 - //SEG58 [37] phi from main::@3 main::@8 to main::@4 [phi:main::@3/main::@8->main::@4] + //SEG57 [36] phi from main::@3 main::@8 to main::@4 [phi:main::@3/main::@8->main::@4] b4_from_b3: b4_from_b8: - //SEG59 [37] phi (byte) main::bits_gen#13 = (byte) main::bits_gen#14 [phi:main::@3/main::@8->main::@4#0] -- register_copy + //SEG58 [36] phi (byte) main::bits_gen#13 = (byte) main::bits_gen#14 [phi:main::@3/main::@8->main::@4#0] -- register_copy jmp b4 - //SEG60 main::@4 + //SEG59 main::@4 b4: - //SEG61 [38] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 + //SEG60 [37] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 lda bits_gen_13 asl sta bits_gen_16 - //SEG62 [39] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG61 [38] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #1 ldy #0 and (chargen),y sta _29 - //SEG63 [40] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_rol_2 + //SEG62 [39] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_rol_2 lda _29 asl asl sta _30 - //SEG64 [41] (byte~) main::$31 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG63 [40] (byte~) main::$31 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=pbuz2_derefidx_vbuc1_band_vbuc1 lda #1 - ldy #0 - and (chargen1),y + ldy #1 + and (chargen),y sta _31 - //SEG65 [42] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 -- vbuz1=vbuz2_bor_vbuz3 + //SEG64 [41] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 -- vbuz1=vbuz2_bor_vbuz3 lda _30 ora _31 sta _32 - //SEG66 [43] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG65 [42] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _32 lda bits_count,y sta bits_3 - //SEG67 [44] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 -- vbuz1_lt_vbuc1_then_la1 + //SEG66 [43] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 -- vbuz1_lt_vbuc1_then_la1 lda bits_3 cmp #2 bcc b5_from_b4 jmp b9 - //SEG68 main::@9 + //SEG67 main::@9 b9: - //SEG69 [45] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_plus_1 + //SEG68 [44] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_plus_1 inc bits_gen_8 - //SEG70 [46] phi from main::@4 main::@9 to main::@5 [phi:main::@4/main::@9->main::@5] + //SEG69 [45] phi from main::@4 main::@9 to main::@5 [phi:main::@4/main::@9->main::@5] b5_from_b4: b5_from_b9: - //SEG71 [46] phi (byte) main::bits_gen#15 = (byte) main::bits_gen#16 [phi:main::@4/main::@9->main::@5#0] -- register_copy + //SEG70 [45] phi (byte) main::bits_gen#15 = (byte) main::bits_gen#16 [phi:main::@4/main::@9->main::@5#0] -- register_copy jmp b5 - //SEG72 main::@5 + //SEG71 main::@5 b5: - //SEG73 [47] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 + //SEG72 [46] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 lda bits_gen_15 asl sta bits_gen_7 - //SEG74 [48] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 -- _deref_pbuz1=vbuz2 + //SEG73 [47] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 -- _deref_pbuz1=vbuz2 lda bits_gen_7 ldy #0 sta (charset4),y - //SEG75 [49] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 -- pbuz1=_inc_pbuz1 + //SEG74 [48] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 -- pbuz1=_inc_pbuz1 inc charset4 bne !+ inc charset4+1 !: - //SEG76 [50] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz1_plus_2 + //SEG75 [49] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz1_plus_2 lda chargen clc adc #2 @@ -982,7 +975,7 @@ main: { bcc !+ inc chargen+1 !: - //SEG77 [51] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 -- pbuz1_lt_pbuc1_then_la1 + //SEG76 [50] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 -- pbuz1_lt_pbuc1_then_la1 lda chargen+1 cmp #>CHARGEN+$800 bcc b1_from_b5 @@ -992,118 +985,116 @@ main: { bcc b1_from_b5 !: jmp b10 - //SEG78 main::@10 + //SEG77 main::@10 b10: - //SEG79 [52] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 + //SEG78 [51] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT - //SEG80 asm { cli } + //SEG79 asm { cli } cli - //SEG81 [54] phi from main::@10 to main::@11 [phi:main::@10->main::@11] + //SEG80 [53] phi from main::@10 to main::@11 [phi:main::@10->main::@11] b11_from_b10: - //SEG82 [54] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@10->main::@11#0] -- vbuz1=vbuc1 + //SEG81 [53] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@10->main::@11#0] -- vbuz1=vbuc1 lda #0 sta i jmp b11 - //SEG83 [54] phi from main::@11 to main::@11 [phi:main::@11->main::@11] + //SEG82 [53] phi from main::@11 to main::@11 [phi:main::@11->main::@11] b11_from_b11: - //SEG84 [54] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@11->main::@11#0] -- register_copy + //SEG83 [53] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@11->main::@11#0] -- register_copy jmp b11 - //SEG85 main::@11 + //SEG84 main::@11 b11: - //SEG86 [55] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 -- pbuc1_derefidx_vbuz1=vbuz1 + //SEG85 [54] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 -- pbuc1_derefidx_vbuz1=vbuz1 ldy i tya sta SCREEN,y - //SEG87 [56] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 + //SEG86 [55] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 inc i - //SEG88 [57] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 -- vbuz1_neq_0_then_la1 + //SEG87 [56] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 -- vbuz1_neq_0_then_la1 lda i cmp #0 bne b11_from_b11 jmp b12 - //SEG89 main::@12 + //SEG88 main::@12 b12: - //SEG90 [58] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 -- _deref_pbuc1=vbuc2 + //SEG89 [57] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 -- _deref_pbuc1=vbuc2 lda #$19 sta D018 jmp breturn - //SEG91 main::@return + //SEG90 main::@return breturn: - //SEG92 [59] return + //SEG91 [58] return rts } bits_count: .byte 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 REGISTER UPLIFT POTENTIAL REGISTERS Statement [5] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [7] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] ) always clobbers reg byte a -Statement [8] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 ] ) always clobbers reg byte a reg byte y -Statement [9] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $60 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$2 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:13 [ main::$1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ main::$1 ] -Statement [10] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$3 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$3 ] ) always clobbers reg byte a -Statement [12] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$5 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$5 ] ) always clobbers reg byte a -Statement [13] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$6 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$6 ] ) always clobbers reg byte a -Statement [18] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] ) always clobbers reg byte a -Statement [19] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 ] ) always clobbers reg byte a reg byte y +Statement [7] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 [ main::chargen#10 main::charset4#10 main::$1 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$1 ] ) always clobbers reg byte a reg byte y +Statement [8] (byte~) main::$2 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $60 [ main::chargen#10 main::charset4#10 main::$1 main::$2 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$1 main::$2 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:11 [ main::$1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:11 [ main::$1 ] +Statement [9] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::$1 main::$3 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$1 main::$3 ] ) always clobbers reg byte a +Statement [11] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::$5 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$5 ] ) always clobbers reg byte a +Statement [12] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::$6 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$6 ] ) always clobbers reg byte a +Statement [17] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#1 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 ] ) always clobbers reg byte a +Statement [18] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:7 [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] -Statement [20] (byte~) main::$12 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $18 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 main::$12 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 main::$12 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:20 [ main::$11 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:20 [ main::$11 ] -Statement [21] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 main::$13 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 main::$13 ] ) always clobbers reg byte a -Statement [23] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 ] ) always clobbers reg byte a -Statement [28] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] ) always clobbers reg byte a -Statement [29] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$20 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$20 ] ) always clobbers reg byte a reg byte y +Statement [19] (byte~) main::$12 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $18 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 main::$12 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 main::$12 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:18 [ main::$11 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:18 [ main::$11 ] +Statement [20] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 main::$13 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 main::$13 ] ) always clobbers reg byte a +Statement [22] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$15 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$15 ] ) always clobbers reg byte a +Statement [27] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#14 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 ] ) always clobbers reg byte a +Statement [28] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$20 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$20 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:8 [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] -Statement [30] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 ] ) always clobbers reg byte a -Statement [31] (byte~) main::$22 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 6 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 main::$22 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 main::$22 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:27 [ main::$21 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:27 [ main::$21 ] -Statement [32] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 main::$23 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 main::$23 ] ) always clobbers reg byte a -Statement [38] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 ] ) always clobbers reg byte a -Statement [39] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$29 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$29 ] ) always clobbers reg byte a reg byte y +Statement [29] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 ] ) always clobbers reg byte a +Statement [30] (byte~) main::$22 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 6 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 main::$22 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 main::$22 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:25 [ main::$21 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:25 [ main::$21 ] +Statement [31] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 main::$23 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 main::$23 ] ) always clobbers reg byte a +Statement [37] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 ] ) always clobbers reg byte a +Statement [38] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$29 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$29 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:9 [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] -Statement [40] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$30 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$30 ] ) always clobbers reg byte a -Statement [41] (byte~) main::$31 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 main::$31 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 main::$31 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:33 [ main::$30 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:33 [ main::$30 ] -Statement [47] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ) always clobbers reg byte a -Statement [48] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 [ main::chargen#10 main::charset4#10 ] ( main:2 [ main::chargen#10 main::charset4#10 ] ) always clobbers reg byte y -Statement [50] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#1 main::charset4#1 ] ( main:2 [ main::chargen#1 main::charset4#1 ] ) always clobbers reg byte a -Statement [51] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 [ main::chargen#1 main::charset4#1 ] ( main:2 [ main::chargen#1 main::charset4#1 ] ) always clobbers reg byte a -Statement [52] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [58] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [39] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 ] ) always clobbers reg byte a +Statement [40] (byte~) main::$31 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 main::$31 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 main::$31 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:31 [ main::$30 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:31 [ main::$30 ] +Statement [46] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ) always clobbers reg byte a +Statement [47] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 [ main::chargen#10 main::charset4#10 ] ( main:2 [ main::chargen#10 main::charset4#10 ] ) always clobbers reg byte y +Statement [49] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#1 main::charset4#1 ] ( main:2 [ main::chargen#1 main::charset4#1 ] ) always clobbers reg byte a +Statement [50] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 [ main::chargen#1 main::charset4#1 ] ( main:2 [ main::chargen#1 main::charset4#1 ] ) always clobbers reg byte a +Statement [51] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [57] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 [ ] ( main:2 [ ] ) always clobbers reg byte a Statement [5] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $32 [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [7] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] ) always clobbers reg byte a -Statement [8] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 ] ) always clobbers reg byte a reg byte y -Statement [9] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $60 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$2 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$2 ] ) always clobbers reg byte a reg byte y -Statement [10] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$3 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$3 ] ) always clobbers reg byte a -Statement [12] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$5 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$5 ] ) always clobbers reg byte a -Statement [13] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$6 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$6 ] ) always clobbers reg byte a -Statement [18] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] ) always clobbers reg byte a -Statement [19] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 ] ) always clobbers reg byte a reg byte y -Statement [20] (byte~) main::$12 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $18 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 main::$12 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 main::$12 ] ) always clobbers reg byte a reg byte y -Statement [21] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 main::$13 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$11 main::$13 ] ) always clobbers reg byte a -Statement [23] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 ] ) always clobbers reg byte a -Statement [28] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] ) always clobbers reg byte a -Statement [29] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$20 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$20 ] ) always clobbers reg byte a reg byte y -Statement [30] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 ] ) always clobbers reg byte a -Statement [31] (byte~) main::$22 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 6 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 main::$22 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 main::$22 ] ) always clobbers reg byte a reg byte y -Statement [32] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 main::$23 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$21 main::$23 ] ) always clobbers reg byte a -Statement [38] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 ] ) always clobbers reg byte a -Statement [39] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$29 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$29 ] ) always clobbers reg byte a reg byte y -Statement [40] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$30 ] ( main:2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$30 ] ) always clobbers reg byte a -Statement [41] (byte~) main::$31 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 main::$31 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 main::$31 ] ) always clobbers reg byte a reg byte y -Statement [47] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ) always clobbers reg byte a -Statement [48] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 [ main::chargen#10 main::charset4#10 ] ( main:2 [ main::chargen#10 main::charset4#10 ] ) always clobbers reg byte y -Statement [50] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#1 main::charset4#1 ] ( main:2 [ main::chargen#1 main::charset4#1 ] ) always clobbers reg byte a -Statement [51] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 [ main::chargen#1 main::charset4#1 ] ( main:2 [ main::chargen#1 main::charset4#1 ] ) always clobbers reg byte a -Statement [52] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [58] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [7] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 [ main::chargen#10 main::charset4#10 main::$1 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$1 ] ) always clobbers reg byte a reg byte y +Statement [8] (byte~) main::$2 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $60 [ main::chargen#10 main::charset4#10 main::$1 main::$2 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$1 main::$2 ] ) always clobbers reg byte a reg byte y +Statement [9] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::$1 main::$3 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$1 main::$3 ] ) always clobbers reg byte a +Statement [11] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::$5 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$5 ] ) always clobbers reg byte a +Statement [12] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::$6 ] ( main:2 [ main::chargen#10 main::charset4#10 main::$6 ] ) always clobbers reg byte a +Statement [17] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#1 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 ] ) always clobbers reg byte a +Statement [18] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 ] ) always clobbers reg byte a reg byte y +Statement [19] (byte~) main::$12 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $18 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 main::$12 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 main::$12 ] ) always clobbers reg byte a reg byte y +Statement [20] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 main::$13 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$11 main::$13 ] ) always clobbers reg byte a +Statement [22] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$15 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#1 main::$15 ] ) always clobbers reg byte a +Statement [27] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#14 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 ] ) always clobbers reg byte a +Statement [28] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$20 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$20 ] ) always clobbers reg byte a reg byte y +Statement [29] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 ] ) always clobbers reg byte a +Statement [30] (byte~) main::$22 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 6 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 main::$22 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 main::$22 ] ) always clobbers reg byte a reg byte y +Statement [31] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 main::$23 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#14 main::$21 main::$23 ] ) always clobbers reg byte a +Statement [37] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 ] ) always clobbers reg byte a +Statement [38] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$29 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$29 ] ) always clobbers reg byte a reg byte y +Statement [39] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 ] ) always clobbers reg byte a +Statement [40] (byte~) main::$31 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 main::$31 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$30 main::$31 ] ) always clobbers reg byte a reg byte y +Statement [46] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ( main:2 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ) always clobbers reg byte a +Statement [47] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 [ main::chargen#10 main::charset4#10 ] ( main:2 [ main::chargen#10 main::charset4#10 ] ) always clobbers reg byte y +Statement [49] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::chargen#1 main::charset4#1 ] ( main:2 [ main::chargen#1 main::charset4#1 ] ) always clobbers reg byte a +Statement [50] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 [ main::chargen#1 main::charset4#1 ] ( main:2 [ main::chargen#1 main::charset4#1 ] ) always clobbers reg byte a +Statement [51] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [57] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 [ ] ( main:2 [ ] ) always clobbers reg byte a Potential registers zp ZP_WORD:2 [ main::chargen#10 main::chargen#1 ] : zp ZP_WORD:2 , Potential registers zp ZP_WORD:4 [ main::charset4#10 main::charset4#1 ] : zp ZP_WORD:4 , Potential registers zp ZP_BYTE:6 [ main::bits_gen#9 ] : zp ZP_BYTE:6 , reg byte a , reg byte x , reg byte y , @@ -1111,103 +1102,101 @@ Potential registers zp ZP_BYTE:7 [ main::bits_gen#11 main::bits_gen#1 main::bits Potential registers zp ZP_BYTE:8 [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] : zp ZP_BYTE:8 , reg byte x , Potential registers zp ZP_BYTE:9 [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] : zp ZP_BYTE:9 , reg byte x , Potential registers zp ZP_BYTE:10 [ main::i#2 main::i#1 ] : zp ZP_BYTE:10 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:11 [ main::chargen1#0 ] : zp ZP_WORD:11 , -Potential registers zp ZP_BYTE:13 [ main::$1 ] : zp ZP_BYTE:13 , reg byte x , -Potential registers zp ZP_BYTE:14 [ main::$2 ] : zp ZP_BYTE:14 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:15 [ main::$3 ] : zp ZP_BYTE:15 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:16 [ main::$4 ] : zp ZP_BYTE:16 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:17 [ main::$5 ] : zp ZP_BYTE:17 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:18 [ main::$6 ] : zp ZP_BYTE:18 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:19 [ main::bits#0 ] : zp ZP_BYTE:19 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:20 [ main::$11 ] : zp ZP_BYTE:20 , reg byte x , -Potential registers zp ZP_BYTE:21 [ main::$12 ] : zp ZP_BYTE:21 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:22 [ main::$13 ] : zp ZP_BYTE:22 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:23 [ main::$14 ] : zp ZP_BYTE:23 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:24 [ main::$15 ] : zp ZP_BYTE:24 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:25 [ main::bits#1 ] : zp ZP_BYTE:25 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:26 [ main::$20 ] : zp ZP_BYTE:26 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:27 [ main::$21 ] : zp ZP_BYTE:27 , reg byte x , -Potential registers zp ZP_BYTE:28 [ main::$22 ] : zp ZP_BYTE:28 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:29 [ main::$23 ] : zp ZP_BYTE:29 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:30 [ main::$24 ] : zp ZP_BYTE:30 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:31 [ main::bits#2 ] : zp ZP_BYTE:31 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:32 [ main::$29 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:33 [ main::$30 ] : zp ZP_BYTE:33 , reg byte x , -Potential registers zp ZP_BYTE:34 [ main::$31 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:35 [ main::$32 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:36 [ main::bits#3 ] : zp ZP_BYTE:36 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:37 [ main::bits_gen#7 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:11 [ main::$1 ] : zp ZP_BYTE:11 , reg byte x , +Potential registers zp ZP_BYTE:12 [ main::$2 ] : zp ZP_BYTE:12 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:13 [ main::$3 ] : zp ZP_BYTE:13 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:14 [ main::$4 ] : zp ZP_BYTE:14 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:15 [ main::$5 ] : zp ZP_BYTE:15 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:16 [ main::$6 ] : zp ZP_BYTE:16 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:17 [ main::bits#0 ] : zp ZP_BYTE:17 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:18 [ main::$11 ] : zp ZP_BYTE:18 , reg byte x , +Potential registers zp ZP_BYTE:19 [ main::$12 ] : zp ZP_BYTE:19 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:20 [ main::$13 ] : zp ZP_BYTE:20 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:21 [ main::$14 ] : zp ZP_BYTE:21 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:22 [ main::$15 ] : zp ZP_BYTE:22 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:23 [ main::bits#1 ] : zp ZP_BYTE:23 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:24 [ main::$20 ] : zp ZP_BYTE:24 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:25 [ main::$21 ] : zp ZP_BYTE:25 , reg byte x , +Potential registers zp ZP_BYTE:26 [ main::$22 ] : zp ZP_BYTE:26 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:27 [ main::$23 ] : zp ZP_BYTE:27 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:28 [ main::$24 ] : zp ZP_BYTE:28 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:29 [ main::bits#2 ] : zp ZP_BYTE:29 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:30 [ main::$29 ] : zp ZP_BYTE:30 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:31 [ main::$30 ] : zp ZP_BYTE:31 , reg byte x , +Potential registers zp ZP_BYTE:32 [ main::$31 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:33 [ main::$32 ] : zp ZP_BYTE:33 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:34 [ main::bits#3 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:35 [ main::bits_gen#7 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 59.71: zp ZP_BYTE:9 [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] 59.12: zp ZP_BYTE:7 [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] 59.12: zp ZP_BYTE:8 [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] 38.5: zp ZP_BYTE:10 [ main::i#2 main::i#1 ] 22: zp ZP_BYTE:14 [ main::$2 ] 22: zp ZP_BYTE:15 [ main::$3 ] 22: zp ZP_BYTE:16 [ main::$4 ] 22: zp ZP_BYTE:17 [ main::$5 ] 22: zp ZP_BYTE:18 [ main::$6 ] 22: zp ZP_BYTE:19 [ main::bits#0 ] 22: zp ZP_BYTE:21 [ main::$12 ] 22: zp ZP_BYTE:22 [ main::$13 ] 22: zp ZP_BYTE:23 [ main::$14 ] 22: zp ZP_BYTE:24 [ main::$15 ] 22: zp ZP_BYTE:25 [ main::bits#1 ] 22: zp ZP_BYTE:26 [ main::$20 ] 22: zp ZP_BYTE:28 [ main::$22 ] 22: zp ZP_BYTE:29 [ main::$23 ] 22: zp ZP_BYTE:30 [ main::$24 ] 22: zp ZP_BYTE:31 [ main::bits#2 ] 22: zp ZP_BYTE:32 [ main::$29 ] 22: zp ZP_BYTE:34 [ main::$31 ] 22: zp ZP_BYTE:35 [ main::$32 ] 22: zp ZP_BYTE:36 [ main::bits#3 ] 22: zp ZP_BYTE:37 [ main::bits_gen#7 ] 18.25: zp ZP_WORD:2 [ main::chargen#10 main::chargen#1 ] 11: zp ZP_BYTE:6 [ main::bits_gen#9 ] 11: zp ZP_BYTE:33 [ main::$30 ] 8.1: zp ZP_WORD:4 [ main::charset4#10 main::charset4#1 ] 7.33: zp ZP_BYTE:13 [ main::$1 ] 7.33: zp ZP_BYTE:20 [ main::$11 ] 7.33: zp ZP_BYTE:27 [ main::$21 ] 1.62: zp ZP_WORD:11 [ main::chargen1#0 ] +Uplift Scope [main] 59.71: zp ZP_BYTE:9 [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] 59.12: zp ZP_BYTE:7 [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] 59.12: zp ZP_BYTE:8 [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] 38.5: zp ZP_BYTE:10 [ main::i#2 main::i#1 ] 22: zp ZP_BYTE:12 [ main::$2 ] 22: zp ZP_BYTE:13 [ main::$3 ] 22: zp ZP_BYTE:14 [ main::$4 ] 22: zp ZP_BYTE:15 [ main::$5 ] 22: zp ZP_BYTE:16 [ main::$6 ] 22: zp ZP_BYTE:17 [ main::bits#0 ] 22: zp ZP_BYTE:19 [ main::$12 ] 22: zp ZP_BYTE:20 [ main::$13 ] 22: zp ZP_BYTE:21 [ main::$14 ] 22: zp ZP_BYTE:22 [ main::$15 ] 22: zp ZP_BYTE:23 [ main::bits#1 ] 22: zp ZP_BYTE:24 [ main::$20 ] 22: zp ZP_BYTE:26 [ main::$22 ] 22: zp ZP_BYTE:27 [ main::$23 ] 22: zp ZP_BYTE:28 [ main::$24 ] 22: zp ZP_BYTE:29 [ main::bits#2 ] 22: zp ZP_BYTE:30 [ main::$29 ] 22: zp ZP_BYTE:32 [ main::$31 ] 22: zp ZP_BYTE:33 [ main::$32 ] 22: zp ZP_BYTE:34 [ main::bits#3 ] 22: zp ZP_BYTE:35 [ main::bits_gen#7 ] 19.06: zp ZP_WORD:2 [ main::chargen#10 main::chargen#1 ] 11: zp ZP_BYTE:6 [ main::bits_gen#9 ] 11: zp ZP_BYTE:31 [ main::$30 ] 8.12: zp ZP_WORD:4 [ main::charset4#10 main::charset4#1 ] 7.33: zp ZP_BYTE:11 [ main::$1 ] 7.33: zp ZP_BYTE:18 [ main::$11 ] 7.33: zp ZP_BYTE:25 [ main::$21 ] Uplift Scope [] -Uplifting [] best 5103 combination +Uplifting [] best 4923 combination Attempting to uplift remaining variables inzp ZP_BYTE:9 [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] -Uplifting [main] best 5053 combination reg byte x [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] +Uplifting [main] best 4873 combination reg byte x [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] Attempting to uplift remaining variables inzp ZP_BYTE:7 [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] -Uplifting [main] best 5003 combination reg byte x [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] +Uplifting [main] best 4823 combination reg byte x [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] Attempting to uplift remaining variables inzp ZP_BYTE:8 [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] -Uplifting [main] best 4953 combination reg byte x [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] +Uplifting [main] best 4773 combination reg byte x [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] Attempting to uplift remaining variables inzp ZP_BYTE:10 [ main::i#2 main::i#1 ] -Uplifting [main] best 4833 combination reg byte x [ main::i#2 main::i#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:14 [ main::$2 ] -Uplifting [main] best 4773 combination reg byte a [ main::$2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:15 [ main::$3 ] -Uplifting [main] best 4713 combination reg byte a [ main::$3 ] -Attempting to uplift remaining variables inzp ZP_BYTE:16 [ main::$4 ] -Uplifting [main] best 4653 combination reg byte a [ main::$4 ] -Attempting to uplift remaining variables inzp ZP_BYTE:17 [ main::$5 ] -Uplifting [main] best 4593 combination reg byte a [ main::$5 ] -Attempting to uplift remaining variables inzp ZP_BYTE:18 [ main::$6 ] -Uplifting [main] best 4553 combination reg byte a [ main::$6 ] -Attempting to uplift remaining variables inzp ZP_BYTE:19 [ main::bits#0 ] -Uplifting [main] best 4493 combination reg byte a [ main::bits#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:21 [ main::$12 ] -Uplifting [main] best 4433 combination reg byte a [ main::$12 ] -Attempting to uplift remaining variables inzp ZP_BYTE:22 [ main::$13 ] -Uplifting [main] best 4373 combination reg byte a [ main::$13 ] -Attempting to uplift remaining variables inzp ZP_BYTE:23 [ main::$14 ] -Uplifting [main] best 4313 combination reg byte a [ main::$14 ] -Attempting to uplift remaining variables inzp ZP_BYTE:24 [ main::$15 ] -Uplifting [main] best 4273 combination reg byte a [ main::$15 ] -Attempting to uplift remaining variables inzp ZP_BYTE:25 [ main::bits#1 ] -Uplifting [main] best 4213 combination reg byte a [ main::bits#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:26 [ main::$20 ] -Uplifting [main] best 4153 combination reg byte a [ main::$20 ] -Attempting to uplift remaining variables inzp ZP_BYTE:28 [ main::$22 ] -Uplifting [main] best 4093 combination reg byte a [ main::$22 ] -Attempting to uplift remaining variables inzp ZP_BYTE:29 [ main::$23 ] -Uplifting [main] best 4033 combination reg byte a [ main::$23 ] -Attempting to uplift remaining variables inzp ZP_BYTE:30 [ main::$24 ] -Uplifting [main] best 3993 combination reg byte a [ main::$24 ] -Attempting to uplift remaining variables inzp ZP_BYTE:31 [ main::bits#2 ] -Uplifting [main] best 3933 combination reg byte a [ main::bits#2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:32 [ main::$29 ] -Uplifting [main] best 3873 combination reg byte a [ main::$29 ] -Attempting to uplift remaining variables inzp ZP_BYTE:34 [ main::$31 ] -Uplifting [main] best 3813 combination reg byte a [ main::$31 ] -Attempting to uplift remaining variables inzp ZP_BYTE:35 [ main::$32 ] -Uplifting [main] best 3773 combination reg byte a [ main::$32 ] -Attempting to uplift remaining variables inzp ZP_BYTE:36 [ main::bits#3 ] -Uplifting [main] best 3713 combination reg byte a [ main::bits#3 ] -Attempting to uplift remaining variables inzp ZP_BYTE:37 [ main::bits_gen#7 ] -Uplifting [main] best 3653 combination reg byte a [ main::bits_gen#7 ] +Uplifting [main] best 4653 combination reg byte x [ main::i#2 main::i#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:12 [ main::$2 ] +Uplifting [main] best 4593 combination reg byte a [ main::$2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:13 [ main::$3 ] +Uplifting [main] best 4533 combination reg byte a [ main::$3 ] +Attempting to uplift remaining variables inzp ZP_BYTE:14 [ main::$4 ] +Uplifting [main] best 4473 combination reg byte a [ main::$4 ] +Attempting to uplift remaining variables inzp ZP_BYTE:15 [ main::$5 ] +Uplifting [main] best 4413 combination reg byte a [ main::$5 ] +Attempting to uplift remaining variables inzp ZP_BYTE:16 [ main::$6 ] +Uplifting [main] best 4373 combination reg byte a [ main::$6 ] +Attempting to uplift remaining variables inzp ZP_BYTE:17 [ main::bits#0 ] +Uplifting [main] best 4313 combination reg byte a [ main::bits#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:19 [ main::$12 ] +Uplifting [main] best 4253 combination reg byte a [ main::$12 ] +Attempting to uplift remaining variables inzp ZP_BYTE:20 [ main::$13 ] +Uplifting [main] best 4193 combination reg byte a [ main::$13 ] +Attempting to uplift remaining variables inzp ZP_BYTE:21 [ main::$14 ] +Uplifting [main] best 4133 combination reg byte a [ main::$14 ] +Attempting to uplift remaining variables inzp ZP_BYTE:22 [ main::$15 ] +Uplifting [main] best 4093 combination reg byte a [ main::$15 ] +Attempting to uplift remaining variables inzp ZP_BYTE:23 [ main::bits#1 ] +Uplifting [main] best 4033 combination reg byte a [ main::bits#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:24 [ main::$20 ] +Uplifting [main] best 3973 combination reg byte a [ main::$20 ] +Attempting to uplift remaining variables inzp ZP_BYTE:26 [ main::$22 ] +Uplifting [main] best 3913 combination reg byte a [ main::$22 ] +Attempting to uplift remaining variables inzp ZP_BYTE:27 [ main::$23 ] +Uplifting [main] best 3853 combination reg byte a [ main::$23 ] +Attempting to uplift remaining variables inzp ZP_BYTE:28 [ main::$24 ] +Uplifting [main] best 3813 combination reg byte a [ main::$24 ] +Attempting to uplift remaining variables inzp ZP_BYTE:29 [ main::bits#2 ] +Uplifting [main] best 3753 combination reg byte a [ main::bits#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:30 [ main::$29 ] +Uplifting [main] best 3693 combination reg byte a [ main::$29 ] +Attempting to uplift remaining variables inzp ZP_BYTE:32 [ main::$31 ] +Uplifting [main] best 3633 combination reg byte a [ main::$31 ] +Attempting to uplift remaining variables inzp ZP_BYTE:33 [ main::$32 ] +Uplifting [main] best 3593 combination reg byte a [ main::$32 ] +Attempting to uplift remaining variables inzp ZP_BYTE:34 [ main::bits#3 ] +Uplifting [main] best 3533 combination reg byte a [ main::bits#3 ] +Attempting to uplift remaining variables inzp ZP_BYTE:35 [ main::bits_gen#7 ] +Uplifting [main] best 3473 combination reg byte a [ main::bits_gen#7 ] Attempting to uplift remaining variables inzp ZP_BYTE:6 [ main::bits_gen#9 ] -Uplifting [main] best 3563 combination reg byte a [ main::bits_gen#9 ] -Attempting to uplift remaining variables inzp ZP_BYTE:33 [ main::$30 ] -Uplifting [main] best 3563 combination zp ZP_BYTE:33 [ main::$30 ] -Attempting to uplift remaining variables inzp ZP_BYTE:13 [ main::$1 ] -Uplifting [main] best 3563 combination zp ZP_BYTE:13 [ main::$1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:20 [ main::$11 ] -Uplifting [main] best 3563 combination zp ZP_BYTE:20 [ main::$11 ] -Attempting to uplift remaining variables inzp ZP_BYTE:27 [ main::$21 ] -Uplifting [main] best 3563 combination zp ZP_BYTE:27 [ main::$21 ] -Coalescing zero page register [ zp ZP_BYTE:13 [ main::$1 ] ] with [ zp ZP_BYTE:20 [ main::$11 ] ] -Coalescing zero page register [ zp ZP_BYTE:13 [ main::$1 main::$11 ] ] with [ zp ZP_BYTE:27 [ main::$21 ] ] -Coalescing zero page register [ zp ZP_BYTE:13 [ main::$1 main::$11 main::$21 ] ] with [ zp ZP_BYTE:33 [ main::$30 ] ] -Allocated (was zp ZP_WORD:11) zp ZP_WORD:6 [ main::chargen1#0 ] -Allocated (was zp ZP_BYTE:13) zp ZP_BYTE:8 [ main::$1 main::$11 main::$21 main::$30 ] +Uplifting [main] best 3383 combination reg byte a [ main::bits_gen#9 ] +Attempting to uplift remaining variables inzp ZP_BYTE:31 [ main::$30 ] +Uplifting [main] best 3383 combination zp ZP_BYTE:31 [ main::$30 ] +Attempting to uplift remaining variables inzp ZP_BYTE:11 [ main::$1 ] +Uplifting [main] best 3383 combination zp ZP_BYTE:11 [ main::$1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:18 [ main::$11 ] +Uplifting [main] best 3383 combination zp ZP_BYTE:18 [ main::$11 ] +Attempting to uplift remaining variables inzp ZP_BYTE:25 [ main::$21 ] +Uplifting [main] best 3383 combination zp ZP_BYTE:25 [ main::$21 ] +Coalescing zero page register [ zp ZP_BYTE:11 [ main::$1 ] ] with [ zp ZP_BYTE:18 [ main::$11 ] ] +Coalescing zero page register [ zp ZP_BYTE:11 [ main::$1 main::$11 ] ] with [ zp ZP_BYTE:25 [ main::$21 ] ] +Coalescing zero page register [ zp ZP_BYTE:11 [ main::$1 main::$11 main::$21 ] ] with [ zp ZP_BYTE:31 [ main::$30 ] ] +Allocated (was zp ZP_BYTE:11) zp ZP_BYTE:6 [ main::$1 main::$11 main::$21 main::$30 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 File Comments @@ -1237,11 +1226,10 @@ bend_from_b1: bend: //SEG9 main main: { - .label _1 = 8 - .label _11 = 8 - .label _21 = 8 - .label _30 = 8 - .label chargen1 = 6 + .label _1 = 6 + .label _11 = 6 + .label _21 = 6 + .label _30 = 6 .label charset4 = 4 .label chargen = 2 //SEG10 asm { sei } @@ -1269,178 +1257,170 @@ main: { jmp b1 //SEG18 main::@1 b1: - //SEG19 [7] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- pbuz1=pbuz2_plus_1 - lda chargen - clc - adc #1 - sta chargen1 - lda chargen+1 - adc #0 - sta chargen1+1 - //SEG20 [8] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG19 [7] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$60 ldy #0 and (chargen),y sta _1 - //SEG21 [9] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG20 [8] (byte~) main::$2 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuaa=pbuz1_derefidx_vbuc1_band_vbuc2 lda #$60 - ldy #0 - and (chargen1),y - //SEG22 [10] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 + ldy #1 + and (chargen),y + //SEG21 [9] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 lsr lsr - //SEG23 [11] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 -- vbuaa=vbuz1_bor_vbuaa + //SEG22 [10] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG24 [12] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 + //SEG23 [11] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 lsr - //SEG25 [13] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 + //SEG24 [12] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 lsr lsr - //SEG26 [14] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG25 [13] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) -- vbuaa=pbuc1_derefidx_vbuaa tay lda bits_count,y - //SEG27 [15] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 -- vbuaa_lt_vbuc1_then_la1 + //SEG26 [14] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 -- vbuaa_lt_vbuc1_then_la1 cmp #2 bcc b2_from_b1 - //SEG28 [16] phi from main::@1 to main::@6 [phi:main::@1->main::@6] + //SEG27 [15] phi from main::@1 to main::@6 [phi:main::@1->main::@6] b6_from_b1: jmp b6 - //SEG29 main::@6 + //SEG28 main::@6 b6: - //SEG30 [17] phi from main::@6 to main::@2 [phi:main::@6->main::@2] + //SEG29 [16] phi from main::@6 to main::@2 [phi:main::@6->main::@2] b2_from_b6: - //SEG31 [17] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:main::@6->main::@2#0] -- vbuaa=vbuc1 + //SEG30 [16] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:main::@6->main::@2#0] -- vbuaa=vbuc1 lda #1 jmp b2 - //SEG32 [17] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + //SEG31 [16] phi from main::@1 to main::@2 [phi:main::@1->main::@2] b2_from_b1: - //SEG33 [17] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@1->main::@2#0] -- vbuaa=vbuc1 + //SEG32 [16] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@1->main::@2#0] -- vbuaa=vbuc1 lda #0 jmp b2 - //SEG34 main::@2 + //SEG33 main::@2 b2: - //SEG35 [18] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuaa_rol_1 + //SEG34 [17] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuaa_rol_1 asl tax - //SEG36 [19] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG35 [18] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$18 ldy #0 and (chargen),y sta _11 - //SEG37 [20] (byte~) main::$12 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG36 [19] (byte~) main::$12 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuaa=pbuz1_derefidx_vbuc1_band_vbuc2 lda #$18 - ldy #0 - and (chargen1),y - //SEG38 [21] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 + ldy #1 + and (chargen),y + //SEG37 [20] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 lsr lsr - //SEG39 [22] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 -- vbuaa=vbuz1_bor_vbuaa + //SEG38 [21] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 -- vbuaa=vbuz1_bor_vbuaa ora _11 - //SEG40 [23] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 + //SEG39 [22] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 lsr - //SEG41 [24] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG40 [23] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) -- vbuaa=pbuc1_derefidx_vbuaa tay lda bits_count,y - //SEG42 [25] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 -- vbuaa_lt_vbuc1_then_la1 + //SEG41 [24] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 -- vbuaa_lt_vbuc1_then_la1 cmp #2 bcc b3_from_b2 jmp b7 - //SEG43 main::@7 + //SEG42 main::@7 b7: - //SEG44 [26] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 + //SEG43 [25] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 inx - //SEG45 [27] phi from main::@2 main::@7 to main::@3 [phi:main::@2/main::@7->main::@3] + //SEG44 [26] phi from main::@2 main::@7 to main::@3 [phi:main::@2/main::@7->main::@3] b3_from_b2: b3_from_b7: - //SEG46 [27] phi (byte) main::bits_gen#11 = (byte) main::bits_gen#1 [phi:main::@2/main::@7->main::@3#0] -- register_copy + //SEG45 [26] phi (byte) main::bits_gen#11 = (byte) main::bits_gen#1 [phi:main::@2/main::@7->main::@3#0] -- register_copy jmp b3 - //SEG47 main::@3 + //SEG46 main::@3 b3: - //SEG48 [28] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_rol_1 + //SEG47 [27] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_rol_1 txa asl tax - //SEG49 [29] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG48 [28] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=_deref_pbuz1_band_vbuc1 lda #6 ldy #0 and (chargen),y - //SEG50 [30] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuaa_rol_1 + //SEG49 [29] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuaa_rol_1 asl sta _21 - //SEG51 [31] (byte~) main::$22 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG50 [30] (byte~) main::$22 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=pbuz1_derefidx_vbuc1_band_vbuc2 lda #6 - ldy #0 - and (chargen1),y - //SEG52 [32] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 + ldy #1 + and (chargen),y + //SEG51 [31] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 lsr - //SEG53 [33] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 -- vbuaa=vbuz1_bor_vbuaa + //SEG52 [32] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 -- vbuaa=vbuz1_bor_vbuaa ora _21 - //SEG54 [34] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG53 [33] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) -- vbuaa=pbuc1_derefidx_vbuaa tay lda bits_count,y - //SEG55 [35] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 -- vbuaa_lt_vbuc1_then_la1 + //SEG54 [34] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 -- vbuaa_lt_vbuc1_then_la1 cmp #2 bcc b4_from_b3 jmp b8 - //SEG56 main::@8 + //SEG55 main::@8 b8: - //SEG57 [36] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 + //SEG56 [35] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 inx - //SEG58 [37] phi from main::@3 main::@8 to main::@4 [phi:main::@3/main::@8->main::@4] + //SEG57 [36] phi from main::@3 main::@8 to main::@4 [phi:main::@3/main::@8->main::@4] b4_from_b3: b4_from_b8: - //SEG59 [37] phi (byte) main::bits_gen#13 = (byte) main::bits_gen#14 [phi:main::@3/main::@8->main::@4#0] -- register_copy + //SEG58 [36] phi (byte) main::bits_gen#13 = (byte) main::bits_gen#14 [phi:main::@3/main::@8->main::@4#0] -- register_copy jmp b4 - //SEG60 main::@4 + //SEG59 main::@4 b4: - //SEG61 [38] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_rol_1 + //SEG60 [37] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_rol_1 txa asl tax - //SEG62 [39] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG61 [38] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=_deref_pbuz1_band_vbuc1 lda #1 ldy #0 and (chargen),y - //SEG63 [40] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuaa_rol_2 + //SEG62 [39] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuaa_rol_2 asl asl sta _30 - //SEG64 [41] (byte~) main::$31 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG63 [40] (byte~) main::$31 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=pbuz1_derefidx_vbuc1_band_vbuc1 lda #1 - ldy #0 - and (chargen1),y - //SEG65 [42] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 -- vbuaa=vbuz1_bor_vbuaa + ldy #1 + and (chargen),y + //SEG64 [41] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 -- vbuaa=vbuz1_bor_vbuaa ora _30 - //SEG66 [43] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG65 [42] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) -- vbuaa=pbuc1_derefidx_vbuaa tay lda bits_count,y - //SEG67 [44] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 -- vbuaa_lt_vbuc1_then_la1 + //SEG66 [43] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 -- vbuaa_lt_vbuc1_then_la1 cmp #2 bcc b5_from_b4 jmp b9 - //SEG68 main::@9 + //SEG67 main::@9 b9: - //SEG69 [45] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 + //SEG68 [44] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 inx - //SEG70 [46] phi from main::@4 main::@9 to main::@5 [phi:main::@4/main::@9->main::@5] + //SEG69 [45] phi from main::@4 main::@9 to main::@5 [phi:main::@4/main::@9->main::@5] b5_from_b4: b5_from_b9: - //SEG71 [46] phi (byte) main::bits_gen#15 = (byte) main::bits_gen#16 [phi:main::@4/main::@9->main::@5#0] -- register_copy + //SEG70 [45] phi (byte) main::bits_gen#15 = (byte) main::bits_gen#16 [phi:main::@4/main::@9->main::@5#0] -- register_copy jmp b5 - //SEG72 main::@5 + //SEG71 main::@5 b5: - //SEG73 [47] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_rol_1 + //SEG72 [46] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_rol_1 txa asl - //SEG74 [48] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 -- _deref_pbuz1=vbuaa + //SEG73 [47] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 -- _deref_pbuz1=vbuaa ldy #0 sta (charset4),y - //SEG75 [49] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 -- pbuz1=_inc_pbuz1 + //SEG74 [48] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 -- pbuz1=_inc_pbuz1 inc charset4 bne !+ inc charset4+1 !: - //SEG76 [50] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz1_plus_2 + //SEG75 [49] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz1_plus_2 lda chargen clc adc #2 @@ -1448,7 +1428,7 @@ main: { bcc !+ inc chargen+1 !: - //SEG77 [51] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 -- pbuz1_lt_pbuc1_then_la1 + //SEG76 [50] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 -- pbuz1_lt_pbuc1_then_la1 lda chargen+1 cmp #>CHARGEN+$800 bcc b1_from_b5 @@ -1458,42 +1438,42 @@ main: { bcc b1_from_b5 !: jmp b10 - //SEG78 main::@10 + //SEG77 main::@10 b10: - //SEG79 [52] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 + //SEG78 [51] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT - //SEG80 asm { cli } + //SEG79 asm { cli } cli - //SEG81 [54] phi from main::@10 to main::@11 [phi:main::@10->main::@11] + //SEG80 [53] phi from main::@10 to main::@11 [phi:main::@10->main::@11] b11_from_b10: - //SEG82 [54] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@10->main::@11#0] -- vbuxx=vbuc1 + //SEG81 [53] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@10->main::@11#0] -- vbuxx=vbuc1 ldx #0 jmp b11 - //SEG83 [54] phi from main::@11 to main::@11 [phi:main::@11->main::@11] + //SEG82 [53] phi from main::@11 to main::@11 [phi:main::@11->main::@11] b11_from_b11: - //SEG84 [54] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@11->main::@11#0] -- register_copy + //SEG83 [53] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@11->main::@11#0] -- register_copy jmp b11 - //SEG85 main::@11 + //SEG84 main::@11 b11: - //SEG86 [55] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 -- pbuc1_derefidx_vbuxx=vbuxx + //SEG85 [54] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 -- pbuc1_derefidx_vbuxx=vbuxx txa sta SCREEN,x - //SEG87 [56] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + //SEG86 [55] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - //SEG88 [57] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 -- vbuxx_neq_0_then_la1 + //SEG87 [56] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 -- vbuxx_neq_0_then_la1 cpx #0 bne b11_from_b11 jmp b12 - //SEG89 main::@12 + //SEG88 main::@12 b12: - //SEG90 [58] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 -- _deref_pbuc1=vbuc2 + //SEG89 [57] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 -- _deref_pbuc1=vbuc2 lda #$19 sta D018 jmp breturn - //SEG91 main::@return + //SEG90 main::@return breturn: - //SEG92 [59] return + //SEG91 [58] return rts } bits_count: .byte 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 @@ -1515,11 +1495,7 @@ Removing instruction jmp b11 Removing instruction jmp b12 Removing instruction jmp breturn Succesful ASM optimization Pass5NextJumpElimination -Removing instruction ldy #0 -Removing instruction ldy #0 -Removing instruction ldy #0 -Removing instruction ldy #0 -Succesful ASM optimization Pass5UnnecesaryLoadElimination +Replacing instruction ldy #1 with TAY Replacing label b3_from_b2 with b3 Replacing label b4_from_b3 with b4 Replacing label b5_from_b4 with b5 @@ -1561,8 +1537,8 @@ Removing instruction jmp b11 Succesful ASM optimization Pass5NextJumpElimination Removing instruction bbegin: Succesful ASM optimization Pass5UnusedLabelElimination -Fixing long branch [127] bcc b1 to bcs -Fixing long branch [133] bcc b1 to bcs +Fixing long branch [123] bcc b1 to bcs +Fixing long branch [129] bcc b1 to bcs FINAL SYMBOL TABLE (label) @1 @@ -1581,21 +1557,21 @@ FINAL SYMBOL TABLE (byte[]) bits_count (const byte[]) bits_count#0 bits_count = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4 } (void()) main() -(byte~) main::$1 $1 zp ZP_BYTE:8 7.333333333333333 -(byte~) main::$11 $11 zp ZP_BYTE:8 7.333333333333333 +(byte~) main::$1 $1 zp ZP_BYTE:6 7.333333333333333 +(byte~) main::$11 $11 zp ZP_BYTE:6 7.333333333333333 (byte~) main::$12 reg byte a 22.0 (byte~) main::$13 reg byte a 22.0 (byte~) main::$14 reg byte a 22.0 (byte~) main::$15 reg byte a 22.0 (byte~) main::$2 reg byte a 22.0 (byte~) main::$20 reg byte a 22.0 -(byte~) main::$21 $21 zp ZP_BYTE:8 7.333333333333333 +(byte~) main::$21 $21 zp ZP_BYTE:6 7.333333333333333 (byte~) main::$22 reg byte a 22.0 (byte~) main::$23 reg byte a 22.0 (byte~) main::$24 reg byte a 22.0 (byte~) main::$29 reg byte a 22.0 (byte~) main::$3 reg byte a 22.0 -(byte~) main::$30 $30 zp ZP_BYTE:8 11.0 +(byte~) main::$30 $30 zp ZP_BYTE:6 11.0 (byte~) main::$31 reg byte a 22.0 (byte~) main::$32 reg byte a 22.0 (byte~) main::$4 reg byte a 22.0 @@ -1633,12 +1609,11 @@ FINAL SYMBOL TABLE (byte) main::bits_gen#9 reg byte a 11.0 (byte*) main::chargen (byte*) main::chargen#1 chargen zp ZP_WORD:2 16.5 -(byte*) main::chargen#10 chargen zp ZP_WORD:2 1.75 +(byte*) main::chargen#10 chargen zp ZP_WORD:2 2.558139534883721 (byte*) main::chargen1 -(byte*) main::chargen1#0 chargen1 zp ZP_WORD:6 1.6176470588235294 (byte*) main::charset4 (byte*) main::charset4#1 charset4 zp ZP_WORD:4 7.333333333333333 -(byte*) main::charset4#10 charset4 zp ZP_WORD:4 0.7674418604651163 +(byte*) main::charset4#10 charset4 zp ZP_WORD:4 0.7857142857142858 (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 @@ -1650,8 +1625,7 @@ reg byte x [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] reg byte x [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] reg byte x [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] reg byte x [ main::i#2 main::i#1 ] -zp ZP_WORD:6 [ main::chargen1#0 ] -zp ZP_BYTE:8 [ main::$1 main::$11 main::$21 main::$30 ] +zp ZP_BYTE:6 [ main::$1 main::$11 main::$21 main::$30 ] reg byte a [ main::$2 ] reg byte a [ main::$3 ] reg byte a [ main::$4 ] @@ -1676,7 +1650,7 @@ reg byte a [ main::bits_gen#7 ] FINAL ASSEMBLER -Score: 3108 +Score: 3008 //SEG0 File Comments //SEG1 Basic Upstart @@ -1697,11 +1671,10 @@ Score: 3108 //SEG8 @end //SEG9 main main: { - .label _1 = 8 - .label _11 = 8 - .label _21 = 8 - .label _30 = 8 - .label chargen1 = 6 + .label _1 = 6 + .label _11 = 6 + .label _21 = 6 + .label _30 = 6 .label charset4 = 4 .label chargen = 2 //SEG10 asm { sei } @@ -1725,154 +1698,150 @@ main: { //SEG17 [6] phi (byte*) main::chargen#10 = (byte*) main::chargen#1 [phi:main::@5->main::@1#1] -- register_copy //SEG18 main::@1 b1: - //SEG19 [7] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- pbuz1=pbuz2_plus_1 - lda chargen - clc - adc #1 - sta chargen1 - lda chargen+1 - adc #0 - sta chargen1+1 - //SEG20 [8] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG19 [7] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$60 ldy #0 and (chargen),y sta _1 - //SEG21 [9] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG20 [8] (byte~) main::$2 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $60 -- vbuaa=pbuz1_derefidx_vbuc1_band_vbuc2 lda #$60 - and (chargen1),y - //SEG22 [10] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 + ldy #1 + and (chargen),y + //SEG21 [9] (byte~) main::$3 ← (byte~) main::$2 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 lsr lsr - //SEG23 [11] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 -- vbuaa=vbuz1_bor_vbuaa + //SEG22 [10] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG24 [12] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 + //SEG23 [11] (byte~) main::$5 ← (byte~) main::$4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 lsr - //SEG25 [13] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 + //SEG24 [12] (byte~) main::$6 ← (byte~) main::$5 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 lsr lsr - //SEG26 [14] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG25 [13] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6) -- vbuaa=pbuc1_derefidx_vbuaa tay lda bits_count,y - //SEG27 [15] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 -- vbuaa_lt_vbuc1_then_la1 + //SEG26 [14] if((byte) main::bits#0<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@2 -- vbuaa_lt_vbuc1_then_la1 cmp #2 bcc b6 - //SEG28 [16] phi from main::@1 to main::@6 [phi:main::@1->main::@6] - //SEG29 main::@6 - //SEG30 [17] phi from main::@6 to main::@2 [phi:main::@6->main::@2] - //SEG31 [17] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:main::@6->main::@2#0] -- vbuaa=vbuc1 + //SEG27 [15] phi from main::@1 to main::@6 [phi:main::@1->main::@6] + //SEG28 main::@6 + //SEG29 [16] phi from main::@6 to main::@2 [phi:main::@6->main::@2] + //SEG30 [16] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:main::@6->main::@2#0] -- vbuaa=vbuc1 lda #1 jmp b2 - //SEG32 [17] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + //SEG31 [16] phi from main::@1 to main::@2 [phi:main::@1->main::@2] b6: - //SEG33 [17] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@1->main::@2#0] -- vbuaa=vbuc1 + //SEG32 [16] phi (byte) main::bits_gen#9 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@1->main::@2#0] -- vbuaa=vbuc1 lda #0 - //SEG34 main::@2 + //SEG33 main::@2 b2: - //SEG35 [18] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuaa_rol_1 + //SEG34 [17] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuaa_rol_1 asl tax - //SEG36 [19] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG35 [18] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$18 ldy #0 and (chargen),y sta _11 - //SEG37 [20] (byte~) main::$12 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG36 [19] (byte~) main::$12 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) $18 -- vbuaa=pbuz1_derefidx_vbuc1_band_vbuc2 lda #$18 - and (chargen1),y - //SEG38 [21] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 + ldy #1 + and (chargen),y + //SEG37 [20] (byte~) main::$13 ← (byte~) main::$12 >> (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuaa_ror_2 lsr lsr - //SEG39 [22] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 -- vbuaa=vbuz1_bor_vbuaa + //SEG38 [21] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13 -- vbuaa=vbuz1_bor_vbuaa ora _11 - //SEG40 [23] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 + //SEG39 [22] (byte~) main::$15 ← (byte~) main::$14 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 lsr - //SEG41 [24] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG40 [23] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15) -- vbuaa=pbuc1_derefidx_vbuaa tay lda bits_count,y - //SEG42 [25] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 -- vbuaa_lt_vbuc1_then_la1 + //SEG41 [24] if((byte) main::bits#1<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@3 -- vbuaa_lt_vbuc1_then_la1 cmp #2 bcc b3 - //SEG43 main::@7 - //SEG44 [26] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 + //SEG42 main::@7 + //SEG43 [25] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 inx - //SEG45 [27] phi from main::@2 main::@7 to main::@3 [phi:main::@2/main::@7->main::@3] - //SEG46 [27] phi (byte) main::bits_gen#11 = (byte) main::bits_gen#1 [phi:main::@2/main::@7->main::@3#0] -- register_copy - //SEG47 main::@3 + //SEG44 [26] phi from main::@2 main::@7 to main::@3 [phi:main::@2/main::@7->main::@3] + //SEG45 [26] phi (byte) main::bits_gen#11 = (byte) main::bits_gen#1 [phi:main::@2/main::@7->main::@3#0] -- register_copy + //SEG46 main::@3 b3: - //SEG48 [28] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_rol_1 + //SEG47 [27] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_rol_1 txa asl tax - //SEG49 [29] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG48 [28] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=_deref_pbuz1_band_vbuc1 lda #6 ldy #0 and (chargen),y - //SEG50 [30] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuaa_rol_1 + //SEG49 [29] (byte~) main::$21 ← (byte~) main::$20 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuaa_rol_1 asl sta _21 - //SEG51 [31] (byte~) main::$22 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG50 [30] (byte~) main::$22 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=pbuz1_derefidx_vbuc1_band_vbuc2 lda #6 - and (chargen1),y - //SEG52 [32] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 + ldy #1 + and (chargen),y + //SEG51 [31] (byte~) main::$23 ← (byte~) main::$22 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuaa_ror_1 lsr - //SEG53 [33] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 -- vbuaa=vbuz1_bor_vbuaa + //SEG52 [32] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23 -- vbuaa=vbuz1_bor_vbuaa ora _21 - //SEG54 [34] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG53 [33] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24) -- vbuaa=pbuc1_derefidx_vbuaa tay lda bits_count,y - //SEG55 [35] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 -- vbuaa_lt_vbuc1_then_la1 + //SEG54 [34] if((byte) main::bits#2<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@4 -- vbuaa_lt_vbuc1_then_la1 cmp #2 bcc b4 - //SEG56 main::@8 - //SEG57 [36] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 + //SEG55 main::@8 + //SEG56 [35] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 inx - //SEG58 [37] phi from main::@3 main::@8 to main::@4 [phi:main::@3/main::@8->main::@4] - //SEG59 [37] phi (byte) main::bits_gen#13 = (byte) main::bits_gen#14 [phi:main::@3/main::@8->main::@4#0] -- register_copy - //SEG60 main::@4 + //SEG57 [36] phi from main::@3 main::@8 to main::@4 [phi:main::@3/main::@8->main::@4] + //SEG58 [36] phi (byte) main::bits_gen#13 = (byte) main::bits_gen#14 [phi:main::@3/main::@8->main::@4#0] -- register_copy + //SEG59 main::@4 b4: - //SEG61 [38] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_rol_1 + //SEG60 [37] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_rol_1 txa asl tax - //SEG62 [39] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG61 [38] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=_deref_pbuz1_band_vbuc1 lda #1 ldy #0 and (chargen),y - //SEG63 [40] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuaa_rol_2 + //SEG62 [39] (byte~) main::$30 ← (byte~) main::$29 << (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuaa_rol_2 asl asl sta _30 - //SEG64 [41] (byte~) main::$31 ← *((byte*) main::chargen1#0) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG63 [40] (byte~) main::$31 ← *((byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 1) & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=pbuz1_derefidx_vbuc1_band_vbuc1 lda #1 - and (chargen1),y - //SEG65 [42] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 -- vbuaa=vbuz1_bor_vbuaa + tay + and (chargen),y + //SEG64 [41] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31 -- vbuaa=vbuz1_bor_vbuaa ora _30 - //SEG66 [43] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG65 [42] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32) -- vbuaa=pbuc1_derefidx_vbuaa tay lda bits_count,y - //SEG67 [44] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 -- vbuaa_lt_vbuc1_then_la1 + //SEG66 [43] if((byte) main::bits#3<(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@5 -- vbuaa_lt_vbuc1_then_la1 cmp #2 bcc b5 - //SEG68 main::@9 - //SEG69 [45] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 + //SEG67 main::@9 + //SEG68 [44] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_plus_1 inx - //SEG70 [46] phi from main::@4 main::@9 to main::@5 [phi:main::@4/main::@9->main::@5] - //SEG71 [46] phi (byte) main::bits_gen#15 = (byte) main::bits_gen#16 [phi:main::@4/main::@9->main::@5#0] -- register_copy - //SEG72 main::@5 + //SEG69 [45] phi from main::@4 main::@9 to main::@5 [phi:main::@4/main::@9->main::@5] + //SEG70 [45] phi (byte) main::bits_gen#15 = (byte) main::bits_gen#16 [phi:main::@4/main::@9->main::@5#0] -- register_copy + //SEG71 main::@5 b5: - //SEG73 [47] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_rol_1 + //SEG72 [46] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_rol_1 txa asl - //SEG74 [48] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 -- _deref_pbuz1=vbuaa + //SEG73 [47] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 -- _deref_pbuz1=vbuaa ldy #0 sta (charset4),y - //SEG75 [49] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 -- pbuz1=_inc_pbuz1 + //SEG74 [48] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 -- pbuz1=_inc_pbuz1 inc charset4 bne !+ inc charset4+1 !: - //SEG76 [50] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz1_plus_2 + //SEG75 [49] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz1_plus_2 lda chargen clc adc #2 @@ -1880,7 +1849,7 @@ main: { bcc !+ inc chargen+1 !: - //SEG77 [51] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 -- pbuz1_lt_pbuc1_then_la1 + //SEG76 [50] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word/signed word/dword/signed dword) $800) goto main::@1 -- pbuz1_lt_pbuc1_then_la1 lda chargen+1 cmp #>CHARGEN+$800 bcs !b1+ @@ -1893,33 +1862,33 @@ main: { jmp b1 !b1: !: - //SEG78 main::@10 - //SEG79 [52] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 + //SEG77 main::@10 + //SEG78 [51] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) $37 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT - //SEG80 asm { cli } + //SEG79 asm { cli } cli - //SEG81 [54] phi from main::@10 to main::@11 [phi:main::@10->main::@11] - //SEG82 [54] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@10->main::@11#0] -- vbuxx=vbuc1 + //SEG80 [53] phi from main::@10 to main::@11 [phi:main::@10->main::@11] + //SEG81 [53] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@10->main::@11#0] -- vbuxx=vbuc1 ldx #0 - //SEG83 [54] phi from main::@11 to main::@11 [phi:main::@11->main::@11] - //SEG84 [54] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@11->main::@11#0] -- register_copy - //SEG85 main::@11 + //SEG82 [53] phi from main::@11 to main::@11 [phi:main::@11->main::@11] + //SEG83 [53] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@11->main::@11#0] -- register_copy + //SEG84 main::@11 b11: - //SEG86 [55] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 -- pbuc1_derefidx_vbuxx=vbuxx + //SEG85 [54] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 -- pbuc1_derefidx_vbuxx=vbuxx txa sta SCREEN,x - //SEG87 [56] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + //SEG86 [55] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - //SEG88 [57] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 -- vbuxx_neq_0_then_la1 + //SEG87 [56] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@11 -- vbuxx_neq_0_then_la1 cpx #0 bne b11 - //SEG89 main::@12 - //SEG90 [58] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 -- _deref_pbuc1=vbuc2 + //SEG88 main::@12 + //SEG89 [57] *((const byte*) D018#0) ← (byte/signed byte/word/signed word/dword/signed dword) $19 -- _deref_pbuc1=vbuc2 lda #$19 sta D018 - //SEG91 main::@return - //SEG92 [59] return + //SEG90 main::@return + //SEG91 [58] return rts } bits_count: .byte 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 diff --git a/src/test/ref/halfscii.sym b/src/test/ref/halfscii.sym index 202c96ad8..5691399e2 100644 --- a/src/test/ref/halfscii.sym +++ b/src/test/ref/halfscii.sym @@ -14,21 +14,21 @@ (byte[]) bits_count (const byte[]) bits_count#0 bits_count = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4 } (void()) main() -(byte~) main::$1 $1 zp ZP_BYTE:8 7.333333333333333 -(byte~) main::$11 $11 zp ZP_BYTE:8 7.333333333333333 +(byte~) main::$1 $1 zp ZP_BYTE:6 7.333333333333333 +(byte~) main::$11 $11 zp ZP_BYTE:6 7.333333333333333 (byte~) main::$12 reg byte a 22.0 (byte~) main::$13 reg byte a 22.0 (byte~) main::$14 reg byte a 22.0 (byte~) main::$15 reg byte a 22.0 (byte~) main::$2 reg byte a 22.0 (byte~) main::$20 reg byte a 22.0 -(byte~) main::$21 $21 zp ZP_BYTE:8 7.333333333333333 +(byte~) main::$21 $21 zp ZP_BYTE:6 7.333333333333333 (byte~) main::$22 reg byte a 22.0 (byte~) main::$23 reg byte a 22.0 (byte~) main::$24 reg byte a 22.0 (byte~) main::$29 reg byte a 22.0 (byte~) main::$3 reg byte a 22.0 -(byte~) main::$30 $30 zp ZP_BYTE:8 11.0 +(byte~) main::$30 $30 zp ZP_BYTE:6 11.0 (byte~) main::$31 reg byte a 22.0 (byte~) main::$32 reg byte a 22.0 (byte~) main::$4 reg byte a 22.0 @@ -66,12 +66,11 @@ (byte) main::bits_gen#9 reg byte a 11.0 (byte*) main::chargen (byte*) main::chargen#1 chargen zp ZP_WORD:2 16.5 -(byte*) main::chargen#10 chargen zp ZP_WORD:2 1.75 +(byte*) main::chargen#10 chargen zp ZP_WORD:2 2.558139534883721 (byte*) main::chargen1 -(byte*) main::chargen1#0 chargen1 zp ZP_WORD:6 1.6176470588235294 (byte*) main::charset4 (byte*) main::charset4#1 charset4 zp ZP_WORD:4 7.333333333333333 -(byte*) main::charset4#10 charset4 zp ZP_WORD:4 0.7674418604651163 +(byte*) main::charset4#10 charset4 zp ZP_WORD:4 0.7857142857142858 (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 @@ -83,8 +82,7 @@ reg byte x [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 ] reg byte x [ main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 ] reg byte x [ main::bits_gen#15 main::bits_gen#16 main::bits_gen#8 ] reg byte x [ main::i#2 main::i#1 ] -zp ZP_WORD:6 [ main::chargen1#0 ] -zp ZP_BYTE:8 [ main::$1 main::$11 main::$21 main::$30 ] +zp ZP_BYTE:6 [ main::$1 main::$11 main::$21 main::$30 ] reg byte a [ main::$2 ] reg byte a [ main::$3 ] reg byte a [ main::$4 ] diff --git a/src/test/ref/inline-assignment.log b/src/test/ref/inline-assignment.log index db6523044..ca89ed023 100644 --- a/src/test/ref/inline-assignment.log +++ b/src/test/ref/inline-assignment.log @@ -59,6 +59,7 @@ Constant (const byte) main::i#0 = 0 Successful SSA optimization Pass2ConstantIdentification Constant (const byte*) main::$0 = SCREEN#0+$50 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const byte) main::a#0 Successful SSA optimization PassNEliminateUnusedVars Resolved ranged next value main::i#1 ← ++ main::a#1 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,$27)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) $28 diff --git a/src/test/ref/inline-function-if.log b/src/test/ref/inline-function-if.log index becd34620..3cc10aaf2 100644 --- a/src/test/ref/inline-function-if.log +++ b/src/test/ref/inline-function-if.log @@ -157,6 +157,8 @@ Removing PHI-reference to removed block (main::toUpper1) in block main::toUpper1 if() condition always true - replacing block destination [0] if((const bool) main::toUpper1_bo#0) goto main::toUpper1_@2 if() condition always false - eliminating [3] if((const bool) main::toUpper2_bo#0) goto main::toUpper2_@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const bool) main::toUpper1_bo#0 +Eliminating unused constant (const bool) main::toUpper2_bo#0 Successful SSA optimization PassNEliminateUnusedVars Removing PHI-reference to removed block (main::toUpper2_@2) in block main::toUpper2_@1 Removing unused block main::toUpper2_@2 @@ -168,6 +170,7 @@ Successful SSA optimization Pass2CullEmptyBlocks Redundant Phi (byte) main::toUpper1_return#0 (const byte) main::toUpper1_res#1 Redundant Phi (byte) main::toUpper2_return#0 (const byte) main::toUpper2_ch#0 Successful SSA optimization Pass2RedundantPhiElimination +Eliminating unused constant (const byte) main::toUpper2_res#1 Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) main::toUpper1_@1 Culled Empty Block (label) main::toUpper2_@1 diff --git a/src/test/ref/inline-function-level2.asm b/src/test/ref/inline-function-level2.asm index 5210394e6..dc5b8d1be 100644 --- a/src/test/ref/inline-function-level2.asm +++ b/src/test/ref/inline-function-level2.asm @@ -13,9 +13,7 @@ main: { .const line2_ysize = $f .const line2_ch = '.' .label sc = 2 - .label plot1__0 = 6 .label line1_pos = 2 - .label plot2__0 = 6 .label line2_pos = 2 lda #<$400 sta sc @@ -48,15 +46,9 @@ main: { sta line1_pos+1 line1_b1: lda line1_pos+1 - clc - adc cur_line - sta plot1__0 - lda #0 - adc cur_line+1 - sta plot1__0+1 + tay lda #line1_ch - ldy #0 - sta (plot1__0),y + sta (cur_line),y lda #line1_xadd clc adc line1_pos @@ -85,15 +77,9 @@ main: { sta line2_pos+1 line2_b1: lda line2_pos+1 - clc - adc cur_line - sta plot2__0 - lda #0 - adc cur_line+1 - sta plot2__0+1 + tay lda #line2_ch - ldy #0 - sta (plot2__0),y + sta (cur_line),y lda #line2_xadd clc adc line2_pos diff --git a/src/test/ref/inline-function-level2.cfg b/src/test/ref/inline-function-level2.cfg index b9e696f2e..4e0b3a33f 100644 --- a/src/test/ref/inline-function-level2.cfg +++ b/src/test/ref/inline-function-level2.cfg @@ -26,34 +26,32 @@ main::line1_@1: scope:[main] from main::@2 main::line1 [11] (byte) main::plot1_xpos#0 ← > (word) main::line1_pos#2 to:main::plot1 main::plot1: scope:[main] from main::line1_@1 - [12] (byte*) main::plot1_$0#0 ← (byte*) cur_line#13 + (byte) main::plot1_xpos#0 - [13] *((byte*) main::plot1_$0#0) ← (const byte) main::line1_ch#0 + [12] *((byte*) cur_line#13 + (byte) main::plot1_xpos#0) ← (const byte) main::line1_ch#0 to:main::@2 main::@2: scope:[main] from main::plot1 - [14] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 - [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 - [16] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 - [17] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 + [13] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 + [14] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [15] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 + [16] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 to:main::line2 main::line2: scope:[main] from main::@2 - [18] phi() + [17] phi() to:main::line2_@1 main::line2_@1: scope:[main] from main::@3 main::line2 - [19] (byte) main::line2_i#2 ← phi( main::@3/(byte) main::line2_i#1 main::line2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [19] (byte*) cur_line#10 ← phi( main::@3/(byte*) cur_line#11 main::line2/((byte*))(word/signed word/dword/signed dword) $400 ) - [19] (word) main::line2_pos#2 ← phi( main::@3/(word) main::line2_pos#1 main::line2/(const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 ) - [20] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 + [18] (byte) main::line2_i#2 ← phi( main::@3/(byte) main::line2_i#1 main::line2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [18] (byte*) cur_line#10 ← phi( main::@3/(byte*) cur_line#11 main::line2/((byte*))(word/signed word/dword/signed dword) $400 ) + [18] (word) main::line2_pos#2 ← phi( main::@3/(word) main::line2_pos#1 main::line2/(const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 ) + [19] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 to:main::plot2 main::plot2: scope:[main] from main::line2_@1 - [21] (byte*) main::plot2_$0#0 ← (byte*) cur_line#10 + (byte) main::plot2_xpos#0 - [22] *((byte*) main::plot2_$0#0) ← (const byte) main::line2_ch#0 + [20] *((byte*) cur_line#10 + (byte) main::plot2_xpos#0) ← (const byte) main::line2_ch#0 to:main::@3 main::@3: scope:[main] from main::plot2 - [23] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 - [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 - [25] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 - [26] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 + [21] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 + [22] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [23] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 + [24] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 to:main::@return main::@return: scope:[main] from main::@3 - [27] return + [25] return to:@return diff --git a/src/test/ref/inline-function-level2.log b/src/test/ref/inline-function-level2.log index a00688fac..0c9dbdd86 100644 --- a/src/test/ref/inline-function-level2.log +++ b/src/test/ref/inline-function-level2.log @@ -337,7 +337,11 @@ Fixing inline constructor with main::$5 ← main::line2_xpos#0 w= 0 Successful SSA optimization Pass2FixInlineConstructors Inferred type updated to word/signed word/dword/signed dword in (word~) main::$4 ← (const byte) main::line1_xpos#0 w= (byte/signed byte/word/signed word/dword/signed dword) 0 Inferred type updated to word/signed word/dword/signed dword in (word~) main::$5 ← (const byte) main::line2_xpos#0 w= (byte/signed byte/word/signed word/dword/signed dword) 0 +Eliminating unused constant (const byte*) cur_line#15 Successful SSA optimization PassNEliminateUnusedVars +Converting *(pointer+n) to pointer[n] *((byte*) main::plot1_$0#0) ← (const byte) main::line1_ch#0 -- *(cur_line#13 + main::plot1_xpos#0) +Converting *(pointer+n) to pointer[n] *((byte*) main::plot2_$0#0) ← (const byte) main::line2_ch#0 -- *(cur_line#10 + main::plot2_xpos#0) +Successful SSA optimization Pass2InlineDerefIdx Culled Empty Block (label) main::@2 Culled Empty Block (label) main::@3 Culled Empty Block (label) @1 @@ -349,6 +353,9 @@ Successful SSA optimization Pass2AliasElimination Constant (const word) main::line1_pos#0 = main::line1_xpos#0*$100+0 Constant (const word) main::line2_pos#0 = main::line2_xpos#0*$100+0 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused variable (byte*) main::plot1_$0#0 and assignment [6] (byte*) main::plot1_$0#0 ← (byte*) cur_line#13 + (byte) main::plot1_xpos#0 +Eliminating unused variable (byte*) main::plot2_$0#0 and assignment [14] (byte*) main::plot2_$0#0 ← (byte*) cur_line#10 + (byte) main::plot2_xpos#0 +Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte*) main::sc#0 Inlining constant with var siblings (const byte) main::line1_i#0 Inlining constant with var siblings (const byte) main::line2_i#0 @@ -380,13 +387,13 @@ CALL GRAPH Calls in [] to main:2 Created 7 initial phi equivalence classes -Coalesced [28] main::line2_pos#5 ← main::line2_pos#1 -Coalesced [29] cur_line#17 ← cur_line#11 -Coalesced [30] main::line2_i#5 ← main::line2_i#1 -Coalesced [31] main::line1_pos#5 ← main::line1_pos#1 -Coalesced [32] cur_line#16 ← cur_line#1 -Coalesced [33] main::line1_i#5 ← main::line1_i#1 -Coalesced [34] main::sc#3 ← main::sc#1 +Coalesced [26] main::line2_pos#5 ← main::line2_pos#1 +Coalesced [27] cur_line#17 ← cur_line#11 +Coalesced [28] main::line2_i#5 ← main::line2_i#1 +Coalesced [29] main::line1_pos#5 ← main::line1_pos#1 +Coalesced [30] cur_line#16 ← cur_line#1 +Coalesced [31] main::line1_i#5 ← main::line1_i#1 +Coalesced [32] main::sc#3 ← main::sc#1 Coalesced down to 7 phi equivalence classes Culled Empty Block (label) main::@9 Culled Empty Block (label) main::@8 @@ -430,55 +437,53 @@ main::line1_@1: scope:[main] from main::@2 main::line1 [11] (byte) main::plot1_xpos#0 ← > (word) main::line1_pos#2 to:main::plot1 main::plot1: scope:[main] from main::line1_@1 - [12] (byte*) main::plot1_$0#0 ← (byte*) cur_line#13 + (byte) main::plot1_xpos#0 - [13] *((byte*) main::plot1_$0#0) ← (const byte) main::line1_ch#0 + [12] *((byte*) cur_line#13 + (byte) main::plot1_xpos#0) ← (const byte) main::line1_ch#0 to:main::@2 main::@2: scope:[main] from main::plot1 - [14] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 - [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 - [16] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 - [17] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 + [13] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 + [14] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [15] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 + [16] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 to:main::line2 main::line2: scope:[main] from main::@2 - [18] phi() + [17] phi() to:main::line2_@1 main::line2_@1: scope:[main] from main::@3 main::line2 - [19] (byte) main::line2_i#2 ← phi( main::@3/(byte) main::line2_i#1 main::line2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) - [19] (byte*) cur_line#10 ← phi( main::@3/(byte*) cur_line#11 main::line2/((byte*))(word/signed word/dword/signed dword) $400 ) - [19] (word) main::line2_pos#2 ← phi( main::@3/(word) main::line2_pos#1 main::line2/(const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 ) - [20] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 + [18] (byte) main::line2_i#2 ← phi( main::@3/(byte) main::line2_i#1 main::line2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [18] (byte*) cur_line#10 ← phi( main::@3/(byte*) cur_line#11 main::line2/((byte*))(word/signed word/dword/signed dword) $400 ) + [18] (word) main::line2_pos#2 ← phi( main::@3/(word) main::line2_pos#1 main::line2/(const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 ) + [19] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 to:main::plot2 main::plot2: scope:[main] from main::line2_@1 - [21] (byte*) main::plot2_$0#0 ← (byte*) cur_line#10 + (byte) main::plot2_xpos#0 - [22] *((byte*) main::plot2_$0#0) ← (const byte) main::line2_ch#0 + [20] *((byte*) cur_line#10 + (byte) main::plot2_xpos#0) ← (const byte) main::line2_ch#0 to:main::@3 main::@3: scope:[main] from main::plot2 - [23] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 - [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 - [25] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 - [26] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 + [21] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 + [22] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [23] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 + [24] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 to:main::@return main::@return: scope:[main] from main::@3 - [27] return + [25] return to:@return VARIABLE REGISTER WEIGHTS (byte*) cur_line (byte*) cur_line#1 7.333333333333333 -(byte*) cur_line#10 6.6000000000000005 +(byte*) cur_line#10 8.25 (byte*) cur_line#11 7.333333333333333 -(byte*) cur_line#13 6.6000000000000005 +(byte*) cur_line#13 8.25 (void()) main() (byte~) main::line1_$0 (bool~) main::line1_$2 (byte) main::line1_ch (byte) main::line1_i (byte) main::line1_i#1 16.5 -(byte) main::line1_i#2 3.6666666666666665 +(byte) main::line1_i#2 4.4 (word) main::line1_pos (word) main::line1_pos#1 5.5 -(word) main::line1_pos#2 8.25 +(word) main::line1_pos#2 11.0 (byte) main::line1_xadd (byte) main::line1_xpos (byte) main::line1_ysize @@ -487,20 +492,18 @@ VARIABLE REGISTER WEIGHTS (byte) main::line2_ch (byte) main::line2_i (byte) main::line2_i#1 16.5 -(byte) main::line2_i#2 3.6666666666666665 +(byte) main::line2_i#2 4.4 (word) main::line2_pos (word) main::line2_pos#1 5.5 -(word) main::line2_pos#2 8.25 +(word) main::line2_pos#2 11.0 (byte) main::line2_xadd (byte) main::line2_xpos (byte) main::line2_ysize (byte*~) main::plot1_$0 -(byte*) main::plot1_$0#0 22.0 (byte) main::plot1_ch (byte) main::plot1_xpos (byte) main::plot1_xpos#0 22.0 (byte*~) main::plot2_$0 -(byte*) main::plot2_$0#0 22.0 (byte) main::plot2_ch (byte) main::plot2_xpos (byte) main::plot2_xpos#0 22.0 @@ -517,9 +520,7 @@ Initial phi equivalence classes [ cur_line#10 cur_line#11 ] [ main::line2_i#2 main::line2_i#1 ] Added variable main::plot1_xpos#0 to zero page equivalence class [ main::plot1_xpos#0 ] -Added variable main::plot1_$0#0 to zero page equivalence class [ main::plot1_$0#0 ] Added variable main::plot2_xpos#0 to zero page equivalence class [ main::plot2_xpos#0 ] -Added variable main::plot2_$0#0 to zero page equivalence class [ main::plot2_$0#0 ] Complete equivalence classes [ main::sc#2 main::sc#1 ] [ main::line1_pos#2 main::line1_pos#1 ] @@ -529,9 +530,7 @@ Complete equivalence classes [ cur_line#10 cur_line#11 ] [ main::line2_i#2 main::line2_i#1 ] [ main::plot1_xpos#0 ] -[ main::plot1_$0#0 ] [ main::plot2_xpos#0 ] -[ main::plot2_$0#0 ] Allocated zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] Allocated zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] Allocated zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] @@ -540,9 +539,7 @@ Allocated zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ] Allocated zp ZP_WORD:11 [ cur_line#10 cur_line#11 ] Allocated zp ZP_BYTE:13 [ main::line2_i#2 main::line2_i#1 ] Allocated zp ZP_BYTE:14 [ main::plot1_xpos#0 ] -Allocated zp ZP_WORD:15 [ main::plot1_$0#0 ] -Allocated zp ZP_BYTE:17 [ main::plot2_xpos#0 ] -Allocated zp ZP_WORD:18 [ main::plot2_$0#0 ] +Allocated zp ZP_BYTE:15 [ main::plot2_xpos#0 ] INITIAL ASM //SEG0 File Comments @@ -583,11 +580,9 @@ main: { .const line2_ch = '.' .label sc = 2 .label plot1_xpos = $e - .label plot1__0 = $f .label line1_pos = 4 .label line1_i = 8 - .label plot2_xpos = $11 - .label plot2__0 = $12 + .label plot2_xpos = $f .label line2_pos = 9 .label line2_i = $d //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] @@ -657,22 +652,14 @@ main: { jmp plot1 //SEG31 main::plot1 plot1: - //SEG32 [12] (byte*) main::plot1_$0#0 ← (byte*) cur_line#13 + (byte) main::plot1_xpos#0 -- pbuz1=pbuz2_plus_vbuz3 - lda plot1_xpos - clc - adc cur_line - sta plot1__0 - lda #0 - adc cur_line+1 - sta plot1__0+1 - //SEG33 [13] *((byte*) main::plot1_$0#0) ← (const byte) main::line1_ch#0 -- _deref_pbuz1=vbuc1 + //SEG32 [12] *((byte*) cur_line#13 + (byte) main::plot1_xpos#0) ← (const byte) main::line1_ch#0 -- pbuz1_derefidx_vbuz2=vbuc1 lda #line1_ch - ldy #0 - sta (plot1__0),y + ldy plot1_xpos + sta (cur_line),y jmp b2 - //SEG34 main::@2 + //SEG33 main::@2 b2: - //SEG35 [14] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 + //SEG34 [13] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 lda #line1_xadd clc adc line1_pos @@ -680,7 +667,7 @@ main: { bcc !+ inc line1_pos+1 !: - //SEG36 [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG35 [14] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc cur_line @@ -688,63 +675,55 @@ main: { bcc !+ inc cur_line+1 !: - //SEG37 [16] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 -- vbuz1=_inc_vbuz1 + //SEG36 [15] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 -- vbuz1=_inc_vbuz1 inc line1_i - //SEG38 [17] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 -- vbuz1_lt_vbuc1_then_la1 + //SEG37 [16] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 -- vbuz1_lt_vbuc1_then_la1 lda line1_i cmp #line1_ysize bcc line1_b1_from_b2 - //SEG39 [18] phi from main::@2 to main::line2 [phi:main::@2->main::line2] + //SEG38 [17] phi from main::@2 to main::line2 [phi:main::@2->main::line2] line2_from_b2: jmp line2 - //SEG40 main::line2 + //SEG39 main::line2 line2: - //SEG41 [19] phi from main::line2 to main::line2_@1 [phi:main::line2->main::line2_@1] + //SEG40 [18] phi from main::line2 to main::line2_@1 [phi:main::line2->main::line2_@1] line2_b1_from_line2: - //SEG42 [19] phi (byte) main::line2_i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::line2->main::line2_@1#0] -- vbuz1=vbuc1 + //SEG41 [18] phi (byte) main::line2_i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::line2->main::line2_@1#0] -- vbuz1=vbuc1 lda #0 sta line2_i - //SEG43 [19] phi (byte*) cur_line#10 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::line2->main::line2_@1#1] -- pbuz1=pbuc1 + //SEG42 [18] phi (byte*) cur_line#10 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::line2->main::line2_@1#1] -- pbuz1=pbuc1 lda #<$400 sta cur_line_10 lda #>$400 sta cur_line_10+1 - //SEG44 [19] phi (word) main::line2_pos#2 = (const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 [phi:main::line2->main::line2_@1#2] -- vwuz1=vwuc1 + //SEG43 [18] phi (word) main::line2_pos#2 = (const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 [phi:main::line2->main::line2_@1#2] -- vwuz1=vwuc1 lda #line2_xpos*$100 sta line2_pos+1 jmp line2_b1 - //SEG45 [19] phi from main::@3 to main::line2_@1 [phi:main::@3->main::line2_@1] + //SEG44 [18] phi from main::@3 to main::line2_@1 [phi:main::@3->main::line2_@1] line2_b1_from_b3: - //SEG46 [19] phi (byte) main::line2_i#2 = (byte) main::line2_i#1 [phi:main::@3->main::line2_@1#0] -- register_copy - //SEG47 [19] phi (byte*) cur_line#10 = (byte*) cur_line#11 [phi:main::@3->main::line2_@1#1] -- register_copy - //SEG48 [19] phi (word) main::line2_pos#2 = (word) main::line2_pos#1 [phi:main::@3->main::line2_@1#2] -- register_copy + //SEG45 [18] phi (byte) main::line2_i#2 = (byte) main::line2_i#1 [phi:main::@3->main::line2_@1#0] -- register_copy + //SEG46 [18] phi (byte*) cur_line#10 = (byte*) cur_line#11 [phi:main::@3->main::line2_@1#1] -- register_copy + //SEG47 [18] phi (word) main::line2_pos#2 = (word) main::line2_pos#1 [phi:main::@3->main::line2_@1#2] -- register_copy jmp line2_b1 - //SEG49 main::line2_@1 + //SEG48 main::line2_@1 line2_b1: - //SEG50 [20] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 -- vbuz1=_hi_vwuz2 + //SEG49 [19] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 -- vbuz1=_hi_vwuz2 lda line2_pos+1 sta plot2_xpos jmp plot2 - //SEG51 main::plot2 + //SEG50 main::plot2 plot2: - //SEG52 [21] (byte*) main::plot2_$0#0 ← (byte*) cur_line#10 + (byte) main::plot2_xpos#0 -- pbuz1=pbuz2_plus_vbuz3 - lda plot2_xpos - clc - adc cur_line_10 - sta plot2__0 - lda #0 - adc cur_line_10+1 - sta plot2__0+1 - //SEG53 [22] *((byte*) main::plot2_$0#0) ← (const byte) main::line2_ch#0 -- _deref_pbuz1=vbuc1 + //SEG51 [20] *((byte*) cur_line#10 + (byte) main::plot2_xpos#0) ← (const byte) main::line2_ch#0 -- pbuz1_derefidx_vbuz2=vbuc1 lda #line2_ch - ldy #0 - sta (plot2__0),y + ldy plot2_xpos + sta (cur_line_10),y jmp b3 - //SEG54 main::@3 + //SEG52 main::@3 b3: - //SEG55 [23] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 + //SEG53 [21] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 lda #line2_xadd clc adc line2_pos @@ -752,7 +731,7 @@ main: { bcc !+ inc line2_pos+1 !: - //SEG56 [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG54 [22] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc cur_line_11 @@ -760,16 +739,16 @@ main: { bcc !+ inc cur_line_11+1 !: - //SEG57 [25] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 -- vbuz1=_inc_vbuz1 + //SEG55 [23] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 -- vbuz1=_inc_vbuz1 inc line2_i - //SEG58 [26] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 -- vbuz1_lt_vbuc1_then_la1 + //SEG56 [24] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 -- vbuz1_lt_vbuc1_then_la1 lda line2_i cmp #line2_ysize bcc line2_b1_from_b3 jmp breturn - //SEG59 main::@return + //SEG57 main::@return breturn: - //SEG60 [27] return + //SEG58 [25] return rts } @@ -778,54 +757,45 @@ Statement [6] *((byte*) main::sc#2) ← (byte) ' ' [ main::sc#2 ] ( main:2 [ mai Statement [8] if((byte*) main::sc#1<(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto main::@1 [ main::sc#1 ] ( main:2 [ main::sc#1 ] ) always clobbers reg byte a Statement [11] (byte) main::plot1_xpos#0 ← > (word) main::line1_pos#2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 main::plot1_xpos#0 ] ( main:2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 main::plot1_xpos#0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ main::line1_i#2 main::line1_i#1 ] -Statement [12] (byte*) main::plot1_$0#0 ← (byte*) cur_line#13 + (byte) main::plot1_xpos#0 [ main::line1_pos#2 cur_line#13 main::line1_i#2 main::plot1_$0#0 ] ( main:2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 main::plot1_$0#0 ] ) always clobbers reg byte a -Statement [13] *((byte*) main::plot1_$0#0) ← (const byte) main::line1_ch#0 [ main::line1_pos#2 cur_line#13 main::line1_i#2 ] ( main:2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:8 [ main::line1_i#2 main::line1_i#1 ] -Statement [14] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 [ cur_line#13 main::line1_i#2 main::line1_pos#1 ] ( main:2 [ cur_line#13 main::line1_i#2 main::line1_pos#1 ] ) always clobbers reg byte a -Statement [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ main::line1_i#2 main::line1_pos#1 cur_line#1 ] ( main:2 [ main::line1_i#2 main::line1_pos#1 cur_line#1 ] ) always clobbers reg byte a -Statement [20] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_xpos#0 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_xpos#0 ] ) always clobbers reg byte a +Statement [12] *((byte*) cur_line#13 + (byte) main::plot1_xpos#0) ← (const byte) main::line1_ch#0 [ main::line1_pos#2 cur_line#13 main::line1_i#2 ] ( main:2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 ] ) always clobbers reg byte a +Statement [13] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 [ cur_line#13 main::line1_i#2 main::line1_pos#1 ] ( main:2 [ cur_line#13 main::line1_i#2 main::line1_pos#1 ] ) always clobbers reg byte a +Statement [14] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ main::line1_i#2 main::line1_pos#1 cur_line#1 ] ( main:2 [ main::line1_i#2 main::line1_pos#1 cur_line#1 ] ) always clobbers reg byte a +Statement [19] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_xpos#0 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_xpos#0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:13 [ main::line2_i#2 main::line2_i#1 ] -Statement [21] (byte*) main::plot2_$0#0 ← (byte*) cur_line#10 + (byte) main::plot2_xpos#0 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_$0#0 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_$0#0 ] ) always clobbers reg byte a -Statement [22] *((byte*) main::plot2_$0#0) ← (const byte) main::line2_ch#0 [ main::line2_pos#2 cur_line#10 main::line2_i#2 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ main::line2_i#2 main::line2_i#1 ] -Statement [23] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 [ cur_line#10 main::line2_i#2 main::line2_pos#1 ] ( main:2 [ cur_line#10 main::line2_i#2 main::line2_pos#1 ] ) always clobbers reg byte a -Statement [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ main::line2_i#2 main::line2_pos#1 cur_line#11 ] ( main:2 [ main::line2_i#2 main::line2_pos#1 cur_line#11 ] ) always clobbers reg byte a +Statement [20] *((byte*) cur_line#10 + (byte) main::plot2_xpos#0) ← (const byte) main::line2_ch#0 [ main::line2_pos#2 cur_line#10 main::line2_i#2 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 ] ) always clobbers reg byte a +Statement [21] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 [ cur_line#10 main::line2_i#2 main::line2_pos#1 ] ( main:2 [ cur_line#10 main::line2_i#2 main::line2_pos#1 ] ) always clobbers reg byte a +Statement [22] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ main::line2_i#2 main::line2_pos#1 cur_line#11 ] ( main:2 [ main::line2_i#2 main::line2_pos#1 cur_line#11 ] ) always clobbers reg byte a Statement [6] *((byte*) main::sc#2) ← (byte) ' ' [ main::sc#2 ] ( main:2 [ main::sc#2 ] ) always clobbers reg byte a reg byte y Statement [8] if((byte*) main::sc#1<(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto main::@1 [ main::sc#1 ] ( main:2 [ main::sc#1 ] ) always clobbers reg byte a Statement [11] (byte) main::plot1_xpos#0 ← > (word) main::line1_pos#2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 main::plot1_xpos#0 ] ( main:2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 main::plot1_xpos#0 ] ) always clobbers reg byte a -Statement [12] (byte*) main::plot1_$0#0 ← (byte*) cur_line#13 + (byte) main::plot1_xpos#0 [ main::line1_pos#2 cur_line#13 main::line1_i#2 main::plot1_$0#0 ] ( main:2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 main::plot1_$0#0 ] ) always clobbers reg byte a -Statement [13] *((byte*) main::plot1_$0#0) ← (const byte) main::line1_ch#0 [ main::line1_pos#2 cur_line#13 main::line1_i#2 ] ( main:2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 ] ) always clobbers reg byte a reg byte y -Statement [14] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 [ cur_line#13 main::line1_i#2 main::line1_pos#1 ] ( main:2 [ cur_line#13 main::line1_i#2 main::line1_pos#1 ] ) always clobbers reg byte a -Statement [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ main::line1_i#2 main::line1_pos#1 cur_line#1 ] ( main:2 [ main::line1_i#2 main::line1_pos#1 cur_line#1 ] ) always clobbers reg byte a -Statement [20] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_xpos#0 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_xpos#0 ] ) always clobbers reg byte a -Statement [21] (byte*) main::plot2_$0#0 ← (byte*) cur_line#10 + (byte) main::plot2_xpos#0 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_$0#0 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_$0#0 ] ) always clobbers reg byte a -Statement [22] *((byte*) main::plot2_$0#0) ← (const byte) main::line2_ch#0 [ main::line2_pos#2 cur_line#10 main::line2_i#2 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 ] ) always clobbers reg byte a reg byte y -Statement [23] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 [ cur_line#10 main::line2_i#2 main::line2_pos#1 ] ( main:2 [ cur_line#10 main::line2_i#2 main::line2_pos#1 ] ) always clobbers reg byte a -Statement [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ main::line2_i#2 main::line2_pos#1 cur_line#11 ] ( main:2 [ main::line2_i#2 main::line2_pos#1 cur_line#11 ] ) always clobbers reg byte a +Statement [12] *((byte*) cur_line#13 + (byte) main::plot1_xpos#0) ← (const byte) main::line1_ch#0 [ main::line1_pos#2 cur_line#13 main::line1_i#2 ] ( main:2 [ main::line1_pos#2 cur_line#13 main::line1_i#2 ] ) always clobbers reg byte a +Statement [13] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 [ cur_line#13 main::line1_i#2 main::line1_pos#1 ] ( main:2 [ cur_line#13 main::line1_i#2 main::line1_pos#1 ] ) always clobbers reg byte a +Statement [14] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ main::line1_i#2 main::line1_pos#1 cur_line#1 ] ( main:2 [ main::line1_i#2 main::line1_pos#1 cur_line#1 ] ) always clobbers reg byte a +Statement [19] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_xpos#0 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 main::plot2_xpos#0 ] ) always clobbers reg byte a +Statement [20] *((byte*) cur_line#10 + (byte) main::plot2_xpos#0) ← (const byte) main::line2_ch#0 [ main::line2_pos#2 cur_line#10 main::line2_i#2 ] ( main:2 [ main::line2_pos#2 cur_line#10 main::line2_i#2 ] ) always clobbers reg byte a +Statement [21] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 [ cur_line#10 main::line2_i#2 main::line2_pos#1 ] ( main:2 [ cur_line#10 main::line2_i#2 main::line2_pos#1 ] ) always clobbers reg byte a +Statement [22] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ main::line2_i#2 main::line2_pos#1 cur_line#11 ] ( main:2 [ main::line2_i#2 main::line2_pos#1 cur_line#11 ] ) always clobbers reg byte a Potential registers zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] : zp ZP_WORD:2 , Potential registers zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] : zp ZP_WORD:4 , Potential registers zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] : zp ZP_WORD:6 , -Potential registers zp ZP_BYTE:8 [ main::line1_i#2 main::line1_i#1 ] : zp ZP_BYTE:8 , reg byte x , +Potential registers zp ZP_BYTE:8 [ main::line1_i#2 main::line1_i#1 ] : zp ZP_BYTE:8 , reg byte x , reg byte y , Potential registers zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ] : zp ZP_WORD:9 , Potential registers zp ZP_WORD:11 [ cur_line#10 cur_line#11 ] : zp ZP_WORD:11 , -Potential registers zp ZP_BYTE:13 [ main::line2_i#2 main::line2_i#1 ] : zp ZP_BYTE:13 , reg byte x , +Potential registers zp ZP_BYTE:13 [ main::line2_i#2 main::line2_i#1 ] : zp ZP_BYTE:13 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:14 [ main::plot1_xpos#0 ] : zp ZP_BYTE:14 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:15 [ main::plot1_$0#0 ] : zp ZP_WORD:15 , -Potential registers zp ZP_BYTE:17 [ main::plot2_xpos#0 ] : zp ZP_BYTE:17 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:18 [ main::plot2_$0#0 ] : zp ZP_WORD:18 , +Potential registers zp ZP_BYTE:15 [ main::plot2_xpos#0 ] : zp ZP_BYTE:15 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 33: zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] 22: zp ZP_BYTE:14 [ main::plot1_xpos#0 ] 22: zp ZP_WORD:15 [ main::plot1_$0#0 ] 22: zp ZP_BYTE:17 [ main::plot2_xpos#0 ] 22: zp ZP_WORD:18 [ main::plot2_$0#0 ] 20.17: zp ZP_BYTE:8 [ main::line1_i#2 main::line1_i#1 ] 20.17: zp ZP_BYTE:13 [ main::line2_i#2 main::line2_i#1 ] 13.75: zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] 13.75: zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ] -Uplift Scope [] 13.93: zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] 13.93: zp ZP_WORD:11 [ cur_line#10 cur_line#11 ] +Uplift Scope [main] 33: zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] 22: zp ZP_BYTE:14 [ main::plot1_xpos#0 ] 22: zp ZP_BYTE:15 [ main::plot2_xpos#0 ] 20.9: zp ZP_BYTE:8 [ main::line1_i#2 main::line1_i#1 ] 20.9: zp ZP_BYTE:13 [ main::line2_i#2 main::line2_i#1 ] 16.5: zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] 16.5: zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ] +Uplift Scope [] 15.58: zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] 15.58: zp ZP_WORD:11 [ cur_line#10 cur_line#11 ] -Uplifting [main] best 2704 combination zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] reg byte a [ main::plot1_xpos#0 ] zp ZP_WORD:15 [ main::plot1_$0#0 ] reg byte a [ main::plot2_xpos#0 ] zp ZP_WORD:18 [ main::plot2_$0#0 ] reg byte x [ main::line1_i#2 main::line1_i#1 ] reg byte x [ main::line2_i#2 main::line2_i#1 ] zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ] -Uplifting [] best 2704 combination zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] zp ZP_WORD:11 [ cur_line#10 cur_line#11 ] +Uplifting [main] best 2384 combination zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] reg byte a [ main::plot1_xpos#0 ] reg byte a [ main::plot2_xpos#0 ] reg byte x [ main::line1_i#2 main::line1_i#1 ] reg byte x [ main::line2_i#2 main::line2_i#1 ] zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ] +Limited combination testing to 100 combinations of 144 possible. +Uplifting [] best 2384 combination zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] zp ZP_WORD:11 [ cur_line#10 cur_line#11 ] Coalescing zero page register [ zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] ] with [ zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] ] Coalescing zero page register [ zp ZP_WORD:2 [ main::sc#2 main::sc#1 main::line1_pos#2 main::line1_pos#1 ] ] with [ zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ] ] Coalescing zero page register [ zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] ] with [ zp ZP_WORD:11 [ cur_line#10 cur_line#11 ] ] -Coalescing zero page register [ zp ZP_WORD:15 [ main::plot1_$0#0 ] ] with [ zp ZP_WORD:18 [ main::plot2_$0#0 ] ] Allocated (was zp ZP_WORD:6) zp ZP_WORD:4 [ cur_line#13 cur_line#1 cur_line#10 cur_line#11 ] -Allocated (was zp ZP_WORD:15) zp ZP_WORD:6 [ main::plot1_$0#0 main::plot2_$0#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 File Comments @@ -863,9 +833,7 @@ main: { .const line2_ysize = $f .const line2_ch = '.' .label sc = 2 - .label plot1__0 = 6 .label line1_pos = 2 - .label plot2__0 = 6 .label line2_pos = 2 //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] b1_from_main: @@ -932,21 +900,14 @@ main: { jmp plot1 //SEG31 main::plot1 plot1: - //SEG32 [12] (byte*) main::plot1_$0#0 ← (byte*) cur_line#13 + (byte) main::plot1_xpos#0 -- pbuz1=pbuz2_plus_vbuaa - clc - adc cur_line - sta plot1__0 - lda #0 - adc cur_line+1 - sta plot1__0+1 - //SEG33 [13] *((byte*) main::plot1_$0#0) ← (const byte) main::line1_ch#0 -- _deref_pbuz1=vbuc1 + //SEG32 [12] *((byte*) cur_line#13 + (byte) main::plot1_xpos#0) ← (const byte) main::line1_ch#0 -- pbuz1_derefidx_vbuaa=vbuc1 + tay lda #line1_ch - ldy #0 - sta (plot1__0),y + sta (cur_line),y jmp b2 - //SEG34 main::@2 + //SEG33 main::@2 b2: - //SEG35 [14] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 + //SEG34 [13] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 lda #line1_xadd clc adc line1_pos @@ -954,7 +915,7 @@ main: { bcc !+ inc line1_pos+1 !: - //SEG36 [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG35 [14] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc cur_line @@ -962,59 +923,52 @@ main: { bcc !+ inc cur_line+1 !: - //SEG37 [16] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 -- vbuxx=_inc_vbuxx + //SEG36 [15] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 -- vbuxx=_inc_vbuxx inx - //SEG38 [17] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 -- vbuxx_lt_vbuc1_then_la1 + //SEG37 [16] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 -- vbuxx_lt_vbuc1_then_la1 cpx #line1_ysize bcc line1_b1_from_b2 - //SEG39 [18] phi from main::@2 to main::line2 [phi:main::@2->main::line2] + //SEG38 [17] phi from main::@2 to main::line2 [phi:main::@2->main::line2] line2_from_b2: jmp line2 - //SEG40 main::line2 + //SEG39 main::line2 line2: - //SEG41 [19] phi from main::line2 to main::line2_@1 [phi:main::line2->main::line2_@1] + //SEG40 [18] phi from main::line2 to main::line2_@1 [phi:main::line2->main::line2_@1] line2_b1_from_line2: - //SEG42 [19] phi (byte) main::line2_i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::line2->main::line2_@1#0] -- vbuxx=vbuc1 + //SEG41 [18] phi (byte) main::line2_i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::line2->main::line2_@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG43 [19] phi (byte*) cur_line#10 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::line2->main::line2_@1#1] -- pbuz1=pbuc1 + //SEG42 [18] phi (byte*) cur_line#10 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::line2->main::line2_@1#1] -- pbuz1=pbuc1 lda #<$400 sta cur_line lda #>$400 sta cur_line+1 - //SEG44 [19] phi (word) main::line2_pos#2 = (const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 [phi:main::line2->main::line2_@1#2] -- vwuz1=vwuc1 + //SEG43 [18] phi (word) main::line2_pos#2 = (const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 [phi:main::line2->main::line2_@1#2] -- vwuz1=vwuc1 lda #line2_xpos*$100 sta line2_pos+1 jmp line2_b1 - //SEG45 [19] phi from main::@3 to main::line2_@1 [phi:main::@3->main::line2_@1] + //SEG44 [18] phi from main::@3 to main::line2_@1 [phi:main::@3->main::line2_@1] line2_b1_from_b3: - //SEG46 [19] phi (byte) main::line2_i#2 = (byte) main::line2_i#1 [phi:main::@3->main::line2_@1#0] -- register_copy - //SEG47 [19] phi (byte*) cur_line#10 = (byte*) cur_line#11 [phi:main::@3->main::line2_@1#1] -- register_copy - //SEG48 [19] phi (word) main::line2_pos#2 = (word) main::line2_pos#1 [phi:main::@3->main::line2_@1#2] -- register_copy + //SEG45 [18] phi (byte) main::line2_i#2 = (byte) main::line2_i#1 [phi:main::@3->main::line2_@1#0] -- register_copy + //SEG46 [18] phi (byte*) cur_line#10 = (byte*) cur_line#11 [phi:main::@3->main::line2_@1#1] -- register_copy + //SEG47 [18] phi (word) main::line2_pos#2 = (word) main::line2_pos#1 [phi:main::@3->main::line2_@1#2] -- register_copy jmp line2_b1 - //SEG49 main::line2_@1 + //SEG48 main::line2_@1 line2_b1: - //SEG50 [20] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 -- vbuaa=_hi_vwuz1 + //SEG49 [19] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 -- vbuaa=_hi_vwuz1 lda line2_pos+1 jmp plot2 - //SEG51 main::plot2 + //SEG50 main::plot2 plot2: - //SEG52 [21] (byte*) main::plot2_$0#0 ← (byte*) cur_line#10 + (byte) main::plot2_xpos#0 -- pbuz1=pbuz2_plus_vbuaa - clc - adc cur_line - sta plot2__0 - lda #0 - adc cur_line+1 - sta plot2__0+1 - //SEG53 [22] *((byte*) main::plot2_$0#0) ← (const byte) main::line2_ch#0 -- _deref_pbuz1=vbuc1 + //SEG51 [20] *((byte*) cur_line#10 + (byte) main::plot2_xpos#0) ← (const byte) main::line2_ch#0 -- pbuz1_derefidx_vbuaa=vbuc1 + tay lda #line2_ch - ldy #0 - sta (plot2__0),y + sta (cur_line),y jmp b3 - //SEG54 main::@3 + //SEG52 main::@3 b3: - //SEG55 [23] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 + //SEG53 [21] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 lda #line2_xadd clc adc line2_pos @@ -1022,7 +976,7 @@ main: { bcc !+ inc line2_pos+1 !: - //SEG56 [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG54 [22] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc cur_line @@ -1030,15 +984,15 @@ main: { bcc !+ inc cur_line+1 !: - //SEG57 [25] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 -- vbuxx=_inc_vbuxx + //SEG55 [23] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 -- vbuxx=_inc_vbuxx inx - //SEG58 [26] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 -- vbuxx_lt_vbuc1_then_la1 + //SEG56 [24] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 -- vbuxx_lt_vbuc1_then_la1 cpx #line2_ysize bcc line2_b1_from_b3 jmp breturn - //SEG59 main::@return + //SEG57 main::@return breturn: - //SEG60 [27] return + //SEG58 [25] return rts } @@ -1098,9 +1052,9 @@ FINAL SYMBOL TABLE (label) @end (byte*) cur_line (byte*) cur_line#1 cur_line zp ZP_WORD:4 7.333333333333333 -(byte*) cur_line#10 cur_line zp ZP_WORD:4 6.6000000000000005 +(byte*) cur_line#10 cur_line zp ZP_WORD:4 8.25 (byte*) cur_line#11 cur_line zp ZP_WORD:4 7.333333333333333 -(byte*) cur_line#13 cur_line zp ZP_WORD:4 6.6000000000000005 +(byte*) cur_line#13 cur_line zp ZP_WORD:4 8.25 (void()) main() (label) main::@1 (label) main::@2 @@ -1114,10 +1068,10 @@ FINAL SYMBOL TABLE (const byte) main::line1_ch#0 line1_ch = (byte) '*' (byte) main::line1_i (byte) main::line1_i#1 reg byte x 16.5 -(byte) main::line1_i#2 reg byte x 3.6666666666666665 +(byte) main::line1_i#2 reg byte x 4.4 (word) main::line1_pos (word) main::line1_pos#1 line1_pos zp ZP_WORD:2 5.5 -(word) main::line1_pos#2 line1_pos zp ZP_WORD:2 8.25 +(word) main::line1_pos#2 line1_pos zp ZP_WORD:2 11.0 (byte) main::line1_xadd (const byte) main::line1_xadd#0 line1_xadd = (byte/signed byte/word/signed word/dword/signed dword) $40 (byte) main::line1_xpos @@ -1132,10 +1086,10 @@ FINAL SYMBOL TABLE (const byte) main::line2_ch#0 line2_ch = (byte) '.' (byte) main::line2_i (byte) main::line2_i#1 reg byte x 16.5 -(byte) main::line2_i#2 reg byte x 3.6666666666666665 +(byte) main::line2_i#2 reg byte x 4.4 (word) main::line2_pos (word) main::line2_pos#1 line2_pos zp ZP_WORD:2 5.5 -(word) main::line2_pos#2 line2_pos zp ZP_WORD:2 8.25 +(word) main::line2_pos#2 line2_pos zp ZP_WORD:2 11.0 (byte) main::line2_xadd (const byte) main::line2_xadd#0 line2_xadd = (byte/word/signed word/dword/signed dword) $80 (byte) main::line2_xpos @@ -1144,13 +1098,11 @@ FINAL SYMBOL TABLE (const byte) main::line2_ysize#0 line2_ysize = (byte/signed byte/word/signed word/dword/signed dword) $f (label) main::plot1 (byte*~) main::plot1_$0 -(byte*) main::plot1_$0#0 plot1_$0 zp ZP_WORD:6 22.0 (byte) main::plot1_ch (byte) main::plot1_xpos (byte) main::plot1_xpos#0 reg byte a 22.0 (label) main::plot2 (byte*~) main::plot2_$0 -(byte*) main::plot2_$0#0 plot2_$0 zp ZP_WORD:6 22.0 (byte) main::plot2_ch (byte) main::plot2_xpos (byte) main::plot2_xpos#0 reg byte a 22.0 @@ -1163,12 +1115,11 @@ zp ZP_WORD:4 [ cur_line#13 cur_line#1 cur_line#10 cur_line#11 ] reg byte x [ main::line1_i#2 main::line1_i#1 ] reg byte x [ main::line2_i#2 main::line2_i#1 ] reg byte a [ main::plot1_xpos#0 ] -zp ZP_WORD:6 [ main::plot1_$0#0 main::plot2_$0#0 ] reg byte a [ main::plot2_xpos#0 ] FINAL ASSEMBLER -Score: 2356 +Score: 2036 //SEG0 File Comments // Inline functions in two levels @@ -1196,9 +1147,7 @@ main: { .const line2_ysize = $f .const line2_ch = '.' .label sc = 2 - .label plot1__0 = 6 .label line1_pos = 2 - .label plot2__0 = 6 .label line2_pos = 2 //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] //SEG12 [5] phi (byte*) main::sc#2 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main->main::@1#0] -- pbuz1=pbuc1 @@ -1252,19 +1201,12 @@ main: { //SEG30 [11] (byte) main::plot1_xpos#0 ← > (word) main::line1_pos#2 -- vbuaa=_hi_vwuz1 lda line1_pos+1 //SEG31 main::plot1 - //SEG32 [12] (byte*) main::plot1_$0#0 ← (byte*) cur_line#13 + (byte) main::plot1_xpos#0 -- pbuz1=pbuz2_plus_vbuaa - clc - adc cur_line - sta plot1__0 - lda #0 - adc cur_line+1 - sta plot1__0+1 - //SEG33 [13] *((byte*) main::plot1_$0#0) ← (const byte) main::line1_ch#0 -- _deref_pbuz1=vbuc1 + //SEG32 [12] *((byte*) cur_line#13 + (byte) main::plot1_xpos#0) ← (const byte) main::line1_ch#0 -- pbuz1_derefidx_vbuaa=vbuc1 + tay lda #line1_ch - ldy #0 - sta (plot1__0),y - //SEG34 main::@2 - //SEG35 [14] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 + sta (cur_line),y + //SEG33 main::@2 + //SEG34 [13] (word) main::line1_pos#1 ← (word) main::line1_pos#2 + (const byte) main::line1_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 lda #line1_xadd clc adc line1_pos @@ -1272,7 +1214,7 @@ main: { bcc !+ inc line1_pos+1 !: - //SEG36 [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG35 [14] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc cur_line @@ -1280,48 +1222,41 @@ main: { bcc !+ inc cur_line+1 !: - //SEG37 [16] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 -- vbuxx=_inc_vbuxx + //SEG36 [15] (byte) main::line1_i#1 ← ++ (byte) main::line1_i#2 -- vbuxx=_inc_vbuxx inx - //SEG38 [17] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 -- vbuxx_lt_vbuc1_then_la1 + //SEG37 [16] if((byte) main::line1_i#1<(const byte) main::line1_ysize#0) goto main::line1_@1 -- vbuxx_lt_vbuc1_then_la1 cpx #line1_ysize bcc line1_b1 - //SEG39 [18] phi from main::@2 to main::line2 [phi:main::@2->main::line2] - //SEG40 main::line2 - //SEG41 [19] phi from main::line2 to main::line2_@1 [phi:main::line2->main::line2_@1] - //SEG42 [19] phi (byte) main::line2_i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::line2->main::line2_@1#0] -- vbuxx=vbuc1 + //SEG38 [17] phi from main::@2 to main::line2 [phi:main::@2->main::line2] + //SEG39 main::line2 + //SEG40 [18] phi from main::line2 to main::line2_@1 [phi:main::line2->main::line2_@1] + //SEG41 [18] phi (byte) main::line2_i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::line2->main::line2_@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG43 [19] phi (byte*) cur_line#10 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::line2->main::line2_@1#1] -- pbuz1=pbuc1 + //SEG42 [18] phi (byte*) cur_line#10 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::line2->main::line2_@1#1] -- pbuz1=pbuc1 lda #<$400 sta cur_line lda #>$400 sta cur_line+1 - //SEG44 [19] phi (word) main::line2_pos#2 = (const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 [phi:main::line2->main::line2_@1#2] -- vwuz1=vwuc1 + //SEG43 [18] phi (word) main::line2_pos#2 = (const byte) main::line2_xpos#0*(word/signed word/dword/signed dword) $100 [phi:main::line2->main::line2_@1#2] -- vwuz1=vwuc1 lda #line2_xpos*$100 sta line2_pos+1 - //SEG45 [19] phi from main::@3 to main::line2_@1 [phi:main::@3->main::line2_@1] - //SEG46 [19] phi (byte) main::line2_i#2 = (byte) main::line2_i#1 [phi:main::@3->main::line2_@1#0] -- register_copy - //SEG47 [19] phi (byte*) cur_line#10 = (byte*) cur_line#11 [phi:main::@3->main::line2_@1#1] -- register_copy - //SEG48 [19] phi (word) main::line2_pos#2 = (word) main::line2_pos#1 [phi:main::@3->main::line2_@1#2] -- register_copy - //SEG49 main::line2_@1 + //SEG44 [18] phi from main::@3 to main::line2_@1 [phi:main::@3->main::line2_@1] + //SEG45 [18] phi (byte) main::line2_i#2 = (byte) main::line2_i#1 [phi:main::@3->main::line2_@1#0] -- register_copy + //SEG46 [18] phi (byte*) cur_line#10 = (byte*) cur_line#11 [phi:main::@3->main::line2_@1#1] -- register_copy + //SEG47 [18] phi (word) main::line2_pos#2 = (word) main::line2_pos#1 [phi:main::@3->main::line2_@1#2] -- register_copy + //SEG48 main::line2_@1 line2_b1: - //SEG50 [20] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 -- vbuaa=_hi_vwuz1 + //SEG49 [19] (byte) main::plot2_xpos#0 ← > (word) main::line2_pos#2 -- vbuaa=_hi_vwuz1 lda line2_pos+1 - //SEG51 main::plot2 - //SEG52 [21] (byte*) main::plot2_$0#0 ← (byte*) cur_line#10 + (byte) main::plot2_xpos#0 -- pbuz1=pbuz2_plus_vbuaa - clc - adc cur_line - sta plot2__0 - lda #0 - adc cur_line+1 - sta plot2__0+1 - //SEG53 [22] *((byte*) main::plot2_$0#0) ← (const byte) main::line2_ch#0 -- _deref_pbuz1=vbuc1 + //SEG50 main::plot2 + //SEG51 [20] *((byte*) cur_line#10 + (byte) main::plot2_xpos#0) ← (const byte) main::line2_ch#0 -- pbuz1_derefidx_vbuaa=vbuc1 + tay lda #line2_ch - ldy #0 - sta (plot2__0),y - //SEG54 main::@3 - //SEG55 [23] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 + sta (cur_line),y + //SEG52 main::@3 + //SEG53 [21] (word) main::line2_pos#1 ← (word) main::line2_pos#2 + (const byte) main::line2_xadd#0 -- vwuz1=vwuz1_plus_vbuc1 lda #line2_xadd clc adc line2_pos @@ -1329,7 +1264,7 @@ main: { bcc !+ inc line2_pos+1 !: - //SEG56 [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 + //SEG54 [22] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc cur_line @@ -1337,13 +1272,13 @@ main: { bcc !+ inc cur_line+1 !: - //SEG57 [25] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 -- vbuxx=_inc_vbuxx + //SEG55 [23] (byte) main::line2_i#1 ← ++ (byte) main::line2_i#2 -- vbuxx=_inc_vbuxx inx - //SEG58 [26] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 -- vbuxx_lt_vbuc1_then_la1 + //SEG56 [24] if((byte) main::line2_i#1<(const byte) main::line2_ysize#0) goto main::line2_@1 -- vbuxx_lt_vbuc1_then_la1 cpx #line2_ysize bcc line2_b1 - //SEG59 main::@return - //SEG60 [27] return + //SEG57 main::@return + //SEG58 [25] return rts } diff --git a/src/test/ref/inline-function-level2.sym b/src/test/ref/inline-function-level2.sym index 6e89ff948..1855f19e6 100644 --- a/src/test/ref/inline-function-level2.sym +++ b/src/test/ref/inline-function-level2.sym @@ -3,9 +3,9 @@ (label) @end (byte*) cur_line (byte*) cur_line#1 cur_line zp ZP_WORD:4 7.333333333333333 -(byte*) cur_line#10 cur_line zp ZP_WORD:4 6.6000000000000005 +(byte*) cur_line#10 cur_line zp ZP_WORD:4 8.25 (byte*) cur_line#11 cur_line zp ZP_WORD:4 7.333333333333333 -(byte*) cur_line#13 cur_line zp ZP_WORD:4 6.6000000000000005 +(byte*) cur_line#13 cur_line zp ZP_WORD:4 8.25 (void()) main() (label) main::@1 (label) main::@2 @@ -19,10 +19,10 @@ (const byte) main::line1_ch#0 line1_ch = (byte) '*' (byte) main::line1_i (byte) main::line1_i#1 reg byte x 16.5 -(byte) main::line1_i#2 reg byte x 3.6666666666666665 +(byte) main::line1_i#2 reg byte x 4.4 (word) main::line1_pos (word) main::line1_pos#1 line1_pos zp ZP_WORD:2 5.5 -(word) main::line1_pos#2 line1_pos zp ZP_WORD:2 8.25 +(word) main::line1_pos#2 line1_pos zp ZP_WORD:2 11.0 (byte) main::line1_xadd (const byte) main::line1_xadd#0 line1_xadd = (byte/signed byte/word/signed word/dword/signed dword) $40 (byte) main::line1_xpos @@ -37,10 +37,10 @@ (const byte) main::line2_ch#0 line2_ch = (byte) '.' (byte) main::line2_i (byte) main::line2_i#1 reg byte x 16.5 -(byte) main::line2_i#2 reg byte x 3.6666666666666665 +(byte) main::line2_i#2 reg byte x 4.4 (word) main::line2_pos (word) main::line2_pos#1 line2_pos zp ZP_WORD:2 5.5 -(word) main::line2_pos#2 line2_pos zp ZP_WORD:2 8.25 +(word) main::line2_pos#2 line2_pos zp ZP_WORD:2 11.0 (byte) main::line2_xadd (const byte) main::line2_xadd#0 line2_xadd = (byte/word/signed word/dword/signed dword) $80 (byte) main::line2_xpos @@ -49,13 +49,11 @@ (const byte) main::line2_ysize#0 line2_ysize = (byte/signed byte/word/signed word/dword/signed dword) $f (label) main::plot1 (byte*~) main::plot1_$0 -(byte*) main::plot1_$0#0 plot1_$0 zp ZP_WORD:6 22.0 (byte) main::plot1_ch (byte) main::plot1_xpos (byte) main::plot1_xpos#0 reg byte a 22.0 (label) main::plot2 (byte*~) main::plot2_$0 -(byte*) main::plot2_$0#0 plot2_$0 zp ZP_WORD:6 22.0 (byte) main::plot2_ch (byte) main::plot2_xpos (byte) main::plot2_xpos#0 reg byte a 22.0 @@ -68,5 +66,4 @@ zp ZP_WORD:4 [ cur_line#13 cur_line#1 cur_line#10 cur_line#11 ] reg byte x [ main::line1_i#2 main::line1_i#1 ] reg byte x [ main::line2_i#2 main::line2_i#1 ] reg byte a [ main::plot1_xpos#0 ] -zp ZP_WORD:6 [ main::plot1_$0#0 main::plot2_$0#0 ] reg byte a [ main::plot2_xpos#0 ] diff --git a/src/test/ref/inline-string-2.log b/src/test/ref/inline-string-2.log index c48dea863..49c1260d0 100644 --- a/src/test/ref/inline-string-2.log +++ b/src/test/ref/inline-string-2.log @@ -182,6 +182,7 @@ Constant (const byte*) print_msg::msg#1 = print_msg::$2 Constant (const byte*) print_msg::msg#2 = print_msg::$3 Constant (const byte*) screen#20 = ((byte*))$400 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const byte*) print_msg::msg#0 Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) main::@2 Culled Empty Block (label) print_msg::@1 diff --git a/src/test/ref/irq-idx-problem.log b/src/test/ref/irq-idx-problem.log index 9ff98c735..91b5fa32c 100644 --- a/src/test/ref/irq-idx-problem.log +++ b/src/test/ref/irq-idx-problem.log @@ -225,6 +225,7 @@ Successful SSA optimization Pass2ConstantAdditionElimination Removing PHI-reference to removed block (table_driven_irq::@8) in block table_driven_irq::@return if() condition always true - replacing block destination [26] if(true) goto table_driven_irq::@1 Successful SSA optimization Pass2ConstantIfs +Eliminating unused variable - keeping the phi block (byte) irq_idx#3 Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) @4 Culled Empty Block (label) table_driven_irq::@4 diff --git a/src/test/ref/irq-volatile-bool-problem.log b/src/test/ref/irq-volatile-bool-problem.log index 8e41119bd..336140596 100644 --- a/src/test/ref/irq-volatile-bool-problem.log +++ b/src/test/ref/irq-volatile-bool-problem.log @@ -165,6 +165,8 @@ Constant (const void()*) main::$0 = &irq Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [8] if(true) goto main::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused variable - keeping the phi block (bool) framedone#1 +Eliminating unused variable - keeping the phi block (bool) framedone#10 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/line-anim.log b/src/test/ref/line-anim.log index 0e0dac27b..2e604418a 100644 --- a/src/test/ref/line-anim.log +++ b/src/test/ref/line-anim.log @@ -1425,6 +1425,10 @@ Successful SSA optimization Pass2ConstantIfs Fixing inline constructor with bitmap_clear::$3 ← *(bitmap_plot_yhi#0+0) w= *(bitmap_plot_ylo#0+0) Fixing inline constructor with bitmap_plot::$3 ← *(bitmap_plot_yhi#0 + bitmap_plot::y#0) w= *(bitmap_plot_ylo#0 + bitmap_plot::y#0) Successful SSA optimization Pass2FixInlineConstructors +Eliminating unused constant (const word) divr16s::dividendu#0 +Eliminating unused constant (const word) divr16s::remu#0 +Eliminating unused constant (const word) divr16s::divisoru#0 +Eliminating unused constant (const bool) divr16s::$0 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (word) divr16s::remu#1 ← ((word)) (signed word~) divr16s::$10 Eliminating Noop Cast (word) divr16s::remu#2 ← ((word)) (signed word) divr16s::rem#0 @@ -1495,6 +1499,7 @@ Successful SSA optimization Pass2ConditionalJumpSimplification Inferred type updated to word in [68] (word/signed dword/dword~) point_init::$9 ← *((const word[SIZE#0]) x_start#0 + (byte) point_init::$20) << (byte/signed byte/word/signed word/dword/signed dword) 4 Inferred type updated to word in [72] (word/signed dword/dword~) point_init::$11 ← (word~) point_init::$10 << (byte/signed byte/word/signed word/dword/signed dword) 4 Inferred type updated to byte in [84] (byte/signed word/word/dword/signed dword~) point_init::$16 ← (byte~) point_init::$15 >> (byte/signed byte/word/signed word/dword/signed dword) 4 +Eliminating unused constant (const byte) SIZEOF_WORD Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const word) divr16u::quotient#0 Inlining constant with var siblings (const byte) divr16u::i#0 diff --git a/src/test/ref/linegen.log b/src/test/ref/linegen.log index 8c71ec05b..a34176f8b 100644 --- a/src/test/ref/linegen.log +++ b/src/test/ref/linegen.log @@ -1277,7 +1277,9 @@ Successful SSA optimization Pass2ConstantStringConsolidation Fixing inline constructor with lin16u_gen::$8 ← lin16u_gen::stepi#0 dw= lin16u_gen::stepf#0 Fixing inline constructor with lin16u_gen::$9 ← lin16u_gen::min#3 dw= 0 Successful SSA optimization Pass2FixInlineConstructors +Eliminating unused variable - keeping the phi block (word) rem16u#22 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const word) rem16u#0 Successful SSA optimization PassNEliminateUnusedVars Resolved ranged next value divr16u::i#1 ← ++ divr16u::i#2 to ++ Resolved ranged comparison value if(divr16u::i#1!=rangelast(0,$f)) goto divr16u::@1 to (byte/signed byte/word/signed word/dword/signed dword) $10 diff --git a/src/test/ref/literals.log b/src/test/ref/literals.log index 20becea75..c81c3f36a 100644 --- a/src/test/ref/literals.log +++ b/src/test/ref/literals.log @@ -89,6 +89,9 @@ Consolidated array index constant in assignment *(SCREEN#0+9 + main::$1) Successful SSA optimization Pass2ConstantAdditionElimination Inferred type updated to byte in [3] (byte/signed word/word/dword/signed dword~) main::$0 ← (byte) main::i#2 Inferred type updated to byte in [5] (byte/signed word/word/dword/signed dword~) main::$1 ← (byte) main::i#2 +Eliminating unused constant (const string) $2 +Eliminating unused constant (const string) $3 +Eliminating unused constant (const string) $0 Successful SSA optimization PassNEliminateUnusedVars Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,3)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) 4 diff --git a/src/test/ref/longbranch-interrupt-problem.log b/src/test/ref/longbranch-interrupt-problem.log index bdc6e867a..ca9a7346a 100644 --- a/src/test/ref/longbranch-interrupt-problem.log +++ b/src/test/ref/longbranch-interrupt-problem.log @@ -129,6 +129,7 @@ Constant (const void()*) main::$0 = &irq Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [3] if(true) goto main::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused variable - keeping the phi block (byte) col#10 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/min-fmul-16.log b/src/test/ref/min-fmul-16.log index f9efb58a7..a59c98f9e 100644 --- a/src/test/ref/min-fmul-16.log +++ b/src/test/ref/min-fmul-16.log @@ -767,6 +767,8 @@ Constant (const byte*) print_screen#1 = print_set_screen::screen#0 Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [27] if(true) goto main::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused variable - keeping the phi block (byte*) print_screen#11 +Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#11 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log index ca2e4e320..6218b2b62 100644 --- a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log +++ b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log @@ -1480,8 +1480,17 @@ if() condition always true - replacing block destination [106] if(true) goto loo Successful SSA optimization Pass2ConstantIfs Inferred type updated to byte in [9] (byte/signed word/word/dword/signed dword~) plexSort::$2 ← (byte) plexSort::m#2 Inferred type updated to byte in [16] (byte/signed word/word/dword/signed dword~) plexSort::$5 ← (byte) plexSort::s#3 +Eliminating unused variable - keeping the phi block (bool) framedone#10 +Eliminating unused variable - keeping the phi block (byte) plex_show_idx#10 +Eliminating unused variable - keeping the phi block (byte) plex_sprite_idx#10 +Eliminating unused variable - keeping the phi block (byte) plex_sprite_msb#11 +Eliminating unused variable - keeping the phi block (byte) plex_free_next#10 +Eliminating unused constant (const byte) plex_irq::rasterY#0 +Eliminating unused constant (const byte*) PLEX_SCREEN_PTR#1 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte*) plexInit::screen#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte*) SCREEN#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block loop::@return Successful SSA optimization Pass2EliminateUnusedBlocks @@ -1525,6 +1534,7 @@ Simple Condition (bool~) plex_irq::$3 [97] if((byte) plex_show_idx#16<(const byt Simple Condition (bool~) plexSort::$7 [121] if((byte) plexSort::nxt_y#0<*((const byte[PLEX_COUNT#0]) PLEX_YPOS#0 + *((const byte[PLEX_COUNT#0]) PLEX_SORTED_IDX#0 + (byte) plexSort::s#1))) goto plexSort::@3 Simple Condition (bool~) plex_irq::$5 [122] if((byte) plex_irq::plexFreeNextYpos1_return#0<(byte/signed word/word/dword/signed dword~) plex_irq::$4) goto plex_irq::@3 Successful SSA optimization Pass2ConditionalJumpSimplification +Eliminating unused constant (const byte) SIZEOF_WORD Successful SSA optimization PassNEliminateUnusedVars Alias candidate removed (volatile)(byte) plex_free_next#2 = (byte/word/dword) plexShowSprite::plexFreeAdd1_$2#0 Alias candidate removed (volatile)(byte) plex_sprite_idx#3 = (byte/word/dword~) plexShowSprite::$6 diff --git a/src/test/ref/norom-charset.log b/src/test/ref/norom-charset.log index 9a51648fc..a6415103f 100644 --- a/src/test/ref/norom-charset.log +++ b/src/test/ref/norom-charset.log @@ -275,6 +275,7 @@ Self Phi Eliminated (byte*) gen_char3::dst#5 Successful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte*) gen_char3::dst#5 (byte*) gen_char3::dst#0 Successful SSA optimization Pass2RedundantPhiElimination +Eliminating unused constant (const byte) SIZEOF_WORD Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::c#0 Inlining constant with var siblings (const byte*) main::charset#0 diff --git a/src/test/ref/plus-0.log b/src/test/ref/plus-0.log index 4e0ab4d75..8e020176e 100644 --- a/src/test/ref/plus-0.log +++ b/src/test/ref/plus-0.log @@ -152,6 +152,7 @@ Successful SSA optimization Pass2ConstantIdentification Removed zero-constant in assignment fill::$1 if() condition always true - replacing block destination [7] if((const byte) fill::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fill::@2_1 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte/signed word/word/dword/signed dword) fill::$0 Successful SSA optimization PassNEliminateUnusedVars Alias (byte*) fill::screen#4 = (byte*~) fill::$1 Successful SSA optimization Pass2AliasElimination @@ -174,6 +175,7 @@ Successful SSA optimization Pass2ConstantIdentification Removing PHI-reference to removed block (fill::@2_2) in block fill::@2_3 if() condition always false - eliminating [11] if((const byte) fill::j#6!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fill::@2_3 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) fill::j#6 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) fill::j#7 from unused block fill::@2_3 Eliminating variable (byte/signed word/word/dword/signed dword~) fill::$8 from unused block fill::@2_3 diff --git a/src/test/ref/print-problem.log b/src/test/ref/print-problem.log index ba35ff6c3..d9dccfeb5 100644 --- a/src/test/ref/print-problem.log +++ b/src/test/ref/print-problem.log @@ -150,6 +150,8 @@ Constant (const byte) line#0 = $40 Successful SSA optimization Pass2ConstantIdentification Constant (const byte*) main::$3 = SCREEN#0+$28 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused variable (byte) ch#2 and assignment [1] (byte) ch#2 ← ++ (byte) line#13 +Eliminating unused variable (byte) ch#4 and assignment [3] (byte) ch#4 ← ++ (byte) line#13 Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) @3 Successful SSA optimization Pass2CullEmptyBlocks diff --git a/src/test/ref/ptr-complex.asm b/src/test/ref/ptr-complex.asm index 7a556b3a3..214144b95 100644 --- a/src/test/ref/ptr-complex.asm +++ b/src/test/ref/ptr-complex.asm @@ -8,21 +8,10 @@ main: { // Increment on a const named pointer .label BGCOL = $d020 .label sc2 = screen+$51 - .label _15 = 2 - .label _18 = 2 - .label _20 = 4 ldx #0 // RValue pointer expression (variable) b1: - txa - clc - adc #screen+$28 - adc #0 - sta _15+1 - ldy #0 - lda (_15),y + lda screen+$28,x sta screen,x inx cpx #$b @@ -35,23 +24,8 @@ main: { ldx #0 // LValue pointer expression (variable - directly) b3: - txa - clc - adc #screen+$a0 - adc #0 - sta _18+1 - txa - clc - adc #screen+$c8 - adc #0 - sta _20+1 - ldy #0 - lda (_20),y - sta (_18),y + lda screen+$c8,x + sta screen+$a0,x inx cpx #$b bne b3 diff --git a/src/test/ref/ptr-complex.cfg b/src/test/ref/ptr-complex.cfg index a640a626a..33965b874 100644 --- a/src/test/ref/ptr-complex.cfg +++ b/src/test/ref/ptr-complex.cfg @@ -12,28 +12,25 @@ main: scope:[main] from @1 to:main::@1 main::@1: scope:[main] from main main::@1 [5] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::i#1 ) - [6] (byte*~) main::$15 ← (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2 - [7] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((byte*~) main::$15) - [8] (byte) main::i#1 ← ++ (byte) main::i#2 - [9] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 + [6] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2) + [7] (byte) main::i#1 ← ++ (byte) main::i#2 + [8] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 to:main::@2 main::@2: scope:[main] from main::@1 - [10] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) - [11] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) + [9] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) + [10] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) to:main::@3 main::@3: scope:[main] from main::@2 main::@3 - [12] (byte) main::j#2 ← phi( main::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@3/(byte) main::j#1 ) - [13] (byte*~) main::$18 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2 - [14] (byte*~) main::$20 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2 - [15] *((byte*~) main::$18) ← *((byte*~) main::$20) - [16] (byte) main::j#1 ← ++ (byte) main::j#2 - [17] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 + [11] (byte) main::j#2 ← phi( main::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@3/(byte) main::j#1 ) + [12] *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2) ← *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2) + [13] (byte) main::j#1 ← ++ (byte) main::j#2 + [14] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 to:main::@4 main::@4: scope:[main] from main::@3 - [18] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) - [19] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) - [20] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) + [15] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) + [16] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) + [17] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) to:main::@return main::@return: scope:[main] from main::@4 - [21] return + [18] return to:@return diff --git a/src/test/ref/ptr-complex.log b/src/test/ref/ptr-complex.log index 06b9793f1..f04c91dae 100644 --- a/src/test/ref/ptr-complex.log +++ b/src/test/ref/ptr-complex.log @@ -125,6 +125,14 @@ Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,$a)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) $b Resolved ranged next value main::j#1 ← ++ main::j#2 to ++ Resolved ranged comparison value if(main::j#1!=rangelast(0,$a)) goto main::@3 to (byte/signed byte/word/signed word/dword/signed dword) $b +Converting *(pointer+n) to pointer[n] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((byte*~) main::$15) -- *(main::$14 + main::i#2) +Converting *(pointer+n) to pointer[n] *((byte*~) main::$18) ← *((byte*~) main::$20) -- *(main::$19 + main::j#2) +Converting *(pointer+n) to pointer[n] *((byte*~) main::$18) ← *((const byte*) main::$19 + (byte) main::j#2) -- *(main::$17 + main::j#2) +Successful SSA optimization Pass2InlineDerefIdx +Eliminating unused variable (byte*~) main::$15 and assignment [1] (byte*~) main::$15 ← (const byte*) main::$14 + (byte) main::i#2 +Eliminating unused variable (byte*~) main::$18 and assignment [8] (byte*~) main::$18 ← (const byte*) main::$17 + (byte) main::j#2 +Eliminating unused variable (byte*~) main::$20 and assignment [9] (byte*~) main::$20 ← (const byte*) main::$19 + (byte) main::j#2 +Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::i#0 Inlining constant with var siblings (const byte) main::j#0 Constant inlined main::$2 = (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79 @@ -149,8 +157,8 @@ CALL GRAPH Calls in [] to main:2 Created 2 initial phi equivalence classes -Coalesced [22] main::j#3 ← main::j#1 -Coalesced [23] main::i#3 ← main::i#1 +Coalesced [19] main::j#3 ← main::j#1 +Coalesced [20] main::i#3 ← main::i#1 Coalesced down to 2 phi equivalence classes Culled Empty Block (label) main::@6 Culled Empty Block (label) main::@5 @@ -174,65 +182,50 @@ main: scope:[main] from @1 to:main::@1 main::@1: scope:[main] from main main::@1 [5] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::i#1 ) - [6] (byte*~) main::$15 ← (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2 - [7] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((byte*~) main::$15) - [8] (byte) main::i#1 ← ++ (byte) main::i#2 - [9] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 + [6] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2) + [7] (byte) main::i#1 ← ++ (byte) main::i#2 + [8] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 to:main::@2 main::@2: scope:[main] from main::@1 - [10] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) - [11] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) + [9] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) + [10] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) to:main::@3 main::@3: scope:[main] from main::@2 main::@3 - [12] (byte) main::j#2 ← phi( main::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@3/(byte) main::j#1 ) - [13] (byte*~) main::$18 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2 - [14] (byte*~) main::$20 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2 - [15] *((byte*~) main::$18) ← *((byte*~) main::$20) - [16] (byte) main::j#1 ← ++ (byte) main::j#2 - [17] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 + [11] (byte) main::j#2 ← phi( main::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@3/(byte) main::j#1 ) + [12] *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2) ← *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2) + [13] (byte) main::j#1 ← ++ (byte) main::j#2 + [14] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 to:main::@4 main::@4: scope:[main] from main::@3 - [18] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) - [19] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) - [20] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) + [15] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) + [16] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) + [17] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) to:main::@return main::@return: scope:[main] from main::@4 - [21] return + [18] return to:@return VARIABLE REGISTER WEIGHTS (void()) main() -(byte*~) main::$15 22.0 -(byte*~) main::$18 11.0 -(byte*~) main::$20 22.0 (byte*) main::BGCOL (byte) main::i (byte) main::i#1 16.5 -(byte) main::i#2 14.666666666666666 +(byte) main::i#2 22.0 (byte) main::j (byte) main::j#1 16.5 -(byte) main::j#2 11.0 +(byte) main::j#2 22.0 (byte*) main::sc2 (byte*) main::screen Initial phi equivalence classes [ main::i#2 main::i#1 ] [ main::j#2 main::j#1 ] -Added variable main::$15 to zero page equivalence class [ main::$15 ] -Added variable main::$18 to zero page equivalence class [ main::$18 ] -Added variable main::$20 to zero page equivalence class [ main::$20 ] Complete equivalence classes [ main::i#2 main::i#1 ] [ main::j#2 main::j#1 ] -[ main::$15 ] -[ main::$18 ] -[ main::$20 ] Allocated zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Allocated zp ZP_BYTE:3 [ main::j#2 main::j#1 ] -Allocated zp ZP_WORD:4 [ main::$15 ] -Allocated zp ZP_WORD:6 [ main::$18 ] -Allocated zp ZP_WORD:8 [ main::$20 ] INITIAL ASM //SEG0 File Comments @@ -265,9 +258,6 @@ main: { // Increment on a const named pointer .label BGCOL = $d020 .label sc2 = screen+$51 - .label _15 = 4 - .label _18 = 6 - .label _20 = 8 .label i = 2 .label j = 3 //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] @@ -283,125 +273,85 @@ main: { jmp b1 //SEG15 main::@1 b1: - //SEG16 [6] (byte*~) main::$15 ← (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2 -- pbuz1=pbuc1_plus_vbuz2 - lda i - clc - adc #screen+$28 - adc #0 - sta _15+1 - //SEG17 [7] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((byte*~) main::$15) -- pbuc1_derefidx_vbuz1=_deref_pbuz2 - ldx i - ldy #0 - lda (_15),y - sta screen,x - //SEG18 [8] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 + //SEG16 [6] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + ldy i + lda screen+$28,y + sta screen,y + //SEG17 [7] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 inc i - //SEG19 [9] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG18 [8] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$b cmp i bne b1_from_b1 jmp b2 - //SEG20 main::@2 + //SEG19 main::@2 b2: - //SEG21 [10] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) -- _deref_pbuc1=_deref_pbuc2 + //SEG20 [9] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) -- _deref_pbuc1=_deref_pbuc2 lda screen+$79 sta sc2 - //SEG22 [11] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) -- _deref_pbuc1=_deref_pbuc2 + //SEG21 [10] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) -- _deref_pbuc1=_deref_pbuc2 // LValue pointer expression (constant - directly) lda screen+$7a sta screen+$52 - //SEG23 [12] phi from main::@2 to main::@3 [phi:main::@2->main::@3] + //SEG22 [11] phi from main::@2 to main::@3 [phi:main::@2->main::@3] b3_from_b2: - //SEG24 [12] phi (byte) main::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@2->main::@3#0] -- vbuz1=vbuc1 + //SEG23 [11] phi (byte) main::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@2->main::@3#0] -- vbuz1=vbuc1 lda #0 sta j jmp b3 // LValue pointer expression (variable - directly) - //SEG25 [12] phi from main::@3 to main::@3 [phi:main::@3->main::@3] + //SEG24 [11] phi from main::@3 to main::@3 [phi:main::@3->main::@3] b3_from_b3: - //SEG26 [12] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@3->main::@3#0] -- register_copy + //SEG25 [11] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@3->main::@3#0] -- register_copy jmp b3 - //SEG27 main::@3 + //SEG26 main::@3 b3: - //SEG28 [13] (byte*~) main::$18 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2 -- pbuz1=pbuc1_plus_vbuz2 - lda j - clc - adc #screen+$a0 - adc #0 - sta _18+1 - //SEG29 [14] (byte*~) main::$20 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2 -- pbuz1=pbuc1_plus_vbuz2 - lda j - clc - adc #screen+$c8 - adc #0 - sta _20+1 - //SEG30 [15] *((byte*~) main::$18) ← *((byte*~) main::$20) -- _deref_pbuz1=_deref_pbuz2 - ldy #0 - lda (_20),y - ldy #0 - sta (_18),y - //SEG31 [16] (byte) main::j#1 ← ++ (byte) main::j#2 -- vbuz1=_inc_vbuz1 + //SEG27 [12] *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2) ← *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + ldy j + lda screen+$c8,y + sta screen+$a0,y + //SEG28 [13] (byte) main::j#1 ← ++ (byte) main::j#2 -- vbuz1=_inc_vbuz1 inc j - //SEG32 [17] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 -- vbuz1_neq_vbuc1_then_la1 + //SEG29 [14] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 -- vbuz1_neq_vbuc1_then_la1 lda #$b cmp j bne b3_from_b3 jmp b4 - //SEG33 main::@4 + //SEG30 main::@4 b4: - //SEG34 [18] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) -- _deref_pbuc1=_inc__deref_pbuc1 + //SEG31 [15] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) -- _deref_pbuc1=_inc__deref_pbuc1 inc $d020 - //SEG35 [19] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) -- _deref_pbuc1=_dec__deref_pbuc1 + //SEG32 [16] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) -- _deref_pbuc1=_dec__deref_pbuc1 dec $d000+$21 - //SEG36 [20] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) -- _deref_pbuc1=_inc__deref_pbuc1 + //SEG33 [17] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) -- _deref_pbuc1=_inc__deref_pbuc1 inc BGCOL jmp breturn - //SEG37 main::@return + //SEG34 main::@return breturn: - //SEG38 [21] return + //SEG35 [18] return rts } REGISTER UPLIFT POTENTIAL REGISTERS -Statement [6] (byte*~) main::$15 ← (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2 [ main::i#2 main::$15 ] ( main:2 [ main::i#2 main::$15 ] ) always clobbers reg byte a +Statement [6] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2) [ main::i#2 ] ( main:2 [ main::i#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ main::i#2 main::i#1 ] -Statement [7] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((byte*~) main::$15) [ main::i#2 ] ( main:2 [ main::i#2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ main::i#2 main::i#1 ] -Statement [10] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [11] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [13] (byte*~) main::$18 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2 [ main::j#2 main::$18 ] ( main:2 [ main::j#2 main::$18 ] ) always clobbers reg byte a +Statement [9] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [10] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [12] *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2) ← *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2) [ main::j#2 ] ( main:2 [ main::j#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ main::j#2 main::j#1 ] -Statement [14] (byte*~) main::$20 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2 [ main::j#2 main::$18 main::$20 ] ( main:2 [ main::j#2 main::$18 main::$20 ] ) always clobbers reg byte a -Statement [15] *((byte*~) main::$18) ← *((byte*~) main::$20) [ main::j#2 ] ( main:2 [ main::j#2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:3 [ main::j#2 main::j#1 ] -Statement [6] (byte*~) main::$15 ← (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2 [ main::i#2 main::$15 ] ( main:2 [ main::i#2 main::$15 ] ) always clobbers reg byte a -Statement [7] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((byte*~) main::$15) [ main::i#2 ] ( main:2 [ main::i#2 ] ) always clobbers reg byte a reg byte y -Statement [10] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [11] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [13] (byte*~) main::$18 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2 [ main::j#2 main::$18 ] ( main:2 [ main::j#2 main::$18 ] ) always clobbers reg byte a -Statement [14] (byte*~) main::$20 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2 [ main::j#2 main::$18 main::$20 ] ( main:2 [ main::j#2 main::$18 main::$20 ] ) always clobbers reg byte a -Statement [15] *((byte*~) main::$18) ← *((byte*~) main::$20) [ main::j#2 ] ( main:2 [ main::j#2 ] ) always clobbers reg byte a reg byte y -Potential registers zp ZP_BYTE:2 [ main::i#2 main::i#1 ] : zp ZP_BYTE:2 , reg byte x , -Potential registers zp ZP_BYTE:3 [ main::j#2 main::j#1 ] : zp ZP_BYTE:3 , reg byte x , -Potential registers zp ZP_WORD:4 [ main::$15 ] : zp ZP_WORD:4 , -Potential registers zp ZP_WORD:6 [ main::$18 ] : zp ZP_WORD:6 , -Potential registers zp ZP_WORD:8 [ main::$20 ] : zp ZP_WORD:8 , +Statement [6] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2) [ main::i#2 ] ( main:2 [ main::i#2 ] ) always clobbers reg byte a +Statement [9] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [10] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [12] *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2) ← *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2) [ main::j#2 ] ( main:2 [ main::j#2 ] ) always clobbers reg byte a +Potential registers zp ZP_BYTE:2 [ main::i#2 main::i#1 ] : zp ZP_BYTE:2 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:3 [ main::j#2 main::j#1 ] : zp ZP_BYTE:3 , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 31.17: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] 27.5: zp ZP_BYTE:3 [ main::j#2 main::j#1 ] 22: zp ZP_WORD:4 [ main::$15 ] 22: zp ZP_WORD:8 [ main::$20 ] 11: zp ZP_WORD:6 [ main::$18 ] +Uplift Scope [main] 38.5: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] 38.5: zp ZP_BYTE:3 [ main::j#2 main::j#1 ] Uplift Scope [] -Uplifting [main] best 1165 combination reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::j#2 main::j#1 ] zp ZP_WORD:4 [ main::$15 ] zp ZP_WORD:8 [ main::$20 ] zp ZP_WORD:6 [ main::$18 ] -Uplifting [] best 1165 combination -Coalescing zero page register [ zp ZP_WORD:4 [ main::$15 ] ] with [ zp ZP_WORD:6 [ main::$18 ] ] -Allocated (was zp ZP_WORD:4) zp ZP_WORD:2 [ main::$15 main::$18 ] -Allocated (was zp ZP_WORD:8) zp ZP_WORD:4 [ main::$20 ] +Uplifting [main] best 595 combination reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::j#2 main::j#1 ] +Uplifting [] best 595 combination ASSEMBLER BEFORE OPTIMIZATION //SEG0 File Comments @@ -434,9 +384,6 @@ main: { // Increment on a const named pointer .label BGCOL = $d020 .label sc2 = screen+$51 - .label _15 = 2 - .label _18 = 2 - .label _20 = 4 //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] b1_from_main: //SEG12 [5] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 @@ -449,84 +396,57 @@ main: { jmp b1 //SEG15 main::@1 b1: - //SEG16 [6] (byte*~) main::$15 ← (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2 -- pbuz1=pbuc1_plus_vbuxx - txa - clc - adc #screen+$28 - adc #0 - sta _15+1 - //SEG17 [7] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((byte*~) main::$15) -- pbuc1_derefidx_vbuxx=_deref_pbuz1 - ldy #0 - lda (_15),y + //SEG16 [6] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda screen+$28,x sta screen,x - //SEG18 [8] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + //SEG17 [7] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - //SEG19 [9] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + //SEG18 [8] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #$b bne b1_from_b1 jmp b2 - //SEG20 main::@2 + //SEG19 main::@2 b2: - //SEG21 [10] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) -- _deref_pbuc1=_deref_pbuc2 + //SEG20 [9] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) -- _deref_pbuc1=_deref_pbuc2 lda screen+$79 sta sc2 - //SEG22 [11] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) -- _deref_pbuc1=_deref_pbuc2 + //SEG21 [10] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) -- _deref_pbuc1=_deref_pbuc2 // LValue pointer expression (constant - directly) lda screen+$7a sta screen+$52 - //SEG23 [12] phi from main::@2 to main::@3 [phi:main::@2->main::@3] + //SEG22 [11] phi from main::@2 to main::@3 [phi:main::@2->main::@3] b3_from_b2: - //SEG24 [12] phi (byte) main::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@2->main::@3#0] -- vbuxx=vbuc1 + //SEG23 [11] phi (byte) main::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@2->main::@3#0] -- vbuxx=vbuc1 ldx #0 jmp b3 // LValue pointer expression (variable - directly) - //SEG25 [12] phi from main::@3 to main::@3 [phi:main::@3->main::@3] + //SEG24 [11] phi from main::@3 to main::@3 [phi:main::@3->main::@3] b3_from_b3: - //SEG26 [12] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@3->main::@3#0] -- register_copy + //SEG25 [11] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@3->main::@3#0] -- register_copy jmp b3 - //SEG27 main::@3 + //SEG26 main::@3 b3: - //SEG28 [13] (byte*~) main::$18 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2 -- pbuz1=pbuc1_plus_vbuxx - txa - clc - adc #screen+$a0 - adc #0 - sta _18+1 - //SEG29 [14] (byte*~) main::$20 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2 -- pbuz1=pbuc1_plus_vbuxx - txa - clc - adc #screen+$c8 - adc #0 - sta _20+1 - //SEG30 [15] *((byte*~) main::$18) ← *((byte*~) main::$20) -- _deref_pbuz1=_deref_pbuz2 - ldy #0 - lda (_20),y - ldy #0 - sta (_18),y - //SEG31 [16] (byte) main::j#1 ← ++ (byte) main::j#2 -- vbuxx=_inc_vbuxx + //SEG27 [12] *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2) ← *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda screen+$c8,x + sta screen+$a0,x + //SEG28 [13] (byte) main::j#1 ← ++ (byte) main::j#2 -- vbuxx=_inc_vbuxx inx - //SEG32 [17] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 -- vbuxx_neq_vbuc1_then_la1 + //SEG29 [14] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 -- vbuxx_neq_vbuc1_then_la1 cpx #$b bne b3_from_b3 jmp b4 - //SEG33 main::@4 + //SEG30 main::@4 b4: - //SEG34 [18] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) -- _deref_pbuc1=_inc__deref_pbuc1 + //SEG31 [15] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) -- _deref_pbuc1=_inc__deref_pbuc1 inc $d020 - //SEG35 [19] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) -- _deref_pbuc1=_dec__deref_pbuc1 + //SEG32 [16] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) -- _deref_pbuc1=_dec__deref_pbuc1 dec $d000+$21 - //SEG36 [20] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) -- _deref_pbuc1=_inc__deref_pbuc1 + //SEG33 [17] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) -- _deref_pbuc1=_inc__deref_pbuc1 inc BGCOL jmp breturn - //SEG37 main::@return + //SEG34 main::@return breturn: - //SEG38 [21] return + //SEG35 [18] return rts } @@ -539,8 +459,6 @@ Removing instruction jmp b3 Removing instruction jmp b4 Removing instruction jmp breturn Succesful ASM optimization Pass5NextJumpElimination -Removing instruction ldy #0 -Succesful ASM optimization Pass5UnnecesaryLoadElimination Replacing label b1_from_b1 with b1 Replacing label b3_from_b3 with b3 Removing instruction b1_from_bbegin: @@ -571,9 +489,6 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (void()) main() -(byte*~) main::$15 $15 zp ZP_WORD:2 22.0 -(byte*~) main::$18 $18 zp ZP_WORD:2 11.0 -(byte*~) main::$20 $20 zp ZP_WORD:4 22.0 (label) main::@1 (label) main::@2 (label) main::@3 @@ -583,10 +498,10 @@ FINAL SYMBOL TABLE (const byte*) main::BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) $d020 (byte) main::i (byte) main::i#1 reg byte x 16.5 -(byte) main::i#2 reg byte x 14.666666666666666 +(byte) main::i#2 reg byte x 22.0 (byte) main::j (byte) main::j#1 reg byte x 16.5 -(byte) main::j#2 reg byte x 11.0 +(byte) main::j#2 reg byte x 22.0 (byte*) main::sc2 (const byte*) main::sc2#0 sc2 = (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $51 (byte*) main::screen @@ -594,12 +509,10 @@ FINAL SYMBOL TABLE reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::j#2 main::j#1 ] -zp ZP_WORD:2 [ main::$15 main::$18 ] -zp ZP_WORD:4 [ main::$20 ] FINAL ASSEMBLER -Score: 950 +Score: 400 //SEG0 File Comments // Test some complex pointers @@ -622,9 +535,6 @@ main: { // Increment on a const named pointer .label BGCOL = $d020 .label sc2 = screen+$51 - .label _15 = 2 - .label _18 = 2 - .label _20 = 4 //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] //SEG12 [5] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 ldx #0 @@ -633,73 +543,47 @@ main: { //SEG14 [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@1->main::@1#0] -- register_copy //SEG15 main::@1 b1: - //SEG16 [6] (byte*~) main::$15 ← (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2 -- pbuz1=pbuc1_plus_vbuxx - txa - clc - adc #screen+$28 - adc #0 - sta _15+1 - //SEG17 [7] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((byte*~) main::$15) -- pbuc1_derefidx_vbuxx=_deref_pbuz1 - ldy #0 - lda (_15),y + //SEG16 [6] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $28 + (byte) main::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda screen+$28,x sta screen,x - //SEG18 [8] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + //SEG17 [7] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - //SEG19 [9] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + //SEG18 [8] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #$b bne b1 - //SEG20 main::@2 - //SEG21 [10] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) -- _deref_pbuc1=_deref_pbuc2 + //SEG19 main::@2 + //SEG20 [9] *((const byte*) main::sc2#0) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $79) -- _deref_pbuc1=_deref_pbuc2 lda screen+$79 sta sc2 - //SEG22 [11] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) -- _deref_pbuc1=_deref_pbuc2 + //SEG21 [10] *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $52) ← *((const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $7a) -- _deref_pbuc1=_deref_pbuc2 // LValue pointer expression (constant - directly) lda screen+$7a sta screen+$52 - //SEG23 [12] phi from main::@2 to main::@3 [phi:main::@2->main::@3] - //SEG24 [12] phi (byte) main::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@2->main::@3#0] -- vbuxx=vbuc1 + //SEG22 [11] phi from main::@2 to main::@3 [phi:main::@2->main::@3] + //SEG23 [11] phi (byte) main::j#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@2->main::@3#0] -- vbuxx=vbuc1 ldx #0 // LValue pointer expression (variable - directly) - //SEG25 [12] phi from main::@3 to main::@3 [phi:main::@3->main::@3] - //SEG26 [12] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@3->main::@3#0] -- register_copy - //SEG27 main::@3 + //SEG24 [11] phi from main::@3 to main::@3 [phi:main::@3->main::@3] + //SEG25 [11] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@3->main::@3#0] -- register_copy + //SEG26 main::@3 b3: - //SEG28 [13] (byte*~) main::$18 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2 -- pbuz1=pbuc1_plus_vbuxx - txa - clc - adc #screen+$a0 - adc #0 - sta _18+1 - //SEG29 [14] (byte*~) main::$20 ← (const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2 -- pbuz1=pbuc1_plus_vbuxx - txa - clc - adc #screen+$c8 - adc #0 - sta _20+1 - //SEG30 [15] *((byte*~) main::$18) ← *((byte*~) main::$20) -- _deref_pbuz1=_deref_pbuz2 - ldy #0 - lda (_20),y - sta (_18),y - //SEG31 [16] (byte) main::j#1 ← ++ (byte) main::j#2 -- vbuxx=_inc_vbuxx + //SEG27 [12] *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $a0 + (byte) main::j#2) ← *((const byte*) main::screen#0+(byte/word/signed word/dword/signed dword) $c8 + (byte) main::j#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda screen+$c8,x + sta screen+$a0,x + //SEG28 [13] (byte) main::j#1 ← ++ (byte) main::j#2 -- vbuxx=_inc_vbuxx inx - //SEG32 [17] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 -- vbuxx_neq_vbuc1_then_la1 + //SEG29 [14] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@3 -- vbuxx_neq_vbuc1_then_la1 cpx #$b bne b3 - //SEG33 main::@4 - //SEG34 [18] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) -- _deref_pbuc1=_inc__deref_pbuc1 + //SEG30 main::@4 + //SEG31 [15] *(((byte*))(word/dword/signed dword) $d020) ← ++ *(((byte*))(word/dword/signed dword) $d020) -- _deref_pbuc1=_inc__deref_pbuc1 inc $d020 - //SEG35 [19] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) -- _deref_pbuc1=_dec__deref_pbuc1 + //SEG32 [16] *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) ← -- *(((byte*))(word/dword/signed dword) $d000+(byte/signed byte/word/signed word/dword/signed dword) $21) -- _deref_pbuc1=_dec__deref_pbuc1 dec $d000+$21 - //SEG36 [20] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) -- _deref_pbuc1=_inc__deref_pbuc1 + //SEG33 [17] *((const byte*) main::BGCOL#0) ← ++ *((const byte*) main::BGCOL#0) -- _deref_pbuc1=_inc__deref_pbuc1 inc BGCOL - //SEG37 main::@return - //SEG38 [21] return + //SEG34 main::@return + //SEG35 [18] return rts } diff --git a/src/test/ref/ptr-complex.sym b/src/test/ref/ptr-complex.sym index ee4f4485c..32bef0838 100644 --- a/src/test/ref/ptr-complex.sym +++ b/src/test/ref/ptr-complex.sym @@ -2,9 +2,6 @@ (label) @begin (label) @end (void()) main() -(byte*~) main::$15 $15 zp ZP_WORD:2 22.0 -(byte*~) main::$18 $18 zp ZP_WORD:2 11.0 -(byte*~) main::$20 $20 zp ZP_WORD:4 22.0 (label) main::@1 (label) main::@2 (label) main::@3 @@ -14,10 +11,10 @@ (const byte*) main::BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) $d020 (byte) main::i (byte) main::i#1 reg byte x 16.5 -(byte) main::i#2 reg byte x 14.666666666666666 +(byte) main::i#2 reg byte x 22.0 (byte) main::j (byte) main::j#1 reg byte x 16.5 -(byte) main::j#2 reg byte x 11.0 +(byte) main::j#2 reg byte x 22.0 (byte*) main::sc2 (const byte*) main::sc2#0 sc2 = (const byte*) main::screen#0+(byte/signed byte/word/signed word/dword/signed dword) $51 (byte*) main::screen @@ -25,5 +22,3 @@ reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::j#2 main::j#1 ] -zp ZP_WORD:2 [ main::$15 main::$18 ] -zp ZP_WORD:4 [ main::$20 ] diff --git a/src/test/ref/ptrtest.log b/src/test/ref/ptrtest.log index 1296575e9..644b9b8ed 100644 --- a/src/test/ref/ptrtest.log +++ b/src/test/ref/ptrtest.log @@ -239,6 +239,7 @@ Successful SSA optimization Pass2ConstantIdentification Consolidated array index constant in *(lvalue::SCREEN#0+1) Consolidated array index constant in *(rvalue::SCREEN#0+1) Successful SSA optimization Pass2ConstantAdditionElimination +Eliminating unused variable (byte) rvalue::b#0 and assignment [12] (byte) rvalue::b#0 ← *((const byte[$400]) rvalue::SCREEN#0) Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) lvalue::i#0 Inlining constant with var siblings (const byte) rvalue::i#0 diff --git a/src/test/ref/runtime-unused-procedure.log b/src/test/ref/runtime-unused-procedure.log index 2bf0445b6..c2e99b8ef 100644 --- a/src/test/ref/runtime-unused-procedure.log +++ b/src/test/ref/runtime-unused-procedure.log @@ -87,6 +87,7 @@ Consolidated array index constant in *(screen#0+2) Successful SSA optimization Pass2ConstantAdditionElimination if() condition always true - replacing block destination [1] if((const byte) call#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@return Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) call#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@2 Removing unused procedure proc diff --git a/src/test/ref/scan-desire-problem.log b/src/test/ref/scan-desire-problem.log index 1dfd1720e..6b0b4f6b6 100644 --- a/src/test/ref/scan-desire-problem.log +++ b/src/test/ref/scan-desire-problem.log @@ -590,6 +590,7 @@ Inferred type updated to word in [65] (word/signed dword/dword~) draw_block::$7 Inferred type updated to word in [67] (word/signed dword/dword~) draw_block::$8 ← (word) draw_block::z#1 Inferred type updated to word in [69] (word/signed dword/dword~) draw_block::$9 ← (word) draw_block::z#1 Inferred type updated to word in [71] (word/signed dword/dword~) draw_block::$10 ← (word) draw_block::z#1 +Eliminating unused constant (const byte) draw_block::color#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/semi-struct-1.asm b/src/test/ref/semi-struct-1.asm index b78bfc8fe..77e06cc4d 100644 --- a/src/test/ref/semi-struct-1.asm +++ b/src/test/ref/semi-struct-1.asm @@ -13,7 +13,7 @@ // The number of points .const NUM_POINTS = 4 .label print_char_cursor = 5 - .label print_line_cursor = 2 + .label print_line_cursor = 3 // Initialize some points and print them main: { jsr init_points @@ -23,7 +23,7 @@ main: { // Print points print_points: { .label pointXpos1__0 = 9 - .label pointYpos1_return = 9 + .label i = 2 jsr print_cls lda #<$400 sta print_line_cursor @@ -33,32 +33,30 @@ print_points: { sta print_char_cursor lda #>$400 sta print_char_cursor+1 - ldx #0 + lda #0 + sta i b1: - txa + lda i asl + tay + tya clc adc #points adc #0 sta pointXpos1__0+1 - ldy #0 - lda (pointXpos1__0),y - sta print_byte.b + ldx points,y jsr print_byte jsr print_str - inc pointYpos1_return - bne !+ - inc pointYpos1_return+1 - !: - ldy #0 - lda (pointYpos1_return),y - sta print_byte.b + ldy #1 + lda (pointXpos1__0),y + tax jsr print_byte jsr print_ln - inx - cpx #NUM_POINTS-1+1 + inc i + lda #NUM_POINTS-1+1 + cmp i bne b7 rts b7: @@ -90,10 +88,9 @@ print_ln: { rts } // Print a byte as HEX -// print_byte(byte zeropage(4) b) +// print_byte(byte register(X) b) print_byte: { - .label b = 4 - lda b + txa lsr lsr lsr @@ -102,9 +99,8 @@ print_byte: { lda print_hextab,y jsr print_char lda #$f - and b - tay - lda print_hextab,y + axs #0 + lda print_hextab,x jsr print_char rts } @@ -149,7 +145,7 @@ print_str: { } // Clear the screen. Also resets current line/char cursor. print_cls: { - .label sc = 2 + .label sc = 3 lda #<$400 sta sc lda #>$400 @@ -172,38 +168,34 @@ print_cls: { } // Initialize points init_points: { - .label pointXpos1__0 = 2 - .label pointYpos1_return = 2 - .label i = 4 - ldx #$a - lda #0 - sta i + .label pointXpos1__0 = 3 + .label pos = 2 + lda #$a + sta pos + ldx #0 b1: - lda i + txa asl + tay + tya clc adc #points adc #0 sta pointXpos1__0+1 - txa - ldy #0 + lda pos + sta points,y + lda #$a + clc + adc pos + ldy #1 sta (pointXpos1__0),y - txa - axs #-[$a] - inc pointYpos1_return - bne !+ - inc pointYpos1_return+1 - !: - txa - ldy #0 - sta (pointYpos1_return),y - txa - axs #-[$a] - inc i - lda #NUM_POINTS-1+1 - cmp i + clc + adc #$a + sta pos + inx + cpx #NUM_POINTS-1+1 bne b1 rts } diff --git a/src/test/ref/semi-struct-1.cfg b/src/test/ref/semi-struct-1.cfg index 56dc1b522..865fd99b5 100644 --- a/src/test/ref/semi-struct-1.cfg +++ b/src/test/ref/semi-struct-1.cfg @@ -35,7 +35,7 @@ print_points::pointXpos1: scope:[print_points] from print_points::getPoint1 [14] phi() to:print_points::@2 print_points::@2: scope:[print_points] from print_points::pointXpos1 - [15] (byte) print_byte::b#0 ← *((byte*) print_points::pointXpos1_$0#0) + [15] (byte) print_byte::b#0 ← *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0) [16] call print_byte to:print_points::@4 print_points::@4: scope:[print_points] from print_points::@2 @@ -43,10 +43,10 @@ print_points::@4: scope:[print_points] from print_points::@2 [18] call print_str to:print_points::pointYpos1 print_points::pointYpos1: scope:[print_points] from print_points::@4 - [19] (byte*) print_points::pointYpos1_return#0 ← (byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [19] phi() to:print_points::@3 print_points::@3: scope:[print_points] from print_points::pointYpos1 - [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointYpos1_return#0) + [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) [21] call print_byte to:print_points::@5 print_points::@5: scope:[print_points] from print_points::@3 @@ -141,14 +141,14 @@ init_points::pointXpos1: scope:[init_points] from init_points::getPoint1 [62] phi() to:init_points::@2 init_points::@2: scope:[init_points] from init_points::pointXpos1 - [63] *((byte*) init_points::pointXpos1_$0#0) ← (byte) init_points::pos#10 + [63] *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0) ← (byte) init_points::pos#10 [64] (byte) init_points::pos#1 ← (byte) init_points::pos#10 + (byte/signed byte/word/signed word/dword/signed dword) $a to:init_points::pointYpos1 init_points::pointYpos1: scope:[init_points] from init_points::@2 - [65] (byte*) init_points::pointYpos1_return#0 ← (byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [65] phi() to:init_points::@3 init_points::@3: scope:[init_points] from init_points::pointYpos1 - [66] *((byte*) init_points::pointYpos1_return#0) ← (byte) init_points::pos#1 + [66] *((byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) init_points::pos#1 [67] (byte) init_points::pos#2 ← (byte) init_points::pos#1 + (byte/signed byte/word/signed word/dword/signed dword) $a [68] (byte) init_points::i#1 ← ++ (byte) init_points::i#10 [69] if((byte) init_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init_points::@1 diff --git a/src/test/ref/semi-struct-1.log b/src/test/ref/semi-struct-1.log index cf88bd65a..edcc1fc46 100644 --- a/src/test/ref/semi-struct-1.log +++ b/src/test/ref/semi-struct-1.log @@ -846,6 +846,11 @@ Resolved ranged comparison value if(print_points::i#1!=rangelast(0,print_points: Rewriting multiplication to use shift (byte) init_points::getPoint1_$0#0 ← (byte) init_points::i#10 * (const byte) SIZEOF_POINT#0 Rewriting multiplication to use shift (byte) print_points::getPoint1_$0#0 ← (byte) print_points::i#10 * (const byte) SIZEOF_POINT#0 Successful SSA optimization Pass2MultiplyToShiftRewriting +Converting *(pointer+n) to pointer[n] *((byte*) init_points::pointXpos1_return#0) ← (byte) init_points::pos#10 -- *(points#0 + init_points::getPoint1_$0#0) +Converting *(pointer+n) to pointer[n] *((byte*) init_points::pointYpos1_return#0) ← (byte) init_points::pos#1 -- *(init_points::getPoint1_return#0 + 1) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#0 ← *((byte*) print_points::pointXpos1_return#0) -- *(points#0 + print_points::getPoint1_$0#0) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#1 ← *((byte*) print_points::pointYpos1_return#0) -- *(print_points::point#0 + 1) +Successful SSA optimization Pass2InlineDerefIdx Culled Empty Block (label) print_ln::@2 Culled Empty Block (label) @12 Culled Empty Block (label) print_byte::@2 @@ -869,6 +874,9 @@ Alias (byte*) init_points::pointYpos1_return#0 = (byte*) init_points::pointYpos1 Alias (byte*) print_points::pointXpos1_$0#0 = (byte*) print_points::point#0 (byte*) print_points::pointXpos1_return#0 Alias (byte*) print_points::pointYpos1_return#0 = (byte*) print_points::pointYpos1_$0#0 Successful SSA optimization Pass2AliasElimination +Eliminating unused variable (byte*) init_points::pointYpos1_return#0 and assignment [35] (byte*) init_points::pointYpos1_return#0 ← (byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 +Eliminating unused variable (byte*) print_points::pointYpos1_return#0 and assignment [48] (byte*) print_points::pointYpos1_return#0 ← (byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 +Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte*) print_str::str#1 Inlining constant with var siblings (const byte*) print_cls::sc#0 Inlining constant with var siblings (const byte) init_points::pos#0 @@ -899,10 +907,12 @@ Adding NOP phi() at start of main::@1 Adding NOP phi() at start of print_points Adding NOP phi() at start of print_points::pointXpos1 Adding NOP phi() at start of print_points::@7 +Adding NOP phi() at start of print_points::pointYpos1 Adding NOP phi() at start of print_points::@9 Adding NOP phi() at start of print_cls Adding NOP phi() at start of init_points Adding NOP phi() at start of init_points::pointXpos1 +Adding NOP phi() at start of init_points::pointYpos1 CALL GRAPH Calls in [] to main:2 Calls in [main] to init_points:5 print_points:7 @@ -950,12 +960,14 @@ Adding NOP phi() at start of main::@1 Adding NOP phi() at start of print_points Adding NOP phi() at start of print_points::pointXpos1 Adding NOP phi() at start of print_points::@4 +Adding NOP phi() at start of print_points::pointYpos1 Adding NOP phi() at start of print_points::@5 Adding NOP phi() at start of print_ln Adding NOP phi() at start of print_str Adding NOP phi() at start of print_cls Adding NOP phi() at start of init_points Adding NOP phi() at start of init_points::pointXpos1 +Adding NOP phi() at start of init_points::pointYpos1 FINAL CONTROL FLOW GRAPH @begin: scope:[] from @@ -995,7 +1007,7 @@ print_points::pointXpos1: scope:[print_points] from print_points::getPoint1 [14] phi() to:print_points::@2 print_points::@2: scope:[print_points] from print_points::pointXpos1 - [15] (byte) print_byte::b#0 ← *((byte*) print_points::pointXpos1_$0#0) + [15] (byte) print_byte::b#0 ← *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0) [16] call print_byte to:print_points::@4 print_points::@4: scope:[print_points] from print_points::@2 @@ -1003,10 +1015,10 @@ print_points::@4: scope:[print_points] from print_points::@2 [18] call print_str to:print_points::pointYpos1 print_points::pointYpos1: scope:[print_points] from print_points::@4 - [19] (byte*) print_points::pointYpos1_return#0 ← (byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [19] phi() to:print_points::@3 print_points::@3: scope:[print_points] from print_points::pointYpos1 - [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointYpos1_return#0) + [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) [21] call print_byte to:print_points::@5 print_points::@5: scope:[print_points] from print_points::@3 @@ -1101,14 +1113,14 @@ init_points::pointXpos1: scope:[init_points] from init_points::getPoint1 [62] phi() to:init_points::@2 init_points::@2: scope:[init_points] from init_points::pointXpos1 - [63] *((byte*) init_points::pointXpos1_$0#0) ← (byte) init_points::pos#10 + [63] *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0) ← (byte) init_points::pos#10 [64] (byte) init_points::pos#1 ← (byte) init_points::pos#10 + (byte/signed byte/word/signed word/dword/signed dword) $a to:init_points::pointYpos1 init_points::pointYpos1: scope:[init_points] from init_points::@2 - [65] (byte*) init_points::pointYpos1_return#0 ← (byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [65] phi() to:init_points::@3 init_points::@3: scope:[init_points] from init_points::pointYpos1 - [66] *((byte*) init_points::pointYpos1_return#0) ← (byte) init_points::pos#1 + [66] *((byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) init_points::pos#1 [67] (byte) init_points::pos#2 ← (byte) init_points::pos#1 + (byte/signed byte/word/signed word/dword/signed dword) $a [68] (byte) init_points::i#1 ← ++ (byte) init_points::i#10 [69] if((byte) init_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init_points::@1 @@ -1123,7 +1135,7 @@ VARIABLE REGISTER WEIGHTS (byte) SIZEOF_POINT (void()) init_points() (byte~) init_points::getPoint1_$0 -(byte) init_points::getPoint1_$0#0 22.0 +(byte) init_points::getPoint1_$0#0 11.0 (byte*~) init_points::getPoint1_$1 (byte) init_points::getPoint1_idx (byte*) init_points::getPoint1_return @@ -1132,7 +1144,7 @@ VARIABLE REGISTER WEIGHTS (byte) init_points::i#10 3.666666666666667 (byte*) init_points::point (byte*~) init_points::pointXpos1_$0 -(byte*) init_points::pointXpos1_$0#0 8.25 +(byte*) init_points::pointXpos1_$0#0 4.4 (byte*~) init_points::pointXpos1_$1 (byte*) init_points::pointXpos1_point (byte*) init_points::pointXpos1_return @@ -1140,7 +1152,6 @@ VARIABLE REGISTER WEIGHTS (byte*~) init_points::pointYpos1_$1 (byte*) init_points::pointYpos1_point (byte*) init_points::pointYpos1_return -(byte*) init_points::pointYpos1_return#0 22.0 (byte) init_points::pos (byte) init_points::pos#1 11.0 (byte) init_points::pos#10 6.6000000000000005 @@ -1179,7 +1190,7 @@ VARIABLE REGISTER WEIGHTS (void()) print_ln() (void()) print_points() (byte~) print_points::getPoint1_$0 -(byte) print_points::getPoint1_$0#0 22.0 +(byte) print_points::getPoint1_$0#0 11.0 (byte*~) print_points::getPoint1_$1 (byte) print_points::getPoint1_idx (byte*) print_points::getPoint1_return @@ -1188,7 +1199,7 @@ VARIABLE REGISTER WEIGHTS (byte) print_points::i#10 2.5384615384615383 (byte*) print_points::point (byte*~) print_points::pointXpos1_$0 -(byte*) print_points::pointXpos1_$0#0 5.5 +(byte*) print_points::pointXpos1_$0#0 3.142857142857143 (byte*~) print_points::pointXpos1_$1 (byte*) print_points::pointXpos1_point (byte*) print_points::pointXpos1_return @@ -1196,7 +1207,6 @@ VARIABLE REGISTER WEIGHTS (byte*~) print_points::pointYpos1_$1 (byte*) print_points::pointYpos1_point (byte*) print_points::pointYpos1_return -(byte*) print_points::pointYpos1_return#0 22.0 (byte*) print_screen (void()) print_str((byte*) print_str::str) (byte*) print_str::str @@ -1215,13 +1225,11 @@ Initial phi equivalence classes [ init_points::pos#10 init_points::pos#2 ] Added variable print_points::getPoint1_$0#0 to zero page equivalence class [ print_points::getPoint1_$0#0 ] Added variable print_points::pointXpos1_$0#0 to zero page equivalence class [ print_points::pointXpos1_$0#0 ] -Added variable print_points::pointYpos1_return#0 to zero page equivalence class [ print_points::pointYpos1_return#0 ] Added variable print_byte::$0 to zero page equivalence class [ print_byte::$0 ] Added variable print_byte::$2 to zero page equivalence class [ print_byte::$2 ] Added variable init_points::getPoint1_$0#0 to zero page equivalence class [ init_points::getPoint1_$0#0 ] Added variable init_points::pointXpos1_$0#0 to zero page equivalence class [ init_points::pointXpos1_$0#0 ] Added variable init_points::pos#1 to zero page equivalence class [ init_points::pos#1 ] -Added variable init_points::pointYpos1_return#0 to zero page equivalence class [ init_points::pointYpos1_return#0 ] Complete equivalence classes [ print_points::i#10 print_points::i#1 ] [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 ] @@ -1234,13 +1242,11 @@ Complete equivalence classes [ init_points::pos#10 init_points::pos#2 ] [ print_points::getPoint1_$0#0 ] [ print_points::pointXpos1_$0#0 ] -[ print_points::pointYpos1_return#0 ] [ print_byte::$0 ] [ print_byte::$2 ] [ init_points::getPoint1_$0#0 ] [ init_points::pointXpos1_$0#0 ] [ init_points::pos#1 ] -[ init_points::pointYpos1_return#0 ] Allocated zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] Allocated zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 ] Allocated zp ZP_BYTE:5 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] @@ -1252,13 +1258,11 @@ Allocated zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] Allocated zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] Allocated zp ZP_BYTE:15 [ print_points::getPoint1_$0#0 ] Allocated zp ZP_WORD:16 [ print_points::pointXpos1_$0#0 ] -Allocated zp ZP_WORD:18 [ print_points::pointYpos1_return#0 ] -Allocated zp ZP_BYTE:20 [ print_byte::$0 ] -Allocated zp ZP_BYTE:21 [ print_byte::$2 ] -Allocated zp ZP_BYTE:22 [ init_points::getPoint1_$0#0 ] -Allocated zp ZP_WORD:23 [ init_points::pointXpos1_$0#0 ] -Allocated zp ZP_BYTE:25 [ init_points::pos#1 ] -Allocated zp ZP_WORD:26 [ init_points::pointYpos1_return#0 ] +Allocated zp ZP_BYTE:18 [ print_byte::$0 ] +Allocated zp ZP_BYTE:19 [ print_byte::$2 ] +Allocated zp ZP_BYTE:20 [ init_points::getPoint1_$0#0 ] +Allocated zp ZP_WORD:21 [ init_points::pointXpos1_$0#0 ] +Allocated zp ZP_BYTE:23 [ init_points::pos#1 ] INITIAL ASM //SEG0 File Comments @@ -1323,7 +1327,6 @@ main: { print_points: { .label getPoint1__0 = $f .label pointXpos1__0 = $10 - .label pointYpos1_return = $12 .label i = 2 //SEG20 [10] call print_cls //SEG21 [52] phi from print_points to print_cls [phi:print_points->print_cls] @@ -1370,9 +1373,9 @@ print_points: { jmp b2 //SEG32 print_points::@2 b2: - //SEG33 [15] (byte) print_byte::b#0 ← *((byte*) print_points::pointXpos1_$0#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (pointXpos1__0),y + //SEG33 [15] (byte) print_byte::b#0 ← *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0) -- vbuz1=pbuc1_derefidx_vbuz2 + ldy getPoint1__0 + lda points,y sta print_byte.b //SEG34 [16] call print_byte //SEG35 [33] phi from print_points::@2 to print_byte [phi:print_points::@2->print_byte] @@ -1389,23 +1392,17 @@ print_points: { //SEG41 [45] phi from print_points::@4 to print_str [phi:print_points::@4->print_str] print_str_from_b4: jsr print_str + //SEG42 [19] phi from print_points::@4 to print_points::pointYpos1 [phi:print_points::@4->print_points::pointYpos1] + pointYpos1_from_b4: jmp pointYpos1 - //SEG42 print_points::pointYpos1 + //SEG43 print_points::pointYpos1 pointYpos1: - //SEG43 [19] (byte*) print_points::pointYpos1_return#0 ← (byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- pbuz1=pbuz2_plus_1 - lda pointXpos1__0 - clc - adc #1 - sta pointYpos1_return - lda pointXpos1__0+1 - adc #0 - sta pointYpos1_return+1 jmp b3 //SEG44 print_points::@3 b3: - //SEG45 [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointYpos1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (pointYpos1_return),y + //SEG45 [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) -- vbuz1=pbuz2_derefidx_vbuc1 + ldy #1 + lda (pointXpos1__0),y sta print_byte.b //SEG46 [21] call print_byte //SEG47 [33] phi from print_points::@3 to print_byte [phi:print_points::@3->print_byte] @@ -1488,8 +1485,8 @@ print_ln: { // Print a byte as HEX // print_byte(byte zeropage(5) b) print_byte: { - .label _0 = $14 - .label _2 = $15 + .label _0 = $12 + .label _2 = $13 .label b = 5 //SEG74 [34] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_ror_4 lda b @@ -1643,10 +1640,9 @@ print_cls: { //SEG120 init_points // Initialize points init_points: { - .label getPoint1__0 = $16 - .label pointXpos1__0 = $17 - .label pos = $19 - .label pointYpos1_return = $1a + .label getPoint1__0 = $14 + .label pointXpos1__0 = $15 + .label pos = $17 .label pos_2 = $e .label i = $d .label pos_10 = $e @@ -1689,32 +1685,26 @@ init_points: { jmp b2 //SEG133 init_points::@2 b2: - //SEG134 [63] *((byte*) init_points::pointXpos1_$0#0) ← (byte) init_points::pos#10 -- _deref_pbuz1=vbuz2 + //SEG134 [63] *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0) ← (byte) init_points::pos#10 -- pbuc1_derefidx_vbuz1=vbuz2 lda pos_10 - ldy #0 - sta (pointXpos1__0),y + ldy getPoint1__0 + sta points,y //SEG135 [64] (byte) init_points::pos#1 ← (byte) init_points::pos#10 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuz1=vbuz2_plus_vbuc1 lax pos_10 axs #-[$a] stx pos + //SEG136 [65] phi from init_points::@2 to init_points::pointYpos1 [phi:init_points::@2->init_points::pointYpos1] + pointYpos1_from_b2: jmp pointYpos1 - //SEG136 init_points::pointYpos1 + //SEG137 init_points::pointYpos1 pointYpos1: - //SEG137 [65] (byte*) init_points::pointYpos1_return#0 ← (byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- pbuz1=pbuz2_plus_1 - lda pointXpos1__0 - clc - adc #1 - sta pointYpos1_return - lda pointXpos1__0+1 - adc #0 - sta pointYpos1_return+1 jmp b3 //SEG138 init_points::@3 b3: - //SEG139 [66] *((byte*) init_points::pointYpos1_return#0) ← (byte) init_points::pos#1 -- _deref_pbuz1=vbuz2 + //SEG139 [66] *((byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) init_points::pos#1 -- pbuz1_derefidx_vbuc1=vbuz2 lda pos - ldy #0 - sta (pointYpos1_return),y + ldy #1 + sta (pointXpos1__0),y //SEG140 [67] (byte) init_points::pos#2 ← (byte) init_points::pos#1 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuz1=vbuz2_plus_vbuc1 lax pos axs #-[$a] @@ -1738,11 +1728,10 @@ init_points: { REGISTER UPLIFT POTENTIAL REGISTERS Statement [12] (byte) print_points::getPoint1_$0#0 ← (byte) print_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::getPoint1_$0#0 ] ( main:2::print_points:7 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::getPoint1_$0#0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] -Statement [13] (byte*) print_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::pointXpos1_$0#0 ] ( main:2::print_points:7 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::pointXpos1_$0#0 ] ) always clobbers reg byte a -Statement [15] (byte) print_byte::b#0 ← *((byte*) print_points::pointXpos1_$0#0) [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::pointXpos1_$0#0 print_byte::b#0 ] ( main:2::print_points:7 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::pointXpos1_$0#0 print_byte::b#0 ] ) always clobbers reg byte a reg byte y +Statement [13] (byte*) print_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::getPoint1_$0#0 print_points::pointXpos1_$0#0 ] ( main:2::print_points:7 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::getPoint1_$0#0 print_points::pointXpos1_$0#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:15 [ print_points::getPoint1_$0#0 ] +Statement [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) [ print_points::i#10 print_line_cursor#24 print_byte::b#1 print_char_cursor#2 ] ( main:2::print_points:7 [ print_points::i#10 print_line_cursor#24 print_byte::b#1 print_char_cursor#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] -Statement [19] (byte*) print_points::pointYpos1_return#0 ← (byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ print_points::i#10 print_line_cursor#24 print_points::pointYpos1_return#0 print_char_cursor#2 ] ( main:2::print_points:7 [ print_points::i#10 print_line_cursor#24 print_points::pointYpos1_return#0 print_char_cursor#2 ] ) always clobbers reg byte a -Statement [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointYpos1_return#0) [ print_points::i#10 print_line_cursor#24 print_byte::b#1 print_char_cursor#2 ] ( main:2::print_points:7 [ print_points::i#10 print_line_cursor#24 print_byte::b#1 print_char_cursor#2 ] ) always clobbers reg byte a reg byte y Statement [27] (byte*~) print_char_cursor#60 ← (byte*) print_line_cursor#1 [ print_points::i#1 print_char_cursor#60 print_line_cursor#1 ] ( main:2::print_points:7 [ print_points::i#1 print_char_cursor#60 print_line_cursor#1 ] ) always clobbers reg byte a Statement [30] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#1 print_char_cursor#29 ] ( main:2::print_points:7::print_ln:23 [ print_points::i#10 print_line_cursor#1 print_char_cursor#29 ] ) always clobbers reg byte a Statement [31] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#29) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#29 ] ( main:2::print_points:7::print_ln:23 [ print_points::i#10 print_line_cursor#1 print_char_cursor#29 ] ) always clobbers reg byte a @@ -1758,23 +1747,16 @@ Statement [56] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/sign Statement [60] (byte) init_points::getPoint1_$0#0 ← (byte) init_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ init_points::i#10 init_points::pos#10 init_points::getPoint1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::getPoint1_$0#0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] -Statement [61] (byte*) init_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ) always clobbers reg byte a -Statement [63] *((byte*) init_points::pointXpos1_$0#0) ← (byte) init_points::pos#10 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] +Statement [61] (byte*) init_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0 [ init_points::i#10 init_points::pos#10 init_points::getPoint1_$0#0 init_points::pointXpos1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::getPoint1_$0#0 init_points::pointXpos1_$0#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:20 [ init_points::getPoint1_$0#0 ] +Statement [63] *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0) ← (byte) init_points::pos#10 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ) always clobbers reg byte a Statement [64] (byte) init_points::pos#1 ← (byte) init_points::pos#10 + (byte/signed byte/word/signed word/dword/signed dword) $a [ init_points::i#10 init_points::pointXpos1_$0#0 init_points::pos#1 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pointXpos1_$0#0 init_points::pos#1 ] ) always clobbers reg byte a -Statement [65] (byte*) init_points::pointYpos1_return#0 ← (byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ init_points::i#10 init_points::pos#1 init_points::pointYpos1_return#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#1 init_points::pointYpos1_return#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:25 [ init_points::pos#1 ] -Statement [66] *((byte*) init_points::pointYpos1_return#0) ← (byte) init_points::pos#1 [ init_points::i#10 init_points::pos#1 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#1 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:25 [ init_points::pos#1 ] -Statement [67] (byte) init_points::pos#2 ← (byte) init_points::pos#1 + (byte/signed byte/word/signed word/dword/signed dword) $a [ init_points::i#10 init_points::pos#2 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#2 ] ) always clobbers reg byte a reg byte x -Removing always clobbered register reg byte x as potential for zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] -Statement [69] if((byte) init_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init_points::@1 [ init_points::i#1 init_points::pos#2 ] ( main:2::init_points:5 [ init_points::i#1 init_points::pos#2 ] ) always clobbers reg byte a +Statement [66] *((byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) init_points::pos#1 [ init_points::i#10 init_points::pos#1 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#1 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:23 [ init_points::pos#1 ] Statement [12] (byte) print_points::getPoint1_$0#0 ← (byte) print_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::getPoint1_$0#0 ] ( main:2::print_points:7 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::getPoint1_$0#0 ] ) always clobbers reg byte a -Statement [13] (byte*) print_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::pointXpos1_$0#0 ] ( main:2::print_points:7 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::pointXpos1_$0#0 ] ) always clobbers reg byte a -Statement [15] (byte) print_byte::b#0 ← *((byte*) print_points::pointXpos1_$0#0) [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::pointXpos1_$0#0 print_byte::b#0 ] ( main:2::print_points:7 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::pointXpos1_$0#0 print_byte::b#0 ] ) always clobbers reg byte a reg byte y -Statement [19] (byte*) print_points::pointYpos1_return#0 ← (byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ print_points::i#10 print_line_cursor#24 print_points::pointYpos1_return#0 print_char_cursor#2 ] ( main:2::print_points:7 [ print_points::i#10 print_line_cursor#24 print_points::pointYpos1_return#0 print_char_cursor#2 ] ) always clobbers reg byte a -Statement [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointYpos1_return#0) [ print_points::i#10 print_line_cursor#24 print_byte::b#1 print_char_cursor#2 ] ( main:2::print_points:7 [ print_points::i#10 print_line_cursor#24 print_byte::b#1 print_char_cursor#2 ] ) always clobbers reg byte a reg byte y +Statement [13] (byte*) print_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::getPoint1_$0#0 print_points::pointXpos1_$0#0 ] ( main:2::print_points:7 [ print_points::i#10 print_char_cursor#45 print_line_cursor#24 print_points::getPoint1_$0#0 print_points::pointXpos1_$0#0 ] ) always clobbers reg byte a +Statement [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) [ print_points::i#10 print_line_cursor#24 print_byte::b#1 print_char_cursor#2 ] ( main:2::print_points:7 [ print_points::i#10 print_line_cursor#24 print_byte::b#1 print_char_cursor#2 ] ) always clobbers reg byte a reg byte y Statement [27] (byte*~) print_char_cursor#60 ← (byte*) print_line_cursor#1 [ print_points::i#1 print_char_cursor#60 print_line_cursor#1 ] ( main:2::print_points:7 [ print_points::i#1 print_char_cursor#60 print_line_cursor#1 ] ) always clobbers reg byte a Statement [30] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#1 print_char_cursor#29 ] ( main:2::print_points:7::print_ln:23 [ print_points::i#10 print_line_cursor#1 print_char_cursor#29 ] ) always clobbers reg byte a Statement [31] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#29) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#29 ] ( main:2::print_points:7::print_ln:23 [ print_points::i#10 print_line_cursor#1 print_char_cursor#29 ] ) always clobbers reg byte a @@ -1786,13 +1768,10 @@ Statement [49] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#2) [ Statement [54] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_points:7::print_cls:10 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y Statement [56] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_points:7::print_cls:10 [ print_cls::sc#1 ] ) always clobbers reg byte a Statement [60] (byte) init_points::getPoint1_$0#0 ← (byte) init_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ init_points::i#10 init_points::pos#10 init_points::getPoint1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::getPoint1_$0#0 ] ) always clobbers reg byte a -Statement [61] (byte*) init_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ) always clobbers reg byte a -Statement [63] *((byte*) init_points::pointXpos1_$0#0) ← (byte) init_points::pos#10 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ) always clobbers reg byte a reg byte y -Statement [64] (byte) init_points::pos#1 ← (byte) init_points::pos#10 + (byte/signed byte/word/signed word/dword/signed dword) $a [ init_points::i#10 init_points::pointXpos1_$0#0 init_points::pos#1 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pointXpos1_$0#0 init_points::pos#1 ] ) always clobbers reg byte a reg byte x -Statement [65] (byte*) init_points::pointYpos1_return#0 ← (byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ init_points::i#10 init_points::pos#1 init_points::pointYpos1_return#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#1 init_points::pointYpos1_return#0 ] ) always clobbers reg byte a -Statement [66] *((byte*) init_points::pointYpos1_return#0) ← (byte) init_points::pos#1 [ init_points::i#10 init_points::pos#1 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#1 ] ) always clobbers reg byte a reg byte y -Statement [67] (byte) init_points::pos#2 ← (byte) init_points::pos#1 + (byte/signed byte/word/signed word/dword/signed dword) $a [ init_points::i#10 init_points::pos#2 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#2 ] ) always clobbers reg byte a reg byte x -Statement [69] if((byte) init_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init_points::@1 [ init_points::i#1 init_points::pos#2 ] ( main:2::init_points:5 [ init_points::i#1 init_points::pos#2 ] ) always clobbers reg byte a +Statement [61] (byte*) init_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0 [ init_points::i#10 init_points::pos#10 init_points::getPoint1_$0#0 init_points::pointXpos1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::getPoint1_$0#0 init_points::pointXpos1_$0#0 ] ) always clobbers reg byte a +Statement [63] *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0) ← (byte) init_points::pos#10 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#10 init_points::pointXpos1_$0#0 ] ) always clobbers reg byte a +Statement [64] (byte) init_points::pos#1 ← (byte) init_points::pos#10 + (byte/signed byte/word/signed word/dword/signed dword) $a [ init_points::i#10 init_points::pointXpos1_$0#0 init_points::pos#1 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pointXpos1_$0#0 init_points::pos#1 ] ) always clobbers reg byte a +Statement [66] *((byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) init_points::pos#1 [ init_points::i#10 init_points::pos#1 ] ( main:2::init_points:5 [ init_points::i#10 init_points::pos#1 ] ) always clobbers reg byte y Potential registers zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] : zp ZP_BYTE:2 , reg byte x , Potential registers zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 ] : zp ZP_WORD:3 , Potential registers zp ZP_BYTE:5 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] : zp ZP_BYTE:5 , reg byte x , @@ -1800,52 +1779,46 @@ Potential registers zp ZP_BYTE:6 [ print_char::ch#2 print_char::ch#0 print_char: Potential registers zp ZP_WORD:7 [ print_char_cursor#28 print_char_cursor#42 print_char_cursor#45 print_char_cursor#60 print_char_cursor#2 print_char_cursor#29 print_char_cursor#1 ] : zp ZP_WORD:7 , Potential registers zp ZP_WORD:9 [ print_str::str#2 print_str::str#0 ] : zp ZP_WORD:9 , Potential registers zp ZP_WORD:11 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:11 , -Potential registers zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] : zp ZP_BYTE:13 , -Potential registers zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] : zp ZP_BYTE:14 , reg byte x , -Potential registers zp ZP_BYTE:15 [ print_points::getPoint1_$0#0 ] : zp ZP_BYTE:15 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] : zp ZP_BYTE:13 , reg byte x , +Potential registers zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] : zp ZP_BYTE:14 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:15 [ print_points::getPoint1_$0#0 ] : zp ZP_BYTE:15 , reg byte x , reg byte y , Potential registers zp ZP_WORD:16 [ print_points::pointXpos1_$0#0 ] : zp ZP_WORD:16 , -Potential registers zp ZP_WORD:18 [ print_points::pointYpos1_return#0 ] : zp ZP_WORD:18 , -Potential registers zp ZP_BYTE:20 [ print_byte::$0 ] : zp ZP_BYTE:20 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:21 [ print_byte::$2 ] : zp ZP_BYTE:21 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:22 [ init_points::getPoint1_$0#0 ] : zp ZP_BYTE:22 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:23 [ init_points::pointXpos1_$0#0 ] : zp ZP_WORD:23 , -Potential registers zp ZP_BYTE:25 [ init_points::pos#1 ] : zp ZP_BYTE:25 , reg byte x , -Potential registers zp ZP_WORD:26 [ init_points::pointYpos1_return#0 ] : zp ZP_WORD:26 , +Potential registers zp ZP_BYTE:18 [ print_byte::$0 ] : zp ZP_BYTE:18 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:19 [ print_byte::$2 ] : zp ZP_BYTE:19 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:20 [ init_points::getPoint1_$0#0 ] : zp ZP_BYTE:20 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:21 [ init_points::pointXpos1_$0#0 ] : zp ZP_WORD:21 , +Potential registers zp ZP_BYTE:23 [ init_points::pos#1 ] : zp ZP_BYTE:23 , reg byte a , reg byte x , REGISTER UPLIFT SCOPES Uplift Scope [] 251.43: zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 ] 191.23: zp ZP_WORD:7 [ print_char_cursor#28 print_char_cursor#42 print_char_cursor#45 print_char_cursor#60 print_char_cursor#2 print_char_cursor#29 print_char_cursor#1 ] Uplift Scope [print_str] 303: zp ZP_WORD:9 [ print_str::str#2 print_str::str#0 ] -Uplift Scope [init_points] 22: zp ZP_BYTE:22 [ init_points::getPoint1_$0#0 ] 22: zp ZP_WORD:26 [ init_points::pointYpos1_return#0 ] 20.17: zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] 13.93: zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] 11: zp ZP_BYTE:25 [ init_points::pos#1 ] 8.25: zp ZP_WORD:23 [ init_points::pointXpos1_$0#0 ] -Uplift Scope [print_points] 22: zp ZP_BYTE:15 [ print_points::getPoint1_$0#0 ] 22: zp ZP_WORD:18 [ print_points::pointYpos1_return#0 ] 13.54: zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] 5.5: zp ZP_WORD:16 [ print_points::pointXpos1_$0#0 ] -Uplift Scope [print_byte] 50.5: zp ZP_BYTE:5 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:20 [ print_byte::$0 ] 4: zp ZP_BYTE:21 [ print_byte::$2 ] +Uplift Scope [init_points] 20.17: zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] 13.93: zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] 11: zp ZP_BYTE:20 [ init_points::getPoint1_$0#0 ] 11: zp ZP_BYTE:23 [ init_points::pos#1 ] 4.4: zp ZP_WORD:21 [ init_points::pointXpos1_$0#0 ] +Uplift Scope [print_byte] 50.5: zp ZP_BYTE:5 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:18 [ print_byte::$0 ] 4: zp ZP_BYTE:19 [ print_byte::$2 ] Uplift Scope [print_cls] 33: zp ZP_WORD:11 [ print_cls::sc#2 print_cls::sc#1 ] +Uplift Scope [print_points] 13.54: zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] 11: zp ZP_BYTE:15 [ print_points::getPoint1_$0#0 ] 3.14: zp ZP_WORD:16 [ print_points::pointXpos1_$0#0 ] Uplift Scope [print_char] 14: zp ZP_BYTE:6 [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] Uplift Scope [print_ln] Uplift Scope [main] -Uplifting [] best 14895 combination zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 ] zp ZP_WORD:7 [ print_char_cursor#28 print_char_cursor#42 print_char_cursor#45 print_char_cursor#60 print_char_cursor#2 print_char_cursor#29 print_char_cursor#1 ] -Uplifting [print_str] best 14895 combination zp ZP_WORD:9 [ print_str::str#2 print_str::str#0 ] -Uplifting [init_points] best 14705 combination reg byte a [ init_points::getPoint1_$0#0 ] zp ZP_WORD:26 [ init_points::pointYpos1_return#0 ] zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] reg byte x [ init_points::pos#10 init_points::pos#2 ] reg byte x [ init_points::pos#1 ] zp ZP_WORD:23 [ init_points::pointXpos1_$0#0 ] -Uplifting [print_points] best 14545 combination reg byte a [ print_points::getPoint1_$0#0 ] zp ZP_WORD:18 [ print_points::pointYpos1_return#0 ] reg byte x [ print_points::i#10 print_points::i#1 ] zp ZP_WORD:16 [ print_points::pointXpos1_$0#0 ] -Uplifting [print_byte] best 14537 combination zp ZP_BYTE:5 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] -Uplifting [print_cls] best 14537 combination zp ZP_WORD:11 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [print_char] best 14528 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -Uplifting [print_ln] best 14528 combination -Uplifting [main] best 14528 combination -Attempting to uplift remaining variables inzp ZP_BYTE:5 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] -Uplifting [print_byte] best 14528 combination zp ZP_BYTE:5 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] -Uplifting [init_points] best 14528 combination zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] -Coalescing zero page register with common assignment [ zp ZP_WORD:16 [ print_points::pointXpos1_$0#0 ] ] with [ zp ZP_WORD:18 [ print_points::pointYpos1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:23 [ init_points::pointXpos1_$0#0 ] ] with [ zp ZP_WORD:26 [ init_points::pointYpos1_return#0 ] ] - score: 1 +Uplifting [] best 14562 combination zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 ] zp ZP_WORD:7 [ print_char_cursor#28 print_char_cursor#42 print_char_cursor#45 print_char_cursor#60 print_char_cursor#2 print_char_cursor#29 print_char_cursor#1 ] +Uplifting [print_str] best 14562 combination zp ZP_WORD:9 [ print_str::str#2 print_str::str#0 ] +Uplifting [init_points] best 14362 combination reg byte x [ init_points::i#10 init_points::i#1 ] zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] reg byte y [ init_points::getPoint1_$0#0 ] reg byte a [ init_points::pos#1 ] zp ZP_WORD:21 [ init_points::pointXpos1_$0#0 ] +Uplifting [print_byte] best 14310 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ] +Uplifting [print_cls] best 14310 combination zp ZP_WORD:11 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [print_points] best 14260 combination zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] reg byte y [ print_points::getPoint1_$0#0 ] zp ZP_WORD:16 [ print_points::pointXpos1_$0#0 ] +Uplifting [print_char] best 14251 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +Uplifting [print_ln] best 14251 combination +Uplifting [main] best 14251 combination +Attempting to uplift remaining variables inzp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] +Uplifting [init_points] best 14251 combination zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] +Uplifting [print_points] best 14251 combination zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] +Coalescing zero page register [ zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 ] ] with [ zp ZP_BYTE:14 [ init_points::pos#10 init_points::pos#2 ] ] Coalescing zero page register [ zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 ] ] with [ zp ZP_WORD:11 [ print_cls::sc#2 print_cls::sc#1 ] ] -Coalescing zero page register [ zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:23 [ init_points::pointXpos1_$0#0 init_points::pointYpos1_return#0 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] ] with [ zp ZP_BYTE:13 [ init_points::i#10 init_points::i#1 ] ] -Allocated (was zp ZP_WORD:3) zp ZP_WORD:2 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 init_points::pointXpos1_$0#0 init_points::pointYpos1_return#0 ] -Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:4 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 init_points::i#10 init_points::i#1 ] +Coalescing zero page register [ zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:21 [ init_points::pointXpos1_$0#0 ] ] Allocated (was zp ZP_WORD:7) zp ZP_WORD:5 [ print_char_cursor#28 print_char_cursor#42 print_char_cursor#45 print_char_cursor#60 print_char_cursor#2 print_char_cursor#29 print_char_cursor#1 ] Allocated (was zp ZP_WORD:9) zp ZP_WORD:7 [ print_str::str#2 print_str::str#0 ] -Allocated (was zp ZP_WORD:16) zp ZP_WORD:9 [ print_points::pointXpos1_$0#0 print_points::pointYpos1_return#0 ] +Allocated (was zp ZP_WORD:16) zp ZP_WORD:9 [ print_points::pointXpos1_$0#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 File Comments @@ -1866,7 +1839,7 @@ ASSEMBLER BEFORE OPTIMIZATION // The number of points .const NUM_POINTS = 4 .label print_char_cursor = 5 - .label print_line_cursor = 2 + .label print_line_cursor = 3 //SEG3 @begin bbegin: //SEG4 [1] phi from @begin to @1 [phi:@begin->@1] @@ -1909,7 +1882,7 @@ main: { // Print points print_points: { .label pointXpos1__0 = 9 - .label pointYpos1_return = 9 + .label i = 2 //SEG20 [10] call print_cls //SEG21 [52] phi from print_points to print_cls [phi:print_points->print_cls] print_cls_from_print_points: @@ -1926,18 +1899,21 @@ print_points: { sta print_char_cursor lda #>$400 sta print_char_cursor+1 - //SEG25 [11] phi (byte) print_points::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_points->print_points::@1#2] -- vbuxx=vbuc1 - ldx #0 + //SEG25 [11] phi (byte) print_points::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_points->print_points::@1#2] -- vbuz1=vbuc1 + lda #0 + sta i jmp b1 //SEG26 print_points::@1 b1: jmp getPoint1 //SEG27 print_points::getPoint1 getPoint1: - //SEG28 [12] (byte) print_points::getPoint1_$0#0 ← (byte) print_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_rol_1 - txa + //SEG28 [12] (byte) print_points::getPoint1_$0#0 ← (byte) print_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuz1_rol_1 + lda i asl - //SEG29 [13] (byte*) print_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0 -- pbuz1=pbuc1_plus_vbuaa + tay + //SEG29 [13] (byte*) print_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0 -- pbuz1=pbuc1_plus_vbuyy + tya clc adc #print_byte] print_byte_from_b2: @@ -1971,21 +1945,18 @@ print_points: { //SEG41 [45] phi from print_points::@4 to print_str [phi:print_points::@4->print_str] print_str_from_b4: jsr print_str + //SEG42 [19] phi from print_points::@4 to print_points::pointYpos1 [phi:print_points::@4->print_points::pointYpos1] + pointYpos1_from_b4: jmp pointYpos1 - //SEG42 print_points::pointYpos1 + //SEG43 print_points::pointYpos1 pointYpos1: - //SEG43 [19] (byte*) print_points::pointYpos1_return#0 ← (byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- pbuz1=pbuz1_plus_1 - inc pointYpos1_return - bne !+ - inc pointYpos1_return+1 - !: jmp b3 //SEG44 print_points::@3 b3: - //SEG45 [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointYpos1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (pointYpos1_return),y - sta print_byte.b + //SEG45 [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #1 + lda (pointXpos1__0),y + tax //SEG46 [21] call print_byte //SEG47 [33] phi from print_points::@3 to print_byte [phi:print_points::@3->print_byte] print_byte_from_b3: @@ -2004,10 +1975,11 @@ print_points: { jmp b6 //SEG54 print_points::@6 b6: - //SEG55 [24] (byte) print_points::i#1 ← ++ (byte) print_points::i#10 -- vbuxx=_inc_vbuxx - inx - //SEG56 [25] if((byte) print_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto print_points::@7 -- vbuxx_neq_vbuc1_then_la1 - cpx #NUM_POINTS-1+1 + //SEG55 [24] (byte) print_points::i#1 ← ++ (byte) print_points::i#10 -- vbuz1=_inc_vbuz1 + inc i + //SEG56 [25] if((byte) print_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto print_points::@7 -- vbuz1_neq_vbuc1_then_la1 + lda #NUM_POINTS-1+1 + cmp i bne b7 jmp breturn //SEG57 print_points::@return @@ -2064,11 +2036,10 @@ print_ln: { } //SEG73 print_byte // Print a byte as HEX -// print_byte(byte zeropage(4) b) +// print_byte(byte register(X) b) print_byte: { - .label b = 4 - //SEG74 [34] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_ror_4 - lda b + //SEG74 [34] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuxx_ror_4 + txa lsr lsr lsr @@ -2085,12 +2056,11 @@ print_byte: { jmp b1 //SEG80 print_byte::@1 b1: - //SEG81 [37] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuz1_band_vbuc1 + //SEG81 [37] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuxx=vbuxx_band_vbuc1 lda #$f - and b - //SEG82 [38] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuaa - tay - lda print_hextab,y + axs #0 + //SEG82 [38] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuxx + lda print_hextab,x //SEG83 [39] call print_char //SEG84 [41] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] print_char_from_b1: @@ -2173,7 +2143,7 @@ print_str: { //SEG109 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { - .label sc = 2 + .label sc = 3 //SEG110 [53] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: //SEG111 [53] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 @@ -2213,16 +2183,15 @@ print_cls: { //SEG120 init_points // Initialize points init_points: { - .label pointXpos1__0 = 2 - .label pointYpos1_return = 2 - .label i = 4 + .label pointXpos1__0 = 3 + .label pos = 2 //SEG121 [59] phi from init_points to init_points::@1 [phi:init_points->init_points::@1] b1_from_init_points: - //SEG122 [59] phi (byte) init_points::pos#10 = (byte/signed byte/word/signed word/dword/signed dword) $a [phi:init_points->init_points::@1#0] -- vbuxx=vbuc1 - ldx #$a - //SEG123 [59] phi (byte) init_points::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_points->init_points::@1#1] -- vbuz1=vbuc1 - lda #0 - sta i + //SEG122 [59] phi (byte) init_points::pos#10 = (byte/signed byte/word/signed word/dword/signed dword) $a [phi:init_points->init_points::@1#0] -- vbuz1=vbuc1 + lda #$a + sta pos + //SEG123 [59] phi (byte) init_points::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_points->init_points::@1#1] -- vbuxx=vbuc1 + ldx #0 jmp b1 //SEG124 [59] phi from init_points::@3 to init_points::@1 [phi:init_points::@3->init_points::@1] b1_from_b3: @@ -2234,10 +2203,12 @@ init_points: { jmp getPoint1 //SEG128 init_points::getPoint1 getPoint1: - //SEG129 [60] (byte) init_points::getPoint1_$0#0 ← (byte) init_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_rol_1 - lda i + //SEG129 [60] (byte) init_points::getPoint1_$0#0 ← (byte) init_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuxx_rol_1 + txa asl - //SEG130 [61] (byte*) init_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0 -- pbuz1=pbuc1_plus_vbuaa + tay + //SEG130 [61] (byte*) init_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0 -- pbuz1=pbuc1_plus_vbuyy + tya clc adc #init_points::pointYpos1] + pointYpos1_from_b2: jmp pointYpos1 - //SEG136 init_points::pointYpos1 + //SEG137 init_points::pointYpos1 pointYpos1: - //SEG137 [65] (byte*) init_points::pointYpos1_return#0 ← (byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- pbuz1=pbuz1_plus_1 - inc pointYpos1_return - bne !+ - inc pointYpos1_return+1 - !: jmp b3 //SEG138 init_points::@3 b3: - //SEG139 [66] *((byte*) init_points::pointYpos1_return#0) ← (byte) init_points::pos#1 -- _deref_pbuz1=vbuxx - txa - ldy #0 - sta (pointYpos1_return),y - //SEG140 [67] (byte) init_points::pos#2 ← (byte) init_points::pos#1 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuxx=vbuxx_plus_vbuc1 - txa - axs #-[$a] - //SEG141 [68] (byte) init_points::i#1 ← ++ (byte) init_points::i#10 -- vbuz1=_inc_vbuz1 - inc i - //SEG142 [69] if((byte) init_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init_points::@1 -- vbuz1_neq_vbuc1_then_la1 - lda #NUM_POINTS-1+1 - cmp i + //SEG139 [66] *((byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) init_points::pos#1 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #1 + sta (pointXpos1__0),y + //SEG140 [67] (byte) init_points::pos#2 ← (byte) init_points::pos#1 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuz1=vbuaa_plus_vbuc1 + clc + adc #$a + sta pos + //SEG141 [68] (byte) init_points::i#1 ← ++ (byte) init_points::i#10 -- vbuxx=_inc_vbuxx + inx + //SEG142 [69] if((byte) init_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init_points::@1 -- vbuxx_neq_vbuc1_then_la1 + cpx #NUM_POINTS-1+1 bne b1_from_b3 jmp breturn //SEG143 init_points::@return @@ -2343,6 +2310,8 @@ Removing instruction pointXpos1_from_getPoint1: Removing instruction pointXpos1: Removing instruction b4_from_b2: Removing instruction print_str_from_b4: +Removing instruction pointYpos1_from_b4: +Removing instruction pointYpos1: Removing instruction b5_from_b3: Removing instruction print_ln_from_b5: Removing instruction b1_from_print_ln: @@ -2352,6 +2321,8 @@ Removing instruction b1_from_b3: Removing instruction getPoint1: Removing instruction pointXpos1_from_getPoint1: Removing instruction pointXpos1: +Removing instruction pointYpos1_from_b2: +Removing instruction pointYpos1: Succesful ASM optimization Pass5RedundantLabelElimination Removing instruction bend: Removing instruction init_points_from_main: @@ -2362,7 +2333,6 @@ Removing instruction b1_from_print_points: Removing instruction b2: Removing instruction print_byte_from_b2: Removing instruction b4: -Removing instruction pointYpos1: Removing instruction b3: Removing instruction print_byte_from_b3: Removing instruction b5: @@ -2382,7 +2352,6 @@ Removing instruction b1_from_print_cls: Removing instruction breturn: Removing instruction b1_from_init_points: Removing instruction b2: -Removing instruction pointYpos1: Removing instruction b3: Removing instruction breturn: Succesful ASM optimization Pass5UnusedLabelElimination @@ -2410,17 +2379,17 @@ FINAL SYMBOL TABLE (label) init_points::@return (label) init_points::getPoint1 (byte~) init_points::getPoint1_$0 -(byte) init_points::getPoint1_$0#0 reg byte a 22.0 +(byte) init_points::getPoint1_$0#0 reg byte y 11.0 (byte*~) init_points::getPoint1_$1 (byte) init_points::getPoint1_idx (byte*) init_points::getPoint1_return (byte) init_points::i -(byte) init_points::i#1 i zp ZP_BYTE:4 16.5 -(byte) init_points::i#10 i zp ZP_BYTE:4 3.666666666666667 +(byte) init_points::i#1 reg byte x 16.5 +(byte) init_points::i#10 reg byte x 3.666666666666667 (byte*) init_points::point (label) init_points::pointXpos1 (byte*~) init_points::pointXpos1_$0 -(byte*) init_points::pointXpos1_$0#0 pointXpos1_$0 zp ZP_WORD:2 8.25 +(byte*) init_points::pointXpos1_$0#0 pointXpos1_$0 zp ZP_WORD:3 4.4 (byte*~) init_points::pointXpos1_$1 (byte*) init_points::pointXpos1_point (byte*) init_points::pointXpos1_return @@ -2429,11 +2398,10 @@ FINAL SYMBOL TABLE (byte*~) init_points::pointYpos1_$1 (byte*) init_points::pointYpos1_point (byte*) init_points::pointYpos1_return -(byte*) init_points::pointYpos1_return#0 pointYpos1_return zp ZP_WORD:2 22.0 (byte) init_points::pos -(byte) init_points::pos#1 reg byte x 11.0 -(byte) init_points::pos#10 reg byte x 6.6000000000000005 -(byte) init_points::pos#2 reg byte x 7.333333333333333 +(byte) init_points::pos#1 reg byte a 11.0 +(byte) init_points::pos#10 pos zp ZP_BYTE:2 6.6000000000000005 +(byte) init_points::pos#2 pos zp ZP_BYTE:2 7.333333333333333 (void()) main() (label) main::@1 (label) main::@return @@ -2441,13 +2409,13 @@ FINAL SYMBOL TABLE (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 points = { fill( NUM_POINTS#0*SIZEOF_POINT#0, 0) } (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 reg byte a 4.0 -(byte~) print_byte::$2 reg byte a 4.0 +(byte~) print_byte::$2 reg byte x 4.0 (label) print_byte::@1 (label) print_byte::@return (byte) print_byte::b -(byte) print_byte::b#0 b zp ZP_BYTE:4 22.0 -(byte) print_byte::b#1 b zp ZP_BYTE:4 22.0 -(byte) print_byte::b#2 b zp ZP_BYTE:4 6.5 +(byte) print_byte::b#0 reg byte x 22.0 +(byte) print_byte::b#1 reg byte x 22.0 +(byte) print_byte::b#2 reg byte x 6.5 (void()) print_char((byte) print_char::ch) (label) print_char::@return (byte) print_char::ch @@ -2466,14 +2434,14 @@ FINAL SYMBOL TABLE (label) print_cls::@1 (label) print_cls::@return (byte*) print_cls::sc -(byte*) print_cls::sc#1 sc zp ZP_WORD:2 16.5 -(byte*) print_cls::sc#2 sc zp ZP_WORD:2 16.5 +(byte*) print_cls::sc#1 sc zp ZP_WORD:3 16.5 +(byte*) print_cls::sc#2 sc zp ZP_WORD:3 16.5 (byte[]) print_hextab (const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef" (byte*) print_line_cursor -(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:2 46.42857142857143 -(byte*) print_line_cursor#11 print_line_cursor zp ZP_WORD:2 204.0 -(byte*) print_line_cursor#24 print_line_cursor zp ZP_WORD:2 1.0 +(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:3 46.42857142857143 +(byte*) print_line_cursor#11 print_line_cursor zp ZP_WORD:3 204.0 +(byte*) print_line_cursor#24 print_line_cursor zp ZP_WORD:3 1.0 (void()) print_ln() (label) print_ln::@1 (label) print_ln::@return @@ -2488,17 +2456,17 @@ FINAL SYMBOL TABLE (label) print_points::@return (label) print_points::getPoint1 (byte~) print_points::getPoint1_$0 -(byte) print_points::getPoint1_$0#0 reg byte a 22.0 +(byte) print_points::getPoint1_$0#0 reg byte y 11.0 (byte*~) print_points::getPoint1_$1 (byte) print_points::getPoint1_idx (byte*) print_points::getPoint1_return (byte) print_points::i -(byte) print_points::i#1 reg byte x 11.0 -(byte) print_points::i#10 reg byte x 2.5384615384615383 +(byte) print_points::i#1 i zp ZP_BYTE:2 11.0 +(byte) print_points::i#10 i zp ZP_BYTE:2 2.5384615384615383 (byte*) print_points::point (label) print_points::pointXpos1 (byte*~) print_points::pointXpos1_$0 -(byte*) print_points::pointXpos1_$0#0 pointXpos1_$0 zp ZP_WORD:9 5.5 +(byte*) print_points::pointXpos1_$0#0 pointXpos1_$0 zp ZP_WORD:9 3.142857142857143 (byte*~) print_points::pointXpos1_$1 (byte*) print_points::pointXpos1_point (byte*) print_points::pointXpos1_return @@ -2507,7 +2475,6 @@ FINAL SYMBOL TABLE (byte*~) print_points::pointYpos1_$1 (byte*) print_points::pointYpos1_point (byte*) print_points::pointYpos1_return -(byte*) print_points::pointYpos1_return#0 pointYpos1_return zp ZP_WORD:9 22.0 (const string) print_points::str str = (string) " @" (byte*) print_screen (void()) print_str((byte*) print_str::str) @@ -2518,23 +2485,23 @@ FINAL SYMBOL TABLE (byte*) print_str::str#0 str zp ZP_WORD:7 202.0 (byte*) print_str::str#2 str zp ZP_WORD:7 101.0 -reg byte x [ print_points::i#10 print_points::i#1 ] -zp ZP_WORD:2 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 init_points::pointXpos1_$0#0 init_points::pointYpos1_return#0 ] -zp ZP_BYTE:4 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 init_points::i#10 init_points::i#1 ] +zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 init_points::pos#10 init_points::pos#2 ] +zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 init_points::pointXpos1_$0#0 ] +reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] zp ZP_WORD:5 [ print_char_cursor#28 print_char_cursor#42 print_char_cursor#45 print_char_cursor#60 print_char_cursor#2 print_char_cursor#29 print_char_cursor#1 ] zp ZP_WORD:7 [ print_str::str#2 print_str::str#0 ] -reg byte x [ init_points::pos#10 init_points::pos#2 ] -reg byte a [ print_points::getPoint1_$0#0 ] -zp ZP_WORD:9 [ print_points::pointXpos1_$0#0 print_points::pointYpos1_return#0 ] +reg byte x [ init_points::i#10 init_points::i#1 ] +reg byte y [ print_points::getPoint1_$0#0 ] +zp ZP_WORD:9 [ print_points::pointXpos1_$0#0 ] reg byte a [ print_byte::$0 ] -reg byte a [ print_byte::$2 ] -reg byte a [ init_points::getPoint1_$0#0 ] -reg byte x [ init_points::pos#1 ] +reg byte x [ print_byte::$2 ] +reg byte y [ init_points::getPoint1_$0#0 ] +reg byte a [ init_points::pos#1 ] FINAL ASSEMBLER -Score: 12415 +Score: 12221 //SEG0 File Comments // Implementing a semi-struct without the struct keyword by using pointer math and inline functions @@ -2554,7 +2521,7 @@ Score: 12415 // The number of points .const NUM_POINTS = 4 .label print_char_cursor = 5 - .label print_line_cursor = 2 + .label print_line_cursor = 3 //SEG3 @begin //SEG4 [1] phi from @begin to @1 [phi:@begin->@1] //SEG5 @1 @@ -2581,7 +2548,7 @@ main: { // Print points print_points: { .label pointXpos1__0 = 9 - .label pointYpos1_return = 9 + .label i = 2 //SEG20 [10] call print_cls //SEG21 [52] phi from print_points to print_cls [phi:print_points->print_cls] jsr print_cls @@ -2596,15 +2563,18 @@ print_points: { sta print_char_cursor lda #>$400 sta print_char_cursor+1 - //SEG25 [11] phi (byte) print_points::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_points->print_points::@1#2] -- vbuxx=vbuc1 - ldx #0 + //SEG25 [11] phi (byte) print_points::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:print_points->print_points::@1#2] -- vbuz1=vbuc1 + lda #0 + sta i //SEG26 print_points::@1 b1: //SEG27 print_points::getPoint1 - //SEG28 [12] (byte) print_points::getPoint1_$0#0 ← (byte) print_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_rol_1 - txa + //SEG28 [12] (byte) print_points::getPoint1_$0#0 ← (byte) print_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuz1_rol_1 + lda i asl - //SEG29 [13] (byte*) print_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0 -- pbuz1=pbuc1_plus_vbuaa + tay + //SEG29 [13] (byte*) print_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0 -- pbuz1=pbuc1_plus_vbuyy + tya clc adc #print_points::pointXpos1] //SEG31 print_points::pointXpos1 //SEG32 print_points::@2 - //SEG33 [15] (byte) print_byte::b#0 ← *((byte*) print_points::pointXpos1_$0#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (pointXpos1__0),y - sta print_byte.b + //SEG33 [15] (byte) print_byte::b#0 ← *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) print_points::getPoint1_$0#0) -- vbuxx=pbuc1_derefidx_vbuyy + ldx points,y //SEG34 [16] call print_byte //SEG35 [33] phi from print_points::@2 to print_byte [phi:print_points::@2->print_byte] //SEG36 [33] phi (byte*) print_char_cursor#42 = (byte*) print_char_cursor#45 [phi:print_points::@2->print_byte#0] -- register_copy @@ -2628,17 +2596,13 @@ print_points: { //SEG40 [18] call print_str //SEG41 [45] phi from print_points::@4 to print_str [phi:print_points::@4->print_str] jsr print_str - //SEG42 print_points::pointYpos1 - //SEG43 [19] (byte*) print_points::pointYpos1_return#0 ← (byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- pbuz1=pbuz1_plus_1 - inc pointYpos1_return - bne !+ - inc pointYpos1_return+1 - !: + //SEG42 [19] phi from print_points::@4 to print_points::pointYpos1 [phi:print_points::@4->print_points::pointYpos1] + //SEG43 print_points::pointYpos1 //SEG44 print_points::@3 - //SEG45 [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointYpos1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (pointYpos1_return),y - sta print_byte.b + //SEG45 [20] (byte) print_byte::b#1 ← *((byte*) print_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #1 + lda (pointXpos1__0),y + tax //SEG46 [21] call print_byte //SEG47 [33] phi from print_points::@3 to print_byte [phi:print_points::@3->print_byte] //SEG48 [33] phi (byte*) print_char_cursor#42 = (byte*) print_char_cursor#2 [phi:print_points::@3->print_byte#0] -- register_copy @@ -2650,10 +2614,11 @@ print_points: { //SEG53 [28] phi from print_points::@5 to print_ln [phi:print_points::@5->print_ln] jsr print_ln //SEG54 print_points::@6 - //SEG55 [24] (byte) print_points::i#1 ← ++ (byte) print_points::i#10 -- vbuxx=_inc_vbuxx - inx - //SEG56 [25] if((byte) print_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto print_points::@7 -- vbuxx_neq_vbuc1_then_la1 - cpx #NUM_POINTS-1+1 + //SEG55 [24] (byte) print_points::i#1 ← ++ (byte) print_points::i#10 -- vbuz1=_inc_vbuz1 + inc i + //SEG56 [25] if((byte) print_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto print_points::@7 -- vbuz1_neq_vbuc1_then_la1 + lda #NUM_POINTS-1+1 + cmp i bne b7 //SEG57 print_points::@return //SEG58 [26] return @@ -2702,11 +2667,10 @@ print_ln: { } //SEG73 print_byte // Print a byte as HEX -// print_byte(byte zeropage(4) b) +// print_byte(byte register(X) b) print_byte: { - .label b = 4 - //SEG74 [34] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_ror_4 - lda b + //SEG74 [34] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuxx_ror_4 + txa lsr lsr lsr @@ -2720,12 +2684,11 @@ print_byte: { //SEG79 [41] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy jsr print_char //SEG80 print_byte::@1 - //SEG81 [37] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuaa=vbuz1_band_vbuc1 + //SEG81 [37] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuxx=vbuxx_band_vbuc1 lda #$f - and b - //SEG82 [38] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuaa - tay - lda print_hextab,y + axs #0 + //SEG82 [38] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuxx + lda print_hextab,x //SEG83 [39] call print_char //SEG84 [41] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] //SEG85 [41] phi (byte*) print_char_cursor#28 = (byte*) print_char_cursor#29 [phi:print_byte::@1->print_char#0] -- register_copy @@ -2797,7 +2760,7 @@ print_str: { //SEG109 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { - .label sc = 2 + .label sc = 3 //SEG110 [53] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] //SEG111 [53] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #<$400 @@ -2831,25 +2794,26 @@ print_cls: { //SEG120 init_points // Initialize points init_points: { - .label pointXpos1__0 = 2 - .label pointYpos1_return = 2 - .label i = 4 + .label pointXpos1__0 = 3 + .label pos = 2 //SEG121 [59] phi from init_points to init_points::@1 [phi:init_points->init_points::@1] - //SEG122 [59] phi (byte) init_points::pos#10 = (byte/signed byte/word/signed word/dword/signed dword) $a [phi:init_points->init_points::@1#0] -- vbuxx=vbuc1 - ldx #$a - //SEG123 [59] phi (byte) init_points::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_points->init_points::@1#1] -- vbuz1=vbuc1 - lda #0 - sta i + //SEG122 [59] phi (byte) init_points::pos#10 = (byte/signed byte/word/signed word/dword/signed dword) $a [phi:init_points->init_points::@1#0] -- vbuz1=vbuc1 + lda #$a + sta pos + //SEG123 [59] phi (byte) init_points::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_points->init_points::@1#1] -- vbuxx=vbuc1 + ldx #0 //SEG124 [59] phi from init_points::@3 to init_points::@1 [phi:init_points::@3->init_points::@1] //SEG125 [59] phi (byte) init_points::pos#10 = (byte) init_points::pos#2 [phi:init_points::@3->init_points::@1#0] -- register_copy //SEG126 [59] phi (byte) init_points::i#10 = (byte) init_points::i#1 [phi:init_points::@3->init_points::@1#1] -- register_copy //SEG127 init_points::@1 b1: //SEG128 init_points::getPoint1 - //SEG129 [60] (byte) init_points::getPoint1_$0#0 ← (byte) init_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_rol_1 - lda i + //SEG129 [60] (byte) init_points::getPoint1_$0#0 ← (byte) init_points::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuxx_rol_1 + txa asl - //SEG130 [61] (byte*) init_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0 -- pbuz1=pbuc1_plus_vbuaa + tay + //SEG130 [61] (byte*) init_points::pointXpos1_$0#0 ← (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0 -- pbuz1=pbuc1_plus_vbuyy + tya clc adc #init_points::pointXpos1] //SEG132 init_points::pointXpos1 //SEG133 init_points::@2 - //SEG134 [63] *((byte*) init_points::pointXpos1_$0#0) ← (byte) init_points::pos#10 -- _deref_pbuz1=vbuxx - txa - ldy #0 - sta (pointXpos1__0),y - //SEG135 [64] (byte) init_points::pos#1 ← (byte) init_points::pos#10 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuxx=vbuxx_plus_vbuc1 - txa - axs #-[$a] - //SEG136 init_points::pointYpos1 - //SEG137 [65] (byte*) init_points::pointYpos1_return#0 ← (byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- pbuz1=pbuz1_plus_1 - inc pointYpos1_return - bne !+ - inc pointYpos1_return+1 - !: + //SEG134 [63] *((const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 + (byte) init_points::getPoint1_$0#0) ← (byte) init_points::pos#10 -- pbuc1_derefidx_vbuyy=vbuz1 + lda pos + sta points,y + //SEG135 [64] (byte) init_points::pos#1 ← (byte) init_points::pos#10 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuaa=vbuz1_plus_vbuc1 + lda #$a + clc + adc pos + //SEG136 [65] phi from init_points::@2 to init_points::pointYpos1 [phi:init_points::@2->init_points::pointYpos1] + //SEG137 init_points::pointYpos1 //SEG138 init_points::@3 - //SEG139 [66] *((byte*) init_points::pointYpos1_return#0) ← (byte) init_points::pos#1 -- _deref_pbuz1=vbuxx - txa - ldy #0 - sta (pointYpos1_return),y - //SEG140 [67] (byte) init_points::pos#2 ← (byte) init_points::pos#1 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuxx=vbuxx_plus_vbuc1 - txa - axs #-[$a] - //SEG141 [68] (byte) init_points::i#1 ← ++ (byte) init_points::i#10 -- vbuz1=_inc_vbuz1 - inc i - //SEG142 [69] if((byte) init_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init_points::@1 -- vbuz1_neq_vbuc1_then_la1 - lda #NUM_POINTS-1+1 - cmp i + //SEG139 [66] *((byte*) init_points::pointXpos1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) init_points::pos#1 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #1 + sta (pointXpos1__0),y + //SEG140 [67] (byte) init_points::pos#2 ← (byte) init_points::pos#1 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuz1=vbuaa_plus_vbuc1 + clc + adc #$a + sta pos + //SEG141 [68] (byte) init_points::i#1 ← ++ (byte) init_points::i#10 -- vbuxx=_inc_vbuxx + inx + //SEG142 [69] if((byte) init_points::i#1!=(const byte) NUM_POINTS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init_points::@1 -- vbuxx_neq_vbuc1_then_la1 + cpx #NUM_POINTS-1+1 bne b1 //SEG143 init_points::@return //SEG144 [70] return diff --git a/src/test/ref/semi-struct-1.sym b/src/test/ref/semi-struct-1.sym index c6981bd3c..b1dd37e8e 100644 --- a/src/test/ref/semi-struct-1.sym +++ b/src/test/ref/semi-struct-1.sym @@ -12,17 +12,17 @@ (label) init_points::@return (label) init_points::getPoint1 (byte~) init_points::getPoint1_$0 -(byte) init_points::getPoint1_$0#0 reg byte a 22.0 +(byte) init_points::getPoint1_$0#0 reg byte y 11.0 (byte*~) init_points::getPoint1_$1 (byte) init_points::getPoint1_idx (byte*) init_points::getPoint1_return (byte) init_points::i -(byte) init_points::i#1 i zp ZP_BYTE:4 16.5 -(byte) init_points::i#10 i zp ZP_BYTE:4 3.666666666666667 +(byte) init_points::i#1 reg byte x 16.5 +(byte) init_points::i#10 reg byte x 3.666666666666667 (byte*) init_points::point (label) init_points::pointXpos1 (byte*~) init_points::pointXpos1_$0 -(byte*) init_points::pointXpos1_$0#0 pointXpos1_$0 zp ZP_WORD:2 8.25 +(byte*) init_points::pointXpos1_$0#0 pointXpos1_$0 zp ZP_WORD:3 4.4 (byte*~) init_points::pointXpos1_$1 (byte*) init_points::pointXpos1_point (byte*) init_points::pointXpos1_return @@ -31,11 +31,10 @@ (byte*~) init_points::pointYpos1_$1 (byte*) init_points::pointYpos1_point (byte*) init_points::pointYpos1_return -(byte*) init_points::pointYpos1_return#0 pointYpos1_return zp ZP_WORD:2 22.0 (byte) init_points::pos -(byte) init_points::pos#1 reg byte x 11.0 -(byte) init_points::pos#10 reg byte x 6.6000000000000005 -(byte) init_points::pos#2 reg byte x 7.333333333333333 +(byte) init_points::pos#1 reg byte a 11.0 +(byte) init_points::pos#10 pos zp ZP_BYTE:2 6.6000000000000005 +(byte) init_points::pos#2 pos zp ZP_BYTE:2 7.333333333333333 (void()) main() (label) main::@1 (label) main::@return @@ -43,13 +42,13 @@ (const byte[NUM_POINTS#0*SIZEOF_POINT#0]) points#0 points = { fill( NUM_POINTS#0*SIZEOF_POINT#0, 0) } (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 reg byte a 4.0 -(byte~) print_byte::$2 reg byte a 4.0 +(byte~) print_byte::$2 reg byte x 4.0 (label) print_byte::@1 (label) print_byte::@return (byte) print_byte::b -(byte) print_byte::b#0 b zp ZP_BYTE:4 22.0 -(byte) print_byte::b#1 b zp ZP_BYTE:4 22.0 -(byte) print_byte::b#2 b zp ZP_BYTE:4 6.5 +(byte) print_byte::b#0 reg byte x 22.0 +(byte) print_byte::b#1 reg byte x 22.0 +(byte) print_byte::b#2 reg byte x 6.5 (void()) print_char((byte) print_char::ch) (label) print_char::@return (byte) print_char::ch @@ -68,14 +67,14 @@ (label) print_cls::@1 (label) print_cls::@return (byte*) print_cls::sc -(byte*) print_cls::sc#1 sc zp ZP_WORD:2 16.5 -(byte*) print_cls::sc#2 sc zp ZP_WORD:2 16.5 +(byte*) print_cls::sc#1 sc zp ZP_WORD:3 16.5 +(byte*) print_cls::sc#2 sc zp ZP_WORD:3 16.5 (byte[]) print_hextab (const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef" (byte*) print_line_cursor -(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:2 46.42857142857143 -(byte*) print_line_cursor#11 print_line_cursor zp ZP_WORD:2 204.0 -(byte*) print_line_cursor#24 print_line_cursor zp ZP_WORD:2 1.0 +(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:3 46.42857142857143 +(byte*) print_line_cursor#11 print_line_cursor zp ZP_WORD:3 204.0 +(byte*) print_line_cursor#24 print_line_cursor zp ZP_WORD:3 1.0 (void()) print_ln() (label) print_ln::@1 (label) print_ln::@return @@ -90,17 +89,17 @@ (label) print_points::@return (label) print_points::getPoint1 (byte~) print_points::getPoint1_$0 -(byte) print_points::getPoint1_$0#0 reg byte a 22.0 +(byte) print_points::getPoint1_$0#0 reg byte y 11.0 (byte*~) print_points::getPoint1_$1 (byte) print_points::getPoint1_idx (byte*) print_points::getPoint1_return (byte) print_points::i -(byte) print_points::i#1 reg byte x 11.0 -(byte) print_points::i#10 reg byte x 2.5384615384615383 +(byte) print_points::i#1 i zp ZP_BYTE:2 11.0 +(byte) print_points::i#10 i zp ZP_BYTE:2 2.5384615384615383 (byte*) print_points::point (label) print_points::pointXpos1 (byte*~) print_points::pointXpos1_$0 -(byte*) print_points::pointXpos1_$0#0 pointXpos1_$0 zp ZP_WORD:9 5.5 +(byte*) print_points::pointXpos1_$0#0 pointXpos1_$0 zp ZP_WORD:9 3.142857142857143 (byte*~) print_points::pointXpos1_$1 (byte*) print_points::pointXpos1_point (byte*) print_points::pointXpos1_return @@ -109,7 +108,6 @@ (byte*~) print_points::pointYpos1_$1 (byte*) print_points::pointYpos1_point (byte*) print_points::pointYpos1_return -(byte*) print_points::pointYpos1_return#0 pointYpos1_return zp ZP_WORD:9 22.0 (const string) print_points::str str = (string) " @" (byte*) print_screen (void()) print_str((byte*) print_str::str) @@ -120,16 +118,16 @@ (byte*) print_str::str#0 str zp ZP_WORD:7 202.0 (byte*) print_str::str#2 str zp ZP_WORD:7 101.0 -reg byte x [ print_points::i#10 print_points::i#1 ] -zp ZP_WORD:2 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 init_points::pointXpos1_$0#0 init_points::pointYpos1_return#0 ] -zp ZP_BYTE:4 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 init_points::i#10 init_points::i#1 ] +zp ZP_BYTE:2 [ print_points::i#10 print_points::i#1 init_points::pos#10 init_points::pos#2 ] +zp ZP_WORD:3 [ print_line_cursor#11 print_line_cursor#24 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 init_points::pointXpos1_$0#0 ] +reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] zp ZP_WORD:5 [ print_char_cursor#28 print_char_cursor#42 print_char_cursor#45 print_char_cursor#60 print_char_cursor#2 print_char_cursor#29 print_char_cursor#1 ] zp ZP_WORD:7 [ print_str::str#2 print_str::str#0 ] -reg byte x [ init_points::pos#10 init_points::pos#2 ] -reg byte a [ print_points::getPoint1_$0#0 ] -zp ZP_WORD:9 [ print_points::pointXpos1_$0#0 print_points::pointYpos1_return#0 ] +reg byte x [ init_points::i#10 init_points::i#1 ] +reg byte y [ print_points::getPoint1_$0#0 ] +zp ZP_WORD:9 [ print_points::pointXpos1_$0#0 ] reg byte a [ print_byte::$0 ] -reg byte a [ print_byte::$2 ] -reg byte a [ init_points::getPoint1_$0#0 ] -reg byte x [ init_points::pos#1 ] +reg byte x [ print_byte::$2 ] +reg byte y [ init_points::getPoint1_$0#0 ] +reg byte a [ init_points::pos#1 ] diff --git a/src/test/ref/semi-struct-2.asm b/src/test/ref/semi-struct-2.asm index c42f38cb9..0429bcc2f 100644 --- a/src/test/ref/semi-struct-2.asm +++ b/src/test/ref/semi-struct-2.asm @@ -34,7 +34,7 @@ // The maximal number of files .const MAX_FILES = $90 .label print_char_cursor = 6 - .label print_line_cursor = $b + .label print_line_cursor = $a .label print_line_cursor_32 = 2 .label print_line_cursor_63 = 2 .label print_line_cursor_159 = 2 @@ -61,8 +61,8 @@ main: { .const fileEntry2_idx = 2 .label fileEntry1__0 = 4 .label entry1 = 4 - .label fileEntry2__0 = 9 - .label entry2 = 9 + .label fileEntry2__0 = 8 + .label entry2 = 8 jsr keyboard_init ldx #fileEntry1_idx jsr mul8u @@ -90,15 +90,13 @@ main: { sta initEntry.entry lda entry1+1 sta initEntry.entry+1 - lda #0 - sta initEntry.n + ldx #0 jsr initEntry lda entry2 sta initEntry.entry lda entry2+1 sta initEntry.entry+1 - lda #$80 - sta initEntry.n + ldx #$11 jsr initEntry jsr print_cls lda #<$400 @@ -304,23 +302,6 @@ print_ln: { printEntry: { .label entry = 4 .label entryBufDisk1__0 = 4 - .label entryBufDisk1_return = 2 - .label entryBufEdit1__0 = 2 - .label entryBufEdit1_return = 2 - .label entryTsLen1__0 = 2 - .label entryTsLen1_return = 2 - .label entryTsOrder1__0 = 2 - .label entryTsOrder1_return = 2 - .label entryTLastLink1_return = 2 - .label entrySLastLink1_return = 2 - .label entryBFlag1_return = 2 - .label entryBError1_return = 2 - .label entryUCross1__0 = 2 - .label entryUCross1_return = 2 - .label entryBAddrLo1_return = 2 - .label entryBAddrHi1_return = 2 - .label entryTHi1_return = 2 - .label entryTLo1_return = 4 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 @@ -330,17 +311,12 @@ printEntry: { lda #>str sta print_str.str+1 jsr print_str - lda entryBufDisk1__0 - sta entryBufDisk1_return - lda entryBufDisk1__0+1 - sta entryBufDisk1_return+1 ldy #0 - lda (print_word.w),y - tax + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w jsr print_word lda print_line_cursor sta print_line_cursor_163 @@ -356,20 +332,12 @@ printEntry: { lda #>str1 sta print_str.str+1 jsr print_str - lda entryBufDisk1__0 - clc - adc #2 - sta entryBufEdit1__0 - lda entryBufDisk1__0+1 - adc #0 - sta entryBufEdit1__0+1 - ldy #0 - lda (print_word.w),y - tax + ldy #2 + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w jsr print_word lda print_line_cursor sta print_line_cursor_164 @@ -385,20 +353,12 @@ printEntry: { lda #>str2 sta print_str.str+1 jsr print_str - lda #4 - clc - adc entryBufDisk1__0 - sta entryTsLen1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsLen1__0+1 - ldy #0 - lda (print_word.w),y - tax + ldy #4 + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w jsr print_word lda print_line_cursor sta print_line_cursor_165 @@ -414,20 +374,12 @@ printEntry: { lda #>str3 sta print_str.str+1 jsr print_str - lda #6 - clc - adc entryBufDisk1__0 - sta entryTsOrder1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsOrder1__0+1 - ldy #0 - lda (print_word.w),y - tax + ldy #6 + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w jsr print_word lda print_line_cursor sta print_line_cursor_166 @@ -443,15 +395,8 @@ printEntry: { lda #>str4 sta print_str.str+1 jsr print_str - lda #8 - clc - adc entryBufDisk1__0 - sta entryTLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLastLink1_return+1 - ldy #0 - lda (entryTLastLink1_return),y + ldy #8 + lda (entryBufDisk1__0),y tax jsr print_byte lda print_line_cursor @@ -468,15 +413,8 @@ printEntry: { lda #>str5 sta print_str.str+1 jsr print_str - lda #9 - clc - adc entryBufDisk1__0 - sta entrySLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entrySLastLink1_return+1 - ldy #0 - lda (entrySLastLink1_return),y + ldy #9 + lda (entryBufDisk1__0),y tax jsr print_byte lda print_line_cursor @@ -493,15 +431,8 @@ printEntry: { lda #>str6 sta print_str.str+1 jsr print_str - lda #$a - clc - adc entryBufDisk1__0 - sta entryBFlag1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBFlag1_return+1 - ldy #0 - lda (entryBFlag1_return),y + ldy #$a + lda (entryBufDisk1__0),y tax jsr print_byte lda print_line_cursor @@ -518,15 +449,8 @@ printEntry: { lda #>str7 sta print_str.str+1 jsr print_str - lda #$b - clc - adc entryBufDisk1__0 - sta entryBError1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBError1_return+1 - ldy #0 - lda (entryBError1_return),y + ldy #$b + lda (entryBufDisk1__0),y tax jsr print_byte lda print_line_cursor @@ -543,20 +467,12 @@ printEntry: { lda #>str8 sta print_str.str+1 jsr print_str - lda #$c - clc - adc entryBufDisk1__0 - sta entryUCross1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryUCross1__0+1 - ldy #0 - lda (print_word.w),y - tax + ldy #$c + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w jsr print_word lda print_line_cursor sta print_line_cursor_171 @@ -572,15 +488,8 @@ printEntry: { lda #>str9 sta print_str.str+1 jsr print_str - lda #$e - clc - adc entryBufDisk1__0 - sta entryBAddrLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrLo1_return+1 - ldy #0 - lda (entryBAddrLo1_return),y + ldy #$e + lda (entryBufDisk1__0),y tax jsr print_byte lda print_line_cursor @@ -597,15 +506,8 @@ printEntry: { lda #>str10 sta print_str.str+1 jsr print_str - lda #$f - clc - adc entryBufDisk1__0 - sta entryBAddrHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrHi1_return+1 - ldy #0 - lda (entryBAddrHi1_return),y + ldy #$f + lda (entryBufDisk1__0),y tax jsr print_byte lda print_line_cursor @@ -622,15 +524,8 @@ printEntry: { lda #>str11 sta print_str.str+1 jsr print_str - lda #$10 - clc - adc entryBufDisk1__0 - sta entryTHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTHi1_return+1 - ldy #0 - lda (entryTHi1_return),y + ldy #$10 + lda (entryBufDisk1__0),y tax jsr print_byte lda print_line_cursor @@ -647,15 +542,8 @@ printEntry: { lda #>str12 sta print_str.str+1 jsr print_str - lda #$11 - clc - adc entryTLo1_return - sta entryTLo1_return - bcc !+ - inc entryTLo1_return+1 - !: - ldy #0 - lda (entryTLo1_return),y + ldy #$11 + lda (entryBufDisk1__0),y tax jsr print_byte lda print_line_cursor @@ -720,198 +608,128 @@ print_word: { } // Set all values in the passed struct // Sets the values to n, n+1, n... to help test that everything works as intended -// initEntry(byte* zeropage(2) entry, byte zeropage(8) n) +// initEntry(byte* zeropage(2) entry, byte register(X) n) initEntry: { + .label _1 = 6 + .label _3 = 6 + .label _5 = 6 + .label _7 = 6 + .label _17 = 6 .label entry = 2 .label entryBufDisk1__0 = 2 - .label entryBufDisk1_return = 6 - .label entryBufEdit1__0 = 6 - .label entryBufEdit1_return = 6 - .label entryTsLen1__0 = 6 - .label entryTsLen1_return = 6 - .label entryTsOrder1__0 = 6 - .label entryTsOrder1_return = 6 - .label entryTLastLink1_return = 6 - .label entrySLastLink1_return = 6 - .label entryBFlag1_return = 6 - .label entryBError1_return = 6 - .label entryUCross1__0 = 6 - .label entryUCross1_return = 6 - .label entryBAddrLo1_return = 6 - .label entryBAddrHi1_return = 6 - .label entryTHi1_return = 6 - .label entryTLo1_return = 2 - .label n = 8 - lda entryBufDisk1__0 - sta entryBufDisk1_return - lda entryBufDisk1__0+1 - sta entryBufDisk1_return+1 - lda n + txa clc - adc #1 - ldy #0 - sta (entryBufDisk1_return),y - tya - iny - sta (entryBufDisk1_return),y - lda entryBufDisk1__0 - clc - adc #2 - sta entryBufEdit1__0 - lda entryBufDisk1__0+1 + adc #<$1111 + sta _1 + lda #>$1111 adc #0 - sta entryBufEdit1__0+1 - lda n - clc - adc #2 + sta _1+1 ldy #0 - sta (entryBufEdit1_return),y - tya + lda _1 + sta (entryBufDisk1__0),y iny - sta (entryBufEdit1_return),y - lda #4 + lda _1+1 + sta (entryBufDisk1__0),y + txa clc - adc entryBufDisk1__0 - sta entryTsLen1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsLen1__0+1 - lda #3 - clc - adc n - ldy #0 - sta (entryTsLen1_return),y - tya + adc #<$2222 + sta _3 + lda #>$2222 + adc #0 + sta _3+1 + ldy #2 + lda _3 + sta (entryBufDisk1__0),y iny - sta (entryTsLen1_return),y - lda #6 + lda _3+1 + sta (entryBufDisk1__0),y + txa clc - adc entryBufDisk1__0 - sta entryTsOrder1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsOrder1__0+1 - lda #4 - clc - adc n - ldy #0 - sta (entryTsOrder1_return),y - tya + adc #<$3333 + sta _5 + lda #>$3333 + adc #0 + sta _5+1 + ldy #4 + lda _5 + sta (entryBufDisk1__0),y iny - sta (entryTsOrder1_return),y - lda #8 + lda _5+1 + sta (entryBufDisk1__0),y + txa clc - adc entryBufDisk1__0 - sta entryTLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLastLink1_return+1 - lda #5 - clc - adc n - ldy #0 - sta (entryTLastLink1_return),y - lda #9 - clc - adc entryBufDisk1__0 - sta entrySLastLink1_return - tya - adc entryBufDisk1__0+1 - sta entrySLastLink1_return+1 - lda #6 - clc - adc n - sta (entrySLastLink1_return),y - lda #$a - clc - adc entryBufDisk1__0 - sta entryBFlag1_return - tya - adc entryBufDisk1__0+1 - sta entryBFlag1_return+1 - lda #7 - clc - adc n - sta (entryBFlag1_return),y - lda #$b - clc - adc entryBufDisk1__0 - sta entryBError1_return - tya - adc entryBufDisk1__0+1 - sta entryBError1_return+1 - lda #8 - clc - adc n - sta (entryBError1_return),y - lda #$c - clc - adc entryBufDisk1__0 - sta entryUCross1__0 - tya - adc entryBufDisk1__0+1 - sta entryUCross1__0+1 - lda #9 - clc - adc n - sta (entryUCross1_return),y - tya + adc #<$4444 + sta _7 + lda #>$4444 + adc #0 + sta _7+1 + ldy #6 + lda _7 + sta (entryBufDisk1__0),y iny - sta (entryUCross1_return),y - lda #$e + lda _7+1 + sta (entryBufDisk1__0),y + txa clc - adc entryBufDisk1__0 - sta entryBAddrLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrLo1_return+1 - lda #$a + adc #$55 + ldy #8 + sta (entryBufDisk1__0),y + txa clc - adc n - ldy #0 - sta (entryBAddrLo1_return),y - lda #$f + adc #$66 + ldy #9 + sta (entryBufDisk1__0),y + txa clc - adc entryBufDisk1__0 - sta entryBAddrHi1_return - tya - adc entryBufDisk1__0+1 - sta entryBAddrHi1_return+1 - lda #$b + adc #$77 + ldy #$a + sta (entryBufDisk1__0),y + txa clc - adc n - sta (entryBAddrHi1_return),y - lda #$10 + adc #$88 + ldy #$b + sta (entryBufDisk1__0),y + txa clc - adc entryBufDisk1__0 - sta entryTHi1_return - tya - adc entryBufDisk1__0+1 - sta entryTHi1_return+1 - lda #$c + adc #<$9999 + sta _17 + lda #>$9999 + adc #0 + sta _17+1 + ldy #$c + lda _17 + sta (entryBufDisk1__0),y + iny + lda _17+1 + sta (entryBufDisk1__0),y + txa clc - adc n - sta (entryTHi1_return),y - lda #$11 + adc #$aa + ldy #$e + sta (entryBufDisk1__0),y + txa clc - adc entryTLo1_return - sta entryTLo1_return - bcc !+ - inc entryTLo1_return+1 - !: - lda #$d + adc #$bb + ldy #$f + sta (entryBufDisk1__0),y + txa clc - adc n - ldy #0 - sta (entryTLo1_return),y + adc #$cc + ldy #$10 + sta (entryBufDisk1__0),y + txa + clc + adc #$dd + ldy #$11 + sta (entryBufDisk1__0),y rts } // Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word // mul8u(byte register(X) a) mul8u: { .label mb = 2 - .label res = 9 - .label return = 9 + .label res = 8 + .label return = 8 lda #SIZEOF_ENTRY sta mb lda #0 diff --git a/src/test/ref/semi-struct-2.cfg b/src/test/ref/semi-struct-2.cfg index 6b7f70c48..8eaabe206 100644 --- a/src/test/ref/semi-struct-2.cfg +++ b/src/test/ref/semi-struct-2.cfg @@ -191,10 +191,10 @@ printEntry: scope:[printEntry] from main::@13 main::@20 [95] call print_str to:printEntry::entryBufDisk1 printEntry::entryBufDisk1: scope:[printEntry] from printEntry - [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 + [96] phi() to:printEntry::@1 printEntry::@1: scope:[printEntry] from printEntry::entryBufDisk1 - [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) + [97] (word~) print_word::w#7 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0) [98] call print_word to:printEntry::@14 printEntry::@14: scope:[printEntry] from printEntry::@1 @@ -206,354 +206,346 @@ printEntry::@15: scope:[printEntry] from printEntry::@14 [102] call print_str to:printEntry::entryBufEdit1 printEntry::entryBufEdit1: scope:[printEntry] from printEntry::@15 - [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 - [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 + [103] phi() to:printEntry::@2 printEntry::@2: scope:[printEntry] from printEntry::entryBufEdit1 - [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) - [106] call print_word + [104] (word~) print_word::w#8 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) + [105] call print_word to:printEntry::@16 printEntry::@16: scope:[printEntry] from printEntry::@2 - [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 - [108] call print_ln + [106] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 + [107] call print_ln to:printEntry::@17 printEntry::@17: scope:[printEntry] from printEntry::@16 - [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 - [110] call print_str + [108] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 + [109] call print_str to:printEntry::entryTsLen1 printEntry::entryTsLen1: scope:[printEntry] from printEntry::@17 - [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 - [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 + [110] phi() to:printEntry::@3 printEntry::@3: scope:[printEntry] from printEntry::entryTsLen1 - [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) - [114] call print_word + [111] (word) print_word::w#2 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) + [112] call print_word to:printEntry::@18 printEntry::@18: scope:[printEntry] from printEntry::@3 - [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 - [116] call print_ln + [113] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 + [114] call print_ln to:printEntry::@19 printEntry::@19: scope:[printEntry] from printEntry::@18 - [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 - [118] call print_str + [115] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 + [116] call print_str to:printEntry::entryTsOrder1 printEntry::entryTsOrder1: scope:[printEntry] from printEntry::@19 - [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 - [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 + [117] phi() to:printEntry::@4 printEntry::@4: scope:[printEntry] from printEntry::entryTsOrder1 - [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) - [122] call print_word + [118] (word~) print_word::w#10 ← (word)*((word**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) + [119] call print_word to:printEntry::@20 printEntry::@20: scope:[printEntry] from printEntry::@4 - [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 - [124] call print_ln + [120] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 + [121] call print_ln to:printEntry::@21 printEntry::@21: scope:[printEntry] from printEntry::@20 - [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 - [126] call print_str + [122] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 + [123] call print_str to:printEntry::entryTLastLink1 printEntry::entryTLastLink1: scope:[printEntry] from printEntry::@21 - [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 + [124] phi() to:printEntry::@5 printEntry::@5: scope:[printEntry] from printEntry::entryTLastLink1 - [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) - [129] call print_byte + [125] (byte) print_byte::b#2 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) + [126] call print_byte to:printEntry::@22 printEntry::@22: scope:[printEntry] from printEntry::@5 - [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 - [131] call print_ln + [127] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 + [128] call print_ln to:printEntry::@23 printEntry::@23: scope:[printEntry] from printEntry::@22 - [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 - [133] call print_str + [129] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 + [130] call print_str to:printEntry::entrySLastLink1 printEntry::entrySLastLink1: scope:[printEntry] from printEntry::@23 - [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 + [131] phi() to:printEntry::@6 printEntry::@6: scope:[printEntry] from printEntry::entrySLastLink1 - [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) - [136] call print_byte + [132] (byte) print_byte::b#3 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) + [133] call print_byte to:printEntry::@24 printEntry::@24: scope:[printEntry] from printEntry::@6 - [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 - [138] call print_ln + [134] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 + [135] call print_ln to:printEntry::@25 printEntry::@25: scope:[printEntry] from printEntry::@24 - [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 - [140] call print_str + [136] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 + [137] call print_str to:printEntry::entryBFlag1 printEntry::entryBFlag1: scope:[printEntry] from printEntry::@25 - [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a + [138] phi() to:printEntry::@7 printEntry::@7: scope:[printEntry] from printEntry::entryBFlag1 - [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) - [143] call print_byte + [139] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) + [140] call print_byte to:printEntry::@26 printEntry::@26: scope:[printEntry] from printEntry::@7 - [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 - [145] call print_ln + [141] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 + [142] call print_ln to:printEntry::@27 printEntry::@27: scope:[printEntry] from printEntry::@26 - [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 - [147] call print_str + [143] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 + [144] call print_str to:printEntry::entryBError1 printEntry::entryBError1: scope:[printEntry] from printEntry::@27 - [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b + [145] phi() to:printEntry::@8 printEntry::@8: scope:[printEntry] from printEntry::entryBError1 - [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) - [150] call print_byte + [146] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) + [147] call print_byte to:printEntry::@28 printEntry::@28: scope:[printEntry] from printEntry::@8 - [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 - [152] call print_ln + [148] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 + [149] call print_ln to:printEntry::@29 printEntry::@29: scope:[printEntry] from printEntry::@28 - [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 - [154] call print_str + [150] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 + [151] call print_str to:printEntry::entryUCross1 printEntry::entryUCross1: scope:[printEntry] from printEntry::@29 - [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c - [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 + [152] phi() to:printEntry::@9 printEntry::@9: scope:[printEntry] from printEntry::entryUCross1 - [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) - [158] call print_word + [153] (word) print_word::w#4 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) + [154] call print_word to:printEntry::@30 printEntry::@30: scope:[printEntry] from printEntry::@9 - [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 - [160] call print_ln + [155] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 + [156] call print_ln to:printEntry::@31 printEntry::@31: scope:[printEntry] from printEntry::@30 - [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 - [162] call print_str + [157] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 + [158] call print_str to:printEntry::entryBAddrLo1 printEntry::entryBAddrLo1: scope:[printEntry] from printEntry::@31 - [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e + [159] phi() to:printEntry::@10 printEntry::@10: scope:[printEntry] from printEntry::entryBAddrLo1 - [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) - [165] call print_byte + [160] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) + [161] call print_byte to:printEntry::@32 printEntry::@32: scope:[printEntry] from printEntry::@10 - [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 - [167] call print_ln + [162] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 + [163] call print_ln to:printEntry::@33 printEntry::@33: scope:[printEntry] from printEntry::@32 - [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 - [169] call print_str + [164] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 + [165] call print_str to:printEntry::entryBAddrHi1 printEntry::entryBAddrHi1: scope:[printEntry] from printEntry::@33 - [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f + [166] phi() to:printEntry::@11 printEntry::@11: scope:[printEntry] from printEntry::entryBAddrHi1 - [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) - [172] call print_byte + [167] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) + [168] call print_byte to:printEntry::@34 printEntry::@34: scope:[printEntry] from printEntry::@11 - [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 - [174] call print_ln + [169] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 + [170] call print_ln to:printEntry::@35 printEntry::@35: scope:[printEntry] from printEntry::@34 - [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 - [176] call print_str + [171] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 + [172] call print_str to:printEntry::entryTHi1 printEntry::entryTHi1: scope:[printEntry] from printEntry::@35 - [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 + [173] phi() to:printEntry::@12 printEntry::@12: scope:[printEntry] from printEntry::entryTHi1 - [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) - [179] call print_byte + [174] (byte) print_byte::b#8 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) + [175] call print_byte to:printEntry::@36 printEntry::@36: scope:[printEntry] from printEntry::@12 - [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 - [181] call print_ln + [176] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 + [177] call print_ln to:printEntry::@37 printEntry::@37: scope:[printEntry] from printEntry::@36 - [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 - [183] call print_str + [178] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 + [179] call print_str to:printEntry::entryTLo1 printEntry::entryTLo1: scope:[printEntry] from printEntry::@37 - [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 + [180] phi() to:printEntry::@13 printEntry::@13: scope:[printEntry] from printEntry::entryTLo1 - [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) - [186] call print_byte + [181] (byte) print_byte::b#9 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) + [182] call print_byte to:printEntry::@38 printEntry::@38: scope:[printEntry] from printEntry::@13 - [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 - [188] call print_ln + [183] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 + [184] call print_ln to:printEntry::@return printEntry::@return: scope:[printEntry] from printEntry::@38 - [189] return + [185] return to:@return print_byte: scope:[print_byte] from printEntry::@10 printEntry::@11 printEntry::@12 printEntry::@13 printEntry::@5 printEntry::@6 printEntry::@7 printEntry::@8 print_word print_word::@1 - [190] (byte*) print_char_cursor#145 ← phi( printEntry::@10/(byte*) print_char_cursor#142 printEntry::@11/(byte*) print_char_cursor#142 printEntry::@12/(byte*) print_char_cursor#142 printEntry::@13/(byte*) print_char_cursor#142 printEntry::@5/(byte*) print_char_cursor#142 printEntry::@6/(byte*) print_char_cursor#142 printEntry::@7/(byte*) print_char_cursor#142 printEntry::@8/(byte*) print_char_cursor#142 print_word/(byte*) print_char_cursor#142 print_word::@1/(byte*) print_char_cursor#11 ) - [190] (byte) print_byte::b#10 ← phi( printEntry::@10/(byte) print_byte::b#6 printEntry::@11/(byte) print_byte::b#7 printEntry::@12/(byte) print_byte::b#8 printEntry::@13/(byte) print_byte::b#9 printEntry::@5/(byte) print_byte::b#2 printEntry::@6/(byte) print_byte::b#3 printEntry::@7/(byte) print_byte::b#4 printEntry::@8/(byte) print_byte::b#5 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) - [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 - [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) - [193] call print_char + [186] (byte*) print_char_cursor#145 ← phi( printEntry::@10/(byte*) print_char_cursor#142 printEntry::@11/(byte*) print_char_cursor#142 printEntry::@12/(byte*) print_char_cursor#142 printEntry::@13/(byte*) print_char_cursor#142 printEntry::@5/(byte*) print_char_cursor#142 printEntry::@6/(byte*) print_char_cursor#142 printEntry::@7/(byte*) print_char_cursor#142 printEntry::@8/(byte*) print_char_cursor#142 print_word/(byte*) print_char_cursor#142 print_word::@1/(byte*) print_char_cursor#11 ) + [186] (byte) print_byte::b#10 ← phi( printEntry::@10/(byte) print_byte::b#6 printEntry::@11/(byte) print_byte::b#7 printEntry::@12/(byte) print_byte::b#8 printEntry::@13/(byte) print_byte::b#9 printEntry::@5/(byte) print_byte::b#2 printEntry::@6/(byte) print_byte::b#3 printEntry::@7/(byte) print_byte::b#4 printEntry::@8/(byte) print_byte::b#5 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) + [187] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + [188] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) + [189] call print_char to:print_byte::@1 print_byte::@1: scope:[print_byte] from print_byte - [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f - [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) - [196] call print_char + [190] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f + [191] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) + [192] call print_char to:print_byte::@return print_byte::@return: scope:[print_byte] from print_byte::@1 - [197] return + [193] return to:@return print_char: scope:[print_char] from print_byte print_byte::@1 - [198] (byte*) print_char_cursor#82 ← phi( print_byte/(byte*) print_char_cursor#145 print_byte::@1/(byte*) print_char_cursor#11 ) - [198] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) - [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 - [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 + [194] (byte*) print_char_cursor#82 ← phi( print_byte/(byte*) print_char_cursor#145 print_byte::@1/(byte*) print_char_cursor#11 ) + [194] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) + [195] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 + [196] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 to:print_char::@return print_char::@return: scope:[print_char] from print_char - [201] return + [197] return to:@return print_word: scope:[print_word] from printEntry::@1 printEntry::@2 printEntry::@3 printEntry::@4 printEntry::@9 - [202] (word) print_word::w#5 ← phi( printEntry::@1/(word~) print_word::w#7 printEntry::@2/(word~) print_word::w#8 printEntry::@3/(word) print_word::w#2 printEntry::@4/(word~) print_word::w#10 printEntry::@9/(word) print_word::w#4 ) - [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 - [204] call print_byte + [198] (word) print_word::w#5 ← phi( printEntry::@1/(word~) print_word::w#7 printEntry::@2/(word~) print_word::w#8 printEntry::@3/(word) print_word::w#2 printEntry::@4/(word~) print_word::w#10 printEntry::@9/(word) print_word::w#4 ) + [199] (byte) print_byte::b#0 ← > (word) print_word::w#5 + [200] call print_byte to:print_word::@1 print_word::@1: scope:[print_word] from print_word - [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 - [206] call print_byte + [201] (byte) print_byte::b#1 ← < (word) print_word::w#5 + [202] call print_byte to:print_word::@return print_word::@return: scope:[print_word] from print_word::@1 - [207] return + [203] return to:@return initEntry: scope:[initEntry] from main::@5 main::@8 - [208] (byte) initEntry::n#10 ← phi( main::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@8/(byte/word/signed word/dword/signed dword) $80 ) - [208] (byte*) initEntry::entryBufDisk1_$0#0 ← phi( main::@5/(byte*) initEntry::entry#0 main::@8/(byte*) initEntry::entry#1 ) + [204] (byte) initEntry::n#10 ← phi( main::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@8/(byte/signed byte/word/signed word/dword/signed dword) $11 ) + [204] (byte*) initEntry::entryBufDisk1_$0#0 ← phi( main::@5/(byte*) initEntry::entry#0 main::@8/(byte*) initEntry::entry#1 ) to:initEntry::entryBufDisk1 initEntry::entryBufDisk1: scope:[initEntry] from initEntry - [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 + [205] phi() to:initEntry::@1 initEntry::@1: scope:[initEntry] from initEntry::entryBufDisk1 - [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 + [206] (word/signed word/dword/signed dword~) initEntry::$1 ← (word/signed word/dword/signed dword) $1111 + (byte) initEntry::n#10 + [207] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$1 to:initEntry::entryBufEdit1 initEntry::entryBufEdit1: scope:[initEntry] from initEntry::@1 - [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 - [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 + [208] phi() to:initEntry::@2 initEntry::@2: scope:[initEntry] from initEntry::entryBufEdit1 - [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 - [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 + [209] (word/signed word/dword/signed dword~) initEntry::$3 ← (word/signed word/dword/signed dword) $2222 + (byte) initEntry::n#10 + [210] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$3 to:initEntry::entryTsLen1 initEntry::entryTsLen1: scope:[initEntry] from initEntry::@2 - [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 - [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 + [211] phi() to:initEntry::@3 initEntry::@3: scope:[initEntry] from initEntry::entryTsLen1 - [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 - [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 + [212] (word/signed word/dword/signed dword~) initEntry::$5 ← (word/signed word/dword/signed dword) $3333 + (byte) initEntry::n#10 + [213] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) ← (word/signed word/dword/signed dword~) initEntry::$5 to:initEntry::entryTsOrder1 initEntry::entryTsOrder1: scope:[initEntry] from initEntry::@3 - [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 - [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 + [214] phi() to:initEntry::@4 initEntry::@4: scope:[initEntry] from initEntry::entryTsOrder1 - [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 - [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 + [215] (word/signed word/dword/signed dword~) initEntry::$7 ← (word/signed word/dword/signed dword) $4444 + (byte) initEntry::n#10 + [216] *((word**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← ((word*)) (word/signed word/dword/signed dword~) initEntry::$7 to:initEntry::entryTLastLink1 initEntry::entryTLastLink1: scope:[initEntry] from initEntry::@4 - [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 + [217] phi() to:initEntry::@5 initEntry::@5: scope:[initEntry] from initEntry::entryTLastLink1 - [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 - [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 + [218] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte/signed byte/word/signed word/dword/signed dword) $55 + (byte) initEntry::n#10 + [219] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 to:initEntry::entrySLastLink1 initEntry::entrySLastLink1: scope:[initEntry] from initEntry::@5 - [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 + [220] phi() to:initEntry::@6 initEntry::@6: scope:[initEntry] from initEntry::entrySLastLink1 - [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 - [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 + [221] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte/signed byte/word/signed word/dword/signed dword) $66 + (byte) initEntry::n#10 + [222] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 to:initEntry::entryBFlag1 initEntry::entryBFlag1: scope:[initEntry] from initEntry::@6 - [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a + [223] phi() to:initEntry::@7 initEntry::@7: scope:[initEntry] from initEntry::entryBFlag1 - [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 - [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 + [224] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte/signed byte/word/signed word/dword/signed dword) $77 + (byte) initEntry::n#10 + [225] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 to:initEntry::entryBError1 initEntry::entryBError1: scope:[initEntry] from initEntry::@7 - [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b + [226] phi() to:initEntry::@8 initEntry::@8: scope:[initEntry] from initEntry::entryBError1 - [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 - [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 + [227] (byte/word/signed word/dword/signed dword~) initEntry::$15 ← (byte/word/signed word/dword/signed dword) $88 + (byte) initEntry::n#10 + [228] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) ← (byte/word/signed word/dword/signed dword~) initEntry::$15 to:initEntry::entryUCross1 initEntry::entryUCross1: scope:[initEntry] from initEntry::@8 - [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c - [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 + [229] phi() to:initEntry::@9 initEntry::@9: scope:[initEntry] from initEntry::entryUCross1 - [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 - [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 + [230] (word/dword/signed dword~) initEntry::$17 ← (word/dword/signed dword) $9999 + (byte) initEntry::n#10 + [231] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) ← (word/dword/signed dword~) initEntry::$17 to:initEntry::entryBAddrLo1 initEntry::entryBAddrLo1: scope:[initEntry] from initEntry::@9 - [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e + [232] phi() to:initEntry::@10 initEntry::@10: scope:[initEntry] from initEntry::entryBAddrLo1 - [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a - [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 + [233] (byte/word/signed word/dword/signed dword~) initEntry::$19 ← (byte/word/signed word/dword/signed dword) $aa + (byte) initEntry::n#10 + [234] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) ← (byte/word/signed word/dword/signed dword~) initEntry::$19 to:initEntry::entryBAddrHi1 initEntry::entryBAddrHi1: scope:[initEntry] from initEntry::@10 - [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f + [235] phi() to:initEntry::@11 initEntry::@11: scope:[initEntry] from initEntry::entryBAddrHi1 - [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b - [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 + [236] (byte/word/signed word/dword/signed dword~) initEntry::$21 ← (byte/word/signed word/dword/signed dword) $bb + (byte) initEntry::n#10 + [237] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) ← (byte/word/signed word/dword/signed dword~) initEntry::$21 to:initEntry::entryTHi1 initEntry::entryTHi1: scope:[initEntry] from initEntry::@11 - [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 + [238] phi() to:initEntry::@12 initEntry::@12: scope:[initEntry] from initEntry::entryTHi1 - [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c - [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 + [239] (byte/word/signed word/dword/signed dword~) initEntry::$23 ← (byte/word/signed word/dword/signed dword) $cc + (byte) initEntry::n#10 + [240] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) ← (byte/word/signed word/dword/signed dword~) initEntry::$23 to:initEntry::entryTLo1 initEntry::entryTLo1: scope:[initEntry] from initEntry::@12 - [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 + [241] phi() to:initEntry::@13 initEntry::@13: scope:[initEntry] from initEntry::entryTLo1 - [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d - [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 + [242] (byte/word/signed word/dword/signed dword~) initEntry::$25 ← (byte/word/signed word/dword/signed dword) $dd + (byte) initEntry::n#10 + [243] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) ← (byte/word/signed word/dword/signed dword~) initEntry::$25 to:initEntry::@return initEntry::@return: scope:[initEntry] from initEntry::@13 - [252] return + [244] return to:@return mul8u: scope:[mul8u] from main::fileEntry1 main::fileEntry2 - [253] (byte) mul8u::a#6 ← phi( main::fileEntry1/(const byte) main::fileEntry1_idx#0 main::fileEntry2/(const byte) main::fileEntry2_idx#0 ) + [245] (byte) mul8u::a#6 ← phi( main::fileEntry1/(const byte) main::fileEntry1_idx#0 main::fileEntry2/(const byte) main::fileEntry2_idx#0 ) to:mul8u::@1 mul8u::@1: scope:[mul8u] from mul8u mul8u::@3 - [254] (word) mul8u::mb#2 ← phi( mul8u/((word))(const byte) SIZEOF_ENTRY#0 mul8u::@3/(word) mul8u::mb#1 ) - [254] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@3/(word) mul8u::res#6 ) - [254] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 ) - [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 + [246] (word) mul8u::mb#2 ← phi( mul8u/((word))(const byte) SIZEOF_ENTRY#0 mul8u::@3/(word) mul8u::mb#1 ) + [246] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@3/(word) mul8u::res#6 ) + [246] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 ) + [247] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 to:mul8u::@return mul8u::@return: scope:[mul8u] from mul8u::@1 - [256] return + [248] return to:@return mul8u::@2: scope:[mul8u] from mul8u::@1 - [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 - [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 + [249] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 + [250] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 to:mul8u::@4 mul8u::@4: scope:[mul8u] from mul8u::@2 - [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 + [251] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 to:mul8u::@3 mul8u::@3: scope:[mul8u] from mul8u::@2 mul8u::@4 - [260] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 ) - [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [252] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 ) + [253] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [254] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 to:mul8u::@1 keyboard_init: scope:[keyboard_init] from main - [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff - [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [255] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff + [256] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:keyboard_init::@return keyboard_init::@return: scope:[keyboard_init] from keyboard_init - [265] return + [257] return to:@return diff --git a/src/test/ref/semi-struct-2.log b/src/test/ref/semi-struct-2.log index 1630e5a11..625119629 100644 --- a/src/test/ref/semi-struct-2.log +++ b/src/test/ref/semi-struct-2.log @@ -381,7 +381,7 @@ main::@18: scope:[main] from main::@14 (byte*) print_screen#7 ← phi( main::@14/(byte*) print_screen#10 ) (byte*) main::entry2#1 ← phi( main::@14/(byte*) main::entry2#0 ) (byte*) initEntry::entry#1 ← (byte*) main::entry2#1 - (byte) initEntry::n#1 ← (byte/word/signed word/dword/signed dword) $80 + (byte) initEntry::n#1 ← (byte/signed byte/word/signed word/dword/signed dword) $11 call initEntry to:main::@19 main::@19: scope:[main] from main::@18 @@ -616,8 +616,8 @@ initEntry::@1: scope:[initEntry] from initEntry::entryBufDisk1_@return (byte) initEntry::n#2 ← phi( initEntry::entryBufDisk1_@return/(byte) initEntry::n#15 ) (byte**) initEntry::entryBufDisk1_return#3 ← phi( initEntry::entryBufDisk1_@return/(byte**) initEntry::entryBufDisk1_return#1 ) (byte**~) initEntry::$0 ← (byte**) initEntry::entryBufDisk1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#2 + (byte/signed byte/word/signed word/dword/signed dword) 1 - *((byte**~) initEntry::$0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 + (word/signed word/dword/signed dword~) initEntry::$1 ← (word/signed word/dword/signed dword) $1111 + (byte) initEntry::n#2 + *((byte**~) initEntry::$0) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$1 (byte*) initEntry::entryBufEdit1_entry#0 ← (byte*) initEntry::entry#3 to:initEntry::entryBufEdit1 initEntry::entryBufEdit1: scope:[initEntry] from initEntry::@1 @@ -639,8 +639,8 @@ initEntry::@2: scope:[initEntry] from initEntry::entryBufEdit1_@return (byte) initEntry::n#3 ← phi( initEntry::entryBufEdit1_@return/(byte) initEntry::n#16 ) (byte**) initEntry::entryBufEdit1_return#3 ← phi( initEntry::entryBufEdit1_@return/(byte**) initEntry::entryBufEdit1_return#1 ) (byte**~) initEntry::$2 ← (byte**) initEntry::entryBufEdit1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#3 + (byte/signed byte/word/signed word/dword/signed dword) 2 - *((byte**~) initEntry::$2) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 + (word/signed word/dword/signed dword~) initEntry::$3 ← (word/signed word/dword/signed dword) $2222 + (byte) initEntry::n#3 + *((byte**~) initEntry::$2) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$3 (byte*) initEntry::entryTsLen1_entry#0 ← (byte*) initEntry::entry#4 to:initEntry::entryTsLen1 initEntry::entryTsLen1: scope:[initEntry] from initEntry::@2 @@ -662,8 +662,8 @@ initEntry::@3: scope:[initEntry] from initEntry::entryTsLen1_@return (byte) initEntry::n#4 ← phi( initEntry::entryTsLen1_@return/(byte) initEntry::n#17 ) (word*) initEntry::entryTsLen1_return#3 ← phi( initEntry::entryTsLen1_@return/(word*) initEntry::entryTsLen1_return#1 ) (word*~) initEntry::$4 ← (word*) initEntry::entryTsLen1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#4 + (byte/signed byte/word/signed word/dword/signed dword) 3 - *((word*~) initEntry::$4) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 + (word/signed word/dword/signed dword~) initEntry::$5 ← (word/signed word/dword/signed dword) $3333 + (byte) initEntry::n#4 + *((word*~) initEntry::$4) ← (word/signed word/dword/signed dword~) initEntry::$5 (byte*) initEntry::entryTsOrder1_entry#0 ← (byte*) initEntry::entry#5 to:initEntry::entryTsOrder1 initEntry::entryTsOrder1: scope:[initEntry] from initEntry::@3 @@ -685,8 +685,8 @@ initEntry::@4: scope:[initEntry] from initEntry::entryTsOrder1_@return (byte) initEntry::n#5 ← phi( initEntry::entryTsOrder1_@return/(byte) initEntry::n#18 ) (word**) initEntry::entryTsOrder1_return#3 ← phi( initEntry::entryTsOrder1_@return/(word**) initEntry::entryTsOrder1_return#1 ) (word**~) initEntry::$6 ← (word**) initEntry::entryTsOrder1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#5 + (byte/signed byte/word/signed word/dword/signed dword) 4 - *((word**~) initEntry::$6) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 + (word/signed word/dword/signed dword~) initEntry::$7 ← (word/signed word/dword/signed dword) $4444 + (byte) initEntry::n#5 + *((word**~) initEntry::$6) ← ((word*)) (word/signed word/dword/signed dword~) initEntry::$7 (byte*) initEntry::entryTLastLink1_entry#0 ← (byte*) initEntry::entry#6 to:initEntry::entryTLastLink1 initEntry::entryTLastLink1: scope:[initEntry] from initEntry::@4 @@ -707,7 +707,7 @@ initEntry::@5: scope:[initEntry] from initEntry::entryTLastLink1_@return (byte) initEntry::n#6 ← phi( initEntry::entryTLastLink1_@return/(byte) initEntry::n#19 ) (byte*) initEntry::entryTLastLink1_return#3 ← phi( initEntry::entryTLastLink1_@return/(byte*) initEntry::entryTLastLink1_return#1 ) (byte*~) initEntry::$8 ← (byte*) initEntry::entryTLastLink1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#6 + (byte/signed byte/word/signed word/dword/signed dword) 5 + (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte/signed byte/word/signed word/dword/signed dword) $55 + (byte) initEntry::n#6 *((byte*~) initEntry::$8) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 (byte*) initEntry::entrySLastLink1_entry#0 ← (byte*) initEntry::entry#7 to:initEntry::entrySLastLink1 @@ -729,7 +729,7 @@ initEntry::@6: scope:[initEntry] from initEntry::entrySLastLink1_@return (byte) initEntry::n#7 ← phi( initEntry::entrySLastLink1_@return/(byte) initEntry::n#20 ) (byte*) initEntry::entrySLastLink1_return#3 ← phi( initEntry::entrySLastLink1_@return/(byte*) initEntry::entrySLastLink1_return#1 ) (byte*~) initEntry::$10 ← (byte*) initEntry::entrySLastLink1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#7 + (byte/signed byte/word/signed word/dword/signed dword) 6 + (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte/signed byte/word/signed word/dword/signed dword) $66 + (byte) initEntry::n#7 *((byte*~) initEntry::$10) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 (byte*) initEntry::entryBFlag1_entry#0 ← (byte*) initEntry::entry#8 to:initEntry::entryBFlag1 @@ -751,7 +751,7 @@ initEntry::@7: scope:[initEntry] from initEntry::entryBFlag1_@return (byte) initEntry::n#8 ← phi( initEntry::entryBFlag1_@return/(byte) initEntry::n#21 ) (byte*) initEntry::entryBFlag1_return#3 ← phi( initEntry::entryBFlag1_@return/(byte*) initEntry::entryBFlag1_return#1 ) (byte*~) initEntry::$12 ← (byte*) initEntry::entryBFlag1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#8 + (byte/signed byte/word/signed word/dword/signed dword) 7 + (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte/signed byte/word/signed word/dword/signed dword) $77 + (byte) initEntry::n#8 *((byte*~) initEntry::$12) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 (byte*) initEntry::entryBError1_entry#0 ← (byte*) initEntry::entry#9 to:initEntry::entryBError1 @@ -773,8 +773,8 @@ initEntry::@8: scope:[initEntry] from initEntry::entryBError1_@return (byte) initEntry::n#9 ← phi( initEntry::entryBError1_@return/(byte) initEntry::n#22 ) (byte*) initEntry::entryBError1_return#3 ← phi( initEntry::entryBError1_@return/(byte*) initEntry::entryBError1_return#1 ) (byte*~) initEntry::$14 ← (byte*) initEntry::entryBError1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#9 + (byte/signed byte/word/signed word/dword/signed dword) 8 - *((byte*~) initEntry::$14) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 + (byte/word/signed word/dword/signed dword~) initEntry::$15 ← (byte/word/signed word/dword/signed dword) $88 + (byte) initEntry::n#9 + *((byte*~) initEntry::$14) ← (byte/word/signed word/dword/signed dword~) initEntry::$15 (byte*) initEntry::entryUCross1_entry#0 ← (byte*) initEntry::entry#10 to:initEntry::entryUCross1 initEntry::entryUCross1: scope:[initEntry] from initEntry::@8 @@ -796,8 +796,8 @@ initEntry::@9: scope:[initEntry] from initEntry::entryUCross1_@return (byte) initEntry::n#10 ← phi( initEntry::entryUCross1_@return/(byte) initEntry::n#23 ) (word*) initEntry::entryUCross1_return#3 ← phi( initEntry::entryUCross1_@return/(word*) initEntry::entryUCross1_return#1 ) (word*~) initEntry::$16 ← (word*) initEntry::entryUCross1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 - *((word*~) initEntry::$16) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 + (word/dword/signed dword~) initEntry::$17 ← (word/dword/signed dword) $9999 + (byte) initEntry::n#10 + *((word*~) initEntry::$16) ← (word/dword/signed dword~) initEntry::$17 (byte*) initEntry::entryBAddrLo1_entry#0 ← (byte*) initEntry::entry#11 to:initEntry::entryBAddrLo1 initEntry::entryBAddrLo1: scope:[initEntry] from initEntry::@9 @@ -818,8 +818,8 @@ initEntry::@10: scope:[initEntry] from initEntry::entryBAddrLo1_@return (byte) initEntry::n#11 ← phi( initEntry::entryBAddrLo1_@return/(byte) initEntry::n#24 ) (byte*) initEntry::entryBAddrLo1_return#3 ← phi( initEntry::entryBAddrLo1_@return/(byte*) initEntry::entryBAddrLo1_return#1 ) (byte*~) initEntry::$18 ← (byte*) initEntry::entryBAddrLo1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#11 + (byte/signed byte/word/signed word/dword/signed dword) $a - *((byte*~) initEntry::$18) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 + (byte/word/signed word/dword/signed dword~) initEntry::$19 ← (byte/word/signed word/dword/signed dword) $aa + (byte) initEntry::n#11 + *((byte*~) initEntry::$18) ← (byte/word/signed word/dword/signed dword~) initEntry::$19 (byte*) initEntry::entryBAddrHi1_entry#0 ← (byte*) initEntry::entry#12 to:initEntry::entryBAddrHi1 initEntry::entryBAddrHi1: scope:[initEntry] from initEntry::@10 @@ -840,8 +840,8 @@ initEntry::@11: scope:[initEntry] from initEntry::entryBAddrHi1_@return (byte) initEntry::n#12 ← phi( initEntry::entryBAddrHi1_@return/(byte) initEntry::n#25 ) (byte*) initEntry::entryBAddrHi1_return#3 ← phi( initEntry::entryBAddrHi1_@return/(byte*) initEntry::entryBAddrHi1_return#1 ) (byte*~) initEntry::$20 ← (byte*) initEntry::entryBAddrHi1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#12 + (byte/signed byte/word/signed word/dword/signed dword) $b - *((byte*~) initEntry::$20) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 + (byte/word/signed word/dword/signed dword~) initEntry::$21 ← (byte/word/signed word/dword/signed dword) $bb + (byte) initEntry::n#12 + *((byte*~) initEntry::$20) ← (byte/word/signed word/dword/signed dword~) initEntry::$21 (byte*) initEntry::entryTHi1_entry#0 ← (byte*) initEntry::entry#13 to:initEntry::entryTHi1 initEntry::entryTHi1: scope:[initEntry] from initEntry::@11 @@ -862,8 +862,8 @@ initEntry::@12: scope:[initEntry] from initEntry::entryTHi1_@return (byte) initEntry::n#13 ← phi( initEntry::entryTHi1_@return/(byte) initEntry::n#26 ) (byte*) initEntry::entryTHi1_return#3 ← phi( initEntry::entryTHi1_@return/(byte*) initEntry::entryTHi1_return#1 ) (byte*~) initEntry::$22 ← (byte*) initEntry::entryTHi1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#13 + (byte/signed byte/word/signed word/dword/signed dword) $c - *((byte*~) initEntry::$22) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 + (byte/word/signed word/dword/signed dword~) initEntry::$23 ← (byte/word/signed word/dword/signed dword) $cc + (byte) initEntry::n#13 + *((byte*~) initEntry::$22) ← (byte/word/signed word/dword/signed dword~) initEntry::$23 (byte*) initEntry::entryTLo1_entry#0 ← (byte*) initEntry::entry#14 to:initEntry::entryTLo1 initEntry::entryTLo1: scope:[initEntry] from initEntry::@12 @@ -881,8 +881,8 @@ initEntry::@13: scope:[initEntry] from initEntry::entryTLo1_@return (byte) initEntry::n#14 ← phi( initEntry::entryTLo1_@return/(byte) initEntry::n#27 ) (byte*) initEntry::entryTLo1_return#3 ← phi( initEntry::entryTLo1_@return/(byte*) initEntry::entryTLo1_return#1 ) (byte*~) initEntry::$24 ← (byte*) initEntry::entryTLo1_return#3 - (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#14 + (byte/signed byte/word/signed word/dword/signed dword) $d - *((byte*~) initEntry::$24) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 + (byte/word/signed word/dword/signed dword~) initEntry::$25 ← (byte/word/signed word/dword/signed dword) $dd + (byte) initEntry::n#14 + *((byte*~) initEntry::$24) ← (byte/word/signed word/dword/signed dword~) initEntry::$25 to:initEntry::@return initEntry::@return: scope:[initEntry] from initEntry::@13 return @@ -1558,29 +1558,29 @@ SYMBOL TABLE SSA (byte[$2]) files#0 (void()) initEntry((byte*) initEntry::entry , (byte) initEntry::n) (byte**~) initEntry::$0 -(byte/signed word/word/dword/signed dword~) initEntry::$1 +(word/signed word/dword/signed dword~) initEntry::$1 (byte*~) initEntry::$10 (byte/signed word/word/dword/signed dword~) initEntry::$11 (byte*~) initEntry::$12 (byte/signed word/word/dword/signed dword~) initEntry::$13 (byte*~) initEntry::$14 -(byte/signed word/word/dword/signed dword~) initEntry::$15 +(byte/word/signed word/dword/signed dword~) initEntry::$15 (word*~) initEntry::$16 -(byte/signed word/word/dword/signed dword~) initEntry::$17 +(word/dword/signed dword~) initEntry::$17 (byte*~) initEntry::$18 -(byte/signed word/word/dword/signed dword~) initEntry::$19 +(byte/word/signed word/dword/signed dword~) initEntry::$19 (byte**~) initEntry::$2 (byte*~) initEntry::$20 -(byte/signed word/word/dword/signed dword~) initEntry::$21 +(byte/word/signed word/dword/signed dword~) initEntry::$21 (byte*~) initEntry::$22 -(byte/signed word/word/dword/signed dword~) initEntry::$23 +(byte/word/signed word/dword/signed dword~) initEntry::$23 (byte*~) initEntry::$24 -(byte/signed word/word/dword/signed dword~) initEntry::$25 -(byte/signed word/word/dword/signed dword~) initEntry::$3 +(byte/word/signed word/dword/signed dword~) initEntry::$25 +(word/signed word/dword/signed dword~) initEntry::$3 (word*~) initEntry::$4 -(byte/signed word/word/dword/signed dword~) initEntry::$5 +(word/signed word/dword/signed dword~) initEntry::$5 (word**~) initEntry::$6 -(byte/signed word/word/dword/signed dword~) initEntry::$7 +(word/signed word/dword/signed dword~) initEntry::$7 (byte*~) initEntry::$8 (byte/signed word/word/dword/signed dword~) initEntry::$9 (label) initEntry::@1 @@ -3167,7 +3167,7 @@ Constant (const byte) MAX_FILES#0 = $90 Constant (const byte) main::fileEntry1_idx#0 = 1 Constant (const byte) main::fileEntry2_idx#0 = 2 Constant (const byte) initEntry::n#0 = 0 -Constant (const byte) initEntry::n#1 = $80 +Constant (const byte) initEntry::n#1 = $11 Constant (const byte*) print_str::str#1 = main::str Constant (const byte*) print_str::str#2 = main::str1 Constant (const byte*) print_str::str#3 = main::str2 @@ -3203,10 +3203,45 @@ Successful SSA optimization Pass2ConstantIdentification Removed zero-constant in assignment initEntry::entryBufDisk1_$0#0 Removed zero-constant in assignment printEntry::entryBufDisk1_$0#0 Successful SSA optimization Pass2ConstantStringConsolidation +Eliminating Noop Cast (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 +Eliminating Noop Cast (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 +Eliminating Noop Cast (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 +Eliminating Noop Cast (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 +Eliminating Noop Cast (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 +Eliminating Noop Cast (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 Eliminating Noop Cast (word) print_word::w#0 ← ((word)) *((byte**) printEntry::entryBufDisk1_return#0) +Eliminating Noop Cast (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 Eliminating Noop Cast (word) print_word::w#1 ← ((word)) *((byte**) printEntry::entryBufEdit1_return#0) +Eliminating Noop Cast (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 +Eliminating Noop Cast (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 Eliminating Noop Cast (word) print_word::w#3 ← ((word)) *((word**) printEntry::entryTsOrder1_return#0) +Eliminating Noop Cast (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 Successful SSA optimization Pass2NopCastElimination +Converting *(pointer+n) to pointer[n] (word) print_word::w#5 ← phi( printEntry::@1/(word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0) printEntry::@2/(word)*((byte**)(byte*) printEntry::entryBufEdit1_$0#0) printEntry::@3/(word) print_word::w#2 printEntry::@4/(word)*((word**)(byte*) printEntry::entryTsOrder1_$0#0) printEntry::@9/(word) print_word::w#4 ) -- *((byte**)printEntry::entry#10 + 2) +Converting *(pointer+n) to pointer[n] (word) print_word::w#5 ← phi( printEntry::@1/(word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0) printEntry::@2/(word)*((byte**)(byte*) printEntry::entry#10 + (byte/signed byte/word/signed word/dword/signed dword) 2) printEntry::@3/(word) print_word::w#2 printEntry::@4/(word)*((word**)(byte*) printEntry::entryTsOrder1_$0#0) printEntry::@9/(word) print_word::w#4 ) -- *((word**)printEntry::entry#10 + 6) +Converting *(pointer+n) to pointer[n] *((byte**)(byte*) initEntry::entryBufEdit1_$0#0) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$3 -- *((byte**)initEntry::entry#10 + 2) +Converting *(pointer+n) to pointer[n] *((word*)(byte*) initEntry::entryTsLen1_$0#0) ← (word/signed word/dword/signed dword~) initEntry::$5 -- *((word*)initEntry::entry#10 + 4) +Converting *(pointer+n) to pointer[n] *((word**)(byte*) initEntry::entryTsOrder1_$0#0) ← ((word*)) (word/signed word/dword/signed dword~) initEntry::$7 -- *((word**)initEntry::entry#10 + 6) +Converting *(pointer+n) to pointer[n] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- *(initEntry::entry#10 + 8) +Converting *(pointer+n) to pointer[n] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- *(initEntry::entry#10 + 9) +Converting *(pointer+n) to pointer[n] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- *(initEntry::entry#10 + $a) +Converting *(pointer+n) to pointer[n] *((byte*) initEntry::entryBError1_return#0) ← (byte/word/signed word/dword/signed dword~) initEntry::$15 -- *(initEntry::entry#10 + $b) +Converting *(pointer+n) to pointer[n] *((word*)(byte*) initEntry::entryUCross1_$0#0) ← (word/dword/signed dword~) initEntry::$17 -- *((word*)initEntry::entry#10 + $c) +Converting *(pointer+n) to pointer[n] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/word/signed word/dword/signed dword~) initEntry::$19 -- *(initEntry::entry#10 + $e) +Converting *(pointer+n) to pointer[n] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/word/signed word/dword/signed dword~) initEntry::$21 -- *(initEntry::entry#10 + $f) +Converting *(pointer+n) to pointer[n] *((byte*) initEntry::entryTHi1_return#0) ← (byte/word/signed word/dword/signed dword~) initEntry::$23 -- *(initEntry::entry#10 + $10) +Converting *(pointer+n) to pointer[n] *((byte*) initEntry::entryTLo1_return#0) ← (byte/word/signed word/dword/signed dword~) initEntry::$25 -- *(initEntry::entry#10 + $11) +Converting *(pointer+n) to pointer[n] (word) print_word::w#2 ← *((word*)(byte*) printEntry::entryTsLen1_$0#0) -- *((word*)printEntry::entry#10 + 4) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) -- *(printEntry::entry#10 + 8) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) -- *(printEntry::entry#10 + 9) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) -- *(printEntry::entry#10 + $a) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) -- *(printEntry::entry#10 + $b) +Converting *(pointer+n) to pointer[n] (word) print_word::w#4 ← *((word*)(byte*) printEntry::entryUCross1_$0#0) -- *((word*)printEntry::entry#10 + $c) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) -- *(printEntry::entry#10 + $e) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) -- *(printEntry::entry#10 + $f) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) -- *(printEntry::entry#10 + $10) +Converting *(pointer+n) to pointer[n] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) -- *(printEntry::entry#10 + $11) +Successful SSA optimization Pass2InlineDerefIdx Culled Empty Block (label) mul8u::@3 Culled Empty Block (label) @5 Culled Empty Block (label) print_ln::@2 @@ -3271,6 +3306,31 @@ Successful SSA optimization Pass2CullEmptyBlocks Alias (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#10 Alias (byte*) printEntry::entryBufDisk1_$0#0 = (byte*) printEntry::entry#10 Successful SSA optimization Pass2AliasElimination +Eliminating unused variable (byte*) initEntry::entryBufEdit1_$0#0 and assignment [103] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 +Eliminating unused variable (byte*) initEntry::entryTsLen1_$0#0 and assignment [106] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 +Eliminating unused variable (byte*) initEntry::entryTsOrder1_$0#0 and assignment [109] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 +Eliminating unused variable (byte*) initEntry::entryTLastLink1_return#0 and assignment [112] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 +Eliminating unused variable (byte*) initEntry::entrySLastLink1_return#0 and assignment [115] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 +Eliminating unused variable (byte*) initEntry::entryBFlag1_return#0 and assignment [118] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a +Eliminating unused variable (byte*) initEntry::entryBError1_return#0 and assignment [121] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b +Eliminating unused variable (byte*) initEntry::entryUCross1_$0#0 and assignment [124] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c +Eliminating unused variable (byte*) initEntry::entryBAddrLo1_return#0 and assignment [127] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e +Eliminating unused variable (byte*) initEntry::entryBAddrHi1_return#0 and assignment [130] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f +Eliminating unused variable (byte*) initEntry::entryTHi1_return#0 and assignment [133] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 +Eliminating unused variable (byte*) initEntry::entryTLo1_return#0 and assignment [136] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 +Eliminating unused variable (byte*) printEntry::entryBufEdit1_$0#0 and assignment [145] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 +Eliminating unused variable (byte*) printEntry::entryTsLen1_$0#0 and assignment [149] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 +Eliminating unused variable (byte*) printEntry::entryTsOrder1_$0#0 and assignment [154] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 +Eliminating unused variable (byte*) printEntry::entryTLastLink1_return#0 and assignment [158] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 +Eliminating unused variable (byte*) printEntry::entrySLastLink1_return#0 and assignment [163] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 +Eliminating unused variable (byte*) printEntry::entryBFlag1_return#0 and assignment [168] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a +Eliminating unused variable (byte*) printEntry::entryBError1_return#0 and assignment [173] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b +Eliminating unused variable (byte*) printEntry::entryUCross1_$0#0 and assignment [178] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c +Eliminating unused variable (byte*) printEntry::entryBAddrLo1_return#0 and assignment [183] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e +Eliminating unused variable (byte*) printEntry::entryBAddrHi1_return#0 and assignment [188] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f +Eliminating unused variable (byte*) printEntry::entryTHi1_return#0 and assignment [193] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 +Eliminating unused variable (byte*) printEntry::entryTLo1_return#0 and assignment [198] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 +Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const word) mul8u::res#0 Inlining constant with var siblings (const byte) mul8u::a#1 Inlining constant with var siblings (const byte) mul8u::b#0 @@ -3312,7 +3372,7 @@ Constant inlined $2 = ((word))(const byte) MAX_FILES#0*(const byte) SIZEOF_ENTRY Constant inlined print_str::str#15 = (const string) printEntry::str10 Constant inlined print_str::str#14 = (const string) printEntry::str9 Constant inlined $3 = (const byte[]) print_hextab#0 -Constant inlined initEntry::n#1 = (byte/word/signed word/dword/signed dword) $80 +Constant inlined initEntry::n#1 = (byte/signed byte/word/signed word/dword/signed dword) $11 Constant inlined initEntry::n#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined keyboard_key_pressed::key#0 = (const byte) KEY_SPACE#0 Constant inlined keyboard_key_pressed::key#1 = (const byte) KEY_SPACE#0 @@ -3367,13 +3427,39 @@ Adding NOP phi() at start of main::@7 Adding NOP phi() at start of main::@9 Adding NOP phi() at start of print_cls Adding NOP phi() at start of keyboard_key_pressed +Adding NOP phi() at start of printEntry::entryBufDisk1 +Adding NOP phi() at start of printEntry::entryBufEdit1 +Adding NOP phi() at start of printEntry::entryTsLen1 +Adding NOP phi() at start of printEntry::entryTsOrder1 +Adding NOP phi() at start of printEntry::entryTLastLink1 +Adding NOP phi() at start of printEntry::entrySLastLink1 +Adding NOP phi() at start of printEntry::entryBFlag1 +Adding NOP phi() at start of printEntry::entryBError1 +Adding NOP phi() at start of printEntry::entryUCross1 +Adding NOP phi() at start of printEntry::entryBAddrLo1 +Adding NOP phi() at start of printEntry::entryBAddrHi1 +Adding NOP phi() at start of printEntry::entryTHi1 +Adding NOP phi() at start of printEntry::entryTLo1 +Adding NOP phi() at start of initEntry::entryBufDisk1 +Adding NOP phi() at start of initEntry::entryBufEdit1 +Adding NOP phi() at start of initEntry::entryTsLen1 +Adding NOP phi() at start of initEntry::entryTsOrder1 +Adding NOP phi() at start of initEntry::entryTLastLink1 +Adding NOP phi() at start of initEntry::entrySLastLink1 +Adding NOP phi() at start of initEntry::entryBFlag1 +Adding NOP phi() at start of initEntry::entryBError1 +Adding NOP phi() at start of initEntry::entryUCross1 +Adding NOP phi() at start of initEntry::entryBAddrLo1 +Adding NOP phi() at start of initEntry::entryBAddrHi1 +Adding NOP phi() at start of initEntry::entryTHi1 +Adding NOP phi() at start of initEntry::entryTLo1 CALL GRAPH Calls in [] to main:2 Calls in [main] to keyboard_init:5 mul8u:7 mul8u:12 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:40 print_cls:45 print_str:47 print_ln:49 print_ln:52 printEntry:55 print_ln:58 print_str:60 keyboard_key_pressed:62 print_cls:67 Calls in [keyboard_key_pressed] to keyboard_matrix_read:77 -Calls in [printEntry] to print_str:105 print_word:108 print_ln:111 print_str:113 print_word:117 print_ln:120 print_str:122 print_word:127 print_ln:130 print_str:132 print_word:136 print_ln:139 print_str:141 print_byte:146 print_ln:149 print_str:151 print_byte:156 print_ln:159 print_str:161 print_byte:166 print_ln:169 print_str:171 print_byte:176 print_ln:179 print_str:181 print_word:186 print_ln:189 print_str:191 print_byte:196 print_ln:199 print_str:201 print_byte:206 print_ln:209 print_str:211 print_byte:216 print_ln:219 print_str:221 print_byte:226 print_ln:229 -Calls in [print_byte] to print_char:236 print_char:241 -Calls in [print_word] to print_byte:251 print_byte:255 +Calls in [printEntry] to print_str:105 print_word:108 print_ln:111 print_str:113 print_word:116 print_ln:119 print_str:121 print_word:125 print_ln:128 print_str:130 print_word:133 print_ln:136 print_str:138 print_byte:143 print_ln:146 print_str:148 print_byte:153 print_ln:156 print_str:158 print_byte:163 print_ln:166 print_str:168 print_byte:173 print_ln:176 print_str:178 print_word:182 print_ln:185 print_str:187 print_byte:192 print_ln:195 print_str:197 print_byte:202 print_ln:205 print_str:207 print_byte:212 print_ln:215 print_str:217 print_byte:222 print_ln:225 +Calls in [print_byte] to print_char:232 print_char:237 +Calls in [print_word] to print_byte:247 print_byte:251 Created 21 initial phi equivalence classes Coalesced [17] initEntry::entryBufDisk1_$0#1 ← initEntry::entry#0 @@ -3403,73 +3489,73 @@ Not coalescing [104] print_char_cursor#214 ← print_line_cursor#1 Not coalescing [109] print_line_cursor#163 ← print_line_cursor#1 Coalesced [110] print_char_cursor#235 ← print_char_cursor#11 Not coalescing [112] print_char_cursor#215 ← print_line_cursor#1 -Not coalescing [118] print_line_cursor#164 ← print_line_cursor#1 -Coalesced (already) [119] print_char_cursor#236 ← print_char_cursor#11 -Not coalescing [121] print_char_cursor#216 ← print_line_cursor#1 -Coalesced [126] print_word::w#9 ← print_word::w#2 -Not coalescing [128] print_line_cursor#165 ← print_line_cursor#1 -Coalesced (already) [129] print_char_cursor#237 ← print_char_cursor#11 -Not coalescing [131] print_char_cursor#217 ← print_line_cursor#1 -Not coalescing [137] print_line_cursor#166 ← print_line_cursor#1 -Coalesced (already) [138] print_char_cursor#238 ← print_char_cursor#11 -Not coalescing [140] print_char_cursor#218 ← print_line_cursor#1 -Coalesced [144] print_byte::b#16 ← print_byte::b#2 -Coalesced [145] print_char_cursor#252 ← print_char_cursor#142 -Not coalescing [147] print_line_cursor#167 ← print_line_cursor#1 -Coalesced (already) [148] print_char_cursor#239 ← print_char_cursor#11 -Not coalescing [150] print_char_cursor#219 ← print_line_cursor#1 -Coalesced [154] print_byte::b#17 ← print_byte::b#3 -Coalesced (already) [155] print_char_cursor#253 ← print_char_cursor#142 -Not coalescing [157] print_line_cursor#168 ← print_line_cursor#1 -Coalesced (already) [158] print_char_cursor#240 ← print_char_cursor#11 -Not coalescing [160] print_char_cursor#220 ← print_line_cursor#1 -Coalesced [164] print_byte::b#18 ← print_byte::b#4 -Coalesced (already) [165] print_char_cursor#254 ← print_char_cursor#142 -Not coalescing [167] print_line_cursor#169 ← print_line_cursor#1 -Coalesced (already) [168] print_char_cursor#241 ← print_char_cursor#11 -Not coalescing [170] print_char_cursor#221 ← print_line_cursor#1 -Coalesced [174] print_byte::b#19 ← print_byte::b#5 -Coalesced (already) [175] print_char_cursor#255 ← print_char_cursor#142 -Not coalescing [177] print_line_cursor#170 ← print_line_cursor#1 -Coalesced (already) [178] print_char_cursor#242 ← print_char_cursor#11 -Not coalescing [180] print_char_cursor#222 ← print_line_cursor#1 -Coalesced [185] print_word::w#11 ← print_word::w#4 -Not coalescing [187] print_line_cursor#171 ← print_line_cursor#1 -Coalesced (already) [188] print_char_cursor#243 ← print_char_cursor#11 -Not coalescing [190] print_char_cursor#223 ← print_line_cursor#1 -Coalesced [194] print_byte::b#12 ← print_byte::b#6 -Coalesced (already) [195] print_char_cursor#248 ← print_char_cursor#142 -Not coalescing [197] print_line_cursor#172 ← print_line_cursor#1 -Coalesced (already) [198] print_char_cursor#244 ← print_char_cursor#11 -Not coalescing [200] print_char_cursor#224 ← print_line_cursor#1 -Coalesced [204] print_byte::b#13 ← print_byte::b#7 -Coalesced (already) [205] print_char_cursor#249 ← print_char_cursor#142 -Not coalescing [207] print_line_cursor#173 ← print_line_cursor#1 -Coalesced (already) [208] print_char_cursor#245 ← print_char_cursor#11 -Not coalescing [210] print_char_cursor#225 ← print_line_cursor#1 -Coalesced [214] print_byte::b#14 ← print_byte::b#8 -Coalesced (already) [215] print_char_cursor#250 ← print_char_cursor#142 -Not coalescing [217] print_line_cursor#174 ← print_line_cursor#1 -Coalesced (already) [218] print_char_cursor#246 ← print_char_cursor#11 -Not coalescing [220] print_char_cursor#226 ← print_line_cursor#1 -Coalesced [224] print_byte::b#15 ← print_byte::b#9 -Coalesced (already) [225] print_char_cursor#251 ← print_char_cursor#142 -Not coalescing [227] print_line_cursor#175 ← print_line_cursor#1 -Coalesced (already) [228] print_char_cursor#247 ← print_char_cursor#11 -Coalesced [234] print_char::ch#3 ← print_char::ch#0 -Coalesced [235] print_char_cursor#258 ← print_char_cursor#145 -Coalesced [239] print_char::ch#4 ← print_char::ch#1 -Coalesced (already) [240] print_char_cursor#259 ← print_char_cursor#11 -Coalesced [249] print_byte::b#20 ← print_byte::b#0 -Coalesced (already) [250] print_char_cursor#256 ← print_char_cursor#142 -Coalesced [253] print_byte::b#21 ← print_byte::b#1 -Coalesced (already) [254] print_char_cursor#257 ← print_char_cursor#11 -Coalesced [303] mul8u::a#8 ← mul8u::a#6 -Coalesced [310] mul8u::res#9 ← mul8u::res#1 -Coalesced [314] mul8u::a#9 ← mul8u::a#0 -Coalesced [315] mul8u::res#7 ← mul8u::res#6 -Coalesced [316] mul8u::mb#6 ← mul8u::mb#1 -Coalesced (already) [317] mul8u::res#8 ← mul8u::res#2 +Not coalescing [117] print_line_cursor#164 ← print_line_cursor#1 +Coalesced (already) [118] print_char_cursor#236 ← print_char_cursor#11 +Not coalescing [120] print_char_cursor#216 ← print_line_cursor#1 +Coalesced [124] print_word::w#9 ← print_word::w#2 +Not coalescing [126] print_line_cursor#165 ← print_line_cursor#1 +Coalesced (already) [127] print_char_cursor#237 ← print_char_cursor#11 +Not coalescing [129] print_char_cursor#217 ← print_line_cursor#1 +Not coalescing [134] print_line_cursor#166 ← print_line_cursor#1 +Coalesced (already) [135] print_char_cursor#238 ← print_char_cursor#11 +Not coalescing [137] print_char_cursor#218 ← print_line_cursor#1 +Coalesced [141] print_byte::b#16 ← print_byte::b#2 +Coalesced [142] print_char_cursor#252 ← print_char_cursor#142 +Not coalescing [144] print_line_cursor#167 ← print_line_cursor#1 +Coalesced (already) [145] print_char_cursor#239 ← print_char_cursor#11 +Not coalescing [147] print_char_cursor#219 ← print_line_cursor#1 +Coalesced [151] print_byte::b#17 ← print_byte::b#3 +Coalesced (already) [152] print_char_cursor#253 ← print_char_cursor#142 +Not coalescing [154] print_line_cursor#168 ← print_line_cursor#1 +Coalesced (already) [155] print_char_cursor#240 ← print_char_cursor#11 +Not coalescing [157] print_char_cursor#220 ← print_line_cursor#1 +Coalesced [161] print_byte::b#18 ← print_byte::b#4 +Coalesced (already) [162] print_char_cursor#254 ← print_char_cursor#142 +Not coalescing [164] print_line_cursor#169 ← print_line_cursor#1 +Coalesced (already) [165] print_char_cursor#241 ← print_char_cursor#11 +Not coalescing [167] print_char_cursor#221 ← print_line_cursor#1 +Coalesced [171] print_byte::b#19 ← print_byte::b#5 +Coalesced (already) [172] print_char_cursor#255 ← print_char_cursor#142 +Not coalescing [174] print_line_cursor#170 ← print_line_cursor#1 +Coalesced (already) [175] print_char_cursor#242 ← print_char_cursor#11 +Not coalescing [177] print_char_cursor#222 ← print_line_cursor#1 +Coalesced [181] print_word::w#11 ← print_word::w#4 +Not coalescing [183] print_line_cursor#171 ← print_line_cursor#1 +Coalesced (already) [184] print_char_cursor#243 ← print_char_cursor#11 +Not coalescing [186] print_char_cursor#223 ← print_line_cursor#1 +Coalesced [190] print_byte::b#12 ← print_byte::b#6 +Coalesced (already) [191] print_char_cursor#248 ← print_char_cursor#142 +Not coalescing [193] print_line_cursor#172 ← print_line_cursor#1 +Coalesced (already) [194] print_char_cursor#244 ← print_char_cursor#11 +Not coalescing [196] print_char_cursor#224 ← print_line_cursor#1 +Coalesced [200] print_byte::b#13 ← print_byte::b#7 +Coalesced (already) [201] print_char_cursor#249 ← print_char_cursor#142 +Not coalescing [203] print_line_cursor#173 ← print_line_cursor#1 +Coalesced (already) [204] print_char_cursor#245 ← print_char_cursor#11 +Not coalescing [206] print_char_cursor#225 ← print_line_cursor#1 +Coalesced [210] print_byte::b#14 ← print_byte::b#8 +Coalesced (already) [211] print_char_cursor#250 ← print_char_cursor#142 +Not coalescing [213] print_line_cursor#174 ← print_line_cursor#1 +Coalesced (already) [214] print_char_cursor#246 ← print_char_cursor#11 +Not coalescing [216] print_char_cursor#226 ← print_line_cursor#1 +Coalesced [220] print_byte::b#15 ← print_byte::b#9 +Coalesced (already) [221] print_char_cursor#251 ← print_char_cursor#142 +Not coalescing [223] print_line_cursor#175 ← print_line_cursor#1 +Coalesced (already) [224] print_char_cursor#247 ← print_char_cursor#11 +Coalesced [230] print_char::ch#3 ← print_char::ch#0 +Coalesced [231] print_char_cursor#258 ← print_char_cursor#145 +Coalesced [235] print_char::ch#4 ← print_char::ch#1 +Coalesced (already) [236] print_char_cursor#259 ← print_char_cursor#11 +Coalesced [245] print_byte::b#20 ← print_byte::b#0 +Coalesced (already) [246] print_char_cursor#256 ← print_char_cursor#142 +Coalesced [249] print_byte::b#21 ← print_byte::b#1 +Coalesced (already) [250] print_char_cursor#257 ← print_char_cursor#11 +Coalesced [295] mul8u::a#8 ← mul8u::a#6 +Coalesced [302] mul8u::res#9 ← mul8u::res#1 +Coalesced [306] mul8u::a#9 ← mul8u::a#0 +Coalesced [307] mul8u::res#7 ← mul8u::res#6 +Coalesced [308] mul8u::mb#6 ← mul8u::mb#1 +Coalesced (already) [309] mul8u::res#8 ← mul8u::res#2 Coalesced down to 14 phi equivalence classes Culled Empty Block (label) print_cls::@3 Culled Empty Block (label) mul8u::@10 @@ -3542,6 +3628,32 @@ Adding NOP phi() at start of main::@3 Adding NOP phi() at start of main::@4 Adding NOP phi() at start of print_cls Adding NOP phi() at start of keyboard_key_pressed +Adding NOP phi() at start of printEntry::entryBufDisk1 +Adding NOP phi() at start of printEntry::entryBufEdit1 +Adding NOP phi() at start of printEntry::entryTsLen1 +Adding NOP phi() at start of printEntry::entryTsOrder1 +Adding NOP phi() at start of printEntry::entryTLastLink1 +Adding NOP phi() at start of printEntry::entrySLastLink1 +Adding NOP phi() at start of printEntry::entryBFlag1 +Adding NOP phi() at start of printEntry::entryBError1 +Adding NOP phi() at start of printEntry::entryUCross1 +Adding NOP phi() at start of printEntry::entryBAddrLo1 +Adding NOP phi() at start of printEntry::entryBAddrHi1 +Adding NOP phi() at start of printEntry::entryTHi1 +Adding NOP phi() at start of printEntry::entryTLo1 +Adding NOP phi() at start of initEntry::entryBufDisk1 +Adding NOP phi() at start of initEntry::entryBufEdit1 +Adding NOP phi() at start of initEntry::entryTsLen1 +Adding NOP phi() at start of initEntry::entryTsOrder1 +Adding NOP phi() at start of initEntry::entryTLastLink1 +Adding NOP phi() at start of initEntry::entrySLastLink1 +Adding NOP phi() at start of initEntry::entryBFlag1 +Adding NOP phi() at start of initEntry::entryBError1 +Adding NOP phi() at start of initEntry::entryUCross1 +Adding NOP phi() at start of initEntry::entryBAddrLo1 +Adding NOP phi() at start of initEntry::entryBAddrHi1 +Adding NOP phi() at start of initEntry::entryTHi1 +Adding NOP phi() at start of initEntry::entryTLo1 FINAL CONTROL FLOW GRAPH @begin: scope:[] from @@ -3737,10 +3849,10 @@ printEntry: scope:[printEntry] from main::@13 main::@20 [95] call print_str to:printEntry::entryBufDisk1 printEntry::entryBufDisk1: scope:[printEntry] from printEntry - [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 + [96] phi() to:printEntry::@1 printEntry::@1: scope:[printEntry] from printEntry::entryBufDisk1 - [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) + [97] (word~) print_word::w#7 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0) [98] call print_word to:printEntry::@14 printEntry::@14: scope:[printEntry] from printEntry::@1 @@ -3752,356 +3864,348 @@ printEntry::@15: scope:[printEntry] from printEntry::@14 [102] call print_str to:printEntry::entryBufEdit1 printEntry::entryBufEdit1: scope:[printEntry] from printEntry::@15 - [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 - [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 + [103] phi() to:printEntry::@2 printEntry::@2: scope:[printEntry] from printEntry::entryBufEdit1 - [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) - [106] call print_word + [104] (word~) print_word::w#8 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) + [105] call print_word to:printEntry::@16 printEntry::@16: scope:[printEntry] from printEntry::@2 - [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 - [108] call print_ln + [106] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 + [107] call print_ln to:printEntry::@17 printEntry::@17: scope:[printEntry] from printEntry::@16 - [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 - [110] call print_str + [108] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 + [109] call print_str to:printEntry::entryTsLen1 printEntry::entryTsLen1: scope:[printEntry] from printEntry::@17 - [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 - [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 + [110] phi() to:printEntry::@3 printEntry::@3: scope:[printEntry] from printEntry::entryTsLen1 - [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) - [114] call print_word + [111] (word) print_word::w#2 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) + [112] call print_word to:printEntry::@18 printEntry::@18: scope:[printEntry] from printEntry::@3 - [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 - [116] call print_ln + [113] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 + [114] call print_ln to:printEntry::@19 printEntry::@19: scope:[printEntry] from printEntry::@18 - [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 - [118] call print_str + [115] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 + [116] call print_str to:printEntry::entryTsOrder1 printEntry::entryTsOrder1: scope:[printEntry] from printEntry::@19 - [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 - [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 + [117] phi() to:printEntry::@4 printEntry::@4: scope:[printEntry] from printEntry::entryTsOrder1 - [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) - [122] call print_word + [118] (word~) print_word::w#10 ← (word)*((word**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) + [119] call print_word to:printEntry::@20 printEntry::@20: scope:[printEntry] from printEntry::@4 - [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 - [124] call print_ln + [120] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 + [121] call print_ln to:printEntry::@21 printEntry::@21: scope:[printEntry] from printEntry::@20 - [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 - [126] call print_str + [122] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 + [123] call print_str to:printEntry::entryTLastLink1 printEntry::entryTLastLink1: scope:[printEntry] from printEntry::@21 - [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 + [124] phi() to:printEntry::@5 printEntry::@5: scope:[printEntry] from printEntry::entryTLastLink1 - [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) - [129] call print_byte + [125] (byte) print_byte::b#2 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) + [126] call print_byte to:printEntry::@22 printEntry::@22: scope:[printEntry] from printEntry::@5 - [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 - [131] call print_ln + [127] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 + [128] call print_ln to:printEntry::@23 printEntry::@23: scope:[printEntry] from printEntry::@22 - [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 - [133] call print_str + [129] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 + [130] call print_str to:printEntry::entrySLastLink1 printEntry::entrySLastLink1: scope:[printEntry] from printEntry::@23 - [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 + [131] phi() to:printEntry::@6 printEntry::@6: scope:[printEntry] from printEntry::entrySLastLink1 - [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) - [136] call print_byte + [132] (byte) print_byte::b#3 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) + [133] call print_byte to:printEntry::@24 printEntry::@24: scope:[printEntry] from printEntry::@6 - [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 - [138] call print_ln + [134] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 + [135] call print_ln to:printEntry::@25 printEntry::@25: scope:[printEntry] from printEntry::@24 - [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 - [140] call print_str + [136] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 + [137] call print_str to:printEntry::entryBFlag1 printEntry::entryBFlag1: scope:[printEntry] from printEntry::@25 - [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a + [138] phi() to:printEntry::@7 printEntry::@7: scope:[printEntry] from printEntry::entryBFlag1 - [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) - [143] call print_byte + [139] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) + [140] call print_byte to:printEntry::@26 printEntry::@26: scope:[printEntry] from printEntry::@7 - [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 - [145] call print_ln + [141] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 + [142] call print_ln to:printEntry::@27 printEntry::@27: scope:[printEntry] from printEntry::@26 - [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 - [147] call print_str + [143] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 + [144] call print_str to:printEntry::entryBError1 printEntry::entryBError1: scope:[printEntry] from printEntry::@27 - [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b + [145] phi() to:printEntry::@8 printEntry::@8: scope:[printEntry] from printEntry::entryBError1 - [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) - [150] call print_byte + [146] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) + [147] call print_byte to:printEntry::@28 printEntry::@28: scope:[printEntry] from printEntry::@8 - [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 - [152] call print_ln + [148] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 + [149] call print_ln to:printEntry::@29 printEntry::@29: scope:[printEntry] from printEntry::@28 - [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 - [154] call print_str + [150] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 + [151] call print_str to:printEntry::entryUCross1 printEntry::entryUCross1: scope:[printEntry] from printEntry::@29 - [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c - [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 + [152] phi() to:printEntry::@9 printEntry::@9: scope:[printEntry] from printEntry::entryUCross1 - [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) - [158] call print_word + [153] (word) print_word::w#4 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) + [154] call print_word to:printEntry::@30 printEntry::@30: scope:[printEntry] from printEntry::@9 - [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 - [160] call print_ln + [155] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 + [156] call print_ln to:printEntry::@31 printEntry::@31: scope:[printEntry] from printEntry::@30 - [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 - [162] call print_str + [157] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 + [158] call print_str to:printEntry::entryBAddrLo1 printEntry::entryBAddrLo1: scope:[printEntry] from printEntry::@31 - [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e + [159] phi() to:printEntry::@10 printEntry::@10: scope:[printEntry] from printEntry::entryBAddrLo1 - [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) - [165] call print_byte + [160] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) + [161] call print_byte to:printEntry::@32 printEntry::@32: scope:[printEntry] from printEntry::@10 - [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 - [167] call print_ln + [162] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 + [163] call print_ln to:printEntry::@33 printEntry::@33: scope:[printEntry] from printEntry::@32 - [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 - [169] call print_str + [164] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 + [165] call print_str to:printEntry::entryBAddrHi1 printEntry::entryBAddrHi1: scope:[printEntry] from printEntry::@33 - [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f + [166] phi() to:printEntry::@11 printEntry::@11: scope:[printEntry] from printEntry::entryBAddrHi1 - [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) - [172] call print_byte + [167] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) + [168] call print_byte to:printEntry::@34 printEntry::@34: scope:[printEntry] from printEntry::@11 - [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 - [174] call print_ln + [169] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 + [170] call print_ln to:printEntry::@35 printEntry::@35: scope:[printEntry] from printEntry::@34 - [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 - [176] call print_str + [171] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 + [172] call print_str to:printEntry::entryTHi1 printEntry::entryTHi1: scope:[printEntry] from printEntry::@35 - [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 + [173] phi() to:printEntry::@12 printEntry::@12: scope:[printEntry] from printEntry::entryTHi1 - [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) - [179] call print_byte + [174] (byte) print_byte::b#8 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) + [175] call print_byte to:printEntry::@36 printEntry::@36: scope:[printEntry] from printEntry::@12 - [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 - [181] call print_ln + [176] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 + [177] call print_ln to:printEntry::@37 printEntry::@37: scope:[printEntry] from printEntry::@36 - [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 - [183] call print_str + [178] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 + [179] call print_str to:printEntry::entryTLo1 printEntry::entryTLo1: scope:[printEntry] from printEntry::@37 - [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 + [180] phi() to:printEntry::@13 printEntry::@13: scope:[printEntry] from printEntry::entryTLo1 - [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) - [186] call print_byte + [181] (byte) print_byte::b#9 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) + [182] call print_byte to:printEntry::@38 printEntry::@38: scope:[printEntry] from printEntry::@13 - [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 - [188] call print_ln + [183] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 + [184] call print_ln to:printEntry::@return printEntry::@return: scope:[printEntry] from printEntry::@38 - [189] return + [185] return to:@return print_byte: scope:[print_byte] from printEntry::@10 printEntry::@11 printEntry::@12 printEntry::@13 printEntry::@5 printEntry::@6 printEntry::@7 printEntry::@8 print_word print_word::@1 - [190] (byte*) print_char_cursor#145 ← phi( printEntry::@10/(byte*) print_char_cursor#142 printEntry::@11/(byte*) print_char_cursor#142 printEntry::@12/(byte*) print_char_cursor#142 printEntry::@13/(byte*) print_char_cursor#142 printEntry::@5/(byte*) print_char_cursor#142 printEntry::@6/(byte*) print_char_cursor#142 printEntry::@7/(byte*) print_char_cursor#142 printEntry::@8/(byte*) print_char_cursor#142 print_word/(byte*) print_char_cursor#142 print_word::@1/(byte*) print_char_cursor#11 ) - [190] (byte) print_byte::b#10 ← phi( printEntry::@10/(byte) print_byte::b#6 printEntry::@11/(byte) print_byte::b#7 printEntry::@12/(byte) print_byte::b#8 printEntry::@13/(byte) print_byte::b#9 printEntry::@5/(byte) print_byte::b#2 printEntry::@6/(byte) print_byte::b#3 printEntry::@7/(byte) print_byte::b#4 printEntry::@8/(byte) print_byte::b#5 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) - [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 - [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) - [193] call print_char + [186] (byte*) print_char_cursor#145 ← phi( printEntry::@10/(byte*) print_char_cursor#142 printEntry::@11/(byte*) print_char_cursor#142 printEntry::@12/(byte*) print_char_cursor#142 printEntry::@13/(byte*) print_char_cursor#142 printEntry::@5/(byte*) print_char_cursor#142 printEntry::@6/(byte*) print_char_cursor#142 printEntry::@7/(byte*) print_char_cursor#142 printEntry::@8/(byte*) print_char_cursor#142 print_word/(byte*) print_char_cursor#142 print_word::@1/(byte*) print_char_cursor#11 ) + [186] (byte) print_byte::b#10 ← phi( printEntry::@10/(byte) print_byte::b#6 printEntry::@11/(byte) print_byte::b#7 printEntry::@12/(byte) print_byte::b#8 printEntry::@13/(byte) print_byte::b#9 printEntry::@5/(byte) print_byte::b#2 printEntry::@6/(byte) print_byte::b#3 printEntry::@7/(byte) print_byte::b#4 printEntry::@8/(byte) print_byte::b#5 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) + [187] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + [188] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) + [189] call print_char to:print_byte::@1 print_byte::@1: scope:[print_byte] from print_byte - [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f - [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) - [196] call print_char + [190] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f + [191] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) + [192] call print_char to:print_byte::@return print_byte::@return: scope:[print_byte] from print_byte::@1 - [197] return + [193] return to:@return print_char: scope:[print_char] from print_byte print_byte::@1 - [198] (byte*) print_char_cursor#82 ← phi( print_byte/(byte*) print_char_cursor#145 print_byte::@1/(byte*) print_char_cursor#11 ) - [198] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) - [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 - [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 + [194] (byte*) print_char_cursor#82 ← phi( print_byte/(byte*) print_char_cursor#145 print_byte::@1/(byte*) print_char_cursor#11 ) + [194] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) + [195] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 + [196] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 to:print_char::@return print_char::@return: scope:[print_char] from print_char - [201] return + [197] return to:@return print_word: scope:[print_word] from printEntry::@1 printEntry::@2 printEntry::@3 printEntry::@4 printEntry::@9 - [202] (word) print_word::w#5 ← phi( printEntry::@1/(word~) print_word::w#7 printEntry::@2/(word~) print_word::w#8 printEntry::@3/(word) print_word::w#2 printEntry::@4/(word~) print_word::w#10 printEntry::@9/(word) print_word::w#4 ) - [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 - [204] call print_byte + [198] (word) print_word::w#5 ← phi( printEntry::@1/(word~) print_word::w#7 printEntry::@2/(word~) print_word::w#8 printEntry::@3/(word) print_word::w#2 printEntry::@4/(word~) print_word::w#10 printEntry::@9/(word) print_word::w#4 ) + [199] (byte) print_byte::b#0 ← > (word) print_word::w#5 + [200] call print_byte to:print_word::@1 print_word::@1: scope:[print_word] from print_word - [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 - [206] call print_byte + [201] (byte) print_byte::b#1 ← < (word) print_word::w#5 + [202] call print_byte to:print_word::@return print_word::@return: scope:[print_word] from print_word::@1 - [207] return + [203] return to:@return initEntry: scope:[initEntry] from main::@5 main::@8 - [208] (byte) initEntry::n#10 ← phi( main::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@8/(byte/word/signed word/dword/signed dword) $80 ) - [208] (byte*) initEntry::entryBufDisk1_$0#0 ← phi( main::@5/(byte*) initEntry::entry#0 main::@8/(byte*) initEntry::entry#1 ) + [204] (byte) initEntry::n#10 ← phi( main::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@8/(byte/signed byte/word/signed word/dword/signed dword) $11 ) + [204] (byte*) initEntry::entryBufDisk1_$0#0 ← phi( main::@5/(byte*) initEntry::entry#0 main::@8/(byte*) initEntry::entry#1 ) to:initEntry::entryBufDisk1 initEntry::entryBufDisk1: scope:[initEntry] from initEntry - [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 + [205] phi() to:initEntry::@1 initEntry::@1: scope:[initEntry] from initEntry::entryBufDisk1 - [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 - [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 + [206] (word/signed word/dword/signed dword~) initEntry::$1 ← (word/signed word/dword/signed dword) $1111 + (byte) initEntry::n#10 + [207] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$1 to:initEntry::entryBufEdit1 initEntry::entryBufEdit1: scope:[initEntry] from initEntry::@1 - [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 - [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 + [208] phi() to:initEntry::@2 initEntry::@2: scope:[initEntry] from initEntry::entryBufEdit1 - [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 - [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 + [209] (word/signed word/dword/signed dword~) initEntry::$3 ← (word/signed word/dword/signed dword) $2222 + (byte) initEntry::n#10 + [210] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$3 to:initEntry::entryTsLen1 initEntry::entryTsLen1: scope:[initEntry] from initEntry::@2 - [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 - [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 + [211] phi() to:initEntry::@3 initEntry::@3: scope:[initEntry] from initEntry::entryTsLen1 - [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 - [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 + [212] (word/signed word/dword/signed dword~) initEntry::$5 ← (word/signed word/dword/signed dword) $3333 + (byte) initEntry::n#10 + [213] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) ← (word/signed word/dword/signed dword~) initEntry::$5 to:initEntry::entryTsOrder1 initEntry::entryTsOrder1: scope:[initEntry] from initEntry::@3 - [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 - [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 + [214] phi() to:initEntry::@4 initEntry::@4: scope:[initEntry] from initEntry::entryTsOrder1 - [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 - [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 + [215] (word/signed word/dword/signed dword~) initEntry::$7 ← (word/signed word/dword/signed dword) $4444 + (byte) initEntry::n#10 + [216] *((word**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← ((word*)) (word/signed word/dword/signed dword~) initEntry::$7 to:initEntry::entryTLastLink1 initEntry::entryTLastLink1: scope:[initEntry] from initEntry::@4 - [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 + [217] phi() to:initEntry::@5 initEntry::@5: scope:[initEntry] from initEntry::entryTLastLink1 - [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 - [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 + [218] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte/signed byte/word/signed word/dword/signed dword) $55 + (byte) initEntry::n#10 + [219] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 to:initEntry::entrySLastLink1 initEntry::entrySLastLink1: scope:[initEntry] from initEntry::@5 - [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 + [220] phi() to:initEntry::@6 initEntry::@6: scope:[initEntry] from initEntry::entrySLastLink1 - [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 - [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 + [221] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte/signed byte/word/signed word/dword/signed dword) $66 + (byte) initEntry::n#10 + [222] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 to:initEntry::entryBFlag1 initEntry::entryBFlag1: scope:[initEntry] from initEntry::@6 - [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a + [223] phi() to:initEntry::@7 initEntry::@7: scope:[initEntry] from initEntry::entryBFlag1 - [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 - [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 + [224] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte/signed byte/word/signed word/dword/signed dword) $77 + (byte) initEntry::n#10 + [225] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 to:initEntry::entryBError1 initEntry::entryBError1: scope:[initEntry] from initEntry::@7 - [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b + [226] phi() to:initEntry::@8 initEntry::@8: scope:[initEntry] from initEntry::entryBError1 - [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 - [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 + [227] (byte/word/signed word/dword/signed dword~) initEntry::$15 ← (byte/word/signed word/dword/signed dword) $88 + (byte) initEntry::n#10 + [228] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) ← (byte/word/signed word/dword/signed dword~) initEntry::$15 to:initEntry::entryUCross1 initEntry::entryUCross1: scope:[initEntry] from initEntry::@8 - [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c - [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 + [229] phi() to:initEntry::@9 initEntry::@9: scope:[initEntry] from initEntry::entryUCross1 - [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 - [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 + [230] (word/dword/signed dword~) initEntry::$17 ← (word/dword/signed dword) $9999 + (byte) initEntry::n#10 + [231] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) ← (word/dword/signed dword~) initEntry::$17 to:initEntry::entryBAddrLo1 initEntry::entryBAddrLo1: scope:[initEntry] from initEntry::@9 - [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e + [232] phi() to:initEntry::@10 initEntry::@10: scope:[initEntry] from initEntry::entryBAddrLo1 - [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a - [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 + [233] (byte/word/signed word/dword/signed dword~) initEntry::$19 ← (byte/word/signed word/dword/signed dword) $aa + (byte) initEntry::n#10 + [234] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) ← (byte/word/signed word/dword/signed dword~) initEntry::$19 to:initEntry::entryBAddrHi1 initEntry::entryBAddrHi1: scope:[initEntry] from initEntry::@10 - [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f + [235] phi() to:initEntry::@11 initEntry::@11: scope:[initEntry] from initEntry::entryBAddrHi1 - [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b - [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 + [236] (byte/word/signed word/dword/signed dword~) initEntry::$21 ← (byte/word/signed word/dword/signed dword) $bb + (byte) initEntry::n#10 + [237] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) ← (byte/word/signed word/dword/signed dword~) initEntry::$21 to:initEntry::entryTHi1 initEntry::entryTHi1: scope:[initEntry] from initEntry::@11 - [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 + [238] phi() to:initEntry::@12 initEntry::@12: scope:[initEntry] from initEntry::entryTHi1 - [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c - [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 + [239] (byte/word/signed word/dword/signed dword~) initEntry::$23 ← (byte/word/signed word/dword/signed dword) $cc + (byte) initEntry::n#10 + [240] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) ← (byte/word/signed word/dword/signed dword~) initEntry::$23 to:initEntry::entryTLo1 initEntry::entryTLo1: scope:[initEntry] from initEntry::@12 - [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 + [241] phi() to:initEntry::@13 initEntry::@13: scope:[initEntry] from initEntry::entryTLo1 - [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d - [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 + [242] (byte/word/signed word/dword/signed dword~) initEntry::$25 ← (byte/word/signed word/dword/signed dword) $dd + (byte) initEntry::n#10 + [243] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) ← (byte/word/signed word/dword/signed dword~) initEntry::$25 to:initEntry::@return initEntry::@return: scope:[initEntry] from initEntry::@13 - [252] return + [244] return to:@return mul8u: scope:[mul8u] from main::fileEntry1 main::fileEntry2 - [253] (byte) mul8u::a#6 ← phi( main::fileEntry1/(const byte) main::fileEntry1_idx#0 main::fileEntry2/(const byte) main::fileEntry2_idx#0 ) + [245] (byte) mul8u::a#6 ← phi( main::fileEntry1/(const byte) main::fileEntry1_idx#0 main::fileEntry2/(const byte) main::fileEntry2_idx#0 ) to:mul8u::@1 mul8u::@1: scope:[mul8u] from mul8u mul8u::@3 - [254] (word) mul8u::mb#2 ← phi( mul8u/((word))(const byte) SIZEOF_ENTRY#0 mul8u::@3/(word) mul8u::mb#1 ) - [254] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@3/(word) mul8u::res#6 ) - [254] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 ) - [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 + [246] (word) mul8u::mb#2 ← phi( mul8u/((word))(const byte) SIZEOF_ENTRY#0 mul8u::@3/(word) mul8u::mb#1 ) + [246] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@3/(word) mul8u::res#6 ) + [246] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 ) + [247] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 to:mul8u::@return mul8u::@return: scope:[mul8u] from mul8u::@1 - [256] return + [248] return to:@return mul8u::@2: scope:[mul8u] from mul8u::@1 - [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 - [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 + [249] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 + [250] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 to:mul8u::@4 mul8u::@4: scope:[mul8u] from mul8u::@2 - [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 + [251] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 to:mul8u::@3 mul8u::@3: scope:[mul8u] from mul8u::@2 mul8u::@4 - [260] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 ) - [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 + [252] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 ) + [253] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [254] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 to:mul8u::@1 keyboard_init: scope:[keyboard_init] from main - [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff - [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + [255] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff + [256] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:keyboard_init::@return keyboard_init::@return: scope:[keyboard_init] from keyboard_init - [265] return + [257] return to:@return @@ -4115,18 +4219,18 @@ VARIABLE REGISTER WEIGHTS (byte) SIZEOF_ENTRY (byte[((word))MAX_FILES#0*SIZEOF_ENTRY#0]) files (void()) initEntry((byte*) initEntry::entry , (byte) initEntry::n) -(byte/signed word/word/dword/signed dword~) initEntry::$1 4.0 +(word/signed word/dword/signed dword~) initEntry::$1 4.0 (byte/signed word/word/dword/signed dword~) initEntry::$11 4.0 (byte/signed word/word/dword/signed dword~) initEntry::$13 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$15 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$17 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$19 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$21 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$23 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$25 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$3 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$5 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$7 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$15 4.0 +(word/dword/signed dword~) initEntry::$17 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$19 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$21 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$23 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$25 4.0 +(word/signed word/dword/signed dword~) initEntry::$3 4.0 +(word/signed word/dword/signed dword~) initEntry::$5 4.0 +(word/signed word/dword/signed dword~) initEntry::$7 4.0 (byte/signed word/word/dword/signed dword~) initEntry::$9 4.0 (byte*) initEntry::entry (byte*) initEntry::entry#0 4.0 @@ -4134,67 +4238,50 @@ VARIABLE REGISTER WEIGHTS (byte*~) initEntry::entryBAddrHi1_$0 (byte*) initEntry::entryBAddrHi1_entry (byte*) initEntry::entryBAddrHi1_return -(byte*) initEntry::entryBAddrHi1_return#0 2.0 (byte*~) initEntry::entryBAddrLo1_$0 (byte*) initEntry::entryBAddrLo1_entry (byte*) initEntry::entryBAddrLo1_return -(byte*) initEntry::entryBAddrLo1_return#0 2.0 (byte*~) initEntry::entryBError1_$0 (byte*) initEntry::entryBError1_entry (byte*) initEntry::entryBError1_return -(byte*) initEntry::entryBError1_return#0 2.0 (byte*~) initEntry::entryBFlag1_$0 (byte*) initEntry::entryBFlag1_entry (byte*) initEntry::entryBFlag1_return -(byte*) initEntry::entryBFlag1_return#0 2.0 (byte*~) initEntry::entryBufDisk1_$0 -(byte*) initEntry::entryBufDisk1_$0#0 0.7317073170731708 +(byte*) initEntry::entryBufDisk1_$0#0 0.5128205128205128 (byte**~) initEntry::entryBufDisk1_$1 (byte*) initEntry::entryBufDisk1_entry (byte**) initEntry::entryBufDisk1_return -(byte**) initEntry::entryBufDisk1_return#0 2.0 (byte*~) initEntry::entryBufEdit1_$0 -(byte*) initEntry::entryBufEdit1_$0#0 4.0 (byte**~) initEntry::entryBufEdit1_$1 (byte*) initEntry::entryBufEdit1_entry (byte**) initEntry::entryBufEdit1_return -(byte**) initEntry::entryBufEdit1_return#0 2.0 (byte*~) initEntry::entrySLastLink1_$0 (byte*) initEntry::entrySLastLink1_entry (byte*) initEntry::entrySLastLink1_return -(byte*) initEntry::entrySLastLink1_return#0 2.0 (byte*~) initEntry::entryTHi1_$0 (byte*) initEntry::entryTHi1_entry (byte*) initEntry::entryTHi1_return -(byte*) initEntry::entryTHi1_return#0 2.0 (byte*~) initEntry::entryTLastLink1_$0 (byte*) initEntry::entryTLastLink1_entry (byte*) initEntry::entryTLastLink1_return -(byte*) initEntry::entryTLastLink1_return#0 2.0 (byte*~) initEntry::entryTLo1_$0 (byte*) initEntry::entryTLo1_entry (byte*) initEntry::entryTLo1_return -(byte*) initEntry::entryTLo1_return#0 2.0 (byte*~) initEntry::entryTsLen1_$0 -(byte*) initEntry::entryTsLen1_$0#0 4.0 (word*~) initEntry::entryTsLen1_$1 (byte*) initEntry::entryTsLen1_entry (word*) initEntry::entryTsLen1_return -(word*) initEntry::entryTsLen1_return#0 2.0 (byte*~) initEntry::entryTsOrder1_$0 -(byte*) initEntry::entryTsOrder1_$0#0 4.0 (word**~) initEntry::entryTsOrder1_$1 (byte*) initEntry::entryTsOrder1_entry (word**) initEntry::entryTsOrder1_return -(word**) initEntry::entryTsOrder1_return#0 2.0 (byte*~) initEntry::entryUCross1_$0 -(byte*) initEntry::entryUCross1_$0#0 4.0 (word*~) initEntry::entryUCross1_$1 (byte*) initEntry::entryUCross1_entry (word*) initEntry::entryUCross1_return -(word*) initEntry::entryUCross1_return#0 2.0 (byte) initEntry::n -(byte) initEntry::n#10 0.6190476190476191 +(byte) initEntry::n#10 0.6842105263157894 (void()) keyboard_init() (byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key) (byte~) keyboard_key_pressed::$2 4.0 @@ -4254,65 +4341,48 @@ VARIABLE REGISTER WEIGHTS (byte*~) printEntry::entryBAddrHi1_$0 (byte*) printEntry::entryBAddrHi1_entry (byte*) printEntry::entryBAddrHi1_return -(byte*) printEntry::entryBAddrHi1_return#0 4.0 (byte*~) printEntry::entryBAddrLo1_$0 (byte*) printEntry::entryBAddrLo1_entry (byte*) printEntry::entryBAddrLo1_return -(byte*) printEntry::entryBAddrLo1_return#0 4.0 (byte*~) printEntry::entryBError1_$0 (byte*) printEntry::entryBError1_entry (byte*) printEntry::entryBError1_return -(byte*) printEntry::entryBError1_return#0 4.0 (byte*~) printEntry::entryBFlag1_$0 (byte*) printEntry::entryBFlag1_entry (byte*) printEntry::entryBFlag1_return -(byte*) printEntry::entryBFlag1_return#0 4.0 (byte*~) printEntry::entryBufDisk1_$0 -(byte*) printEntry::entryBufDisk1_$0#0 0.3296703296703296 +(byte*) printEntry::entryBufDisk1_$0#0 0.22727272727272732 (byte**~) printEntry::entryBufDisk1_$1 (byte*) printEntry::entryBufDisk1_entry (byte**) printEntry::entryBufDisk1_return -(byte**) printEntry::entryBufDisk1_return#0 2.0 (byte*~) printEntry::entryBufEdit1_$0 -(byte*) printEntry::entryBufEdit1_$0#0 4.0 (byte**~) printEntry::entryBufEdit1_$1 (byte*) printEntry::entryBufEdit1_entry (byte**) printEntry::entryBufEdit1_return -(byte**) printEntry::entryBufEdit1_return#0 2.0 (byte*~) printEntry::entrySLastLink1_$0 (byte*) printEntry::entrySLastLink1_entry (byte*) printEntry::entrySLastLink1_return -(byte*) printEntry::entrySLastLink1_return#0 4.0 (byte*~) printEntry::entryTHi1_$0 (byte*) printEntry::entryTHi1_entry (byte*) printEntry::entryTHi1_return -(byte*) printEntry::entryTHi1_return#0 4.0 (byte*~) printEntry::entryTLastLink1_$0 (byte*) printEntry::entryTLastLink1_entry (byte*) printEntry::entryTLastLink1_return -(byte*) printEntry::entryTLastLink1_return#0 4.0 (byte*~) printEntry::entryTLo1_$0 (byte*) printEntry::entryTLo1_entry (byte*) printEntry::entryTLo1_return -(byte*) printEntry::entryTLo1_return#0 4.0 (byte*~) printEntry::entryTsLen1_$0 -(byte*) printEntry::entryTsLen1_$0#0 4.0 (word*~) printEntry::entryTsLen1_$1 (byte*) printEntry::entryTsLen1_entry (word*) printEntry::entryTsLen1_return -(word*) printEntry::entryTsLen1_return#0 4.0 (byte*~) printEntry::entryTsOrder1_$0 -(byte*) printEntry::entryTsOrder1_$0#0 4.0 (word**~) printEntry::entryTsOrder1_$1 (byte*) printEntry::entryTsOrder1_entry (word**) printEntry::entryTsOrder1_return -(word**) printEntry::entryTsOrder1_return#0 2.0 (byte*~) printEntry::entryUCross1_$0 -(byte*) printEntry::entryUCross1_$0#0 4.0 (word*~) printEntry::entryUCross1_$1 (byte*) printEntry::entryUCross1_entry (word*) printEntry::entryUCross1_return -(word*) printEntry::entryUCross1_return#0 4.0 (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 4.0 (byte~) print_byte::$2 4.0 @@ -4336,7 +4406,7 @@ VARIABLE REGISTER WEIGHTS (byte*) print_char_cursor (byte*) print_char_cursor#1 11.0 (byte*) print_char_cursor#11 0.8648648648648649 -(byte*) print_char_cursor#142 1.0754716981132075 +(byte*) print_char_cursor#142 1.1632653061224494 (byte*) print_char_cursor#143 9.800000000000002 (byte*) print_char_cursor#145 7.333333333333334 (byte*) print_char_cursor#164 32.0 @@ -4366,7 +4436,7 @@ VARIABLE REGISTER WEIGHTS (byte*) print_cls::sc#2 16.5 (byte[]) print_hextab (byte*) print_line_cursor -(byte*) print_line_cursor#1 1.03960396039604 +(byte*) print_line_cursor#1 1.0824742268041243 (byte*~) print_line_cursor#159 2.0 (byte*~) print_line_cursor#160 2.0 (byte*~) print_line_cursor#161 2.0 @@ -4432,54 +4502,20 @@ Added variable keyboard_key_pressed::$2 to zero page equivalence class [ keyboar Added variable keyboard_key_pressed::return#0 to zero page equivalence class [ keyboard_key_pressed::return#0 ] Added variable keyboard_matrix_read::return#0 to zero page equivalence class [ keyboard_matrix_read::return#0 ] Added variable print_line_cursor#1 to zero page equivalence class [ print_line_cursor#1 ] -Added variable printEntry::entryBufDisk1_return#0 to zero page equivalence class [ printEntry::entryBufDisk1_return#0 ] -Added variable printEntry::entryBufEdit1_$0#0 to zero page equivalence class [ printEntry::entryBufEdit1_$0#0 ] -Added variable printEntry::entryBufEdit1_return#0 to zero page equivalence class [ printEntry::entryBufEdit1_return#0 ] -Added variable printEntry::entryTsLen1_$0#0 to zero page equivalence class [ printEntry::entryTsLen1_$0#0 ] -Added variable printEntry::entryTsLen1_return#0 to zero page equivalence class [ printEntry::entryTsLen1_return#0 ] -Added variable printEntry::entryTsOrder1_$0#0 to zero page equivalence class [ printEntry::entryTsOrder1_$0#0 ] -Added variable printEntry::entryTsOrder1_return#0 to zero page equivalence class [ printEntry::entryTsOrder1_return#0 ] -Added variable printEntry::entryTLastLink1_return#0 to zero page equivalence class [ printEntry::entryTLastLink1_return#0 ] -Added variable printEntry::entrySLastLink1_return#0 to zero page equivalence class [ printEntry::entrySLastLink1_return#0 ] -Added variable printEntry::entryBFlag1_return#0 to zero page equivalence class [ printEntry::entryBFlag1_return#0 ] -Added variable printEntry::entryBError1_return#0 to zero page equivalence class [ printEntry::entryBError1_return#0 ] -Added variable printEntry::entryUCross1_$0#0 to zero page equivalence class [ printEntry::entryUCross1_$0#0 ] -Added variable printEntry::entryUCross1_return#0 to zero page equivalence class [ printEntry::entryUCross1_return#0 ] -Added variable printEntry::entryBAddrLo1_return#0 to zero page equivalence class [ printEntry::entryBAddrLo1_return#0 ] -Added variable printEntry::entryBAddrHi1_return#0 to zero page equivalence class [ printEntry::entryBAddrHi1_return#0 ] -Added variable printEntry::entryTHi1_return#0 to zero page equivalence class [ printEntry::entryTHi1_return#0 ] -Added variable printEntry::entryTLo1_return#0 to zero page equivalence class [ printEntry::entryTLo1_return#0 ] Added variable print_byte::$0 to zero page equivalence class [ print_byte::$0 ] Added variable print_byte::$2 to zero page equivalence class [ print_byte::$2 ] -Added variable initEntry::entryBufDisk1_return#0 to zero page equivalence class [ initEntry::entryBufDisk1_return#0 ] Added variable initEntry::$1 to zero page equivalence class [ initEntry::$1 ] -Added variable initEntry::entryBufEdit1_$0#0 to zero page equivalence class [ initEntry::entryBufEdit1_$0#0 ] -Added variable initEntry::entryBufEdit1_return#0 to zero page equivalence class [ initEntry::entryBufEdit1_return#0 ] Added variable initEntry::$3 to zero page equivalence class [ initEntry::$3 ] -Added variable initEntry::entryTsLen1_$0#0 to zero page equivalence class [ initEntry::entryTsLen1_$0#0 ] -Added variable initEntry::entryTsLen1_return#0 to zero page equivalence class [ initEntry::entryTsLen1_return#0 ] Added variable initEntry::$5 to zero page equivalence class [ initEntry::$5 ] -Added variable initEntry::entryTsOrder1_$0#0 to zero page equivalence class [ initEntry::entryTsOrder1_$0#0 ] -Added variable initEntry::entryTsOrder1_return#0 to zero page equivalence class [ initEntry::entryTsOrder1_return#0 ] Added variable initEntry::$7 to zero page equivalence class [ initEntry::$7 ] -Added variable initEntry::entryTLastLink1_return#0 to zero page equivalence class [ initEntry::entryTLastLink1_return#0 ] Added variable initEntry::$9 to zero page equivalence class [ initEntry::$9 ] -Added variable initEntry::entrySLastLink1_return#0 to zero page equivalence class [ initEntry::entrySLastLink1_return#0 ] Added variable initEntry::$11 to zero page equivalence class [ initEntry::$11 ] -Added variable initEntry::entryBFlag1_return#0 to zero page equivalence class [ initEntry::entryBFlag1_return#0 ] Added variable initEntry::$13 to zero page equivalence class [ initEntry::$13 ] -Added variable initEntry::entryBError1_return#0 to zero page equivalence class [ initEntry::entryBError1_return#0 ] Added variable initEntry::$15 to zero page equivalence class [ initEntry::$15 ] -Added variable initEntry::entryUCross1_$0#0 to zero page equivalence class [ initEntry::entryUCross1_$0#0 ] -Added variable initEntry::entryUCross1_return#0 to zero page equivalence class [ initEntry::entryUCross1_return#0 ] Added variable initEntry::$17 to zero page equivalence class [ initEntry::$17 ] -Added variable initEntry::entryBAddrLo1_return#0 to zero page equivalence class [ initEntry::entryBAddrLo1_return#0 ] Added variable initEntry::$19 to zero page equivalence class [ initEntry::$19 ] -Added variable initEntry::entryBAddrHi1_return#0 to zero page equivalence class [ initEntry::entryBAddrHi1_return#0 ] Added variable initEntry::$21 to zero page equivalence class [ initEntry::$21 ] -Added variable initEntry::entryTHi1_return#0 to zero page equivalence class [ initEntry::entryTHi1_return#0 ] Added variable initEntry::$23 to zero page equivalence class [ initEntry::$23 ] -Added variable initEntry::entryTLo1_return#0 to zero page equivalence class [ initEntry::entryTLo1_return#0 ] Added variable initEntry::$25 to zero page equivalence class [ initEntry::$25 ] Added variable mul8u::$1 to zero page equivalence class [ mul8u::$1 ] Complete equivalence classes @@ -4511,54 +4547,20 @@ Complete equivalence classes [ keyboard_key_pressed::return#0 ] [ keyboard_matrix_read::return#0 ] [ print_line_cursor#1 ] -[ printEntry::entryBufDisk1_return#0 ] -[ printEntry::entryBufEdit1_$0#0 ] -[ printEntry::entryBufEdit1_return#0 ] -[ printEntry::entryTsLen1_$0#0 ] -[ printEntry::entryTsLen1_return#0 ] -[ printEntry::entryTsOrder1_$0#0 ] -[ printEntry::entryTsOrder1_return#0 ] -[ printEntry::entryTLastLink1_return#0 ] -[ printEntry::entrySLastLink1_return#0 ] -[ printEntry::entryBFlag1_return#0 ] -[ printEntry::entryBError1_return#0 ] -[ printEntry::entryUCross1_$0#0 ] -[ printEntry::entryUCross1_return#0 ] -[ printEntry::entryBAddrLo1_return#0 ] -[ printEntry::entryBAddrHi1_return#0 ] -[ printEntry::entryTHi1_return#0 ] -[ printEntry::entryTLo1_return#0 ] [ print_byte::$0 ] [ print_byte::$2 ] -[ initEntry::entryBufDisk1_return#0 ] [ initEntry::$1 ] -[ initEntry::entryBufEdit1_$0#0 ] -[ initEntry::entryBufEdit1_return#0 ] [ initEntry::$3 ] -[ initEntry::entryTsLen1_$0#0 ] -[ initEntry::entryTsLen1_return#0 ] [ initEntry::$5 ] -[ initEntry::entryTsOrder1_$0#0 ] -[ initEntry::entryTsOrder1_return#0 ] [ initEntry::$7 ] -[ initEntry::entryTLastLink1_return#0 ] [ initEntry::$9 ] -[ initEntry::entrySLastLink1_return#0 ] [ initEntry::$11 ] -[ initEntry::entryBFlag1_return#0 ] [ initEntry::$13 ] -[ initEntry::entryBError1_return#0 ] [ initEntry::$15 ] -[ initEntry::entryUCross1_$0#0 ] -[ initEntry::entryUCross1_return#0 ] [ initEntry::$17 ] -[ initEntry::entryBAddrLo1_return#0 ] [ initEntry::$19 ] -[ initEntry::entryBAddrHi1_return#0 ] [ initEntry::$21 ] -[ initEntry::entryTHi1_return#0 ] [ initEntry::$23 ] -[ initEntry::entryTLo1_return#0 ] [ initEntry::$25 ] [ mul8u::$1 ] Allocated zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] @@ -4589,56 +4591,22 @@ Allocated zp ZP_BYTE:41 [ keyboard_key_pressed::$2 ] Allocated zp ZP_BYTE:42 [ keyboard_key_pressed::return#0 ] Allocated zp ZP_BYTE:43 [ keyboard_matrix_read::return#0 ] Allocated zp ZP_WORD:44 [ print_line_cursor#1 ] -Allocated zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] -Allocated zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] -Allocated zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] -Allocated zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] -Allocated zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] -Allocated zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] -Allocated zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] -Allocated zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] -Allocated zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] -Allocated zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] -Allocated zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] -Allocated zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] -Allocated zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] -Allocated zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] -Allocated zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] -Allocated zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] -Allocated zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] -Allocated zp ZP_BYTE:80 [ print_byte::$0 ] -Allocated zp ZP_BYTE:81 [ print_byte::$2 ] -Allocated zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] -Allocated zp ZP_BYTE:84 [ initEntry::$1 ] -Allocated zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] -Allocated zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] -Allocated zp ZP_BYTE:89 [ initEntry::$3 ] -Allocated zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] -Allocated zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] -Allocated zp ZP_BYTE:94 [ initEntry::$5 ] -Allocated zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] -Allocated zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] -Allocated zp ZP_BYTE:99 [ initEntry::$7 ] -Allocated zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] -Allocated zp ZP_BYTE:102 [ initEntry::$9 ] -Allocated zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] -Allocated zp ZP_BYTE:105 [ initEntry::$11 ] -Allocated zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] -Allocated zp ZP_BYTE:108 [ initEntry::$13 ] -Allocated zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] -Allocated zp ZP_BYTE:111 [ initEntry::$15 ] -Allocated zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] -Allocated zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] -Allocated zp ZP_BYTE:116 [ initEntry::$17 ] -Allocated zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] -Allocated zp ZP_BYTE:119 [ initEntry::$19 ] -Allocated zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] -Allocated zp ZP_BYTE:122 [ initEntry::$21 ] -Allocated zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] -Allocated zp ZP_BYTE:125 [ initEntry::$23 ] -Allocated zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] -Allocated zp ZP_BYTE:128 [ initEntry::$25 ] -Allocated zp ZP_BYTE:129 [ mul8u::$1 ] +Allocated zp ZP_BYTE:46 [ print_byte::$0 ] +Allocated zp ZP_BYTE:47 [ print_byte::$2 ] +Allocated zp ZP_WORD:48 [ initEntry::$1 ] +Allocated zp ZP_WORD:50 [ initEntry::$3 ] +Allocated zp ZP_WORD:52 [ initEntry::$5 ] +Allocated zp ZP_WORD:54 [ initEntry::$7 ] +Allocated zp ZP_BYTE:56 [ initEntry::$9 ] +Allocated zp ZP_BYTE:57 [ initEntry::$11 ] +Allocated zp ZP_BYTE:58 [ initEntry::$13 ] +Allocated zp ZP_BYTE:59 [ initEntry::$15 ] +Allocated zp ZP_WORD:60 [ initEntry::$17 ] +Allocated zp ZP_BYTE:62 [ initEntry::$19 ] +Allocated zp ZP_BYTE:63 [ initEntry::$21 ] +Allocated zp ZP_BYTE:64 [ initEntry::$23 ] +Allocated zp ZP_BYTE:65 [ initEntry::$25 ] +Allocated zp ZP_BYTE:66 [ mul8u::$1 ] INITIAL ASM //SEG0 File Comments @@ -4736,9 +4704,9 @@ main: { //SEG13 main::fileEntry1 fileEntry1: //SEG14 [7] call mul8u - //SEG15 [253] phi from main::fileEntry1 to mul8u [phi:main::fileEntry1->mul8u] + //SEG15 [245] phi from main::fileEntry1 to mul8u [phi:main::fileEntry1->mul8u] mul8u_from_fileEntry1: - //SEG16 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry1_idx#0 [phi:main::fileEntry1->mul8u#0] -- vbuz1=vbuc1 + //SEG16 [245] phi (byte) mul8u::a#6 = (const byte) main::fileEntry1_idx#0 [phi:main::fileEntry1->mul8u#0] -- vbuz1=vbuc1 lda #fileEntry1_idx sta mul8u.a jsr mul8u @@ -4769,9 +4737,9 @@ main: { //SEG22 main::fileEntry2 fileEntry2: //SEG23 [12] call mul8u - //SEG24 [253] phi from main::fileEntry2 to mul8u [phi:main::fileEntry2->mul8u] + //SEG24 [245] phi from main::fileEntry2 to mul8u [phi:main::fileEntry2->mul8u] mul8u_from_fileEntry2: - //SEG25 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry2_idx#0 [phi:main::fileEntry2->mul8u#0] -- vbuz1=vbuc1 + //SEG25 [245] phi (byte) mul8u::a#6 = (const byte) main::fileEntry2_idx#0 [phi:main::fileEntry2->mul8u#0] -- vbuz1=vbuc1 lda #fileEntry2_idx sta mul8u.a jsr mul8u @@ -4805,12 +4773,12 @@ main: { lda entry1+1 sta initEntry.entry+1 //SEG32 [17] call initEntry - //SEG33 [208] phi from main::@5 to initEntry [phi:main::@5->initEntry] + //SEG33 [204] phi from main::@5 to initEntry [phi:main::@5->initEntry] initEntry_from_b5: - //SEG34 [208] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@5->initEntry#0] -- vbuz1=vbuc1 + //SEG34 [204] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@5->initEntry#0] -- vbuz1=vbuc1 lda #0 sta initEntry.n - //SEG35 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#0 [phi:main::@5->initEntry#1] -- register_copy + //SEG35 [204] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#0 [phi:main::@5->initEntry#1] -- register_copy jsr initEntry jmp b8 //SEG36 main::@8 @@ -4821,12 +4789,12 @@ main: { lda entry2+1 sta initEntry.entry+1 //SEG38 [19] call initEntry - //SEG39 [208] phi from main::@8 to initEntry [phi:main::@8->initEntry] + //SEG39 [204] phi from main::@8 to initEntry [phi:main::@8->initEntry] initEntry_from_b8: - //SEG40 [208] phi (byte) initEntry::n#10 = (byte/word/signed word/dword/signed dword) $80 [phi:main::@8->initEntry#0] -- vbuz1=vbuc1 - lda #$80 + //SEG40 [204] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) $11 [phi:main::@8->initEntry#0] -- vbuz1=vbuc1 + lda #$11 sta initEntry.n - //SEG41 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#1 [phi:main::@8->initEntry#1] -- register_copy + //SEG41 [204] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#1 [phi:main::@8->initEntry#1] -- register_copy jsr initEntry //SEG42 [20] phi from main::@8 to main::@9 [phi:main::@8->main::@9] b9_from_b8: @@ -5300,23 +5268,6 @@ print_ln: { printEntry: { .label entry = 8 .label entryBufDisk1__0 = 8 - .label entryBufDisk1_return = $2e - .label entryBufEdit1__0 = $30 - .label entryBufEdit1_return = $32 - .label entryTsLen1__0 = $34 - .label entryTsLen1_return = $36 - .label entryTsOrder1__0 = $38 - .label entryTsOrder1_return = $3a - .label entryTLastLink1_return = $3c - .label entrySLastLink1_return = $3e - .label entryBFlag1_return = $40 - .label entryBError1_return = $42 - .label entryUCross1__0 = $44 - .label entryUCross1_return = $46 - .label entryBAddrLo1_return = $48 - .label entryBAddrHi1_return = $4a - .label entryTHi1_return = $4c - .label entryTLo1_return = $4e //SEG193 [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor @@ -5332,28 +5283,25 @@ printEntry: { lda #>str sta print_str.str+1 jsr print_str + //SEG198 [96] phi from printEntry to printEntry::entryBufDisk1 [phi:printEntry->printEntry::entryBufDisk1] + entryBufDisk1_from_printEntry: jmp entryBufDisk1 - //SEG198 printEntry::entryBufDisk1 + //SEG199 printEntry::entryBufDisk1 entryBufDisk1: - //SEG199 [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryBufDisk1__0 - sta entryBufDisk1_return - lda entryBufDisk1__0+1 - sta entryBufDisk1_return+1 jmp b1 //SEG200 printEntry::@1 b1: - //SEG201 [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) -- vwuz1=_deref_pwuz2 + //SEG201 [97] (word~) print_word::w#7 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0) -- vwuz1=_deref_pptz2 ldy #0 - lda (entryBufDisk1_return),y + lda (entryBufDisk1__0),y sta print_word.w iny - lda (entryBufDisk1_return),y + lda (entryBufDisk1__0),y sta print_word.w+1 //SEG202 [98] call print_word - //SEG203 [202] phi from printEntry::@1 to print_word [phi:printEntry::@1->print_word] + //SEG203 [198] phi from printEntry::@1 to print_word [phi:printEntry::@1->print_word] print_word_from_b1: - //SEG204 [202] phi (word) print_word::w#5 = (word~) print_word::w#7 [phi:printEntry::@1->print_word#0] -- register_copy + //SEG204 [198] phi (word) print_word::w#5 = (word~) print_word::w#7 [phi:printEntry::@1->print_word#0] -- register_copy jsr print_word jmp b14 //SEG205 printEntry::@14 @@ -5387,692 +5335,600 @@ printEntry: { lda #>str1 sta print_str.str+1 jsr print_str + //SEG217 [103] phi from printEntry::@15 to printEntry::entryBufEdit1 [phi:printEntry::@15->printEntry::entryBufEdit1] + entryBufEdit1_from_b15: jmp entryBufEdit1 - //SEG217 printEntry::entryBufEdit1 + //SEG218 printEntry::entryBufEdit1 entryBufEdit1: - //SEG218 [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 - lda entryBufDisk1__0 - clc - adc #2 - sta entryBufEdit1__0 - lda entryBufDisk1__0+1 - adc #0 - sta entryBufEdit1__0+1 - //SEG219 [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryBufEdit1__0 - sta entryBufEdit1_return - lda entryBufEdit1__0+1 - sta entryBufEdit1_return+1 jmp b2 - //SEG220 printEntry::@2 + //SEG219 printEntry::@2 b2: - //SEG221 [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) -- vwuz1=_deref_pwuz2 - ldy #0 - lda (entryBufEdit1_return),y + //SEG220 [104] (word~) print_word::w#8 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) -- vwuz1=pptz2_derefidx_vbuc1 + ldy #2 + lda (entryBufDisk1__0),y sta print_word.w iny - lda (entryBufEdit1_return),y + lda (entryBufDisk1__0),y sta print_word.w+1 - //SEG222 [106] call print_word - //SEG223 [202] phi from printEntry::@2 to print_word [phi:printEntry::@2->print_word] + //SEG221 [105] call print_word + //SEG222 [198] phi from printEntry::@2 to print_word [phi:printEntry::@2->print_word] print_word_from_b2: - //SEG224 [202] phi (word) print_word::w#5 = (word~) print_word::w#8 [phi:printEntry::@2->print_word#0] -- register_copy + //SEG223 [198] phi (word) print_word::w#5 = (word~) print_word::w#8 [phi:printEntry::@2->print_word#0] -- register_copy jsr print_word jmp b16 - //SEG225 printEntry::@16 + //SEG224 printEntry::@16 b16: - //SEG226 [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG225 [106] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_164 lda print_line_cursor+1 sta print_line_cursor_164+1 - //SEG227 [108] call print_ln - //SEG228 [87] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln] + //SEG226 [107] call print_ln + //SEG227 [87] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln] print_ln_from_b16: - //SEG229 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@16->print_ln#0] -- register_copy - //SEG230 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#164 [phi:printEntry::@16->print_ln#1] -- register_copy + //SEG228 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@16->print_ln#0] -- register_copy + //SEG229 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#164 [phi:printEntry::@16->print_ln#1] -- register_copy jsr print_ln jmp b17 - //SEG231 printEntry::@17 + //SEG230 printEntry::@17 b17: - //SEG232 [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG231 [108] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG233 [110] call print_str - //SEG234 [80] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str] + //SEG232 [109] call print_str + //SEG233 [80] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str] print_str_from_b17: - //SEG235 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#216 [phi:printEntry::@17->print_str#0] -- register_copy - //SEG236 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 + //SEG234 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#216 [phi:printEntry::@17->print_str#0] -- register_copy + //SEG235 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str + //SEG236 [110] phi from printEntry::@17 to printEntry::entryTsLen1 [phi:printEntry::@17->printEntry::entryTsLen1] + entryTsLen1_from_b17: jmp entryTsLen1 //SEG237 printEntry::entryTsLen1 entryTsLen1: - //SEG238 [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 - lda #4 - clc - adc entryBufDisk1__0 - sta entryTsLen1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsLen1__0+1 - //SEG239 [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz2 - lda entryTsLen1__0 - sta entryTsLen1_return - lda entryTsLen1__0+1 - sta entryTsLen1_return+1 jmp b3 - //SEG240 printEntry::@3 + //SEG238 printEntry::@3 b3: - //SEG241 [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) -- vwuz1=_deref_pwuz2 - ldy #0 - lda (entryTsLen1_return),y + //SEG239 [111] (word) print_word::w#2 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) -- vwuz1=pwuz2_derefidx_vbuc1 + ldy #4 + lda (entryBufDisk1__0),y sta print_word.w iny - lda (entryTsLen1_return),y + lda (entryBufDisk1__0),y sta print_word.w+1 - //SEG242 [114] call print_word - //SEG243 [202] phi from printEntry::@3 to print_word [phi:printEntry::@3->print_word] + //SEG240 [112] call print_word + //SEG241 [198] phi from printEntry::@3 to print_word [phi:printEntry::@3->print_word] print_word_from_b3: - //SEG244 [202] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:printEntry::@3->print_word#0] -- register_copy + //SEG242 [198] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:printEntry::@3->print_word#0] -- register_copy jsr print_word jmp b18 - //SEG245 printEntry::@18 + //SEG243 printEntry::@18 b18: - //SEG246 [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG244 [113] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_165 lda print_line_cursor+1 sta print_line_cursor_165+1 - //SEG247 [116] call print_ln - //SEG248 [87] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln] + //SEG245 [114] call print_ln + //SEG246 [87] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln] print_ln_from_b18: - //SEG249 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@18->print_ln#0] -- register_copy - //SEG250 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#165 [phi:printEntry::@18->print_ln#1] -- register_copy + //SEG247 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@18->print_ln#0] -- register_copy + //SEG248 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#165 [phi:printEntry::@18->print_ln#1] -- register_copy jsr print_ln jmp b19 - //SEG251 printEntry::@19 + //SEG249 printEntry::@19 b19: - //SEG252 [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG250 [115] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG253 [118] call print_str - //SEG254 [80] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str] + //SEG251 [116] call print_str + //SEG252 [80] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str] print_str_from_b19: - //SEG255 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#217 [phi:printEntry::@19->print_str#0] -- register_copy - //SEG256 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 + //SEG253 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#217 [phi:printEntry::@19->print_str#0] -- register_copy + //SEG254 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str + //SEG255 [117] phi from printEntry::@19 to printEntry::entryTsOrder1 [phi:printEntry::@19->printEntry::entryTsOrder1] + entryTsOrder1_from_b19: jmp entryTsOrder1 - //SEG257 printEntry::entryTsOrder1 + //SEG256 printEntry::entryTsOrder1 entryTsOrder1: - //SEG258 [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 - lda #6 - clc - adc entryBufDisk1__0 - sta entryTsOrder1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsOrder1__0+1 - //SEG259 [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryTsOrder1__0 - sta entryTsOrder1_return - lda entryTsOrder1__0+1 - sta entryTsOrder1_return+1 jmp b4 - //SEG260 printEntry::@4 + //SEG257 printEntry::@4 b4: - //SEG261 [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) -- vwuz1=_deref_pwuz2 - ldy #0 - lda (entryTsOrder1_return),y + //SEG258 [118] (word~) print_word::w#10 ← (word)*((word**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) -- vwuz1=pptz2_derefidx_vbuc1 + ldy #6 + lda (entryBufDisk1__0),y sta print_word.w iny - lda (entryTsOrder1_return),y + lda (entryBufDisk1__0),y sta print_word.w+1 - //SEG262 [122] call print_word - //SEG263 [202] phi from printEntry::@4 to print_word [phi:printEntry::@4->print_word] + //SEG259 [119] call print_word + //SEG260 [198] phi from printEntry::@4 to print_word [phi:printEntry::@4->print_word] print_word_from_b4: - //SEG264 [202] phi (word) print_word::w#5 = (word~) print_word::w#10 [phi:printEntry::@4->print_word#0] -- register_copy + //SEG261 [198] phi (word) print_word::w#5 = (word~) print_word::w#10 [phi:printEntry::@4->print_word#0] -- register_copy jsr print_word jmp b20 - //SEG265 printEntry::@20 + //SEG262 printEntry::@20 b20: - //SEG266 [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG263 [120] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_166 lda print_line_cursor+1 sta print_line_cursor_166+1 - //SEG267 [124] call print_ln - //SEG268 [87] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln] + //SEG264 [121] call print_ln + //SEG265 [87] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln] print_ln_from_b20: - //SEG269 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@20->print_ln#0] -- register_copy - //SEG270 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#166 [phi:printEntry::@20->print_ln#1] -- register_copy + //SEG266 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@20->print_ln#0] -- register_copy + //SEG267 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#166 [phi:printEntry::@20->print_ln#1] -- register_copy jsr print_ln jmp b21 - //SEG271 printEntry::@21 + //SEG268 printEntry::@21 b21: - //SEG272 [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG269 [122] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG273 [126] call print_str - //SEG274 [80] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str] + //SEG270 [123] call print_str + //SEG271 [80] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str] print_str_from_b21: - //SEG275 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#218 [phi:printEntry::@21->print_str#0] -- register_copy - //SEG276 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 + //SEG272 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#218 [phi:printEntry::@21->print_str#0] -- register_copy + //SEG273 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 lda #str4 sta print_str.str+1 jsr print_str + //SEG274 [124] phi from printEntry::@21 to printEntry::entryTLastLink1 [phi:printEntry::@21->printEntry::entryTLastLink1] + entryTLastLink1_from_b21: jmp entryTLastLink1 - //SEG277 printEntry::entryTLastLink1 + //SEG275 printEntry::entryTLastLink1 entryTLastLink1: - //SEG278 [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 - lda #8 - clc - adc entryBufDisk1__0 - sta entryTLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLastLink1_return+1 jmp b5 - //SEG279 printEntry::@5 + //SEG276 printEntry::@5 b5: - //SEG280 [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (entryTLastLink1_return),y + //SEG277 [125] (byte) print_byte::b#2 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) -- vbuz1=pbuz2_derefidx_vbuc1 + ldy #8 + lda (entryBufDisk1__0),y sta print_byte.b - //SEG281 [129] call print_byte - //SEG282 [190] phi from printEntry::@5 to print_byte [phi:printEntry::@5->print_byte] + //SEG278 [126] call print_byte + //SEG279 [186] phi from printEntry::@5 to print_byte [phi:printEntry::@5->print_byte] print_byte_from_b5: - //SEG283 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@5->print_byte#0] -- register_copy - //SEG284 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#2 [phi:printEntry::@5->print_byte#1] -- register_copy + //SEG280 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@5->print_byte#0] -- register_copy + //SEG281 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#2 [phi:printEntry::@5->print_byte#1] -- register_copy jsr print_byte jmp b22 - //SEG285 printEntry::@22 + //SEG282 printEntry::@22 b22: - //SEG286 [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG283 [127] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_167 lda print_line_cursor+1 sta print_line_cursor_167+1 - //SEG287 [131] call print_ln - //SEG288 [87] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln] + //SEG284 [128] call print_ln + //SEG285 [87] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln] print_ln_from_b22: - //SEG289 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@22->print_ln#0] -- register_copy - //SEG290 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#167 [phi:printEntry::@22->print_ln#1] -- register_copy + //SEG286 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@22->print_ln#0] -- register_copy + //SEG287 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#167 [phi:printEntry::@22->print_ln#1] -- register_copy jsr print_ln jmp b23 - //SEG291 printEntry::@23 + //SEG288 printEntry::@23 b23: - //SEG292 [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG289 [129] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG293 [133] call print_str - //SEG294 [80] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str] + //SEG290 [130] call print_str + //SEG291 [80] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str] print_str_from_b23: - //SEG295 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#219 [phi:printEntry::@23->print_str#0] -- register_copy - //SEG296 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 + //SEG292 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#219 [phi:printEntry::@23->print_str#0] -- register_copy + //SEG293 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 lda #str5 sta print_str.str+1 jsr print_str + //SEG294 [131] phi from printEntry::@23 to printEntry::entrySLastLink1 [phi:printEntry::@23->printEntry::entrySLastLink1] + entrySLastLink1_from_b23: jmp entrySLastLink1 - //SEG297 printEntry::entrySLastLink1 + //SEG295 printEntry::entrySLastLink1 entrySLastLink1: - //SEG298 [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 - lda #9 - clc - adc entryBufDisk1__0 - sta entrySLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entrySLastLink1_return+1 jmp b6 - //SEG299 printEntry::@6 + //SEG296 printEntry::@6 b6: - //SEG300 [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (entrySLastLink1_return),y + //SEG297 [132] (byte) print_byte::b#3 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) -- vbuz1=pbuz2_derefidx_vbuc1 + ldy #9 + lda (entryBufDisk1__0),y sta print_byte.b - //SEG301 [136] call print_byte - //SEG302 [190] phi from printEntry::@6 to print_byte [phi:printEntry::@6->print_byte] + //SEG298 [133] call print_byte + //SEG299 [186] phi from printEntry::@6 to print_byte [phi:printEntry::@6->print_byte] print_byte_from_b6: - //SEG303 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@6->print_byte#0] -- register_copy - //SEG304 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#3 [phi:printEntry::@6->print_byte#1] -- register_copy + //SEG300 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@6->print_byte#0] -- register_copy + //SEG301 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#3 [phi:printEntry::@6->print_byte#1] -- register_copy jsr print_byte jmp b24 - //SEG305 printEntry::@24 + //SEG302 printEntry::@24 b24: - //SEG306 [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG303 [134] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_168 lda print_line_cursor+1 sta print_line_cursor_168+1 - //SEG307 [138] call print_ln - //SEG308 [87] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln] + //SEG304 [135] call print_ln + //SEG305 [87] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln] print_ln_from_b24: - //SEG309 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@24->print_ln#0] -- register_copy - //SEG310 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#168 [phi:printEntry::@24->print_ln#1] -- register_copy + //SEG306 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@24->print_ln#0] -- register_copy + //SEG307 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#168 [phi:printEntry::@24->print_ln#1] -- register_copy jsr print_ln jmp b25 - //SEG311 printEntry::@25 + //SEG308 printEntry::@25 b25: - //SEG312 [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG309 [136] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG313 [140] call print_str - //SEG314 [80] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str] + //SEG310 [137] call print_str + //SEG311 [80] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str] print_str_from_b25: - //SEG315 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#220 [phi:printEntry::@25->print_str#0] -- register_copy - //SEG316 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 + //SEG312 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#220 [phi:printEntry::@25->print_str#0] -- register_copy + //SEG313 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 lda #str6 sta print_str.str+1 jsr print_str + //SEG314 [138] phi from printEntry::@25 to printEntry::entryBFlag1 [phi:printEntry::@25->printEntry::entryBFlag1] + entryBFlag1_from_b25: jmp entryBFlag1 - //SEG317 printEntry::entryBFlag1 + //SEG315 printEntry::entryBFlag1 entryBFlag1: - //SEG318 [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 - lda #$a - clc - adc entryBufDisk1__0 - sta entryBFlag1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBFlag1_return+1 jmp b7 - //SEG319 printEntry::@7 + //SEG316 printEntry::@7 b7: - //SEG320 [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (entryBFlag1_return),y + //SEG317 [139] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) -- vbuz1=pbuz2_derefidx_vbuc1 + ldy #$a + lda (entryBufDisk1__0),y sta print_byte.b - //SEG321 [143] call print_byte - //SEG322 [190] phi from printEntry::@7 to print_byte [phi:printEntry::@7->print_byte] + //SEG318 [140] call print_byte + //SEG319 [186] phi from printEntry::@7 to print_byte [phi:printEntry::@7->print_byte] print_byte_from_b7: - //SEG323 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@7->print_byte#0] -- register_copy - //SEG324 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#4 [phi:printEntry::@7->print_byte#1] -- register_copy + //SEG320 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@7->print_byte#0] -- register_copy + //SEG321 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#4 [phi:printEntry::@7->print_byte#1] -- register_copy jsr print_byte jmp b26 - //SEG325 printEntry::@26 + //SEG322 printEntry::@26 b26: - //SEG326 [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG323 [141] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_169 lda print_line_cursor+1 sta print_line_cursor_169+1 - //SEG327 [145] call print_ln - //SEG328 [87] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln] + //SEG324 [142] call print_ln + //SEG325 [87] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln] print_ln_from_b26: - //SEG329 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@26->print_ln#0] -- register_copy - //SEG330 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#169 [phi:printEntry::@26->print_ln#1] -- register_copy + //SEG326 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@26->print_ln#0] -- register_copy + //SEG327 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#169 [phi:printEntry::@26->print_ln#1] -- register_copy jsr print_ln jmp b27 - //SEG331 printEntry::@27 + //SEG328 printEntry::@27 b27: - //SEG332 [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG329 [143] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG333 [147] call print_str - //SEG334 [80] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str] + //SEG330 [144] call print_str + //SEG331 [80] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str] print_str_from_b27: - //SEG335 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#221 [phi:printEntry::@27->print_str#0] -- register_copy - //SEG336 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 + //SEG332 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#221 [phi:printEntry::@27->print_str#0] -- register_copy + //SEG333 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 lda #str7 sta print_str.str+1 jsr print_str + //SEG334 [145] phi from printEntry::@27 to printEntry::entryBError1 [phi:printEntry::@27->printEntry::entryBError1] + entryBError1_from_b27: jmp entryBError1 - //SEG337 printEntry::entryBError1 + //SEG335 printEntry::entryBError1 entryBError1: - //SEG338 [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 - lda #$b - clc - adc entryBufDisk1__0 - sta entryBError1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBError1_return+1 jmp b8 - //SEG339 printEntry::@8 + //SEG336 printEntry::@8 b8: - //SEG340 [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (entryBError1_return),y + //SEG337 [146] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) -- vbuz1=pbuz2_derefidx_vbuc1 + ldy #$b + lda (entryBufDisk1__0),y sta print_byte.b - //SEG341 [150] call print_byte - //SEG342 [190] phi from printEntry::@8 to print_byte [phi:printEntry::@8->print_byte] + //SEG338 [147] call print_byte + //SEG339 [186] phi from printEntry::@8 to print_byte [phi:printEntry::@8->print_byte] print_byte_from_b8: - //SEG343 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@8->print_byte#0] -- register_copy - //SEG344 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#5 [phi:printEntry::@8->print_byte#1] -- register_copy + //SEG340 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@8->print_byte#0] -- register_copy + //SEG341 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#5 [phi:printEntry::@8->print_byte#1] -- register_copy jsr print_byte jmp b28 - //SEG345 printEntry::@28 + //SEG342 printEntry::@28 b28: - //SEG346 [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG343 [148] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_170 lda print_line_cursor+1 sta print_line_cursor_170+1 - //SEG347 [152] call print_ln - //SEG348 [87] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln] + //SEG344 [149] call print_ln + //SEG345 [87] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln] print_ln_from_b28: - //SEG349 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@28->print_ln#0] -- register_copy - //SEG350 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#170 [phi:printEntry::@28->print_ln#1] -- register_copy + //SEG346 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@28->print_ln#0] -- register_copy + //SEG347 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#170 [phi:printEntry::@28->print_ln#1] -- register_copy jsr print_ln jmp b29 - //SEG351 printEntry::@29 + //SEG348 printEntry::@29 b29: - //SEG352 [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG349 [150] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG353 [154] call print_str - //SEG354 [80] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str] + //SEG350 [151] call print_str + //SEG351 [80] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str] print_str_from_b29: - //SEG355 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#222 [phi:printEntry::@29->print_str#0] -- register_copy - //SEG356 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 + //SEG352 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#222 [phi:printEntry::@29->print_str#0] -- register_copy + //SEG353 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 lda #str8 sta print_str.str+1 jsr print_str + //SEG354 [152] phi from printEntry::@29 to printEntry::entryUCross1 [phi:printEntry::@29->printEntry::entryUCross1] + entryUCross1_from_b29: jmp entryUCross1 - //SEG357 printEntry::entryUCross1 + //SEG355 printEntry::entryUCross1 entryUCross1: - //SEG358 [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 - lda #$c - clc - adc entryBufDisk1__0 - sta entryUCross1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryUCross1__0+1 - //SEG359 [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz2 - lda entryUCross1__0 - sta entryUCross1_return - lda entryUCross1__0+1 - sta entryUCross1_return+1 jmp b9 - //SEG360 printEntry::@9 + //SEG356 printEntry::@9 b9: - //SEG361 [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) -- vwuz1=_deref_pwuz2 - ldy #0 - lda (entryUCross1_return),y + //SEG357 [153] (word) print_word::w#4 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) -- vwuz1=pwuz2_derefidx_vbuc1 + ldy #$c + lda (entryBufDisk1__0),y sta print_word.w iny - lda (entryUCross1_return),y + lda (entryBufDisk1__0),y sta print_word.w+1 - //SEG362 [158] call print_word - //SEG363 [202] phi from printEntry::@9 to print_word [phi:printEntry::@9->print_word] + //SEG358 [154] call print_word + //SEG359 [198] phi from printEntry::@9 to print_word [phi:printEntry::@9->print_word] print_word_from_b9: - //SEG364 [202] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:printEntry::@9->print_word#0] -- register_copy + //SEG360 [198] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:printEntry::@9->print_word#0] -- register_copy jsr print_word jmp b30 - //SEG365 printEntry::@30 + //SEG361 printEntry::@30 b30: - //SEG366 [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG362 [155] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_171 lda print_line_cursor+1 sta print_line_cursor_171+1 - //SEG367 [160] call print_ln - //SEG368 [87] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln] + //SEG363 [156] call print_ln + //SEG364 [87] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln] print_ln_from_b30: - //SEG369 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@30->print_ln#0] -- register_copy - //SEG370 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#171 [phi:printEntry::@30->print_ln#1] -- register_copy + //SEG365 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@30->print_ln#0] -- register_copy + //SEG366 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#171 [phi:printEntry::@30->print_ln#1] -- register_copy jsr print_ln jmp b31 - //SEG371 printEntry::@31 + //SEG367 printEntry::@31 b31: - //SEG372 [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG368 [157] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG373 [162] call print_str - //SEG374 [80] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str] + //SEG369 [158] call print_str + //SEG370 [80] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str] print_str_from_b31: - //SEG375 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#223 [phi:printEntry::@31->print_str#0] -- register_copy - //SEG376 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 + //SEG371 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#223 [phi:printEntry::@31->print_str#0] -- register_copy + //SEG372 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 lda #str9 sta print_str.str+1 jsr print_str + //SEG373 [159] phi from printEntry::@31 to printEntry::entryBAddrLo1 [phi:printEntry::@31->printEntry::entryBAddrLo1] + entryBAddrLo1_from_b31: jmp entryBAddrLo1 - //SEG377 printEntry::entryBAddrLo1 + //SEG374 printEntry::entryBAddrLo1 entryBAddrLo1: - //SEG378 [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 - lda #$e - clc - adc entryBufDisk1__0 - sta entryBAddrLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrLo1_return+1 jmp b10 - //SEG379 printEntry::@10 + //SEG375 printEntry::@10 b10: - //SEG380 [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (entryBAddrLo1_return),y + //SEG376 [160] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) -- vbuz1=pbuz2_derefidx_vbuc1 + ldy #$e + lda (entryBufDisk1__0),y sta print_byte.b - //SEG381 [165] call print_byte - //SEG382 [190] phi from printEntry::@10 to print_byte [phi:printEntry::@10->print_byte] + //SEG377 [161] call print_byte + //SEG378 [186] phi from printEntry::@10 to print_byte [phi:printEntry::@10->print_byte] print_byte_from_b10: - //SEG383 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@10->print_byte#0] -- register_copy - //SEG384 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#6 [phi:printEntry::@10->print_byte#1] -- register_copy + //SEG379 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@10->print_byte#0] -- register_copy + //SEG380 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#6 [phi:printEntry::@10->print_byte#1] -- register_copy jsr print_byte jmp b32 - //SEG385 printEntry::@32 + //SEG381 printEntry::@32 b32: - //SEG386 [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG382 [162] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_172 lda print_line_cursor+1 sta print_line_cursor_172+1 - //SEG387 [167] call print_ln - //SEG388 [87] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln] + //SEG383 [163] call print_ln + //SEG384 [87] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln] print_ln_from_b32: - //SEG389 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@32->print_ln#0] -- register_copy - //SEG390 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#172 [phi:printEntry::@32->print_ln#1] -- register_copy + //SEG385 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@32->print_ln#0] -- register_copy + //SEG386 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#172 [phi:printEntry::@32->print_ln#1] -- register_copy jsr print_ln jmp b33 - //SEG391 printEntry::@33 + //SEG387 printEntry::@33 b33: - //SEG392 [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG388 [164] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG393 [169] call print_str - //SEG394 [80] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str] + //SEG389 [165] call print_str + //SEG390 [80] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str] print_str_from_b33: - //SEG395 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#224 [phi:printEntry::@33->print_str#0] -- register_copy - //SEG396 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 + //SEG391 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#224 [phi:printEntry::@33->print_str#0] -- register_copy + //SEG392 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 lda #str10 sta print_str.str+1 jsr print_str + //SEG393 [166] phi from printEntry::@33 to printEntry::entryBAddrHi1 [phi:printEntry::@33->printEntry::entryBAddrHi1] + entryBAddrHi1_from_b33: jmp entryBAddrHi1 - //SEG397 printEntry::entryBAddrHi1 + //SEG394 printEntry::entryBAddrHi1 entryBAddrHi1: - //SEG398 [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 - lda #$f - clc - adc entryBufDisk1__0 - sta entryBAddrHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrHi1_return+1 jmp b11 - //SEG399 printEntry::@11 + //SEG395 printEntry::@11 b11: - //SEG400 [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (entryBAddrHi1_return),y + //SEG396 [167] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) -- vbuz1=pbuz2_derefidx_vbuc1 + ldy #$f + lda (entryBufDisk1__0),y sta print_byte.b - //SEG401 [172] call print_byte - //SEG402 [190] phi from printEntry::@11 to print_byte [phi:printEntry::@11->print_byte] + //SEG397 [168] call print_byte + //SEG398 [186] phi from printEntry::@11 to print_byte [phi:printEntry::@11->print_byte] print_byte_from_b11: - //SEG403 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@11->print_byte#0] -- register_copy - //SEG404 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#7 [phi:printEntry::@11->print_byte#1] -- register_copy + //SEG399 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@11->print_byte#0] -- register_copy + //SEG400 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#7 [phi:printEntry::@11->print_byte#1] -- register_copy jsr print_byte jmp b34 - //SEG405 printEntry::@34 + //SEG401 printEntry::@34 b34: - //SEG406 [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG402 [169] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_173 lda print_line_cursor+1 sta print_line_cursor_173+1 - //SEG407 [174] call print_ln - //SEG408 [87] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln] + //SEG403 [170] call print_ln + //SEG404 [87] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln] print_ln_from_b34: - //SEG409 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@34->print_ln#0] -- register_copy - //SEG410 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#173 [phi:printEntry::@34->print_ln#1] -- register_copy + //SEG405 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@34->print_ln#0] -- register_copy + //SEG406 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#173 [phi:printEntry::@34->print_ln#1] -- register_copy jsr print_ln jmp b35 - //SEG411 printEntry::@35 + //SEG407 printEntry::@35 b35: - //SEG412 [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG408 [171] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG413 [176] call print_str - //SEG414 [80] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str] + //SEG409 [172] call print_str + //SEG410 [80] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str] print_str_from_b35: - //SEG415 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#225 [phi:printEntry::@35->print_str#0] -- register_copy - //SEG416 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 + //SEG411 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#225 [phi:printEntry::@35->print_str#0] -- register_copy + //SEG412 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 lda #str11 sta print_str.str+1 jsr print_str + //SEG413 [173] phi from printEntry::@35 to printEntry::entryTHi1 [phi:printEntry::@35->printEntry::entryTHi1] + entryTHi1_from_b35: jmp entryTHi1 - //SEG417 printEntry::entryTHi1 + //SEG414 printEntry::entryTHi1 entryTHi1: - //SEG418 [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 - lda #$10 - clc - adc entryBufDisk1__0 - sta entryTHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTHi1_return+1 jmp b12 - //SEG419 printEntry::@12 + //SEG415 printEntry::@12 b12: - //SEG420 [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (entryTHi1_return),y + //SEG416 [174] (byte) print_byte::b#8 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) -- vbuz1=pbuz2_derefidx_vbuc1 + ldy #$10 + lda (entryBufDisk1__0),y sta print_byte.b - //SEG421 [179] call print_byte - //SEG422 [190] phi from printEntry::@12 to print_byte [phi:printEntry::@12->print_byte] + //SEG417 [175] call print_byte + //SEG418 [186] phi from printEntry::@12 to print_byte [phi:printEntry::@12->print_byte] print_byte_from_b12: - //SEG423 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@12->print_byte#0] -- register_copy - //SEG424 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#8 [phi:printEntry::@12->print_byte#1] -- register_copy + //SEG419 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@12->print_byte#0] -- register_copy + //SEG420 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#8 [phi:printEntry::@12->print_byte#1] -- register_copy jsr print_byte jmp b36 - //SEG425 printEntry::@36 + //SEG421 printEntry::@36 b36: - //SEG426 [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG422 [176] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_174 lda print_line_cursor+1 sta print_line_cursor_174+1 - //SEG427 [181] call print_ln - //SEG428 [87] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln] + //SEG423 [177] call print_ln + //SEG424 [87] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln] print_ln_from_b36: - //SEG429 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@36->print_ln#0] -- register_copy - //SEG430 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#174 [phi:printEntry::@36->print_ln#1] -- register_copy + //SEG425 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@36->print_ln#0] -- register_copy + //SEG426 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#174 [phi:printEntry::@36->print_ln#1] -- register_copy jsr print_ln jmp b37 - //SEG431 printEntry::@37 + //SEG427 printEntry::@37 b37: - //SEG432 [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG428 [178] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG433 [183] call print_str - //SEG434 [80] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str] + //SEG429 [179] call print_str + //SEG430 [80] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str] print_str_from_b37: - //SEG435 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#226 [phi:printEntry::@37->print_str#0] -- register_copy - //SEG436 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 + //SEG431 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#226 [phi:printEntry::@37->print_str#0] -- register_copy + //SEG432 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 lda #str12 sta print_str.str+1 jsr print_str + //SEG433 [180] phi from printEntry::@37 to printEntry::entryTLo1 [phi:printEntry::@37->printEntry::entryTLo1] + entryTLo1_from_b37: jmp entryTLo1 - //SEG437 printEntry::entryTLo1 + //SEG434 printEntry::entryTLo1 entryTLo1: - //SEG438 [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz2_plus_vbuc1 - lda #$11 - clc - adc entryBufDisk1__0 - sta entryTLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLo1_return+1 jmp b13 - //SEG439 printEntry::@13 + //SEG435 printEntry::@13 b13: - //SEG440 [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) -- vbuz1=_deref_pbuz2 - ldy #0 - lda (entryTLo1_return),y + //SEG436 [181] (byte) print_byte::b#9 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) -- vbuz1=pbuz2_derefidx_vbuc1 + ldy #$11 + lda (entryBufDisk1__0),y sta print_byte.b - //SEG441 [186] call print_byte - //SEG442 [190] phi from printEntry::@13 to print_byte [phi:printEntry::@13->print_byte] + //SEG437 [182] call print_byte + //SEG438 [186] phi from printEntry::@13 to print_byte [phi:printEntry::@13->print_byte] print_byte_from_b13: - //SEG443 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@13->print_byte#0] -- register_copy - //SEG444 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#9 [phi:printEntry::@13->print_byte#1] -- register_copy + //SEG439 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@13->print_byte#0] -- register_copy + //SEG440 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#9 [phi:printEntry::@13->print_byte#1] -- register_copy jsr print_byte jmp b38 - //SEG445 printEntry::@38 + //SEG441 printEntry::@38 b38: - //SEG446 [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG442 [183] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_175 lda print_line_cursor+1 sta print_line_cursor_175+1 - //SEG447 [188] call print_ln - //SEG448 [87] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln] + //SEG443 [184] call print_ln + //SEG444 [87] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln] print_ln_from_b38: - //SEG449 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@38->print_ln#0] -- register_copy - //SEG450 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#175 [phi:printEntry::@38->print_ln#1] -- register_copy + //SEG445 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@38->print_ln#0] -- register_copy + //SEG446 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#175 [phi:printEntry::@38->print_ln#1] -- register_copy jsr print_ln jmp breturn - //SEG451 printEntry::@return + //SEG447 printEntry::@return breturn: - //SEG452 [189] return + //SEG448 [185] return rts str: .text "bufdisk @" str1: .text "bufedit @" @@ -6088,517 +5944,424 @@ printEntry: { str11: .text "thi @" str12: .text "tlo @" } -//SEG453 print_byte +//SEG449 print_byte // Print a byte as HEX // print_byte(byte zeropage($a) b) print_byte: { - .label _0 = $50 - .label _2 = $51 + .label _0 = $2e + .label _2 = $2f .label b = $a - //SEG454 [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_ror_4 + //SEG450 [187] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_ror_4 lda b lsr lsr lsr lsr sta _0 - //SEG455 [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG451 [188] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _0 lda print_hextab,y sta print_char.ch - //SEG456 [193] call print_char - //SEG457 [198] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG452 [189] call print_char + //SEG453 [194] phi from print_byte to print_char [phi:print_byte->print_char] print_char_from_print_byte: - //SEG458 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#145 [phi:print_byte->print_char#0] -- register_copy - //SEG459 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + //SEG454 [194] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#145 [phi:print_byte->print_char#0] -- register_copy + //SEG455 [194] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy jsr print_char jmp b1 - //SEG460 print_byte::@1 + //SEG456 print_byte::@1 b1: - //SEG461 [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 + //SEG457 [190] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and b sta _2 - //SEG462 [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG458 [191] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _2 lda print_hextab,y sta print_char.ch - //SEG463 [196] call print_char - //SEG464 [198] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG459 [192] call print_char + //SEG460 [194] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] print_char_from_b1: - //SEG465 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy - //SEG466 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + //SEG461 [194] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG462 [194] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char jmp breturn - //SEG467 print_byte::@return + //SEG463 print_byte::@return breturn: - //SEG468 [197] return + //SEG464 [193] return rts } -//SEG469 print_char +//SEG465 print_char // Print a single char // print_char(byte zeropage($b) ch) print_char: { .label ch = $b - //SEG470 [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 -- _deref_pbuz1=vbuz2 + //SEG466 [195] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 -- _deref_pbuz1=vbuz2 lda ch ldy #0 sta (print_char_cursor),y - //SEG471 [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 -- pbuz1=_inc_pbuz1 + //SEG467 [196] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: jmp breturn - //SEG472 print_char::@return + //SEG468 print_char::@return breturn: - //SEG473 [201] return + //SEG469 [197] return rts } -//SEG474 print_word +//SEG470 print_word // Print a word as HEX // print_word(word zeropage($e) w) print_word: { .label w = $e - //SEG475 [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 -- vbuz1=_hi_vwuz2 + //SEG471 [199] (byte) print_byte::b#0 ← > (word) print_word::w#5 -- vbuz1=_hi_vwuz2 lda w+1 sta print_byte.b - //SEG476 [204] call print_byte - //SEG477 [190] phi from print_word to print_byte [phi:print_word->print_byte] + //SEG472 [200] call print_byte + //SEG473 [186] phi from print_word to print_byte [phi:print_word->print_byte] print_byte_from_print_word: - //SEG478 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:print_word->print_byte#0] -- register_copy - //SEG479 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + //SEG474 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:print_word->print_byte#0] -- register_copy + //SEG475 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy jsr print_byte jmp b1 - //SEG480 print_word::@1 + //SEG476 print_word::@1 b1: - //SEG481 [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 -- vbuz1=_lo_vwuz2 + //SEG477 [201] (byte) print_byte::b#1 ← < (word) print_word::w#5 -- vbuz1=_lo_vwuz2 lda w sta print_byte.b - //SEG482 [206] call print_byte - //SEG483 [190] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + //SEG478 [202] call print_byte + //SEG479 [186] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] print_byte_from_b1: - //SEG484 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy - //SEG485 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + //SEG480 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG481 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy jsr print_byte jmp breturn - //SEG486 print_word::@return + //SEG482 print_word::@return breturn: - //SEG487 [207] return + //SEG483 [203] return rts } -//SEG488 initEntry +//SEG484 initEntry // Set all values in the passed struct // Sets the values to n, n+1, n... to help test that everything works as intended // initEntry(byte* zeropage($10) entry, byte zeropage($12) n) initEntry: { - .label _1 = $54 - .label _3 = $59 - .label _5 = $5e - .label _7 = $63 - .label _9 = $66 - .label _11 = $69 - .label _13 = $6c - .label _15 = $6f - .label _17 = $74 - .label _19 = $77 - .label _21 = $7a - .label _23 = $7d - .label _25 = $80 + .label _1 = $30 + .label _3 = $32 + .label _5 = $34 + .label _7 = $36 + .label _9 = $38 + .label _11 = $39 + .label _13 = $3a + .label _15 = $3b + .label _17 = $3c + .label _19 = $3e + .label _21 = $3f + .label _23 = $40 + .label _25 = $41 .label entry = $10 .label entryBufDisk1__0 = $10 - .label entryBufDisk1_return = $52 - .label entryBufEdit1__0 = $55 - .label entryBufEdit1_return = $57 - .label entryTsLen1__0 = $5a - .label entryTsLen1_return = $5c - .label entryTsOrder1__0 = $5f - .label entryTsOrder1_return = $61 - .label entryTLastLink1_return = $64 - .label entrySLastLink1_return = $67 - .label entryBFlag1_return = $6a - .label entryBError1_return = $6d - .label entryUCross1__0 = $70 - .label entryUCross1_return = $72 - .label entryBAddrLo1_return = $75 - .label entryBAddrHi1_return = $78 - .label entryTHi1_return = $7b - .label entryTLo1_return = $7e .label n = $12 + //SEG485 [205] phi from initEntry to initEntry::entryBufDisk1 [phi:initEntry->initEntry::entryBufDisk1] + entryBufDisk1_from_initEntry: jmp entryBufDisk1 - //SEG489 initEntry::entryBufDisk1 + //SEG486 initEntry::entryBufDisk1 entryBufDisk1: - //SEG490 [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryBufDisk1__0 - sta entryBufDisk1_return - lda entryBufDisk1__0+1 - sta entryBufDisk1_return+1 jmp b1 - //SEG491 initEntry::@1 + //SEG487 initEntry::@1 b1: - //SEG492 [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 - ldy n - iny - sty _1 - //SEG493 [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 -- _deref_pptz1=_ptr_vbuz2 - lda _1 - ldy #0 - sta (entryBufDisk1_return),y - tya - iny - sta (entryBufDisk1_return),y - jmp entryBufEdit1 - //SEG494 initEntry::entryBufEdit1 - entryBufEdit1: - //SEG495 [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 - lda entryBufDisk1__0 - clc - adc #2 - sta entryBufEdit1__0 - lda entryBufDisk1__0+1 - adc #0 - sta entryBufEdit1__0+1 - //SEG496 [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryBufEdit1__0 - sta entryBufEdit1_return - lda entryBufEdit1__0+1 - sta entryBufEdit1_return+1 - jmp b2 - //SEG497 initEntry::@2 - b2: - //SEG498 [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_plus_2 + //SEG488 [206] (word/signed word/dword/signed dword~) initEntry::$1 ← (word/signed word/dword/signed dword) $1111 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuz2 lda n clc - adc #2 + adc #<$1111 + sta _1 + lda #>$1111 + adc #0 + sta _1+1 + //SEG489 [207] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$1 -- _deref_pptz1=_ptr_vwuz2 + ldy #0 + lda _1 + sta (entryBufDisk1__0),y + iny + lda _1+1 + sta (entryBufDisk1__0),y + //SEG490 [208] phi from initEntry::@1 to initEntry::entryBufEdit1 [phi:initEntry::@1->initEntry::entryBufEdit1] + entryBufEdit1_from_b1: + jmp entryBufEdit1 + //SEG491 initEntry::entryBufEdit1 + entryBufEdit1: + jmp b2 + //SEG492 initEntry::@2 + b2: + //SEG493 [209] (word/signed word/dword/signed dword~) initEntry::$3 ← (word/signed word/dword/signed dword) $2222 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuz2 + lda n + clc + adc #<$2222 sta _3 - //SEG499 [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 -- _deref_pptz1=_ptr_vbuz2 + lda #>$2222 + adc #0 + sta _3+1 + //SEG494 [210] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$3 -- pptz1_derefidx_vbuc1=_ptr_vwuz2 + ldy #2 lda _3 - ldy #0 - sta (entryBufEdit1_return),y - tya + sta (entryBufDisk1__0),y iny - sta (entryBufEdit1_return),y + lda _3+1 + sta (entryBufDisk1__0),y + //SEG495 [211] phi from initEntry::@2 to initEntry::entryTsLen1 [phi:initEntry::@2->initEntry::entryTsLen1] + entryTsLen1_from_b2: jmp entryTsLen1 - //SEG500 initEntry::entryTsLen1 + //SEG496 initEntry::entryTsLen1 entryTsLen1: - //SEG501 [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 - lda #4 - clc - adc entryBufDisk1__0 - sta entryTsLen1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsLen1__0+1 - //SEG502 [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz2 - lda entryTsLen1__0 - sta entryTsLen1_return - lda entryTsLen1__0+1 - sta entryTsLen1_return+1 jmp b3 - //SEG503 initEntry::@3 + //SEG497 initEntry::@3 b3: - //SEG504 [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_plus_vbuc1 - lax n - axs #-[3] - stx _5 - //SEG505 [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 -- _deref_pwuz1=vbuz2 + //SEG498 [212] (word/signed word/dword/signed dword~) initEntry::$5 ← (word/signed word/dword/signed dword) $3333 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuz2 + lda n + clc + adc #<$3333 + sta _5 + lda #>$3333 + adc #0 + sta _5+1 + //SEG499 [213] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) ← (word/signed word/dword/signed dword~) initEntry::$5 -- pwuz1_derefidx_vbuc1=vwuz2 + ldy #4 lda _5 - ldy #0 - sta (entryTsLen1_return),y - tya + sta (entryBufDisk1__0),y iny - sta (entryTsLen1_return),y + lda _5+1 + sta (entryBufDisk1__0),y + //SEG500 [214] phi from initEntry::@3 to initEntry::entryTsOrder1 [phi:initEntry::@3->initEntry::entryTsOrder1] + entryTsOrder1_from_b3: jmp entryTsOrder1 - //SEG506 initEntry::entryTsOrder1 + //SEG501 initEntry::entryTsOrder1 entryTsOrder1: - //SEG507 [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 - lda #6 - clc - adc entryBufDisk1__0 - sta entryTsOrder1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsOrder1__0+1 - //SEG508 [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryTsOrder1__0 - sta entryTsOrder1_return - lda entryTsOrder1__0+1 - sta entryTsOrder1_return+1 jmp b4 - //SEG509 initEntry::@4 + //SEG502 initEntry::@4 b4: - //SEG510 [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_plus_vbuc1 - lax n - axs #-[4] - stx _7 - //SEG511 [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 -- _deref_pptz1=_ptr_vbuz2 + //SEG503 [215] (word/signed word/dword/signed dword~) initEntry::$7 ← (word/signed word/dword/signed dword) $4444 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuz2 + lda n + clc + adc #<$4444 + sta _7 + lda #>$4444 + adc #0 + sta _7+1 + //SEG504 [216] *((word**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← ((word*)) (word/signed word/dword/signed dword~) initEntry::$7 -- pptz1_derefidx_vbuc1=_ptr_vwuz2 + ldy #6 lda _7 - ldy #0 - sta (entryTsOrder1_return),y - tya + sta (entryBufDisk1__0),y iny - sta (entryTsOrder1_return),y + lda _7+1 + sta (entryBufDisk1__0),y + //SEG505 [217] phi from initEntry::@4 to initEntry::entryTLastLink1 [phi:initEntry::@4->initEntry::entryTLastLink1] + entryTLastLink1_from_b4: jmp entryTLastLink1 - //SEG512 initEntry::entryTLastLink1 + //SEG506 initEntry::entryTLastLink1 entryTLastLink1: - //SEG513 [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 - lda #8 - clc - adc entryBufDisk1__0 - sta entryTLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLastLink1_return+1 jmp b5 - //SEG514 initEntry::@5 + //SEG507 initEntry::@5 b5: - //SEG515 [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 -- vbuz1=vbuz2_plus_vbuc1 + //SEG508 [218] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte/signed byte/word/signed word/dword/signed dword) $55 + (byte) initEntry::n#10 -- vbuz1=vbuc1_plus_vbuz2 lax n - axs #-[5] + axs #-[$55] stx _9 - //SEG516 [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- _deref_pbuz1=vbuz2 + //SEG509 [219] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- pbuz1_derefidx_vbuc1=vbuz2 lda _9 - ldy #0 - sta (entryTLastLink1_return),y + ldy #8 + sta (entryBufDisk1__0),y + //SEG510 [220] phi from initEntry::@5 to initEntry::entrySLastLink1 [phi:initEntry::@5->initEntry::entrySLastLink1] + entrySLastLink1_from_b5: jmp entrySLastLink1 - //SEG517 initEntry::entrySLastLink1 + //SEG511 initEntry::entrySLastLink1 entrySLastLink1: - //SEG518 [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 - lda #9 - clc - adc entryBufDisk1__0 - sta entrySLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entrySLastLink1_return+1 jmp b6 - //SEG519 initEntry::@6 + //SEG512 initEntry::@6 b6: - //SEG520 [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuz1=vbuz2_plus_vbuc1 + //SEG513 [221] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte/signed byte/word/signed word/dword/signed dword) $66 + (byte) initEntry::n#10 -- vbuz1=vbuc1_plus_vbuz2 lax n - axs #-[6] + axs #-[$66] stx _11 - //SEG521 [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- _deref_pbuz1=vbuz2 + //SEG514 [222] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- pbuz1_derefidx_vbuc1=vbuz2 lda _11 - ldy #0 - sta (entrySLastLink1_return),y + ldy #9 + sta (entryBufDisk1__0),y + //SEG515 [223] phi from initEntry::@6 to initEntry::entryBFlag1 [phi:initEntry::@6->initEntry::entryBFlag1] + entryBFlag1_from_b6: jmp entryBFlag1 - //SEG522 initEntry::entryBFlag1 + //SEG516 initEntry::entryBFlag1 entryBFlag1: - //SEG523 [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 - lda #$a - clc - adc entryBufDisk1__0 - sta entryBFlag1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBFlag1_return+1 jmp b7 - //SEG524 initEntry::@7 + //SEG517 initEntry::@7 b7: - //SEG525 [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_plus_vbuc1 + //SEG518 [224] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte/signed byte/word/signed word/dword/signed dword) $77 + (byte) initEntry::n#10 -- vbuz1=vbuc1_plus_vbuz2 lax n - axs #-[7] + axs #-[$77] stx _13 - //SEG526 [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- _deref_pbuz1=vbuz2 + //SEG519 [225] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- pbuz1_derefidx_vbuc1=vbuz2 lda _13 - ldy #0 - sta (entryBFlag1_return),y + ldy #$a + sta (entryBufDisk1__0),y + //SEG520 [226] phi from initEntry::@7 to initEntry::entryBError1 [phi:initEntry::@7->initEntry::entryBError1] + entryBError1_from_b7: jmp entryBError1 - //SEG527 initEntry::entryBError1 + //SEG521 initEntry::entryBError1 entryBError1: - //SEG528 [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 - lda #$b - clc - adc entryBufDisk1__0 - sta entryBError1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBError1_return+1 jmp b8 - //SEG529 initEntry::@8 + //SEG522 initEntry::@8 b8: - //SEG530 [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- vbuz1=vbuz2_plus_vbuc1 + //SEG523 [227] (byte/word/signed word/dword/signed dword~) initEntry::$15 ← (byte/word/signed word/dword/signed dword) $88 + (byte) initEntry::n#10 -- vbuz1=vbuc1_plus_vbuz2 lax n - axs #-[8] + axs #-[$88] stx _15 - //SEG531 [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 -- _deref_pbuz1=vbuz2 + //SEG524 [228] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) ← (byte/word/signed word/dword/signed dword~) initEntry::$15 -- pbuz1_derefidx_vbuc1=vbuz2 lda _15 - ldy #0 - sta (entryBError1_return),y + ldy #$b + sta (entryBufDisk1__0),y + //SEG525 [229] phi from initEntry::@8 to initEntry::entryUCross1 [phi:initEntry::@8->initEntry::entryUCross1] + entryUCross1_from_b8: jmp entryUCross1 - //SEG532 initEntry::entryUCross1 + //SEG526 initEntry::entryUCross1 entryUCross1: - //SEG533 [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 - lda #$c - clc - adc entryBufDisk1__0 - sta entryUCross1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryUCross1__0+1 - //SEG534 [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz2 - lda entryUCross1__0 - sta entryUCross1_return - lda entryUCross1__0+1 - sta entryUCross1_return+1 jmp b9 - //SEG535 initEntry::@9 + //SEG527 initEntry::@9 b9: - //SEG536 [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- vbuz1=vbuz2_plus_vbuc1 - lax n - axs #-[9] - stx _17 - //SEG537 [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 -- _deref_pwuz1=vbuz2 + //SEG528 [230] (word/dword/signed dword~) initEntry::$17 ← (word/dword/signed dword) $9999 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuz2 + lda n + clc + adc #<$9999 + sta _17 + lda #>$9999 + adc #0 + sta _17+1 + //SEG529 [231] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) ← (word/dword/signed dword~) initEntry::$17 -- pwuz1_derefidx_vbuc1=vwuz2 + ldy #$c lda _17 - ldy #0 - sta (entryUCross1_return),y - tya + sta (entryBufDisk1__0),y iny - sta (entryUCross1_return),y + lda _17+1 + sta (entryBufDisk1__0),y + //SEG530 [232] phi from initEntry::@9 to initEntry::entryBAddrLo1 [phi:initEntry::@9->initEntry::entryBAddrLo1] + entryBAddrLo1_from_b9: jmp entryBAddrLo1 - //SEG538 initEntry::entryBAddrLo1 + //SEG531 initEntry::entryBAddrLo1 entryBAddrLo1: - //SEG539 [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 - lda #$e - clc - adc entryBufDisk1__0 - sta entryBAddrLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrLo1_return+1 jmp b10 - //SEG540 initEntry::@10 + //SEG532 initEntry::@10 b10: - //SEG541 [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuz1=vbuz2_plus_vbuc1 + //SEG533 [233] (byte/word/signed word/dword/signed dword~) initEntry::$19 ← (byte/word/signed word/dword/signed dword) $aa + (byte) initEntry::n#10 -- vbuz1=vbuc1_plus_vbuz2 lax n - axs #-[$a] + axs #-[$aa] stx _19 - //SEG542 [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 -- _deref_pbuz1=vbuz2 + //SEG534 [234] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) ← (byte/word/signed word/dword/signed dword~) initEntry::$19 -- pbuz1_derefidx_vbuc1=vbuz2 lda _19 - ldy #0 - sta (entryBAddrLo1_return),y + ldy #$e + sta (entryBufDisk1__0),y + //SEG535 [235] phi from initEntry::@10 to initEntry::entryBAddrHi1 [phi:initEntry::@10->initEntry::entryBAddrHi1] + entryBAddrHi1_from_b10: jmp entryBAddrHi1 - //SEG543 initEntry::entryBAddrHi1 + //SEG536 initEntry::entryBAddrHi1 entryBAddrHi1: - //SEG544 [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 - lda #$f - clc - adc entryBufDisk1__0 - sta entryBAddrHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrHi1_return+1 jmp b11 - //SEG545 initEntry::@11 + //SEG537 initEntry::@11 b11: - //SEG546 [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b -- vbuz1=vbuz2_plus_vbuc1 + //SEG538 [236] (byte/word/signed word/dword/signed dword~) initEntry::$21 ← (byte/word/signed word/dword/signed dword) $bb + (byte) initEntry::n#10 -- vbuz1=vbuc1_plus_vbuz2 lax n - axs #-[$b] + axs #-[$bb] stx _21 - //SEG547 [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 -- _deref_pbuz1=vbuz2 + //SEG539 [237] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) ← (byte/word/signed word/dword/signed dword~) initEntry::$21 -- pbuz1_derefidx_vbuc1=vbuz2 lda _21 - ldy #0 - sta (entryBAddrHi1_return),y + ldy #$f + sta (entryBufDisk1__0),y + //SEG540 [238] phi from initEntry::@11 to initEntry::entryTHi1 [phi:initEntry::@11->initEntry::entryTHi1] + entryTHi1_from_b11: jmp entryTHi1 - //SEG548 initEntry::entryTHi1 + //SEG541 initEntry::entryTHi1 entryTHi1: - //SEG549 [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 - lda #$10 - clc - adc entryBufDisk1__0 - sta entryTHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTHi1_return+1 jmp b12 - //SEG550 initEntry::@12 + //SEG542 initEntry::@12 b12: - //SEG551 [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c -- vbuz1=vbuz2_plus_vbuc1 + //SEG543 [239] (byte/word/signed word/dword/signed dword~) initEntry::$23 ← (byte/word/signed word/dword/signed dword) $cc + (byte) initEntry::n#10 -- vbuz1=vbuc1_plus_vbuz2 lax n - axs #-[$c] + axs #-[$cc] stx _23 - //SEG552 [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 -- _deref_pbuz1=vbuz2 + //SEG544 [240] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) ← (byte/word/signed word/dword/signed dword~) initEntry::$23 -- pbuz1_derefidx_vbuc1=vbuz2 lda _23 - ldy #0 - sta (entryTHi1_return),y + ldy #$10 + sta (entryBufDisk1__0),y + //SEG545 [241] phi from initEntry::@12 to initEntry::entryTLo1 [phi:initEntry::@12->initEntry::entryTLo1] + entryTLo1_from_b12: jmp entryTLo1 - //SEG553 initEntry::entryTLo1 + //SEG546 initEntry::entryTLo1 entryTLo1: - //SEG554 [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz2_plus_vbuc1 - lda #$11 - clc - adc entryBufDisk1__0 - sta entryTLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLo1_return+1 jmp b13 - //SEG555 initEntry::@13 + //SEG547 initEntry::@13 b13: - //SEG556 [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d -- vbuz1=vbuz2_plus_vbuc1 + //SEG548 [242] (byte/word/signed word/dword/signed dword~) initEntry::$25 ← (byte/word/signed word/dword/signed dword) $dd + (byte) initEntry::n#10 -- vbuz1=vbuc1_plus_vbuz2 lax n - axs #-[$d] + axs #-[$dd] stx _25 - //SEG557 [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 -- _deref_pbuz1=vbuz2 + //SEG549 [243] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) ← (byte/word/signed word/dword/signed dword~) initEntry::$25 -- pbuz1_derefidx_vbuc1=vbuz2 lda _25 - ldy #0 - sta (entryTLo1_return),y + ldy #$11 + sta (entryBufDisk1__0),y jmp breturn - //SEG558 initEntry::@return + //SEG550 initEntry::@return breturn: - //SEG559 [252] return + //SEG551 [244] return rts } -//SEG560 mul8u +//SEG552 mul8u // Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word // mul8u(byte zeropage($13) a) mul8u: { - .label _1 = $81 + .label _1 = $42 .label a = $13 .label mb = $16 .label res = $14 .label return = $18 .label return_3 = $1e - //SEG561 [254] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + //SEG553 [246] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] b1_from_mul8u: - //SEG562 [254] phi (word) mul8u::mb#2 = ((word))(const byte) SIZEOF_ENTRY#0 [phi:mul8u->mul8u::@1#0] -- vwuz1=vbuc1 + //SEG554 [246] phi (word) mul8u::mb#2 = ((word))(const byte) SIZEOF_ENTRY#0 [phi:mul8u->mul8u::@1#0] -- vwuz1=vbuc1 lda #SIZEOF_ENTRY sta mb lda #0 sta mb+1 - //SEG563 [254] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + //SEG555 [246] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 lda #0 sta res lda #0 sta res+1 - //SEG564 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG556 [246] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy jmp b1 - //SEG565 mul8u::@1 + //SEG557 mul8u::@1 b1: - //SEG566 [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 -- vbuz1_neq_0_then_la1 + //SEG558 [247] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 -- vbuz1_neq_0_then_la1 lda a cmp #0 bne b2 jmp breturn - //SEG567 mul8u::@return + //SEG559 mul8u::@return breturn: - //SEG568 [256] return + //SEG560 [248] return rts - //SEG569 mul8u::@2 + //SEG561 mul8u::@2 b2: - //SEG570 [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_band_vbuc1 + //SEG562 [249] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_band_vbuc1 lda #1 and a sta _1 - //SEG571 [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 -- vbuz1_eq_0_then_la1 + //SEG563 [250] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 -- vbuz1_eq_0_then_la1 lda _1 cmp #0 beq b3_from_b2 jmp b4 - //SEG572 mul8u::@4 + //SEG564 mul8u::@4 b4: - //SEG573 [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 -- vwuz1=vwuz1_plus_vwuz2 + //SEG565 [251] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 -- vwuz1=vwuz1_plus_vwuz2 lda res clc adc mb @@ -6606,40 +6369,40 @@ mul8u: { lda res+1 adc mb+1 sta res+1 - //SEG574 [260] phi from mul8u::@2 mul8u::@4 to mul8u::@3 [phi:mul8u::@2/mul8u::@4->mul8u::@3] + //SEG566 [252] phi from mul8u::@2 mul8u::@4 to mul8u::@3 [phi:mul8u::@2/mul8u::@4->mul8u::@3] b3_from_b2: b3_from_b4: - //SEG575 [260] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@4->mul8u::@3#0] -- register_copy + //SEG567 [252] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@4->mul8u::@3#0] -- register_copy jmp b3 - //SEG576 mul8u::@3 + //SEG568 mul8u::@3 b3: - //SEG577 [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_ror_1 + //SEG569 [253] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_ror_1 lsr a - //SEG578 [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vwuz1=vwuz1_rol_1 + //SEG570 [254] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vwuz1=vwuz1_rol_1 asl mb rol mb+1 - //SEG579 [254] phi from mul8u::@3 to mul8u::@1 [phi:mul8u::@3->mul8u::@1] + //SEG571 [246] phi from mul8u::@3 to mul8u::@1 [phi:mul8u::@3->mul8u::@1] b1_from_b3: - //SEG580 [254] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@3->mul8u::@1#0] -- register_copy - //SEG581 [254] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@3->mul8u::@1#1] -- register_copy - //SEG582 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@3->mul8u::@1#2] -- register_copy + //SEG572 [246] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@3->mul8u::@1#0] -- register_copy + //SEG573 [246] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@3->mul8u::@1#1] -- register_copy + //SEG574 [246] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@3->mul8u::@1#2] -- register_copy jmp b1 } -//SEG583 keyboard_init +//SEG575 keyboard_init // Initialize keyboard reading by setting CIA#$ Data Direction Registers keyboard_init: { - //SEG584 [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 + //SEG576 [255] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Write Mode lda #$ff sta CIA1_PORT_A_DDR - //SEG585 [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + //SEG577 [256] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Read Mode lda #0 sta CIA1_PORT_B_DDR jmp breturn - //SEG586 keyboard_init::@return + //SEG578 keyboard_init::@return breturn: - //SEG587 [265] return + //SEG579 [257] return rts } print_hextab: .text "0123456789abcdef" @@ -6675,121 +6438,89 @@ Statement [67] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( m Statement [69] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:21 [ main::entry1#0 main::entry2#0 print_cls::sc#1 ] main:2::print_cls:42 [ main::entry2#0 print_cls::sc#1 ] main:2::print_cls:63 [ print_cls::sc#1 ] ) always clobbers reg byte a Statement [77] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0+(const byte) keyboard_key_pressed::rowidx#0) [ ] ( main:2::keyboard_key_pressed:37::keyboard_matrix_read:72 [ main::entry2#0 ] main:2::keyboard_key_pressed:58::keyboard_matrix_read:72 [ ] ) always clobbers reg byte a Statement [78] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::keyboard_key_pressed:37::keyboard_matrix_read:72 [ main::entry2#0 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:58::keyboard_matrix_read:72 [ keyboard_matrix_read::return#0 ] ) always clobbers reg byte a -Statement [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:110 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:110 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:118 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:118 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:162 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:162 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:169 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:169 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:176 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:176 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:183 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:183 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y -Statement [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:110 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:110 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:118 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:118 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:162 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:162 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:169 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:169 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:176 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:176 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:183 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:183 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y -Statement [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:188 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a -Statement [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:188 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a -Statement [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 [ print_char_cursor#143 print_line_cursor#177 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:33 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:46 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:49 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:54 [ print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:188 [ print_char_cursor#143 print_line_cursor#177 ] ) always clobbers reg byte a +Statement [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:109 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:109 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:116 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:116 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:123 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:123 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:130 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:130 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:137 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:137 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:144 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:144 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:151 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:151 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y +Statement [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:109 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:109 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:116 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:116 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:123 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:123 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:130 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:130 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:137 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:137 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:144 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:144 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:151 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:151 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y +Statement [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:107 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:107 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:114 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:114 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:121 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:121 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:128 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:128 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:135 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:135 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:142 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:142 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:149 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:149 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:156 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:156 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:163 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:163 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:170 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:170 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:177 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:177 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:184 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:184 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a +Statement [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:107 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:107 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:114 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:114 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:121 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:121 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:128 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:128 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:135 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:135 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:142 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:142 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:149 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:149 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:156 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:156 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:163 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:163 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:170 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:170 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:177 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:177 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:184 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:184 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a +Statement [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 [ print_char_cursor#143 print_line_cursor#177 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:33 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:46 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:49 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:54 [ print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:107 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:107 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:114 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:114 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:121 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:121 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:128 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:128 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:135 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:135 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:142 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:142 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:149 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:149 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:156 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:156 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:163 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:163 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:170 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:170 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:177 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:177 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:184 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:184 [ print_char_cursor#143 print_line_cursor#177 ] ) always clobbers reg byte a Statement [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] ) always clobbers reg byte a -Statement [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ) always clobbers reg byte a reg byte y +Statement [97] (word~) print_word::w#7 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ) always clobbers reg byte a reg byte y Statement [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 [ print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a Statement [101] (byte*~) print_char_cursor#215 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] ) always clobbers reg byte a -Statement [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] ) always clobbers reg byte a -Statement [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ) always clobbers reg byte a reg byte y -Statement [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] ) always clobbers reg byte a -Statement [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] ) always clobbers reg byte a -Statement [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ) always clobbers reg byte a reg byte y -Statement [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] ) always clobbers reg byte a -Statement [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] ) always clobbers reg byte a -Statement [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ) always clobbers reg byte a reg byte y -Statement [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] ) always clobbers reg byte a -Statement [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ) always clobbers reg byte a reg byte y -Statement [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] ) always clobbers reg byte a -Statement [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ) always clobbers reg byte a reg byte y -Statement [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] ) always clobbers reg byte a -Statement [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ) always clobbers reg byte a reg byte y -Statement [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] ) always clobbers reg byte a -Statement [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ) always clobbers reg byte a reg byte y -Statement [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] ) always clobbers reg byte a -Statement [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] ) always clobbers reg byte a -Statement [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ) always clobbers reg byte a reg byte y -Statement [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] ) always clobbers reg byte a -Statement [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ) always clobbers reg byte a reg byte y -Statement [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] ) always clobbers reg byte a -Statement [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ) always clobbers reg byte a reg byte y -Statement [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] ) always clobbers reg byte a -Statement [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ) always clobbers reg byte a reg byte y -Statement [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] ) always clobbers reg byte a -Statement [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ) always clobbers reg byte a reg byte y -Statement [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#175 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#175 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#175 ] ) always clobbers reg byte a -Statement [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ( main:2::printEntry:30::print_byte:129 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:129 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:136 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:136 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:143 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:143 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:150 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:150 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:186 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:186 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:106::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:106::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:114::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:114::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:122::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:122::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:158::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:158::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:106::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:106::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:114::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:114::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:122::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:122::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:158::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:158::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ) always clobbers reg byte a +Statement [104] (word~) print_word::w#8 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ) always clobbers reg byte a reg byte y +Statement [106] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [108] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [111] (word) print_word::w#2 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ) always clobbers reg byte a reg byte y +Statement [113] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [115] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [118] (word~) print_word::w#10 ← (word)*((word**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ) always clobbers reg byte a reg byte y +Statement [120] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [122] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [125] (byte) print_byte::b#2 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ) always clobbers reg byte a reg byte y +Statement [127] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [129] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [132] (byte) print_byte::b#3 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ) always clobbers reg byte a reg byte y +Statement [134] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [136] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [139] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ) always clobbers reg byte a reg byte y +Statement [141] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [143] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [146] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ) always clobbers reg byte a reg byte y +Statement [148] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [150] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [153] (word) print_word::w#4 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ) always clobbers reg byte a reg byte y +Statement [155] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [157] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [160] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ) always clobbers reg byte a reg byte y +Statement [162] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [164] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [167] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ) always clobbers reg byte a reg byte y +Statement [169] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [171] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [174] (byte) print_byte::b#8 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ) always clobbers reg byte a reg byte y +Statement [176] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [178] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [181] (byte) print_byte::b#9 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ) always clobbers reg byte a reg byte y +Statement [183] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#175 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#175 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#175 ] ) always clobbers reg byte a +Statement [187] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ( main:2::printEntry:30::print_byte:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:161 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:161 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:168 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:168 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:175 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:175 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:182 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:182 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:105::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:105::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:112::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:112::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:119::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:119::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:154::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:154::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:105::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:105::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:112::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:112::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:119::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:119::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:154::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:154::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] -Statement [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f [ print_char_cursor#11 print_byte::$2 ] ( main:2::printEntry:30::print_byte:129 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:129 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:136 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:136 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:143 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:143 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:150 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:150 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:186 [ main::entry2#0 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:186 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:106::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:106::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:114::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:114::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:122::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:122::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:158::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:158::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:106::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:106::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:114::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:114::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:122::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:122::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:158::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:158::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] ) always clobbers reg byte a -Statement [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 [ print_char_cursor#82 ] ( main:2::printEntry:30::print_byte:129::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:129::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:136::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:136::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:143::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:143::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:150::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:150::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:165::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:165::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:172::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:172::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:179::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:179::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:186::print_char:193 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:186::print_char:193 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:129::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:129::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:136::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:136::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:143::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:143::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:150::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:150::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:165::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:165::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:172::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:172::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:179::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:179::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:186::print_char:196 [ main::entry2#0 print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:51::print_byte:186::print_char:196 [ print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] ) always clobbers reg byte y +Statement [190] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f [ print_char_cursor#11 print_byte::$2 ] ( main:2::printEntry:30::print_byte:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:161 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:161 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:168 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:168 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:175 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:175 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:182 [ main::entry2#0 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:182 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:105::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:105::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:112::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:112::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:119::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:119::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:154::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:154::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:105::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:105::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:112::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:112::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:119::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:119::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:154::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:154::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] ) always clobbers reg byte a +Statement [195] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 [ print_char_cursor#82 ] ( main:2::printEntry:30::print_byte:126::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:126::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:133::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:133::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:140::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:140::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:147::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:147::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:161::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:161::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:168::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:168::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:175::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:175::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:182::print_char:189 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:182::print_char:189 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:105::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:105::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:112::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:112::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:119::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:119::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:154::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:154::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:105::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:105::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:112::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:112::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:119::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:119::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:154::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:154::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:126::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:126::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:133::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:133::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:140::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:140::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:147::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:147::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:161::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:161::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:168::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:168::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:175::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:175::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:182::print_char:192 [ main::entry2#0 print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:51::print_byte:182::print_char:192 [ print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:105::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:105::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:112::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:112::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:119::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:119::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:154::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:154::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:105::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:105::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:112::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:112::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:119::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:119::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:154::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:154::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:10 [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] -Statement [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 [ print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:106 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:106 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:114 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:114 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:122 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:122 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ) always clobbers reg byte a -Statement [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:106 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:106 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:114 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:114 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:122 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:122 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] ) always clobbers reg byte a -Statement [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] ) always clobbers reg byte a +Statement [199] (byte) print_byte::b#0 ← > (word) print_word::w#5 [ print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:105 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:105 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:112 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:112 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:119 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:119 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ) always clobbers reg byte a +Statement [201] (byte) print_byte::b#1 ← < (word) print_word::w#5 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:105 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:105 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:112 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:112 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:119 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:119 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] ) always clobbers reg byte a +Statement [206] (word/signed word/dword/signed dword~) initEntry::$1 ← (word/signed word/dword/signed dword) $1111 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$1 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$1 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:18 [ initEntry::n#10 ] -Statement [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [207] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$1 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:18 [ initEntry::n#10 ] -Statement [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] ) always clobbers reg byte a -Statement [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] ) always clobbers reg byte a -Statement [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y -Statement [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] ) always clobbers reg byte a -Statement [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] ) always clobbers reg byte a -Statement [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] ) always clobbers reg byte a -Statement [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y -Statement [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] ) always clobbers reg byte a -Statement [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] ) always clobbers reg byte a -Statement [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] ) always clobbers reg byte a -Statement [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y -Statement [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] ) always clobbers reg byte a -Statement [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] ) always clobbers reg byte a -Statement [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] ) always clobbers reg byte a -Statement [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] ) always clobbers reg byte a -Statement [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] ) always clobbers reg byte a -Statement [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] ) always clobbers reg byte a -Statement [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] ) always clobbers reg byte a -Statement [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] ) always clobbers reg byte a -Statement [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] ) always clobbers reg byte a -Statement [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] ) always clobbers reg byte a -Statement [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] ) always clobbers reg byte a -Statement [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y -Statement [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] ) always clobbers reg byte a -Statement [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] ) always clobbers reg byte a -Statement [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] ) always clobbers reg byte a -Statement [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] ) always clobbers reg byte a -Statement [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] ) always clobbers reg byte a -Statement [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] ) always clobbers reg byte a -Statement [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 [ initEntry::n#10 initEntry::entryTLo1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::n#10 initEntry::entryTLo1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::n#10 initEntry::entryTLo1_return#0 ] ) always clobbers reg byte a -Statement [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d [ initEntry::entryTLo1_return#0 initEntry::$25 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryTLo1_return#0 initEntry::$25 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryTLo1_return#0 initEntry::$25 ] ) always clobbers reg byte a -Statement [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 [ ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 ] ) always clobbers reg byte y -Statement [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::mul8u:7 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::mul8u:12 [ main::entry1#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a +Statement [209] (word/signed word/dword/signed dword~) initEntry::$3 ← (word/signed word/dword/signed dword) $2222 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$3 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$3 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$3 ] ) always clobbers reg byte a +Statement [210] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [212] (word/signed word/dword/signed dword~) initEntry::$5 ← (word/signed word/dword/signed dword) $3333 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$5 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$5 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$5 ] ) always clobbers reg byte a +Statement [213] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) ← (word/signed word/dword/signed dword~) initEntry::$5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [215] (word/signed word/dword/signed dword~) initEntry::$7 ← (word/signed word/dword/signed dword) $4444 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$7 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$7 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$7 ] ) always clobbers reg byte a +Statement [216] *((word**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← ((word*)) (word/signed word/dword/signed dword~) initEntry::$7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [218] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte/signed byte/word/signed word/dword/signed dword) $55 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$9 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$9 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$9 ] ) always clobbers reg byte a +Statement [219] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [221] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte/signed byte/word/signed word/dword/signed dword) $66 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$11 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$11 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$11 ] ) always clobbers reg byte a +Statement [222] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [224] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte/signed byte/word/signed word/dword/signed dword) $77 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$13 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$13 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$13 ] ) always clobbers reg byte a +Statement [225] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [227] (byte/word/signed word/dword/signed dword~) initEntry::$15 ← (byte/word/signed word/dword/signed dword) $88 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$15 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$15 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$15 ] ) always clobbers reg byte a +Statement [228] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) ← (byte/word/signed word/dword/signed dword~) initEntry::$15 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [230] (word/dword/signed dword~) initEntry::$17 ← (word/dword/signed dword) $9999 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$17 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$17 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$17 ] ) always clobbers reg byte a +Statement [231] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) ← (word/dword/signed dword~) initEntry::$17 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [233] (byte/word/signed word/dword/signed dword~) initEntry::$19 ← (byte/word/signed word/dword/signed dword) $aa + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$19 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$19 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$19 ] ) always clobbers reg byte a +Statement [234] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) ← (byte/word/signed word/dword/signed dword~) initEntry::$19 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [236] (byte/word/signed word/dword/signed dword~) initEntry::$21 ← (byte/word/signed word/dword/signed dword) $bb + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$21 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$21 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$21 ] ) always clobbers reg byte a +Statement [237] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) ← (byte/word/signed word/dword/signed dword~) initEntry::$21 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [239] (byte/word/signed word/dword/signed dword~) initEntry::$23 ← (byte/word/signed word/dword/signed dword) $cc + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$23 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$23 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$23 ] ) always clobbers reg byte a +Statement [240] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) ← (byte/word/signed word/dword/signed dword~) initEntry::$23 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [242] (byte/word/signed word/dword/signed dword~) initEntry::$25 ← (byte/word/signed word/dword/signed dword) $dd + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::$25 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::$25 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::$25 ] ) always clobbers reg byte a +Statement [243] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) ← (byte/word/signed word/dword/signed dword~) initEntry::$25 [ ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 ] ) always clobbers reg byte y +Statement [251] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::mul8u:7 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::mul8u:12 [ main::entry1#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:19 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] -Statement [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a -Statement [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a +Statement [255] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a +Statement [256] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a Statement [8] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8u::return#2 ] ( main:2 [ mul8u::return#2 ] ) always clobbers reg byte a Statement [9] (word) main::fileEntry1_$0#0 ← (word) mul8u::return#2 [ main::fileEntry1_$0#0 ] ( main:2 [ main::fileEntry1_$0#0 ] ) always clobbers reg byte a Statement [10] (byte*) main::entry1#0 ← (const byte[((word))MAX_FILES#0*SIZEOF_ENTRY#0]) files#0 + (word) main::fileEntry1_$0#0 [ main::entry1#0 ] ( main:2 [ main::entry1#0 ] ) always clobbers reg byte a @@ -6814,117 +6545,85 @@ Statement [67] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( m Statement [69] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:21 [ main::entry1#0 main::entry2#0 print_cls::sc#1 ] main:2::print_cls:42 [ main::entry2#0 print_cls::sc#1 ] main:2::print_cls:63 [ print_cls::sc#1 ] ) always clobbers reg byte a Statement [77] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0+(const byte) keyboard_key_pressed::rowidx#0) [ ] ( main:2::keyboard_key_pressed:37::keyboard_matrix_read:72 [ main::entry2#0 ] main:2::keyboard_key_pressed:58::keyboard_matrix_read:72 [ ] ) always clobbers reg byte a Statement [78] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::keyboard_key_pressed:37::keyboard_matrix_read:72 [ main::entry2#0 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:58::keyboard_matrix_read:72 [ keyboard_matrix_read::return#0 ] ) always clobbers reg byte a -Statement [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:110 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:110 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:118 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:118 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:162 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:162 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:169 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:169 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:176 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:176 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:183 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:183 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y -Statement [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:110 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:110 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:118 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:118 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:162 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:162 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:169 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:169 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:176 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:176 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:183 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:183 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y -Statement [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:188 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a -Statement [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:188 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a -Statement [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 [ print_char_cursor#143 print_line_cursor#177 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:33 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:46 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:49 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:54 [ print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:188 [ print_char_cursor#143 print_line_cursor#177 ] ) always clobbers reg byte a +Statement [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:109 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:109 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:116 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:116 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:123 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:123 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:130 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:130 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:137 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:137 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:144 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:144 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:151 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:151 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y +Statement [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:109 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:109 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:116 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:116 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:123 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:123 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:130 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:130 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:137 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:137 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:144 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:144 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:151 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:151 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y +Statement [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:107 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:107 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:114 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:114 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:121 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:121 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:128 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:128 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:135 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:135 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:142 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:142 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:149 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:149 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:156 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:156 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:163 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:163 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:170 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:170 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:177 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:177 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:184 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:184 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a +Statement [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:107 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:107 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:114 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:114 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:121 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:121 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:128 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:128 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:135 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:135 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:142 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:142 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:149 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:149 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:156 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:156 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:163 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:163 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:170 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:170 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:177 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:177 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:184 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:184 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a +Statement [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 [ print_char_cursor#143 print_line_cursor#177 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:33 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:46 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:49 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:54 [ print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:107 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:107 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:114 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:114 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:121 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:121 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:128 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:128 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:135 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:135 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:142 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:142 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:149 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:149 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:156 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:156 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:163 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:163 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:170 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:170 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:177 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:177 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:184 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:184 [ print_char_cursor#143 print_line_cursor#177 ] ) always clobbers reg byte a Statement [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] ) always clobbers reg byte a -Statement [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ) always clobbers reg byte a reg byte y +Statement [97] (word~) print_word::w#7 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ) always clobbers reg byte a reg byte y Statement [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 [ print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a Statement [101] (byte*~) print_char_cursor#215 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] ) always clobbers reg byte a -Statement [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] ) always clobbers reg byte a -Statement [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ) always clobbers reg byte a reg byte y -Statement [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] ) always clobbers reg byte a -Statement [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] ) always clobbers reg byte a -Statement [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ) always clobbers reg byte a reg byte y -Statement [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] ) always clobbers reg byte a -Statement [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] ) always clobbers reg byte a -Statement [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ) always clobbers reg byte a reg byte y -Statement [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] ) always clobbers reg byte a -Statement [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ) always clobbers reg byte a reg byte y -Statement [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] ) always clobbers reg byte a -Statement [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ) always clobbers reg byte a reg byte y -Statement [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] ) always clobbers reg byte a -Statement [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ) always clobbers reg byte a reg byte y -Statement [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] ) always clobbers reg byte a -Statement [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ) always clobbers reg byte a reg byte y -Statement [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] ) always clobbers reg byte a -Statement [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] ) always clobbers reg byte a -Statement [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ) always clobbers reg byte a reg byte y -Statement [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] ) always clobbers reg byte a -Statement [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ) always clobbers reg byte a reg byte y -Statement [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] ) always clobbers reg byte a -Statement [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ) always clobbers reg byte a reg byte y -Statement [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] ) always clobbers reg byte a -Statement [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ) always clobbers reg byte a reg byte y -Statement [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a -Statement [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] ) always clobbers reg byte a -Statement [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ) always clobbers reg byte a reg byte y -Statement [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#175 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#175 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#175 ] ) always clobbers reg byte a -Statement [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ( main:2::printEntry:30::print_byte:129 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:129 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:136 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:136 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:143 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:143 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:150 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:150 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:186 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:186 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:106::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:106::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:114::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:114::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:122::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:122::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:158::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:158::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:106::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:106::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:114::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:114::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:122::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:122::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:158::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:158::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ) always clobbers reg byte a -Statement [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f [ print_char_cursor#11 print_byte::$2 ] ( main:2::printEntry:30::print_byte:129 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:129 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:136 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:136 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:143 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:143 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:150 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:150 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:186 [ main::entry2#0 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:186 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:106::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:106::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:114::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:114::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:122::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:122::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:158::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:158::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:106::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:106::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:114::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:114::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:122::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:122::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:158::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:158::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] ) always clobbers reg byte a -Statement [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 [ print_char_cursor#82 ] ( main:2::printEntry:30::print_byte:129::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:129::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:136::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:136::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:143::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:143::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:150::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:150::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:165::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:165::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:172::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:172::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:179::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:179::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:186::print_char:193 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:186::print_char:193 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:129::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:129::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:136::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:136::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:143::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:143::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:150::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:150::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:165::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:165::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:172::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:172::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:179::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:179::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:186::print_char:196 [ main::entry2#0 print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:51::print_byte:186::print_char:196 [ print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] ) always clobbers reg byte y -Statement [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 [ print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:106 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:106 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:114 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:114 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:122 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:122 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ) always clobbers reg byte a -Statement [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:106 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:106 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:114 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:114 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:122 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:122 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] ) always clobbers reg byte a -Statement [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] ) always clobbers reg byte a -Statement [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y -Statement [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] ) always clobbers reg byte a -Statement [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] ) always clobbers reg byte a -Statement [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y -Statement [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] ) always clobbers reg byte a -Statement [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] ) always clobbers reg byte a -Statement [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] ) always clobbers reg byte a -Statement [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y -Statement [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] ) always clobbers reg byte a -Statement [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] ) always clobbers reg byte a -Statement [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] ) always clobbers reg byte a -Statement [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y -Statement [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] ) always clobbers reg byte a -Statement [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] ) always clobbers reg byte a -Statement [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] ) always clobbers reg byte a -Statement [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] ) always clobbers reg byte a -Statement [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] ) always clobbers reg byte a -Statement [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] ) always clobbers reg byte a -Statement [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] ) always clobbers reg byte a -Statement [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] ) always clobbers reg byte a -Statement [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] ) always clobbers reg byte a -Statement [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] ) always clobbers reg byte a -Statement [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] ) always clobbers reg byte a -Statement [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y -Statement [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] ) always clobbers reg byte a -Statement [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] ) always clobbers reg byte a -Statement [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] ) always clobbers reg byte a -Statement [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] ) always clobbers reg byte a -Statement [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] ) always clobbers reg byte a -Statement [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] ) always clobbers reg byte a -Statement [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y -Statement [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 [ initEntry::n#10 initEntry::entryTLo1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::n#10 initEntry::entryTLo1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::n#10 initEntry::entryTLo1_return#0 ] ) always clobbers reg byte a -Statement [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d [ initEntry::entryTLo1_return#0 initEntry::$25 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryTLo1_return#0 initEntry::$25 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryTLo1_return#0 initEntry::$25 ] ) always clobbers reg byte a -Statement [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 [ ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 ] ) always clobbers reg byte y -Statement [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::mul8u:7 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::mul8u:12 [ main::entry1#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) always clobbers reg byte a -Statement [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::mul8u:7 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::mul8u:12 [ main::entry1#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a -Statement [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a -Statement [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a +Statement [104] (word~) print_word::w#8 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ) always clobbers reg byte a reg byte y +Statement [106] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [108] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [111] (word) print_word::w#2 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ) always clobbers reg byte a reg byte y +Statement [113] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [115] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [118] (word~) print_word::w#10 ← (word)*((word**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ) always clobbers reg byte a reg byte y +Statement [120] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [122] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [125] (byte) print_byte::b#2 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ) always clobbers reg byte a reg byte y +Statement [127] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [129] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [132] (byte) print_byte::b#3 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ) always clobbers reg byte a reg byte y +Statement [134] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [136] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [139] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ) always clobbers reg byte a reg byte y +Statement [141] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [143] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [146] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ) always clobbers reg byte a reg byte y +Statement [148] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [150] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [153] (word) print_word::w#4 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ) always clobbers reg byte a reg byte y +Statement [155] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [157] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [160] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ) always clobbers reg byte a reg byte y +Statement [162] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [164] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [167] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ) always clobbers reg byte a reg byte y +Statement [169] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [171] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [174] (byte) print_byte::b#8 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ) always clobbers reg byte a reg byte y +Statement [176] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [178] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [181] (byte) print_byte::b#9 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ) always clobbers reg byte a reg byte y +Statement [183] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#175 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#175 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#175 ] ) always clobbers reg byte a +Statement [187] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ( main:2::printEntry:30::print_byte:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:161 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:161 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:168 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:168 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:175 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:175 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:182 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:182 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:105::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:105::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:112::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:112::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:119::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:119::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:154::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:154::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:105::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:105::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:112::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:112::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:119::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:119::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:154::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:154::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ) always clobbers reg byte a +Statement [190] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f [ print_char_cursor#11 print_byte::$2 ] ( main:2::printEntry:30::print_byte:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:161 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:161 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:168 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:168 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:175 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:175 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:182 [ main::entry2#0 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:182 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:105::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:105::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:112::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:112::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:119::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:119::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:154::print_byte:200 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:154::print_byte:200 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:105::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:105::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:112::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:112::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:119::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:119::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:154::print_byte:202 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:154::print_byte:202 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] ) always clobbers reg byte a +Statement [195] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 [ print_char_cursor#82 ] ( main:2::printEntry:30::print_byte:126::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:126::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:133::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:133::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:140::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:140::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:147::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:147::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:161::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:161::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:168::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:168::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:175::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:175::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:182::print_char:189 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:182::print_char:189 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:105::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:105::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:112::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:112::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:119::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:119::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:154::print_byte:200::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:154::print_byte:200::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:105::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:105::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:112::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:112::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:119::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:119::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:154::print_byte:202::print_char:189 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:154::print_byte:202::print_char:189 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:126::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:126::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:133::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:133::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:140::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:140::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:147::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:147::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:161::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:161::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:168::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:168::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:175::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:175::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:182::print_char:192 [ main::entry2#0 print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:51::print_byte:182::print_char:192 [ print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:105::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:105::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:112::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:112::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:119::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:119::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:154::print_byte:200::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:154::print_byte:200::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:105::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:105::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:112::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:112::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:119::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:119::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:154::print_byte:202::print_char:192 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:154::print_byte:202::print_char:192 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] ) always clobbers reg byte y +Statement [199] (byte) print_byte::b#0 ← > (word) print_word::w#5 [ print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:105 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:105 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:112 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:112 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:119 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:119 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ) always clobbers reg byte a +Statement [201] (byte) print_byte::b#1 ← < (word) print_word::w#5 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:105 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:105 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:112 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:112 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:119 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:119 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] ) always clobbers reg byte a +Statement [206] (word/signed word/dword/signed dword~) initEntry::$1 ← (word/signed word/dword/signed dword) $1111 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$1 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$1 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$1 ] ) always clobbers reg byte a +Statement [207] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$1 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [209] (word/signed word/dword/signed dword~) initEntry::$3 ← (word/signed word/dword/signed dword) $2222 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$3 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$3 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$3 ] ) always clobbers reg byte a +Statement [210] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [212] (word/signed word/dword/signed dword~) initEntry::$5 ← (word/signed word/dword/signed dword) $3333 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$5 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$5 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$5 ] ) always clobbers reg byte a +Statement [213] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) ← (word/signed word/dword/signed dword~) initEntry::$5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [215] (word/signed word/dword/signed dword~) initEntry::$7 ← (word/signed word/dword/signed dword) $4444 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$7 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$7 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$7 ] ) always clobbers reg byte a +Statement [216] *((word**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← ((word*)) (word/signed word/dword/signed dword~) initEntry::$7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [218] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte/signed byte/word/signed word/dword/signed dword) $55 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$9 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$9 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$9 ] ) always clobbers reg byte a +Statement [219] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [221] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte/signed byte/word/signed word/dword/signed dword) $66 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$11 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$11 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$11 ] ) always clobbers reg byte a +Statement [222] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [224] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte/signed byte/word/signed word/dword/signed dword) $77 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$13 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$13 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$13 ] ) always clobbers reg byte a +Statement [225] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [227] (byte/word/signed word/dword/signed dword~) initEntry::$15 ← (byte/word/signed word/dword/signed dword) $88 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$15 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$15 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$15 ] ) always clobbers reg byte a +Statement [228] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) ← (byte/word/signed word/dword/signed dword~) initEntry::$15 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [230] (word/dword/signed dword~) initEntry::$17 ← (word/dword/signed dword) $9999 + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$17 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$17 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$17 ] ) always clobbers reg byte a +Statement [231] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) ← (word/dword/signed dword~) initEntry::$17 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [233] (byte/word/signed word/dword/signed dword~) initEntry::$19 ← (byte/word/signed word/dword/signed dword) $aa + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$19 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$19 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$19 ] ) always clobbers reg byte a +Statement [234] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) ← (byte/word/signed word/dword/signed dword~) initEntry::$19 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [236] (byte/word/signed word/dword/signed dword~) initEntry::$21 ← (byte/word/signed word/dword/signed dword) $bb + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$21 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$21 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$21 ] ) always clobbers reg byte a +Statement [237] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) ← (byte/word/signed word/dword/signed dword~) initEntry::$21 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [239] (byte/word/signed word/dword/signed dword~) initEntry::$23 ← (byte/word/signed word/dword/signed dword) $cc + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$23 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$23 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::$23 ] ) always clobbers reg byte a +Statement [240] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) ← (byte/word/signed word/dword/signed dword~) initEntry::$23 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [242] (byte/word/signed word/dword/signed dword~) initEntry::$25 ← (byte/word/signed word/dword/signed dword) $dd + (byte) initEntry::n#10 [ initEntry::entryBufDisk1_$0#0 initEntry::$25 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::$25 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::$25 ] ) always clobbers reg byte a +Statement [243] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) ← (byte/word/signed word/dword/signed dword~) initEntry::$25 [ ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 ] ) always clobbers reg byte y +Statement [249] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::mul8u:7 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::mul8u:12 [ main::entry1#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) always clobbers reg byte a +Statement [251] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::mul8u:7 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::mul8u:12 [ main::entry1#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a +Statement [255] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a +Statement [256] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a Potential registers zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:2 , Potential registers zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] : zp ZP_WORD:4 , Potential registers zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] : zp ZP_WORD:6 , @@ -6953,159 +6652,85 @@ Potential registers zp ZP_BYTE:41 [ keyboard_key_pressed::$2 ] : zp ZP_BYTE:41 , Potential registers zp ZP_BYTE:42 [ keyboard_key_pressed::return#0 ] : zp ZP_BYTE:42 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_BYTE:43 [ keyboard_matrix_read::return#0 ] : zp ZP_BYTE:43 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_WORD:44 [ print_line_cursor#1 ] : zp ZP_WORD:44 , -Potential registers zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] : zp ZP_WORD:46 , -Potential registers zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] : zp ZP_WORD:48 , -Potential registers zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] : zp ZP_WORD:50 , -Potential registers zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] : zp ZP_WORD:52 , -Potential registers zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] : zp ZP_WORD:54 , -Potential registers zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] : zp ZP_WORD:56 , -Potential registers zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] : zp ZP_WORD:58 , -Potential registers zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] : zp ZP_WORD:60 , -Potential registers zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] : zp ZP_WORD:62 , -Potential registers zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] : zp ZP_WORD:64 , -Potential registers zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] : zp ZP_WORD:66 , -Potential registers zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] : zp ZP_WORD:68 , -Potential registers zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] : zp ZP_WORD:70 , -Potential registers zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] : zp ZP_WORD:72 , -Potential registers zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] : zp ZP_WORD:74 , -Potential registers zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] : zp ZP_WORD:76 , -Potential registers zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] : zp ZP_WORD:78 , -Potential registers zp ZP_BYTE:80 [ print_byte::$0 ] : zp ZP_BYTE:80 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:81 [ print_byte::$2 ] : zp ZP_BYTE:81 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] : zp ZP_WORD:82 , -Potential registers zp ZP_BYTE:84 [ initEntry::$1 ] : zp ZP_BYTE:84 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] : zp ZP_WORD:85 , -Potential registers zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] : zp ZP_WORD:87 , -Potential registers zp ZP_BYTE:89 [ initEntry::$3 ] : zp ZP_BYTE:89 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] : zp ZP_WORD:90 , -Potential registers zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] : zp ZP_WORD:92 , -Potential registers zp ZP_BYTE:94 [ initEntry::$5 ] : zp ZP_BYTE:94 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] : zp ZP_WORD:95 , -Potential registers zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] : zp ZP_WORD:97 , -Potential registers zp ZP_BYTE:99 [ initEntry::$7 ] : zp ZP_BYTE:99 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] : zp ZP_WORD:100 , -Potential registers zp ZP_BYTE:102 [ initEntry::$9 ] : zp ZP_BYTE:102 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] : zp ZP_WORD:103 , -Potential registers zp ZP_BYTE:105 [ initEntry::$11 ] : zp ZP_BYTE:105 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] : zp ZP_WORD:106 , -Potential registers zp ZP_BYTE:108 [ initEntry::$13 ] : zp ZP_BYTE:108 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] : zp ZP_WORD:109 , -Potential registers zp ZP_BYTE:111 [ initEntry::$15 ] : zp ZP_BYTE:111 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] : zp ZP_WORD:112 , -Potential registers zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] : zp ZP_WORD:114 , -Potential registers zp ZP_BYTE:116 [ initEntry::$17 ] : zp ZP_BYTE:116 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] : zp ZP_WORD:117 , -Potential registers zp ZP_BYTE:119 [ initEntry::$19 ] : zp ZP_BYTE:119 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] : zp ZP_WORD:120 , -Potential registers zp ZP_BYTE:122 [ initEntry::$21 ] : zp ZP_BYTE:122 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] : zp ZP_WORD:123 , -Potential registers zp ZP_BYTE:125 [ initEntry::$23 ] : zp ZP_BYTE:125 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] : zp ZP_WORD:126 , -Potential registers zp ZP_BYTE:128 [ initEntry::$25 ] : zp ZP_BYTE:128 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:129 [ mul8u::$1 ] : zp ZP_BYTE:129 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:46 [ print_byte::$0 ] : zp ZP_BYTE:46 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:47 [ print_byte::$2 ] : zp ZP_BYTE:47 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:48 [ initEntry::$1 ] : zp ZP_WORD:48 , +Potential registers zp ZP_WORD:50 [ initEntry::$3 ] : zp ZP_WORD:50 , +Potential registers zp ZP_WORD:52 [ initEntry::$5 ] : zp ZP_WORD:52 , +Potential registers zp ZP_WORD:54 [ initEntry::$7 ] : zp ZP_WORD:54 , +Potential registers zp ZP_BYTE:56 [ initEntry::$9 ] : zp ZP_BYTE:56 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:57 [ initEntry::$11 ] : zp ZP_BYTE:57 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:58 [ initEntry::$13 ] : zp ZP_BYTE:58 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:59 [ initEntry::$15 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:60 [ initEntry::$17 ] : zp ZP_WORD:60 , +Potential registers zp ZP_BYTE:62 [ initEntry::$19 ] : zp ZP_BYTE:62 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:63 [ initEntry::$21 ] : zp ZP_BYTE:63 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:64 [ initEntry::$23 ] : zp ZP_BYTE:64 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:65 [ initEntry::$25 ] : zp ZP_BYTE:65 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:66 [ mul8u::$1 ] : zp ZP_BYTE:66 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [] 142.07: zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] 142: zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] 1.04: zp ZP_WORD:44 [ print_line_cursor#1 ] -Uplift Scope [mul8u] 38.29: zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] 26.71: zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] 22: zp ZP_BYTE:129 [ mul8u::$1 ] 20.67: zp ZP_BYTE:19 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] 4: zp ZP_WORD:24 [ mul8u::return#2 ] 4: zp ZP_WORD:30 [ mul8u::return#3 ] -Uplift Scope [initEntry] 8.73: zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] 4: zp ZP_BYTE:84 [ initEntry::$1 ] 4: zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] 4: zp ZP_BYTE:89 [ initEntry::$3 ] 4: zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] 4: zp ZP_BYTE:94 [ initEntry::$5 ] 4: zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] 4: zp ZP_BYTE:99 [ initEntry::$7 ] 4: zp ZP_BYTE:102 [ initEntry::$9 ] 4: zp ZP_BYTE:105 [ initEntry::$11 ] 4: zp ZP_BYTE:108 [ initEntry::$13 ] 4: zp ZP_BYTE:111 [ initEntry::$15 ] 4: zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] 4: zp ZP_BYTE:116 [ initEntry::$17 ] 4: zp ZP_BYTE:119 [ initEntry::$19 ] 4: zp ZP_BYTE:122 [ initEntry::$21 ] 4: zp ZP_BYTE:125 [ initEntry::$23 ] 4: zp ZP_BYTE:128 [ initEntry::$25 ] 2: zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] 2: zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] 2: zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] 2: zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] 2: zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] 2: zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] 2: zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] 2: zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] 2: zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] 2: zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] 2: zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] 2: zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] 2: zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] 0.62: zp ZP_BYTE:18 [ initEntry::n#10 ] -Uplift Scope [printEntry] 8.33: zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] 4: zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] 4: zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] 4: zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] 4: zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] 4: zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] 4: zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] 4: zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] 4: zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] 4: zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] 4: zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] 4: zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] 4: zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] 4: zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] 4: zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] 2: zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] 2: zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] 2: zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] -Uplift Scope [print_byte] 46: zp ZP_BYTE:10 [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:80 [ print_byte::$0 ] 4: zp ZP_BYTE:81 [ print_byte::$2 ] +Uplift Scope [] 142.16: zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] 142: zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] 1.08: zp ZP_WORD:44 [ print_line_cursor#1 ] +Uplift Scope [mul8u] 38.29: zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] 26.71: zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] 22: zp ZP_BYTE:66 [ mul8u::$1 ] 20.67: zp ZP_BYTE:19 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] 4: zp ZP_WORD:24 [ mul8u::return#2 ] 4: zp ZP_WORD:30 [ mul8u::return#3 ] +Uplift Scope [initEntry] 8.51: zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] 4: zp ZP_WORD:48 [ initEntry::$1 ] 4: zp ZP_WORD:50 [ initEntry::$3 ] 4: zp ZP_WORD:52 [ initEntry::$5 ] 4: zp ZP_WORD:54 [ initEntry::$7 ] 4: zp ZP_BYTE:56 [ initEntry::$9 ] 4: zp ZP_BYTE:57 [ initEntry::$11 ] 4: zp ZP_BYTE:58 [ initEntry::$13 ] 4: zp ZP_BYTE:59 [ initEntry::$15 ] 4: zp ZP_WORD:60 [ initEntry::$17 ] 4: zp ZP_BYTE:62 [ initEntry::$19 ] 4: zp ZP_BYTE:63 [ initEntry::$21 ] 4: zp ZP_BYTE:64 [ initEntry::$23 ] 4: zp ZP_BYTE:65 [ initEntry::$25 ] 0.68: zp ZP_BYTE:18 [ initEntry::n#10 ] +Uplift Scope [print_byte] 46: zp ZP_BYTE:10 [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:46 [ print_byte::$0 ] 4: zp ZP_BYTE:47 [ print_byte::$2 ] Uplift Scope [keyboard_key_pressed] 22: zp ZP_BYTE:36 [ keyboard_key_pressed::return#2 ] 22: zp ZP_BYTE:38 [ keyboard_key_pressed::return#3 ] 6: zp ZP_BYTE:42 [ keyboard_key_pressed::return#0 ] 4: zp ZP_BYTE:41 [ keyboard_key_pressed::$2 ] Uplift Scope [main] 22: zp ZP_BYTE:37 [ main::$20 ] 22: zp ZP_BYTE:39 [ main::$22 ] 4: zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] 4: zp ZP_WORD:32 [ main::fileEntry2_$0#0 ] 0.32: zp ZP_WORD:28 [ main::entry1#0 ] 0.17: zp ZP_WORD:34 [ main::entry2#0 ] Uplift Scope [print_str] 35.5: zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] Uplift Scope [print_cls] 33: zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] Uplift Scope [print_word] 24.67: zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] Uplift Scope [print_char] 14: zp ZP_BYTE:11 [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +Uplift Scope [printEntry] 8.23: zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] Uplift Scope [keyboard_matrix_read] 4: zp ZP_BYTE:40 [ keyboard_matrix_read::return#2 ] 1.33: zp ZP_BYTE:43 [ keyboard_matrix_read::return#0 ] Uplift Scope [print_ln] Uplift Scope [keyboard_init] -Uplifting [] best 6006 combination zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] zp ZP_WORD:44 [ print_line_cursor#1 ] -Uplifting [mul8u] best 5910 combination zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] zp ZP_WORD:24 [ mul8u::return#2 ] zp ZP_WORD:30 [ mul8u::return#3 ] -Uplifting [initEntry] best 5892 combination zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] reg byte a [ initEntry::$1 ] zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] reg byte a [ initEntry::$3 ] zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] reg byte a [ initEntry::$5 ] zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] reg byte a [ initEntry::$7 ] zp ZP_BYTE:102 [ initEntry::$9 ] zp ZP_BYTE:105 [ initEntry::$11 ] zp ZP_BYTE:108 [ initEntry::$13 ] zp ZP_BYTE:111 [ initEntry::$15 ] zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] zp ZP_BYTE:116 [ initEntry::$17 ] zp ZP_BYTE:119 [ initEntry::$19 ] zp ZP_BYTE:122 [ initEntry::$21 ] zp ZP_BYTE:125 [ initEntry::$23 ] zp ZP_BYTE:128 [ initEntry::$25 ] zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] zp ZP_BYTE:18 [ initEntry::n#10 ] -Limited combination testing to 100 combinations of 134217728 possible. -Uplifting [printEntry] best 5892 combination zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] -Uplifting [print_byte] best 5870 combination reg byte x [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ] -Uplifting [keyboard_key_pressed] best 5681 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#3 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::$2 ] +Uplifting [] best 6177 combination zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] zp ZP_WORD:44 [ print_line_cursor#1 ] +Uplifting [mul8u] best 6081 combination zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] zp ZP_WORD:24 [ mul8u::return#2 ] zp ZP_WORD:30 [ mul8u::return#3 ] +Uplifting [initEntry] best 6065 combination zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] zp ZP_WORD:48 [ initEntry::$1 ] zp ZP_WORD:50 [ initEntry::$3 ] zp ZP_WORD:52 [ initEntry::$5 ] zp ZP_WORD:54 [ initEntry::$7 ] reg byte a [ initEntry::$9 ] reg byte a [ initEntry::$11 ] reg byte a [ initEntry::$13 ] reg byte a [ initEntry::$15 ] zp ZP_WORD:60 [ initEntry::$17 ] zp ZP_BYTE:62 [ initEntry::$19 ] zp ZP_BYTE:63 [ initEntry::$21 ] zp ZP_BYTE:64 [ initEntry::$23 ] zp ZP_BYTE:65 [ initEntry::$25 ] zp ZP_BYTE:18 [ initEntry::n#10 ] +Limited combination testing to 100 combinations of 131072 possible. +Uplifting [print_byte] best 6043 combination reg byte x [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ] +Uplifting [keyboard_key_pressed] best 5854 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#3 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::$2 ] Limited combination testing to 100 combinations of 256 possible. -Uplifting [main] best 5561 combination reg byte a [ main::$20 ] reg byte a [ main::$22 ] zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] zp ZP_WORD:32 [ main::fileEntry2_$0#0 ] zp ZP_WORD:28 [ main::entry1#0 ] zp ZP_WORD:34 [ main::entry2#0 ] -Uplifting [print_str] best 5561 combination zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] -Uplifting [print_cls] best 5561 combination zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [print_word] best 5561 combination zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] -Uplifting [print_char] best 5552 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -Uplifting [keyboard_matrix_read] best 5540 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] -Uplifting [print_ln] best 5540 combination -Uplifting [keyboard_init] best 5540 combination -Attempting to uplift remaining variables inzp ZP_BYTE:102 [ initEntry::$9 ] -Uplifting [initEntry] best 5536 combination reg byte a [ initEntry::$9 ] -Attempting to uplift remaining variables inzp ZP_BYTE:105 [ initEntry::$11 ] -Uplifting [initEntry] best 5532 combination reg byte a [ initEntry::$11 ] -Attempting to uplift remaining variables inzp ZP_BYTE:108 [ initEntry::$13 ] -Uplifting [initEntry] best 5528 combination reg byte a [ initEntry::$13 ] -Attempting to uplift remaining variables inzp ZP_BYTE:111 [ initEntry::$15 ] -Uplifting [initEntry] best 5524 combination reg byte a [ initEntry::$15 ] -Attempting to uplift remaining variables inzp ZP_BYTE:116 [ initEntry::$17 ] -Uplifting [initEntry] best 5520 combination reg byte a [ initEntry::$17 ] -Attempting to uplift remaining variables inzp ZP_BYTE:119 [ initEntry::$19 ] -Uplifting [initEntry] best 5516 combination reg byte a [ initEntry::$19 ] -Attempting to uplift remaining variables inzp ZP_BYTE:122 [ initEntry::$21 ] -Uplifting [initEntry] best 5512 combination reg byte a [ initEntry::$21 ] -Attempting to uplift remaining variables inzp ZP_BYTE:125 [ initEntry::$23 ] -Uplifting [initEntry] best 5508 combination reg byte a [ initEntry::$23 ] -Attempting to uplift remaining variables inzp ZP_BYTE:128 [ initEntry::$25 ] -Uplifting [initEntry] best 5504 combination reg byte a [ initEntry::$25 ] +Uplifting [main] best 5734 combination reg byte a [ main::$20 ] reg byte a [ main::$22 ] zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] zp ZP_WORD:32 [ main::fileEntry2_$0#0 ] zp ZP_WORD:28 [ main::entry1#0 ] zp ZP_WORD:34 [ main::entry2#0 ] +Uplifting [print_str] best 5734 combination zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] +Uplifting [print_cls] best 5734 combination zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [print_word] best 5734 combination zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] +Uplifting [print_char] best 5725 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +Uplifting [printEntry] best 5725 combination zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] +Uplifting [keyboard_matrix_read] best 5713 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] +Uplifting [print_ln] best 5713 combination +Uplifting [keyboard_init] best 5713 combination +Attempting to uplift remaining variables inzp ZP_BYTE:62 [ initEntry::$19 ] +Uplifting [initEntry] best 5709 combination reg byte a [ initEntry::$19 ] +Attempting to uplift remaining variables inzp ZP_BYTE:63 [ initEntry::$21 ] +Uplifting [initEntry] best 5705 combination reg byte a [ initEntry::$21 ] +Attempting to uplift remaining variables inzp ZP_BYTE:64 [ initEntry::$23 ] +Uplifting [initEntry] best 5701 combination reg byte a [ initEntry::$23 ] +Attempting to uplift remaining variables inzp ZP_BYTE:65 [ initEntry::$25 ] +Uplifting [initEntry] best 5697 combination reg byte a [ initEntry::$25 ] Attempting to uplift remaining variables inzp ZP_BYTE:18 [ initEntry::n#10 ] -Uplifting [initEntry] best 5504 combination zp ZP_BYTE:18 [ initEntry::n#10 ] +Uplifting [initEntry] best 5678 combination reg byte x [ initEntry::n#10 ] Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] ] with [ zp ZP_WORD:28 [ main::entry1#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 ] ] with [ zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] ] with [ zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 ] ] with [ zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 ] ] with [ zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 ] ] with [ zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 ] ] with [ zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] ] with [ zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] ] with [ zp ZP_WORD:24 [ mul8u::return#2 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 ] ] with [ zp ZP_WORD:30 [ mul8u::return#3 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:32 [ main::fileEntry2_$0#0 ] ] with [ zp ZP_WORD:34 [ main::entry2#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] ] with [ zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] ] with [ zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] ] with [ zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] ] with [ zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 printEntry::entryTLo1_return#0 ] ] with [ zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 ] ] with [ zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 ] ] with [ zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 ] ] with [ zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 ] ] with [ zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 ] ] with [ zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 ] ] with [ zp ZP_WORD:32 [ main::fileEntry2_$0#0 main::entry2#0 ] ] - score: 1 Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] ] Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 ] ] with [ zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] ] with [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 ] ] with [ zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 ] ] with [ zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 ] ] with [ zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 ] ] with [ zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 ] ] with [ zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 ] ] with [ zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 ] ] with [ zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 printEntry::entryBAddrLo1_return#0 ] ] with [ zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 printEntry::entryBAddrLo1_return#0 printEntry::entryBAddrHi1_return#0 ] ] with [ zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] ] with [ zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 ] ] with [ zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 ] ] with [ zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 ] ] with [ zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 ] ] with [ zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 ] ] with [ zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 ] ] with [ zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 ] ] with [ zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 ] ] with [ zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 ] ] with [ zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 ] ] with [ zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 initEntry::entryBAddrHi1_return#0 ] ] with [ zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] ] -Allocated (was zp ZP_WORD:8) zp ZP_WORD:4 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 printEntry::entryTLo1_return#0 main::fileEntry1_$0#0 ] -Allocated (was zp ZP_WORD:12) zp ZP_WORD:6 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 initEntry::entryBAddrHi1_return#0 initEntry::entryTHi1_return#0 ] -Allocated (was zp ZP_BYTE:18) zp ZP_BYTE:8 [ initEntry::n#10 ] -Allocated (was zp ZP_WORD:20) zp ZP_WORD:9 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry2_$0#0 main::entry2#0 ] -Allocated (was zp ZP_WORD:44) zp ZP_WORD:11 [ print_line_cursor#1 ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] ] with [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] ] with [ zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] ] with [ zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] ] with [ zp ZP_WORD:48 [ initEntry::$1 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::$1 ] ] with [ zp ZP_WORD:50 [ initEntry::$3 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::$1 initEntry::$3 ] ] with [ zp ZP_WORD:52 [ initEntry::$5 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::$1 initEntry::$3 initEntry::$5 ] ] with [ zp ZP_WORD:54 [ initEntry::$7 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::$1 initEntry::$3 initEntry::$5 initEntry::$7 ] ] with [ zp ZP_WORD:60 [ initEntry::$17 ] ] +Allocated (was zp ZP_WORD:8) zp ZP_WORD:4 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 main::fileEntry1_$0#0 ] +Allocated (was zp ZP_WORD:12) zp ZP_WORD:6 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::$1 initEntry::$3 initEntry::$5 initEntry::$7 initEntry::$17 ] +Allocated (was zp ZP_WORD:20) zp ZP_WORD:8 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry2_$0#0 main::entry2#0 ] +Allocated (was zp ZP_WORD:44) zp ZP_WORD:10 [ print_line_cursor#1 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 File Comments @@ -7147,7 +6772,7 @@ ASSEMBLER BEFORE OPTIMIZATION // The maximal number of files .const MAX_FILES = $90 .label print_char_cursor = 6 - .label print_line_cursor = $b + .label print_line_cursor = $a .label print_line_cursor_32 = 2 .label print_line_cursor_63 = 2 .label print_line_cursor_159 = 2 @@ -7191,8 +6816,8 @@ main: { .const fileEntry2_idx = 2 .label fileEntry1__0 = 4 .label entry1 = 4 - .label fileEntry2__0 = 9 - .label entry2 = 9 + .label fileEntry2__0 = 8 + .label entry2 = 8 //SEG11 [5] call keyboard_init jsr keyboard_init //SEG12 [6] phi from main to main::fileEntry1 [phi:main->main::fileEntry1] @@ -7201,9 +6826,9 @@ main: { //SEG13 main::fileEntry1 fileEntry1: //SEG14 [7] call mul8u - //SEG15 [253] phi from main::fileEntry1 to mul8u [phi:main::fileEntry1->mul8u] + //SEG15 [245] phi from main::fileEntry1 to mul8u [phi:main::fileEntry1->mul8u] mul8u_from_fileEntry1: - //SEG16 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry1_idx#0 [phi:main::fileEntry1->mul8u#0] -- vbuxx=vbuc1 + //SEG16 [245] phi (byte) mul8u::a#6 = (const byte) main::fileEntry1_idx#0 [phi:main::fileEntry1->mul8u#0] -- vbuxx=vbuc1 ldx #fileEntry1_idx jsr mul8u //SEG17 [8] (word) mul8u::return#2 ← (word) mul8u::res#2 @@ -7229,9 +6854,9 @@ main: { //SEG22 main::fileEntry2 fileEntry2: //SEG23 [12] call mul8u - //SEG24 [253] phi from main::fileEntry2 to mul8u [phi:main::fileEntry2->mul8u] + //SEG24 [245] phi from main::fileEntry2 to mul8u [phi:main::fileEntry2->mul8u] mul8u_from_fileEntry2: - //SEG25 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry2_idx#0 [phi:main::fileEntry2->mul8u#0] -- vbuxx=vbuc1 + //SEG25 [245] phi (byte) mul8u::a#6 = (const byte) main::fileEntry2_idx#0 [phi:main::fileEntry2->mul8u#0] -- vbuxx=vbuc1 ldx #fileEntry2_idx jsr mul8u //SEG26 [13] (word) mul8u::return#3 ← (word) mul8u::res#2 @@ -7256,12 +6881,11 @@ main: { lda entry1+1 sta initEntry.entry+1 //SEG32 [17] call initEntry - //SEG33 [208] phi from main::@5 to initEntry [phi:main::@5->initEntry] + //SEG33 [204] phi from main::@5 to initEntry [phi:main::@5->initEntry] initEntry_from_b5: - //SEG34 [208] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@5->initEntry#0] -- vbuz1=vbuc1 - lda #0 - sta initEntry.n - //SEG35 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#0 [phi:main::@5->initEntry#1] -- register_copy + //SEG34 [204] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@5->initEntry#0] -- vbuxx=vbuc1 + ldx #0 + //SEG35 [204] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#0 [phi:main::@5->initEntry#1] -- register_copy jsr initEntry jmp b8 //SEG36 main::@8 @@ -7272,12 +6896,11 @@ main: { lda entry2+1 sta initEntry.entry+1 //SEG38 [19] call initEntry - //SEG39 [208] phi from main::@8 to initEntry [phi:main::@8->initEntry] + //SEG39 [204] phi from main::@8 to initEntry [phi:main::@8->initEntry] initEntry_from_b8: - //SEG40 [208] phi (byte) initEntry::n#10 = (byte/word/signed word/dword/signed dword) $80 [phi:main::@8->initEntry#0] -- vbuz1=vbuc1 - lda #$80 - sta initEntry.n - //SEG41 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#1 [phi:main::@8->initEntry#1] -- register_copy + //SEG40 [204] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) $11 [phi:main::@8->initEntry#0] -- vbuxx=vbuc1 + ldx #$11 + //SEG41 [204] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#1 [phi:main::@8->initEntry#1] -- register_copy jsr initEntry //SEG42 [20] phi from main::@8 to main::@9 [phi:main::@8->main::@9] b9_from_b8: @@ -7724,23 +7347,6 @@ print_ln: { printEntry: { .label entry = 4 .label entryBufDisk1__0 = 4 - .label entryBufDisk1_return = 2 - .label entryBufEdit1__0 = 2 - .label entryBufEdit1_return = 2 - .label entryTsLen1__0 = 2 - .label entryTsLen1_return = 2 - .label entryTsOrder1__0 = 2 - .label entryTsOrder1_return = 2 - .label entryTLastLink1_return = 2 - .label entrySLastLink1_return = 2 - .label entryBFlag1_return = 2 - .label entryBError1_return = 2 - .label entryUCross1__0 = 2 - .label entryUCross1_return = 2 - .label entryBAddrLo1_return = 2 - .label entryBAddrHi1_return = 2 - .label entryTHi1_return = 2 - .label entryTLo1_return = 4 //SEG193 [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor @@ -7756,29 +7362,25 @@ printEntry: { lda #>str sta print_str.str+1 jsr print_str + //SEG198 [96] phi from printEntry to printEntry::entryBufDisk1 [phi:printEntry->printEntry::entryBufDisk1] + entryBufDisk1_from_printEntry: jmp entryBufDisk1 - //SEG198 printEntry::entryBufDisk1 + //SEG199 printEntry::entryBufDisk1 entryBufDisk1: - //SEG199 [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryBufDisk1__0 - sta entryBufDisk1_return - lda entryBufDisk1__0+1 - sta entryBufDisk1_return+1 jmp b1 //SEG200 printEntry::@1 b1: - //SEG201 [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) -- vwuz1=_deref_pwuz1 + //SEG201 [97] (word~) print_word::w#7 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0) -- vwuz1=_deref_pptz2 ldy #0 - lda (print_word.w),y - tax + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w //SEG202 [98] call print_word - //SEG203 [202] phi from printEntry::@1 to print_word [phi:printEntry::@1->print_word] + //SEG203 [198] phi from printEntry::@1 to print_word [phi:printEntry::@1->print_word] print_word_from_b1: - //SEG204 [202] phi (word) print_word::w#5 = (word~) print_word::w#7 [phi:printEntry::@1->print_word#0] -- register_copy + //SEG204 [198] phi (word) print_word::w#5 = (word~) print_word::w#7 [phi:printEntry::@1->print_word#0] -- register_copy jsr print_word jmp b14 //SEG205 printEntry::@14 @@ -7812,680 +7414,600 @@ printEntry: { lda #>str1 sta print_str.str+1 jsr print_str + //SEG217 [103] phi from printEntry::@15 to printEntry::entryBufEdit1 [phi:printEntry::@15->printEntry::entryBufEdit1] + entryBufEdit1_from_b15: jmp entryBufEdit1 - //SEG217 printEntry::entryBufEdit1 + //SEG218 printEntry::entryBufEdit1 entryBufEdit1: - //SEG218 [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 - lda entryBufDisk1__0 - clc - adc #2 - sta entryBufEdit1__0 - lda entryBufDisk1__0+1 - adc #0 - sta entryBufEdit1__0+1 - //SEG219 [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz1 jmp b2 - //SEG220 printEntry::@2 + //SEG219 printEntry::@2 b2: - //SEG221 [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) -- vwuz1=_deref_pwuz1 - ldy #0 - lda (print_word.w),y - tax + //SEG220 [104] (word~) print_word::w#8 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) -- vwuz1=pptz2_derefidx_vbuc1 + ldy #2 + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w - //SEG222 [106] call print_word - //SEG223 [202] phi from printEntry::@2 to print_word [phi:printEntry::@2->print_word] + //SEG221 [105] call print_word + //SEG222 [198] phi from printEntry::@2 to print_word [phi:printEntry::@2->print_word] print_word_from_b2: - //SEG224 [202] phi (word) print_word::w#5 = (word~) print_word::w#8 [phi:printEntry::@2->print_word#0] -- register_copy + //SEG223 [198] phi (word) print_word::w#5 = (word~) print_word::w#8 [phi:printEntry::@2->print_word#0] -- register_copy jsr print_word jmp b16 - //SEG225 printEntry::@16 + //SEG224 printEntry::@16 b16: - //SEG226 [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG225 [106] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_164 lda print_line_cursor+1 sta print_line_cursor_164+1 - //SEG227 [108] call print_ln - //SEG228 [87] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln] + //SEG226 [107] call print_ln + //SEG227 [87] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln] print_ln_from_b16: - //SEG229 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@16->print_ln#0] -- register_copy - //SEG230 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#164 [phi:printEntry::@16->print_ln#1] -- register_copy + //SEG228 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@16->print_ln#0] -- register_copy + //SEG229 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#164 [phi:printEntry::@16->print_ln#1] -- register_copy jsr print_ln jmp b17 - //SEG231 printEntry::@17 + //SEG230 printEntry::@17 b17: - //SEG232 [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG231 [108] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG233 [110] call print_str - //SEG234 [80] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str] + //SEG232 [109] call print_str + //SEG233 [80] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str] print_str_from_b17: - //SEG235 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#216 [phi:printEntry::@17->print_str#0] -- register_copy - //SEG236 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 + //SEG234 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#216 [phi:printEntry::@17->print_str#0] -- register_copy + //SEG235 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str + //SEG236 [110] phi from printEntry::@17 to printEntry::entryTsLen1 [phi:printEntry::@17->printEntry::entryTsLen1] + entryTsLen1_from_b17: jmp entryTsLen1 //SEG237 printEntry::entryTsLen1 entryTsLen1: - //SEG238 [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 - lda #4 - clc - adc entryBufDisk1__0 - sta entryTsLen1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsLen1__0+1 - //SEG239 [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz1 jmp b3 - //SEG240 printEntry::@3 + //SEG238 printEntry::@3 b3: - //SEG241 [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) -- vwuz1=_deref_pwuz1 - ldy #0 - lda (print_word.w),y - tax + //SEG239 [111] (word) print_word::w#2 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) -- vwuz1=pwuz2_derefidx_vbuc1 + ldy #4 + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w - //SEG242 [114] call print_word - //SEG243 [202] phi from printEntry::@3 to print_word [phi:printEntry::@3->print_word] + //SEG240 [112] call print_word + //SEG241 [198] phi from printEntry::@3 to print_word [phi:printEntry::@3->print_word] print_word_from_b3: - //SEG244 [202] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:printEntry::@3->print_word#0] -- register_copy + //SEG242 [198] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:printEntry::@3->print_word#0] -- register_copy jsr print_word jmp b18 - //SEG245 printEntry::@18 + //SEG243 printEntry::@18 b18: - //SEG246 [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG244 [113] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_165 lda print_line_cursor+1 sta print_line_cursor_165+1 - //SEG247 [116] call print_ln - //SEG248 [87] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln] + //SEG245 [114] call print_ln + //SEG246 [87] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln] print_ln_from_b18: - //SEG249 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@18->print_ln#0] -- register_copy - //SEG250 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#165 [phi:printEntry::@18->print_ln#1] -- register_copy + //SEG247 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@18->print_ln#0] -- register_copy + //SEG248 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#165 [phi:printEntry::@18->print_ln#1] -- register_copy jsr print_ln jmp b19 - //SEG251 printEntry::@19 + //SEG249 printEntry::@19 b19: - //SEG252 [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG250 [115] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG253 [118] call print_str - //SEG254 [80] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str] + //SEG251 [116] call print_str + //SEG252 [80] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str] print_str_from_b19: - //SEG255 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#217 [phi:printEntry::@19->print_str#0] -- register_copy - //SEG256 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 + //SEG253 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#217 [phi:printEntry::@19->print_str#0] -- register_copy + //SEG254 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str + //SEG255 [117] phi from printEntry::@19 to printEntry::entryTsOrder1 [phi:printEntry::@19->printEntry::entryTsOrder1] + entryTsOrder1_from_b19: jmp entryTsOrder1 - //SEG257 printEntry::entryTsOrder1 + //SEG256 printEntry::entryTsOrder1 entryTsOrder1: - //SEG258 [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 - lda #6 - clc - adc entryBufDisk1__0 - sta entryTsOrder1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsOrder1__0+1 - //SEG259 [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz1 jmp b4 - //SEG260 printEntry::@4 + //SEG257 printEntry::@4 b4: - //SEG261 [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) -- vwuz1=_deref_pwuz1 - ldy #0 - lda (print_word.w),y - tax + //SEG258 [118] (word~) print_word::w#10 ← (word)*((word**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) -- vwuz1=pptz2_derefidx_vbuc1 + ldy #6 + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w - //SEG262 [122] call print_word - //SEG263 [202] phi from printEntry::@4 to print_word [phi:printEntry::@4->print_word] + //SEG259 [119] call print_word + //SEG260 [198] phi from printEntry::@4 to print_word [phi:printEntry::@4->print_word] print_word_from_b4: - //SEG264 [202] phi (word) print_word::w#5 = (word~) print_word::w#10 [phi:printEntry::@4->print_word#0] -- register_copy + //SEG261 [198] phi (word) print_word::w#5 = (word~) print_word::w#10 [phi:printEntry::@4->print_word#0] -- register_copy jsr print_word jmp b20 - //SEG265 printEntry::@20 + //SEG262 printEntry::@20 b20: - //SEG266 [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG263 [120] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_166 lda print_line_cursor+1 sta print_line_cursor_166+1 - //SEG267 [124] call print_ln - //SEG268 [87] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln] + //SEG264 [121] call print_ln + //SEG265 [87] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln] print_ln_from_b20: - //SEG269 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@20->print_ln#0] -- register_copy - //SEG270 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#166 [phi:printEntry::@20->print_ln#1] -- register_copy + //SEG266 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@20->print_ln#0] -- register_copy + //SEG267 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#166 [phi:printEntry::@20->print_ln#1] -- register_copy jsr print_ln jmp b21 - //SEG271 printEntry::@21 + //SEG268 printEntry::@21 b21: - //SEG272 [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG269 [122] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG273 [126] call print_str - //SEG274 [80] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str] + //SEG270 [123] call print_str + //SEG271 [80] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str] print_str_from_b21: - //SEG275 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#218 [phi:printEntry::@21->print_str#0] -- register_copy - //SEG276 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 + //SEG272 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#218 [phi:printEntry::@21->print_str#0] -- register_copy + //SEG273 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 lda #str4 sta print_str.str+1 jsr print_str + //SEG274 [124] phi from printEntry::@21 to printEntry::entryTLastLink1 [phi:printEntry::@21->printEntry::entryTLastLink1] + entryTLastLink1_from_b21: jmp entryTLastLink1 - //SEG277 printEntry::entryTLastLink1 + //SEG275 printEntry::entryTLastLink1 entryTLastLink1: - //SEG278 [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 - lda #8 - clc - adc entryBufDisk1__0 - sta entryTLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLastLink1_return+1 jmp b5 - //SEG279 printEntry::@5 + //SEG276 printEntry::@5 b5: - //SEG280 [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryTLastLink1_return),y + //SEG277 [125] (byte) print_byte::b#2 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #8 + lda (entryBufDisk1__0),y tax - //SEG281 [129] call print_byte - //SEG282 [190] phi from printEntry::@5 to print_byte [phi:printEntry::@5->print_byte] + //SEG278 [126] call print_byte + //SEG279 [186] phi from printEntry::@5 to print_byte [phi:printEntry::@5->print_byte] print_byte_from_b5: - //SEG283 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@5->print_byte#0] -- register_copy - //SEG284 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#2 [phi:printEntry::@5->print_byte#1] -- register_copy + //SEG280 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@5->print_byte#0] -- register_copy + //SEG281 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#2 [phi:printEntry::@5->print_byte#1] -- register_copy jsr print_byte jmp b22 - //SEG285 printEntry::@22 + //SEG282 printEntry::@22 b22: - //SEG286 [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG283 [127] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_167 lda print_line_cursor+1 sta print_line_cursor_167+1 - //SEG287 [131] call print_ln - //SEG288 [87] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln] + //SEG284 [128] call print_ln + //SEG285 [87] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln] print_ln_from_b22: - //SEG289 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@22->print_ln#0] -- register_copy - //SEG290 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#167 [phi:printEntry::@22->print_ln#1] -- register_copy + //SEG286 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@22->print_ln#0] -- register_copy + //SEG287 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#167 [phi:printEntry::@22->print_ln#1] -- register_copy jsr print_ln jmp b23 - //SEG291 printEntry::@23 + //SEG288 printEntry::@23 b23: - //SEG292 [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG289 [129] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG293 [133] call print_str - //SEG294 [80] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str] + //SEG290 [130] call print_str + //SEG291 [80] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str] print_str_from_b23: - //SEG295 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#219 [phi:printEntry::@23->print_str#0] -- register_copy - //SEG296 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 + //SEG292 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#219 [phi:printEntry::@23->print_str#0] -- register_copy + //SEG293 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 lda #str5 sta print_str.str+1 jsr print_str + //SEG294 [131] phi from printEntry::@23 to printEntry::entrySLastLink1 [phi:printEntry::@23->printEntry::entrySLastLink1] + entrySLastLink1_from_b23: jmp entrySLastLink1 - //SEG297 printEntry::entrySLastLink1 + //SEG295 printEntry::entrySLastLink1 entrySLastLink1: - //SEG298 [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 - lda #9 - clc - adc entryBufDisk1__0 - sta entrySLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entrySLastLink1_return+1 jmp b6 - //SEG299 printEntry::@6 + //SEG296 printEntry::@6 b6: - //SEG300 [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entrySLastLink1_return),y + //SEG297 [132] (byte) print_byte::b#3 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #9 + lda (entryBufDisk1__0),y tax - //SEG301 [136] call print_byte - //SEG302 [190] phi from printEntry::@6 to print_byte [phi:printEntry::@6->print_byte] + //SEG298 [133] call print_byte + //SEG299 [186] phi from printEntry::@6 to print_byte [phi:printEntry::@6->print_byte] print_byte_from_b6: - //SEG303 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@6->print_byte#0] -- register_copy - //SEG304 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#3 [phi:printEntry::@6->print_byte#1] -- register_copy + //SEG300 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@6->print_byte#0] -- register_copy + //SEG301 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#3 [phi:printEntry::@6->print_byte#1] -- register_copy jsr print_byte jmp b24 - //SEG305 printEntry::@24 + //SEG302 printEntry::@24 b24: - //SEG306 [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG303 [134] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_168 lda print_line_cursor+1 sta print_line_cursor_168+1 - //SEG307 [138] call print_ln - //SEG308 [87] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln] + //SEG304 [135] call print_ln + //SEG305 [87] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln] print_ln_from_b24: - //SEG309 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@24->print_ln#0] -- register_copy - //SEG310 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#168 [phi:printEntry::@24->print_ln#1] -- register_copy + //SEG306 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@24->print_ln#0] -- register_copy + //SEG307 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#168 [phi:printEntry::@24->print_ln#1] -- register_copy jsr print_ln jmp b25 - //SEG311 printEntry::@25 + //SEG308 printEntry::@25 b25: - //SEG312 [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG309 [136] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG313 [140] call print_str - //SEG314 [80] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str] + //SEG310 [137] call print_str + //SEG311 [80] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str] print_str_from_b25: - //SEG315 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#220 [phi:printEntry::@25->print_str#0] -- register_copy - //SEG316 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 + //SEG312 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#220 [phi:printEntry::@25->print_str#0] -- register_copy + //SEG313 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 lda #str6 sta print_str.str+1 jsr print_str + //SEG314 [138] phi from printEntry::@25 to printEntry::entryBFlag1 [phi:printEntry::@25->printEntry::entryBFlag1] + entryBFlag1_from_b25: jmp entryBFlag1 - //SEG317 printEntry::entryBFlag1 + //SEG315 printEntry::entryBFlag1 entryBFlag1: - //SEG318 [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 - lda #$a - clc - adc entryBufDisk1__0 - sta entryBFlag1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBFlag1_return+1 jmp b7 - //SEG319 printEntry::@7 + //SEG316 printEntry::@7 b7: - //SEG320 [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryBFlag1_return),y + //SEG317 [139] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$a + lda (entryBufDisk1__0),y tax - //SEG321 [143] call print_byte - //SEG322 [190] phi from printEntry::@7 to print_byte [phi:printEntry::@7->print_byte] + //SEG318 [140] call print_byte + //SEG319 [186] phi from printEntry::@7 to print_byte [phi:printEntry::@7->print_byte] print_byte_from_b7: - //SEG323 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@7->print_byte#0] -- register_copy - //SEG324 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#4 [phi:printEntry::@7->print_byte#1] -- register_copy + //SEG320 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@7->print_byte#0] -- register_copy + //SEG321 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#4 [phi:printEntry::@7->print_byte#1] -- register_copy jsr print_byte jmp b26 - //SEG325 printEntry::@26 + //SEG322 printEntry::@26 b26: - //SEG326 [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG323 [141] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_169 lda print_line_cursor+1 sta print_line_cursor_169+1 - //SEG327 [145] call print_ln - //SEG328 [87] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln] + //SEG324 [142] call print_ln + //SEG325 [87] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln] print_ln_from_b26: - //SEG329 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@26->print_ln#0] -- register_copy - //SEG330 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#169 [phi:printEntry::@26->print_ln#1] -- register_copy + //SEG326 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@26->print_ln#0] -- register_copy + //SEG327 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#169 [phi:printEntry::@26->print_ln#1] -- register_copy jsr print_ln jmp b27 - //SEG331 printEntry::@27 + //SEG328 printEntry::@27 b27: - //SEG332 [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG329 [143] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG333 [147] call print_str - //SEG334 [80] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str] + //SEG330 [144] call print_str + //SEG331 [80] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str] print_str_from_b27: - //SEG335 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#221 [phi:printEntry::@27->print_str#0] -- register_copy - //SEG336 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 + //SEG332 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#221 [phi:printEntry::@27->print_str#0] -- register_copy + //SEG333 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 lda #str7 sta print_str.str+1 jsr print_str + //SEG334 [145] phi from printEntry::@27 to printEntry::entryBError1 [phi:printEntry::@27->printEntry::entryBError1] + entryBError1_from_b27: jmp entryBError1 - //SEG337 printEntry::entryBError1 + //SEG335 printEntry::entryBError1 entryBError1: - //SEG338 [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 - lda #$b - clc - adc entryBufDisk1__0 - sta entryBError1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBError1_return+1 jmp b8 - //SEG339 printEntry::@8 + //SEG336 printEntry::@8 b8: - //SEG340 [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryBError1_return),y + //SEG337 [146] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$b + lda (entryBufDisk1__0),y tax - //SEG341 [150] call print_byte - //SEG342 [190] phi from printEntry::@8 to print_byte [phi:printEntry::@8->print_byte] + //SEG338 [147] call print_byte + //SEG339 [186] phi from printEntry::@8 to print_byte [phi:printEntry::@8->print_byte] print_byte_from_b8: - //SEG343 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@8->print_byte#0] -- register_copy - //SEG344 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#5 [phi:printEntry::@8->print_byte#1] -- register_copy + //SEG340 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@8->print_byte#0] -- register_copy + //SEG341 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#5 [phi:printEntry::@8->print_byte#1] -- register_copy jsr print_byte jmp b28 - //SEG345 printEntry::@28 + //SEG342 printEntry::@28 b28: - //SEG346 [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG343 [148] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_170 lda print_line_cursor+1 sta print_line_cursor_170+1 - //SEG347 [152] call print_ln - //SEG348 [87] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln] + //SEG344 [149] call print_ln + //SEG345 [87] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln] print_ln_from_b28: - //SEG349 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@28->print_ln#0] -- register_copy - //SEG350 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#170 [phi:printEntry::@28->print_ln#1] -- register_copy + //SEG346 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@28->print_ln#0] -- register_copy + //SEG347 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#170 [phi:printEntry::@28->print_ln#1] -- register_copy jsr print_ln jmp b29 - //SEG351 printEntry::@29 + //SEG348 printEntry::@29 b29: - //SEG352 [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG349 [150] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG353 [154] call print_str - //SEG354 [80] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str] + //SEG350 [151] call print_str + //SEG351 [80] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str] print_str_from_b29: - //SEG355 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#222 [phi:printEntry::@29->print_str#0] -- register_copy - //SEG356 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 + //SEG352 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#222 [phi:printEntry::@29->print_str#0] -- register_copy + //SEG353 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 lda #str8 sta print_str.str+1 jsr print_str + //SEG354 [152] phi from printEntry::@29 to printEntry::entryUCross1 [phi:printEntry::@29->printEntry::entryUCross1] + entryUCross1_from_b29: jmp entryUCross1 - //SEG357 printEntry::entryUCross1 + //SEG355 printEntry::entryUCross1 entryUCross1: - //SEG358 [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 - lda #$c - clc - adc entryBufDisk1__0 - sta entryUCross1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryUCross1__0+1 - //SEG359 [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz1 jmp b9 - //SEG360 printEntry::@9 + //SEG356 printEntry::@9 b9: - //SEG361 [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) -- vwuz1=_deref_pwuz1 - ldy #0 - lda (print_word.w),y - tax + //SEG357 [153] (word) print_word::w#4 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) -- vwuz1=pwuz2_derefidx_vbuc1 + ldy #$c + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w - //SEG362 [158] call print_word - //SEG363 [202] phi from printEntry::@9 to print_word [phi:printEntry::@9->print_word] + //SEG358 [154] call print_word + //SEG359 [198] phi from printEntry::@9 to print_word [phi:printEntry::@9->print_word] print_word_from_b9: - //SEG364 [202] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:printEntry::@9->print_word#0] -- register_copy + //SEG360 [198] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:printEntry::@9->print_word#0] -- register_copy jsr print_word jmp b30 - //SEG365 printEntry::@30 + //SEG361 printEntry::@30 b30: - //SEG366 [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG362 [155] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_171 lda print_line_cursor+1 sta print_line_cursor_171+1 - //SEG367 [160] call print_ln - //SEG368 [87] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln] + //SEG363 [156] call print_ln + //SEG364 [87] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln] print_ln_from_b30: - //SEG369 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@30->print_ln#0] -- register_copy - //SEG370 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#171 [phi:printEntry::@30->print_ln#1] -- register_copy + //SEG365 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@30->print_ln#0] -- register_copy + //SEG366 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#171 [phi:printEntry::@30->print_ln#1] -- register_copy jsr print_ln jmp b31 - //SEG371 printEntry::@31 + //SEG367 printEntry::@31 b31: - //SEG372 [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG368 [157] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG373 [162] call print_str - //SEG374 [80] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str] + //SEG369 [158] call print_str + //SEG370 [80] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str] print_str_from_b31: - //SEG375 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#223 [phi:printEntry::@31->print_str#0] -- register_copy - //SEG376 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 + //SEG371 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#223 [phi:printEntry::@31->print_str#0] -- register_copy + //SEG372 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 lda #str9 sta print_str.str+1 jsr print_str + //SEG373 [159] phi from printEntry::@31 to printEntry::entryBAddrLo1 [phi:printEntry::@31->printEntry::entryBAddrLo1] + entryBAddrLo1_from_b31: jmp entryBAddrLo1 - //SEG377 printEntry::entryBAddrLo1 + //SEG374 printEntry::entryBAddrLo1 entryBAddrLo1: - //SEG378 [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 - lda #$e - clc - adc entryBufDisk1__0 - sta entryBAddrLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrLo1_return+1 jmp b10 - //SEG379 printEntry::@10 + //SEG375 printEntry::@10 b10: - //SEG380 [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryBAddrLo1_return),y + //SEG376 [160] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$e + lda (entryBufDisk1__0),y tax - //SEG381 [165] call print_byte - //SEG382 [190] phi from printEntry::@10 to print_byte [phi:printEntry::@10->print_byte] + //SEG377 [161] call print_byte + //SEG378 [186] phi from printEntry::@10 to print_byte [phi:printEntry::@10->print_byte] print_byte_from_b10: - //SEG383 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@10->print_byte#0] -- register_copy - //SEG384 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#6 [phi:printEntry::@10->print_byte#1] -- register_copy + //SEG379 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@10->print_byte#0] -- register_copy + //SEG380 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#6 [phi:printEntry::@10->print_byte#1] -- register_copy jsr print_byte jmp b32 - //SEG385 printEntry::@32 + //SEG381 printEntry::@32 b32: - //SEG386 [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG382 [162] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_172 lda print_line_cursor+1 sta print_line_cursor_172+1 - //SEG387 [167] call print_ln - //SEG388 [87] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln] + //SEG383 [163] call print_ln + //SEG384 [87] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln] print_ln_from_b32: - //SEG389 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@32->print_ln#0] -- register_copy - //SEG390 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#172 [phi:printEntry::@32->print_ln#1] -- register_copy + //SEG385 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@32->print_ln#0] -- register_copy + //SEG386 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#172 [phi:printEntry::@32->print_ln#1] -- register_copy jsr print_ln jmp b33 - //SEG391 printEntry::@33 + //SEG387 printEntry::@33 b33: - //SEG392 [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG388 [164] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG393 [169] call print_str - //SEG394 [80] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str] + //SEG389 [165] call print_str + //SEG390 [80] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str] print_str_from_b33: - //SEG395 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#224 [phi:printEntry::@33->print_str#0] -- register_copy - //SEG396 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 + //SEG391 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#224 [phi:printEntry::@33->print_str#0] -- register_copy + //SEG392 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 lda #str10 sta print_str.str+1 jsr print_str + //SEG393 [166] phi from printEntry::@33 to printEntry::entryBAddrHi1 [phi:printEntry::@33->printEntry::entryBAddrHi1] + entryBAddrHi1_from_b33: jmp entryBAddrHi1 - //SEG397 printEntry::entryBAddrHi1 + //SEG394 printEntry::entryBAddrHi1 entryBAddrHi1: - //SEG398 [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 - lda #$f - clc - adc entryBufDisk1__0 - sta entryBAddrHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrHi1_return+1 jmp b11 - //SEG399 printEntry::@11 + //SEG395 printEntry::@11 b11: - //SEG400 [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryBAddrHi1_return),y + //SEG396 [167] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$f + lda (entryBufDisk1__0),y tax - //SEG401 [172] call print_byte - //SEG402 [190] phi from printEntry::@11 to print_byte [phi:printEntry::@11->print_byte] + //SEG397 [168] call print_byte + //SEG398 [186] phi from printEntry::@11 to print_byte [phi:printEntry::@11->print_byte] print_byte_from_b11: - //SEG403 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@11->print_byte#0] -- register_copy - //SEG404 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#7 [phi:printEntry::@11->print_byte#1] -- register_copy + //SEG399 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@11->print_byte#0] -- register_copy + //SEG400 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#7 [phi:printEntry::@11->print_byte#1] -- register_copy jsr print_byte jmp b34 - //SEG405 printEntry::@34 + //SEG401 printEntry::@34 b34: - //SEG406 [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG402 [169] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_173 lda print_line_cursor+1 sta print_line_cursor_173+1 - //SEG407 [174] call print_ln - //SEG408 [87] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln] + //SEG403 [170] call print_ln + //SEG404 [87] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln] print_ln_from_b34: - //SEG409 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@34->print_ln#0] -- register_copy - //SEG410 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#173 [phi:printEntry::@34->print_ln#1] -- register_copy + //SEG405 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@34->print_ln#0] -- register_copy + //SEG406 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#173 [phi:printEntry::@34->print_ln#1] -- register_copy jsr print_ln jmp b35 - //SEG411 printEntry::@35 + //SEG407 printEntry::@35 b35: - //SEG412 [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG408 [171] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG413 [176] call print_str - //SEG414 [80] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str] + //SEG409 [172] call print_str + //SEG410 [80] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str] print_str_from_b35: - //SEG415 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#225 [phi:printEntry::@35->print_str#0] -- register_copy - //SEG416 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 + //SEG411 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#225 [phi:printEntry::@35->print_str#0] -- register_copy + //SEG412 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 lda #str11 sta print_str.str+1 jsr print_str + //SEG413 [173] phi from printEntry::@35 to printEntry::entryTHi1 [phi:printEntry::@35->printEntry::entryTHi1] + entryTHi1_from_b35: jmp entryTHi1 - //SEG417 printEntry::entryTHi1 + //SEG414 printEntry::entryTHi1 entryTHi1: - //SEG418 [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 - lda #$10 - clc - adc entryBufDisk1__0 - sta entryTHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTHi1_return+1 jmp b12 - //SEG419 printEntry::@12 + //SEG415 printEntry::@12 b12: - //SEG420 [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryTHi1_return),y + //SEG416 [174] (byte) print_byte::b#8 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$10 + lda (entryBufDisk1__0),y tax - //SEG421 [179] call print_byte - //SEG422 [190] phi from printEntry::@12 to print_byte [phi:printEntry::@12->print_byte] + //SEG417 [175] call print_byte + //SEG418 [186] phi from printEntry::@12 to print_byte [phi:printEntry::@12->print_byte] print_byte_from_b12: - //SEG423 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@12->print_byte#0] -- register_copy - //SEG424 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#8 [phi:printEntry::@12->print_byte#1] -- register_copy + //SEG419 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@12->print_byte#0] -- register_copy + //SEG420 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#8 [phi:printEntry::@12->print_byte#1] -- register_copy jsr print_byte jmp b36 - //SEG425 printEntry::@36 + //SEG421 printEntry::@36 b36: - //SEG426 [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG422 [176] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_174 lda print_line_cursor+1 sta print_line_cursor_174+1 - //SEG427 [181] call print_ln - //SEG428 [87] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln] + //SEG423 [177] call print_ln + //SEG424 [87] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln] print_ln_from_b36: - //SEG429 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@36->print_ln#0] -- register_copy - //SEG430 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#174 [phi:printEntry::@36->print_ln#1] -- register_copy + //SEG425 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@36->print_ln#0] -- register_copy + //SEG426 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#174 [phi:printEntry::@36->print_ln#1] -- register_copy jsr print_ln jmp b37 - //SEG431 printEntry::@37 + //SEG427 printEntry::@37 b37: - //SEG432 [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG428 [178] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG433 [183] call print_str - //SEG434 [80] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str] + //SEG429 [179] call print_str + //SEG430 [80] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str] print_str_from_b37: - //SEG435 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#226 [phi:printEntry::@37->print_str#0] -- register_copy - //SEG436 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 + //SEG431 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#226 [phi:printEntry::@37->print_str#0] -- register_copy + //SEG432 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 lda #str12 sta print_str.str+1 jsr print_str + //SEG433 [180] phi from printEntry::@37 to printEntry::entryTLo1 [phi:printEntry::@37->printEntry::entryTLo1] + entryTLo1_from_b37: jmp entryTLo1 - //SEG437 printEntry::entryTLo1 + //SEG434 printEntry::entryTLo1 entryTLo1: - //SEG438 [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz1_plus_vbuc1 - lda #$11 - clc - adc entryTLo1_return - sta entryTLo1_return - bcc !+ - inc entryTLo1_return+1 - !: jmp b13 - //SEG439 printEntry::@13 + //SEG435 printEntry::@13 b13: - //SEG440 [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryTLo1_return),y + //SEG436 [181] (byte) print_byte::b#9 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$11 + lda (entryBufDisk1__0),y tax - //SEG441 [186] call print_byte - //SEG442 [190] phi from printEntry::@13 to print_byte [phi:printEntry::@13->print_byte] + //SEG437 [182] call print_byte + //SEG438 [186] phi from printEntry::@13 to print_byte [phi:printEntry::@13->print_byte] print_byte_from_b13: - //SEG443 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@13->print_byte#0] -- register_copy - //SEG444 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#9 [phi:printEntry::@13->print_byte#1] -- register_copy + //SEG439 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@13->print_byte#0] -- register_copy + //SEG440 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#9 [phi:printEntry::@13->print_byte#1] -- register_copy jsr print_byte jmp b38 - //SEG445 printEntry::@38 + //SEG441 printEntry::@38 b38: - //SEG446 [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG442 [183] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_175 lda print_line_cursor+1 sta print_line_cursor_175+1 - //SEG447 [188] call print_ln - //SEG448 [87] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln] + //SEG443 [184] call print_ln + //SEG444 [87] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln] print_ln_from_b38: - //SEG449 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@38->print_ln#0] -- register_copy - //SEG450 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#175 [phi:printEntry::@38->print_ln#1] -- register_copy + //SEG445 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@38->print_ln#0] -- register_copy + //SEG446 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#175 [phi:printEntry::@38->print_ln#1] -- register_copy jsr print_ln jmp breturn - //SEG451 printEntry::@return + //SEG447 printEntry::@return breturn: - //SEG452 [189] return + //SEG448 [185] return rts str: .text "bufdisk @" str1: .text "bufedit @" @@ -8501,458 +8023,391 @@ printEntry: { str11: .text "thi @" str12: .text "tlo @" } -//SEG453 print_byte +//SEG449 print_byte // Print a byte as HEX // print_byte(byte register(X) b) print_byte: { - //SEG454 [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuxx_ror_4 + //SEG450 [187] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuxx_ror_4 txa lsr lsr lsr lsr - //SEG455 [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG451 [188] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa tay lda print_hextab,y - //SEG456 [193] call print_char - //SEG457 [198] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG452 [189] call print_char + //SEG453 [194] phi from print_byte to print_char [phi:print_byte->print_char] print_char_from_print_byte: - //SEG458 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#145 [phi:print_byte->print_char#0] -- register_copy - //SEG459 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + //SEG454 [194] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#145 [phi:print_byte->print_char#0] -- register_copy + //SEG455 [194] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy jsr print_char jmp b1 - //SEG460 print_byte::@1 + //SEG456 print_byte::@1 b1: - //SEG461 [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuxx=vbuxx_band_vbuc1 + //SEG457 [190] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuxx=vbuxx_band_vbuc1 lda #$f axs #0 - //SEG462 [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuxx + //SEG458 [191] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuxx lda print_hextab,x - //SEG463 [196] call print_char - //SEG464 [198] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG459 [192] call print_char + //SEG460 [194] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] print_char_from_b1: - //SEG465 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy - //SEG466 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + //SEG461 [194] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG462 [194] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char jmp breturn - //SEG467 print_byte::@return + //SEG463 print_byte::@return breturn: - //SEG468 [197] return + //SEG464 [193] return rts } -//SEG469 print_char +//SEG465 print_char // Print a single char // print_char(byte register(A) ch) print_char: { - //SEG470 [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 -- _deref_pbuz1=vbuaa + //SEG466 [195] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG471 [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 -- pbuz1=_inc_pbuz1 + //SEG467 [196] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: jmp breturn - //SEG472 print_char::@return + //SEG468 print_char::@return breturn: - //SEG473 [201] return + //SEG469 [197] return rts } -//SEG474 print_word +//SEG470 print_word // Print a word as HEX // print_word(word zeropage(2) w) print_word: { .label w = 2 - //SEG475 [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 -- vbuxx=_hi_vwuz1 + //SEG471 [199] (byte) print_byte::b#0 ← > (word) print_word::w#5 -- vbuxx=_hi_vwuz1 lda w+1 tax - //SEG476 [204] call print_byte - //SEG477 [190] phi from print_word to print_byte [phi:print_word->print_byte] + //SEG472 [200] call print_byte + //SEG473 [186] phi from print_word to print_byte [phi:print_word->print_byte] print_byte_from_print_word: - //SEG478 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:print_word->print_byte#0] -- register_copy - //SEG479 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + //SEG474 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:print_word->print_byte#0] -- register_copy + //SEG475 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy jsr print_byte jmp b1 - //SEG480 print_word::@1 + //SEG476 print_word::@1 b1: - //SEG481 [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 -- vbuxx=_lo_vwuz1 + //SEG477 [201] (byte) print_byte::b#1 ← < (word) print_word::w#5 -- vbuxx=_lo_vwuz1 lda w tax - //SEG482 [206] call print_byte - //SEG483 [190] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + //SEG478 [202] call print_byte + //SEG479 [186] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] print_byte_from_b1: - //SEG484 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy - //SEG485 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + //SEG480 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG481 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy jsr print_byte jmp breturn - //SEG486 print_word::@return + //SEG482 print_word::@return breturn: - //SEG487 [207] return + //SEG483 [203] return rts } -//SEG488 initEntry +//SEG484 initEntry // Set all values in the passed struct // Sets the values to n, n+1, n... to help test that everything works as intended -// initEntry(byte* zeropage(2) entry, byte zeropage(8) n) +// initEntry(byte* zeropage(2) entry, byte register(X) n) initEntry: { + .label _1 = 6 + .label _3 = 6 + .label _5 = 6 + .label _7 = 6 + .label _17 = 6 .label entry = 2 .label entryBufDisk1__0 = 2 - .label entryBufDisk1_return = 6 - .label entryBufEdit1__0 = 6 - .label entryBufEdit1_return = 6 - .label entryTsLen1__0 = 6 - .label entryTsLen1_return = 6 - .label entryTsOrder1__0 = 6 - .label entryTsOrder1_return = 6 - .label entryTLastLink1_return = 6 - .label entrySLastLink1_return = 6 - .label entryBFlag1_return = 6 - .label entryBError1_return = 6 - .label entryUCross1__0 = 6 - .label entryUCross1_return = 6 - .label entryBAddrLo1_return = 6 - .label entryBAddrHi1_return = 6 - .label entryTHi1_return = 6 - .label entryTLo1_return = 2 - .label n = 8 + //SEG485 [205] phi from initEntry to initEntry::entryBufDisk1 [phi:initEntry->initEntry::entryBufDisk1] + entryBufDisk1_from_initEntry: jmp entryBufDisk1 - //SEG489 initEntry::entryBufDisk1 + //SEG486 initEntry::entryBufDisk1 entryBufDisk1: - //SEG490 [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryBufDisk1__0 - sta entryBufDisk1_return - lda entryBufDisk1__0+1 - sta entryBufDisk1_return+1 jmp b1 - //SEG491 initEntry::@1 + //SEG487 initEntry::@1 b1: - //SEG492 [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 - lda n + //SEG488 [206] (word/signed word/dword/signed dword~) initEntry::$1 ← (word/signed word/dword/signed dword) $1111 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc #1 - //SEG493 [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 -- _deref_pptz1=_ptr_vbuaa - ldy #0 - sta (entryBufDisk1_return),y - tya - iny - sta (entryBufDisk1_return),y - jmp entryBufEdit1 - //SEG494 initEntry::entryBufEdit1 - entryBufEdit1: - //SEG495 [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 - lda entryBufDisk1__0 - clc - adc #2 - sta entryBufEdit1__0 - lda entryBufDisk1__0+1 + adc #<$1111 + sta _1 + lda #>$1111 adc #0 - sta entryBufEdit1__0+1 - //SEG496 [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz1 + sta _1+1 + //SEG489 [207] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$1 -- _deref_pptz1=_ptr_vwuz2 + ldy #0 + lda _1 + sta (entryBufDisk1__0),y + iny + lda _1+1 + sta (entryBufDisk1__0),y + //SEG490 [208] phi from initEntry::@1 to initEntry::entryBufEdit1 [phi:initEntry::@1->initEntry::entryBufEdit1] + entryBufEdit1_from_b1: + jmp entryBufEdit1 + //SEG491 initEntry::entryBufEdit1 + entryBufEdit1: jmp b2 - //SEG497 initEntry::@2 + //SEG492 initEntry::@2 b2: - //SEG498 [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuz1_plus_2 - lda n + //SEG493 [209] (word/signed word/dword/signed dword~) initEntry::$3 ← (word/signed word/dword/signed dword) $2222 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc #2 - //SEG499 [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 -- _deref_pptz1=_ptr_vbuaa - ldy #0 - sta (entryBufEdit1_return),y - tya + adc #<$2222 + sta _3 + lda #>$2222 + adc #0 + sta _3+1 + //SEG494 [210] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$3 -- pptz1_derefidx_vbuc1=_ptr_vwuz2 + ldy #2 + lda _3 + sta (entryBufDisk1__0),y iny - sta (entryBufEdit1_return),y + lda _3+1 + sta (entryBufDisk1__0),y + //SEG495 [211] phi from initEntry::@2 to initEntry::entryTsLen1 [phi:initEntry::@2->initEntry::entryTsLen1] + entryTsLen1_from_b2: jmp entryTsLen1 - //SEG500 initEntry::entryTsLen1 + //SEG496 initEntry::entryTsLen1 entryTsLen1: - //SEG501 [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 - lda #4 - clc - adc entryBufDisk1__0 - sta entryTsLen1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsLen1__0+1 - //SEG502 [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz1 jmp b3 - //SEG503 initEntry::@3 + //SEG497 initEntry::@3 b3: - //SEG504 [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuz1_plus_vbuc1 - lda #3 + //SEG498 [212] (word/signed word/dword/signed dword~) initEntry::$5 ← (word/signed word/dword/signed dword) $3333 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc n - //SEG505 [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 -- _deref_pwuz1=vbuaa - ldy #0 - sta (entryTsLen1_return),y - tya + adc #<$3333 + sta _5 + lda #>$3333 + adc #0 + sta _5+1 + //SEG499 [213] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) ← (word/signed word/dword/signed dword~) initEntry::$5 -- pwuz1_derefidx_vbuc1=vwuz2 + ldy #4 + lda _5 + sta (entryBufDisk1__0),y iny - sta (entryTsLen1_return),y + lda _5+1 + sta (entryBufDisk1__0),y + //SEG500 [214] phi from initEntry::@3 to initEntry::entryTsOrder1 [phi:initEntry::@3->initEntry::entryTsOrder1] + entryTsOrder1_from_b3: jmp entryTsOrder1 - //SEG506 initEntry::entryTsOrder1 + //SEG501 initEntry::entryTsOrder1 entryTsOrder1: - //SEG507 [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 - lda #6 - clc - adc entryBufDisk1__0 - sta entryTsOrder1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsOrder1__0+1 - //SEG508 [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz1 jmp b4 - //SEG509 initEntry::@4 + //SEG502 initEntry::@4 b4: - //SEG510 [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_plus_vbuc1 - lda #4 + //SEG503 [215] (word/signed word/dword/signed dword~) initEntry::$7 ← (word/signed word/dword/signed dword) $4444 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc n - //SEG511 [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 -- _deref_pptz1=_ptr_vbuaa - ldy #0 - sta (entryTsOrder1_return),y - tya + adc #<$4444 + sta _7 + lda #>$4444 + adc #0 + sta _7+1 + //SEG504 [216] *((word**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← ((word*)) (word/signed word/dword/signed dword~) initEntry::$7 -- pptz1_derefidx_vbuc1=_ptr_vwuz2 + ldy #6 + lda _7 + sta (entryBufDisk1__0),y iny - sta (entryTsOrder1_return),y + lda _7+1 + sta (entryBufDisk1__0),y + //SEG505 [217] phi from initEntry::@4 to initEntry::entryTLastLink1 [phi:initEntry::@4->initEntry::entryTLastLink1] + entryTLastLink1_from_b4: jmp entryTLastLink1 - //SEG512 initEntry::entryTLastLink1 + //SEG506 initEntry::entryTLastLink1 entryTLastLink1: - //SEG513 [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 - lda #8 - clc - adc entryBufDisk1__0 - sta entryTLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLastLink1_return+1 jmp b5 - //SEG514 initEntry::@5 + //SEG507 initEntry::@5 b5: - //SEG515 [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 -- vbuaa=vbuz1_plus_vbuc1 - lda #5 + //SEG508 [218] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte/signed byte/word/signed word/dword/signed dword) $55 + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG516 [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryTLastLink1_return),y + adc #$55 + //SEG509 [219] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #8 + sta (entryBufDisk1__0),y + //SEG510 [220] phi from initEntry::@5 to initEntry::entrySLastLink1 [phi:initEntry::@5->initEntry::entrySLastLink1] + entrySLastLink1_from_b5: jmp entrySLastLink1 - //SEG517 initEntry::entrySLastLink1 + //SEG511 initEntry::entrySLastLink1 entrySLastLink1: - //SEG518 [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 - lda #9 - clc - adc entryBufDisk1__0 - sta entrySLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entrySLastLink1_return+1 jmp b6 - //SEG519 initEntry::@6 + //SEG512 initEntry::@6 b6: - //SEG520 [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=vbuz1_plus_vbuc1 - lda #6 + //SEG513 [221] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte/signed byte/word/signed word/dword/signed dword) $66 + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG521 [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entrySLastLink1_return),y + adc #$66 + //SEG514 [222] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #9 + sta (entryBufDisk1__0),y + //SEG515 [223] phi from initEntry::@6 to initEntry::entryBFlag1 [phi:initEntry::@6->initEntry::entryBFlag1] + entryBFlag1_from_b6: jmp entryBFlag1 - //SEG522 initEntry::entryBFlag1 + //SEG516 initEntry::entryBFlag1 entryBFlag1: - //SEG523 [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 - lda #$a - clc - adc entryBufDisk1__0 - sta entryBFlag1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBFlag1_return+1 jmp b7 - //SEG524 initEntry::@7 + //SEG517 initEntry::@7 b7: - //SEG525 [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuz1_plus_vbuc1 - lda #7 + //SEG518 [224] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte/signed byte/word/signed word/dword/signed dword) $77 + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG526 [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryBFlag1_return),y + adc #$77 + //SEG519 [225] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$a + sta (entryBufDisk1__0),y + //SEG520 [226] phi from initEntry::@7 to initEntry::entryBError1 [phi:initEntry::@7->initEntry::entryBError1] + entryBError1_from_b7: jmp entryBError1 - //SEG527 initEntry::entryBError1 + //SEG521 initEntry::entryBError1 entryBError1: - //SEG528 [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 - lda #$b - clc - adc entryBufDisk1__0 - sta entryBError1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBError1_return+1 jmp b8 - //SEG529 initEntry::@8 + //SEG522 initEntry::@8 b8: - //SEG530 [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- vbuaa=vbuz1_plus_vbuc1 - lda #8 + //SEG523 [227] (byte/word/signed word/dword/signed dword~) initEntry::$15 ← (byte/word/signed word/dword/signed dword) $88 + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG531 [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryBError1_return),y + adc #$88 + //SEG524 [228] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) ← (byte/word/signed word/dword/signed dword~) initEntry::$15 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$b + sta (entryBufDisk1__0),y + //SEG525 [229] phi from initEntry::@8 to initEntry::entryUCross1 [phi:initEntry::@8->initEntry::entryUCross1] + entryUCross1_from_b8: jmp entryUCross1 - //SEG532 initEntry::entryUCross1 + //SEG526 initEntry::entryUCross1 entryUCross1: - //SEG533 [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 - lda #$c - clc - adc entryBufDisk1__0 - sta entryUCross1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryUCross1__0+1 - //SEG534 [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz1 jmp b9 - //SEG535 initEntry::@9 + //SEG527 initEntry::@9 b9: - //SEG536 [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- vbuaa=vbuz1_plus_vbuc1 - lda #9 + //SEG528 [230] (word/dword/signed dword~) initEntry::$17 ← (word/dword/signed dword) $9999 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc n - //SEG537 [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 -- _deref_pwuz1=vbuaa - ldy #0 - sta (entryUCross1_return),y - tya + adc #<$9999 + sta _17 + lda #>$9999 + adc #0 + sta _17+1 + //SEG529 [231] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) ← (word/dword/signed dword~) initEntry::$17 -- pwuz1_derefidx_vbuc1=vwuz2 + ldy #$c + lda _17 + sta (entryBufDisk1__0),y iny - sta (entryUCross1_return),y + lda _17+1 + sta (entryBufDisk1__0),y + //SEG530 [232] phi from initEntry::@9 to initEntry::entryBAddrLo1 [phi:initEntry::@9->initEntry::entryBAddrLo1] + entryBAddrLo1_from_b9: jmp entryBAddrLo1 - //SEG538 initEntry::entryBAddrLo1 + //SEG531 initEntry::entryBAddrLo1 entryBAddrLo1: - //SEG539 [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 - lda #$e - clc - adc entryBufDisk1__0 - sta entryBAddrLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrLo1_return+1 jmp b10 - //SEG540 initEntry::@10 + //SEG532 initEntry::@10 b10: - //SEG541 [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuaa=vbuz1_plus_vbuc1 - lda #$a + //SEG533 [233] (byte/word/signed word/dword/signed dword~) initEntry::$19 ← (byte/word/signed word/dword/signed dword) $aa + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG542 [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryBAddrLo1_return),y + adc #$aa + //SEG534 [234] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) ← (byte/word/signed word/dword/signed dword~) initEntry::$19 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$e + sta (entryBufDisk1__0),y + //SEG535 [235] phi from initEntry::@10 to initEntry::entryBAddrHi1 [phi:initEntry::@10->initEntry::entryBAddrHi1] + entryBAddrHi1_from_b10: jmp entryBAddrHi1 - //SEG543 initEntry::entryBAddrHi1 + //SEG536 initEntry::entryBAddrHi1 entryBAddrHi1: - //SEG544 [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 - lda #$f - clc - adc entryBufDisk1__0 - sta entryBAddrHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrHi1_return+1 jmp b11 - //SEG545 initEntry::@11 + //SEG537 initEntry::@11 b11: - //SEG546 [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b -- vbuaa=vbuz1_plus_vbuc1 - lda #$b + //SEG538 [236] (byte/word/signed word/dword/signed dword~) initEntry::$21 ← (byte/word/signed word/dword/signed dword) $bb + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG547 [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryBAddrHi1_return),y + adc #$bb + //SEG539 [237] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) ← (byte/word/signed word/dword/signed dword~) initEntry::$21 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$f + sta (entryBufDisk1__0),y + //SEG540 [238] phi from initEntry::@11 to initEntry::entryTHi1 [phi:initEntry::@11->initEntry::entryTHi1] + entryTHi1_from_b11: jmp entryTHi1 - //SEG548 initEntry::entryTHi1 + //SEG541 initEntry::entryTHi1 entryTHi1: - //SEG549 [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 - lda #$10 - clc - adc entryBufDisk1__0 - sta entryTHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTHi1_return+1 jmp b12 - //SEG550 initEntry::@12 + //SEG542 initEntry::@12 b12: - //SEG551 [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c -- vbuaa=vbuz1_plus_vbuc1 - lda #$c + //SEG543 [239] (byte/word/signed word/dword/signed dword~) initEntry::$23 ← (byte/word/signed word/dword/signed dword) $cc + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG552 [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryTHi1_return),y + adc #$cc + //SEG544 [240] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) ← (byte/word/signed word/dword/signed dword~) initEntry::$23 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$10 + sta (entryBufDisk1__0),y + //SEG545 [241] phi from initEntry::@12 to initEntry::entryTLo1 [phi:initEntry::@12->initEntry::entryTLo1] + entryTLo1_from_b12: jmp entryTLo1 - //SEG553 initEntry::entryTLo1 + //SEG546 initEntry::entryTLo1 entryTLo1: - //SEG554 [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz1_plus_vbuc1 - lda #$11 - clc - adc entryTLo1_return - sta entryTLo1_return - bcc !+ - inc entryTLo1_return+1 - !: jmp b13 - //SEG555 initEntry::@13 + //SEG547 initEntry::@13 b13: - //SEG556 [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d -- vbuaa=vbuz1_plus_vbuc1 - lda #$d + //SEG548 [242] (byte/word/signed word/dword/signed dword~) initEntry::$25 ← (byte/word/signed word/dword/signed dword) $dd + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG557 [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryTLo1_return),y + adc #$dd + //SEG549 [243] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) ← (byte/word/signed word/dword/signed dword~) initEntry::$25 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$11 + sta (entryBufDisk1__0),y jmp breturn - //SEG558 initEntry::@return + //SEG550 initEntry::@return breturn: - //SEG559 [252] return + //SEG551 [244] return rts } -//SEG560 mul8u +//SEG552 mul8u // Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word // mul8u(byte register(X) a) mul8u: { .label mb = 2 - .label res = 9 - .label return = 9 - //SEG561 [254] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + .label res = 8 + .label return = 8 + //SEG553 [246] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] b1_from_mul8u: - //SEG562 [254] phi (word) mul8u::mb#2 = ((word))(const byte) SIZEOF_ENTRY#0 [phi:mul8u->mul8u::@1#0] -- vwuz1=vbuc1 + //SEG554 [246] phi (word) mul8u::mb#2 = ((word))(const byte) SIZEOF_ENTRY#0 [phi:mul8u->mul8u::@1#0] -- vwuz1=vbuc1 lda #SIZEOF_ENTRY sta mb lda #0 sta mb+1 - //SEG563 [254] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + //SEG555 [246] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 lda #0 sta res lda #0 sta res+1 - //SEG564 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG556 [246] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy jmp b1 - //SEG565 mul8u::@1 + //SEG557 mul8u::@1 b1: - //SEG566 [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 -- vbuxx_neq_0_then_la1 + //SEG558 [247] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 -- vbuxx_neq_0_then_la1 cpx #0 bne b2 jmp breturn - //SEG567 mul8u::@return + //SEG559 mul8u::@return breturn: - //SEG568 [256] return + //SEG560 [248] return rts - //SEG569 mul8u::@2 + //SEG561 mul8u::@2 b2: - //SEG570 [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_band_vbuc1 + //SEG562 [249] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_band_vbuc1 txa and #1 - //SEG571 [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 -- vbuaa_eq_0_then_la1 + //SEG563 [250] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 -- vbuaa_eq_0_then_la1 cmp #0 beq b3_from_b2 jmp b4 - //SEG572 mul8u::@4 + //SEG564 mul8u::@4 b4: - //SEG573 [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 -- vwuz1=vwuz1_plus_vwuz2 + //SEG565 [251] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 -- vwuz1=vwuz1_plus_vwuz2 lda res clc adc mb @@ -8960,42 +8415,42 @@ mul8u: { lda res+1 adc mb+1 sta res+1 - //SEG574 [260] phi from mul8u::@2 mul8u::@4 to mul8u::@3 [phi:mul8u::@2/mul8u::@4->mul8u::@3] + //SEG566 [252] phi from mul8u::@2 mul8u::@4 to mul8u::@3 [phi:mul8u::@2/mul8u::@4->mul8u::@3] b3_from_b2: b3_from_b4: - //SEG575 [260] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@4->mul8u::@3#0] -- register_copy + //SEG567 [252] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@4->mul8u::@3#0] -- register_copy jmp b3 - //SEG576 mul8u::@3 + //SEG568 mul8u::@3 b3: - //SEG577 [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_ror_1 + //SEG569 [253] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_ror_1 txa lsr tax - //SEG578 [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vwuz1=vwuz1_rol_1 + //SEG570 [254] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vwuz1=vwuz1_rol_1 asl mb rol mb+1 - //SEG579 [254] phi from mul8u::@3 to mul8u::@1 [phi:mul8u::@3->mul8u::@1] + //SEG571 [246] phi from mul8u::@3 to mul8u::@1 [phi:mul8u::@3->mul8u::@1] b1_from_b3: - //SEG580 [254] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@3->mul8u::@1#0] -- register_copy - //SEG581 [254] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@3->mul8u::@1#1] -- register_copy - //SEG582 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@3->mul8u::@1#2] -- register_copy + //SEG572 [246] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@3->mul8u::@1#0] -- register_copy + //SEG573 [246] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@3->mul8u::@1#1] -- register_copy + //SEG574 [246] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@3->mul8u::@1#2] -- register_copy jmp b1 } -//SEG583 keyboard_init +//SEG575 keyboard_init // Initialize keyboard reading by setting CIA#$ Data Direction Registers keyboard_init: { - //SEG584 [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 + //SEG576 [255] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Write Mode lda #$ff sta CIA1_PORT_A_DDR - //SEG585 [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + //SEG577 [256] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Read Mode lda #0 sta CIA1_PORT_B_DDR jmp breturn - //SEG586 keyboard_init::@return + //SEG578 keyboard_init::@return breturn: - //SEG587 [265] return + //SEG579 [257] return rts } print_hextab: .text "0123456789abcdef" @@ -9180,6 +8635,58 @@ Removing instruction b1_from_print_str: Removing instruction b1_from_b2: Removing instruction b1_from_print_ln: Removing instruction b1_from_b2: +Removing instruction entryBufDisk1_from_printEntry: +Removing instruction entryBufDisk1: +Removing instruction entryBufEdit1_from_b15: +Removing instruction entryBufEdit1: +Removing instruction entryTsLen1_from_b17: +Removing instruction entryTsLen1: +Removing instruction entryTsOrder1_from_b19: +Removing instruction entryTsOrder1: +Removing instruction entryTLastLink1_from_b21: +Removing instruction entryTLastLink1: +Removing instruction entrySLastLink1_from_b23: +Removing instruction entrySLastLink1: +Removing instruction entryBFlag1_from_b25: +Removing instruction entryBFlag1: +Removing instruction entryBError1_from_b27: +Removing instruction entryBError1: +Removing instruction entryUCross1_from_b29: +Removing instruction entryUCross1: +Removing instruction entryBAddrLo1_from_b31: +Removing instruction entryBAddrLo1: +Removing instruction entryBAddrHi1_from_b33: +Removing instruction entryBAddrHi1: +Removing instruction entryTHi1_from_b35: +Removing instruction entryTHi1: +Removing instruction entryTLo1_from_b37: +Removing instruction entryTLo1: +Removing instruction entryBufDisk1_from_initEntry: +Removing instruction entryBufDisk1: +Removing instruction entryBufEdit1_from_b1: +Removing instruction entryBufEdit1: +Removing instruction entryTsLen1_from_b2: +Removing instruction entryTsLen1: +Removing instruction entryTsOrder1_from_b3: +Removing instruction entryTsOrder1: +Removing instruction entryTLastLink1_from_b4: +Removing instruction entryTLastLink1: +Removing instruction entrySLastLink1_from_b5: +Removing instruction entrySLastLink1: +Removing instruction entryBFlag1_from_b6: +Removing instruction entryBFlag1: +Removing instruction entryBError1_from_b7: +Removing instruction entryBError1: +Removing instruction entryUCross1_from_b8: +Removing instruction entryUCross1: +Removing instruction entryBAddrLo1_from_b9: +Removing instruction entryBAddrLo1: +Removing instruction entryBAddrHi1_from_b10: +Removing instruction entryBAddrHi1: +Removing instruction entryTHi1_from_b11: +Removing instruction entryTHi1: +Removing instruction entryTLo1_from_b12: +Removing instruction entryTLo1: Removing instruction b3_from_b2: Removing instruction b3_from_b4: Succesful ASM optimization Pass5RedundantLabelElimination @@ -9225,91 +8732,78 @@ Removing instruction breturn: Removing instruction breturn: Removing instruction breturn: Removing instruction print_str_from_printEntry: -Removing instruction entryBufDisk1: Removing instruction b1: Removing instruction print_word_from_b1: Removing instruction b14: Removing instruction print_ln_from_b14: Removing instruction b15: Removing instruction print_str_from_b15: -Removing instruction entryBufEdit1: Removing instruction b2: Removing instruction print_word_from_b2: Removing instruction b16: Removing instruction print_ln_from_b16: Removing instruction b17: Removing instruction print_str_from_b17: -Removing instruction entryTsLen1: Removing instruction b3: Removing instruction print_word_from_b3: Removing instruction b18: Removing instruction print_ln_from_b18: Removing instruction b19: Removing instruction print_str_from_b19: -Removing instruction entryTsOrder1: Removing instruction b4: Removing instruction print_word_from_b4: Removing instruction b20: Removing instruction print_ln_from_b20: Removing instruction b21: Removing instruction print_str_from_b21: -Removing instruction entryTLastLink1: Removing instruction b5: Removing instruction print_byte_from_b5: Removing instruction b22: Removing instruction print_ln_from_b22: Removing instruction b23: Removing instruction print_str_from_b23: -Removing instruction entrySLastLink1: Removing instruction b6: Removing instruction print_byte_from_b6: Removing instruction b24: Removing instruction print_ln_from_b24: Removing instruction b25: Removing instruction print_str_from_b25: -Removing instruction entryBFlag1: Removing instruction b7: Removing instruction print_byte_from_b7: Removing instruction b26: Removing instruction print_ln_from_b26: Removing instruction b27: Removing instruction print_str_from_b27: -Removing instruction entryBError1: Removing instruction b8: Removing instruction print_byte_from_b8: Removing instruction b28: Removing instruction print_ln_from_b28: Removing instruction b29: Removing instruction print_str_from_b29: -Removing instruction entryUCross1: Removing instruction b9: Removing instruction print_word_from_b9: Removing instruction b30: Removing instruction print_ln_from_b30: Removing instruction b31: Removing instruction print_str_from_b31: -Removing instruction entryBAddrLo1: Removing instruction b10: Removing instruction print_byte_from_b10: Removing instruction b32: Removing instruction print_ln_from_b32: Removing instruction b33: Removing instruction print_str_from_b33: -Removing instruction entryBAddrHi1: Removing instruction b11: Removing instruction print_byte_from_b11: Removing instruction b34: Removing instruction print_ln_from_b34: Removing instruction b35: Removing instruction print_str_from_b35: -Removing instruction entryTHi1: Removing instruction b12: Removing instruction print_byte_from_b12: Removing instruction b36: Removing instruction print_ln_from_b36: Removing instruction b37: Removing instruction print_str_from_b37: -Removing instruction entryTLo1: Removing instruction b13: Removing instruction print_byte_from_b13: Removing instruction b38: @@ -9324,31 +8818,18 @@ Removing instruction print_byte_from_print_word: Removing instruction b1: Removing instruction print_byte_from_b1: Removing instruction breturn: -Removing instruction entryBufDisk1: Removing instruction b1: -Removing instruction entryBufEdit1: Removing instruction b2: -Removing instruction entryTsLen1: Removing instruction b3: -Removing instruction entryTsOrder1: Removing instruction b4: -Removing instruction entryTLastLink1: Removing instruction b5: -Removing instruction entrySLastLink1: Removing instruction b6: -Removing instruction entryBFlag1: Removing instruction b7: -Removing instruction entryBError1: Removing instruction b8: -Removing instruction entryUCross1: Removing instruction b9: -Removing instruction entryBAddrLo1: Removing instruction b10: -Removing instruction entryBAddrHi1: Removing instruction b11: -Removing instruction entryTHi1: Removing instruction b12: -Removing instruction entryTLo1: Removing instruction b13: Removing instruction breturn: Removing instruction b1_from_mul8u: @@ -9362,19 +8843,6 @@ Removing instruction jsr main Succesful ASM optimization Pass5SkipBegin Removing instruction jmp b1 Succesful ASM optimization Pass5NextJumpElimination -Replacing instruction lda #0 with TYA -Removing instruction ldy #0 -Replacing instruction lda #0 with TYA -Removing instruction ldy #0 -Replacing instruction lda #0 with TYA -Removing instruction ldy #0 -Replacing instruction lda #0 with TYA -Removing instruction ldy #0 -Replacing instruction lda #0 with TYA -Removing instruction ldy #0 -Replacing instruction lda #0 with TYA -Removing instruction ldy #0 -Succesful ASM optimization Pass5UnnecesaryLoadElimination Removing instruction bbegin: Succesful ASM optimization Pass5UnusedLabelElimination @@ -9399,18 +8867,18 @@ FINAL SYMBOL TABLE (byte[((word))MAX_FILES#0*SIZEOF_ENTRY#0]) files (const byte[((word))MAX_FILES#0*SIZEOF_ENTRY#0]) files#0 files = { fill( ((word))MAX_FILES#0*SIZEOF_ENTRY#0, 0) } (void()) initEntry((byte*) initEntry::entry , (byte) initEntry::n) -(byte/signed word/word/dword/signed dword~) initEntry::$1 reg byte a 4.0 +(word/signed word/dword/signed dword~) initEntry::$1 $1 zp ZP_WORD:6 4.0 (byte/signed word/word/dword/signed dword~) initEntry::$11 reg byte a 4.0 (byte/signed word/word/dword/signed dword~) initEntry::$13 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$15 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$17 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$19 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$21 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$23 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$25 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$3 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$5 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$7 reg byte a 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$15 reg byte a 4.0 +(word/dword/signed dword~) initEntry::$17 $17 zp ZP_WORD:6 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$19 reg byte a 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$21 reg byte a 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$23 reg byte a 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$25 reg byte a 4.0 +(word/signed word/dword/signed dword~) initEntry::$3 $3 zp ZP_WORD:6 4.0 +(word/signed word/dword/signed dword~) initEntry::$5 $5 zp ZP_WORD:6 4.0 +(word/signed word/dword/signed dword~) initEntry::$7 $7 zp ZP_WORD:6 4.0 (byte/signed word/word/dword/signed dword~) initEntry::$9 reg byte a 4.0 (label) initEntry::@1 (label) initEntry::@10 @@ -9433,79 +8901,62 @@ FINAL SYMBOL TABLE (byte*~) initEntry::entryBAddrHi1_$0 (byte*) initEntry::entryBAddrHi1_entry (byte*) initEntry::entryBAddrHi1_return -(byte*) initEntry::entryBAddrHi1_return#0 entryBAddrHi1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBAddrLo1 (byte*~) initEntry::entryBAddrLo1_$0 (byte*) initEntry::entryBAddrLo1_entry (byte*) initEntry::entryBAddrLo1_return -(byte*) initEntry::entryBAddrLo1_return#0 entryBAddrLo1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBError1 (byte*~) initEntry::entryBError1_$0 (byte*) initEntry::entryBError1_entry (byte*) initEntry::entryBError1_return -(byte*) initEntry::entryBError1_return#0 entryBError1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBFlag1 (byte*~) initEntry::entryBFlag1_$0 (byte*) initEntry::entryBFlag1_entry (byte*) initEntry::entryBFlag1_return -(byte*) initEntry::entryBFlag1_return#0 entryBFlag1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBufDisk1 (byte*~) initEntry::entryBufDisk1_$0 -(byte*) initEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:2 0.7317073170731708 +(byte*) initEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:2 0.5128205128205128 (byte**~) initEntry::entryBufDisk1_$1 (byte*) initEntry::entryBufDisk1_entry (byte**) initEntry::entryBufDisk1_return -(byte**) initEntry::entryBufDisk1_return#0 entryBufDisk1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBufEdit1 (byte*~) initEntry::entryBufEdit1_$0 -(byte*) initEntry::entryBufEdit1_$0#0 entryBufEdit1_$0 zp ZP_WORD:6 4.0 (byte**~) initEntry::entryBufEdit1_$1 (byte*) initEntry::entryBufEdit1_entry (byte**) initEntry::entryBufEdit1_return -(byte**) initEntry::entryBufEdit1_return#0 entryBufEdit1_return zp ZP_WORD:6 2.0 (label) initEntry::entrySLastLink1 (byte*~) initEntry::entrySLastLink1_$0 (byte*) initEntry::entrySLastLink1_entry (byte*) initEntry::entrySLastLink1_return -(byte*) initEntry::entrySLastLink1_return#0 entrySLastLink1_return zp ZP_WORD:6 2.0 (label) initEntry::entryTHi1 (byte*~) initEntry::entryTHi1_$0 (byte*) initEntry::entryTHi1_entry (byte*) initEntry::entryTHi1_return -(byte*) initEntry::entryTHi1_return#0 entryTHi1_return zp ZP_WORD:6 2.0 (label) initEntry::entryTLastLink1 (byte*~) initEntry::entryTLastLink1_$0 (byte*) initEntry::entryTLastLink1_entry (byte*) initEntry::entryTLastLink1_return -(byte*) initEntry::entryTLastLink1_return#0 entryTLastLink1_return zp ZP_WORD:6 2.0 (label) initEntry::entryTLo1 (byte*~) initEntry::entryTLo1_$0 (byte*) initEntry::entryTLo1_entry (byte*) initEntry::entryTLo1_return -(byte*) initEntry::entryTLo1_return#0 entryTLo1_return zp ZP_WORD:2 2.0 (label) initEntry::entryTsLen1 (byte*~) initEntry::entryTsLen1_$0 -(byte*) initEntry::entryTsLen1_$0#0 entryTsLen1_$0 zp ZP_WORD:6 4.0 (word*~) initEntry::entryTsLen1_$1 (byte*) initEntry::entryTsLen1_entry (word*) initEntry::entryTsLen1_return -(word*) initEntry::entryTsLen1_return#0 entryTsLen1_return zp ZP_WORD:6 2.0 (label) initEntry::entryTsOrder1 (byte*~) initEntry::entryTsOrder1_$0 -(byte*) initEntry::entryTsOrder1_$0#0 entryTsOrder1_$0 zp ZP_WORD:6 4.0 (word**~) initEntry::entryTsOrder1_$1 (byte*) initEntry::entryTsOrder1_entry (word**) initEntry::entryTsOrder1_return -(word**) initEntry::entryTsOrder1_return#0 entryTsOrder1_return zp ZP_WORD:6 2.0 (label) initEntry::entryUCross1 (byte*~) initEntry::entryUCross1_$0 -(byte*) initEntry::entryUCross1_$0#0 entryUCross1_$0 zp ZP_WORD:6 4.0 (word*~) initEntry::entryUCross1_$1 (byte*) initEntry::entryUCross1_entry (word*) initEntry::entryUCross1_return -(word*) initEntry::entryUCross1_return#0 entryUCross1_return zp ZP_WORD:6 2.0 (byte) initEntry::n -(byte) initEntry::n#10 n zp ZP_BYTE:8 0.6190476190476191 +(byte) initEntry::n#10 reg byte x 0.6842105263157894 (void()) keyboard_init() (label) keyboard_init::@return (byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key) @@ -9562,7 +9013,7 @@ FINAL SYMBOL TABLE (byte*) main::entry1 (byte*) main::entry1#0 entry1 zp ZP_WORD:4 0.3157894736842105 (byte*) main::entry2 -(byte*) main::entry2#0 entry2 zp ZP_WORD:9 0.17142857142857143 +(byte*) main::entry2#0 entry2 zp ZP_WORD:8 0.17142857142857143 (label) main::fileEntry1 (word~) main::fileEntry1_$0 (word) main::fileEntry1_$0#0 fileEntry1_$0 zp ZP_WORD:4 4.0 @@ -9572,7 +9023,7 @@ FINAL SYMBOL TABLE (byte*) main::fileEntry1_return (label) main::fileEntry2 (word~) main::fileEntry2_$0 -(word) main::fileEntry2_$0#0 fileEntry2_$0 zp ZP_WORD:9 4.0 +(word) main::fileEntry2_$0#0 fileEntry2_$0 zp ZP_WORD:8 4.0 (byte*~) main::fileEntry2_$1 (byte) main::fileEntry2_idx (const byte) main::fileEntry2_idx#0 fileEntry2_idx = (byte/signed byte/word/signed word/dword/signed dword) 2 @@ -9596,12 +9047,12 @@ FINAL SYMBOL TABLE (word) mul8u::mb#1 mb zp ZP_WORD:2 22.0 (word) mul8u::mb#2 mb zp ZP_WORD:2 4.714285714285714 (word) mul8u::res -(word) mul8u::res#1 res zp ZP_WORD:9 22.0 -(word) mul8u::res#2 res zp ZP_WORD:9 5.285714285714286 -(word) mul8u::res#6 res zp ZP_WORD:9 11.0 +(word) mul8u::res#1 res zp ZP_WORD:8 22.0 +(word) mul8u::res#2 res zp ZP_WORD:8 5.285714285714286 +(word) mul8u::res#6 res zp ZP_WORD:8 11.0 (word) mul8u::return -(word) mul8u::return#2 return zp ZP_WORD:9 4.0 -(word) mul8u::return#3 return zp ZP_WORD:9 4.0 +(word) mul8u::return#2 return zp ZP_WORD:8 4.0 +(word) mul8u::return#3 return zp ZP_WORD:8 4.0 (void()) printEntry((byte*) printEntry::entry) (label) printEntry::@1 (label) printEntry::@10 @@ -9649,77 +9100,60 @@ FINAL SYMBOL TABLE (byte*~) printEntry::entryBAddrHi1_$0 (byte*) printEntry::entryBAddrHi1_entry (byte*) printEntry::entryBAddrHi1_return -(byte*) printEntry::entryBAddrHi1_return#0 entryBAddrHi1_return zp ZP_WORD:2 4.0 (label) printEntry::entryBAddrLo1 (byte*~) printEntry::entryBAddrLo1_$0 (byte*) printEntry::entryBAddrLo1_entry (byte*) printEntry::entryBAddrLo1_return -(byte*) printEntry::entryBAddrLo1_return#0 entryBAddrLo1_return zp ZP_WORD:2 4.0 (label) printEntry::entryBError1 (byte*~) printEntry::entryBError1_$0 (byte*) printEntry::entryBError1_entry (byte*) printEntry::entryBError1_return -(byte*) printEntry::entryBError1_return#0 entryBError1_return zp ZP_WORD:2 4.0 (label) printEntry::entryBFlag1 (byte*~) printEntry::entryBFlag1_$0 (byte*) printEntry::entryBFlag1_entry (byte*) printEntry::entryBFlag1_return -(byte*) printEntry::entryBFlag1_return#0 entryBFlag1_return zp ZP_WORD:2 4.0 (label) printEntry::entryBufDisk1 (byte*~) printEntry::entryBufDisk1_$0 -(byte*) printEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:4 0.3296703296703296 +(byte*) printEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:4 0.22727272727272732 (byte**~) printEntry::entryBufDisk1_$1 (byte*) printEntry::entryBufDisk1_entry (byte**) printEntry::entryBufDisk1_return -(byte**) printEntry::entryBufDisk1_return#0 entryBufDisk1_return zp ZP_WORD:2 2.0 (label) printEntry::entryBufEdit1 (byte*~) printEntry::entryBufEdit1_$0 -(byte*) printEntry::entryBufEdit1_$0#0 entryBufEdit1_$0 zp ZP_WORD:2 4.0 (byte**~) printEntry::entryBufEdit1_$1 (byte*) printEntry::entryBufEdit1_entry (byte**) printEntry::entryBufEdit1_return -(byte**) printEntry::entryBufEdit1_return#0 entryBufEdit1_return zp ZP_WORD:2 2.0 (label) printEntry::entrySLastLink1 (byte*~) printEntry::entrySLastLink1_$0 (byte*) printEntry::entrySLastLink1_entry (byte*) printEntry::entrySLastLink1_return -(byte*) printEntry::entrySLastLink1_return#0 entrySLastLink1_return zp ZP_WORD:2 4.0 (label) printEntry::entryTHi1 (byte*~) printEntry::entryTHi1_$0 (byte*) printEntry::entryTHi1_entry (byte*) printEntry::entryTHi1_return -(byte*) printEntry::entryTHi1_return#0 entryTHi1_return zp ZP_WORD:2 4.0 (label) printEntry::entryTLastLink1 (byte*~) printEntry::entryTLastLink1_$0 (byte*) printEntry::entryTLastLink1_entry (byte*) printEntry::entryTLastLink1_return -(byte*) printEntry::entryTLastLink1_return#0 entryTLastLink1_return zp ZP_WORD:2 4.0 (label) printEntry::entryTLo1 (byte*~) printEntry::entryTLo1_$0 (byte*) printEntry::entryTLo1_entry (byte*) printEntry::entryTLo1_return -(byte*) printEntry::entryTLo1_return#0 entryTLo1_return zp ZP_WORD:4 4.0 (label) printEntry::entryTsLen1 (byte*~) printEntry::entryTsLen1_$0 -(byte*) printEntry::entryTsLen1_$0#0 entryTsLen1_$0 zp ZP_WORD:2 4.0 (word*~) printEntry::entryTsLen1_$1 (byte*) printEntry::entryTsLen1_entry (word*) printEntry::entryTsLen1_return -(word*) printEntry::entryTsLen1_return#0 entryTsLen1_return zp ZP_WORD:2 4.0 (label) printEntry::entryTsOrder1 (byte*~) printEntry::entryTsOrder1_$0 -(byte*) printEntry::entryTsOrder1_$0#0 entryTsOrder1_$0 zp ZP_WORD:2 4.0 (word**~) printEntry::entryTsOrder1_$1 (byte*) printEntry::entryTsOrder1_entry (word**) printEntry::entryTsOrder1_return -(word**) printEntry::entryTsOrder1_return#0 entryTsOrder1_return zp ZP_WORD:2 2.0 (label) printEntry::entryUCross1 (byte*~) printEntry::entryUCross1_$0 -(byte*) printEntry::entryUCross1_$0#0 entryUCross1_$0 zp ZP_WORD:2 4.0 (word*~) printEntry::entryUCross1_$1 (byte*) printEntry::entryUCross1_entry (word*) printEntry::entryUCross1_return -(word*) printEntry::entryUCross1_return#0 entryUCross1_return zp ZP_WORD:2 4.0 (const string) printEntry::str str = (string) "bufdisk @" (const string) printEntry::str1 str1 = (string) "bufedit @" (const string) printEntry::str10 str10 = (string) "baddrhi @" @@ -9759,7 +9193,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:6 11.0 (byte*) print_char_cursor#11 print_char_cursor zp ZP_WORD:6 0.8648648648648649 -(byte*) print_char_cursor#142 print_char_cursor zp ZP_WORD:6 1.0754716981132075 +(byte*) print_char_cursor#142 print_char_cursor zp ZP_WORD:6 1.1632653061224494 (byte*) print_char_cursor#143 print_char_cursor zp ZP_WORD:6 9.800000000000002 (byte*) print_char_cursor#145 print_char_cursor zp ZP_WORD:6 7.333333333333334 (byte*) print_char_cursor#164 print_char_cursor zp ZP_WORD:6 32.0 @@ -9792,7 +9226,7 @@ FINAL SYMBOL TABLE (byte[]) print_hextab (const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef" (byte*) print_line_cursor -(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:11 1.03960396039604 +(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:10 1.0824742268041243 (byte*~) print_line_cursor#159 print_line_cursor#159 zp ZP_WORD:2 2.0 (byte*~) print_line_cursor#160 print_line_cursor#160 zp ZP_WORD:2 2.0 (byte*~) print_line_cursor#161 print_line_cursor#161 zp ZP_WORD:2 2.0 @@ -9837,14 +9271,14 @@ FINAL SYMBOL TABLE (word~) print_word::w#7 w zp ZP_WORD:2 4.0 (word~) print_word::w#8 w zp ZP_WORD:2 4.0 -zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 printEntry::entryBAddrLo1_return#0 printEntry::entryBAddrHi1_return#0 printEntry::entryTHi1_return#0 ] -zp ZP_WORD:4 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 printEntry::entryTLo1_return#0 main::fileEntry1_$0#0 ] +zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 mul8u::mb#2 mul8u::mb#1 ] +zp ZP_WORD:4 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 main::fileEntry1_$0#0 ] reg byte x [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -zp ZP_WORD:6 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 initEntry::entryBAddrHi1_return#0 initEntry::entryTHi1_return#0 ] -zp ZP_BYTE:8 [ initEntry::n#10 ] +zp ZP_WORD:6 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::$1 initEntry::$3 initEntry::$5 initEntry::$7 initEntry::$17 ] +reg byte x [ initEntry::n#10 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] -zp ZP_WORD:9 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry2_$0#0 main::entry2#0 ] +zp ZP_WORD:8 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry2_$0#0 main::entry2#0 ] reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ main::$20 ] reg byte a [ keyboard_key_pressed::return#3 ] @@ -9853,18 +9287,13 @@ reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_key_pressed::$2 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_matrix_read::return#0 ] -zp ZP_WORD:11 [ print_line_cursor#1 ] +zp ZP_WORD:10 [ print_line_cursor#1 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ] -reg byte a [ initEntry::$1 ] -reg byte a [ initEntry::$3 ] -reg byte a [ initEntry::$5 ] -reg byte a [ initEntry::$7 ] reg byte a [ initEntry::$9 ] reg byte a [ initEntry::$11 ] reg byte a [ initEntry::$13 ] reg byte a [ initEntry::$15 ] -reg byte a [ initEntry::$17 ] reg byte a [ initEntry::$19 ] reg byte a [ initEntry::$21 ] reg byte a [ initEntry::$23 ] @@ -9873,7 +9302,7 @@ reg byte a [ mul8u::$1 ] FINAL ASSEMBLER -Score: 4447 +Score: 4046 //SEG0 File Comments // Implementing a semi-struct without the struct keyword by using pointer math and inline functions @@ -9914,7 +9343,7 @@ Score: 4447 // The maximal number of files .const MAX_FILES = $90 .label print_char_cursor = 6 - .label print_line_cursor = $b + .label print_line_cursor = $a .label print_line_cursor_32 = 2 .label print_line_cursor_63 = 2 .label print_line_cursor_159 = 2 @@ -9949,15 +9378,15 @@ main: { .const fileEntry2_idx = 2 .label fileEntry1__0 = 4 .label entry1 = 4 - .label fileEntry2__0 = 9 - .label entry2 = 9 + .label fileEntry2__0 = 8 + .label entry2 = 8 //SEG11 [5] call keyboard_init jsr keyboard_init //SEG12 [6] phi from main to main::fileEntry1 [phi:main->main::fileEntry1] //SEG13 main::fileEntry1 //SEG14 [7] call mul8u - //SEG15 [253] phi from main::fileEntry1 to mul8u [phi:main::fileEntry1->mul8u] - //SEG16 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry1_idx#0 [phi:main::fileEntry1->mul8u#0] -- vbuxx=vbuc1 + //SEG15 [245] phi from main::fileEntry1 to mul8u [phi:main::fileEntry1->mul8u] + //SEG16 [245] phi (byte) mul8u::a#6 = (const byte) main::fileEntry1_idx#0 [phi:main::fileEntry1->mul8u#0] -- vbuxx=vbuc1 ldx #fileEntry1_idx jsr mul8u //SEG17 [8] (word) mul8u::return#2 ← (word) mul8u::res#2 @@ -9978,8 +9407,8 @@ main: { //SEG21 [11] phi from main::@6 to main::fileEntry2 [phi:main::@6->main::fileEntry2] //SEG22 main::fileEntry2 //SEG23 [12] call mul8u - //SEG24 [253] phi from main::fileEntry2 to mul8u [phi:main::fileEntry2->mul8u] - //SEG25 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry2_idx#0 [phi:main::fileEntry2->mul8u#0] -- vbuxx=vbuc1 + //SEG24 [245] phi from main::fileEntry2 to mul8u [phi:main::fileEntry2->mul8u] + //SEG25 [245] phi (byte) mul8u::a#6 = (const byte) main::fileEntry2_idx#0 [phi:main::fileEntry2->mul8u#0] -- vbuxx=vbuc1 ldx #fileEntry2_idx jsr mul8u //SEG26 [13] (word) mul8u::return#3 ← (word) mul8u::res#2 @@ -10000,11 +9429,10 @@ main: { lda entry1+1 sta initEntry.entry+1 //SEG32 [17] call initEntry - //SEG33 [208] phi from main::@5 to initEntry [phi:main::@5->initEntry] - //SEG34 [208] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@5->initEntry#0] -- vbuz1=vbuc1 - lda #0 - sta initEntry.n - //SEG35 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#0 [phi:main::@5->initEntry#1] -- register_copy + //SEG33 [204] phi from main::@5 to initEntry [phi:main::@5->initEntry] + //SEG34 [204] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@5->initEntry#0] -- vbuxx=vbuc1 + ldx #0 + //SEG35 [204] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#0 [phi:main::@5->initEntry#1] -- register_copy jsr initEntry //SEG36 main::@8 //SEG37 [18] (byte*) initEntry::entry#1 ← (byte*) main::entry2#0 -- pbuz1=pbuz2 @@ -10013,11 +9441,10 @@ main: { lda entry2+1 sta initEntry.entry+1 //SEG38 [19] call initEntry - //SEG39 [208] phi from main::@8 to initEntry [phi:main::@8->initEntry] - //SEG40 [208] phi (byte) initEntry::n#10 = (byte/word/signed word/dword/signed dword) $80 [phi:main::@8->initEntry#0] -- vbuz1=vbuc1 - lda #$80 - sta initEntry.n - //SEG41 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#1 [phi:main::@8->initEntry#1] -- register_copy + //SEG39 [204] phi from main::@8 to initEntry [phi:main::@8->initEntry] + //SEG40 [204] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) $11 [phi:main::@8->initEntry#0] -- vbuxx=vbuc1 + ldx #$11 + //SEG41 [204] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#1 [phi:main::@8->initEntry#1] -- register_copy jsr initEntry //SEG42 [20] phi from main::@8 to main::@9 [phi:main::@8->main::@9] //SEG43 main::@9 @@ -10374,23 +9801,6 @@ print_ln: { printEntry: { .label entry = 4 .label entryBufDisk1__0 = 4 - .label entryBufDisk1_return = 2 - .label entryBufEdit1__0 = 2 - .label entryBufEdit1_return = 2 - .label entryTsLen1__0 = 2 - .label entryTsLen1_return = 2 - .label entryTsOrder1__0 = 2 - .label entryTsOrder1_return = 2 - .label entryTLastLink1_return = 2 - .label entrySLastLink1_return = 2 - .label entryBFlag1_return = 2 - .label entryBError1_return = 2 - .label entryUCross1__0 = 2 - .label entryUCross1_return = 2 - .label entryBAddrLo1_return = 2 - .label entryBAddrHi1_return = 2 - .label entryTHi1_return = 2 - .label entryTLo1_return = 4 //SEG193 [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor @@ -10405,24 +9815,19 @@ printEntry: { lda #>str sta print_str.str+1 jsr print_str - //SEG198 printEntry::entryBufDisk1 - //SEG199 [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryBufDisk1__0 - sta entryBufDisk1_return - lda entryBufDisk1__0+1 - sta entryBufDisk1_return+1 + //SEG198 [96] phi from printEntry to printEntry::entryBufDisk1 [phi:printEntry->printEntry::entryBufDisk1] + //SEG199 printEntry::entryBufDisk1 //SEG200 printEntry::@1 - //SEG201 [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) -- vwuz1=_deref_pwuz1 + //SEG201 [97] (word~) print_word::w#7 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0) -- vwuz1=_deref_pptz2 ldy #0 - lda (print_word.w),y - tax + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w //SEG202 [98] call print_word - //SEG203 [202] phi from printEntry::@1 to print_word [phi:printEntry::@1->print_word] - //SEG204 [202] phi (word) print_word::w#5 = (word~) print_word::w#7 [phi:printEntry::@1->print_word#0] -- register_copy + //SEG203 [198] phi from printEntry::@1 to print_word [phi:printEntry::@1->print_word] + //SEG204 [198] phi (word) print_word::w#5 = (word~) print_word::w#7 [phi:printEntry::@1->print_word#0] -- register_copy jsr print_word //SEG205 printEntry::@14 //SEG206 [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 @@ -10450,549 +9855,457 @@ printEntry: { lda #>str1 sta print_str.str+1 jsr print_str - //SEG217 printEntry::entryBufEdit1 - //SEG218 [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 - lda entryBufDisk1__0 - clc - adc #2 - sta entryBufEdit1__0 - lda entryBufDisk1__0+1 - adc #0 - sta entryBufEdit1__0+1 - //SEG219 [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz1 - //SEG220 printEntry::@2 - //SEG221 [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) -- vwuz1=_deref_pwuz1 - ldy #0 - lda (print_word.w),y - tax + //SEG217 [103] phi from printEntry::@15 to printEntry::entryBufEdit1 [phi:printEntry::@15->printEntry::entryBufEdit1] + //SEG218 printEntry::entryBufEdit1 + //SEG219 printEntry::@2 + //SEG220 [104] (word~) print_word::w#8 ← (word)*((byte**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) -- vwuz1=pptz2_derefidx_vbuc1 + ldy #2 + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w - //SEG222 [106] call print_word - //SEG223 [202] phi from printEntry::@2 to print_word [phi:printEntry::@2->print_word] - //SEG224 [202] phi (word) print_word::w#5 = (word~) print_word::w#8 [phi:printEntry::@2->print_word#0] -- register_copy + //SEG221 [105] call print_word + //SEG222 [198] phi from printEntry::@2 to print_word [phi:printEntry::@2->print_word] + //SEG223 [198] phi (word) print_word::w#5 = (word~) print_word::w#8 [phi:printEntry::@2->print_word#0] -- register_copy jsr print_word - //SEG225 printEntry::@16 - //SEG226 [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG224 printEntry::@16 + //SEG225 [106] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_164 lda print_line_cursor+1 sta print_line_cursor_164+1 - //SEG227 [108] call print_ln - //SEG228 [87] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln] - //SEG229 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@16->print_ln#0] -- register_copy - //SEG230 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#164 [phi:printEntry::@16->print_ln#1] -- register_copy + //SEG226 [107] call print_ln + //SEG227 [87] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln] + //SEG228 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@16->print_ln#0] -- register_copy + //SEG229 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#164 [phi:printEntry::@16->print_ln#1] -- register_copy jsr print_ln - //SEG231 printEntry::@17 - //SEG232 [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG230 printEntry::@17 + //SEG231 [108] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG233 [110] call print_str - //SEG234 [80] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str] - //SEG235 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#216 [phi:printEntry::@17->print_str#0] -- register_copy - //SEG236 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 + //SEG232 [109] call print_str + //SEG233 [80] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str] + //SEG234 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#216 [phi:printEntry::@17->print_str#0] -- register_copy + //SEG235 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str + //SEG236 [110] phi from printEntry::@17 to printEntry::entryTsLen1 [phi:printEntry::@17->printEntry::entryTsLen1] //SEG237 printEntry::entryTsLen1 - //SEG238 [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 - lda #4 - clc - adc entryBufDisk1__0 - sta entryTsLen1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsLen1__0+1 - //SEG239 [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz1 - //SEG240 printEntry::@3 - //SEG241 [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) -- vwuz1=_deref_pwuz1 - ldy #0 - lda (print_word.w),y - tax + //SEG238 printEntry::@3 + //SEG239 [111] (word) print_word::w#2 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) -- vwuz1=pwuz2_derefidx_vbuc1 + ldy #4 + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w - //SEG242 [114] call print_word - //SEG243 [202] phi from printEntry::@3 to print_word [phi:printEntry::@3->print_word] - //SEG244 [202] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:printEntry::@3->print_word#0] -- register_copy + //SEG240 [112] call print_word + //SEG241 [198] phi from printEntry::@3 to print_word [phi:printEntry::@3->print_word] + //SEG242 [198] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:printEntry::@3->print_word#0] -- register_copy jsr print_word - //SEG245 printEntry::@18 - //SEG246 [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG243 printEntry::@18 + //SEG244 [113] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_165 lda print_line_cursor+1 sta print_line_cursor_165+1 - //SEG247 [116] call print_ln - //SEG248 [87] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln] - //SEG249 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@18->print_ln#0] -- register_copy - //SEG250 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#165 [phi:printEntry::@18->print_ln#1] -- register_copy + //SEG245 [114] call print_ln + //SEG246 [87] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln] + //SEG247 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@18->print_ln#0] -- register_copy + //SEG248 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#165 [phi:printEntry::@18->print_ln#1] -- register_copy jsr print_ln - //SEG251 printEntry::@19 - //SEG252 [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG249 printEntry::@19 + //SEG250 [115] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG253 [118] call print_str - //SEG254 [80] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str] - //SEG255 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#217 [phi:printEntry::@19->print_str#0] -- register_copy - //SEG256 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 + //SEG251 [116] call print_str + //SEG252 [80] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str] + //SEG253 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#217 [phi:printEntry::@19->print_str#0] -- register_copy + //SEG254 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str - //SEG257 printEntry::entryTsOrder1 - //SEG258 [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 - lda #6 - clc - adc entryBufDisk1__0 - sta entryTsOrder1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsOrder1__0+1 - //SEG259 [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz1 - //SEG260 printEntry::@4 - //SEG261 [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) -- vwuz1=_deref_pwuz1 - ldy #0 - lda (print_word.w),y - tax + //SEG255 [117] phi from printEntry::@19 to printEntry::entryTsOrder1 [phi:printEntry::@19->printEntry::entryTsOrder1] + //SEG256 printEntry::entryTsOrder1 + //SEG257 printEntry::@4 + //SEG258 [118] (word~) print_word::w#10 ← (word)*((word**)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) -- vwuz1=pptz2_derefidx_vbuc1 + ldy #6 + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w - //SEG262 [122] call print_word - //SEG263 [202] phi from printEntry::@4 to print_word [phi:printEntry::@4->print_word] - //SEG264 [202] phi (word) print_word::w#5 = (word~) print_word::w#10 [phi:printEntry::@4->print_word#0] -- register_copy + //SEG259 [119] call print_word + //SEG260 [198] phi from printEntry::@4 to print_word [phi:printEntry::@4->print_word] + //SEG261 [198] phi (word) print_word::w#5 = (word~) print_word::w#10 [phi:printEntry::@4->print_word#0] -- register_copy jsr print_word - //SEG265 printEntry::@20 - //SEG266 [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG262 printEntry::@20 + //SEG263 [120] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_166 lda print_line_cursor+1 sta print_line_cursor_166+1 - //SEG267 [124] call print_ln - //SEG268 [87] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln] - //SEG269 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@20->print_ln#0] -- register_copy - //SEG270 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#166 [phi:printEntry::@20->print_ln#1] -- register_copy + //SEG264 [121] call print_ln + //SEG265 [87] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln] + //SEG266 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@20->print_ln#0] -- register_copy + //SEG267 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#166 [phi:printEntry::@20->print_ln#1] -- register_copy jsr print_ln - //SEG271 printEntry::@21 - //SEG272 [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG268 printEntry::@21 + //SEG269 [122] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG273 [126] call print_str - //SEG274 [80] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str] - //SEG275 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#218 [phi:printEntry::@21->print_str#0] -- register_copy - //SEG276 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 + //SEG270 [123] call print_str + //SEG271 [80] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str] + //SEG272 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#218 [phi:printEntry::@21->print_str#0] -- register_copy + //SEG273 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 lda #str4 sta print_str.str+1 jsr print_str - //SEG277 printEntry::entryTLastLink1 - //SEG278 [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 - lda #8 - clc - adc entryBufDisk1__0 - sta entryTLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLastLink1_return+1 - //SEG279 printEntry::@5 - //SEG280 [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryTLastLink1_return),y + //SEG274 [124] phi from printEntry::@21 to printEntry::entryTLastLink1 [phi:printEntry::@21->printEntry::entryTLastLink1] + //SEG275 printEntry::entryTLastLink1 + //SEG276 printEntry::@5 + //SEG277 [125] (byte) print_byte::b#2 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #8 + lda (entryBufDisk1__0),y tax - //SEG281 [129] call print_byte - //SEG282 [190] phi from printEntry::@5 to print_byte [phi:printEntry::@5->print_byte] - //SEG283 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@5->print_byte#0] -- register_copy - //SEG284 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#2 [phi:printEntry::@5->print_byte#1] -- register_copy + //SEG278 [126] call print_byte + //SEG279 [186] phi from printEntry::@5 to print_byte [phi:printEntry::@5->print_byte] + //SEG280 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@5->print_byte#0] -- register_copy + //SEG281 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#2 [phi:printEntry::@5->print_byte#1] -- register_copy jsr print_byte - //SEG285 printEntry::@22 - //SEG286 [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG282 printEntry::@22 + //SEG283 [127] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_167 lda print_line_cursor+1 sta print_line_cursor_167+1 - //SEG287 [131] call print_ln - //SEG288 [87] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln] - //SEG289 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@22->print_ln#0] -- register_copy - //SEG290 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#167 [phi:printEntry::@22->print_ln#1] -- register_copy + //SEG284 [128] call print_ln + //SEG285 [87] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln] + //SEG286 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@22->print_ln#0] -- register_copy + //SEG287 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#167 [phi:printEntry::@22->print_ln#1] -- register_copy jsr print_ln - //SEG291 printEntry::@23 - //SEG292 [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG288 printEntry::@23 + //SEG289 [129] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG293 [133] call print_str - //SEG294 [80] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str] - //SEG295 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#219 [phi:printEntry::@23->print_str#0] -- register_copy - //SEG296 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 + //SEG290 [130] call print_str + //SEG291 [80] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str] + //SEG292 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#219 [phi:printEntry::@23->print_str#0] -- register_copy + //SEG293 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 lda #str5 sta print_str.str+1 jsr print_str - //SEG297 printEntry::entrySLastLink1 - //SEG298 [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 - lda #9 - clc - adc entryBufDisk1__0 - sta entrySLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entrySLastLink1_return+1 - //SEG299 printEntry::@6 - //SEG300 [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entrySLastLink1_return),y + //SEG294 [131] phi from printEntry::@23 to printEntry::entrySLastLink1 [phi:printEntry::@23->printEntry::entrySLastLink1] + //SEG295 printEntry::entrySLastLink1 + //SEG296 printEntry::@6 + //SEG297 [132] (byte) print_byte::b#3 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #9 + lda (entryBufDisk1__0),y tax - //SEG301 [136] call print_byte - //SEG302 [190] phi from printEntry::@6 to print_byte [phi:printEntry::@6->print_byte] - //SEG303 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@6->print_byte#0] -- register_copy - //SEG304 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#3 [phi:printEntry::@6->print_byte#1] -- register_copy + //SEG298 [133] call print_byte + //SEG299 [186] phi from printEntry::@6 to print_byte [phi:printEntry::@6->print_byte] + //SEG300 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@6->print_byte#0] -- register_copy + //SEG301 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#3 [phi:printEntry::@6->print_byte#1] -- register_copy jsr print_byte - //SEG305 printEntry::@24 - //SEG306 [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG302 printEntry::@24 + //SEG303 [134] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_168 lda print_line_cursor+1 sta print_line_cursor_168+1 - //SEG307 [138] call print_ln - //SEG308 [87] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln] - //SEG309 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@24->print_ln#0] -- register_copy - //SEG310 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#168 [phi:printEntry::@24->print_ln#1] -- register_copy + //SEG304 [135] call print_ln + //SEG305 [87] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln] + //SEG306 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@24->print_ln#0] -- register_copy + //SEG307 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#168 [phi:printEntry::@24->print_ln#1] -- register_copy jsr print_ln - //SEG311 printEntry::@25 - //SEG312 [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG308 printEntry::@25 + //SEG309 [136] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG313 [140] call print_str - //SEG314 [80] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str] - //SEG315 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#220 [phi:printEntry::@25->print_str#0] -- register_copy - //SEG316 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 + //SEG310 [137] call print_str + //SEG311 [80] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str] + //SEG312 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#220 [phi:printEntry::@25->print_str#0] -- register_copy + //SEG313 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 lda #str6 sta print_str.str+1 jsr print_str - //SEG317 printEntry::entryBFlag1 - //SEG318 [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 - lda #$a - clc - adc entryBufDisk1__0 - sta entryBFlag1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBFlag1_return+1 - //SEG319 printEntry::@7 - //SEG320 [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryBFlag1_return),y + //SEG314 [138] phi from printEntry::@25 to printEntry::entryBFlag1 [phi:printEntry::@25->printEntry::entryBFlag1] + //SEG315 printEntry::entryBFlag1 + //SEG316 printEntry::@7 + //SEG317 [139] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$a + lda (entryBufDisk1__0),y tax - //SEG321 [143] call print_byte - //SEG322 [190] phi from printEntry::@7 to print_byte [phi:printEntry::@7->print_byte] - //SEG323 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@7->print_byte#0] -- register_copy - //SEG324 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#4 [phi:printEntry::@7->print_byte#1] -- register_copy + //SEG318 [140] call print_byte + //SEG319 [186] phi from printEntry::@7 to print_byte [phi:printEntry::@7->print_byte] + //SEG320 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@7->print_byte#0] -- register_copy + //SEG321 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#4 [phi:printEntry::@7->print_byte#1] -- register_copy jsr print_byte - //SEG325 printEntry::@26 - //SEG326 [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG322 printEntry::@26 + //SEG323 [141] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_169 lda print_line_cursor+1 sta print_line_cursor_169+1 - //SEG327 [145] call print_ln - //SEG328 [87] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln] - //SEG329 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@26->print_ln#0] -- register_copy - //SEG330 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#169 [phi:printEntry::@26->print_ln#1] -- register_copy + //SEG324 [142] call print_ln + //SEG325 [87] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln] + //SEG326 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@26->print_ln#0] -- register_copy + //SEG327 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#169 [phi:printEntry::@26->print_ln#1] -- register_copy jsr print_ln - //SEG331 printEntry::@27 - //SEG332 [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG328 printEntry::@27 + //SEG329 [143] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG333 [147] call print_str - //SEG334 [80] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str] - //SEG335 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#221 [phi:printEntry::@27->print_str#0] -- register_copy - //SEG336 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 + //SEG330 [144] call print_str + //SEG331 [80] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str] + //SEG332 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#221 [phi:printEntry::@27->print_str#0] -- register_copy + //SEG333 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 lda #str7 sta print_str.str+1 jsr print_str - //SEG337 printEntry::entryBError1 - //SEG338 [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 - lda #$b - clc - adc entryBufDisk1__0 - sta entryBError1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBError1_return+1 - //SEG339 printEntry::@8 - //SEG340 [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryBError1_return),y + //SEG334 [145] phi from printEntry::@27 to printEntry::entryBError1 [phi:printEntry::@27->printEntry::entryBError1] + //SEG335 printEntry::entryBError1 + //SEG336 printEntry::@8 + //SEG337 [146] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$b + lda (entryBufDisk1__0),y tax - //SEG341 [150] call print_byte - //SEG342 [190] phi from printEntry::@8 to print_byte [phi:printEntry::@8->print_byte] - //SEG343 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@8->print_byte#0] -- register_copy - //SEG344 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#5 [phi:printEntry::@8->print_byte#1] -- register_copy + //SEG338 [147] call print_byte + //SEG339 [186] phi from printEntry::@8 to print_byte [phi:printEntry::@8->print_byte] + //SEG340 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@8->print_byte#0] -- register_copy + //SEG341 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#5 [phi:printEntry::@8->print_byte#1] -- register_copy jsr print_byte - //SEG345 printEntry::@28 - //SEG346 [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG342 printEntry::@28 + //SEG343 [148] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_170 lda print_line_cursor+1 sta print_line_cursor_170+1 - //SEG347 [152] call print_ln - //SEG348 [87] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln] - //SEG349 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@28->print_ln#0] -- register_copy - //SEG350 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#170 [phi:printEntry::@28->print_ln#1] -- register_copy + //SEG344 [149] call print_ln + //SEG345 [87] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln] + //SEG346 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@28->print_ln#0] -- register_copy + //SEG347 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#170 [phi:printEntry::@28->print_ln#1] -- register_copy jsr print_ln - //SEG351 printEntry::@29 - //SEG352 [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG348 printEntry::@29 + //SEG349 [150] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG353 [154] call print_str - //SEG354 [80] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str] - //SEG355 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#222 [phi:printEntry::@29->print_str#0] -- register_copy - //SEG356 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 + //SEG350 [151] call print_str + //SEG351 [80] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str] + //SEG352 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#222 [phi:printEntry::@29->print_str#0] -- register_copy + //SEG353 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 lda #str8 sta print_str.str+1 jsr print_str - //SEG357 printEntry::entryUCross1 - //SEG358 [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 - lda #$c - clc - adc entryBufDisk1__0 - sta entryUCross1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryUCross1__0+1 - //SEG359 [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz1 - //SEG360 printEntry::@9 - //SEG361 [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) -- vwuz1=_deref_pwuz1 - ldy #0 - lda (print_word.w),y - tax + //SEG354 [152] phi from printEntry::@29 to printEntry::entryUCross1 [phi:printEntry::@29->printEntry::entryUCross1] + //SEG355 printEntry::entryUCross1 + //SEG356 printEntry::@9 + //SEG357 [153] (word) print_word::w#4 ← *((word*)(byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) -- vwuz1=pwuz2_derefidx_vbuc1 + ldy #$c + lda (entryBufDisk1__0),y + sta print_word.w iny - lda (print_word.w),y + lda (entryBufDisk1__0),y sta print_word.w+1 - stx print_word.w - //SEG362 [158] call print_word - //SEG363 [202] phi from printEntry::@9 to print_word [phi:printEntry::@9->print_word] - //SEG364 [202] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:printEntry::@9->print_word#0] -- register_copy + //SEG358 [154] call print_word + //SEG359 [198] phi from printEntry::@9 to print_word [phi:printEntry::@9->print_word] + //SEG360 [198] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:printEntry::@9->print_word#0] -- register_copy jsr print_word - //SEG365 printEntry::@30 - //SEG366 [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG361 printEntry::@30 + //SEG362 [155] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_171 lda print_line_cursor+1 sta print_line_cursor_171+1 - //SEG367 [160] call print_ln - //SEG368 [87] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln] - //SEG369 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@30->print_ln#0] -- register_copy - //SEG370 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#171 [phi:printEntry::@30->print_ln#1] -- register_copy + //SEG363 [156] call print_ln + //SEG364 [87] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln] + //SEG365 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@30->print_ln#0] -- register_copy + //SEG366 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#171 [phi:printEntry::@30->print_ln#1] -- register_copy jsr print_ln - //SEG371 printEntry::@31 - //SEG372 [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG367 printEntry::@31 + //SEG368 [157] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG373 [162] call print_str - //SEG374 [80] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str] - //SEG375 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#223 [phi:printEntry::@31->print_str#0] -- register_copy - //SEG376 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 + //SEG369 [158] call print_str + //SEG370 [80] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str] + //SEG371 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#223 [phi:printEntry::@31->print_str#0] -- register_copy + //SEG372 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 lda #str9 sta print_str.str+1 jsr print_str - //SEG377 printEntry::entryBAddrLo1 - //SEG378 [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 - lda #$e - clc - adc entryBufDisk1__0 - sta entryBAddrLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrLo1_return+1 - //SEG379 printEntry::@10 - //SEG380 [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryBAddrLo1_return),y + //SEG373 [159] phi from printEntry::@31 to printEntry::entryBAddrLo1 [phi:printEntry::@31->printEntry::entryBAddrLo1] + //SEG374 printEntry::entryBAddrLo1 + //SEG375 printEntry::@10 + //SEG376 [160] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$e + lda (entryBufDisk1__0),y tax - //SEG381 [165] call print_byte - //SEG382 [190] phi from printEntry::@10 to print_byte [phi:printEntry::@10->print_byte] - //SEG383 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@10->print_byte#0] -- register_copy - //SEG384 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#6 [phi:printEntry::@10->print_byte#1] -- register_copy + //SEG377 [161] call print_byte + //SEG378 [186] phi from printEntry::@10 to print_byte [phi:printEntry::@10->print_byte] + //SEG379 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@10->print_byte#0] -- register_copy + //SEG380 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#6 [phi:printEntry::@10->print_byte#1] -- register_copy jsr print_byte - //SEG385 printEntry::@32 - //SEG386 [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG381 printEntry::@32 + //SEG382 [162] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_172 lda print_line_cursor+1 sta print_line_cursor_172+1 - //SEG387 [167] call print_ln - //SEG388 [87] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln] - //SEG389 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@32->print_ln#0] -- register_copy - //SEG390 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#172 [phi:printEntry::@32->print_ln#1] -- register_copy + //SEG383 [163] call print_ln + //SEG384 [87] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln] + //SEG385 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@32->print_ln#0] -- register_copy + //SEG386 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#172 [phi:printEntry::@32->print_ln#1] -- register_copy jsr print_ln - //SEG391 printEntry::@33 - //SEG392 [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG387 printEntry::@33 + //SEG388 [164] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG393 [169] call print_str - //SEG394 [80] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str] - //SEG395 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#224 [phi:printEntry::@33->print_str#0] -- register_copy - //SEG396 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 + //SEG389 [165] call print_str + //SEG390 [80] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str] + //SEG391 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#224 [phi:printEntry::@33->print_str#0] -- register_copy + //SEG392 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 lda #str10 sta print_str.str+1 jsr print_str - //SEG397 printEntry::entryBAddrHi1 - //SEG398 [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 - lda #$f - clc - adc entryBufDisk1__0 - sta entryBAddrHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrHi1_return+1 - //SEG399 printEntry::@11 - //SEG400 [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryBAddrHi1_return),y + //SEG393 [166] phi from printEntry::@33 to printEntry::entryBAddrHi1 [phi:printEntry::@33->printEntry::entryBAddrHi1] + //SEG394 printEntry::entryBAddrHi1 + //SEG395 printEntry::@11 + //SEG396 [167] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$f + lda (entryBufDisk1__0),y tax - //SEG401 [172] call print_byte - //SEG402 [190] phi from printEntry::@11 to print_byte [phi:printEntry::@11->print_byte] - //SEG403 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@11->print_byte#0] -- register_copy - //SEG404 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#7 [phi:printEntry::@11->print_byte#1] -- register_copy + //SEG397 [168] call print_byte + //SEG398 [186] phi from printEntry::@11 to print_byte [phi:printEntry::@11->print_byte] + //SEG399 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@11->print_byte#0] -- register_copy + //SEG400 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#7 [phi:printEntry::@11->print_byte#1] -- register_copy jsr print_byte - //SEG405 printEntry::@34 - //SEG406 [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG401 printEntry::@34 + //SEG402 [169] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_173 lda print_line_cursor+1 sta print_line_cursor_173+1 - //SEG407 [174] call print_ln - //SEG408 [87] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln] - //SEG409 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@34->print_ln#0] -- register_copy - //SEG410 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#173 [phi:printEntry::@34->print_ln#1] -- register_copy + //SEG403 [170] call print_ln + //SEG404 [87] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln] + //SEG405 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@34->print_ln#0] -- register_copy + //SEG406 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#173 [phi:printEntry::@34->print_ln#1] -- register_copy jsr print_ln - //SEG411 printEntry::@35 - //SEG412 [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG407 printEntry::@35 + //SEG408 [171] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG413 [176] call print_str - //SEG414 [80] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str] - //SEG415 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#225 [phi:printEntry::@35->print_str#0] -- register_copy - //SEG416 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 + //SEG409 [172] call print_str + //SEG410 [80] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str] + //SEG411 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#225 [phi:printEntry::@35->print_str#0] -- register_copy + //SEG412 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 lda #str11 sta print_str.str+1 jsr print_str - //SEG417 printEntry::entryTHi1 - //SEG418 [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 - lda #$10 - clc - adc entryBufDisk1__0 - sta entryTHi1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTHi1_return+1 - //SEG419 printEntry::@12 - //SEG420 [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryTHi1_return),y + //SEG413 [173] phi from printEntry::@35 to printEntry::entryTHi1 [phi:printEntry::@35->printEntry::entryTHi1] + //SEG414 printEntry::entryTHi1 + //SEG415 printEntry::@12 + //SEG416 [174] (byte) print_byte::b#8 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$10 + lda (entryBufDisk1__0),y tax - //SEG421 [179] call print_byte - //SEG422 [190] phi from printEntry::@12 to print_byte [phi:printEntry::@12->print_byte] - //SEG423 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@12->print_byte#0] -- register_copy - //SEG424 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#8 [phi:printEntry::@12->print_byte#1] -- register_copy + //SEG417 [175] call print_byte + //SEG418 [186] phi from printEntry::@12 to print_byte [phi:printEntry::@12->print_byte] + //SEG419 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@12->print_byte#0] -- register_copy + //SEG420 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#8 [phi:printEntry::@12->print_byte#1] -- register_copy jsr print_byte - //SEG425 printEntry::@36 - //SEG426 [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG421 printEntry::@36 + //SEG422 [176] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_174 lda print_line_cursor+1 sta print_line_cursor_174+1 - //SEG427 [181] call print_ln - //SEG428 [87] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln] - //SEG429 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@36->print_ln#0] -- register_copy - //SEG430 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#174 [phi:printEntry::@36->print_ln#1] -- register_copy + //SEG423 [177] call print_ln + //SEG424 [87] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln] + //SEG425 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@36->print_ln#0] -- register_copy + //SEG426 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#174 [phi:printEntry::@36->print_ln#1] -- register_copy jsr print_ln - //SEG431 printEntry::@37 - //SEG432 [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG427 printEntry::@37 + //SEG428 [178] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG433 [183] call print_str - //SEG434 [80] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str] - //SEG435 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#226 [phi:printEntry::@37->print_str#0] -- register_copy - //SEG436 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 + //SEG429 [179] call print_str + //SEG430 [80] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str] + //SEG431 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#226 [phi:printEntry::@37->print_str#0] -- register_copy + //SEG432 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 lda #str12 sta print_str.str+1 jsr print_str - //SEG437 printEntry::entryTLo1 - //SEG438 [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz1_plus_vbuc1 - lda #$11 - clc - adc entryTLo1_return - sta entryTLo1_return - bcc !+ - inc entryTLo1_return+1 - !: - //SEG439 printEntry::@13 - //SEG440 [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) -- vbuxx=_deref_pbuz1 - ldy #0 - lda (entryTLo1_return),y + //SEG433 [180] phi from printEntry::@37 to printEntry::entryTLo1 [phi:printEntry::@37->printEntry::entryTLo1] + //SEG434 printEntry::entryTLo1 + //SEG435 printEntry::@13 + //SEG436 [181] (byte) print_byte::b#9 ← *((byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) -- vbuxx=pbuz1_derefidx_vbuc1 + ldy #$11 + lda (entryBufDisk1__0),y tax - //SEG441 [186] call print_byte - //SEG442 [190] phi from printEntry::@13 to print_byte [phi:printEntry::@13->print_byte] - //SEG443 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@13->print_byte#0] -- register_copy - //SEG444 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#9 [phi:printEntry::@13->print_byte#1] -- register_copy + //SEG437 [182] call print_byte + //SEG438 [186] phi from printEntry::@13 to print_byte [phi:printEntry::@13->print_byte] + //SEG439 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@13->print_byte#0] -- register_copy + //SEG440 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#9 [phi:printEntry::@13->print_byte#1] -- register_copy jsr print_byte - //SEG445 printEntry::@38 - //SEG446 [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + //SEG441 printEntry::@38 + //SEG442 [183] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 lda print_line_cursor sta print_line_cursor_175 lda print_line_cursor+1 sta print_line_cursor_175+1 - //SEG447 [188] call print_ln - //SEG448 [87] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln] - //SEG449 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@38->print_ln#0] -- register_copy - //SEG450 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#175 [phi:printEntry::@38->print_ln#1] -- register_copy + //SEG443 [184] call print_ln + //SEG444 [87] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln] + //SEG445 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@38->print_ln#0] -- register_copy + //SEG446 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#175 [phi:printEntry::@38->print_ln#1] -- register_copy jsr print_ln - //SEG451 printEntry::@return - //SEG452 [189] return + //SEG447 printEntry::@return + //SEG448 [185] return rts str: .text "bufdisk @" str1: .text "bufedit @" @@ -11008,376 +10321,302 @@ printEntry: { str11: .text "thi @" str12: .text "tlo @" } -//SEG453 print_byte +//SEG449 print_byte // Print a byte as HEX // print_byte(byte register(X) b) print_byte: { - //SEG454 [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuxx_ror_4 + //SEG450 [187] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuxx_ror_4 txa lsr lsr lsr lsr - //SEG455 [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG451 [188] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa tay lda print_hextab,y - //SEG456 [193] call print_char - //SEG457 [198] phi from print_byte to print_char [phi:print_byte->print_char] - //SEG458 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#145 [phi:print_byte->print_char#0] -- register_copy - //SEG459 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + //SEG452 [189] call print_char + //SEG453 [194] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG454 [194] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#145 [phi:print_byte->print_char#0] -- register_copy + //SEG455 [194] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy jsr print_char - //SEG460 print_byte::@1 - //SEG461 [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuxx=vbuxx_band_vbuc1 + //SEG456 print_byte::@1 + //SEG457 [190] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuxx=vbuxx_band_vbuc1 lda #$f axs #0 - //SEG462 [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuxx + //SEG458 [191] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuxx lda print_hextab,x - //SEG463 [196] call print_char - //SEG464 [198] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] - //SEG465 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy - //SEG466 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + //SEG459 [192] call print_char + //SEG460 [194] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG461 [194] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG462 [194] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char - //SEG467 print_byte::@return - //SEG468 [197] return + //SEG463 print_byte::@return + //SEG464 [193] return rts } -//SEG469 print_char +//SEG465 print_char // Print a single char // print_char(byte register(A) ch) print_char: { - //SEG470 [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 -- _deref_pbuz1=vbuaa + //SEG466 [195] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG471 [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 -- pbuz1=_inc_pbuz1 + //SEG467 [196] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG472 print_char::@return - //SEG473 [201] return + //SEG468 print_char::@return + //SEG469 [197] return rts } -//SEG474 print_word +//SEG470 print_word // Print a word as HEX // print_word(word zeropage(2) w) print_word: { .label w = 2 - //SEG475 [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 -- vbuxx=_hi_vwuz1 + //SEG471 [199] (byte) print_byte::b#0 ← > (word) print_word::w#5 -- vbuxx=_hi_vwuz1 lda w+1 tax - //SEG476 [204] call print_byte - //SEG477 [190] phi from print_word to print_byte [phi:print_word->print_byte] - //SEG478 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:print_word->print_byte#0] -- register_copy - //SEG479 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + //SEG472 [200] call print_byte + //SEG473 [186] phi from print_word to print_byte [phi:print_word->print_byte] + //SEG474 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:print_word->print_byte#0] -- register_copy + //SEG475 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy jsr print_byte - //SEG480 print_word::@1 - //SEG481 [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 -- vbuxx=_lo_vwuz1 + //SEG476 print_word::@1 + //SEG477 [201] (byte) print_byte::b#1 ← < (word) print_word::w#5 -- vbuxx=_lo_vwuz1 lda w tax - //SEG482 [206] call print_byte - //SEG483 [190] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] - //SEG484 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy - //SEG485 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + //SEG478 [202] call print_byte + //SEG479 [186] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + //SEG480 [186] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG481 [186] phi (byte) print_byte::b#10 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy jsr print_byte - //SEG486 print_word::@return - //SEG487 [207] return + //SEG482 print_word::@return + //SEG483 [203] return rts } -//SEG488 initEntry +//SEG484 initEntry // Set all values in the passed struct // Sets the values to n, n+1, n... to help test that everything works as intended -// initEntry(byte* zeropage(2) entry, byte zeropage(8) n) +// initEntry(byte* zeropage(2) entry, byte register(X) n) initEntry: { + .label _1 = 6 + .label _3 = 6 + .label _5 = 6 + .label _7 = 6 + .label _17 = 6 .label entry = 2 .label entryBufDisk1__0 = 2 - .label entryBufDisk1_return = 6 - .label entryBufEdit1__0 = 6 - .label entryBufEdit1_return = 6 - .label entryTsLen1__0 = 6 - .label entryTsLen1_return = 6 - .label entryTsOrder1__0 = 6 - .label entryTsOrder1_return = 6 - .label entryTLastLink1_return = 6 - .label entrySLastLink1_return = 6 - .label entryBFlag1_return = 6 - .label entryBError1_return = 6 - .label entryUCross1__0 = 6 - .label entryUCross1_return = 6 - .label entryBAddrLo1_return = 6 - .label entryBAddrHi1_return = 6 - .label entryTHi1_return = 6 - .label entryTLo1_return = 2 - .label n = 8 - //SEG489 initEntry::entryBufDisk1 - //SEG490 [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 - lda entryBufDisk1__0 - sta entryBufDisk1_return - lda entryBufDisk1__0+1 - sta entryBufDisk1_return+1 - //SEG491 initEntry::@1 - //SEG492 [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 - lda n + //SEG485 [205] phi from initEntry to initEntry::entryBufDisk1 [phi:initEntry->initEntry::entryBufDisk1] + //SEG486 initEntry::entryBufDisk1 + //SEG487 initEntry::@1 + //SEG488 [206] (word/signed word/dword/signed dword~) initEntry::$1 ← (word/signed word/dword/signed dword) $1111 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc #1 - //SEG493 [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 -- _deref_pptz1=_ptr_vbuaa - ldy #0 - sta (entryBufDisk1_return),y - tya - iny - sta (entryBufDisk1_return),y - //SEG494 initEntry::entryBufEdit1 - //SEG495 [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 - lda entryBufDisk1__0 - clc - adc #2 - sta entryBufEdit1__0 - lda entryBufDisk1__0+1 + adc #<$1111 + sta _1 + lda #>$1111 adc #0 - sta entryBufEdit1__0+1 - //SEG496 [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz1 - //SEG497 initEntry::@2 - //SEG498 [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuz1_plus_2 - lda n - clc - adc #2 - //SEG499 [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 -- _deref_pptz1=_ptr_vbuaa + sta _1+1 + //SEG489 [207] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$1 -- _deref_pptz1=_ptr_vwuz2 ldy #0 - sta (entryBufEdit1_return),y - tya + lda _1 + sta (entryBufDisk1__0),y iny - sta (entryBufEdit1_return),y - //SEG500 initEntry::entryTsLen1 - //SEG501 [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 - lda #4 + lda _1+1 + sta (entryBufDisk1__0),y + //SEG490 [208] phi from initEntry::@1 to initEntry::entryBufEdit1 [phi:initEntry::@1->initEntry::entryBufEdit1] + //SEG491 initEntry::entryBufEdit1 + //SEG492 initEntry::@2 + //SEG493 [209] (word/signed word/dword/signed dword~) initEntry::$3 ← (word/signed word/dword/signed dword) $2222 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc entryBufDisk1__0 - sta entryTsLen1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsLen1__0+1 - //SEG502 [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz1 - //SEG503 initEntry::@3 - //SEG504 [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuz1_plus_vbuc1 - lda #3 - clc - adc n - //SEG505 [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 -- _deref_pwuz1=vbuaa - ldy #0 - sta (entryTsLen1_return),y - tya + adc #<$2222 + sta _3 + lda #>$2222 + adc #0 + sta _3+1 + //SEG494 [210] *((byte**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2) ← ((byte*)) (word/signed word/dword/signed dword~) initEntry::$3 -- pptz1_derefidx_vbuc1=_ptr_vwuz2 + ldy #2 + lda _3 + sta (entryBufDisk1__0),y iny - sta (entryTsLen1_return),y - //SEG506 initEntry::entryTsOrder1 - //SEG507 [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 - lda #6 + lda _3+1 + sta (entryBufDisk1__0),y + //SEG495 [211] phi from initEntry::@2 to initEntry::entryTsLen1 [phi:initEntry::@2->initEntry::entryTsLen1] + //SEG496 initEntry::entryTsLen1 + //SEG497 initEntry::@3 + //SEG498 [212] (word/signed word/dword/signed dword~) initEntry::$5 ← (word/signed word/dword/signed dword) $3333 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc entryBufDisk1__0 - sta entryTsOrder1__0 - lda #0 - adc entryBufDisk1__0+1 - sta entryTsOrder1__0+1 - //SEG508 [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz1 - //SEG509 initEntry::@4 - //SEG510 [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_plus_vbuc1 - lda #4 - clc - adc n - //SEG511 [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 -- _deref_pptz1=_ptr_vbuaa - ldy #0 - sta (entryTsOrder1_return),y - tya + adc #<$3333 + sta _5 + lda #>$3333 + adc #0 + sta _5+1 + //SEG499 [213] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4) ← (word/signed word/dword/signed dword~) initEntry::$5 -- pwuz1_derefidx_vbuc1=vwuz2 + ldy #4 + lda _5 + sta (entryBufDisk1__0),y iny - sta (entryTsOrder1_return),y - //SEG512 initEntry::entryTLastLink1 - //SEG513 [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 - lda #8 + lda _5+1 + sta (entryBufDisk1__0),y + //SEG500 [214] phi from initEntry::@3 to initEntry::entryTsOrder1 [phi:initEntry::@3->initEntry::entryTsOrder1] + //SEG501 initEntry::entryTsOrder1 + //SEG502 initEntry::@4 + //SEG503 [215] (word/signed word/dword/signed dword~) initEntry::$7 ← (word/signed word/dword/signed dword) $4444 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc entryBufDisk1__0 - sta entryTLastLink1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryTLastLink1_return+1 - //SEG514 initEntry::@5 - //SEG515 [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 -- vbuaa=vbuz1_plus_vbuc1 - lda #5 - clc - adc n - //SEG516 [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryTLastLink1_return),y - //SEG517 initEntry::entrySLastLink1 - //SEG518 [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 - lda #9 - clc - adc entryBufDisk1__0 - sta entrySLastLink1_return - tya - adc entryBufDisk1__0+1 - sta entrySLastLink1_return+1 - //SEG519 initEntry::@6 - //SEG520 [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=vbuz1_plus_vbuc1 - lda #6 - clc - adc n - //SEG521 [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- _deref_pbuz1=vbuaa - sta (entrySLastLink1_return),y - //SEG522 initEntry::entryBFlag1 - //SEG523 [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 - lda #$a - clc - adc entryBufDisk1__0 - sta entryBFlag1_return - tya - adc entryBufDisk1__0+1 - sta entryBFlag1_return+1 - //SEG524 initEntry::@7 - //SEG525 [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuz1_plus_vbuc1 - lda #7 - clc - adc n - //SEG526 [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- _deref_pbuz1=vbuaa - sta (entryBFlag1_return),y - //SEG527 initEntry::entryBError1 - //SEG528 [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 - lda #$b - clc - adc entryBufDisk1__0 - sta entryBError1_return - tya - adc entryBufDisk1__0+1 - sta entryBError1_return+1 - //SEG529 initEntry::@8 - //SEG530 [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- vbuaa=vbuz1_plus_vbuc1 - lda #8 - clc - adc n - //SEG531 [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 -- _deref_pbuz1=vbuaa - sta (entryBError1_return),y - //SEG532 initEntry::entryUCross1 - //SEG533 [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 - lda #$c - clc - adc entryBufDisk1__0 - sta entryUCross1__0 - tya - adc entryBufDisk1__0+1 - sta entryUCross1__0+1 - //SEG534 [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz1 - //SEG535 initEntry::@9 - //SEG536 [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- vbuaa=vbuz1_plus_vbuc1 - lda #9 - clc - adc n - //SEG537 [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 -- _deref_pwuz1=vbuaa - sta (entryUCross1_return),y - tya + adc #<$4444 + sta _7 + lda #>$4444 + adc #0 + sta _7+1 + //SEG504 [216] *((word**)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6) ← ((word*)) (word/signed word/dword/signed dword~) initEntry::$7 -- pptz1_derefidx_vbuc1=_ptr_vwuz2 + ldy #6 + lda _7 + sta (entryBufDisk1__0),y iny - sta (entryUCross1_return),y - //SEG538 initEntry::entryBAddrLo1 - //SEG539 [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 - lda #$e + lda _7+1 + sta (entryBufDisk1__0),y + //SEG505 [217] phi from initEntry::@4 to initEntry::entryTLastLink1 [phi:initEntry::@4->initEntry::entryTLastLink1] + //SEG506 initEntry::entryTLastLink1 + //SEG507 initEntry::@5 + //SEG508 [218] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte/signed byte/word/signed word/dword/signed dword) $55 + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc entryBufDisk1__0 - sta entryBAddrLo1_return - lda #0 - adc entryBufDisk1__0+1 - sta entryBAddrLo1_return+1 - //SEG540 initEntry::@10 - //SEG541 [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuaa=vbuz1_plus_vbuc1 - lda #$a + adc #$55 + //SEG509 [219] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #8 + sta (entryBufDisk1__0),y + //SEG510 [220] phi from initEntry::@5 to initEntry::entrySLastLink1 [phi:initEntry::@5->initEntry::entrySLastLink1] + //SEG511 initEntry::entrySLastLink1 + //SEG512 initEntry::@6 + //SEG513 [221] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte/signed byte/word/signed word/dword/signed dword) $66 + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG542 [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryBAddrLo1_return),y - //SEG543 initEntry::entryBAddrHi1 - //SEG544 [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 - lda #$f + adc #$66 + //SEG514 [222] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #9 + sta (entryBufDisk1__0),y + //SEG515 [223] phi from initEntry::@6 to initEntry::entryBFlag1 [phi:initEntry::@6->initEntry::entryBFlag1] + //SEG516 initEntry::entryBFlag1 + //SEG517 initEntry::@7 + //SEG518 [224] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte/signed byte/word/signed word/dword/signed dword) $77 + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc entryBufDisk1__0 - sta entryBAddrHi1_return - tya - adc entryBufDisk1__0+1 - sta entryBAddrHi1_return+1 - //SEG545 initEntry::@11 - //SEG546 [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b -- vbuaa=vbuz1_plus_vbuc1 - lda #$b + adc #$77 + //SEG519 [225] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$a + sta (entryBufDisk1__0),y + //SEG520 [226] phi from initEntry::@7 to initEntry::entryBError1 [phi:initEntry::@7->initEntry::entryBError1] + //SEG521 initEntry::entryBError1 + //SEG522 initEntry::@8 + //SEG523 [227] (byte/word/signed word/dword/signed dword~) initEntry::$15 ← (byte/word/signed word/dword/signed dword) $88 + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG547 [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 -- _deref_pbuz1=vbuaa - sta (entryBAddrHi1_return),y - //SEG548 initEntry::entryTHi1 - //SEG549 [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 - lda #$10 + adc #$88 + //SEG524 [228] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b) ← (byte/word/signed word/dword/signed dword~) initEntry::$15 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$b + sta (entryBufDisk1__0),y + //SEG525 [229] phi from initEntry::@8 to initEntry::entryUCross1 [phi:initEntry::@8->initEntry::entryUCross1] + //SEG526 initEntry::entryUCross1 + //SEG527 initEntry::@9 + //SEG528 [230] (word/dword/signed dword~) initEntry::$17 ← (word/dword/signed dword) $9999 + (byte) initEntry::n#10 -- vwuz1=vwuc1_plus_vbuxx + txa clc - adc entryBufDisk1__0 - sta entryTHi1_return - tya - adc entryBufDisk1__0+1 - sta entryTHi1_return+1 - //SEG550 initEntry::@12 - //SEG551 [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c -- vbuaa=vbuz1_plus_vbuc1 - lda #$c + adc #<$9999 + sta _17 + lda #>$9999 + adc #0 + sta _17+1 + //SEG529 [231] *((word*)(byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c) ← (word/dword/signed dword~) initEntry::$17 -- pwuz1_derefidx_vbuc1=vwuz2 + ldy #$c + lda _17 + sta (entryBufDisk1__0),y + iny + lda _17+1 + sta (entryBufDisk1__0),y + //SEG530 [232] phi from initEntry::@9 to initEntry::entryBAddrLo1 [phi:initEntry::@9->initEntry::entryBAddrLo1] + //SEG531 initEntry::entryBAddrLo1 + //SEG532 initEntry::@10 + //SEG533 [233] (byte/word/signed word/dword/signed dword~) initEntry::$19 ← (byte/word/signed word/dword/signed dword) $aa + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG552 [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 -- _deref_pbuz1=vbuaa - sta (entryTHi1_return),y - //SEG553 initEntry::entryTLo1 - //SEG554 [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz1_plus_vbuc1 - lda #$11 + adc #$aa + //SEG534 [234] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e) ← (byte/word/signed word/dword/signed dword~) initEntry::$19 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$e + sta (entryBufDisk1__0),y + //SEG535 [235] phi from initEntry::@10 to initEntry::entryBAddrHi1 [phi:initEntry::@10->initEntry::entryBAddrHi1] + //SEG536 initEntry::entryBAddrHi1 + //SEG537 initEntry::@11 + //SEG538 [236] (byte/word/signed word/dword/signed dword~) initEntry::$21 ← (byte/word/signed word/dword/signed dword) $bb + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc entryTLo1_return - sta entryTLo1_return - bcc !+ - inc entryTLo1_return+1 - !: - //SEG555 initEntry::@13 - //SEG556 [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d -- vbuaa=vbuz1_plus_vbuc1 - lda #$d + adc #$bb + //SEG539 [237] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f) ← (byte/word/signed word/dword/signed dword~) initEntry::$21 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$f + sta (entryBufDisk1__0),y + //SEG540 [238] phi from initEntry::@11 to initEntry::entryTHi1 [phi:initEntry::@11->initEntry::entryTHi1] + //SEG541 initEntry::entryTHi1 + //SEG542 initEntry::@12 + //SEG543 [239] (byte/word/signed word/dword/signed dword~) initEntry::$23 ← (byte/word/signed word/dword/signed dword) $cc + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa clc - adc n - //SEG557 [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 -- _deref_pbuz1=vbuaa - ldy #0 - sta (entryTLo1_return),y - //SEG558 initEntry::@return - //SEG559 [252] return + adc #$cc + //SEG544 [240] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10) ← (byte/word/signed word/dword/signed dword~) initEntry::$23 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$10 + sta (entryBufDisk1__0),y + //SEG545 [241] phi from initEntry::@12 to initEntry::entryTLo1 [phi:initEntry::@12->initEntry::entryTLo1] + //SEG546 initEntry::entryTLo1 + //SEG547 initEntry::@13 + //SEG548 [242] (byte/word/signed word/dword/signed dword~) initEntry::$25 ← (byte/word/signed word/dword/signed dword) $dd + (byte) initEntry::n#10 -- vbuaa=vbuc1_plus_vbuxx + txa + clc + adc #$dd + //SEG549 [243] *((byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11) ← (byte/word/signed word/dword/signed dword~) initEntry::$25 -- pbuz1_derefidx_vbuc1=vbuaa + ldy #$11 + sta (entryBufDisk1__0),y + //SEG550 initEntry::@return + //SEG551 [244] return rts } -//SEG560 mul8u +//SEG552 mul8u // Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word // mul8u(byte register(X) a) mul8u: { .label mb = 2 - .label res = 9 - .label return = 9 - //SEG561 [254] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] - //SEG562 [254] phi (word) mul8u::mb#2 = ((word))(const byte) SIZEOF_ENTRY#0 [phi:mul8u->mul8u::@1#0] -- vwuz1=vbuc1 + .label res = 8 + .label return = 8 + //SEG553 [246] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + //SEG554 [246] phi (word) mul8u::mb#2 = ((word))(const byte) SIZEOF_ENTRY#0 [phi:mul8u->mul8u::@1#0] -- vwuz1=vbuc1 lda #SIZEOF_ENTRY sta mb lda #0 sta mb+1 - //SEG563 [254] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + //SEG555 [246] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 sta res sta res+1 - //SEG564 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy - //SEG565 mul8u::@1 + //SEG556 [246] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG557 mul8u::@1 b1: - //SEG566 [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 -- vbuxx_neq_0_then_la1 + //SEG558 [247] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 -- vbuxx_neq_0_then_la1 cpx #0 bne b2 - //SEG567 mul8u::@return - //SEG568 [256] return + //SEG559 mul8u::@return + //SEG560 [248] return rts - //SEG569 mul8u::@2 + //SEG561 mul8u::@2 b2: - //SEG570 [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_band_vbuc1 + //SEG562 [249] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_band_vbuc1 txa and #1 - //SEG571 [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 -- vbuaa_eq_0_then_la1 + //SEG563 [250] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 -- vbuaa_eq_0_then_la1 cmp #0 beq b3 - //SEG572 mul8u::@4 - //SEG573 [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 -- vwuz1=vwuz1_plus_vwuz2 + //SEG564 mul8u::@4 + //SEG565 [251] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 -- vwuz1=vwuz1_plus_vwuz2 lda res clc adc mb @@ -11385,36 +10624,36 @@ mul8u: { lda res+1 adc mb+1 sta res+1 - //SEG574 [260] phi from mul8u::@2 mul8u::@4 to mul8u::@3 [phi:mul8u::@2/mul8u::@4->mul8u::@3] - //SEG575 [260] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@4->mul8u::@3#0] -- register_copy - //SEG576 mul8u::@3 + //SEG566 [252] phi from mul8u::@2 mul8u::@4 to mul8u::@3 [phi:mul8u::@2/mul8u::@4->mul8u::@3] + //SEG567 [252] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@4->mul8u::@3#0] -- register_copy + //SEG568 mul8u::@3 b3: - //SEG577 [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_ror_1 + //SEG569 [253] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_ror_1 txa lsr tax - //SEG578 [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vwuz1=vwuz1_rol_1 + //SEG570 [254] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vwuz1=vwuz1_rol_1 asl mb rol mb+1 - //SEG579 [254] phi from mul8u::@3 to mul8u::@1 [phi:mul8u::@3->mul8u::@1] - //SEG580 [254] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@3->mul8u::@1#0] -- register_copy - //SEG581 [254] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@3->mul8u::@1#1] -- register_copy - //SEG582 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@3->mul8u::@1#2] -- register_copy + //SEG571 [246] phi from mul8u::@3 to mul8u::@1 [phi:mul8u::@3->mul8u::@1] + //SEG572 [246] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@3->mul8u::@1#0] -- register_copy + //SEG573 [246] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@3->mul8u::@1#1] -- register_copy + //SEG574 [246] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@3->mul8u::@1#2] -- register_copy jmp b1 } -//SEG583 keyboard_init +//SEG575 keyboard_init // Initialize keyboard reading by setting CIA#$ Data Direction Registers keyboard_init: { - //SEG584 [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 + //SEG576 [255] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Write Mode lda #$ff sta CIA1_PORT_A_DDR - //SEG585 [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + //SEG577 [256] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Read Mode lda #0 sta CIA1_PORT_B_DDR - //SEG586 keyboard_init::@return - //SEG587 [265] return + //SEG578 keyboard_init::@return + //SEG579 [257] return rts } print_hextab: .text "0123456789abcdef" diff --git a/src/test/ref/semi-struct-2.sym b/src/test/ref/semi-struct-2.sym index 3e8ab26a2..3a3ca6d77 100644 --- a/src/test/ref/semi-struct-2.sym +++ b/src/test/ref/semi-struct-2.sym @@ -18,18 +18,18 @@ (byte[((word))MAX_FILES#0*SIZEOF_ENTRY#0]) files (const byte[((word))MAX_FILES#0*SIZEOF_ENTRY#0]) files#0 files = { fill( ((word))MAX_FILES#0*SIZEOF_ENTRY#0, 0) } (void()) initEntry((byte*) initEntry::entry , (byte) initEntry::n) -(byte/signed word/word/dword/signed dword~) initEntry::$1 reg byte a 4.0 +(word/signed word/dword/signed dword~) initEntry::$1 $1 zp ZP_WORD:6 4.0 (byte/signed word/word/dword/signed dword~) initEntry::$11 reg byte a 4.0 (byte/signed word/word/dword/signed dword~) initEntry::$13 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$15 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$17 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$19 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$21 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$23 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$25 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$3 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$5 reg byte a 4.0 -(byte/signed word/word/dword/signed dword~) initEntry::$7 reg byte a 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$15 reg byte a 4.0 +(word/dword/signed dword~) initEntry::$17 $17 zp ZP_WORD:6 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$19 reg byte a 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$21 reg byte a 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$23 reg byte a 4.0 +(byte/word/signed word/dword/signed dword~) initEntry::$25 reg byte a 4.0 +(word/signed word/dword/signed dword~) initEntry::$3 $3 zp ZP_WORD:6 4.0 +(word/signed word/dword/signed dword~) initEntry::$5 $5 zp ZP_WORD:6 4.0 +(word/signed word/dword/signed dword~) initEntry::$7 $7 zp ZP_WORD:6 4.0 (byte/signed word/word/dword/signed dword~) initEntry::$9 reg byte a 4.0 (label) initEntry::@1 (label) initEntry::@10 @@ -52,79 +52,62 @@ (byte*~) initEntry::entryBAddrHi1_$0 (byte*) initEntry::entryBAddrHi1_entry (byte*) initEntry::entryBAddrHi1_return -(byte*) initEntry::entryBAddrHi1_return#0 entryBAddrHi1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBAddrLo1 (byte*~) initEntry::entryBAddrLo1_$0 (byte*) initEntry::entryBAddrLo1_entry (byte*) initEntry::entryBAddrLo1_return -(byte*) initEntry::entryBAddrLo1_return#0 entryBAddrLo1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBError1 (byte*~) initEntry::entryBError1_$0 (byte*) initEntry::entryBError1_entry (byte*) initEntry::entryBError1_return -(byte*) initEntry::entryBError1_return#0 entryBError1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBFlag1 (byte*~) initEntry::entryBFlag1_$0 (byte*) initEntry::entryBFlag1_entry (byte*) initEntry::entryBFlag1_return -(byte*) initEntry::entryBFlag1_return#0 entryBFlag1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBufDisk1 (byte*~) initEntry::entryBufDisk1_$0 -(byte*) initEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:2 0.7317073170731708 +(byte*) initEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:2 0.5128205128205128 (byte**~) initEntry::entryBufDisk1_$1 (byte*) initEntry::entryBufDisk1_entry (byte**) initEntry::entryBufDisk1_return -(byte**) initEntry::entryBufDisk1_return#0 entryBufDisk1_return zp ZP_WORD:6 2.0 (label) initEntry::entryBufEdit1 (byte*~) initEntry::entryBufEdit1_$0 -(byte*) initEntry::entryBufEdit1_$0#0 entryBufEdit1_$0 zp ZP_WORD:6 4.0 (byte**~) initEntry::entryBufEdit1_$1 (byte*) initEntry::entryBufEdit1_entry (byte**) initEntry::entryBufEdit1_return -(byte**) initEntry::entryBufEdit1_return#0 entryBufEdit1_return zp ZP_WORD:6 2.0 (label) initEntry::entrySLastLink1 (byte*~) initEntry::entrySLastLink1_$0 (byte*) initEntry::entrySLastLink1_entry (byte*) initEntry::entrySLastLink1_return -(byte*) initEntry::entrySLastLink1_return#0 entrySLastLink1_return zp ZP_WORD:6 2.0 (label) initEntry::entryTHi1 (byte*~) initEntry::entryTHi1_$0 (byte*) initEntry::entryTHi1_entry (byte*) initEntry::entryTHi1_return -(byte*) initEntry::entryTHi1_return#0 entryTHi1_return zp ZP_WORD:6 2.0 (label) initEntry::entryTLastLink1 (byte*~) initEntry::entryTLastLink1_$0 (byte*) initEntry::entryTLastLink1_entry (byte*) initEntry::entryTLastLink1_return -(byte*) initEntry::entryTLastLink1_return#0 entryTLastLink1_return zp ZP_WORD:6 2.0 (label) initEntry::entryTLo1 (byte*~) initEntry::entryTLo1_$0 (byte*) initEntry::entryTLo1_entry (byte*) initEntry::entryTLo1_return -(byte*) initEntry::entryTLo1_return#0 entryTLo1_return zp ZP_WORD:2 2.0 (label) initEntry::entryTsLen1 (byte*~) initEntry::entryTsLen1_$0 -(byte*) initEntry::entryTsLen1_$0#0 entryTsLen1_$0 zp ZP_WORD:6 4.0 (word*~) initEntry::entryTsLen1_$1 (byte*) initEntry::entryTsLen1_entry (word*) initEntry::entryTsLen1_return -(word*) initEntry::entryTsLen1_return#0 entryTsLen1_return zp ZP_WORD:6 2.0 (label) initEntry::entryTsOrder1 (byte*~) initEntry::entryTsOrder1_$0 -(byte*) initEntry::entryTsOrder1_$0#0 entryTsOrder1_$0 zp ZP_WORD:6 4.0 (word**~) initEntry::entryTsOrder1_$1 (byte*) initEntry::entryTsOrder1_entry (word**) initEntry::entryTsOrder1_return -(word**) initEntry::entryTsOrder1_return#0 entryTsOrder1_return zp ZP_WORD:6 2.0 (label) initEntry::entryUCross1 (byte*~) initEntry::entryUCross1_$0 -(byte*) initEntry::entryUCross1_$0#0 entryUCross1_$0 zp ZP_WORD:6 4.0 (word*~) initEntry::entryUCross1_$1 (byte*) initEntry::entryUCross1_entry (word*) initEntry::entryUCross1_return -(word*) initEntry::entryUCross1_return#0 entryUCross1_return zp ZP_WORD:6 2.0 (byte) initEntry::n -(byte) initEntry::n#10 n zp ZP_BYTE:8 0.6190476190476191 +(byte) initEntry::n#10 reg byte x 0.6842105263157894 (void()) keyboard_init() (label) keyboard_init::@return (byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key) @@ -181,7 +164,7 @@ (byte*) main::entry1 (byte*) main::entry1#0 entry1 zp ZP_WORD:4 0.3157894736842105 (byte*) main::entry2 -(byte*) main::entry2#0 entry2 zp ZP_WORD:9 0.17142857142857143 +(byte*) main::entry2#0 entry2 zp ZP_WORD:8 0.17142857142857143 (label) main::fileEntry1 (word~) main::fileEntry1_$0 (word) main::fileEntry1_$0#0 fileEntry1_$0 zp ZP_WORD:4 4.0 @@ -191,7 +174,7 @@ (byte*) main::fileEntry1_return (label) main::fileEntry2 (word~) main::fileEntry2_$0 -(word) main::fileEntry2_$0#0 fileEntry2_$0 zp ZP_WORD:9 4.0 +(word) main::fileEntry2_$0#0 fileEntry2_$0 zp ZP_WORD:8 4.0 (byte*~) main::fileEntry2_$1 (byte) main::fileEntry2_idx (const byte) main::fileEntry2_idx#0 fileEntry2_idx = (byte/signed byte/word/signed word/dword/signed dword) 2 @@ -215,12 +198,12 @@ (word) mul8u::mb#1 mb zp ZP_WORD:2 22.0 (word) mul8u::mb#2 mb zp ZP_WORD:2 4.714285714285714 (word) mul8u::res -(word) mul8u::res#1 res zp ZP_WORD:9 22.0 -(word) mul8u::res#2 res zp ZP_WORD:9 5.285714285714286 -(word) mul8u::res#6 res zp ZP_WORD:9 11.0 +(word) mul8u::res#1 res zp ZP_WORD:8 22.0 +(word) mul8u::res#2 res zp ZP_WORD:8 5.285714285714286 +(word) mul8u::res#6 res zp ZP_WORD:8 11.0 (word) mul8u::return -(word) mul8u::return#2 return zp ZP_WORD:9 4.0 -(word) mul8u::return#3 return zp ZP_WORD:9 4.0 +(word) mul8u::return#2 return zp ZP_WORD:8 4.0 +(word) mul8u::return#3 return zp ZP_WORD:8 4.0 (void()) printEntry((byte*) printEntry::entry) (label) printEntry::@1 (label) printEntry::@10 @@ -268,77 +251,60 @@ (byte*~) printEntry::entryBAddrHi1_$0 (byte*) printEntry::entryBAddrHi1_entry (byte*) printEntry::entryBAddrHi1_return -(byte*) printEntry::entryBAddrHi1_return#0 entryBAddrHi1_return zp ZP_WORD:2 4.0 (label) printEntry::entryBAddrLo1 (byte*~) printEntry::entryBAddrLo1_$0 (byte*) printEntry::entryBAddrLo1_entry (byte*) printEntry::entryBAddrLo1_return -(byte*) printEntry::entryBAddrLo1_return#0 entryBAddrLo1_return zp ZP_WORD:2 4.0 (label) printEntry::entryBError1 (byte*~) printEntry::entryBError1_$0 (byte*) printEntry::entryBError1_entry (byte*) printEntry::entryBError1_return -(byte*) printEntry::entryBError1_return#0 entryBError1_return zp ZP_WORD:2 4.0 (label) printEntry::entryBFlag1 (byte*~) printEntry::entryBFlag1_$0 (byte*) printEntry::entryBFlag1_entry (byte*) printEntry::entryBFlag1_return -(byte*) printEntry::entryBFlag1_return#0 entryBFlag1_return zp ZP_WORD:2 4.0 (label) printEntry::entryBufDisk1 (byte*~) printEntry::entryBufDisk1_$0 -(byte*) printEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:4 0.3296703296703296 +(byte*) printEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:4 0.22727272727272732 (byte**~) printEntry::entryBufDisk1_$1 (byte*) printEntry::entryBufDisk1_entry (byte**) printEntry::entryBufDisk1_return -(byte**) printEntry::entryBufDisk1_return#0 entryBufDisk1_return zp ZP_WORD:2 2.0 (label) printEntry::entryBufEdit1 (byte*~) printEntry::entryBufEdit1_$0 -(byte*) printEntry::entryBufEdit1_$0#0 entryBufEdit1_$0 zp ZP_WORD:2 4.0 (byte**~) printEntry::entryBufEdit1_$1 (byte*) printEntry::entryBufEdit1_entry (byte**) printEntry::entryBufEdit1_return -(byte**) printEntry::entryBufEdit1_return#0 entryBufEdit1_return zp ZP_WORD:2 2.0 (label) printEntry::entrySLastLink1 (byte*~) printEntry::entrySLastLink1_$0 (byte*) printEntry::entrySLastLink1_entry (byte*) printEntry::entrySLastLink1_return -(byte*) printEntry::entrySLastLink1_return#0 entrySLastLink1_return zp ZP_WORD:2 4.0 (label) printEntry::entryTHi1 (byte*~) printEntry::entryTHi1_$0 (byte*) printEntry::entryTHi1_entry (byte*) printEntry::entryTHi1_return -(byte*) printEntry::entryTHi1_return#0 entryTHi1_return zp ZP_WORD:2 4.0 (label) printEntry::entryTLastLink1 (byte*~) printEntry::entryTLastLink1_$0 (byte*) printEntry::entryTLastLink1_entry (byte*) printEntry::entryTLastLink1_return -(byte*) printEntry::entryTLastLink1_return#0 entryTLastLink1_return zp ZP_WORD:2 4.0 (label) printEntry::entryTLo1 (byte*~) printEntry::entryTLo1_$0 (byte*) printEntry::entryTLo1_entry (byte*) printEntry::entryTLo1_return -(byte*) printEntry::entryTLo1_return#0 entryTLo1_return zp ZP_WORD:4 4.0 (label) printEntry::entryTsLen1 (byte*~) printEntry::entryTsLen1_$0 -(byte*) printEntry::entryTsLen1_$0#0 entryTsLen1_$0 zp ZP_WORD:2 4.0 (word*~) printEntry::entryTsLen1_$1 (byte*) printEntry::entryTsLen1_entry (word*) printEntry::entryTsLen1_return -(word*) printEntry::entryTsLen1_return#0 entryTsLen1_return zp ZP_WORD:2 4.0 (label) printEntry::entryTsOrder1 (byte*~) printEntry::entryTsOrder1_$0 -(byte*) printEntry::entryTsOrder1_$0#0 entryTsOrder1_$0 zp ZP_WORD:2 4.0 (word**~) printEntry::entryTsOrder1_$1 (byte*) printEntry::entryTsOrder1_entry (word**) printEntry::entryTsOrder1_return -(word**) printEntry::entryTsOrder1_return#0 entryTsOrder1_return zp ZP_WORD:2 2.0 (label) printEntry::entryUCross1 (byte*~) printEntry::entryUCross1_$0 -(byte*) printEntry::entryUCross1_$0#0 entryUCross1_$0 zp ZP_WORD:2 4.0 (word*~) printEntry::entryUCross1_$1 (byte*) printEntry::entryUCross1_entry (word*) printEntry::entryUCross1_return -(word*) printEntry::entryUCross1_return#0 entryUCross1_return zp ZP_WORD:2 4.0 (const string) printEntry::str str = (string) "bufdisk @" (const string) printEntry::str1 str1 = (string) "bufedit @" (const string) printEntry::str10 str10 = (string) "baddrhi @" @@ -378,7 +344,7 @@ (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:6 11.0 (byte*) print_char_cursor#11 print_char_cursor zp ZP_WORD:6 0.8648648648648649 -(byte*) print_char_cursor#142 print_char_cursor zp ZP_WORD:6 1.0754716981132075 +(byte*) print_char_cursor#142 print_char_cursor zp ZP_WORD:6 1.1632653061224494 (byte*) print_char_cursor#143 print_char_cursor zp ZP_WORD:6 9.800000000000002 (byte*) print_char_cursor#145 print_char_cursor zp ZP_WORD:6 7.333333333333334 (byte*) print_char_cursor#164 print_char_cursor zp ZP_WORD:6 32.0 @@ -411,7 +377,7 @@ (byte[]) print_hextab (const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef" (byte*) print_line_cursor -(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:11 1.03960396039604 +(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:10 1.0824742268041243 (byte*~) print_line_cursor#159 print_line_cursor#159 zp ZP_WORD:2 2.0 (byte*~) print_line_cursor#160 print_line_cursor#160 zp ZP_WORD:2 2.0 (byte*~) print_line_cursor#161 print_line_cursor#161 zp ZP_WORD:2 2.0 @@ -456,14 +422,14 @@ (word~) print_word::w#7 w zp ZP_WORD:2 4.0 (word~) print_word::w#8 w zp ZP_WORD:2 4.0 -zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 printEntry::entryBAddrLo1_return#0 printEntry::entryBAddrHi1_return#0 printEntry::entryTHi1_return#0 ] -zp ZP_WORD:4 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 printEntry::entryTLo1_return#0 main::fileEntry1_$0#0 ] +zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 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#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 mul8u::mb#2 mul8u::mb#1 ] +zp ZP_WORD:4 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 main::fileEntry1_$0#0 ] reg byte x [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -zp ZP_WORD:6 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 initEntry::entryBAddrHi1_return#0 initEntry::entryTHi1_return#0 ] -zp ZP_BYTE:8 [ initEntry::n#10 ] +zp ZP_WORD:6 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 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#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::$1 initEntry::$3 initEntry::$5 initEntry::$7 initEntry::$17 ] +reg byte x [ initEntry::n#10 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] -zp ZP_WORD:9 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry2_$0#0 main::entry2#0 ] +zp ZP_WORD:8 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry2_$0#0 main::entry2#0 ] reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ main::$20 ] reg byte a [ keyboard_key_pressed::return#3 ] @@ -472,18 +438,13 @@ reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_key_pressed::$2 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_matrix_read::return#0 ] -zp ZP_WORD:11 [ print_line_cursor#1 ] +zp ZP_WORD:10 [ print_line_cursor#1 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ] -reg byte a [ initEntry::$1 ] -reg byte a [ initEntry::$3 ] -reg byte a [ initEntry::$5 ] -reg byte a [ initEntry::$7 ] reg byte a [ initEntry::$9 ] reg byte a [ initEntry::$11 ] reg byte a [ initEntry::$13 ] reg byte a [ initEntry::$15 ] -reg byte a [ initEntry::$17 ] reg byte a [ initEntry::$19 ] reg byte a [ initEntry::$21 ] reg byte a [ initEntry::$23 ] diff --git a/src/test/ref/signed-indexed-subtract.log b/src/test/ref/signed-indexed-subtract.log index a042a8e15..916869bc4 100644 --- a/src/test/ref/signed-indexed-subtract.log +++ b/src/test/ref/signed-indexed-subtract.log @@ -608,6 +608,7 @@ Culled Empty Block (label) @19 Culled Empty Block (label) main::@8 Culled Empty Block (label) @22 Successful SSA optimization Pass2CullEmptyBlocks +Eliminating unused constant (const byte) SIZEOF_SIGNED_WORD Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) print_char::ch#0 Inlining constant with var siblings (const byte*) print_cls::sc#0 diff --git a/src/test/ref/sinusgen16.log b/src/test/ref/sinusgen16.log index c24357ac8..141251ac6 100644 --- a/src/test/ref/sinusgen16.log +++ b/src/test/ref/sinusgen16.log @@ -1458,6 +1458,7 @@ Constant (const word) divr16u::divisor#1 = div32u16u::divisor#0 Successful SSA optimization Pass2ConstantIdentification Fixing inline constructor with div32u16u::$4 ← div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0 Successful SSA optimization Pass2FixInlineConstructors +Eliminating unused constant (const word) rem16u#0 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (signed word) sin16s::sinx#0 ← ((signed word)) (word) sin16s::usinx#1 Eliminating Noop Cast (signed word~) sin16s::$20 ← ((signed word)) (word) sin16s::usinx#1 diff --git a/src/test/ref/sinusgen16b.log b/src/test/ref/sinusgen16b.log index 5473f1f0e..6f9d16a44 100644 --- a/src/test/ref/sinusgen16b.log +++ b/src/test/ref/sinusgen16b.log @@ -1927,7 +1927,9 @@ Constant (const word) div32u16u::divisor#1 = sin16s_genb::wavelength#0 Successful SSA optimization Pass2ConstantIdentification Fixing inline constructor with div32u16u::$4 ← div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0 Successful SSA optimization Pass2FixInlineConstructors +Eliminating unused variable - keeping the phi block (word) rem16u#26 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const word) rem16u#0 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (signed word) sin16s::sinx#0 ← ((signed word)) (word) sin16s::usinx#1 Eliminating Noop Cast (signed word~) sin16s::$20 ← ((signed word)) (word) sin16s::usinx#1 diff --git a/src/test/ref/sinusgen8b.log b/src/test/ref/sinusgen8b.log index b6a6f87d5..afdfa9bea 100644 --- a/src/test/ref/sinusgen8b.log +++ b/src/test/ref/sinusgen8b.log @@ -2051,6 +2051,7 @@ Constant (const word) divr16u::divisor#2 = div32u16u::divisor#0 Successful SSA optimization Pass2ConstantIdentification Fixing inline constructor with div32u16u::$4 ← div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0 Successful SSA optimization Pass2FixInlineConstructors +Eliminating unused constant (const word) rem16u#0 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (signed word) sin16s::sinx#0 ← ((signed word)) (word) sin16s::usinx#1 Eliminating Noop Cast (signed word~) sin16s::$20 ← ((signed word)) (word) sin16s::usinx#1 diff --git a/src/test/ref/sizeof-expr.log b/src/test/ref/sizeof-expr.log index 4be212f88..49f81fa9e 100644 --- a/src/test/ref/sizeof-expr.log +++ b/src/test/ref/sizeof-expr.log @@ -271,6 +271,11 @@ Consolidated array index constant in *(SCREEN#0+main::idx#14) Consolidated array index constant in *(SCREEN#0+main::idx#15) Consolidated array index constant in *(SCREEN#0+main::idx#16) Successful SSA optimization Pass2ConstantAdditionElimination +Eliminating unused constant (const string) main::$34 +Eliminating unused constant (const string) main::$35 +Eliminating unused constant (const string) main::$36 +Eliminating unused constant (const string) main::$2 +Eliminating unused constant (const byte) main::idx#17 Successful SSA optimization PassNEliminateUnusedVars Rewriting multiplication to use shift (byte/signed word/word/dword/signed dword~) main::$10 ← (byte) main::b#0 * (byte/signed byte/word/signed word/dword/signed dword) 2 Successful SSA optimization Pass2MultiplyToShiftRewriting @@ -296,7 +301,17 @@ Constant (const byte) main::$12 = '0'+main::$11 Constant (const byte) main::$16 = '0'+main::$15 Successful SSA optimization Pass2ConstantIdentification Inferred type updated to byte in [5] (byte/signed word/word/dword/signed dword~) main::$10 ← (byte) main::b#0 << (byte/signed byte/word/signed word/dword/signed dword) 1 +Eliminating unused variable (byte~) main::$10 and assignment [5] (byte~) main::$10 ← (byte) main::b#0 << (byte/signed byte/word/signed word/dword/signed dword) 1 +Eliminating unused constant (const byte*) main::bp#0 +Eliminating unused constant (const word*) main::wp#0 +Eliminating unused constant (const byte[3]) main::ba#0 +Eliminating unused constant (const word[3]) main::wa#0 +Eliminating unused constant (const byte[]) main::bc#0 +Eliminating unused constant (const byte[]) main::sa#0 +Eliminating unused constant (const byte[]) main::sb#0 +Eliminating unused constant (const byte[main::$1]) main::bb#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const string) main::$33 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with different constant siblings (const byte) main::idx#0 Inlining constant with different constant siblings (const byte) main::idx#1 diff --git a/src/test/ref/sizeof-types.log b/src/test/ref/sizeof-types.log index bc8580aed..24501aebf 100644 --- a/src/test/ref/sizeof-types.log +++ b/src/test/ref/sizeof-types.log @@ -248,6 +248,7 @@ Consolidated array index constant in *(SCREEN#0+main::idx#22) Consolidated array index constant in *(SCREEN#0+main::idx#23) Consolidated array index constant in *(SCREEN#0+main::idx#24) Successful SSA optimization Pass2ConstantAdditionElimination +Eliminating unused constant (const byte) main::idx#25 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with different constant siblings (const byte) main::idx#0 Inlining constant with different constant siblings (const byte) main::idx#1 diff --git a/src/test/ref/strip.asm b/src/test/ref/strip.asm new file mode 100644 index 000000000..a72f65f16 --- /dev/null +++ b/src/test/ref/strip.asm @@ -0,0 +1,99 @@ +// Tests of strip() function from https://news.ycombinator.com/item?id=12080871 +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" + .label screen = 4 +main: { + ldx #' ' + lda #msg1 + sta strip.dest+1 + jsr strip + lda #<$400 + sta screen + lda #>$400 + sta screen+1 + lda #msg1 + sta print.msg+1 + jsr print + ldx #'y' + lda #msg2 + sta strip.dest+1 + jsr strip + lda #msg2 + sta print.msg+1 + jsr print + rts +} +// print(byte* zeropage(2) msg) +print: { + .label msg = 2 + b1: + ldy #0 + lda (msg),y + sta (screen),y + inc screen + bne !+ + inc screen+1 + !: + inc msg + bne !+ + inc msg+1 + !: + ldy #0 + lda (msg),y + cmp #0 + bne b1 + rts +} +// strip(byte* zeropage(8) p, byte register(X) c) +strip: { + .label dest = 6 + .label p = 8 + .label p_4 = 2 + .label p_7 = 2 + .label p_8 = 2 + lda dest + sta p_7 + lda dest+1 + sta p_7+1 + b1: + txa + ldy #0 + cmp (p_4),y + beq b2 + lda (p_4),y + sta (dest),y + inc dest + bne !+ + inc dest+1 + !: + b2: + lda p_4 + clc + adc #1 + sta p + lda p_4+1 + adc #0 + sta p+1 + ldy #0 + lda (p_4),y + cmp #0 + bne b4 + rts + b4: + lda p + sta p_8 + lda p+1 + sta p_8+1 + jmp b1 +} + msg1: .text "hello world!@" + msg2: .text "goodbye blue sky!@" diff --git a/src/test/ref/strip.cfg b/src/test/ref/strip.cfg new file mode 100644 index 000000000..79311a294 --- /dev/null +++ b/src/test/ref/strip.cfg @@ -0,0 +1,68 @@ +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + [5] call strip + to:main::@1 +main::@1: scope:[main] from main + [6] phi() + [7] call print + to:main::@2 +main::@2: scope:[main] from main::@1 + [8] phi() + [9] call strip + to:main::@3 +main::@3: scope:[main] from main::@2 + [10] phi() + [11] call print + to:main::@return +main::@return: scope:[main] from main::@3 + [12] return + to:@return +print: scope:[print] from main::@1 main::@3 + [13] (byte*) screen#15 ← phi( main::@1/((byte*))(word/signed word/dword/signed dword) $400 main::@3/(byte*) screen#11 ) + [13] (byte*) print::msg#4 ← phi( main::@1/(const byte[]) msg1#0 main::@3/(const byte[]) msg2#0 ) + to:print::@1 +print::@1: scope:[print] from print print::@1 + [14] (byte*) screen#10 ← phi( print/(byte*) screen#15 print::@1/(byte*) screen#11 ) + [14] (byte*) print::msg#3 ← phi( print/(byte*) print::msg#4 print::@1/(byte*) print::msg#2 ) + [15] *((byte*) screen#10) ← *((byte*) print::msg#3) + [16] (byte*) screen#11 ← ++ (byte*) screen#10 + [17] (byte*) print::msg#2 ← ++ (byte*) print::msg#3 + [18] if(*((byte*) print::msg#2)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print::@1 + to:print::@return +print::@return: scope:[print] from print::@1 + [19] return + to:@return +strip: scope:[strip] from main main::@2 + [20] (byte) strip::c#3 ← phi( main/(byte) ' ' main::@2/(byte) 'y' ) + [20] (byte*) strip::dest#0 ← phi( main/(const byte[]) msg1#0 main::@2/(const byte[]) msg2#0 ) + [21] (byte*~) strip::p#7 ← (byte*) strip::dest#0 + to:strip::@1 +strip::@1: scope:[strip] from strip strip::@4 + [22] (byte*) strip::dest#2 ← phi( strip/(byte*) strip::dest#0 strip::@4/(byte*) strip::dest#4 ) + [22] (byte*) strip::p#4 ← phi( strip/(byte*~) strip::p#7 strip::@4/(byte*~) strip::p#8 ) + [23] if(*((byte*) strip::p#4)==(byte) strip::c#3) goto strip::@2 + to:strip::@3 +strip::@3: scope:[strip] from strip::@1 + [24] *((byte*) strip::dest#2) ← *((byte*) strip::p#4) + [25] (byte*) strip::dest#1 ← ++ (byte*) strip::dest#2 + to:strip::@2 +strip::@2: scope:[strip] from strip::@1 strip::@3 + [26] (byte*) strip::dest#4 ← phi( strip::@1/(byte*) strip::dest#2 strip::@3/(byte*) strip::dest#1 ) + [27] (byte*) strip::p#2 ← ++ (byte*) strip::p#4 + [28] if(*((byte*) strip::p#4)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto strip::@4 + to:strip::@return +strip::@return: scope:[strip] from strip::@2 + [29] return + to:@return +strip::@4: scope:[strip] from strip::@2 + [30] (byte*~) strip::p#8 ← (byte*) strip::p#2 + to:strip::@1 diff --git a/src/test/ref/strip.log b/src/test/ref/strip.log new file mode 100644 index 000000000..9e42901df --- /dev/null +++ b/src/test/ref/strip.log @@ -0,0 +1,1126 @@ + +CONTROL FLOW GRAPH SSA +@begin: scope:[] from + (byte[]) msg1#0 ← (const string) $0 + (byte[]) msg2#0 ← (const string) $1 + to:@2 +main: scope:[main] from @3 + (byte*) screen#17 ← phi( @3/(byte*) screen#16 ) + (byte*) strip::p#0 ← (byte[]) msg1#0 + (byte) strip::c#0 ← (byte) ' ' + call strip + to:main::@1 +main::@1: scope:[main] from main + (byte*) screen#13 ← phi( main/(byte*) screen#17 ) + (byte*) print::msg#0 ← (byte[]) msg1#0 + call print + to:main::@2 +main::@2: scope:[main] from main::@1 + (byte*) screen#7 ← phi( main::@1/(byte*) screen#5 ) + (byte*) screen#0 ← (byte*) screen#7 + (byte*) strip::p#1 ← (byte[]) msg2#0 + (byte) strip::c#1 ← (byte) 'y' + call strip + to:main::@3 +main::@3: scope:[main] from main::@2 + (byte*) screen#14 ← phi( main::@2/(byte*) screen#0 ) + (byte*) print::msg#1 ← (byte[]) msg2#0 + call print + to:main::@4 +main::@4: scope:[main] from main::@3 + (byte*) screen#8 ← phi( main::@3/(byte*) screen#5 ) + (byte*) screen#1 ← (byte*) screen#8 + to:main::@return +main::@return: scope:[main] from main::@4 + (byte*) screen#9 ← phi( main::@4/(byte*) screen#1 ) + (byte*) screen#2 ← (byte*) screen#9 + return + to:@return +strip: scope:[strip] from main main::@2 + (byte) strip::c#3 ← phi( main/(byte) strip::c#0 main::@2/(byte) strip::c#1 ) + (byte*) strip::p#3 ← phi( main/(byte*) strip::p#0 main::@2/(byte*) strip::p#1 ) + (byte*) strip::dest#0 ← (byte*) strip::p#3 + to:strip::@1 +strip::@1: scope:[strip] from strip strip::@2 + (byte*) strip::dest#3 ← phi( strip/(byte*) strip::dest#0 strip::@2/(byte*) strip::dest#4 ) + (byte) strip::c#2 ← phi( strip/(byte) strip::c#3 strip::@2/(byte) strip::c#4 ) + (byte*) strip::p#4 ← phi( strip/(byte*) strip::p#3 strip::@2/(byte*) strip::p#2 ) + (bool~) strip::$0 ← *((byte*) strip::p#4) != (byte) strip::c#2 + (bool~) strip::$1 ← ! (bool~) strip::$0 + if((bool~) strip::$1) goto strip::@2 + to:strip::@3 +strip::@2: scope:[strip] from strip::@1 strip::@3 + (byte*) strip::dest#4 ← phi( strip::@1/(byte*) strip::dest#3 strip::@3/(byte*) strip::dest#1 ) + (byte) strip::c#4 ← phi( strip::@1/(byte) strip::c#2 strip::@3/(byte) strip::c#5 ) + (byte*) strip::p#5 ← phi( strip::@1/(byte*) strip::p#4 strip::@3/(byte*) strip::p#6 ) + (bool~) strip::$2 ← *((byte*) strip::p#5) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*) strip::p#2 ← ++ (byte*) strip::p#5 + if((bool~) strip::$2) goto strip::@1 + to:strip::@return +strip::@3: scope:[strip] from strip::@1 + (byte) strip::c#5 ← phi( strip::@1/(byte) strip::c#2 ) + (byte*) strip::dest#2 ← phi( strip::@1/(byte*) strip::dest#3 ) + (byte*) strip::p#6 ← phi( strip::@1/(byte*) strip::p#4 ) + *((byte*) strip::dest#2) ← *((byte*) strip::p#6) + (byte*) strip::dest#1 ← ++ (byte*) strip::dest#2 + to:strip::@2 +strip::@return: scope:[strip] from strip::@2 + return + to:@return +@2: scope:[] from @begin + (byte*) screen#3 ← ((byte*)) (word/signed word/dword/signed dword) $400 + to:@3 +print: scope:[print] from main::@1 main::@3 + (byte*) screen#15 ← phi( main::@1/(byte*) screen#13 main::@3/(byte*) screen#14 ) + (byte*) print::msg#4 ← phi( main::@1/(byte*) print::msg#0 main::@3/(byte*) print::msg#1 ) + to:print::@1 +print::@1: scope:[print] from print print::@1 + (byte*) screen#10 ← phi( print/(byte*) screen#15 print::@1/(byte*) screen#4 ) + (byte*) print::msg#3 ← phi( print/(byte*) print::msg#4 print::@1/(byte*) print::msg#2 ) + *((byte*) screen#10) ← *((byte*) print::msg#3) + (byte*) screen#4 ← ++ (byte*) screen#10 + (byte*) print::msg#2 ← ++ (byte*) print::msg#3 + (bool~) print::$0 ← *((byte*) print::msg#2) != (byte/signed byte/word/signed word/dword/signed dword) 0 + if((bool~) print::$0) goto print::@1 + to:print::@return +print::@return: scope:[print] from print::@1 + (byte*) screen#11 ← phi( print::@1/(byte*) screen#4 ) + (byte*) screen#5 ← (byte*) screen#11 + return + to:@return +@3: scope:[] from @2 + (byte*) screen#16 ← phi( @2/(byte*) screen#3 ) + call main + to:@4 +@4: scope:[] from @3 + (byte*) screen#12 ← phi( @3/(byte*) screen#2 ) + (byte*) screen#6 ← (byte*) screen#12 + to:@end +@end: scope:[] from @4 + +SYMBOL TABLE SSA +(const string) $0 = (string) "hello world!@" +(const string) $1 = (string) "goodbye blue sky!@" +(label) @2 +(label) @3 +(label) @4 +(label) @begin +(label) @end +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@3 +(label) main::@4 +(label) main::@return +(byte[]) msg1 +(byte[]) msg1#0 +(byte[]) msg2 +(byte[]) msg2#0 +(void()) print((byte*) print::msg) +(bool~) print::$0 +(label) print::@1 +(label) print::@return +(byte*) print::msg +(byte*) print::msg#0 +(byte*) print::msg#1 +(byte*) print::msg#2 +(byte*) print::msg#3 +(byte*) print::msg#4 +(byte*) screen +(byte*) screen#0 +(byte*) screen#1 +(byte*) screen#10 +(byte*) screen#11 +(byte*) screen#12 +(byte*) screen#13 +(byte*) screen#14 +(byte*) screen#15 +(byte*) screen#16 +(byte*) screen#17 +(byte*) screen#2 +(byte*) screen#3 +(byte*) screen#4 +(byte*) screen#5 +(byte*) screen#6 +(byte*) screen#7 +(byte*) screen#8 +(byte*) screen#9 +(void()) strip((byte*) strip::p , (byte) strip::c) +(bool~) strip::$0 +(bool~) strip::$1 +(bool~) strip::$2 +(label) strip::@1 +(label) strip::@2 +(label) strip::@3 +(label) strip::@return +(byte) strip::c +(byte) strip::c#0 +(byte) strip::c#1 +(byte) strip::c#2 +(byte) strip::c#3 +(byte) strip::c#4 +(byte) strip::c#5 +(byte*) strip::dest +(byte*) strip::dest#0 +(byte*) strip::dest#1 +(byte*) strip::dest#2 +(byte*) strip::dest#3 +(byte*) strip::dest#4 +(byte*) strip::p +(byte*) strip::p#0 +(byte*) strip::p#1 +(byte*) strip::p#2 +(byte*) strip::p#3 +(byte*) strip::p#4 +(byte*) strip::p#5 +(byte*) strip::p#6 + +Inversing boolean not [26] (bool~) strip::$1 ← *((byte*) strip::p#4) == (byte) strip::c#2 from [25] (bool~) strip::$0 ← *((byte*) strip::p#4) != (byte) strip::c#2 +Successful SSA optimization Pass2UnaryNotSimplification +Alias (byte*) screen#13 = (byte*) screen#17 +Alias (byte*) screen#0 = (byte*) screen#7 (byte*) screen#14 +Alias (byte*) screen#1 = (byte*) screen#8 (byte*) screen#9 (byte*) screen#2 +Alias (byte*) strip::dest#0 = (byte*) strip::p#3 +Alias (byte*) strip::p#4 = (byte*) strip::p#6 +Alias (byte*) strip::dest#2 = (byte*) strip::dest#3 +Alias (byte) strip::c#2 = (byte) strip::c#5 +Alias (byte*) screen#11 = (byte*) screen#4 (byte*) screen#5 +Alias (byte*) screen#16 = (byte*) screen#3 +Alias (byte*) screen#12 = (byte*) screen#6 +Successful SSA optimization Pass2AliasElimination +Alias (byte*) strip::p#4 = (byte*) strip::p#5 +Alias (byte) strip::c#2 = (byte) strip::c#4 +Successful SSA optimization Pass2AliasElimination +Self Phi Eliminated (byte) strip::c#2 +Successful SSA optimization Pass2SelfPhiElimination +Redundant Phi (byte*) screen#13 (byte*) screen#16 +Redundant Phi (byte*) screen#0 (byte*) screen#11 +Redundant Phi (byte*) screen#1 (byte*) screen#11 +Redundant Phi (byte) strip::c#2 (byte) strip::c#3 +Redundant Phi (byte*) screen#12 (byte*) screen#1 +Successful SSA optimization Pass2RedundantPhiElimination +Simple Condition (bool~) strip::$1 [27] if(*((byte*) strip::p#4)==(byte) strip::c#3) goto strip::@2 +Simple Condition (bool~) strip::$2 [31] if(*((byte*) strip::p#4)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto strip::@1 +Simple Condition (bool~) print::$0 [43] if(*((byte*) print::msg#2)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print::@1 +Successful SSA optimization Pass2ConditionalJumpSimplification +Constant (const byte[]) msg1#0 = $0 +Constant (const byte[]) msg2#0 = $1 +Constant (const byte) strip::c#0 = ' ' +Constant (const byte) strip::c#1 = 'y' +Constant (const byte*) screen#16 = ((byte*))$400 +Successful SSA optimization Pass2ConstantIdentification +Constant (const byte*) strip::p#0 = msg1#0 +Constant (const byte*) print::msg#0 = msg1#0 +Constant (const byte*) strip::p#1 = msg2#0 +Constant (const byte*) print::msg#1 = msg2#0 +Successful SSA optimization Pass2ConstantIdentification +Culled Empty Block (label) main::@4 +Culled Empty Block (label) @2 +Culled Empty Block (label) @4 +Successful SSA optimization Pass2CullEmptyBlocks +Inlining constant with var siblings (const byte) strip::c#0 +Inlining constant with var siblings (const byte) strip::c#1 +Inlining constant with var siblings (const byte*) strip::p#0 +Inlining constant with var siblings (const byte*) strip::p#1 +Inlining constant with var siblings (const byte*) print::msg#0 +Inlining constant with var siblings (const byte*) print::msg#1 +Inlining constant with var siblings (const byte*) screen#16 +Constant inlined strip::p#0 = (const byte[]) msg1#0 +Constant inlined print::msg#1 = (const byte[]) msg2#0 +Constant inlined strip::p#1 = (const byte[]) msg2#0 +Constant inlined print::msg#0 = (const byte[]) msg1#0 +Constant inlined strip::c#0 = (byte) ' ' +Constant inlined strip::c#1 = (byte) 'y' +Constant inlined $0 = (const byte[]) msg1#0 +Constant inlined $1 = (const byte[]) msg2#0 +Constant inlined screen#16 = ((byte*))(word/signed word/dword/signed dword) $400 +Successful SSA optimization Pass2ConstantInlining +Added new block during phi lifting print::@3(between print::@1 and print::@1) +Added new block during phi lifting strip::@5(between strip::@2 and strip::@1) +Added new block during phi lifting strip::@6(between strip::@1 and strip::@2) +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @3 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::@1 +Adding NOP phi() at start of main::@2 +CALL GRAPH +Calls in [] to main:2 +Calls in [main] to strip:5 print:7 strip:9 print:11 + +Created 9 initial phi equivalence classes +Coalesced [10] screen#18 ← screen#11 +Coalesced [14] print::msg#5 ← print::msg#4 +Coalesced [15] screen#19 ← screen#15 +Coalesced [22] print::msg#6 ← print::msg#2 +Coalesced (already) [23] screen#20 ← screen#11 +Not coalescing [25] strip::p#7 ← strip::dest#0 +Coalesced [26] strip::dest#5 ← strip::dest#0 +Coalesced [31] strip::dest#8 ← strip::dest#1 +Not coalescing [36] strip::p#8 ← strip::p#2 +Coalesced [37] strip::dest#6 ← strip::dest#4 +Coalesced (already) [38] strip::dest#7 ← strip::dest#2 +Coalesced down to 6 phi equivalence classes +Culled Empty Block (label) print::@3 +Culled Empty Block (label) strip::@6 +Renumbering block @3 to @1 +Renumbering block strip::@5 to strip::@4 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @1 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::@1 +Adding NOP phi() at start of main::@2 +Adding NOP phi() at start of main::@3 + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + [5] call strip + to:main::@1 +main::@1: scope:[main] from main + [6] phi() + [7] call print + to:main::@2 +main::@2: scope:[main] from main::@1 + [8] phi() + [9] call strip + to:main::@3 +main::@3: scope:[main] from main::@2 + [10] phi() + [11] call print + to:main::@return +main::@return: scope:[main] from main::@3 + [12] return + to:@return +print: scope:[print] from main::@1 main::@3 + [13] (byte*) screen#15 ← phi( main::@1/((byte*))(word/signed word/dword/signed dword) $400 main::@3/(byte*) screen#11 ) + [13] (byte*) print::msg#4 ← phi( main::@1/(const byte[]) msg1#0 main::@3/(const byte[]) msg2#0 ) + to:print::@1 +print::@1: scope:[print] from print print::@1 + [14] (byte*) screen#10 ← phi( print/(byte*) screen#15 print::@1/(byte*) screen#11 ) + [14] (byte*) print::msg#3 ← phi( print/(byte*) print::msg#4 print::@1/(byte*) print::msg#2 ) + [15] *((byte*) screen#10) ← *((byte*) print::msg#3) + [16] (byte*) screen#11 ← ++ (byte*) screen#10 + [17] (byte*) print::msg#2 ← ++ (byte*) print::msg#3 + [18] if(*((byte*) print::msg#2)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print::@1 + to:print::@return +print::@return: scope:[print] from print::@1 + [19] return + to:@return +strip: scope:[strip] from main main::@2 + [20] (byte) strip::c#3 ← phi( main/(byte) ' ' main::@2/(byte) 'y' ) + [20] (byte*) strip::dest#0 ← phi( main/(const byte[]) msg1#0 main::@2/(const byte[]) msg2#0 ) + [21] (byte*~) strip::p#7 ← (byte*) strip::dest#0 + to:strip::@1 +strip::@1: scope:[strip] from strip strip::@4 + [22] (byte*) strip::dest#2 ← phi( strip/(byte*) strip::dest#0 strip::@4/(byte*) strip::dest#4 ) + [22] (byte*) strip::p#4 ← phi( strip/(byte*~) strip::p#7 strip::@4/(byte*~) strip::p#8 ) + [23] if(*((byte*) strip::p#4)==(byte) strip::c#3) goto strip::@2 + to:strip::@3 +strip::@3: scope:[strip] from strip::@1 + [24] *((byte*) strip::dest#2) ← *((byte*) strip::p#4) + [25] (byte*) strip::dest#1 ← ++ (byte*) strip::dest#2 + to:strip::@2 +strip::@2: scope:[strip] from strip::@1 strip::@3 + [26] (byte*) strip::dest#4 ← phi( strip::@1/(byte*) strip::dest#2 strip::@3/(byte*) strip::dest#1 ) + [27] (byte*) strip::p#2 ← ++ (byte*) strip::p#4 + [28] if(*((byte*) strip::p#4)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto strip::@4 + to:strip::@return +strip::@return: scope:[strip] from strip::@2 + [29] return + to:@return +strip::@4: scope:[strip] from strip::@2 + [30] (byte*~) strip::p#8 ← (byte*) strip::p#2 + to:strip::@1 + + +VARIABLE REGISTER WEIGHTS +(void()) main() +(byte[]) msg1 +(byte[]) msg2 +(void()) print((byte*) print::msg) +(byte*) print::msg +(byte*) print::msg#2 16.5 +(byte*) print::msg#3 11.666666666666666 +(byte*) print::msg#4 2.0 +(byte*) screen +(byte*) screen#10 17.5 +(byte*) screen#11 3.0 +(byte*) screen#15 4.0 +(void()) strip((byte*) strip::p , (byte) strip::c) +(byte) strip::c +(byte) strip::c#3 1.1 +(byte*) strip::dest +(byte*) strip::dest#0 2.0 +(byte*) strip::dest#1 22.0 +(byte*) strip::dest#2 15.333333333333332 +(byte*) strip::dest#4 8.25 +(byte*) strip::p +(byte*) strip::p#2 11.0 +(byte*) strip::p#4 9.5 +(byte*~) strip::p#7 4.0 +(byte*~) strip::p#8 22.0 + +Initial phi equivalence classes +[ print::msg#3 print::msg#4 print::msg#2 ] +[ screen#10 screen#15 screen#11 ] +[ strip::c#3 ] +[ strip::p#4 strip::p#7 strip::p#8 ] +[ strip::dest#2 strip::dest#0 strip::dest#4 strip::dest#1 ] +Added variable strip::p#2 to zero page equivalence class [ strip::p#2 ] +Complete equivalence classes +[ print::msg#3 print::msg#4 print::msg#2 ] +[ screen#10 screen#15 screen#11 ] +[ strip::c#3 ] +[ strip::p#4 strip::p#7 strip::p#8 ] +[ strip::dest#2 strip::dest#0 strip::dest#4 strip::dest#1 ] +[ strip::p#2 ] +Allocated zp ZP_WORD:2 [ print::msg#3 print::msg#4 print::msg#2 ] +Allocated zp ZP_WORD:4 [ screen#10 screen#15 screen#11 ] +Allocated zp ZP_BYTE:6 [ strip::c#3 ] +Allocated zp ZP_WORD:7 [ strip::p#4 strip::p#7 strip::p#8 ] +Allocated zp ZP_WORD:9 [ strip::dest#2 strip::dest#0 strip::dest#4 strip::dest#1 ] +Allocated zp ZP_WORD:11 [ strip::p#2 ] + +INITIAL ASM +//SEG0 File Comments +// Tests of strip() function from https://news.ycombinator.com/item?id=12080871 +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels + .label screen = 4 +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +main: { + //SEG11 [5] call strip + //SEG12 [20] phi from main to strip [phi:main->strip] + strip_from_main: + //SEG13 [20] phi (byte) strip::c#3 = (byte) ' ' [phi:main->strip#0] -- vbuz1=vbuc1 + lda #' ' + sta strip.c + //SEG14 [20] phi (byte*) strip::dest#0 = (const byte[]) msg1#0 [phi:main->strip#1] -- pbuz1=pbuc1 + lda #msg1 + sta strip.dest+1 + jsr strip + //SEG15 [6] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + jmp b1 + //SEG16 main::@1 + b1: + //SEG17 [7] call print + //SEG18 [13] phi from main::@1 to print [phi:main::@1->print] + print_from_b1: + //SEG19 [13] phi (byte*) screen#15 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@1->print#0] -- pbuz1=pbuc1 + lda #<$400 + sta screen + lda #>$400 + sta screen+1 + //SEG20 [13] phi (byte*) print::msg#4 = (const byte[]) msg1#0 [phi:main::@1->print#1] -- pbuz1=pbuc1 + lda #msg1 + sta print.msg+1 + jsr print + //SEG21 [8] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + b2_from_b1: + jmp b2 + //SEG22 main::@2 + b2: + //SEG23 [9] call strip + //SEG24 [20] phi from main::@2 to strip [phi:main::@2->strip] + strip_from_b2: + //SEG25 [20] phi (byte) strip::c#3 = (byte) 'y' [phi:main::@2->strip#0] -- vbuz1=vbuc1 + lda #'y' + sta strip.c + //SEG26 [20] phi (byte*) strip::dest#0 = (const byte[]) msg2#0 [phi:main::@2->strip#1] -- pbuz1=pbuc1 + lda #msg2 + sta strip.dest+1 + jsr strip + //SEG27 [10] phi from main::@2 to main::@3 [phi:main::@2->main::@3] + b3_from_b2: + jmp b3 + //SEG28 main::@3 + b3: + //SEG29 [11] call print + //SEG30 [13] phi from main::@3 to print [phi:main::@3->print] + print_from_b3: + //SEG31 [13] phi (byte*) screen#15 = (byte*) screen#11 [phi:main::@3->print#0] -- register_copy + //SEG32 [13] phi (byte*) print::msg#4 = (const byte[]) msg2#0 [phi:main::@3->print#1] -- pbuz1=pbuc1 + lda #msg2 + sta print.msg+1 + jsr print + jmp breturn + //SEG33 main::@return + breturn: + //SEG34 [12] return + rts +} +//SEG35 print +// print(byte* zeropage(2) msg) +print: { + .label msg = 2 + //SEG36 [14] phi from print print::@1 to print::@1 [phi:print/print::@1->print::@1] + b1_from_print: + b1_from_b1: + //SEG37 [14] phi (byte*) screen#10 = (byte*) screen#15 [phi:print/print::@1->print::@1#0] -- register_copy + //SEG38 [14] phi (byte*) print::msg#3 = (byte*) print::msg#4 [phi:print/print::@1->print::@1#1] -- register_copy + jmp b1 + //SEG39 print::@1 + b1: + //SEG40 [15] *((byte*) screen#10) ← *((byte*) print::msg#3) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (msg),y + ldy #0 + sta (screen),y + //SEG41 [16] (byte*) screen#11 ← ++ (byte*) screen#10 -- pbuz1=_inc_pbuz1 + inc screen + bne !+ + inc screen+1 + !: + //SEG42 [17] (byte*) print::msg#2 ← ++ (byte*) print::msg#3 -- pbuz1=_inc_pbuz1 + inc msg + bne !+ + inc msg+1 + !: + //SEG43 [18] if(*((byte*) print::msg#2)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print::@1 -- _deref_pbuz1_neq_0_then_la1 + ldy #0 + lda (msg),y + cmp #0 + bne b1_from_b1 + jmp breturn + //SEG44 print::@return + breturn: + //SEG45 [19] return + rts +} +//SEG46 strip +// strip(byte* zeropage($b) p, byte zeropage(6) c) +strip: { + .label dest = 9 + .label p = $b + .label p_4 = 7 + .label c = 6 + .label p_7 = 7 + .label p_8 = 7 + //SEG47 [21] (byte*~) strip::p#7 ← (byte*) strip::dest#0 -- pbuz1=pbuz2 + lda dest + sta p_7 + lda dest+1 + sta p_7+1 + //SEG48 [22] phi from strip strip::@4 to strip::@1 [phi:strip/strip::@4->strip::@1] + b1_from_strip: + b1_from_b4: + //SEG49 [22] phi (byte*) strip::dest#2 = (byte*) strip::dest#0 [phi:strip/strip::@4->strip::@1#0] -- register_copy + //SEG50 [22] phi (byte*) strip::p#4 = (byte*~) strip::p#7 [phi:strip/strip::@4->strip::@1#1] -- register_copy + jmp b1 + //SEG51 strip::@1 + b1: + //SEG52 [23] if(*((byte*) strip::p#4)==(byte) strip::c#3) goto strip::@2 -- _deref_pbuz1_eq_vbuz2_then_la1 + lda c + ldy #0 + cmp (p_4),y + beq b2_from_b1 + jmp b3 + //SEG53 strip::@3 + b3: + //SEG54 [24] *((byte*) strip::dest#2) ← *((byte*) strip::p#4) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (p_4),y + ldy #0 + sta (dest),y + //SEG55 [25] (byte*) strip::dest#1 ← ++ (byte*) strip::dest#2 -- pbuz1=_inc_pbuz1 + inc dest + bne !+ + inc dest+1 + !: + //SEG56 [26] phi from strip::@1 strip::@3 to strip::@2 [phi:strip::@1/strip::@3->strip::@2] + b2_from_b1: + b2_from_b3: + //SEG57 [26] phi (byte*) strip::dest#4 = (byte*) strip::dest#2 [phi:strip::@1/strip::@3->strip::@2#0] -- register_copy + jmp b2 + //SEG58 strip::@2 + b2: + //SEG59 [27] (byte*) strip::p#2 ← ++ (byte*) strip::p#4 -- pbuz1=_inc_pbuz2 + lda p_4 + clc + adc #1 + sta p + lda p_4+1 + adc #0 + sta p+1 + //SEG60 [28] if(*((byte*) strip::p#4)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto strip::@4 -- _deref_pbuz1_neq_0_then_la1 + ldy #0 + lda (p_4),y + cmp #0 + bne b4 + jmp breturn + //SEG61 strip::@return + breturn: + //SEG62 [29] return + rts + //SEG63 strip::@4 + b4: + //SEG64 [30] (byte*~) strip::p#8 ← (byte*) strip::p#2 -- pbuz1=pbuz2 + lda p + sta p_8 + lda p+1 + sta p_8+1 + jmp b1_from_b4 +} + msg1: .text "hello world!@" + msg2: .text "goodbye blue sky!@" + +REGISTER UPLIFT POTENTIAL REGISTERS +Statement [15] *((byte*) screen#10) ← *((byte*) print::msg#3) [ print::msg#3 screen#10 ] ( main:2::print:7 [ print::msg#3 screen#10 ] main:2::print:11 [ print::msg#3 screen#10 ] ) always clobbers reg byte a reg byte y +Statement [18] if(*((byte*) print::msg#2)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print::@1 [ screen#11 print::msg#2 ] ( main:2::print:7 [ screen#11 print::msg#2 ] main:2::print:11 [ screen#11 print::msg#2 ] ) always clobbers reg byte a reg byte y +Statement [21] (byte*~) strip::p#7 ← (byte*) strip::dest#0 [ strip::dest#0 strip::c#3 strip::p#7 ] ( main:2::strip:5 [ strip::dest#0 strip::c#3 strip::p#7 ] main:2::strip:9 [ screen#11 strip::dest#0 strip::c#3 strip::p#7 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ strip::c#3 ] +Statement [23] if(*((byte*) strip::p#4)==(byte) strip::c#3) goto strip::@2 [ strip::c#3 strip::p#4 strip::dest#2 ] ( main:2::strip:5 [ strip::c#3 strip::p#4 strip::dest#2 ] main:2::strip:9 [ screen#11 strip::c#3 strip::p#4 strip::dest#2 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:6 [ strip::c#3 ] +Statement [24] *((byte*) strip::dest#2) ← *((byte*) strip::p#4) [ strip::c#3 strip::p#4 strip::dest#2 ] ( main:2::strip:5 [ strip::c#3 strip::p#4 strip::dest#2 ] main:2::strip:9 [ screen#11 strip::c#3 strip::p#4 strip::dest#2 ] ) always clobbers reg byte a reg byte y +Statement [27] (byte*) strip::p#2 ← ++ (byte*) strip::p#4 [ strip::c#3 strip::p#4 strip::dest#4 strip::p#2 ] ( main:2::strip:5 [ strip::c#3 strip::p#4 strip::dest#4 strip::p#2 ] main:2::strip:9 [ screen#11 strip::c#3 strip::p#4 strip::dest#4 strip::p#2 ] ) always clobbers reg byte a +Statement [28] if(*((byte*) strip::p#4)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto strip::@4 [ strip::c#3 strip::dest#4 strip::p#2 ] ( main:2::strip:5 [ strip::c#3 strip::dest#4 strip::p#2 ] main:2::strip:9 [ screen#11 strip::c#3 strip::dest#4 strip::p#2 ] ) always clobbers reg byte a reg byte y +Statement [30] (byte*~) strip::p#8 ← (byte*) strip::p#2 [ strip::c#3 strip::p#8 strip::dest#4 ] ( main:2::strip:5 [ strip::c#3 strip::p#8 strip::dest#4 ] main:2::strip:9 [ screen#11 strip::c#3 strip::p#8 strip::dest#4 ] ) always clobbers reg byte a +Statement [15] *((byte*) screen#10) ← *((byte*) print::msg#3) [ print::msg#3 screen#10 ] ( main:2::print:7 [ print::msg#3 screen#10 ] main:2::print:11 [ print::msg#3 screen#10 ] ) always clobbers reg byte a reg byte y +Statement [18] if(*((byte*) print::msg#2)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print::@1 [ screen#11 print::msg#2 ] ( main:2::print:7 [ screen#11 print::msg#2 ] main:2::print:11 [ screen#11 print::msg#2 ] ) always clobbers reg byte a reg byte y +Statement [21] (byte*~) strip::p#7 ← (byte*) strip::dest#0 [ strip::dest#0 strip::c#3 strip::p#7 ] ( main:2::strip:5 [ strip::dest#0 strip::c#3 strip::p#7 ] main:2::strip:9 [ screen#11 strip::dest#0 strip::c#3 strip::p#7 ] ) always clobbers reg byte a +Statement [23] if(*((byte*) strip::p#4)==(byte) strip::c#3) goto strip::@2 [ strip::c#3 strip::p#4 strip::dest#2 ] ( main:2::strip:5 [ strip::c#3 strip::p#4 strip::dest#2 ] main:2::strip:9 [ screen#11 strip::c#3 strip::p#4 strip::dest#2 ] ) always clobbers reg byte a reg byte y +Statement [24] *((byte*) strip::dest#2) ← *((byte*) strip::p#4) [ strip::c#3 strip::p#4 strip::dest#2 ] ( main:2::strip:5 [ strip::c#3 strip::p#4 strip::dest#2 ] main:2::strip:9 [ screen#11 strip::c#3 strip::p#4 strip::dest#2 ] ) always clobbers reg byte a reg byte y +Statement [27] (byte*) strip::p#2 ← ++ (byte*) strip::p#4 [ strip::c#3 strip::p#4 strip::dest#4 strip::p#2 ] ( main:2::strip:5 [ strip::c#3 strip::p#4 strip::dest#4 strip::p#2 ] main:2::strip:9 [ screen#11 strip::c#3 strip::p#4 strip::dest#4 strip::p#2 ] ) always clobbers reg byte a +Statement [28] if(*((byte*) strip::p#4)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto strip::@4 [ strip::c#3 strip::dest#4 strip::p#2 ] ( main:2::strip:5 [ strip::c#3 strip::dest#4 strip::p#2 ] main:2::strip:9 [ screen#11 strip::c#3 strip::dest#4 strip::p#2 ] ) always clobbers reg byte a reg byte y +Statement [30] (byte*~) strip::p#8 ← (byte*) strip::p#2 [ strip::c#3 strip::p#8 strip::dest#4 ] ( main:2::strip:5 [ strip::c#3 strip::p#8 strip::dest#4 ] main:2::strip:9 [ screen#11 strip::c#3 strip::p#8 strip::dest#4 ] ) always clobbers reg byte a +Potential registers zp ZP_WORD:2 [ print::msg#3 print::msg#4 print::msg#2 ] : zp ZP_WORD:2 , +Potential registers zp ZP_WORD:4 [ screen#10 screen#15 screen#11 ] : zp ZP_WORD:4 , +Potential registers zp ZP_BYTE:6 [ strip::c#3 ] : zp ZP_BYTE:6 , reg byte x , +Potential registers zp ZP_WORD:7 [ strip::p#4 strip::p#7 strip::p#8 ] : zp ZP_WORD:7 , +Potential registers zp ZP_WORD:9 [ strip::dest#2 strip::dest#0 strip::dest#4 strip::dest#1 ] : zp ZP_WORD:9 , +Potential registers zp ZP_WORD:11 [ strip::p#2 ] : zp ZP_WORD:11 , + +REGISTER UPLIFT SCOPES +Uplift Scope [strip] 47.58: zp ZP_WORD:9 [ strip::dest#2 strip::dest#0 strip::dest#4 strip::dest#1 ] 35.5: zp ZP_WORD:7 [ strip::p#4 strip::p#7 strip::p#8 ] 11: zp ZP_WORD:11 [ strip::p#2 ] 1.1: zp ZP_BYTE:6 [ strip::c#3 ] +Uplift Scope [print] 30.17: zp ZP_WORD:2 [ print::msg#3 print::msg#4 print::msg#2 ] +Uplift Scope [] 24.5: zp ZP_WORD:4 [ screen#10 screen#15 screen#11 ] +Uplift Scope [main] + +Uplifting [strip] best 1687 combination zp ZP_WORD:9 [ strip::dest#2 strip::dest#0 strip::dest#4 strip::dest#1 ] zp ZP_WORD:7 [ strip::p#4 strip::p#7 strip::p#8 ] zp ZP_WORD:11 [ strip::p#2 ] reg byte x [ strip::c#3 ] +Uplifting [print] best 1687 combination zp ZP_WORD:2 [ print::msg#3 print::msg#4 print::msg#2 ] +Uplifting [] best 1687 combination zp ZP_WORD:4 [ screen#10 screen#15 screen#11 ] +Uplifting [main] best 1687 combination +Coalescing zero page register [ zp ZP_WORD:2 [ print::msg#3 print::msg#4 print::msg#2 ] ] with [ zp ZP_WORD:7 [ strip::p#4 strip::p#7 strip::p#8 ] ] +Allocated (was zp ZP_WORD:9) zp ZP_WORD:6 [ strip::dest#2 strip::dest#0 strip::dest#4 strip::dest#1 ] +Allocated (was zp ZP_WORD:11) zp ZP_WORD:8 [ strip::p#2 ] + +ASSEMBLER BEFORE OPTIMIZATION +//SEG0 File Comments +// Tests of strip() function from https://news.ycombinator.com/item?id=12080871 +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels + .label screen = 4 +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +main: { + //SEG11 [5] call strip + //SEG12 [20] phi from main to strip [phi:main->strip] + strip_from_main: + //SEG13 [20] phi (byte) strip::c#3 = (byte) ' ' [phi:main->strip#0] -- vbuxx=vbuc1 + ldx #' ' + //SEG14 [20] phi (byte*) strip::dest#0 = (const byte[]) msg1#0 [phi:main->strip#1] -- pbuz1=pbuc1 + lda #msg1 + sta strip.dest+1 + jsr strip + //SEG15 [6] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + jmp b1 + //SEG16 main::@1 + b1: + //SEG17 [7] call print + //SEG18 [13] phi from main::@1 to print [phi:main::@1->print] + print_from_b1: + //SEG19 [13] phi (byte*) screen#15 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@1->print#0] -- pbuz1=pbuc1 + lda #<$400 + sta screen + lda #>$400 + sta screen+1 + //SEG20 [13] phi (byte*) print::msg#4 = (const byte[]) msg1#0 [phi:main::@1->print#1] -- pbuz1=pbuc1 + lda #msg1 + sta print.msg+1 + jsr print + //SEG21 [8] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + b2_from_b1: + jmp b2 + //SEG22 main::@2 + b2: + //SEG23 [9] call strip + //SEG24 [20] phi from main::@2 to strip [phi:main::@2->strip] + strip_from_b2: + //SEG25 [20] phi (byte) strip::c#3 = (byte) 'y' [phi:main::@2->strip#0] -- vbuxx=vbuc1 + ldx #'y' + //SEG26 [20] phi (byte*) strip::dest#0 = (const byte[]) msg2#0 [phi:main::@2->strip#1] -- pbuz1=pbuc1 + lda #msg2 + sta strip.dest+1 + jsr strip + //SEG27 [10] phi from main::@2 to main::@3 [phi:main::@2->main::@3] + b3_from_b2: + jmp b3 + //SEG28 main::@3 + b3: + //SEG29 [11] call print + //SEG30 [13] phi from main::@3 to print [phi:main::@3->print] + print_from_b3: + //SEG31 [13] phi (byte*) screen#15 = (byte*) screen#11 [phi:main::@3->print#0] -- register_copy + //SEG32 [13] phi (byte*) print::msg#4 = (const byte[]) msg2#0 [phi:main::@3->print#1] -- pbuz1=pbuc1 + lda #msg2 + sta print.msg+1 + jsr print + jmp breturn + //SEG33 main::@return + breturn: + //SEG34 [12] return + rts +} +//SEG35 print +// print(byte* zeropage(2) msg) +print: { + .label msg = 2 + //SEG36 [14] phi from print print::@1 to print::@1 [phi:print/print::@1->print::@1] + b1_from_print: + b1_from_b1: + //SEG37 [14] phi (byte*) screen#10 = (byte*) screen#15 [phi:print/print::@1->print::@1#0] -- register_copy + //SEG38 [14] phi (byte*) print::msg#3 = (byte*) print::msg#4 [phi:print/print::@1->print::@1#1] -- register_copy + jmp b1 + //SEG39 print::@1 + b1: + //SEG40 [15] *((byte*) screen#10) ← *((byte*) print::msg#3) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (msg),y + ldy #0 + sta (screen),y + //SEG41 [16] (byte*) screen#11 ← ++ (byte*) screen#10 -- pbuz1=_inc_pbuz1 + inc screen + bne !+ + inc screen+1 + !: + //SEG42 [17] (byte*) print::msg#2 ← ++ (byte*) print::msg#3 -- pbuz1=_inc_pbuz1 + inc msg + bne !+ + inc msg+1 + !: + //SEG43 [18] if(*((byte*) print::msg#2)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print::@1 -- _deref_pbuz1_neq_0_then_la1 + ldy #0 + lda (msg),y + cmp #0 + bne b1_from_b1 + jmp breturn + //SEG44 print::@return + breturn: + //SEG45 [19] return + rts +} +//SEG46 strip +// strip(byte* zeropage(8) p, byte register(X) c) +strip: { + .label dest = 6 + .label p = 8 + .label p_4 = 2 + .label p_7 = 2 + .label p_8 = 2 + //SEG47 [21] (byte*~) strip::p#7 ← (byte*) strip::dest#0 -- pbuz1=pbuz2 + lda dest + sta p_7 + lda dest+1 + sta p_7+1 + //SEG48 [22] phi from strip strip::@4 to strip::@1 [phi:strip/strip::@4->strip::@1] + b1_from_strip: + b1_from_b4: + //SEG49 [22] phi (byte*) strip::dest#2 = (byte*) strip::dest#0 [phi:strip/strip::@4->strip::@1#0] -- register_copy + //SEG50 [22] phi (byte*) strip::p#4 = (byte*~) strip::p#7 [phi:strip/strip::@4->strip::@1#1] -- register_copy + jmp b1 + //SEG51 strip::@1 + b1: + //SEG52 [23] if(*((byte*) strip::p#4)==(byte) strip::c#3) goto strip::@2 -- _deref_pbuz1_eq_vbuxx_then_la1 + txa + ldy #0 + cmp (p_4),y + beq b2_from_b1 + jmp b3 + //SEG53 strip::@3 + b3: + //SEG54 [24] *((byte*) strip::dest#2) ← *((byte*) strip::p#4) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (p_4),y + ldy #0 + sta (dest),y + //SEG55 [25] (byte*) strip::dest#1 ← ++ (byte*) strip::dest#2 -- pbuz1=_inc_pbuz1 + inc dest + bne !+ + inc dest+1 + !: + //SEG56 [26] phi from strip::@1 strip::@3 to strip::@2 [phi:strip::@1/strip::@3->strip::@2] + b2_from_b1: + b2_from_b3: + //SEG57 [26] phi (byte*) strip::dest#4 = (byte*) strip::dest#2 [phi:strip::@1/strip::@3->strip::@2#0] -- register_copy + jmp b2 + //SEG58 strip::@2 + b2: + //SEG59 [27] (byte*) strip::p#2 ← ++ (byte*) strip::p#4 -- pbuz1=_inc_pbuz2 + lda p_4 + clc + adc #1 + sta p + lda p_4+1 + adc #0 + sta p+1 + //SEG60 [28] if(*((byte*) strip::p#4)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto strip::@4 -- _deref_pbuz1_neq_0_then_la1 + ldy #0 + lda (p_4),y + cmp #0 + bne b4 + jmp breturn + //SEG61 strip::@return + breturn: + //SEG62 [29] return + rts + //SEG63 strip::@4 + b4: + //SEG64 [30] (byte*~) strip::p#8 ← (byte*) strip::p#2 -- pbuz1=pbuz2 + lda p + sta p_8 + lda p+1 + sta p_8+1 + jmp b1_from_b4 +} + msg1: .text "hello world!@" + msg2: .text "goodbye blue sky!@" + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp b1 +Removing instruction jmp bend +Removing instruction jmp b1 +Removing instruction jmp b2 +Removing instruction jmp b3 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp b3 +Removing instruction jmp b2 +Removing instruction jmp breturn +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction ldy #0 +Removing instruction ldy #0 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Replacing label b1_from_b1 with b1 +Replacing label b2_from_b1 with b2 +Replacing label b1_from_b4 with b1 +Removing instruction b1_from_bbegin: +Removing instruction b1: +Removing instruction main_from_b1: +Removing instruction bend_from_b1: +Removing instruction b1_from_main: +Removing instruction print_from_b1: +Removing instruction b2_from_b1: +Removing instruction strip_from_b2: +Removing instruction b3_from_b2: +Removing instruction print_from_b3: +Removing instruction b1_from_print: +Removing instruction b1_from_b1: +Removing instruction b1_from_strip: +Removing instruction b1_from_b4: +Removing instruction b2_from_b1: +Removing instruction b2_from_b3: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction bend: +Removing instruction strip_from_main: +Removing instruction b1: +Removing instruction b2: +Removing instruction b3: +Removing instruction breturn: +Removing instruction breturn: +Removing instruction b3: +Removing instruction breturn: +Succesful ASM optimization Pass5UnusedLabelElimination +Updating BasicUpstart to call main directly +Removing instruction jsr main +Succesful ASM optimization Pass5SkipBegin +Removing instruction ldy #0 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Removing instruction bbegin: +Succesful ASM optimization Pass5UnusedLabelElimination + +FINAL SYMBOL TABLE +(label) @1 +(label) @begin +(label) @end +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@3 +(label) main::@return +(byte[]) msg1 +(const byte[]) msg1#0 msg1 = (string) "hello world!@" +(byte[]) msg2 +(const byte[]) msg2#0 msg2 = (string) "goodbye blue sky!@" +(void()) print((byte*) print::msg) +(label) print::@1 +(label) print::@return +(byte*) print::msg +(byte*) print::msg#2 msg zp ZP_WORD:2 16.5 +(byte*) print::msg#3 msg zp ZP_WORD:2 11.666666666666666 +(byte*) print::msg#4 msg zp ZP_WORD:2 2.0 +(byte*) screen +(byte*) screen#10 screen zp ZP_WORD:4 17.5 +(byte*) screen#11 screen zp ZP_WORD:4 3.0 +(byte*) screen#15 screen zp ZP_WORD:4 4.0 +(void()) strip((byte*) strip::p , (byte) strip::c) +(label) strip::@1 +(label) strip::@2 +(label) strip::@3 +(label) strip::@4 +(label) strip::@return +(byte) strip::c +(byte) strip::c#3 reg byte x 1.1 +(byte*) strip::dest +(byte*) strip::dest#0 dest zp ZP_WORD:6 2.0 +(byte*) strip::dest#1 dest zp ZP_WORD:6 22.0 +(byte*) strip::dest#2 dest zp ZP_WORD:6 15.333333333333332 +(byte*) strip::dest#4 dest zp ZP_WORD:6 8.25 +(byte*) strip::p +(byte*) strip::p#2 p zp ZP_WORD:8 11.0 +(byte*) strip::p#4 p#4 zp ZP_WORD:2 9.5 +(byte*~) strip::p#7 p#7 zp ZP_WORD:2 4.0 +(byte*~) strip::p#8 p#8 zp ZP_WORD:2 22.0 + +zp ZP_WORD:2 [ print::msg#3 print::msg#4 print::msg#2 strip::p#4 strip::p#7 strip::p#8 ] +zp ZP_WORD:4 [ screen#10 screen#15 screen#11 ] +reg byte x [ strip::c#3 ] +zp ZP_WORD:6 [ strip::dest#2 strip::dest#0 strip::dest#4 strip::dest#1 ] +zp ZP_WORD:8 [ strip::p#2 ] + + +FINAL ASSEMBLER +Score: 1423 + +//SEG0 File Comments +// Tests of strip() function from https://news.ycombinator.com/item?id=12080871 +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG2 Global Constants & labels + .label screen = 4 +//SEG3 @begin +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +//SEG5 @1 +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +//SEG9 @end +//SEG10 main +main: { + //SEG11 [5] call strip + //SEG12 [20] phi from main to strip [phi:main->strip] + //SEG13 [20] phi (byte) strip::c#3 = (byte) ' ' [phi:main->strip#0] -- vbuxx=vbuc1 + ldx #' ' + //SEG14 [20] phi (byte*) strip::dest#0 = (const byte[]) msg1#0 [phi:main->strip#1] -- pbuz1=pbuc1 + lda #msg1 + sta strip.dest+1 + jsr strip + //SEG15 [6] phi from main to main::@1 [phi:main->main::@1] + //SEG16 main::@1 + //SEG17 [7] call print + //SEG18 [13] phi from main::@1 to print [phi:main::@1->print] + //SEG19 [13] phi (byte*) screen#15 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@1->print#0] -- pbuz1=pbuc1 + lda #<$400 + sta screen + lda #>$400 + sta screen+1 + //SEG20 [13] phi (byte*) print::msg#4 = (const byte[]) msg1#0 [phi:main::@1->print#1] -- pbuz1=pbuc1 + lda #msg1 + sta print.msg+1 + jsr print + //SEG21 [8] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + //SEG22 main::@2 + //SEG23 [9] call strip + //SEG24 [20] phi from main::@2 to strip [phi:main::@2->strip] + //SEG25 [20] phi (byte) strip::c#3 = (byte) 'y' [phi:main::@2->strip#0] -- vbuxx=vbuc1 + ldx #'y' + //SEG26 [20] phi (byte*) strip::dest#0 = (const byte[]) msg2#0 [phi:main::@2->strip#1] -- pbuz1=pbuc1 + lda #msg2 + sta strip.dest+1 + jsr strip + //SEG27 [10] phi from main::@2 to main::@3 [phi:main::@2->main::@3] + //SEG28 main::@3 + //SEG29 [11] call print + //SEG30 [13] phi from main::@3 to print [phi:main::@3->print] + //SEG31 [13] phi (byte*) screen#15 = (byte*) screen#11 [phi:main::@3->print#0] -- register_copy + //SEG32 [13] phi (byte*) print::msg#4 = (const byte[]) msg2#0 [phi:main::@3->print#1] -- pbuz1=pbuc1 + lda #msg2 + sta print.msg+1 + jsr print + //SEG33 main::@return + //SEG34 [12] return + rts +} +//SEG35 print +// print(byte* zeropage(2) msg) +print: { + .label msg = 2 + //SEG36 [14] phi from print print::@1 to print::@1 [phi:print/print::@1->print::@1] + //SEG37 [14] phi (byte*) screen#10 = (byte*) screen#15 [phi:print/print::@1->print::@1#0] -- register_copy + //SEG38 [14] phi (byte*) print::msg#3 = (byte*) print::msg#4 [phi:print/print::@1->print::@1#1] -- register_copy + //SEG39 print::@1 + b1: + //SEG40 [15] *((byte*) screen#10) ← *((byte*) print::msg#3) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (msg),y + sta (screen),y + //SEG41 [16] (byte*) screen#11 ← ++ (byte*) screen#10 -- pbuz1=_inc_pbuz1 + inc screen + bne !+ + inc screen+1 + !: + //SEG42 [17] (byte*) print::msg#2 ← ++ (byte*) print::msg#3 -- pbuz1=_inc_pbuz1 + inc msg + bne !+ + inc msg+1 + !: + //SEG43 [18] if(*((byte*) print::msg#2)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print::@1 -- _deref_pbuz1_neq_0_then_la1 + ldy #0 + lda (msg),y + cmp #0 + bne b1 + //SEG44 print::@return + //SEG45 [19] return + rts +} +//SEG46 strip +// strip(byte* zeropage(8) p, byte register(X) c) +strip: { + .label dest = 6 + .label p = 8 + .label p_4 = 2 + .label p_7 = 2 + .label p_8 = 2 + //SEG47 [21] (byte*~) strip::p#7 ← (byte*) strip::dest#0 -- pbuz1=pbuz2 + lda dest + sta p_7 + lda dest+1 + sta p_7+1 + //SEG48 [22] phi from strip strip::@4 to strip::@1 [phi:strip/strip::@4->strip::@1] + //SEG49 [22] phi (byte*) strip::dest#2 = (byte*) strip::dest#0 [phi:strip/strip::@4->strip::@1#0] -- register_copy + //SEG50 [22] phi (byte*) strip::p#4 = (byte*~) strip::p#7 [phi:strip/strip::@4->strip::@1#1] -- register_copy + //SEG51 strip::@1 + b1: + //SEG52 [23] if(*((byte*) strip::p#4)==(byte) strip::c#3) goto strip::@2 -- _deref_pbuz1_eq_vbuxx_then_la1 + txa + ldy #0 + cmp (p_4),y + beq b2 + //SEG53 strip::@3 + //SEG54 [24] *((byte*) strip::dest#2) ← *((byte*) strip::p#4) -- _deref_pbuz1=_deref_pbuz2 + lda (p_4),y + sta (dest),y + //SEG55 [25] (byte*) strip::dest#1 ← ++ (byte*) strip::dest#2 -- pbuz1=_inc_pbuz1 + inc dest + bne !+ + inc dest+1 + !: + //SEG56 [26] phi from strip::@1 strip::@3 to strip::@2 [phi:strip::@1/strip::@3->strip::@2] + //SEG57 [26] phi (byte*) strip::dest#4 = (byte*) strip::dest#2 [phi:strip::@1/strip::@3->strip::@2#0] -- register_copy + //SEG58 strip::@2 + b2: + //SEG59 [27] (byte*) strip::p#2 ← ++ (byte*) strip::p#4 -- pbuz1=_inc_pbuz2 + lda p_4 + clc + adc #1 + sta p + lda p_4+1 + adc #0 + sta p+1 + //SEG60 [28] if(*((byte*) strip::p#4)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto strip::@4 -- _deref_pbuz1_neq_0_then_la1 + ldy #0 + lda (p_4),y + cmp #0 + bne b4 + //SEG61 strip::@return + //SEG62 [29] return + rts + //SEG63 strip::@4 + b4: + //SEG64 [30] (byte*~) strip::p#8 ← (byte*) strip::p#2 -- pbuz1=pbuz2 + lda p + sta p_8 + lda p+1 + sta p_8+1 + jmp b1 +} + msg1: .text "hello world!@" + msg2: .text "goodbye blue sky!@" + diff --git a/src/test/ref/strip.sym b/src/test/ref/strip.sym new file mode 100644 index 000000000..d662ba164 --- /dev/null +++ b/src/test/ref/strip.sym @@ -0,0 +1,47 @@ +(label) @1 +(label) @begin +(label) @end +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@3 +(label) main::@return +(byte[]) msg1 +(const byte[]) msg1#0 msg1 = (string) "hello world!@" +(byte[]) msg2 +(const byte[]) msg2#0 msg2 = (string) "goodbye blue sky!@" +(void()) print((byte*) print::msg) +(label) print::@1 +(label) print::@return +(byte*) print::msg +(byte*) print::msg#2 msg zp ZP_WORD:2 16.5 +(byte*) print::msg#3 msg zp ZP_WORD:2 11.666666666666666 +(byte*) print::msg#4 msg zp ZP_WORD:2 2.0 +(byte*) screen +(byte*) screen#10 screen zp ZP_WORD:4 17.5 +(byte*) screen#11 screen zp ZP_WORD:4 3.0 +(byte*) screen#15 screen zp ZP_WORD:4 4.0 +(void()) strip((byte*) strip::p , (byte) strip::c) +(label) strip::@1 +(label) strip::@2 +(label) strip::@3 +(label) strip::@4 +(label) strip::@return +(byte) strip::c +(byte) strip::c#3 reg byte x 1.1 +(byte*) strip::dest +(byte*) strip::dest#0 dest zp ZP_WORD:6 2.0 +(byte*) strip::dest#1 dest zp ZP_WORD:6 22.0 +(byte*) strip::dest#2 dest zp ZP_WORD:6 15.333333333333332 +(byte*) strip::dest#4 dest zp ZP_WORD:6 8.25 +(byte*) strip::p +(byte*) strip::p#2 p zp ZP_WORD:8 11.0 +(byte*) strip::p#4 p#4 zp ZP_WORD:2 9.5 +(byte*~) strip::p#7 p#7 zp ZP_WORD:2 4.0 +(byte*~) strip::p#8 p#8 zp ZP_WORD:2 22.0 + +zp ZP_WORD:2 [ print::msg#3 print::msg#4 print::msg#2 strip::p#4 strip::p#7 strip::p#8 ] +zp ZP_WORD:4 [ screen#10 screen#15 screen#11 ] +reg byte x [ strip::c#3 ] +zp ZP_WORD:6 [ strip::dest#2 strip::dest#0 strip::dest#4 strip::dest#1 ] +zp ZP_WORD:8 [ strip::p#2 ] diff --git a/src/test/ref/ternary-2.log b/src/test/ref/ternary-2.log index f16f0d2ef..7a8e0b597 100644 --- a/src/test/ref/ternary-2.log +++ b/src/test/ref/ternary-2.log @@ -84,6 +84,8 @@ Successful SSA optimization Pass2CullEmptyBlocks Redundant Phi (byte~) main::$2 (const byte) main::$1 Redundant Phi (byte~) main::$5 (const byte) main::$3 Successful SSA optimization Pass2RedundantPhiElimination +Eliminating unused constant (const byte) main::$0 +Eliminating unused constant (const byte) main::$4 Successful SSA optimization PassNEliminateUnusedVars Constant inlined main::$1 = (byte) 'a' Constant inlined main::$3 = (byte) 'b' diff --git a/src/test/ref/test-comparisons-sword.log b/src/test/ref/test-comparisons-sword.log index 22fbe3f5f..e1d73d4c5 100644 --- a/src/test/ref/test-comparisons-sword.log +++ b/src/test/ref/test-comparisons-sword.log @@ -1424,6 +1424,7 @@ Successful SSA optimization Pass2SelfPhiElimination Redundant Phi (signed word) main::w1#2 (signed word) main::w1#0 Redundant Phi (byte) main::i#10 (byte) main::i#2 Successful SSA optimization Pass2RedundantPhiElimination +Eliminating unused constant (const byte) SIZEOF_SIGNED_WORD Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) print_char::ch#0 Inlining constant with var siblings (const byte) print_char::ch#3 diff --git a/src/test/ref/test-comparisons-word.log b/src/test/ref/test-comparisons-word.log index 35586cd33..36eb28d79 100644 --- a/src/test/ref/test-comparisons-word.log +++ b/src/test/ref/test-comparisons-word.log @@ -1223,6 +1223,7 @@ Successful SSA optimization Pass2SelfPhiElimination Redundant Phi (word) main::w1#2 (word) main::w1#0 Redundant Phi (byte) main::i#10 (byte) main::i#2 Successful SSA optimization Pass2RedundantPhiElimination +Eliminating unused constant (const byte) SIZEOF_WORD Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) print_char::ch#3 Inlining constant with var siblings (const byte*) print_cls::sc#0 diff --git a/src/test/ref/test-comparisons.log b/src/test/ref/test-comparisons.log index 0b7e6bcff..b46b67aa5 100644 --- a/src/test/ref/test-comparisons.log +++ b/src/test/ref/test-comparisons.log @@ -2080,6 +2080,7 @@ Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [154] if(true) goto main::@43 Successful SSA optimization Pass2ConstantIfs Successful SSA optimization Pass2ConstantStringConsolidation +Eliminating unused constant (const byte) main::r#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/test-division.log b/src/test/ref/test-division.log index 6e02d606d..a4efdc04b 100644 --- a/src/test/ref/test-division.log +++ b/src/test/ref/test-division.log @@ -3013,8 +3013,23 @@ Successful SSA optimization Pass2ConstantIdentification if() condition always false - eliminating [260] if((const bool) divr16s::$1) goto divr16s::@1 Successful SSA optimization Pass2ConstantIfs Successful SSA optimization Pass2ConstantStringConsolidation +Eliminating unused variable - keeping the phi block (byte) rem8u#31 +Eliminating unused variable - keeping the phi block (word) rem16u#40 +Eliminating unused variable - keeping the phi block (signed byte) rem8s#18 +Eliminating unused variable - keeping the phi block (signed word) rem16s#22 +Eliminating unused constant (const byte) div8s::dividendu#0 +Eliminating unused constant (const byte) div8s::divisoru#0 +Eliminating unused constant (const word) divr16s::dividendu#0 +Eliminating unused constant (const word) divr16s::remu#0 +Eliminating unused constant (const word) divr16s::divisoru#0 +Eliminating unused constant (const bool) divr16s::$1 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable - keeping the phi block (byte) rem8u#36 +Eliminating unused constant (const word) rem16u#0 +Eliminating unused constant (const signed byte) rem8s#0 +Eliminating unused constant (const signed word) rem16s#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte) rem8u#0 Successful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#6 Eliminating Noop Cast (byte) print_byte::b#0 ← ((byte)) (signed byte) print_sbyte::b#7 @@ -3076,6 +3091,8 @@ Culled Empty Block (label) divr16s::@16 Successful SSA optimization Pass2CullEmptyBlocks Simple Condition (bool~) divr16s::$0 [115] if((signed word) divr16s::dividend#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16s::@1 Successful SSA optimization Pass2ConditionalJumpSimplification +Eliminating unused constant (const byte) SIZEOF_WORD +Eliminating unused constant (const byte) SIZEOF_SIGNED_WORD Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte*) print_str::str#1 Inlining constant with var siblings (const byte*) print_str::str#2 diff --git a/src/test/ref/test-interrupt-volatile-write.log b/src/test/ref/test-interrupt-volatile-write.log index 800b80f40..652c8f4b8 100644 --- a/src/test/ref/test-interrupt-volatile-write.log +++ b/src/test/ref/test-interrupt-volatile-write.log @@ -128,6 +128,7 @@ Constant (const void()*) main::$0 = &irq Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [3] if(true) goto main::@2 Successful SSA optimization Pass2ConstantIfs +Eliminating unused variable - keeping the phi block (byte) col#12 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/test-word-size-arrays.log b/src/test/ref/test-word-size-arrays.log index 58e9fc256..9e2f4ad23 100644 --- a/src/test/ref/test-word-size-arrays.log +++ b/src/test/ref/test-word-size-arrays.log @@ -118,6 +118,7 @@ Successful SSA optimization Pass2ConstantIdentification Consolidated array index constant in assignment *(main::screen#0+$28 + main::$2) Successful SSA optimization Pass2ConstantAdditionElimination Inferred type updated to word in [4] (word/signed dword/dword~) main::$2 ← (word~) main::$1 +Eliminating unused constant (const word) main::line#0 Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) main::@4 Successful SSA optimization Pass2CullEmptyBlocks diff --git a/src/test/ref/unroll-screenfill-for-double.log b/src/test/ref/unroll-screenfill-for-double.log index d81b6ca00..3c3dcc003 100644 --- a/src/test/ref/unroll-screenfill-for-double.log +++ b/src/test/ref/unroll-screenfill-for-double.log @@ -205,6 +205,7 @@ Successful SSA optimization Pass2ConstantIdentification Removing PHI-reference to removed block (main::@2_10) in block main::@2_11 if() condition always false - eliminating [13] if((const byte) main::line#22!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@2_11 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) main::line#22 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) main::line#23 from unused block main::@2_11 Eliminating variable (byte/signed word/word/dword/signed dword~) main::$24 from unused block main::@2_11 @@ -463,6 +464,7 @@ Successful SSA optimization Pass2ConstantAdditionElimination Removing PHI-reference to removed block (main::@3_2) in block main::@1_1 if() condition always false - eliminating [122] if((const byte) main::x#24!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1_1 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) main::x#24 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) main::x#25 from unused block main::@1_1 Eliminating variable (byte) main::x#26 from unused block main::@3_1 diff --git a/src/test/ref/unroll-screenfill-for.log b/src/test/ref/unroll-screenfill-for.log index 94e0f3a28..d55670580 100644 --- a/src/test/ref/unroll-screenfill-for.log +++ b/src/test/ref/unroll-screenfill-for.log @@ -359,6 +359,7 @@ Successful SSA optimization Pass2ConstantIdentification Removing PHI-reference to removed block (main::@2_24) in block main::@2_25 if() condition always false - eliminating [27] if((const byte) main::line#50!=(byte/signed byte/word/signed word/dword/signed dword) $19) goto main::@2_25 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) main::line#50 Successful SSA optimization PassNEliminateUnusedVars Eliminating variable (byte) main::line#51 from unused block main::@2_25 Eliminating variable (byte/signed word/word/dword/signed dword~) main::$52 from unused block main::@2_25 diff --git a/src/test/ref/unroll-screenfill-while.log b/src/test/ref/unroll-screenfill-while.log index 01ba02137..e97f77398 100644 --- a/src/test/ref/unroll-screenfill-while.log +++ b/src/test/ref/unroll-screenfill-while.log @@ -436,8 +436,12 @@ Removing unused block main::@3_26 Successful SSA optimization Pass2EliminateUnusedBlocks Culled Empty Block (label) main::@2_1 Successful SSA optimization Pass2CullEmptyBlocks +Eliminating unused constant (const byte) main::line#53 +Eliminating unused constant (const byte*) main::$53 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const word/signed word/dword/signed dword) main::$52 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte) main::line#51 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::x#0 Inlining constant with different constant siblings (const byte) main::line#0 diff --git a/src/test/ref/unused-vars.log b/src/test/ref/unused-vars.log index 5d6cba2c6..8d4128ff0 100644 --- a/src/test/ref/unused-vars.log +++ b/src/test/ref/unused-vars.log @@ -132,7 +132,9 @@ Constant (const byte) b#11 = ++b#0 Successful SSA optimization Pass2ConstantIdentification Constant (const byte) b#2 = ++b#11 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const byte) s::return#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte) s::return#1 Successful SSA optimization PassNEliminateUnusedVars Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,$64)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) $65 diff --git a/src/test/ref/unusedblockproblem.log b/src/test/ref/unusedblockproblem.log index 2c6e370ec..8bd0a5fe4 100644 --- a/src/test/ref/unusedblockproblem.log +++ b/src/test/ref/unusedblockproblem.log @@ -69,6 +69,7 @@ Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks Culled Empty Block (label) main::@1 Successful SSA optimization Pass2CullEmptyBlocks +Eliminating unused constant (const byte) main::line#0 Successful SSA optimization PassNEliminateUnusedVars Adding NOP phi() at start of @begin Adding NOP phi() at start of @1 diff --git a/src/test/ref/useuninitialized.log b/src/test/ref/useuninitialized.log index b28fca001..fdb839a0d 100644 --- a/src/test/ref/useuninitialized.log +++ b/src/test/ref/useuninitialized.log @@ -84,6 +84,7 @@ Successful SSA optimization Pass2ConstantIdentification Constant (const byte) s#1 = b#0+1 Constant (const byte*) main::$1 = main::screen#0+1 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const byte) s#0 Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) @2 Successful SSA optimization Pass2CullEmptyBlocks diff --git a/src/test/ref/var-forward-problem2.log b/src/test/ref/var-forward-problem2.log index 7fac2d12b..43cc82a28 100644 --- a/src/test/ref/var-forward-problem2.log +++ b/src/test/ref/var-forward-problem2.log @@ -66,6 +66,8 @@ Constant (const byte) b#0 = 'a' Constant (const byte*) screen#2 = 0 Constant (const byte) b#2 = 0 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const byte*) screen#2 +Eliminating unused constant (const byte) b#2 Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) @2 Successful SSA optimization Pass2CullEmptyBlocks diff --git a/src/test/ref/var-init-problem.log b/src/test/ref/var-init-problem.log index 8115bec7b..e09d21617 100644 --- a/src/test/ref/var-init-problem.log +++ b/src/test/ref/var-init-problem.log @@ -47,6 +47,7 @@ Successful SSA optimization Pass2RedundantPhiElimination Constant (const byte*) screen#0 = 0 Constant (const byte*) screen#1 = ((byte*))$400 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const byte*) screen#0 Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) @2 Successful SSA optimization Pass2CullEmptyBlocks diff --git a/src/test/ref/voronoi.log b/src/test/ref/voronoi.log index 27c59855f..5d28b6136 100644 --- a/src/test/ref/voronoi.log +++ b/src/test/ref/voronoi.log @@ -684,6 +684,7 @@ Consolidated array index constant in *(XPOS#0+3) Successful SSA optimization Pass2ConstantAdditionElimination if() condition always true - replacing block destination [3] if(true) goto main::@1 Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) findcol::diff#0 Successful SSA optimization PassNEliminateUnusedVars Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks diff --git a/src/test/ref/wfragment1.log b/src/test/ref/wfragment1.log index e9440d17a..9f973d8b8 100644 --- a/src/test/ref/wfragment1.log +++ b/src/test/ref/wfragment1.log @@ -93,7 +93,9 @@ Successful SSA optimization Pass2ConstantIdentification Constant (const word[MAX_OBJECTS#0]) OBJ_WORLD_X#0 = { fill( MAX_OBJECTS#0, 0) } Constant (const bool) move_enemy::return#0 = move_enemy::return#1 Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const bool) move_enemy::return#0 Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const bool) move_enemy::return#1 Successful SSA optimization PassNEliminateUnusedVars Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,5)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) 6 @@ -101,6 +103,7 @@ Rewriting multiplication to use shift (byte) move_enemy::$0 ← (byte) move_enem Successful SSA optimization Pass2MultiplyToShiftRewriting Culled Empty Block (label) @19 Successful SSA optimization Pass2CullEmptyBlocks +Eliminating unused constant (const byte) SIZEOF_WORD Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::i#0 Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 diff --git a/src/test/ref/word-array.log b/src/test/ref/word-array.log index 0bef674ca..062876539 100644 --- a/src/test/ref/word-array.log +++ b/src/test/ref/word-array.log @@ -78,6 +78,7 @@ Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,3)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) 4 Rewriting multiplication to use shift (byte) main::$3 ← (byte) main::i#2 * (const byte) SIZEOF_WORD Successful SSA optimization Pass2MultiplyToShiftRewriting +Eliminating unused constant (const byte) SIZEOF_WORD Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::idx#0 Inlining constant with var siblings (const byte) main::i#0 diff --git a/src/test/ref/word-pointer-math.asm b/src/test/ref/word-pointer-math.asm index 8e320e233..8ef6ea1d8 100644 --- a/src/test/ref/word-pointer-math.asm +++ b/src/test/ref/word-pointer-math.asm @@ -4,8 +4,7 @@ .pc = $80d "Program" main: { .label SCREEN = $400 - .label _0 = 3 - .label w = 5 + .label w = 3 .label idx = 2 lda #0 sta idx @@ -13,17 +12,10 @@ main: { b1: txa asl - clc - adc #words - adc #0 - sta _0+1 - ldy #0 - lda (_0),y + tay + lda words,y sta w - iny - lda (_0),y + lda words+1,y sta w+1 lda w ldy idx diff --git a/src/test/ref/word-pointer-math.cfg b/src/test/ref/word-pointer-math.cfg index 1d58421dc..797509ae1 100644 --- a/src/test/ref/word-pointer-math.cfg +++ b/src/test/ref/word-pointer-math.cfg @@ -14,18 +14,17 @@ main::@1: scope:[main] from main main::@1 [5] (byte) main::idx#4 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::idx#3 ) [5] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::i#1 ) [6] (byte) main::$4 ← (byte) main::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [7] (word*~) main::$0 ← (const word[]) main::words#0 + (byte) main::$4 - [8] (word) main::w#0 ← *((word*~) main::$0) - [9] (byte~) main::$1 ← < (word) main::w#0 - [10] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 - [11] (byte) main::idx#1 ← ++ (byte) main::idx#4 - [12] (byte~) main::$2 ← > (word) main::w#0 - [13] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 - [14] (byte) main::idx#2 ← ++ (byte) main::idx#1 - [15] (byte) main::idx#3 ← ++ (byte) main::idx#2 - [16] (byte) main::i#1 ← ++ (byte) main::i#2 - [17] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 + [7] (word) main::w#0 ← *((const word[]) main::words#0 + (byte) main::$4) + [8] (byte~) main::$1 ← < (word) main::w#0 + [9] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 + [10] (byte) main::idx#1 ← ++ (byte) main::idx#4 + [11] (byte~) main::$2 ← > (word) main::w#0 + [12] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 + [13] (byte) main::idx#2 ← ++ (byte) main::idx#1 + [14] (byte) main::idx#3 ← ++ (byte) main::idx#2 + [15] (byte) main::i#1 ← ++ (byte) main::i#2 + [16] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 to:main::@return main::@return: scope:[main] from main::@1 - [18] return + [17] return to:@return diff --git a/src/test/ref/word-pointer-math.log b/src/test/ref/word-pointer-math.log index 5472a49a7..63531e8a2 100644 --- a/src/test/ref/word-pointer-math.log +++ b/src/test/ref/word-pointer-math.log @@ -80,6 +80,10 @@ Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ Resolved ranged comparison value if(main::i#1!=rangelast(0,3)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) 4 Rewriting multiplication to use shift (byte) main::$4 ← (byte) main::i#2 * (const byte) SIZEOF_WORD Successful SSA optimization Pass2MultiplyToShiftRewriting +Converting *(pointer+n) to pointer[n] (word) main::w#0 ← *((word*~) main::$0) -- *(main::words#0 + main::$4) +Successful SSA optimization Pass2InlineDerefIdx +Eliminating unused variable (word*~) main::$0 and assignment [2] (word*~) main::$0 ← (const word[]) main::words#0 + (byte) main::$4 +Eliminating unused constant (const byte) SIZEOF_WORD Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte) main::idx#0 Inlining constant with var siblings (const byte) main::i#0 @@ -95,8 +99,8 @@ CALL GRAPH Calls in [] to main:2 Created 2 initial phi equivalence classes -Coalesced [19] main::i#3 ← main::i#1 -Coalesced [20] main::idx#5 ← main::idx#3 +Coalesced [18] main::i#3 ← main::i#1 +Coalesced [19] main::idx#5 ← main::idx#3 Coalesced down to 2 phi equivalence classes Culled Empty Block (label) main::@3 Adding NOP phi() at start of @begin @@ -121,38 +125,36 @@ main::@1: scope:[main] from main main::@1 [5] (byte) main::idx#4 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::idx#3 ) [5] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::i#1 ) [6] (byte) main::$4 ← (byte) main::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 - [7] (word*~) main::$0 ← (const word[]) main::words#0 + (byte) main::$4 - [8] (word) main::w#0 ← *((word*~) main::$0) - [9] (byte~) main::$1 ← < (word) main::w#0 - [10] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 - [11] (byte) main::idx#1 ← ++ (byte) main::idx#4 - [12] (byte~) main::$2 ← > (word) main::w#0 - [13] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 - [14] (byte) main::idx#2 ← ++ (byte) main::idx#1 - [15] (byte) main::idx#3 ← ++ (byte) main::idx#2 - [16] (byte) main::i#1 ← ++ (byte) main::i#2 - [17] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 + [7] (word) main::w#0 ← *((const word[]) main::words#0 + (byte) main::$4) + [8] (byte~) main::$1 ← < (word) main::w#0 + [9] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 + [10] (byte) main::idx#1 ← ++ (byte) main::idx#4 + [11] (byte~) main::$2 ← > (word) main::w#0 + [12] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 + [13] (byte) main::idx#2 ← ++ (byte) main::idx#1 + [14] (byte) main::idx#3 ← ++ (byte) main::idx#2 + [15] (byte) main::i#1 ← ++ (byte) main::i#2 + [16] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 to:main::@return main::@return: scope:[main] from main::@1 - [18] return + [17] return to:@return VARIABLE REGISTER WEIGHTS (void()) main() -(word*~) main::$0 22.0 (byte~) main::$1 22.0 (byte~) main::$2 22.0 (byte) main::$4 22.0 (byte*) main::SCREEN (byte) main::i (byte) main::i#1 16.5 -(byte) main::i#2 3.0 +(byte) main::i#2 3.3000000000000003 (byte) main::idx (byte) main::idx#1 11.0 (byte) main::idx#2 22.0 (byte) main::idx#3 7.333333333333333 -(byte) main::idx#4 5.5 +(byte) main::idx#4 6.6000000000000005 (word) main::w (word) main::w#0 8.25 (word[]) main::words @@ -161,7 +163,6 @@ Initial phi equivalence classes [ main::i#2 main::i#1 ] [ main::idx#4 main::idx#3 ] Added variable main::$4 to zero page equivalence class [ main::$4 ] -Added variable main::$0 to zero page equivalence class [ main::$0 ] Added variable main::w#0 to zero page equivalence class [ main::w#0 ] Added variable main::$1 to zero page equivalence class [ main::$1 ] Added variable main::idx#1 to zero page equivalence class [ main::idx#1 ] @@ -171,7 +172,6 @@ Complete equivalence classes [ main::i#2 main::i#1 ] [ main::idx#4 main::idx#3 ] [ main::$4 ] -[ main::$0 ] [ main::w#0 ] [ main::$1 ] [ main::idx#1 ] @@ -180,12 +180,11 @@ Complete equivalence classes Allocated zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Allocated zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] Allocated zp ZP_BYTE:4 [ main::$4 ] -Allocated zp ZP_WORD:5 [ main::$0 ] -Allocated zp ZP_WORD:7 [ main::w#0 ] -Allocated zp ZP_BYTE:9 [ main::$1 ] -Allocated zp ZP_BYTE:10 [ main::idx#1 ] -Allocated zp ZP_BYTE:11 [ main::$2 ] -Allocated zp ZP_BYTE:12 [ main::idx#2 ] +Allocated zp ZP_WORD:5 [ main::w#0 ] +Allocated zp ZP_BYTE:7 [ main::$1 ] +Allocated zp ZP_BYTE:8 [ main::idx#1 ] +Allocated zp ZP_BYTE:9 [ main::$2 ] +Allocated zp ZP_BYTE:10 [ main::idx#2 ] INITIAL ASM //SEG0 File Comments @@ -214,13 +213,12 @@ bend: //SEG10 main main: { .label SCREEN = $400 - .label _0 = 5 - .label _1 = 9 - .label _2 = $b + .label _1 = 7 + .label _2 = 9 .label _4 = 4 - .label w = 7 - .label idx = $a - .label idx_2 = $c + .label w = 5 + .label idx = 8 + .label idx_2 = $a .label idx_3 = 3 .label i = 2 .label idx_4 = 3 @@ -244,57 +242,48 @@ main: { lda i asl sta _4 - //SEG19 [7] (word*~) main::$0 ← (const word[]) main::words#0 + (byte) main::$4 -- pwuz1=pwuc1_plus_vbuz2 - lda _4 - clc - adc #words - adc #0 - sta _0+1 - //SEG20 [8] (word) main::w#0 ← *((word*~) main::$0) -- vwuz1=_deref_pwuz2 - ldy #0 - lda (_0),y + //SEG19 [7] (word) main::w#0 ← *((const word[]) main::words#0 + (byte) main::$4) -- vwuz1=pwuc1_derefidx_vbuz2 + ldy _4 + lda words,y sta w - iny - lda (_0),y + lda words+1,y sta w+1 - //SEG21 [9] (byte~) main::$1 ← < (word) main::w#0 -- vbuz1=_lo_vwuz2 + //SEG20 [8] (byte~) main::$1 ← < (word) main::w#0 -- vbuz1=_lo_vwuz2 lda w sta _1 - //SEG22 [10] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG21 [9] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 -- pbuc1_derefidx_vbuz1=vbuz2 lda _1 ldy idx_4 sta SCREEN,y - //SEG23 [11] (byte) main::idx#1 ← ++ (byte) main::idx#4 -- vbuz1=_inc_vbuz2 + //SEG22 [10] (byte) main::idx#1 ← ++ (byte) main::idx#4 -- vbuz1=_inc_vbuz2 ldy idx_4 iny sty idx - //SEG24 [12] (byte~) main::$2 ← > (word) main::w#0 -- vbuz1=_hi_vwuz2 + //SEG23 [11] (byte~) main::$2 ← > (word) main::w#0 -- vbuz1=_hi_vwuz2 lda w+1 sta _2 - //SEG25 [13] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG24 [12] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 -- pbuc1_derefidx_vbuz1=vbuz2 lda _2 ldy idx sta SCREEN,y - //SEG26 [14] (byte) main::idx#2 ← ++ (byte) main::idx#1 -- vbuz1=_inc_vbuz2 + //SEG25 [13] (byte) main::idx#2 ← ++ (byte) main::idx#1 -- vbuz1=_inc_vbuz2 ldy idx iny sty idx_2 - //SEG27 [15] (byte) main::idx#3 ← ++ (byte) main::idx#2 -- vbuz1=_inc_vbuz2 + //SEG26 [14] (byte) main::idx#3 ← ++ (byte) main::idx#2 -- vbuz1=_inc_vbuz2 ldy idx_2 iny sty idx_3 - //SEG28 [16] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 + //SEG27 [15] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 inc i - //SEG29 [17] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG28 [16] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 lda #4 cmp i bne b1_from_b1 jmp breturn - //SEG30 main::@return + //SEG29 main::@return breturn: - //SEG31 [18] return + //SEG30 [17] return rts // Clever word array that represents C64 numbers 0-7 words: .word $3130, $3332, $3534, $3736 @@ -304,44 +293,38 @@ REGISTER UPLIFT POTENTIAL REGISTERS Statement [6] (byte) main::$4 ← (byte) main::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::i#2 main::idx#4 main::$4 ] ( main:2 [ main::i#2 main::idx#4 main::$4 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] -Statement [7] (word*~) main::$0 ← (const word[]) main::words#0 + (byte) main::$4 [ main::i#2 main::idx#4 main::$0 ] ( main:2 [ main::i#2 main::idx#4 main::$0 ] ) always clobbers reg byte a -Statement [8] (word) main::w#0 ← *((word*~) main::$0) [ main::i#2 main::idx#4 main::w#0 ] ( main:2 [ main::i#2 main::idx#4 main::w#0 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ main::i#2 main::i#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] -Statement [9] (byte~) main::$1 ← < (word) main::w#0 [ main::i#2 main::idx#4 main::w#0 main::$1 ] ( main:2 [ main::i#2 main::idx#4 main::w#0 main::$1 ] ) always clobbers reg byte a -Statement [12] (byte~) main::$2 ← > (word) main::w#0 [ main::i#2 main::idx#1 main::$2 ] ( main:2 [ main::i#2 main::idx#1 main::$2 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ main::idx#1 ] +Statement [7] (word) main::w#0 ← *((const word[]) main::words#0 + (byte) main::$4) [ main::i#2 main::idx#4 main::w#0 ] ( main:2 [ main::i#2 main::idx#4 main::w#0 ] ) always clobbers reg byte a +Statement [8] (byte~) main::$1 ← < (word) main::w#0 [ main::i#2 main::idx#4 main::w#0 main::$1 ] ( main:2 [ main::i#2 main::idx#4 main::w#0 main::$1 ] ) always clobbers reg byte a +Statement [11] (byte~) main::$2 ← > (word) main::w#0 [ main::i#2 main::idx#1 main::$2 ] ( main:2 [ main::i#2 main::idx#1 main::$2 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ main::idx#1 ] Statement [6] (byte) main::$4 ← (byte) main::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::i#2 main::idx#4 main::$4 ] ( main:2 [ main::i#2 main::idx#4 main::$4 ] ) always clobbers reg byte a -Statement [7] (word*~) main::$0 ← (const word[]) main::words#0 + (byte) main::$4 [ main::i#2 main::idx#4 main::$0 ] ( main:2 [ main::i#2 main::idx#4 main::$0 ] ) always clobbers reg byte a -Statement [8] (word) main::w#0 ← *((word*~) main::$0) [ main::i#2 main::idx#4 main::w#0 ] ( main:2 [ main::i#2 main::idx#4 main::w#0 ] ) always clobbers reg byte a reg byte y -Statement [9] (byte~) main::$1 ← < (word) main::w#0 [ main::i#2 main::idx#4 main::w#0 main::$1 ] ( main:2 [ main::i#2 main::idx#4 main::w#0 main::$1 ] ) always clobbers reg byte a -Statement [12] (byte~) main::$2 ← > (word) main::w#0 [ main::i#2 main::idx#1 main::$2 ] ( main:2 [ main::i#2 main::idx#1 main::$2 ] ) always clobbers reg byte a -Potential registers zp ZP_BYTE:2 [ main::i#2 main::i#1 ] : zp ZP_BYTE:2 , reg byte x , -Potential registers zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] : zp ZP_BYTE:3 , reg byte x , +Statement [7] (word) main::w#0 ← *((const word[]) main::words#0 + (byte) main::$4) [ main::i#2 main::idx#4 main::w#0 ] ( main:2 [ main::i#2 main::idx#4 main::w#0 ] ) always clobbers reg byte a +Statement [8] (byte~) main::$1 ← < (word) main::w#0 [ main::i#2 main::idx#4 main::w#0 main::$1 ] ( main:2 [ main::i#2 main::idx#4 main::w#0 main::$1 ] ) always clobbers reg byte a +Statement [11] (byte~) main::$2 ← > (word) main::w#0 [ main::i#2 main::idx#1 main::$2 ] ( main:2 [ main::i#2 main::idx#1 main::$2 ] ) always clobbers reg byte a +Potential registers zp ZP_BYTE:2 [ main::i#2 main::i#1 ] : zp ZP_BYTE:2 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] : zp ZP_BYTE:3 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:4 [ main::$4 ] : zp ZP_BYTE:4 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:5 [ main::$0 ] : zp ZP_WORD:5 , -Potential registers zp ZP_WORD:7 [ main::w#0 ] : zp ZP_WORD:7 , -Potential registers zp ZP_BYTE:9 [ main::$1 ] : zp ZP_BYTE:9 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:10 [ main::idx#1 ] : zp ZP_BYTE:10 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:11 [ main::$2 ] : zp ZP_BYTE:11 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:12 [ main::idx#2 ] : zp ZP_BYTE:12 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:5 [ main::w#0 ] : zp ZP_WORD:5 , +Potential registers zp ZP_BYTE:7 [ main::$1 ] : zp ZP_BYTE:7 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:8 [ main::idx#1 ] : zp ZP_BYTE:8 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:9 [ main::$2 ] : zp ZP_BYTE:9 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:10 [ main::idx#2 ] : zp ZP_BYTE:10 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 22: zp ZP_BYTE:4 [ main::$4 ] 22: zp ZP_WORD:5 [ main::$0 ] 22: zp ZP_BYTE:9 [ main::$1 ] 22: zp ZP_BYTE:11 [ main::$2 ] 22: zp ZP_BYTE:12 [ main::idx#2 ] 19.5: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] 12.83: zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] 11: zp ZP_BYTE:10 [ main::idx#1 ] 8.25: zp ZP_WORD:7 [ main::w#0 ] +Uplift Scope [main] 22: zp ZP_BYTE:4 [ main::$4 ] 22: zp ZP_BYTE:7 [ main::$1 ] 22: zp ZP_BYTE:9 [ main::$2 ] 22: zp ZP_BYTE:10 [ main::idx#2 ] 19.8: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] 13.93: zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] 11: zp ZP_BYTE:8 [ main::idx#1 ] 8.25: zp ZP_WORD:5 [ main::w#0 ] Uplift Scope [] -Uplifting [main] best 1173 combination reg byte a [ main::$4 ] zp ZP_WORD:5 [ main::$0 ] reg byte a [ main::$1 ] reg byte a [ main::$2 ] reg byte a [ main::idx#2 ] zp ZP_BYTE:2 [ main::i#2 main::i#1 ] zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] zp ZP_BYTE:10 [ main::idx#1 ] zp ZP_WORD:7 [ main::w#0 ] -Limited combination testing to 100 combinations of 3072 possible. -Uplifting [] best 1173 combination +Uplifting [main] best 993 combination reg byte a [ main::$4 ] reg byte a [ main::$1 ] reg byte a [ main::$2 ] reg byte a [ main::idx#2 ] zp ZP_BYTE:2 [ main::i#2 main::i#1 ] zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] zp ZP_BYTE:8 [ main::idx#1 ] zp ZP_WORD:5 [ main::w#0 ] +Limited combination testing to 100 combinations of 6912 possible. +Uplifting [] best 993 combination Attempting to uplift remaining variables inzp ZP_BYTE:2 [ main::i#2 main::i#1 ] -Uplifting [main] best 1073 combination reg byte x [ main::i#2 main::i#1 ] +Uplifting [main] best 893 combination reg byte x [ main::i#2 main::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] -Uplifting [main] best 1073 combination zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] -Attempting to uplift remaining variables inzp ZP_BYTE:10 [ main::idx#1 ] -Uplifting [main] best 983 combination reg byte y [ main::idx#1 ] +Uplifting [main] best 893 combination zp ZP_BYTE:3 [ main::idx#4 main::idx#3 ] +Attempting to uplift remaining variables inzp ZP_BYTE:8 [ main::idx#1 ] +Uplifting [main] best 803 combination reg byte y [ main::idx#1 ] Allocated (was zp ZP_BYTE:3) zp ZP_BYTE:2 [ main::idx#4 main::idx#3 ] -Allocated (was zp ZP_WORD:5) zp ZP_WORD:3 [ main::$0 ] -Allocated (was zp ZP_WORD:7) zp ZP_WORD:5 [ main::w#0 ] +Allocated (was zp ZP_WORD:5) zp ZP_WORD:3 [ main::w#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 File Comments @@ -370,8 +353,7 @@ bend: //SEG10 main main: { .label SCREEN = $400 - .label _0 = 3 - .label w = 5 + .label w = 3 .label idx = 2 //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] b1_from_main: @@ -391,48 +373,40 @@ main: { //SEG18 [6] (byte) main::$4 ← (byte) main::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_rol_1 txa asl - //SEG19 [7] (word*~) main::$0 ← (const word[]) main::words#0 + (byte) main::$4 -- pwuz1=pwuc1_plus_vbuaa - clc - adc #words - adc #0 - sta _0+1 - //SEG20 [8] (word) main::w#0 ← *((word*~) main::$0) -- vwuz1=_deref_pwuz2 - ldy #0 - lda (_0),y + //SEG19 [7] (word) main::w#0 ← *((const word[]) main::words#0 + (byte) main::$4) -- vwuz1=pwuc1_derefidx_vbuaa + tay + lda words,y sta w - iny - lda (_0),y + lda words+1,y sta w+1 - //SEG21 [9] (byte~) main::$1 ← < (word) main::w#0 -- vbuaa=_lo_vwuz1 + //SEG20 [8] (byte~) main::$1 ← < (word) main::w#0 -- vbuaa=_lo_vwuz1 lda w - //SEG22 [10] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 -- pbuc1_derefidx_vbuz1=vbuaa + //SEG21 [9] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 -- pbuc1_derefidx_vbuz1=vbuaa ldy idx sta SCREEN,y - //SEG23 [11] (byte) main::idx#1 ← ++ (byte) main::idx#4 -- vbuyy=_inc_vbuz1 + //SEG22 [10] (byte) main::idx#1 ← ++ (byte) main::idx#4 -- vbuyy=_inc_vbuz1 ldy idx iny - //SEG24 [12] (byte~) main::$2 ← > (word) main::w#0 -- vbuaa=_hi_vwuz1 + //SEG23 [11] (byte~) main::$2 ← > (word) main::w#0 -- vbuaa=_hi_vwuz1 lda w+1 - //SEG25 [13] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 -- pbuc1_derefidx_vbuyy=vbuaa + //SEG24 [12] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 -- pbuc1_derefidx_vbuyy=vbuaa sta SCREEN,y - //SEG26 [14] (byte) main::idx#2 ← ++ (byte) main::idx#1 -- vbuaa=_inc_vbuyy + //SEG25 [13] (byte) main::idx#2 ← ++ (byte) main::idx#1 -- vbuaa=_inc_vbuyy iny tya - //SEG27 [15] (byte) main::idx#3 ← ++ (byte) main::idx#2 -- vbuz1=_inc_vbuaa + //SEG26 [14] (byte) main::idx#3 ← ++ (byte) main::idx#2 -- vbuz1=_inc_vbuaa clc adc #1 sta idx - //SEG28 [16] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + //SEG27 [15] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - //SEG29 [17] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + //SEG28 [16] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #4 bne b1_from_b1 jmp breturn - //SEG30 main::@return + //SEG29 main::@return breturn: - //SEG31 [18] return + //SEG30 [17] return rts // Clever word array that represents C64 numbers 0-7 words: .word $3130, $3332, $3534, $3736 @@ -471,7 +445,6 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (void()) main() -(word*~) main::$0 $0 zp ZP_WORD:3 22.0 (byte~) main::$1 reg byte a 22.0 (byte~) main::$2 reg byte a 22.0 (byte) main::$4 reg byte a 22.0 @@ -481,22 +454,21 @@ FINAL SYMBOL TABLE (const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400 (byte) main::i (byte) main::i#1 reg byte x 16.5 -(byte) main::i#2 reg byte x 3.0 +(byte) main::i#2 reg byte x 3.3000000000000003 (byte) main::idx (byte) main::idx#1 reg byte y 11.0 (byte) main::idx#2 reg byte a 22.0 (byte) main::idx#3 idx zp ZP_BYTE:2 7.333333333333333 -(byte) main::idx#4 idx zp ZP_BYTE:2 5.5 +(byte) main::idx#4 idx zp ZP_BYTE:2 6.6000000000000005 (word) main::w -(word) main::w#0 w zp ZP_WORD:5 8.25 +(word) main::w#0 w zp ZP_WORD:3 8.25 (word[]) main::words (const word[]) main::words#0 words = { (word/signed word/dword/signed dword) $3130, (word/signed word/dword/signed dword) $3332, (word/signed word/dword/signed dword) $3534, (word/signed word/dword/signed dword) $3736 } reg byte x [ main::i#2 main::i#1 ] zp ZP_BYTE:2 [ main::idx#4 main::idx#3 ] reg byte a [ main::$4 ] -zp ZP_WORD:3 [ main::$0 ] -zp ZP_WORD:5 [ main::w#0 ] +zp ZP_WORD:3 [ main::w#0 ] reg byte a [ main::$1 ] reg byte y [ main::idx#1 ] reg byte a [ main::$2 ] @@ -504,7 +476,7 @@ reg byte a [ main::idx#2 ] FINAL ASSEMBLER -Score: 851 +Score: 671 //SEG0 File Comments // Tests simple word pointer math @@ -523,8 +495,7 @@ Score: 851 //SEG10 main main: { .label SCREEN = $400 - .label _0 = 3 - .label w = 5 + .label w = 3 .label idx = 2 //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] //SEG12 [5] phi (byte) main::idx#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 @@ -540,45 +511,37 @@ main: { //SEG18 [6] (byte) main::$4 ← (byte) main::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_rol_1 txa asl - //SEG19 [7] (word*~) main::$0 ← (const word[]) main::words#0 + (byte) main::$4 -- pwuz1=pwuc1_plus_vbuaa - clc - adc #words - adc #0 - sta _0+1 - //SEG20 [8] (word) main::w#0 ← *((word*~) main::$0) -- vwuz1=_deref_pwuz2 - ldy #0 - lda (_0),y + //SEG19 [7] (word) main::w#0 ← *((const word[]) main::words#0 + (byte) main::$4) -- vwuz1=pwuc1_derefidx_vbuaa + tay + lda words,y sta w - iny - lda (_0),y + lda words+1,y sta w+1 - //SEG21 [9] (byte~) main::$1 ← < (word) main::w#0 -- vbuaa=_lo_vwuz1 + //SEG20 [8] (byte~) main::$1 ← < (word) main::w#0 -- vbuaa=_lo_vwuz1 lda w - //SEG22 [10] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 -- pbuc1_derefidx_vbuz1=vbuaa + //SEG21 [9] *((const byte*) main::SCREEN#0 + (byte) main::idx#4) ← (byte~) main::$1 -- pbuc1_derefidx_vbuz1=vbuaa ldy idx sta SCREEN,y - //SEG23 [11] (byte) main::idx#1 ← ++ (byte) main::idx#4 -- vbuyy=_inc_vbuz1 + //SEG22 [10] (byte) main::idx#1 ← ++ (byte) main::idx#4 -- vbuyy=_inc_vbuz1 iny - //SEG24 [12] (byte~) main::$2 ← > (word) main::w#0 -- vbuaa=_hi_vwuz1 + //SEG23 [11] (byte~) main::$2 ← > (word) main::w#0 -- vbuaa=_hi_vwuz1 lda w+1 - //SEG25 [13] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 -- pbuc1_derefidx_vbuyy=vbuaa + //SEG24 [12] *((const byte*) main::SCREEN#0 + (byte) main::idx#1) ← (byte~) main::$2 -- pbuc1_derefidx_vbuyy=vbuaa sta SCREEN,y - //SEG26 [14] (byte) main::idx#2 ← ++ (byte) main::idx#1 -- vbuaa=_inc_vbuyy + //SEG25 [13] (byte) main::idx#2 ← ++ (byte) main::idx#1 -- vbuaa=_inc_vbuyy iny tya - //SEG27 [15] (byte) main::idx#3 ← ++ (byte) main::idx#2 -- vbuz1=_inc_vbuaa + //SEG26 [14] (byte) main::idx#3 ← ++ (byte) main::idx#2 -- vbuz1=_inc_vbuaa clc adc #1 sta idx - //SEG28 [16] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + //SEG27 [15] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - //SEG29 [17] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + //SEG28 [16] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #4 bne b1 - //SEG30 main::@return - //SEG31 [18] return + //SEG29 main::@return + //SEG30 [17] return rts // Clever word array that represents C64 numbers 0-7 words: .word $3130, $3332, $3534, $3736 diff --git a/src/test/ref/word-pointer-math.sym b/src/test/ref/word-pointer-math.sym index 1464b943e..cb99f555c 100644 --- a/src/test/ref/word-pointer-math.sym +++ b/src/test/ref/word-pointer-math.sym @@ -2,7 +2,6 @@ (label) @begin (label) @end (void()) main() -(word*~) main::$0 $0 zp ZP_WORD:3 22.0 (byte~) main::$1 reg byte a 22.0 (byte~) main::$2 reg byte a 22.0 (byte) main::$4 reg byte a 22.0 @@ -12,22 +11,21 @@ (const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400 (byte) main::i (byte) main::i#1 reg byte x 16.5 -(byte) main::i#2 reg byte x 3.0 +(byte) main::i#2 reg byte x 3.3000000000000003 (byte) main::idx (byte) main::idx#1 reg byte y 11.0 (byte) main::idx#2 reg byte a 22.0 (byte) main::idx#3 idx zp ZP_BYTE:2 7.333333333333333 -(byte) main::idx#4 idx zp ZP_BYTE:2 5.5 +(byte) main::idx#4 idx zp ZP_BYTE:2 6.6000000000000005 (word) main::w -(word) main::w#0 w zp ZP_WORD:5 8.25 +(word) main::w#0 w zp ZP_WORD:3 8.25 (word[]) main::words (const word[]) main::words#0 words = { (word/signed word/dword/signed dword) $3130, (word/signed word/dword/signed dword) $3332, (word/signed word/dword/signed dword) $3534, (word/signed word/dword/signed dword) $3736 } reg byte x [ main::i#2 main::i#1 ] zp ZP_BYTE:2 [ main::idx#4 main::idx#3 ] reg byte a [ main::$4 ] -zp ZP_WORD:3 [ main::$0 ] -zp ZP_WORD:5 [ main::w#0 ] +zp ZP_WORD:3 [ main::w#0 ] reg byte a [ main::$1 ] reg byte y [ main::idx#1 ] reg byte a [ main::$2 ]