diff --git a/src/main/java/dk/camelot64/kickc/Compiler.java b/src/main/java/dk/camelot64/kickc/Compiler.java index f8fecc124..8ef420c24 100644 --- a/src/main/java/dk/camelot64/kickc/Compiler.java +++ b/src/main/java/dk/camelot64/kickc/Compiler.java @@ -239,13 +239,13 @@ public class Compiler { optimizations.add(new PassNVariableReferenceInfos(program)); optimizations.add(new Pass2ConstantAdditionElimination(program)); optimizations.add(new Pass2ConstantIfs(program)); + optimizations.add(new Pass2ConstantStringConsolidation(program)); optimizations.add(new Pass2FixInlineConstructors(program)); optimizations.add(new Pass2TypeInference(program)); optimizations.add(new PassNEliminateUnusedVars(program)); optimizations.add(new Pass2NopCastElimination(program)); optimizations.add(new Pass2EliminateUnusedBlocks(program)); optimizations.add(new Pass2RangeResolving(program)); - optimizations.add(new Pass2ConstantStringConsolidation(program)); pass2Execute(optimizations); } @@ -286,6 +286,7 @@ public class Compiler { constantOptimizations.add(new Pass2ConstantSimplification(program)); constantOptimizations.add(new Pass2ConstantIfs(program)); pass2Execute(constantOptimizations); + } /** @@ -390,7 +391,6 @@ public class Compiler { private void pass4RegisterAllocation() { - if(getLog().isVerboseLoopAnalysis()) { getLog().append("DOMINATORS"); } diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantStringConsolidation.java b/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantStringConsolidation.java index 86933f69e..ea5965b1c 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantStringConsolidation.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantStringConsolidation.java @@ -2,7 +2,12 @@ package dk.camelot64.kickc.passes; import dk.camelot64.kickc.model.Program; import dk.camelot64.kickc.model.symbols.ConstantVar; -import dk.camelot64.kickc.model.values.*; +import dk.camelot64.kickc.model.symbols.ProgramScope; +import dk.camelot64.kickc.model.types.SymbolType; +import dk.camelot64.kickc.model.values.ConstantRef; +import dk.camelot64.kickc.model.values.ConstantString; +import dk.camelot64.kickc.model.values.ConstantValue; +import dk.camelot64.kickc.model.values.ScopeRef; import java.util.ArrayList; import java.util.HashMap; @@ -33,7 +38,7 @@ public class Pass2ConstantStringConsolidation extends Pass2SsaOptimization { if(constVal instanceof ConstantString) { String constString = ((ConstantString) constVal).getString(); List constantVars = constantStringMap.get(constString); - if(constantVars==null) { + if(constantVars == null) { constantVars = new ArrayList<>(); constantStringMap.put(constString, constantVars); } @@ -41,11 +46,11 @@ public class Pass2ConstantStringConsolidation extends Pass2SsaOptimization { } } // Handle all constant strings with duplicate definitions - for(String str : constantStringMap.keySet()) { - List constantVars = constantStringMap.get(str); - if(constantVars.size()>1) { + for(String constantString : constantStringMap.keySet()) { + List constantVars = constantStringMap.get(constantString); + if(constantVars.size() > 1) { // Found duplicate constant strings - modified |= handleDuplicateConstantString(constantVars); + modified |= handleDuplicateConstantString(constantVars, constantString); } } @@ -54,29 +59,83 @@ public class Pass2ConstantStringConsolidation extends Pass2SsaOptimization { /** * Handle duplicate constants strings with identical values + * * @param constantVars The constant strings with identical values * @return true if any optimization was performed */ - private boolean handleDuplicateConstantString(List constantVars) { + private boolean handleDuplicateConstantString(List constantVars, String constString) { boolean modified = false; - // Look for a constant in the root scope + // Look for a constant in the root scope - or check if they are all in the same scope ConstantVar rootConstant = null; + boolean isCommonScope = true; + ScopeRef commonScope = null; for(ConstantVar constantVar : constantVars) { - if(constantVar.getScope().getRef().equals(ScopeRef.ROOT)) { + ScopeRef constScope = constantVar.getScope().getRef(); + if(constScope.equals(ScopeRef.ROOT)) { rootConstant = constantVar; break; } - } - if(rootConstant!=null) { - // Modify all other constants to be references to the root constant - for(ConstantVar constantVar : constantVars) { - if(!constantVar.equals(rootConstant)) { - constantVar.setValue(new ConstantRef(rootConstant)); - modified = true; + if(commonScope == null) { + commonScope = constScope; + } else { + if(!commonScope.equals(constScope)) { + // Found two different scopes + isCommonScope = false; } } } + + if(rootConstant == null) { + if(isCommonScope) { + // If all constants are in the same scope pick the first one as root + rootConstant = constantVars.get(0); + } else { + // Create a new root - and roll around again + ProgramScope rootScope = getScope(); + String localName = getRootName(constantVars); + ConstantVar newRootConstant = new ConstantVar(localName, rootScope, SymbolType.STRING, new ConstantString(constString)); + rootScope.add(newRootConstant); + rootConstant = newRootConstant; + } + } + // Modify all other constants to be references to the root constant + for(ConstantVar constantVar : constantVars) { + if(!constantVar.equals(rootConstant)) { + constantVar.setValue(new ConstantRef(rootConstant)); + modified = true; + } + } + if(getLog().isVerboseSSAOptimize()) { + getLog().append("Consolidated constant strings into " + rootConstant); + + } return modified; } + private String getRootName(List constantVars) { + String constName = null; + // Try all variables with non-intermediate names + for(ConstantVar constantVar : constantVars) { + if(!constantVar.getRef().isIntermediate()) { + String candidateName = constantVar.getLocalName(); + if(getScope().getSymbol(candidateName) == null) { + if(constName == null || constName.length() > candidateName.length()) { + constName = candidateName; + } + } + } + } + if(constName != null) { + return constName; + } + // Try string_nn until an unused name is found + int i = 0; + do { + String candidateName = "string_" + i; + if(getScope().getSymbol(candidateName) == null) { + return candidateName; + } + } while(true); + } + } diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 5f9940127..4492c9a76 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -44,6 +44,11 @@ public class TestPrograms { AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false); } + @Test + public void testStringConstConsolidationNoRoot() throws IOException, URISyntaxException { + compileAndCompare("string-const-consolidation-noroot"); + } + @Test public void testStringConstConsolidation() throws IOException, URISyntaxException { compileAndCompare("string-const-consolidation"); diff --git a/src/test/kc/string-const-consolidation-noroot.kc b/src/test/kc/string-const-consolidation-noroot.kc new file mode 100644 index 000000000..9858698a5 --- /dev/null +++ b/src/test/kc/string-const-consolidation-noroot.kc @@ -0,0 +1,17 @@ +// Tests that identical strings are consolidated + +byte* screen = $400; + +void main() { + byte[] rex1 = "rex@"; + byte[] rex2 = "rex@"; + print(rex1); + print(rex2); + print("rex@"); +} + +void print(byte* string) { + while(*string!='@') { + *screen++ = *string++; + } +} \ No newline at end of file diff --git a/src/test/kc/string-const-consolidation.kc b/src/test/kc/string-const-consolidation.kc index 5fd6e459d..79bfd61ed 100644 --- a/src/test/kc/string-const-consolidation.kc +++ b/src/test/kc/string-const-consolidation.kc @@ -4,7 +4,7 @@ byte[] rex1 = "rex@"; byte* screen = $400; void main() { - byte[] rex2 = rex1; + byte[] rex2 = "rex@"; print(rex1); print(rex2); print("rex@"); diff --git a/src/test/ref/c64dtv-gfxexplorer.asm b/src/test/ref/c64dtv-gfxexplorer.asm index a3d73368a..d661d29c6 100644 --- a/src/test/ref/c64dtv-gfxexplorer.asm +++ b/src/test/ref/c64dtv-gfxexplorer.asm @@ -1051,93 +1051,88 @@ form_mode: { render_preset_name: { .label name = 3 cmp #0 - beq b1 + beq b33 cmp #1 - beq b2 + beq b1 cmp #2 - beq b3 + beq b2 cmp #3 - beq b4 + beq b3 cmp #4 - beq b5 + beq b4 cmp #5 - beq b6 + beq b5 cmp #6 - beq b7 + beq b6 cmp #7 - beq b8 + beq b7 cmp #8 - beq b9 + beq b8 cmp #9 - beq b10 + beq b9 cmp #$a - beq b11 - lda #name_11 - sta name+1 - jmp b22 - b1: + beq b10 + b33: lda #name_0 sta name+1 jmp b22 - b2: + b1: lda #name_1 sta name+1 jmp b22 - b3: + b2: lda #name_2 sta name+1 jmp b22 - b4: + b3: lda #name_3 sta name+1 jmp b22 - b5: + b4: lda #name_4 sta name+1 jmp b22 - b6: + b5: lda #name_5 sta name+1 jmp b22 - b7: + b6: lda #name_6 sta name+1 jmp b22 - b8: + b7: lda #name_7 sta name+1 jmp b22 - b9: + b8: lda #name_8 sta name+1 jmp b22 - b10: + b9: lda #name_9 sta name+1 jmp b22 - b11: + b10: lda #name_10 @@ -1156,7 +1151,6 @@ render_preset_name: { name_8: .text "Sixs Fred @" name_9: .text "Sixs Fred 2 @" name_10: .text "8bpp Pixel Cell @" - name_11: .text "Standard Charset @" } // Print a string at a specific screen position // print_str_at(byte* zeropage(3) str, byte* zeropage(5) at) diff --git a/src/test/ref/c64dtv-gfxexplorer.cfg b/src/test/ref/c64dtv-gfxexplorer.cfg index b9fc48845..647d98683 100644 --- a/src/test/ref/c64dtv-gfxexplorer.cfg +++ b/src/test/ref/c64dtv-gfxexplorer.cfg @@ -602,7 +602,7 @@ render_preset_name::@33: scope:[render_preset_name] from render_preset_name::@3 [318] phi() to:render_preset_name::@22 render_preset_name::@22: scope:[render_preset_name] from render_preset_name render_preset_name::@23 render_preset_name::@24 render_preset_name::@25 render_preset_name::@26 render_preset_name::@27 render_preset_name::@28 render_preset_name::@29 render_preset_name::@30 render_preset_name::@31 render_preset_name::@32 render_preset_name::@33 - [319] (byte*) render_preset_name::name#12 ← phi( render_preset_name/(const byte*) render_preset_name::name#0 render_preset_name::@31/(const byte*) render_preset_name::name#9 render_preset_name::@32/(const byte*) render_preset_name::name#10 render_preset_name::@23/(const byte*) render_preset_name::name#1 render_preset_name::@24/(const byte*) render_preset_name::name#2 render_preset_name::@33/(const byte*) render_preset_name::name#11 render_preset_name::@25/(const byte*) render_preset_name::name#3 render_preset_name::@26/(const byte*) render_preset_name::name#4 render_preset_name::@27/(const byte*) render_preset_name::name#5 render_preset_name::@28/(const byte*) render_preset_name::name#6 render_preset_name::@29/(const byte*) render_preset_name::name#7 render_preset_name::@30/(const byte*) render_preset_name::name#8 ) + [319] (byte*) render_preset_name::name#12 ← phi( render_preset_name/(const byte*) render_preset_name::name#0 render_preset_name::@31/(const byte*) render_preset_name::name#9 render_preset_name::@32/(const byte*) render_preset_name::name#10 render_preset_name::@23/(const byte*) render_preset_name::name#1 render_preset_name::@24/(const byte*) render_preset_name::name#2 render_preset_name::@33/(const byte*) render_preset_name::name#0 render_preset_name::@25/(const byte*) render_preset_name::name#3 render_preset_name::@26/(const byte*) render_preset_name::name#4 render_preset_name::@27/(const byte*) render_preset_name::name#5 render_preset_name::@28/(const byte*) render_preset_name::name#6 render_preset_name::@29/(const byte*) render_preset_name::name#7 render_preset_name::@30/(const byte*) render_preset_name::name#8 ) [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#12 [321] call print_str_at to:render_preset_name::@return diff --git a/src/test/ref/c64dtv-gfxexplorer.log b/src/test/ref/c64dtv-gfxexplorer.log index 1ca172df3..3c5996f67 100644 --- a/src/test/ref/c64dtv-gfxexplorer.log +++ b/src/test/ref/c64dtv-gfxexplorer.log @@ -8909,6 +8909,7 @@ Removing PHI-reference to removed block (form_mode::@2) in block form_mode::@ret Removing PHI-reference to removed block (form_mode::@2) in block form_mode::@return if() condition always true - replacing block destination [720] if(true) goto form_mode::@3 Successful SSA optimization Pass2ConstantIfs +Successful SSA optimization Pass2ConstantStringConsolidation Fixing inline constructor with bitmap_clear::$3 ← *(bitmap_plot_xhi#0 + 0) w= *(bitmap_plot_xlo#0 + 0) Fixing inline constructor with bitmap_plot::$2 ← *(bitmap_plot_xhi#0 + bitmap_plot::x#4) w= *(bitmap_plot_xlo#0 + bitmap_plot::x#4) Fixing inline constructor with bitmap_plot::$3 ← *(bitmap_plot_yhi#0 + bitmap_plot::y#4) w= *(bitmap_plot_ylo#0 + bitmap_plot::y#4) @@ -9501,6 +9502,7 @@ Inlining constant with var siblings (const byte*) render_preset_name::name#8 Inlining constant with var siblings (const byte*) render_preset_name::name#9 Inlining constant with var siblings (const byte*) render_preset_name::name#10 Inlining constant with var siblings (const byte*) render_preset_name::name#11 +Successful SSA optimization Pass2ConstantStringConsolidation Simplifying constant plus zero form_fields_val#0+0 Simplifying constant plus zero bitmap_plot_xhi#0+0 Simplifying constant plus zero bitmap_plot_xlo#0+0 @@ -9517,6 +9519,7 @@ Inlining constant with var siblings (const byte*) render_preset_name::name#9 Inlining constant with var siblings (const byte*) render_preset_name::name#10 Inlining constant with var siblings (const byte*) render_preset_name::name#11 Constant inlined form_preset#0 = (const byte[]) form_fields_val#0 +Constant inlined render_preset_name::name#11 = (const byte*) render_preset_name::name#0 Successful SSA optimization Pass2ConstantInlining Inlining constant with var siblings (const byte*) render_preset_name::name#0 Inlining constant with var siblings (const byte*) render_preset_name::name#1 @@ -9529,7 +9532,6 @@ Inlining constant with var siblings (const byte*) render_preset_name::name#7 Inlining constant with var siblings (const byte*) render_preset_name::name#8 Inlining constant with var siblings (const byte*) render_preset_name::name#9 Inlining constant with var siblings (const byte*) render_preset_name::name#10 -Inlining constant with var siblings (const byte*) render_preset_name::name#11 Inlining constant with var siblings (const byte*) render_preset_name::name#0 Inlining constant with var siblings (const byte*) render_preset_name::name#1 Inlining constant with var siblings (const byte*) render_preset_name::name#2 @@ -9541,7 +9543,6 @@ Inlining constant with var siblings (const byte*) render_preset_name::name#7 Inlining constant with var siblings (const byte*) render_preset_name::name#8 Inlining constant with var siblings (const byte*) render_preset_name::name#9 Inlining constant with var siblings (const byte*) render_preset_name::name#10 -Inlining constant with var siblings (const byte*) render_preset_name::name#11 Added new block during phi lifting gfx_mode::@53(between gfx_mode::@1 and gfx_mode::@2) Added new block during phi lifting gfx_mode::@54(between gfx_mode::@2 and gfx_mode::@3) Added new block during phi lifting gfx_mode::@55(between gfx_mode::@3 and gfx_mode::@4) @@ -10769,7 +10770,7 @@ render_preset_name::@33: scope:[render_preset_name] from render_preset_name::@3 [318] phi() to:render_preset_name::@22 render_preset_name::@22: scope:[render_preset_name] from render_preset_name render_preset_name::@23 render_preset_name::@24 render_preset_name::@25 render_preset_name::@26 render_preset_name::@27 render_preset_name::@28 render_preset_name::@29 render_preset_name::@30 render_preset_name::@31 render_preset_name::@32 render_preset_name::@33 - [319] (byte*) render_preset_name::name#12 ← phi( render_preset_name/(const byte*) render_preset_name::name#0 render_preset_name::@31/(const byte*) render_preset_name::name#9 render_preset_name::@32/(const byte*) render_preset_name::name#10 render_preset_name::@23/(const byte*) render_preset_name::name#1 render_preset_name::@24/(const byte*) render_preset_name::name#2 render_preset_name::@33/(const byte*) render_preset_name::name#11 render_preset_name::@25/(const byte*) render_preset_name::name#3 render_preset_name::@26/(const byte*) render_preset_name::name#4 render_preset_name::@27/(const byte*) render_preset_name::name#5 render_preset_name::@28/(const byte*) render_preset_name::name#6 render_preset_name::@29/(const byte*) render_preset_name::name#7 render_preset_name::@30/(const byte*) render_preset_name::name#8 ) + [319] (byte*) render_preset_name::name#12 ← phi( render_preset_name/(const byte*) render_preset_name::name#0 render_preset_name::@31/(const byte*) render_preset_name::name#9 render_preset_name::@32/(const byte*) render_preset_name::name#10 render_preset_name::@23/(const byte*) render_preset_name::name#1 render_preset_name::@24/(const byte*) render_preset_name::name#2 render_preset_name::@33/(const byte*) render_preset_name::name#0 render_preset_name::@25/(const byte*) render_preset_name::name#3 render_preset_name::@26/(const byte*) render_preset_name::name#4 render_preset_name::@27/(const byte*) render_preset_name::name#5 render_preset_name::@28/(const byte*) render_preset_name::name#6 render_preset_name::@29/(const byte*) render_preset_name::name#7 render_preset_name::@30/(const byte*) render_preset_name::name#8 ) [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#12 [321] call print_str_at to:render_preset_name::@return @@ -16012,117 +16013,110 @@ render_preset_name: { jmp b33 //SEG604 render_preset_name::@33 b33: - //SEG605 [319] phi from render_preset_name::@33 to render_preset_name::@22 [phi:render_preset_name::@33->render_preset_name::@22] - b22_from_b33: - //SEG606 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#11 [phi:render_preset_name::@33->render_preset_name::@22#0] -- pbuz1=pbuc1 - lda #name_11 - sta name+1 - jmp b22 - //SEG607 [319] phi from render_preset_name to render_preset_name::@22 [phi:render_preset_name->render_preset_name::@22] + //SEG605 [319] phi from render_preset_name render_preset_name::@33 to render_preset_name::@22 [phi:render_preset_name/render_preset_name::@33->render_preset_name::@22] b22_from_render_preset_name: - //SEG608 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#0 [phi:render_preset_name->render_preset_name::@22#0] -- pbuz1=pbuc1 + b22_from_b33: + //SEG606 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#0 [phi:render_preset_name/render_preset_name::@33->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_0 sta name+1 jmp b22 - //SEG609 [319] phi from render_preset_name::@23 to render_preset_name::@22 [phi:render_preset_name::@23->render_preset_name::@22] + //SEG607 [319] phi from render_preset_name::@23 to render_preset_name::@22 [phi:render_preset_name::@23->render_preset_name::@22] b22_from_b23: - //SEG610 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#1 [phi:render_preset_name::@23->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG608 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#1 [phi:render_preset_name::@23->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_1 sta name+1 jmp b22 - //SEG611 [319] phi from render_preset_name::@24 to render_preset_name::@22 [phi:render_preset_name::@24->render_preset_name::@22] + //SEG609 [319] phi from render_preset_name::@24 to render_preset_name::@22 [phi:render_preset_name::@24->render_preset_name::@22] b22_from_b24: - //SEG612 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@24->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG610 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@24->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_2 sta name+1 jmp b22 - //SEG613 [319] phi from render_preset_name::@25 to render_preset_name::@22 [phi:render_preset_name::@25->render_preset_name::@22] + //SEG611 [319] phi from render_preset_name::@25 to render_preset_name::@22 [phi:render_preset_name::@25->render_preset_name::@22] b22_from_b25: - //SEG614 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@25->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG612 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@25->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_3 sta name+1 jmp b22 - //SEG615 [319] phi from render_preset_name::@26 to render_preset_name::@22 [phi:render_preset_name::@26->render_preset_name::@22] + //SEG613 [319] phi from render_preset_name::@26 to render_preset_name::@22 [phi:render_preset_name::@26->render_preset_name::@22] b22_from_b26: - //SEG616 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@26->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG614 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@26->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_4 sta name+1 jmp b22 - //SEG617 [319] phi from render_preset_name::@27 to render_preset_name::@22 [phi:render_preset_name::@27->render_preset_name::@22] + //SEG615 [319] phi from render_preset_name::@27 to render_preset_name::@22 [phi:render_preset_name::@27->render_preset_name::@22] b22_from_b27: - //SEG618 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@27->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG616 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@27->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_5 sta name+1 jmp b22 - //SEG619 [319] phi from render_preset_name::@28 to render_preset_name::@22 [phi:render_preset_name::@28->render_preset_name::@22] + //SEG617 [319] phi from render_preset_name::@28 to render_preset_name::@22 [phi:render_preset_name::@28->render_preset_name::@22] b22_from_b28: - //SEG620 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@28->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG618 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@28->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_6 sta name+1 jmp b22 - //SEG621 [319] phi from render_preset_name::@29 to render_preset_name::@22 [phi:render_preset_name::@29->render_preset_name::@22] + //SEG619 [319] phi from render_preset_name::@29 to render_preset_name::@22 [phi:render_preset_name::@29->render_preset_name::@22] b22_from_b29: - //SEG622 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@29->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG620 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@29->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_7 sta name+1 jmp b22 - //SEG623 [319] phi from render_preset_name::@30 to render_preset_name::@22 [phi:render_preset_name::@30->render_preset_name::@22] + //SEG621 [319] phi from render_preset_name::@30 to render_preset_name::@22 [phi:render_preset_name::@30->render_preset_name::@22] b22_from_b30: - //SEG624 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@30->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG622 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@30->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_8 sta name+1 jmp b22 - //SEG625 [319] phi from render_preset_name::@31 to render_preset_name::@22 [phi:render_preset_name::@31->render_preset_name::@22] + //SEG623 [319] phi from render_preset_name::@31 to render_preset_name::@22 [phi:render_preset_name::@31->render_preset_name::@22] b22_from_b31: - //SEG626 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@31->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG624 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@31->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_9 sta name+1 jmp b22 - //SEG627 [319] phi from render_preset_name::@32 to render_preset_name::@22 [phi:render_preset_name::@32->render_preset_name::@22] + //SEG625 [319] phi from render_preset_name::@32 to render_preset_name::@22 [phi:render_preset_name::@32->render_preset_name::@22] b22_from_b32: - //SEG628 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@32->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG626 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@32->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_10 sta name+1 jmp b22 - //SEG629 render_preset_name::@22 + //SEG627 render_preset_name::@22 b22: - //SEG630 [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#12 -- pbuz1=pbuz2 + //SEG628 [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#12 -- pbuz1=pbuz2 lda name sta print_str_at.str lda name+1 sta print_str_at.str+1 - //SEG631 [321] call print_str_at - //SEG632 [323] phi from render_preset_name::@22 to print_str_at [phi:render_preset_name::@22->print_str_at] + //SEG629 [321] call print_str_at + //SEG630 [323] phi from render_preset_name::@22 to print_str_at [phi:render_preset_name::@22->print_str_at] print_str_at_from_b22: jsr print_str_at jmp breturn - //SEG633 render_preset_name::@return + //SEG631 render_preset_name::@return breturn: - //SEG634 [322] return + //SEG632 [322] return rts name_0: .text "Standard Charset @" name_1: .text "Extended Color Charset @" @@ -16135,116 +16129,115 @@ render_preset_name: { name_8: .text "Sixs Fred @" name_9: .text "Sixs Fred 2 @" name_10: .text "8bpp Pixel Cell @" - name_11: .text "Standard Charset @" } -//SEG635 print_str_at +//SEG633 print_str_at // Print a string at a specific screen position // print_str_at(byte* zeropage($25) str, byte* zeropage($27) at) print_str_at: { .label at = $27 .label str = $25 - //SEG636 [324] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] + //SEG634 [324] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] b1_from_print_str_at: - //SEG637 [324] phi (byte*) print_str_at::at#2 = (const byte*) FORM_SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 10 [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 + //SEG635 [324] phi (byte*) print_str_at::at#2 = (const byte*) FORM_SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 10 [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 lda #FORM_SCREEN+$28*2+$a sta at+1 - //SEG638 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy + //SEG636 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy jmp b1 - //SEG639 print_str_at::@1 + //SEG637 print_str_at::@1 b1: - //SEG640 [325] if(*((byte*) print_str_at::str#2)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG638 [325] if(*((byte*) print_str_at::str#2)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 jmp breturn - //SEG641 print_str_at::@return + //SEG639 print_str_at::@return breturn: - //SEG642 [326] return + //SEG640 [326] return rts - //SEG643 print_str_at::@2 + //SEG641 print_str_at::@2 b2: - //SEG644 [327] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 + //SEG642 [327] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (at),y - //SEG645 [328] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 + //SEG643 [328] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 inc at bne !+ inc at+1 !: - //SEG646 [329] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 + //SEG644 [329] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG647 [324] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] + //SEG645 [324] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] b1_from_b2: - //SEG648 [324] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy - //SEG649 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy + //SEG646 [324] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy + //SEG647 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy jmp b1 } -//SEG650 form_render_values +//SEG648 form_render_values // Render all form values from the form_fields_val array form_render_values: { .label field = $10c .label idx = $29 - //SEG651 [331] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + //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: - //SEG652 [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 + //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 jmp b1 - //SEG653 [331] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + //SEG651 [331] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] b1_from_b3: - //SEG654 [331] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + //SEG652 [331] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy jmp b1 - //SEG655 form_render_values::@1 + //SEG653 form_render_values::@1 b1: - //SEG656 [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 -- vbuz1=vbuz2 + //SEG654 [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 -- vbuz1=vbuz2 lda idx sta form_field_ptr.field_idx - //SEG657 [333] call form_field_ptr - //SEG658 [340] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //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] form_field_ptr_from_b1: - //SEG659 [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 [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 jsr form_field_ptr - //SEG660 [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 -- pbuz1=pbuz2 + //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 b3 - //SEG661 form_render_values::@3 + //SEG659 form_render_values::@3 b3: - //SEG662 [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 -- pbuz1=pbuz2 + //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 - //SEG663 [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 + //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 ldy idx lda form_fields_val,y tay lda print_hextab,y ldy #0 sta (field),y - //SEG664 [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 + //SEG662 [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 inc idx - //SEG665 [338] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 -- vbuz1_lt_vbuc1_then_la1 + //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 bcc b1_from_b3 jmp breturn - //SEG666 form_render_values::@return + //SEG664 form_render_values::@return breturn: - //SEG667 [339] return + //SEG665 [339] return rts } -//SEG668 form_field_ptr +//SEG666 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) @@ -16256,21 +16249,21 @@ form_field_ptr: { .label return_2 = $10a .label return_3 = $114 .label _2 = $10f - //SEG669 [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //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 ldy field_idx lda form_fields_y,y sta y - //SEG670 [342] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + //SEG668 [342] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) 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 - //SEG671 [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 + //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 ldy field_idx lda form_fields_x,y sta x - //SEG672 [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz2_plus_vbuz3 + //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 @@ -16279,12 +16272,12 @@ form_field_ptr: { adc _2+1 sta return+1 jmp breturn - //SEG673 form_field_ptr::@return + //SEG671 form_field_ptr::@return breturn: - //SEG674 [345] return + //SEG672 [345] return rts } -//SEG675 apply_preset +//SEG673 apply_preset // Apply a form value preset to the form values // idx is the ID of the preset // apply_preset(byte zeropage($109) idx) @@ -16292,206 +16285,206 @@ apply_preset: { .label i = $2d .label idx = $109 .label preset = $2b - //SEG676 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@22 -- vbuz1_eq_0_then_la1 + //SEG674 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@22 -- vbuz1_eq_0_then_la1 lda idx cmp #0 beq b22_from_apply_preset jmp b24 - //SEG677 apply_preset::@24 + //SEG675 apply_preset::@24 b24: - //SEG678 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG676 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #1 beq b22_from_b24 jmp b25 - //SEG679 apply_preset::@25 + //SEG677 apply_preset::@25 b25: - //SEG680 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG678 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #2 beq b22_from_b25 jmp b26 - //SEG681 apply_preset::@26 + //SEG679 apply_preset::@26 b26: - //SEG682 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG680 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #3 beq b22_from_b26 jmp b27 - //SEG683 apply_preset::@27 + //SEG681 apply_preset::@27 b27: - //SEG684 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG682 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #4 beq b22_from_b27 jmp b28 - //SEG685 apply_preset::@28 + //SEG683 apply_preset::@28 b28: - //SEG686 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG684 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #5 beq b22_from_b28 jmp b29 - //SEG687 apply_preset::@29 + //SEG685 apply_preset::@29 b29: - //SEG688 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG686 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #6 beq b22_from_b29 jmp b30 - //SEG689 apply_preset::@30 + //SEG687 apply_preset::@30 b30: - //SEG690 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG688 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #7 beq b22_from_b30 jmp b31 - //SEG691 apply_preset::@31 + //SEG689 apply_preset::@31 b31: - //SEG692 [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG690 [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #8 beq b22_from_b31 jmp b32 - //SEG693 apply_preset::@32 + //SEG691 apply_preset::@32 b32: - //SEG694 [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG692 [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #9 beq b22_from_b32 jmp b33 - //SEG695 apply_preset::@33 + //SEG693 apply_preset::@33 b33: - //SEG696 [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 10) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 + //SEG694 [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 10) goto apply_preset::@22 -- vbuz1_eq_vbuc1_then_la1 lda idx cmp #$a beq b22_from_b33 - //SEG697 [357] phi from apply_preset::@33 to apply_preset::@34 [phi:apply_preset::@33->apply_preset::@34] + //SEG695 [357] phi from apply_preset::@33 to apply_preset::@34 [phi:apply_preset::@33->apply_preset::@34] b34_from_b33: jmp b34 - //SEG698 apply_preset::@34 + //SEG696 apply_preset::@34 b34: - //SEG699 [358] phi from apply_preset apply_preset::@34 to apply_preset::@22 [phi:apply_preset/apply_preset::@34->apply_preset::@22] + //SEG697 [358] phi from apply_preset apply_preset::@34 to apply_preset::@22 [phi:apply_preset/apply_preset::@34->apply_preset::@22] b22_from_apply_preset: b22_from_b34: - //SEG700 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@34->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG698 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@34->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_stdchar sta preset+1 jmp b22 - //SEG701 [358] phi from apply_preset::@24 to apply_preset::@22 [phi:apply_preset::@24->apply_preset::@22] + //SEG699 [358] phi from apply_preset::@24 to apply_preset::@22 [phi:apply_preset::@24->apply_preset::@22] b22_from_b24: - //SEG702 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@24->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG700 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@24->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_ecmchar sta preset+1 jmp b22 - //SEG703 [358] phi from apply_preset::@25 to apply_preset::@22 [phi:apply_preset::@25->apply_preset::@22] + //SEG701 [358] phi from apply_preset::@25 to apply_preset::@22 [phi:apply_preset::@25->apply_preset::@22] b22_from_b25: - //SEG704 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@25->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG702 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@25->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_stdbm sta preset+1 jmp b22 - //SEG705 [358] phi from apply_preset::@26 to apply_preset::@22 [phi:apply_preset::@26->apply_preset::@22] + //SEG703 [358] phi from apply_preset::@26 to apply_preset::@22 [phi:apply_preset::@26->apply_preset::@22] b22_from_b26: - //SEG706 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@26->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG704 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@26->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_mcbm sta preset+1 jmp b22 - //SEG707 [358] phi from apply_preset::@27 to apply_preset::@22 [phi:apply_preset::@27->apply_preset::@22] + //SEG705 [358] phi from apply_preset::@27 to apply_preset::@22 [phi:apply_preset::@27->apply_preset::@22] b22_from_b27: - //SEG708 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@27->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG706 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@27->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_hi_stdchar sta preset+1 jmp b22 - //SEG709 [358] phi from apply_preset::@28 to apply_preset::@22 [phi:apply_preset::@28->apply_preset::@22] + //SEG707 [358] phi from apply_preset::@28 to apply_preset::@22 [phi:apply_preset::@28->apply_preset::@22] b22_from_b28: - //SEG710 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@28->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG708 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@28->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_hi_ecmchar sta preset+1 jmp b22 - //SEG711 [358] phi from apply_preset::@29 to apply_preset::@22 [phi:apply_preset::@29->apply_preset::@22] + //SEG709 [358] phi from apply_preset::@29 to apply_preset::@22 [phi:apply_preset::@29->apply_preset::@22] b22_from_b29: - //SEG712 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@29->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG710 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@29->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_twoplane sta preset+1 jmp b22 - //SEG713 [358] phi from apply_preset::@30 to apply_preset::@22 [phi:apply_preset::@30->apply_preset::@22] + //SEG711 [358] phi from apply_preset::@30 to apply_preset::@22 [phi:apply_preset::@30->apply_preset::@22] b22_from_b30: - //SEG714 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_chunky#0 [phi:apply_preset::@30->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG712 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_chunky#0 [phi:apply_preset::@30->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_chunky sta preset+1 jmp b22 - //SEG715 [358] phi from apply_preset::@31 to apply_preset::@22 [phi:apply_preset::@31->apply_preset::@22] + //SEG713 [358] phi from apply_preset::@31 to apply_preset::@22 [phi:apply_preset::@31->apply_preset::@22] b22_from_b31: - //SEG716 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@31->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG714 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@31->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_sixsfred sta preset+1 jmp b22 - //SEG717 [358] phi from apply_preset::@32 to apply_preset::@22 [phi:apply_preset::@32->apply_preset::@22] + //SEG715 [358] phi from apply_preset::@32 to apply_preset::@22 [phi:apply_preset::@32->apply_preset::@22] b22_from_b32: - //SEG718 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@32->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG716 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@32->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_sixsfred2 sta preset+1 jmp b22 - //SEG719 [358] phi from apply_preset::@33 to apply_preset::@22 [phi:apply_preset::@33->apply_preset::@22] + //SEG717 [358] phi from apply_preset::@33 to apply_preset::@22 [phi:apply_preset::@33->apply_preset::@22] b22_from_b33: - //SEG720 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@33->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG718 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@33->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_8bpppixelcell sta preset+1 jmp b22 - //SEG721 apply_preset::@22 + //SEG719 apply_preset::@22 b22: - //SEG722 [359] phi from apply_preset::@22 to apply_preset::@23 [phi:apply_preset::@22->apply_preset::@23] + //SEG720 [359] phi from apply_preset::@22 to apply_preset::@23 [phi:apply_preset::@22->apply_preset::@23] b23_from_b22: - //SEG723 [359] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@22->apply_preset::@23#0] -- vbuz1=vbuc1 + //SEG721 [359] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@22->apply_preset::@23#0] -- vbuz1=vbuc1 lda #0 sta i jmp b23 // Copy preset values into the fields - //SEG724 [359] phi from apply_preset::@23 to apply_preset::@23 [phi:apply_preset::@23->apply_preset::@23] + //SEG722 [359] phi from apply_preset::@23 to apply_preset::@23 [phi:apply_preset::@23->apply_preset::@23] b23_from_b23: - //SEG725 [359] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@23->apply_preset::@23#0] -- register_copy + //SEG723 [359] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@23->apply_preset::@23#0] -- register_copy jmp b23 - //SEG726 apply_preset::@23 + //SEG724 apply_preset::@23 b23: - //SEG727 [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#13 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1 + //SEG725 [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#13 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1 ldy i lda (preset),y sta form_fields_val,y - //SEG728 [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuz1=_inc_vbuz1 + //SEG726 [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuz1=_inc_vbuz1 inc i - //SEG729 [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@23 -- vbuz1_neq_vbuc1_then_la1 + //SEG727 [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@23 -- vbuz1_neq_vbuc1_then_la1 lda i cmp #form_fields_cnt bne b23_from_b23 jmp breturn - //SEG730 apply_preset::@return + //SEG728 apply_preset::@return breturn: - //SEG731 [363] return + //SEG729 [363] return rts } -//SEG732 form_control +//SEG730 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: { @@ -16504,42 +16497,42 @@ form_control: { .label field = $116 .label key_event = $11a .label return_2 = $2e - //SEG733 [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuz1=vbuz2 + //SEG731 [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuz1=vbuz2 lda form_field_idx sta form_field_ptr.field_idx - //SEG734 [365] call form_field_ptr - //SEG735 [340] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG732 [365] call form_field_ptr + //SEG733 [340] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - //SEG736 [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 + //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 jsr form_field_ptr - //SEG737 [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 -- pbuz1=pbuz2 + //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 b33 - //SEG738 form_control::@33 + //SEG736 form_control::@33 b33: - //SEG739 [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 -- pbuz1=pbuz2 + //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 - //SEG740 [368] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 + //SEG738 [368] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG741 [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@36 -- vbsz1_ge_0_then_la1 + //SEG739 [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@36 -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b36_from_b33 - //SEG742 [370] phi from form_control::@33 to form_control::@1 [phi:form_control::@33->form_control::@1] + //SEG740 [370] phi from form_control::@33 to form_control::@1 [phi:form_control::@33->form_control::@1] b1_from_b33: - //SEG743 [370] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@33->form_control::@1#0] -- vbsz1=vbsc1 + //SEG741 [370] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@33->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count jmp b1 - //SEG744 form_control::@1 + //SEG742 form_control::@1 b1: - //SEG745 [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 + //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 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -16548,169 +16541,169 @@ form_control: { !: bmi b2 jmp b16 - //SEG746 form_control::@16 + //SEG744 form_control::@16 b16: - //SEG747 [372] (byte~) form_control::$5 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG745 [372] (byte~) form_control::$5 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$7f ldy #0 and (field),y sta _5 - //SEG748 [373] *((byte*) form_control::field#0) ← (byte~) form_control::$5 -- _deref_pbuz1=vbuz2 + //SEG746 [373] *((byte*) form_control::field#0) ← (byte~) form_control::$5 -- _deref_pbuz1=vbuz2 lda _5 ldy #0 sta (field),y - //SEG749 [374] phi from form_control::@16 form_control::@2 to form_control::@3 [phi:form_control::@16/form_control::@2->form_control::@3] + //SEG747 [374] phi from form_control::@16 form_control::@2 to form_control::@3 [phi:form_control::@16/form_control::@2->form_control::@3] b3_from_b16: b3_from_b2: jmp b3 - //SEG750 form_control::@3 + //SEG748 form_control::@3 b3: - //SEG751 [375] call keyboard_event_scan - //SEG752 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + //SEG749 [375] call keyboard_event_scan + //SEG750 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] keyboard_event_scan_from_b3: - //SEG753 [159] phi (byte) keyboard_events_size#110 = (byte) keyboard_events_size#47 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy + //SEG751 [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 - //SEG754 [376] phi from form_control::@3 to form_control::@34 [phi:form_control::@3->form_control::@34] + //SEG752 [376] phi from form_control::@3 to form_control::@34 [phi:form_control::@3->form_control::@34] b34_from_b3: jmp b34 - //SEG755 form_control::@34 + //SEG753 form_control::@34 b34: - //SEG756 [377] call keyboard_event_get + //SEG754 [377] call keyboard_event_get jsr keyboard_event_get - //SEG757 [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 -- vbuz1=vbuz2 + //SEG755 [378] (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 b35 - //SEG758 form_control::@35 + //SEG756 form_control::@35 b35: - //SEG759 [379] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 -- vbuz1=vbuz2 + //SEG757 [379] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 -- vbuz1=vbuz2 lda keyboard_event_get.return_4 sta key_event - //SEG760 [380] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuz1_neq_vbuc1_then_la1 + //SEG758 [380] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuz1_neq_vbuc1_then_la1 lda key_event cmp #KEY_CRSR_DOWN bne b4 jmp b18 - //SEG761 form_control::@18 + //SEG759 form_control::@18 b18: - //SEG762 [381] (byte~) form_control::$11 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG760 [381] (byte~) form_control::$11 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$7f ldy #0 and (field),y sta _11 - //SEG763 [382] *((byte*) form_control::field#0) ← (byte~) form_control::$11 -- _deref_pbuz1=vbuz2 + //SEG761 [382] *((byte*) form_control::field#0) ← (byte~) form_control::$11 -- _deref_pbuz1=vbuz2 // Unblink the cursor lda _11 ldy #0 sta (field),y - //SEG764 [383] (byte~) form_control::$12 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuz1=vbuz2_band_vbuc1 + //SEG762 [383] (byte~) form_control::$12 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuz1=vbuz2_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers sta _12 - //SEG765 [384] if((byte~) form_control::$12==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@5 -- vbuz1_eq_0_then_la1 + //SEG763 [384] if((byte~) form_control::$12==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@5 -- vbuz1_eq_0_then_la1 lda _12 cmp #0 beq b5 jmp b19 - //SEG766 form_control::@19 + //SEG764 form_control::@19 b19: - //SEG767 [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuz1=_dec_vbuz1 + //SEG765 [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG768 [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@37 -- vbuz1_neq_vbuc1_then_la1 + //SEG766 [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@37 -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #$ff bne b37_from_b19 - //SEG769 [387] phi from form_control::@19 to form_control::@7 [phi:form_control::@19->form_control::@7] + //SEG767 [387] phi from form_control::@19 to form_control::@7 [phi:form_control::@19->form_control::@7] b7_from_b19: - //SEG770 [387] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@19->form_control::@7#0] -- vbuz1=vbuc1 + //SEG768 [387] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@19->form_control::@7#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx jmp b7 - //SEG771 form_control::@7 + //SEG769 form_control::@7 b7: - //SEG772 [388] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] + //SEG770 [388] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] breturn_from_b7: - //SEG773 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@7->form_control::@return#0] -- register_copy - //SEG774 [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::@7->form_control::@return#1] -- vbsz1=vbuc1 + //SEG771 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@7->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::@7->form_control::@return#1] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count - //SEG775 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@7->form_control::@return#2] -- vbuz1=vbuc1 + //SEG773 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@7->form_control::@return#2] -- vbuz1=vbuc1 lda #0 sta return_2 jmp breturn - //SEG776 form_control::@return + //SEG774 form_control::@return breturn: - //SEG777 [389] return + //SEG775 [389] return rts - //SEG778 [390] phi from form_control::@19 to form_control::@37 [phi:form_control::@19->form_control::@37] + //SEG776 [390] phi from form_control::@19 to form_control::@37 [phi:form_control::@19->form_control::@37] b37_from_b19: jmp b37 - //SEG779 form_control::@37 + //SEG777 form_control::@37 b37: - //SEG780 [387] phi from form_control::@37 form_control::@38 to form_control::@7 [phi:form_control::@37/form_control::@38->form_control::@7] + //SEG778 [387] phi from form_control::@37 form_control::@38 to form_control::@7 [phi:form_control::@37/form_control::@38->form_control::@7] b7_from_b37: b7_from_b38: - //SEG781 [387] phi (byte) form_field_idx#32 = (byte) form_field_idx#44 [phi:form_control::@37/form_control::@38->form_control::@7#0] -- register_copy + //SEG779 [387] phi (byte) form_field_idx#32 = (byte) form_field_idx#44 [phi:form_control::@37/form_control::@38->form_control::@7#0] -- register_copy jmp b7 - //SEG782 form_control::@5 + //SEG780 form_control::@5 b5: - //SEG783 [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuz1=_inc_vbuz1 + //SEG781 [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG784 [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@38 -- vbuz1_neq_vbuc1_then_la1 + //SEG782 [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@38 -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #form_fields_cnt bne b38_from_b5 - //SEG785 [387] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] + //SEG783 [387] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] b7_from_b5: - //SEG786 [387] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@5->form_control::@7#0] -- vbuz1=vbuc1 + //SEG784 [387] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@5->form_control::@7#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx jmp b7 - //SEG787 [393] phi from form_control::@5 to form_control::@38 [phi:form_control::@5->form_control::@38] + //SEG785 [393] phi from form_control::@5 to form_control::@38 [phi:form_control::@5->form_control::@38] b38_from_b5: jmp b38 - //SEG788 form_control::@38 + //SEG786 form_control::@38 b38: jmp b7_from_b38 - //SEG789 form_control::@4 + //SEG787 form_control::@4 b4: - //SEG790 [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@9 -- vbuz1_neq_vbuc1_then_la1 + //SEG788 [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@9 -- vbuz1_neq_vbuc1_then_la1 lda key_event cmp #KEY_CRSR_RIGHT bne b9 jmp b24 - //SEG791 form_control::@24 + //SEG789 form_control::@24 b24: - //SEG792 [395] (byte~) form_control::$22 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuz1=vbuz2_band_vbuc1 + //SEG790 [395] (byte~) form_control::$22 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuz1=vbuz2_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers sta _22 - //SEG793 [396] if((byte~) form_control::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@10 -- vbuz1_eq_0_then_la1 + //SEG791 [396] if((byte~) form_control::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@10 -- vbuz1_eq_0_then_la1 lda _22 cmp #0 beq b10 jmp b25 - //SEG794 form_control::@25 + //SEG792 form_control::@25 b25: - //SEG795 [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 + //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 ldx form_field_idx dec form_fields_val,x - //SEG796 [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@12 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG794 [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@12 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 ldy form_field_idx lda form_fields_val,y cmp #$ff bne b12 jmp b26 - //SEG797 form_control::@26 + //SEG795 form_control::@26 b26: - //SEG798 [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 + //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 ldy form_field_idx lda form_fields_max,y sta form_fields_val,y jmp b12 - //SEG799 form_control::@12 + //SEG797 form_control::@12 b12: - //SEG800 [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 + //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 // Render field value ldy form_field_idx lda form_fields_val,y @@ -16718,77 +16711,77 @@ form_control: { lda print_hextab,y ldy #0 sta (field),y - //SEG801 [388] phi from form_control::@12 form_control::@39 to form_control::@return [phi:form_control::@12/form_control::@39->form_control::@return] + //SEG799 [388] phi from form_control::@12 form_control::@39 to form_control::@return [phi:form_control::@12/form_control::@39->form_control::@return] breturn_from_b12: breturn_from_b39: - //SEG802 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@12/form_control::@39->form_control::@return#0] -- register_copy - //SEG803 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@12/form_control::@39->form_control::@return#1] -- register_copy - //SEG804 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@12/form_control::@39->form_control::@return#2] -- vbuz1=vbuc1 + //SEG800 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@12/form_control::@39->form_control::@return#0] -- register_copy + //SEG801 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@12/form_control::@39->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::@12/form_control::@39->form_control::@return#2] -- vbuz1=vbuc1 lda #0 sta return_2 jmp breturn - //SEG805 form_control::@10 + //SEG803 form_control::@10 b10: - //SEG806 [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 + //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 ldx form_field_idx inc form_fields_val,x - //SEG807 [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::@12 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //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::@12 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b12 beq b12 jmp b28 - //SEG808 form_control::@28 + //SEG806 form_control::@28 b28: - //SEG809 [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 + //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 ldy form_field_idx lda #0 sta form_fields_val,y jmp b12 - //SEG810 form_control::@9 + //SEG808 form_control::@9 b9: - //SEG811 [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@39 -- vbuz1_neq_vbuc1_then_la1 + //SEG809 [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@39 -- vbuz1_neq_vbuc1_then_la1 lda key_event cmp #KEY_SPACE bne b39_from_b9 - //SEG812 [388] phi from form_control::@9 to form_control::@return [phi:form_control::@9->form_control::@return] + //SEG810 [388] phi from form_control::@9 to form_control::@return [phi:form_control::@9->form_control::@return] breturn_from_b9: - //SEG813 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@9->form_control::@return#0] -- register_copy - //SEG814 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@9->form_control::@return#1] -- register_copy - //SEG815 [388] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:form_control::@9->form_control::@return#2] -- vbuz1=vbuc1 + //SEG811 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@9->form_control::@return#0] -- register_copy + //SEG812 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@9->form_control::@return#1] -- register_copy + //SEG813 [388] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:form_control::@9->form_control::@return#2] -- vbuz1=vbuc1 lda #$ff sta return_2 jmp breturn - //SEG816 [405] phi from form_control::@9 to form_control::@39 [phi:form_control::@9->form_control::@39] + //SEG814 [405] phi from form_control::@9 to form_control::@39 [phi:form_control::@9->form_control::@39] b39_from_b9: jmp b39 - //SEG817 form_control::@39 + //SEG815 form_control::@39 b39: jmp breturn_from_b39 - //SEG818 form_control::@2 + //SEG816 form_control::@2 b2: - //SEG819 [406] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 -- vbuz1=_deref_pbuz2_bor_vbuc1 + //SEG817 [406] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 -- vbuz1=_deref_pbuz2_bor_vbuc1 lda #$80 ldy #0 ora (field),y sta _6 - //SEG820 [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 -- _deref_pbuz1=vbuz2 + //SEG818 [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 -- _deref_pbuz1=vbuz2 lda _6 ldy #0 sta (field),y jmp b3_from_b2 - //SEG821 [408] phi from form_control::@33 to form_control::@36 [phi:form_control::@33->form_control::@36] + //SEG819 [408] phi from form_control::@33 to form_control::@36 [phi:form_control::@33->form_control::@36] b36_from_b33: jmp b36 - //SEG822 form_control::@36 + //SEG820 form_control::@36 b36: - //SEG823 [370] phi from form_control::@36 to form_control::@1 [phi:form_control::@36->form_control::@1] + //SEG821 [370] phi from form_control::@36 to form_control::@1 [phi:form_control::@36->form_control::@1] b1_from_b36: - //SEG824 [370] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@36->form_control::@1#0] -- register_copy + //SEG822 [370] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@36->form_control::@1#0] -- register_copy jmp b1 } -//SEG825 form_set_screen +//SEG823 form_set_screen // Set the screen to use for the form. // screen is the start address of the screen to use form_set_screen: { @@ -16796,39 +16789,39 @@ form_set_screen: { .label _1 = $120 .label line = $2f .label y = $31 - //SEG826 [410] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + //SEG824 [410] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] b1_from_form_set_screen: - //SEG827 [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 + //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 lda #0 sta y - //SEG828 [410] phi (byte*) form_set_screen::line#2 = (const byte*) FORM_SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + //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 lda #FORM_SCREEN sta line+1 jmp b1 - //SEG829 [410] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG827 [410] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] b1_from_b1: - //SEG830 [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 - //SEG831 [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 + //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 jmp b1 - //SEG832 form_set_screen::@1 + //SEG830 form_set_screen::@1 b1: - //SEG833 [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuz1=_lo_pbuz2 + //SEG831 [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuz1=_lo_pbuz2 lda line sta _0 - //SEG834 [412] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG832 [412] *((const byte[25]) 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 - //SEG835 [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuz1=_hi_pbuz2 + //SEG833 [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuz1=_hi_pbuz2 lda line+1 sta _1 - //SEG836 [414] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG834 [414] *((const byte[25]) 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 - //SEG837 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 + //SEG835 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 lda line clc adc #$28 @@ -16836,120 +16829,120 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG838 [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuz1=_inc_vbuz1 + //SEG836 [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG839 [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG837 [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 -- vbuz1_neq_vbuc1_then_la1 lda y cmp #$19 bne b1_from_b1 jmp breturn - //SEG840 form_set_screen::@return + //SEG838 form_set_screen::@return breturn: - //SEG841 [418] return + //SEG839 [418] return rts } -//SEG842 print_str_lines +//SEG840 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 str = $32 - //SEG843 [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG841 [420] (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 - //SEG844 [421] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] + //SEG842 [421] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] b1_from_print_str_lines: b1_from_b9: - //SEG845 [421] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG846 [421] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#77 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG847 [421] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy + //SEG843 [421] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->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::@9->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::@9->print_str_lines::@1#2] -- register_copy jmp b1 - //SEG848 print_str_lines::@1 + //SEG846 print_str_lines::@1 b1: - //SEG849 [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG847 [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4_from_b1 jmp breturn - //SEG850 print_str_lines::@return + //SEG848 print_str_lines::@return breturn: - //SEG851 [423] return + //SEG849 [423] return rts - //SEG852 [424] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG850 [424] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] b4_from_b1: b4_from_b5: - //SEG853 [424] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG854 [424] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG851 [424] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#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::@5->print_str_lines::@4#1] -- register_copy jmp b4 - //SEG855 print_str_lines::@4 + //SEG853 print_str_lines::@4 b4: - //SEG856 [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuz1=_deref_pbuz2 + //SEG854 [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuz1=_deref_pbuz2 ldy #0 lda (str),y sta ch - //SEG857 [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 + //SEG855 [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG858 [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 -- vbuz1_eq_vbuc1_then_la1 + //SEG856 [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 -- vbuz1_eq_vbuc1_then_la1 lda ch cmp #'@' beq b5_from_b4 jmp b8 - //SEG859 print_str_lines::@8 + //SEG857 print_str_lines::@8 b8: - //SEG860 [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuz2 + //SEG858 [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuz2 lda ch ldy #0 sta (print_char_cursor),y - //SEG861 [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 + //SEG859 [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG862 [430] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG860 [430] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] b5_from_b4: b5_from_b8: - //SEG863 [430] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG861 [430] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy jmp b5 - //SEG864 print_str_lines::@5 + //SEG862 print_str_lines::@5 b5: - //SEG865 [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 -- vbuz1_neq_vbuc1_then_la1 + //SEG863 [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 -- vbuz1_neq_vbuc1_then_la1 lda ch cmp #'@' bne b4_from_b5 - //SEG866 [432] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG864 [432] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] b9_from_b5: jmp b9 - //SEG867 print_str_lines::@9 + //SEG865 print_str_lines::@9 b9: - //SEG868 [433] call print_ln - //SEG869 [435] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG866 [433] call print_ln + //SEG867 [435] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] print_ln_from_b9: jsr print_ln - //SEG870 [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 -- pbuz1=pbuz2 + //SEG868 [434] (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_b9 } -//SEG871 print_ln +//SEG869 print_ln // Print a newline print_ln: { - //SEG872 [436] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG870 [436] 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: - //SEG873 [436] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //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 jmp b1 - //SEG874 print_ln::@1 + //SEG872 print_ln::@1 b1: - //SEG875 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 + //SEG873 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -16957,7 +16950,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG876 [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + //SEG874 [438] 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 @@ -16967,38 +16960,38 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG877 print_ln::@return + //SEG875 print_ln::@return breturn: - //SEG878 [439] return + //SEG876 [439] return rts } -//SEG879 print_cls +//SEG877 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { .label _0 = $122 .label sc = $38 - //SEG880 [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG878 [440] (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 - //SEG881 [441] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] + //SEG879 [441] 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: - //SEG882 [441] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy + //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 jmp b1 - //SEG883 print_cls::@1 + //SEG881 print_cls::@1 b1: - //SEG884 [442] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + //SEG882 [442] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG885 [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + //SEG883 [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG886 [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 -- pbuz1=pbuz2_plus_vwuc1 + //SEG884 [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 -- pbuz1=pbuz2_plus_vwuc1 lda print_set_screen.screen clc adc #<$3e8 @@ -17006,7 +16999,7 @@ print_cls: { lda print_set_screen.screen+1 adc #>$3e8 sta _0+1 - //SEG887 [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -- pbuz1_neq_pbuz2_then_la1 + //SEG885 [445] 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 @@ -17014,169 +17007,169 @@ print_cls: { cmp _0 bne b1_from_b1 jmp breturn - //SEG888 print_cls::@return + //SEG886 print_cls::@return breturn: - //SEG889 [446] return + //SEG887 [446] return rts } -//SEG890 print_set_screen +//SEG888 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 - //SEG891 print_set_screen::@return + //SEG889 print_set_screen::@return breturn: - //SEG892 [448] return + //SEG890 [448] return rts } -//SEG893 gfx_init +//SEG891 gfx_init // Initialize the different graphics in the memory gfx_init: { - //SEG894 [450] call gfx_init_screen0 - //SEG895 [848] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] + //SEG892 [450] call gfx_init_screen0 + //SEG893 [848] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] gfx_init_screen0_from_gfx_init: jsr gfx_init_screen0 - //SEG896 [451] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] + //SEG894 [451] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] b1_from_gfx_init: jmp b1 - //SEG897 gfx_init::@1 + //SEG895 gfx_init::@1 b1: - //SEG898 [452] call gfx_init_screen1 - //SEG899 [836] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] + //SEG896 [452] call gfx_init_screen1 + //SEG897 [836] 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 - //SEG900 [453] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] + //SEG898 [453] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] b2_from_b1: jmp b2 - //SEG901 gfx_init::@2 + //SEG899 gfx_init::@2 b2: - //SEG902 [454] call gfx_init_screen2 - //SEG903 [821] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] + //SEG900 [454] call gfx_init_screen2 + //SEG901 [821] 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 - //SEG904 [455] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] + //SEG902 [455] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] b3_from_b2: jmp b3 - //SEG905 gfx_init::@3 + //SEG903 gfx_init::@3 b3: - //SEG906 [456] call gfx_init_screen3 - //SEG907 [807] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] + //SEG904 [456] call gfx_init_screen3 + //SEG905 [807] 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 - //SEG908 [457] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] + //SEG906 [457] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] b4_from_b3: jmp b4 - //SEG909 gfx_init::@4 + //SEG907 gfx_init::@4 b4: - //SEG910 [458] call gfx_init_screen4 - //SEG911 [797] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] + //SEG908 [458] call gfx_init_screen4 + //SEG909 [797] 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 - //SEG912 [459] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] + //SEG910 [459] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] b5_from_b4: jmp b5 - //SEG913 gfx_init::@5 + //SEG911 gfx_init::@5 b5: - //SEG914 [460] call gfx_init_charset + //SEG912 [460] call gfx_init_charset jsr gfx_init_charset - //SEG915 [461] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] + //SEG913 [461] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] b6_from_b5: jmp b6 - //SEG916 gfx_init::@6 + //SEG914 gfx_init::@6 b6: - //SEG917 [462] call gfx_init_vic_bitmap - //SEG918 [606] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] + //SEG915 [462] call gfx_init_vic_bitmap + //SEG916 [606] 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 - //SEG919 [463] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] + //SEG917 [463] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] b7_from_b6: jmp b7 - //SEG920 gfx_init::@7 + //SEG918 gfx_init::@7 b7: - //SEG921 [464] call gfx_init_plane_8bppchunky - //SEG922 [586] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] + //SEG919 [464] call gfx_init_plane_8bppchunky + //SEG920 [586] 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 - //SEG923 [465] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] + //SEG921 [465] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] b8_from_b7: jmp b8 - //SEG924 gfx_init::@8 + //SEG922 gfx_init::@8 b8: - //SEG925 [466] call gfx_init_plane_charset8 - //SEG926 [561] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] + //SEG923 [466] call gfx_init_plane_charset8 + //SEG924 [561] 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 - //SEG927 [467] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] + //SEG925 [467] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] b9_from_b8: jmp b9 - //SEG928 gfx_init::@9 + //SEG926 gfx_init::@9 b9: - //SEG929 [468] call gfx_init_plane_horisontal - //SEG930 [543] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] + //SEG927 [468] call gfx_init_plane_horisontal + //SEG928 [543] 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 - //SEG931 [469] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] + //SEG929 [469] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] b10_from_b9: jmp b10 - //SEG932 gfx_init::@10 + //SEG930 gfx_init::@10 b10: - //SEG933 [470] call gfx_init_plane_vertical - //SEG934 [530] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] + //SEG931 [470] call gfx_init_plane_vertical + //SEG932 [530] 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 - //SEG935 [471] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] + //SEG933 [471] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] b11_from_b10: jmp b11 - //SEG936 gfx_init::@11 + //SEG934 gfx_init::@11 b11: - //SEG937 [472] call gfx_init_plane_horisontal2 - //SEG938 [515] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] + //SEG935 [472] call gfx_init_plane_horisontal2 + //SEG936 [515] 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 - //SEG939 [473] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] + //SEG937 [473] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] b12_from_b11: jmp b12 - //SEG940 gfx_init::@12 + //SEG938 gfx_init::@12 b12: - //SEG941 [474] call gfx_init_plane_vertical2 - //SEG942 [512] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] + //SEG939 [474] call gfx_init_plane_vertical2 + //SEG940 [512] 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 - //SEG943 [475] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] + //SEG941 [475] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] b13_from_b12: jmp b13 - //SEG944 gfx_init::@13 + //SEG942 gfx_init::@13 b13: - //SEG945 [476] call gfx_init_plane_blank - //SEG946 [509] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] + //SEG943 [476] call gfx_init_plane_blank + //SEG944 [509] 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 - //SEG947 [477] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] + //SEG945 [477] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] b14_from_b13: jmp b14 - //SEG948 gfx_init::@14 + //SEG946 gfx_init::@14 b14: - //SEG949 [478] call gfx_init_plane_full - //SEG950 [480] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] + //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] gfx_init_plane_full_from_b14: jsr gfx_init_plane_full jmp breturn - //SEG951 gfx_init::@return + //SEG949 gfx_init::@return breturn: - //SEG952 [479] return + //SEG950 [479] return rts } -//SEG953 gfx_init_plane_full +//SEG951 gfx_init_plane_full // Initialize Plane with all pixels gfx_init_plane_full: { - //SEG954 [481] call gfx_init_plane_fill - //SEG955 [483] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] + //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] gfx_init_plane_fill_from_gfx_init_plane_full: - //SEG956 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) 255 [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG954 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) 255 [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$ff sta gfx_init_plane_fill.fill - //SEG957 [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 + //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 lda #PLANE_FULL @@ -17187,12 +17180,12 @@ gfx_init_plane_full: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG958 gfx_init_plane_full::@return + //SEG956 gfx_init_plane_full::@return breturn: - //SEG959 [482] return + //SEG957 [482] return rts } -//SEG960 gfx_init_plane_fill +//SEG958 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: { @@ -17208,7 +17201,7 @@ gfx_init_plane_fill: { .label by = $3f .label plane_addr = $3a .label fill = $3e - //SEG961 [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 + //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 lda plane_addr sta _0 lda plane_addr+1 @@ -17225,42 +17218,42 @@ gfx_init_plane_fill: { rol _0+1 rol _0+2 rol _0+3 - //SEG962 [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 + //SEG960 [485] (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 - //SEG963 [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuz1=_lo_vwuz2 + //SEG961 [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuz1=_lo_vwuz2 lda _1 sta gfxbCpuBank - //SEG964 [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuz1=vbuz2 + //SEG962 [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuz1=vbuz2 lda gfxbCpuBank sta dtvSetCpuBankSegment1.cpuBankIdx - //SEG965 [488] call dtvSetCpuBankSegment1 - //SEG966 [505] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] + //SEG963 [488] call dtvSetCpuBankSegment1 + //SEG964 [505] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_fill: - //SEG967 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy + //SEG965 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp b5 - //SEG968 gfx_init_plane_fill::@5 + //SEG966 gfx_init_plane_fill::@5 b5: - //SEG969 [489] (byte) gfx_init_plane_fill::gfxbCpuBank#1 ← ++ (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuz1=_inc_vbuz2 + //SEG967 [489] (byte) gfx_init_plane_fill::gfxbCpuBank#1 ← ++ (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuz1=_inc_vbuz2 ldy gfxbCpuBank iny sty gfxbCpuBank_1 - //SEG970 [490] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 + //SEG968 [490] (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 - //SEG971 [491] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) 16383 -- vwuz1=vwuz2_band_vwuc1 + //SEG969 [491] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) 16383 -- vwuz1=vwuz2_band_vwuc1 lda _4 and #<$3fff sta _5 lda _4+1 and #>$3fff sta _5+1 - //SEG972 [492] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) 16384 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz2 + //SEG970 [492] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) 16384 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz2 lda _5 clc adc #<$4000 @@ -17268,82 +17261,82 @@ gfx_init_plane_fill: { lda _5+1 adc #>$4000 sta _6+1 - //SEG973 [493] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 -- pbuz1=pbuz2 + //SEG971 [493] (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 - //SEG974 [494] 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 [494] 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: - //SEG975 [494] 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 + //SEG973 [494] 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 - //SEG976 [494] 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 [494] 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 - //SEG977 [494] 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 [494] 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: - //SEG978 [494] 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 - //SEG979 [494] 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 + //SEG976 [494] 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 + //SEG977 [494] 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 - //SEG980 gfx_init_plane_fill::@1 + //SEG978 gfx_init_plane_fill::@1 b1: - //SEG981 [495] 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 [495] 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: - //SEG982 [495] 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 + //SEG980 [495] 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 - //SEG983 [495] 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 [495] 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 - //SEG984 [495] 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 [495] 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: - //SEG985 [495] 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 - //SEG986 [495] 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 + //SEG983 [495] 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 + //SEG984 [495] 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 - //SEG987 gfx_init_plane_fill::@2 + //SEG985 gfx_init_plane_fill::@2 b2: - //SEG988 [496] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 + //SEG986 [496] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 lda fill ldy #0 sta (gfxb),y - //SEG989 [497] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG987 [497] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG990 [498] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuz1=_inc_vbuz1 + //SEG988 [498] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuz1=_inc_vbuz1 inc bx - //SEG991 [499] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_fill::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG989 [499] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_fill::@2 -- vbuz1_neq_vbuc1_then_la1 lda bx cmp #$28 bne b2_from_b2 jmp b3 - //SEG992 gfx_init_plane_fill::@3 + //SEG990 gfx_init_plane_fill::@3 b3: - //SEG993 [500] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 + //SEG991 [500] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG994 [501] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG992 [501] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 lda by cmp #$c8 bne b1_from_b3 - //SEG995 [502] 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 [502] 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 - //SEG996 gfx_init_plane_fill::@4 + //SEG994 gfx_init_plane_fill::@4 b4: - //SEG997 [503] call dtvSetCpuBankSegment1 - //SEG998 [505] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] + //SEG995 [503] call dtvSetCpuBankSegment1 + //SEG996 [505] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG999 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG997 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1000 gfx_init_plane_fill::@return + //SEG998 gfx_init_plane_fill::@return breturn: - //SEG1001 [504] return + //SEG999 [504] return rts } -//SEG1002 dtvSetCpuBankSegment1 +//SEG1000 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 @@ -17352,29 +17345,29 @@ dtvSetCpuBankSegment1: { // Move CPU BANK 1 SEGMENT ($4000-$7fff) .label cpuBank = $ff .label cpuBankIdx = $43 - //SEG1003 [506] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuz1 + //SEG1001 [506] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuz1 lda cpuBankIdx sta cpuBank - //SEG1004 asm { .byte$32,$dd lda$ff .byte$32,$00 } + //SEG1002 asm { .byte$32,$dd lda$ff .byte$32,$00 } .byte $32, $dd lda $ff .byte $32, $00 jmp breturn - //SEG1005 dtvSetCpuBankSegment1::@return + //SEG1003 dtvSetCpuBankSegment1::@return breturn: - //SEG1006 [508] return + //SEG1004 [508] return rts } -//SEG1007 gfx_init_plane_blank +//SEG1005 gfx_init_plane_blank // Initialize Plane with blank pixels gfx_init_plane_blank: { - //SEG1008 [510] call gfx_init_plane_fill - //SEG1009 [483] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] + //SEG1006 [510] call gfx_init_plane_fill + //SEG1007 [483] 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: - //SEG1010 [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 + //SEG1008 [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 lda #0 sta gfx_init_plane_fill.fill - //SEG1011 [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 + //SEG1009 [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 lda #PLANE_BLANK @@ -17385,21 +17378,21 @@ gfx_init_plane_blank: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG1012 gfx_init_plane_blank::@return + //SEG1010 gfx_init_plane_blank::@return breturn: - //SEG1013 [511] return + //SEG1011 [511] return rts } -//SEG1014 gfx_init_plane_vertical2 +//SEG1012 gfx_init_plane_vertical2 // Initialize Plane with Vertical Stripes every 2 pixels gfx_init_plane_vertical2: { - //SEG1015 [513] call gfx_init_plane_fill - //SEG1016 [483] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] + //SEG1013 [513] call gfx_init_plane_fill + //SEG1014 [483] 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: - //SEG1017 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 27 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG1015 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 27 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$1b sta gfx_init_plane_fill.fill - //SEG1018 [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 + //SEG1016 [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 lda #PLANE_VERTICAL2 @@ -17410,12 +17403,12 @@ gfx_init_plane_vertical2: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG1019 gfx_init_plane_vertical2::@return + //SEG1017 gfx_init_plane_vertical2::@return breturn: - //SEG1020 [514] return + //SEG1018 [514] return rts } -//SEG1021 gfx_init_plane_horisontal2 +//SEG1019 gfx_init_plane_horisontal2 // Initialize Plane with Horizontal Stripes every 2 pixels gfx_init_plane_horisontal2: { .const gfxbCpuBank = PLANE_HORISONTAL2/$4000 @@ -17424,186 +17417,186 @@ gfx_init_plane_horisontal2: { .label gfxa = $45 .label ax = $47 .label ay = $44 - //SEG1022 [516] call dtvSetCpuBankSegment1 - //SEG1023 [505] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] + //SEG1020 [516] call dtvSetCpuBankSegment1 + //SEG1021 [505] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal2: - //SEG1024 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1022 [505] 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 - //SEG1025 [517] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] + //SEG1023 [517] 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: - //SEG1026 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 + //SEG1024 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1027 [517] 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 + //SEG1025 [517] 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 - //SEG1028 [517] 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 [517] 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: - //SEG1029 [517] 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 - //SEG1030 [517] 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 + //SEG1027 [517] 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 + //SEG1028 [517] 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 - //SEG1031 gfx_init_plane_horisontal2::@1 + //SEG1029 gfx_init_plane_horisontal2::@1 b1: - //SEG1032 [518] 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 [518] 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: - //SEG1033 [518] 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 + //SEG1031 [518] 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 - //SEG1034 [518] 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 [518] 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 - //SEG1035 [518] 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 [518] 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: - //SEG1036 [518] 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 - //SEG1037 [518] 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 + //SEG1034 [518] 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 + //SEG1035 [518] 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 - //SEG1038 gfx_init_plane_horisontal2::@2 + //SEG1036 gfx_init_plane_horisontal2::@2 b2: - //SEG1039 [519] (byte~) gfx_init_plane_horisontal2::$5 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_ror_1 + //SEG1037 [519] (byte~) gfx_init_plane_horisontal2::$5 ← (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 _5 - //SEG1040 [520] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$5 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_band_vbuc1 + //SEG1038 [520] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$5 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_band_vbuc1 lda #3 and _5 sta row - //SEG1041 [521] *((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 + //SEG1039 [521] *((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 - //SEG1042 [522] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1040 [522] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1043 [523] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuz1=_inc_vbuz1 + //SEG1041 [523] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuz1=_inc_vbuz1 inc ax - //SEG1044 [524] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal2::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1042 [524] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal2::@2 -- vbuz1_neq_vbuc1_then_la1 lda ax cmp #$28 bne b2_from_b2 jmp b3 - //SEG1045 gfx_init_plane_horisontal2::@3 + //SEG1043 gfx_init_plane_horisontal2::@3 b3: - //SEG1046 [525] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1044 [525] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1047 [526] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1045 [526] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 lda ay cmp #$c8 bne b1_from_b3 - //SEG1048 [527] 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 [527] 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 - //SEG1049 gfx_init_plane_horisontal2::@4 + //SEG1047 gfx_init_plane_horisontal2::@4 b4: - //SEG1050 [528] call dtvSetCpuBankSegment1 - //SEG1051 [505] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] + //SEG1048 [528] call dtvSetCpuBankSegment1 + //SEG1049 [505] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1052 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1050 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1053 gfx_init_plane_horisontal2::@return + //SEG1051 gfx_init_plane_horisontal2::@return breturn: - //SEG1054 [529] return + //SEG1052 [529] return rts row_bitmask: .byte 0, $55, $aa, $ff } -//SEG1055 gfx_init_plane_vertical +//SEG1053 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 - //SEG1056 [531] call dtvSetCpuBankSegment1 - //SEG1057 [505] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] + //SEG1054 [531] call dtvSetCpuBankSegment1 + //SEG1055 [505] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_vertical: - //SEG1058 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1056 [505] 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 - //SEG1059 [532] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] + //SEG1057 [532] 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: - //SEG1060 [532] 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 + //SEG1058 [532] 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 - //SEG1061 [532] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 + //SEG1059 [532] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1062 [532] 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 [532] 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: - //SEG1063 [532] 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 - //SEG1064 [532] 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 + //SEG1061 [532] 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 + //SEG1062 [532] 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 - //SEG1065 gfx_init_plane_vertical::@1 + //SEG1063 gfx_init_plane_vertical::@1 b1: - //SEG1066 [533] 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 [533] 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: - //SEG1067 [533] 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 + //SEG1065 [533] 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 - //SEG1068 [533] 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 [533] 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 - //SEG1069 [533] 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 [533] 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: - //SEG1070 [533] 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 - //SEG1071 [533] 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 + //SEG1068 [533] 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 + //SEG1069 [533] 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 - //SEG1072 gfx_init_plane_vertical::@2 + //SEG1070 gfx_init_plane_vertical::@2 b2: - //SEG1073 [534] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 -- _deref_pbuz1=vbuc1 + //SEG1071 [534] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - //SEG1074 [535] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG1072 [535] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1075 [536] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuz1=_inc_vbuz1 + //SEG1073 [536] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuz1=_inc_vbuz1 inc bx - //SEG1076 [537] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_vertical::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1074 [537] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_vertical::@2 -- vbuz1_neq_vbuc1_then_la1 lda bx cmp #$28 bne b2_from_b2 jmp b3 - //SEG1077 gfx_init_plane_vertical::@3 + //SEG1075 gfx_init_plane_vertical::@3 b3: - //SEG1078 [538] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 + //SEG1076 [538] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG1079 [539] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1077 [539] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 lda by cmp #$c8 bne b1_from_b3 - //SEG1080 [540] 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 [540] 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 - //SEG1081 gfx_init_plane_vertical::@4 + //SEG1079 gfx_init_plane_vertical::@4 b4: - //SEG1082 [541] call dtvSetCpuBankSegment1 - //SEG1083 [505] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] + //SEG1080 [541] call dtvSetCpuBankSegment1 + //SEG1081 [505] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1084 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1082 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1085 gfx_init_plane_vertical::@return + //SEG1083 gfx_init_plane_vertical::@return breturn: - //SEG1086 [542] return + //SEG1084 [542] return rts } -//SEG1087 gfx_init_plane_horisontal +//SEG1085 gfx_init_plane_horisontal // Initialize Plane with Horizontal Stripes gfx_init_plane_horisontal: { .const gfxbCpuBank = PLANE_HORISONTAL/$4000 @@ -17611,118 +17604,118 @@ gfx_init_plane_horisontal: { .label gfxa = $4d .label ax = $4f .label ay = $4c - //SEG1088 [544] call dtvSetCpuBankSegment1 - //SEG1089 [505] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] + //SEG1086 [544] call dtvSetCpuBankSegment1 + //SEG1087 [505] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal: - //SEG1090 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1088 [505] 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 - //SEG1091 [545] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] + //SEG1089 [545] 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: - //SEG1092 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 + //SEG1090 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1093 [545] 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 + //SEG1091 [545] 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 - //SEG1094 [545] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1] + //SEG1092 [545] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1] b1_from_b7: - //SEG1095 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#0] -- register_copy - //SEG1096 [545] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#1] -- register_copy + //SEG1093 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#0] -- register_copy + //SEG1094 [545] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#1] -- register_copy jmp b1 - //SEG1097 gfx_init_plane_horisontal::@1 + //SEG1095 gfx_init_plane_horisontal::@1 b1: - //SEG1098 [546] 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 [546] 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: - //SEG1099 [546] 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 + //SEG1097 [546] 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 - //SEG1100 [546] 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 [546] 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 - //SEG1101 [546] 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 [546] 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: - //SEG1102 [546] 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 - //SEG1103 [546] 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 + //SEG1100 [546] 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 + //SEG1101 [546] 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 - //SEG1104 gfx_init_plane_horisontal::@2 + //SEG1102 gfx_init_plane_horisontal::@2 b2: - //SEG1105 [547] (byte~) gfx_init_plane_horisontal::$5 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_band_vbuc1 + //SEG1103 [547] (byte~) gfx_init_plane_horisontal::$5 ← (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 _5 - //SEG1106 [548] if((byte~) gfx_init_plane_horisontal::$5==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuz1_eq_0_then_la1 + //SEG1104 [548] if((byte~) gfx_init_plane_horisontal::$5==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuz1_eq_0_then_la1 lda _5 cmp #0 beq b3 jmp b5 - //SEG1107 gfx_init_plane_horisontal::@5 + //SEG1105 gfx_init_plane_horisontal::@5 b5: - //SEG1108 [549] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuz1=vbuc1 + //SEG1106 [549] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - //SEG1109 [550] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1107 [550] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1110 [551] 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 [551] 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: - //SEG1111 [551] 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 [551] 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 - //SEG1112 gfx_init_plane_horisontal::@4 + //SEG1110 gfx_init_plane_horisontal::@4 b4: - //SEG1113 [552] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuz1=_inc_vbuz1 + //SEG1111 [552] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuz1=_inc_vbuz1 inc ax - //SEG1114 [553] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1112 [553] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal::@2 -- vbuz1_neq_vbuc1_then_la1 lda ax cmp #$28 bne b2_from_b4 jmp b7 - //SEG1115 gfx_init_plane_horisontal::@7 + //SEG1113 gfx_init_plane_horisontal::@7 b7: - //SEG1116 [554] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1114 [554] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1117 [555] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1115 [555] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 lda ay cmp #$c8 bne b1_from_b7 - //SEG1118 [556] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@8 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@8] + //SEG1116 [556] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@8 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@8] b8_from_b7: jmp b8 - //SEG1119 gfx_init_plane_horisontal::@8 + //SEG1117 gfx_init_plane_horisontal::@8 b8: - //SEG1120 [557] call dtvSetCpuBankSegment1 - //SEG1121 [505] phi from gfx_init_plane_horisontal::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1] + //SEG1118 [557] call dtvSetCpuBankSegment1 + //SEG1119 [505] phi from gfx_init_plane_horisontal::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b8: - //SEG1122 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1120 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1123 gfx_init_plane_horisontal::@return + //SEG1121 gfx_init_plane_horisontal::@return breturn: - //SEG1124 [558] return + //SEG1122 [558] return rts - //SEG1125 gfx_init_plane_horisontal::@3 + //SEG1123 gfx_init_plane_horisontal::@3 b3: - //SEG1126 [559] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1124 [559] *((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 - //SEG1127 [560] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1125 [560] (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 } -//SEG1128 gfx_init_plane_charset8 +//SEG1126 gfx_init_plane_charset8 // Initialize Plane with 8bpp charset gfx_init_plane_charset8: { .const gfxbCpuBank = PLANE_CHARSET8/$4000 @@ -17735,175 +17728,175 @@ gfx_init_plane_charset8: { .label cr = $53 .label ch = $50 .label c = $59 - //SEG1129 [562] call dtvSetCpuBankSegment1 - //SEG1130 [505] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] + //SEG1127 [562] call dtvSetCpuBankSegment1 + //SEG1128 [505] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_charset8: - //SEG1131 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1129 [505] 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 - //SEG1132 gfx_init_plane_charset8::@9 + //SEG1130 gfx_init_plane_charset8::@9 b9: - //SEG1133 [563] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 + //SEG1131 [563] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_CHARROM sta PROCPORT - //SEG1134 [564] 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 [564] 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: - //SEG1135 [564] 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 + //SEG1133 [564] 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 - //SEG1136 [564] 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 + //SEG1134 [564] 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 - //SEG1137 [564] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 + //SEG1135 [564] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1138 [564] 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 + //SEG1136 [564] 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 - //SEG1139 [564] 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 [564] 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: - //SEG1140 [564] 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 - //SEG1141 [564] 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 - //SEG1142 [564] 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 - //SEG1143 [564] 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 + //SEG1138 [564] 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 + //SEG1139 [564] 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 + //SEG1140 [564] 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 + //SEG1141 [564] 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 - //SEG1144 gfx_init_plane_charset8::@1 + //SEG1142 gfx_init_plane_charset8::@1 b1: - //SEG1145 [565] 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 [565] 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: - //SEG1146 [565] 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 + //SEG1144 [565] 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 - //SEG1147 [565] 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 - //SEG1148 [565] 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 - //SEG1149 [565] 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 + //SEG1145 [565] 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 + //SEG1146 [565] 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 + //SEG1147 [565] 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 - //SEG1150 [565] 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 [565] 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: - //SEG1151 [565] 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 - //SEG1152 [565] 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 - //SEG1153 [565] 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 - //SEG1154 [565] 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 + //SEG1149 [565] 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 + //SEG1150 [565] 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 + //SEG1151 [565] 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 + //SEG1152 [565] 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 - //SEG1155 gfx_init_plane_charset8::@2 + //SEG1153 gfx_init_plane_charset8::@2 b2: - //SEG1156 [566] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 + //SEG1154 [566] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta bits - //SEG1157 [567] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1155 [567] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1158 [568] 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 [568] 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: - //SEG1159 [568] 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 + //SEG1157 [568] 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 - //SEG1160 [568] 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 - //SEG1161 [568] 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 - //SEG1162 [568] 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 + //SEG1158 [568] 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 + //SEG1159 [568] 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 + //SEG1160 [568] 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 - //SEG1163 [568] 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 [568] 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: - //SEG1164 [568] 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 - //SEG1165 [568] 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 - //SEG1166 [568] 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 - //SEG1167 [568] 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 + //SEG1162 [568] 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 + //SEG1163 [568] 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 + //SEG1164 [568] 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 + //SEG1165 [568] 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 - //SEG1168 gfx_init_plane_charset8::@3 + //SEG1166 gfx_init_plane_charset8::@3 b3: - //SEG1169 [569] (byte~) gfx_init_plane_charset8::$5 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) 128 -- vbuz1=vbuz2_band_vbuc1 + //SEG1167 [569] (byte~) gfx_init_plane_charset8::$5 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) 128 -- vbuz1=vbuz2_band_vbuc1 lda #$80 and bits sta _5 - //SEG1170 [570] if((byte~) gfx_init_plane_charset8::$5==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuz1_eq_0_then_la1 + //SEG1168 [570] if((byte~) gfx_init_plane_charset8::$5==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuz1_eq_0_then_la1 lda _5 cmp #0 beq b4_from_b3 jmp b5 - //SEG1171 gfx_init_plane_charset8::@5 + //SEG1169 gfx_init_plane_charset8::@5 b5: - //SEG1172 [571] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuz1=vbuz2 + //SEG1170 [571] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuz1=vbuz2 lda col sta c - //SEG1173 [572] 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 [572] 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: - //SEG1174 [572] 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 + //SEG1172 [572] 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 - //SEG1175 [572] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] + //SEG1173 [572] 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: - //SEG1176 [572] 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 + //SEG1174 [572] 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 - //SEG1177 gfx_init_plane_charset8::@4 + //SEG1175 gfx_init_plane_charset8::@4 b4: - //SEG1178 [573] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuz2 + //SEG1176 [573] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuz2 lda c ldy #0 sta (gfxa),y - //SEG1179 [574] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1177 [574] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1180 [575] (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 + //SEG1178 [575] (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 - //SEG1181 [576] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 + //SEG1179 [576] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 inc col - //SEG1182 [577] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuz1=_inc_vbuz1 + //SEG1180 [577] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuz1=_inc_vbuz1 inc cp - //SEG1183 [578] 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 + //SEG1181 [578] 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 cp cmp #8 bne b3_from_b4 jmp b6 - //SEG1184 gfx_init_plane_charset8::@6 + //SEG1182 gfx_init_plane_charset8::@6 b6: - //SEG1185 [579] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 + //SEG1183 [579] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 inc cr - //SEG1186 [580] 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 + //SEG1184 [580] 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 cr cmp #8 bne b2_from_b6 jmp b7 - //SEG1187 gfx_init_plane_charset8::@7 + //SEG1185 gfx_init_plane_charset8::@7 b7: - //SEG1188 [581] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 + //SEG1186 [581] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 inc ch - //SEG1189 [582] 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 + //SEG1187 [582] 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 - //SEG1190 gfx_init_plane_charset8::@8 + //SEG1188 gfx_init_plane_charset8::@8 b8: - //SEG1191 [583] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 + //SEG1189 [583] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_IO sta PROCPORT - //SEG1192 [584] call dtvSetCpuBankSegment1 - //SEG1193 [505] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] + //SEG1190 [584] call dtvSetCpuBankSegment1 + //SEG1191 [505] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b8: - //SEG1194 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1192 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1195 gfx_init_plane_charset8::@return + //SEG1193 gfx_init_plane_charset8::@return breturn: - //SEG1196 [585] return + //SEG1194 [585] return rts } -//SEG1197 gfx_init_plane_8bppchunky +//SEG1195 gfx_init_plane_8bppchunky // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { .label _6 = $136 @@ -17912,54 +17905,54 @@ gfx_init_plane_8bppchunky: { .label x = $5b .label gfxbCpuBank = $5d .label y = $5a - //SEG1198 [587] call dtvSetCpuBankSegment1 - //SEG1199 [505] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + //SEG1196 [587] call dtvSetCpuBankSegment1 + //SEG1197 [505] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_8bppchunky: - //SEG1200 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1198 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 - //SEG1201 [588] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + //SEG1199 [588] 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: - //SEG1202 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuz1=vbuc1 + //SEG1200 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuz1=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000+1 sta gfxbCpuBank - //SEG1203 [588] 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 + //SEG1201 [588] 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 - //SEG1204 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + //SEG1202 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 jmp b1 - //SEG1205 [588] 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 [588] 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: - //SEG1206 [588] 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 - //SEG1207 [588] 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 - //SEG1208 [588] 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 + //SEG1204 [588] 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 + //SEG1205 [588] 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 + //SEG1206 [588] 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 - //SEG1209 gfx_init_plane_8bppchunky::@1 + //SEG1207 gfx_init_plane_8bppchunky::@1 b1: - //SEG1210 [589] 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 [589] 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: - //SEG1211 [589] 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 - //SEG1212 [589] 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 + //SEG1209 [589] 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 + //SEG1210 [589] 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 - //SEG1213 [589] 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 [589] 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 - //SEG1214 [589] 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 [589] 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: - //SEG1215 [589] 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 - //SEG1216 [589] 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 - //SEG1217 [589] 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 + //SEG1213 [589] 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 + //SEG1214 [589] 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 + //SEG1215 [589] 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 - //SEG1218 gfx_init_plane_8bppchunky::@2 + //SEG1216 gfx_init_plane_8bppchunky::@2 b2: - //SEG1219 [590] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) 32768) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 + //SEG1217 [590] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) 32768) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 lda gfxb+1 cmp #>$8000 bne b3_from_b2 @@ -17967,38 +17960,38 @@ gfx_init_plane_8bppchunky: { cmp #<$8000 bne b3_from_b2 jmp b4 - //SEG1220 gfx_init_plane_8bppchunky::@4 + //SEG1218 gfx_init_plane_8bppchunky::@4 b4: - //SEG1221 [591] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=vbuz2 + //SEG1219 [591] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=vbuz2 lda gfxbCpuBank sta dtvSetCpuBankSegment1.cpuBankIdx - //SEG1222 [592] call dtvSetCpuBankSegment1 - //SEG1223 [505] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + //SEG1220 [592] call dtvSetCpuBankSegment1 + //SEG1221 [505] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1224 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + //SEG1222 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp b8 - //SEG1225 gfx_init_plane_8bppchunky::@8 + //SEG1223 gfx_init_plane_8bppchunky::@8 b8: - //SEG1226 [593] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=_inc_vbuz1 + //SEG1224 [593] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=_inc_vbuz1 inc gfxbCpuBank - //SEG1227 [594] phi from gfx_init_plane_8bppchunky::@8 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3] + //SEG1225 [594] phi from gfx_init_plane_8bppchunky::@8 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3] b3_from_b8: - //SEG1228 [594] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#0] -- register_copy - //SEG1229 [594] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + //SEG1226 [594] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG1227 [594] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 jmp b3 - //SEG1230 [594] 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 [594] 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: - //SEG1231 [594] 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 - //SEG1232 [594] 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 + //SEG1229 [594] 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 + //SEG1230 [594] 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 - //SEG1233 gfx_init_plane_8bppchunky::@3 + //SEG1231 gfx_init_plane_8bppchunky::@3 b3: - //SEG1234 [595] (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 + //SEG1232 [595] (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 lda y clc adc x @@ -18006,24 +17999,24 @@ gfx_init_plane_8bppchunky: { lda #0 adc x+1 sta _6+1 - //SEG1235 [596] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 -- vbuz1=_byte_vwuz2 + //SEG1233 [596] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 -- vbuz1=_byte_vwuz2 lda _6 sta c - //SEG1236 [597] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuz2 + //SEG1234 [597] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuz2 lda c ldy #0 sta (gfxb),y - //SEG1237 [598] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 + //SEG1235 [598] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1238 [599] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 + //SEG1236 [599] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 inc x bne !+ inc x+1 !: - //SEG1239 [600] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) 320) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 + //SEG1237 [600] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) 320) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 lda x+1 cmp #>$140 bne b2_from_b3 @@ -18031,96 +18024,96 @@ gfx_init_plane_8bppchunky: { cmp #<$140 bne b2_from_b3 jmp b5 - //SEG1240 gfx_init_plane_8bppchunky::@5 + //SEG1238 gfx_init_plane_8bppchunky::@5 b5: - //SEG1241 [601] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 + //SEG1239 [601] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 inc y - //SEG1242 [602] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1240 [602] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 lda y cmp #$c8 bne b1_from_b5 - //SEG1243 [603] 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 [603] 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 - //SEG1244 gfx_init_plane_8bppchunky::@6 + //SEG1242 gfx_init_plane_8bppchunky::@6 b6: - //SEG1245 [604] call dtvSetCpuBankSegment1 - //SEG1246 [505] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + //SEG1243 [604] call dtvSetCpuBankSegment1 + //SEG1244 [505] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b6: - //SEG1247 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + //SEG1245 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1248 gfx_init_plane_8bppchunky::@return + //SEG1246 gfx_init_plane_8bppchunky::@return breturn: - //SEG1249 [605] return + //SEG1247 [605] return rts } -//SEG1250 gfx_init_vic_bitmap +//SEG1248 gfx_init_vic_bitmap // Initialize VIC bitmap gfx_init_vic_bitmap: { .const lines_cnt = 9 .label l = $60 - //SEG1251 [607] call bitmap_init - //SEG1252 [759] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] + //SEG1249 [607] call bitmap_init + //SEG1250 [759] 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 - //SEG1253 [608] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] + //SEG1251 [608] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] b3_from_gfx_init_vic_bitmap: jmp b3 - //SEG1254 gfx_init_vic_bitmap::@3 + //SEG1252 gfx_init_vic_bitmap::@3 b3: - //SEG1255 [609] call bitmap_clear + //SEG1253 [609] call bitmap_clear jsr bitmap_clear - //SEG1256 [610] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] + //SEG1254 [610] 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: - //SEG1257 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 + //SEG1255 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 lda #0 sta l jmp b1 - //SEG1258 [610] phi from gfx_init_vic_bitmap::@5 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1] + //SEG1256 [610] phi from gfx_init_vic_bitmap::@5 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1] b1_from_b5: - //SEG1259 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1#0] -- register_copy + //SEG1257 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1#0] -- register_copy jmp b1 - //SEG1260 gfx_init_vic_bitmap::@1 + //SEG1258 gfx_init_vic_bitmap::@1 b1: - //SEG1261 [611] (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 + //SEG1259 [611] (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 - //SEG1262 [612] (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 + //SEG1260 [612] (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 - //SEG1263 [613] (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 + //SEG1261 [613] (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 - //SEG1264 [614] (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 + //SEG1262 [614] (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 - //SEG1265 [615] call bitmap_line + //SEG1263 [615] call bitmap_line jsr bitmap_line jmp b5 - //SEG1266 gfx_init_vic_bitmap::@5 + //SEG1264 gfx_init_vic_bitmap::@5 b5: - //SEG1267 [616] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 + //SEG1265 [616] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 inc l - //SEG1268 [617] 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 + //SEG1266 [617] 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_b5 jmp breturn - //SEG1269 gfx_init_vic_bitmap::@return + //SEG1267 gfx_init_vic_bitmap::@return breturn: - //SEG1270 [618] return + //SEG1268 [618] 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 } -//SEG1271 bitmap_line +//SEG1269 bitmap_line // Draw a line on the bitmap // bitmap_line(byte zeropage($139) x0, byte zeropage($13a) x1, byte zeropage($13b) y0, byte zeropage($13c) y1) bitmap_line: { @@ -18134,305 +18127,305 @@ bitmap_line: { .label y0 = $13b .label y1 = $13c .label yd_10 = $142 - //SEG1272 [619] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1 + //SEG1270 [619] 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 b15 - //SEG1273 bitmap_line::@15 + //SEG1271 bitmap_line::@15 b15: - //SEG1274 [620] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1272 [620] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 lda x0 sec sbc x1 sta xd_1 - //SEG1275 [621] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@2 -- vbuz1_lt_vbuz2_then_la1 + //SEG1273 [621] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@2 -- vbuz1_lt_vbuz2_then_la1 lda y0 cmp y1 bcc b2 jmp b16 - //SEG1276 bitmap_line::@16 + //SEG1274 bitmap_line::@16 b16: - //SEG1277 [622] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1275 [622] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 lda y0 sec sbc y1 sta yd_1 - //SEG1278 [623] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#1) goto bitmap_line::@3 -- vbuz1_lt_vbuz2_then_la1 + //SEG1276 [623] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#1) goto bitmap_line::@3 -- vbuz1_lt_vbuz2_then_la1 lda yd_1 cmp xd_1 bcc b3 jmp b17 - //SEG1279 bitmap_line::@17 + //SEG1277 bitmap_line::@17 b17: - //SEG1280 [624] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1278 [624] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxi.y - //SEG1281 [625] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1279 [625] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_ydxi.x - //SEG1282 [626] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1280 [626] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y1 - //SEG1283 [627] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 + //SEG1281 [627] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 lda yd_1 sta bitmap_line_ydxi.yd - //SEG1284 [628] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + //SEG1282 [628] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda xd_1 sta bitmap_line_ydxi.xd - //SEG1285 [629] call bitmap_line_ydxi - //SEG1286 [703] phi from bitmap_line::@17 to bitmap_line_ydxi [phi:bitmap_line::@17->bitmap_line_ydxi] + //SEG1283 [629] call bitmap_line_ydxi + //SEG1284 [703] phi from bitmap_line::@17 to bitmap_line_ydxi [phi:bitmap_line::@17->bitmap_line_ydxi] bitmap_line_ydxi_from_b17: - //SEG1287 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@17->bitmap_line_ydxi#0] -- register_copy - //SEG1288 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#1] -- register_copy - //SEG1289 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@17->bitmap_line_ydxi#2] -- register_copy - //SEG1290 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@17->bitmap_line_ydxi#3] -- register_copy - //SEG1291 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#4] -- register_copy + //SEG1285 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@17->bitmap_line_ydxi#0] -- register_copy + //SEG1286 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#1] -- register_copy + //SEG1287 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@17->bitmap_line_ydxi#2] -- register_copy + //SEG1288 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@17->bitmap_line_ydxi#3] -- register_copy + //SEG1289 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp breturn - //SEG1292 bitmap_line::@return + //SEG1290 bitmap_line::@return breturn: - //SEG1293 [630] return + //SEG1291 [630] return rts - //SEG1294 bitmap_line::@3 + //SEG1292 bitmap_line::@3 b3: - //SEG1295 [631] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1293 [631] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyi.x - //SEG1296 [632] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1294 [632] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_xdyi.y - //SEG1297 [633] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1295 [633] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyi.x1 - //SEG1298 [634] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + //SEG1296 [634] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda xd_1 sta bitmap_line_xdyi.xd - //SEG1299 [635] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 + //SEG1297 [635] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 lda yd_1 sta bitmap_line_xdyi.yd - //SEG1300 [636] call bitmap_line_xdyi - //SEG1301 [681] phi from bitmap_line::@3 to bitmap_line_xdyi [phi:bitmap_line::@3->bitmap_line_xdyi] + //SEG1298 [636] call bitmap_line_xdyi + //SEG1299 [681] phi from bitmap_line::@3 to bitmap_line_xdyi [phi:bitmap_line::@3->bitmap_line_xdyi] bitmap_line_xdyi_from_b3: - //SEG1302 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@3->bitmap_line_xdyi#0] -- register_copy - //SEG1303 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#1] -- register_copy - //SEG1304 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@3->bitmap_line_xdyi#2] -- register_copy - //SEG1305 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@3->bitmap_line_xdyi#3] -- register_copy - //SEG1306 [681] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#4] -- register_copy + //SEG1300 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@3->bitmap_line_xdyi#0] -- register_copy + //SEG1301 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#1] -- register_copy + //SEG1302 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@3->bitmap_line_xdyi#2] -- register_copy + //SEG1303 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@3->bitmap_line_xdyi#3] -- register_copy + //SEG1304 [681] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp breturn - //SEG1307 bitmap_line::@2 + //SEG1305 bitmap_line::@2 b2: - //SEG1308 [637] (byte) bitmap_line::yd#0 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1306 [637] (byte) bitmap_line::yd#0 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 lda y1 sec sbc y0 sta yd - //SEG1309 [638] if((byte) bitmap_line::yd#0<(byte) bitmap_line::xd#1) goto bitmap_line::@6 -- vbuz1_lt_vbuz2_then_la1 + //SEG1307 [638] if((byte) bitmap_line::yd#0<(byte) bitmap_line::xd#1) goto bitmap_line::@6 -- vbuz1_lt_vbuz2_then_la1 lda yd cmp xd_1 bcc b6 jmp b20 - //SEG1310 bitmap_line::@20 + //SEG1308 bitmap_line::@20 b20: - //SEG1311 [639] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1309 [639] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxd.y - //SEG1312 [640] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1310 [640] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_ydxd.x - //SEG1313 [641] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1311 [641] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxd.y1 - //SEG1314 [642] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#0 -- vbuz1=vbuz2 + //SEG1312 [642] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#0 -- vbuz1=vbuz2 lda yd sta bitmap_line_ydxd.yd - //SEG1315 [643] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + //SEG1313 [643] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda xd_1 sta bitmap_line_ydxd.xd - //SEG1316 [644] call bitmap_line_ydxd - //SEG1317 [733] phi from bitmap_line::@20 to bitmap_line_ydxd [phi:bitmap_line::@20->bitmap_line_ydxd] + //SEG1314 [644] call bitmap_line_ydxd + //SEG1315 [733] phi from bitmap_line::@20 to bitmap_line_ydxd [phi:bitmap_line::@20->bitmap_line_ydxd] bitmap_line_ydxd_from_b20: - //SEG1318 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@20->bitmap_line_ydxd#0] -- register_copy - //SEG1319 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#1] -- register_copy - //SEG1320 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@20->bitmap_line_ydxd#2] -- register_copy - //SEG1321 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@20->bitmap_line_ydxd#3] -- register_copy - //SEG1322 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#4] -- register_copy + //SEG1316 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@20->bitmap_line_ydxd#0] -- register_copy + //SEG1317 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#1] -- register_copy + //SEG1318 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@20->bitmap_line_ydxd#2] -- register_copy + //SEG1319 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@20->bitmap_line_ydxd#3] -- register_copy + //SEG1320 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1323 bitmap_line::@6 + //SEG1321 bitmap_line::@6 b6: - //SEG1324 [645] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1322 [645] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyd.x - //SEG1325 [646] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1323 [646] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_xdyd.y - //SEG1326 [647] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1324 [647] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x1 - //SEG1327 [648] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + //SEG1325 [648] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda xd_1 sta bitmap_line_xdyd.xd - //SEG1328 [649] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#0 -- vbuz1=vbuz2 + //SEG1326 [649] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#0 -- vbuz1=vbuz2 lda yd sta bitmap_line_xdyd.yd - //SEG1329 [650] call bitmap_line_xdyd - //SEG1330 [718] phi from bitmap_line::@6 to bitmap_line_xdyd [phi:bitmap_line::@6->bitmap_line_xdyd] + //SEG1327 [650] call bitmap_line_xdyd + //SEG1328 [718] phi from bitmap_line::@6 to bitmap_line_xdyd [phi:bitmap_line::@6->bitmap_line_xdyd] bitmap_line_xdyd_from_b6: - //SEG1331 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@6->bitmap_line_xdyd#0] -- register_copy - //SEG1332 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#1] -- register_copy - //SEG1333 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@6->bitmap_line_xdyd#2] -- register_copy - //SEG1334 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@6->bitmap_line_xdyd#3] -- register_copy - //SEG1335 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#4] -- register_copy + //SEG1329 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@6->bitmap_line_xdyd#0] -- register_copy + //SEG1330 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#1] -- register_copy + //SEG1331 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@6->bitmap_line_xdyd#2] -- register_copy + //SEG1332 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@6->bitmap_line_xdyd#3] -- register_copy + //SEG1333 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1336 bitmap_line::@1 + //SEG1334 bitmap_line::@1 b1: - //SEG1337 [651] (byte) bitmap_line::xd#0 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1335 [651] (byte) bitmap_line::xd#0 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 lda x1 sec sbc x0 sta xd - //SEG1338 [652] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@9 -- vbuz1_lt_vbuz2_then_la1 + //SEG1336 [652] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@9 -- vbuz1_lt_vbuz2_then_la1 lda y0 cmp y1 bcc b9 jmp b23 - //SEG1339 bitmap_line::@23 + //SEG1337 bitmap_line::@23 b23: - //SEG1340 [653] (byte) bitmap_line::yd#3 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1338 [653] (byte) bitmap_line::yd#3 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 lda y0 sec sbc y1 sta yd_3 - //SEG1341 [654] if((byte) bitmap_line::yd#3<(byte) bitmap_line::xd#0) goto bitmap_line::@10 -- vbuz1_lt_vbuz2_then_la1 + //SEG1339 [654] if((byte) bitmap_line::yd#3<(byte) bitmap_line::xd#0) goto bitmap_line::@10 -- vbuz1_lt_vbuz2_then_la1 lda yd_3 cmp xd bcc b10 jmp b24 - //SEG1342 bitmap_line::@24 + //SEG1340 bitmap_line::@24 b24: - //SEG1343 [655] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1341 [655] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxd.y - //SEG1344 [656] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1342 [656] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_ydxd.x - //SEG1345 [657] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1343 [657] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxd.y1 - //SEG1346 [658] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#3 -- vbuz1=vbuz2 + //SEG1344 [658] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#3 -- vbuz1=vbuz2 lda yd_3 sta bitmap_line_ydxd.yd - //SEG1347 [659] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#0 -- vbuz1=vbuz2 + //SEG1345 [659] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#0 -- vbuz1=vbuz2 lda xd sta bitmap_line_ydxd.xd - //SEG1348 [660] call bitmap_line_ydxd - //SEG1349 [733] phi from bitmap_line::@24 to bitmap_line_ydxd [phi:bitmap_line::@24->bitmap_line_ydxd] + //SEG1346 [660] call bitmap_line_ydxd + //SEG1347 [733] phi from bitmap_line::@24 to bitmap_line_ydxd [phi:bitmap_line::@24->bitmap_line_ydxd] bitmap_line_ydxd_from_b24: - //SEG1350 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@24->bitmap_line_ydxd#0] -- register_copy - //SEG1351 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#1] -- register_copy - //SEG1352 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@24->bitmap_line_ydxd#2] -- register_copy - //SEG1353 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@24->bitmap_line_ydxd#3] -- register_copy - //SEG1354 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#4] -- register_copy + //SEG1348 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@24->bitmap_line_ydxd#0] -- register_copy + //SEG1349 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#1] -- register_copy + //SEG1350 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@24->bitmap_line_ydxd#2] -- register_copy + //SEG1351 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@24->bitmap_line_ydxd#3] -- register_copy + //SEG1352 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1355 bitmap_line::@10 + //SEG1353 bitmap_line::@10 b10: - //SEG1356 [661] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1354 [661] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x - //SEG1357 [662] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1355 [662] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_xdyd.y - //SEG1358 [663] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1356 [663] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyd.x1 - //SEG1359 [664] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#0 -- vbuz1=vbuz2 + //SEG1357 [664] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#0 -- vbuz1=vbuz2 lda xd sta bitmap_line_xdyd.xd - //SEG1360 [665] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#3 -- vbuz1=vbuz2 + //SEG1358 [665] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#3 -- vbuz1=vbuz2 lda yd_3 sta bitmap_line_xdyd.yd - //SEG1361 [666] call bitmap_line_xdyd - //SEG1362 [718] phi from bitmap_line::@10 to bitmap_line_xdyd [phi:bitmap_line::@10->bitmap_line_xdyd] + //SEG1359 [666] call bitmap_line_xdyd + //SEG1360 [718] phi from bitmap_line::@10 to bitmap_line_xdyd [phi:bitmap_line::@10->bitmap_line_xdyd] bitmap_line_xdyd_from_b10: - //SEG1363 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@10->bitmap_line_xdyd#0] -- register_copy - //SEG1364 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#1] -- register_copy - //SEG1365 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@10->bitmap_line_xdyd#2] -- register_copy - //SEG1366 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@10->bitmap_line_xdyd#3] -- register_copy - //SEG1367 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#4] -- register_copy + //SEG1361 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@10->bitmap_line_xdyd#0] -- register_copy + //SEG1362 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#1] -- register_copy + //SEG1363 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@10->bitmap_line_xdyd#2] -- register_copy + //SEG1364 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@10->bitmap_line_xdyd#3] -- register_copy + //SEG1365 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1368 bitmap_line::@9 + //SEG1366 bitmap_line::@9 b9: - //SEG1369 [667] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1367 [667] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 lda y1 sec sbc y0 sta yd_10 - //SEG1370 [668] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#0) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 + //SEG1368 [668] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#0) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 lda yd_10 cmp xd bcc b13 jmp b27 - //SEG1371 bitmap_line::@27 + //SEG1369 bitmap_line::@27 b27: - //SEG1372 [669] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1370 [669] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y - //SEG1373 [670] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1371 [670] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_ydxi.x - //SEG1374 [671] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + //SEG1372 [671] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda y1 sta bitmap_line_ydxi.y1 - //SEG1375 [672] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 + //SEG1373 [672] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 lda yd_10 sta bitmap_line_ydxi.yd - //SEG1376 [673] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#0 -- vbuz1=vbuz2 + //SEG1374 [673] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#0 -- vbuz1=vbuz2 lda xd sta bitmap_line_ydxi.xd - //SEG1377 [674] call bitmap_line_ydxi - //SEG1378 [703] phi from bitmap_line::@27 to bitmap_line_ydxi [phi:bitmap_line::@27->bitmap_line_ydxi] + //SEG1375 [674] call bitmap_line_ydxi + //SEG1376 [703] phi from bitmap_line::@27 to bitmap_line_ydxi [phi:bitmap_line::@27->bitmap_line_ydxi] bitmap_line_ydxi_from_b27: - //SEG1379 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@27->bitmap_line_ydxi#0] -- register_copy - //SEG1380 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#1] -- register_copy - //SEG1381 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@27->bitmap_line_ydxi#2] -- register_copy - //SEG1382 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@27->bitmap_line_ydxi#3] -- register_copy - //SEG1383 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#4] -- register_copy + //SEG1377 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@27->bitmap_line_ydxi#0] -- register_copy + //SEG1378 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#1] -- register_copy + //SEG1379 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@27->bitmap_line_ydxi#2] -- register_copy + //SEG1380 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@27->bitmap_line_ydxi#3] -- register_copy + //SEG1381 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp breturn - //SEG1384 bitmap_line::@13 + //SEG1382 bitmap_line::@13 b13: - //SEG1385 [675] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1383 [675] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyi.x - //SEG1386 [676] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1384 [676] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_xdyi.y - //SEG1387 [677] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1385 [677] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyi.x1 - //SEG1388 [678] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#0 -- vbuz1=vbuz2 + //SEG1386 [678] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#0 -- vbuz1=vbuz2 lda xd sta bitmap_line_xdyi.xd - //SEG1389 [679] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 + //SEG1387 [679] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 lda yd_10 sta bitmap_line_xdyi.yd - //SEG1390 [680] call bitmap_line_xdyi - //SEG1391 [681] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] + //SEG1388 [680] call bitmap_line_xdyi + //SEG1389 [681] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] bitmap_line_xdyi_from_b13: - //SEG1392 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy - //SEG1393 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy - //SEG1394 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy - //SEG1395 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy - //SEG1396 [681] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy + //SEG1390 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy + //SEG1391 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy + //SEG1392 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy + //SEG1393 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy + //SEG1394 [681] 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 } -//SEG1397 bitmap_line_xdyi +//SEG1395 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 = $143 @@ -18442,78 +18435,78 @@ bitmap_line_xdyi: { .label xd = $62 .label yd = $61 .label e = $66 - //SEG1398 [682] (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 + //SEG1396 [682] (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 - //SEG1399 [683] 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 [683] 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: - //SEG1400 [683] 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 - //SEG1401 [683] 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 - //SEG1402 [683] 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 + //SEG1398 [683] 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 + //SEG1399 [683] 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 + //SEG1400 [683] 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 - //SEG1403 bitmap_line_xdyi::@1 + //SEG1401 bitmap_line_xdyi::@1 b1: - //SEG1404 [684] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuz1=vbuz2 + //SEG1402 [684] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuz1=vbuz2 lda x sta bitmap_plot.x - //SEG1405 [685] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuz1=vbuz2 + //SEG1403 [685] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuz1=vbuz2 lda y sta bitmap_plot.y - //SEG1406 [686] call bitmap_plot - //SEG1407 [696] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] + //SEG1404 [686] call bitmap_plot + //SEG1405 [696] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1408 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy - //SEG1409 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy + //SEG1406 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy + //SEG1407 [696] 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 b5 - //SEG1410 bitmap_line_xdyi::@5 + //SEG1408 bitmap_line_xdyi::@5 b5: - //SEG1411 [687] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 + //SEG1409 [687] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1412 [688] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1410 [688] (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 - //SEG1413 [689] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1411 [689] 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_b5 jmp b3 - //SEG1414 bitmap_line_xdyi::@3 + //SEG1412 bitmap_line_xdyi::@3 b3: - //SEG1415 [690] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1413 [690] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1416 [691] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1414 [691] (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 - //SEG1417 [692] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@5 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2] + //SEG1415 [692] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@5 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2] b2_from_b3: b2_from_b5: - //SEG1418 [692] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#0] -- register_copy - //SEG1419 [692] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#1] -- register_copy + //SEG1416 [692] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#0] -- register_copy + //SEG1417 [692] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#1] -- register_copy jmp b2 - //SEG1420 bitmap_line_xdyi::@2 + //SEG1418 bitmap_line_xdyi::@2 b2: - //SEG1421 [693] (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 + //SEG1419 [693] (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 - //SEG1422 [694] 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 + //SEG1420 [694] 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 - //SEG1423 bitmap_line_xdyi::@return + //SEG1421 bitmap_line_xdyi::@return breturn: - //SEG1424 [695] return + //SEG1422 [695] return rts } -//SEG1425 bitmap_plot +//SEG1423 bitmap_plot // bitmap_plot(byte zeropage($67) x, byte zeropage($68) y) bitmap_plot: { .label _0 = $148 @@ -18522,19 +18515,19 @@ bitmap_plot: { .label plotter_y = $146 .label x = $67 .label y = $68 - //SEG1426 [697] (word) bitmap_plot::plotter_x#0 ← *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[256]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + //SEG1424 [697] (word) bitmap_plot::plotter_x#0 ← *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[256]) 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 - //SEG1427 [698] (word) bitmap_plot::plotter_y#0 ← *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[256]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + //SEG1425 [698] (word) bitmap_plot::plotter_y#0 ← *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[256]) 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 - //SEG1428 [699] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz2_plus_vwuz3 + //SEG1426 [699] (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 @@ -18542,23 +18535,23 @@ bitmap_plot: { lda plotter_x+1 adc plotter_y+1 sta _0+1 - //SEG1429 [700] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[256]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuz1=_deref_pbuz2_bor_pbuc1_derefidx_vbuz3 + //SEG1427 [700] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[256]) 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 - //SEG1430 [701] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuz2 + //SEG1428 [701] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuz2 lda _1 ldy #0 sta (_0),y jmp breturn - //SEG1431 bitmap_plot::@return + //SEG1429 bitmap_plot::@return breturn: - //SEG1432 [702] return + //SEG1430 [702] return rts } -//SEG1433 bitmap_line_ydxi +//SEG1431 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 = $14b @@ -18568,78 +18561,78 @@ bitmap_line_ydxi: { .label yd = $6a .label xd = $69 .label e = $6e - //SEG1434 [704] (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 + //SEG1432 [704] (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 - //SEG1435 [705] 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 [705] 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: - //SEG1436 [705] 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 - //SEG1437 [705] 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 - //SEG1438 [705] 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 + //SEG1434 [705] 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 + //SEG1435 [705] 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 + //SEG1436 [705] 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 - //SEG1439 bitmap_line_ydxi::@1 + //SEG1437 bitmap_line_ydxi::@1 b1: - //SEG1440 [706] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuz1=vbuz2 + //SEG1438 [706] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuz1=vbuz2 lda x sta bitmap_plot.x - //SEG1441 [707] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuz1=vbuz2 + //SEG1439 [707] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuz1=vbuz2 lda y sta bitmap_plot.y - //SEG1442 [708] call bitmap_plot - //SEG1443 [696] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] + //SEG1440 [708] call bitmap_plot + //SEG1441 [696] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1444 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy - //SEG1445 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy + //SEG1442 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy + //SEG1443 [696] 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 b5 - //SEG1446 bitmap_line_ydxi::@5 + //SEG1444 bitmap_line_ydxi::@5 b5: - //SEG1447 [709] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1445 [709] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1448 [710] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1446 [710] (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 - //SEG1449 [711] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1447 [711] 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_b5 jmp b3 - //SEG1450 bitmap_line_ydxi::@3 + //SEG1448 bitmap_line_ydxi::@3 b3: - //SEG1451 [712] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 + //SEG1449 [712] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1452 [713] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1450 [713] (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 - //SEG1453 [714] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@5 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2] + //SEG1451 [714] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@5 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2] b2_from_b3: b2_from_b5: - //SEG1454 [714] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#0] -- register_copy - //SEG1455 [714] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#1] -- register_copy + //SEG1452 [714] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#0] -- register_copy + //SEG1453 [714] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#1] -- register_copy jmp b2 - //SEG1456 bitmap_line_ydxi::@2 + //SEG1454 bitmap_line_ydxi::@2 b2: - //SEG1457 [715] (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 + //SEG1455 [715] (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 - //SEG1458 [716] 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 + //SEG1456 [716] 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 - //SEG1459 bitmap_line_ydxi::@return + //SEG1457 bitmap_line_ydxi::@return breturn: - //SEG1460 [717] return + //SEG1458 [717] return rts } -//SEG1461 bitmap_line_xdyd +//SEG1459 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 = $14c @@ -18649,78 +18642,78 @@ bitmap_line_xdyd: { .label xd = $70 .label yd = $6f .label e = $74 - //SEG1462 [719] (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 + //SEG1460 [719] (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 - //SEG1463 [720] 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 [720] 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: - //SEG1464 [720] 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 - //SEG1465 [720] 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 - //SEG1466 [720] 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 + //SEG1462 [720] 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 + //SEG1463 [720] 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 + //SEG1464 [720] 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 - //SEG1467 bitmap_line_xdyd::@1 + //SEG1465 bitmap_line_xdyd::@1 b1: - //SEG1468 [721] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuz1=vbuz2 + //SEG1466 [721] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuz1=vbuz2 lda x sta bitmap_plot.x - //SEG1469 [722] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuz1=vbuz2 + //SEG1467 [722] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuz1=vbuz2 lda y sta bitmap_plot.y - //SEG1470 [723] call bitmap_plot - //SEG1471 [696] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] + //SEG1468 [723] call bitmap_plot + //SEG1469 [696] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1472 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy - //SEG1473 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy + //SEG1470 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy + //SEG1471 [696] 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 b5 - //SEG1474 bitmap_line_xdyd::@5 + //SEG1472 bitmap_line_xdyd::@5 b5: - //SEG1475 [724] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 + //SEG1473 [724] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1476 [725] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1474 [725] (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 - //SEG1477 [726] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1475 [726] 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_b5 jmp b3 - //SEG1478 bitmap_line_xdyd::@3 + //SEG1476 bitmap_line_xdyd::@3 b3: - //SEG1479 [727] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 + //SEG1477 [727] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 dec y - //SEG1480 [728] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1478 [728] (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 - //SEG1481 [729] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@5 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2] + //SEG1479 [729] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@5 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2] b2_from_b3: b2_from_b5: - //SEG1482 [729] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#0] -- register_copy - //SEG1483 [729] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#1] -- register_copy + //SEG1480 [729] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#0] -- register_copy + //SEG1481 [729] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#1] -- register_copy jmp b2 - //SEG1484 bitmap_line_xdyd::@2 + //SEG1482 bitmap_line_xdyd::@2 b2: - //SEG1485 [730] (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 + //SEG1483 [730] (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 - //SEG1486 [731] 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 + //SEG1484 [731] 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 - //SEG1487 bitmap_line_xdyd::@return + //SEG1485 bitmap_line_xdyd::@return breturn: - //SEG1488 [732] return + //SEG1486 [732] return rts } -//SEG1489 bitmap_line_ydxd +//SEG1487 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 = $14d @@ -18730,153 +18723,153 @@ bitmap_line_ydxd: { .label yd = $76 .label xd = $75 .label e = $7a - //SEG1490 [734] (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 + //SEG1488 [734] (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 - //SEG1491 [735] 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 [735] 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: - //SEG1492 [735] 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 - //SEG1493 [735] 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 - //SEG1494 [735] 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 + //SEG1490 [735] 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 + //SEG1491 [735] 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 + //SEG1492 [735] 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 - //SEG1495 bitmap_line_ydxd::@1 + //SEG1493 bitmap_line_ydxd::@1 b1: - //SEG1496 [736] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuz1=vbuz2 + //SEG1494 [736] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuz1=vbuz2 lda x sta bitmap_plot.x - //SEG1497 [737] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuz1=vbuz2 + //SEG1495 [737] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuz1=vbuz2 lda y sta bitmap_plot.y - //SEG1498 [738] call bitmap_plot - //SEG1499 [696] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] + //SEG1496 [738] call bitmap_plot + //SEG1497 [696] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1500 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy - //SEG1501 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy + //SEG1498 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy + //SEG1499 [696] 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 b5 - //SEG1502 bitmap_line_ydxd::@5 + //SEG1500 bitmap_line_ydxd::@5 b5: - //SEG1503 [739] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 + //SEG1501 [739] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG1504 [740] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1502 [740] (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 - //SEG1505 [741] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1503 [741] 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_b5 jmp b3 - //SEG1506 bitmap_line_ydxd::@3 + //SEG1504 bitmap_line_ydxd::@3 b3: - //SEG1507 [742] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 + //SEG1505 [742] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 dec x - //SEG1508 [743] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1506 [743] (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 - //SEG1509 [744] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@5 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2] + //SEG1507 [744] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@5 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2] b2_from_b3: b2_from_b5: - //SEG1510 [744] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#0] -- register_copy - //SEG1511 [744] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#1] -- register_copy + //SEG1508 [744] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#0] -- register_copy + //SEG1509 [744] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#1] -- register_copy jmp b2 - //SEG1512 bitmap_line_ydxd::@2 + //SEG1510 bitmap_line_ydxd::@2 b2: - //SEG1513 [745] (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 + //SEG1511 [745] (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 - //SEG1514 [746] 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 + //SEG1512 [746] 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 - //SEG1515 bitmap_line_ydxd::@return + //SEG1513 bitmap_line_ydxd::@return breturn: - //SEG1516 [747] return + //SEG1514 [747] return rts } -//SEG1517 bitmap_clear +//SEG1515 bitmap_clear // Clear all graphics on the bitmap bitmap_clear: { .label bitmap = $7c .label x = $7e .label y = $7b .label _3 = $14e - //SEG1518 [748] (word~) bitmap_clear::$3 ← *((const byte[256]) bitmap_plot_xhi#0) w= *((const byte[256]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG1516 [748] (word~) bitmap_clear::$3 ← *((const byte[256]) bitmap_plot_xhi#0) w= *((const byte[256]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda bitmap_plot_xlo sta _3 lda bitmap_plot_xhi sta _3+1 - //SEG1519 [749] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 -- pbuz1=pbuz2 + //SEG1517 [749] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 -- pbuz1=pbuz2 lda _3 sta bitmap lda _3+1 sta bitmap+1 - //SEG1520 [750] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] + //SEG1518 [750] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] b1_from_bitmap_clear: - //SEG1521 [750] 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 + //SEG1519 [750] 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 - //SEG1522 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy + //SEG1520 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy jmp b1 - //SEG1523 [750] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] + //SEG1521 [750] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] b1_from_b3: - //SEG1524 [750] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy - //SEG1525 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy + //SEG1522 [750] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy + //SEG1523 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy jmp b1 - //SEG1526 bitmap_clear::@1 + //SEG1524 bitmap_clear::@1 b1: - //SEG1527 [751] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] + //SEG1525 [751] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] b2_from_b1: - //SEG1528 [751] 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 + //SEG1526 [751] 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 - //SEG1529 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy + //SEG1527 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy jmp b2 - //SEG1530 [751] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] + //SEG1528 [751] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] b2_from_b2: - //SEG1531 [751] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy - //SEG1532 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy + //SEG1529 [751] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy + //SEG1530 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy jmp b2 - //SEG1533 bitmap_clear::@2 + //SEG1531 bitmap_clear::@2 b2: - //SEG1534 [752] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1532 [752] *((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 - //SEG1535 [753] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 + //SEG1533 [753] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 inc bitmap bne !+ inc bitmap+1 !: - //SEG1536 [754] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuz1=_inc_vbuz1 + //SEG1534 [754] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuz1=_inc_vbuz1 inc x - //SEG1537 [755] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) 200) goto bitmap_clear::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1535 [755] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) 200) goto bitmap_clear::@2 -- vbuz1_neq_vbuc1_then_la1 lda x cmp #$c8 bne b2_from_b2 jmp b3 - //SEG1538 bitmap_clear::@3 + //SEG1536 bitmap_clear::@3 b3: - //SEG1539 [756] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 + //SEG1537 [756] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 inc y - //SEG1540 [757] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1538 [757] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 lda y cmp #$28 bne b1_from_b3 jmp breturn - //SEG1541 bitmap_clear::@return + //SEG1539 bitmap_clear::@return breturn: - //SEG1542 [758] return + //SEG1540 [758] return rts } -//SEG1543 bitmap_init +//SEG1541 bitmap_init // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { .label _0 = $150 @@ -18889,110 +18882,110 @@ bitmap_init: { .label x = $7f .label y = $81 .label yoffs = $82 - //SEG1544 [760] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] + //SEG1542 [760] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] b1_from_bitmap_init: - //SEG1545 [760] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init->bitmap_init::@1#0] -- vbuz1=vbuc1 + //SEG1543 [760] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init->bitmap_init::@1#0] -- vbuz1=vbuc1 lda #$80 sta bits - //SEG1546 [760] 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 + //SEG1544 [760] 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 - //SEG1547 [760] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] + //SEG1545 [760] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] b1_from_b2: - //SEG1548 [760] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy - //SEG1549 [760] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy + //SEG1546 [760] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy + //SEG1547 [760] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy jmp b1 - //SEG1550 bitmap_init::@1 + //SEG1548 bitmap_init::@1 b1: - //SEG1551 [761] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) 248 -- vbuz1=vbuz2_band_vbuc1 + //SEG1549 [761] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) 248 -- vbuz1=vbuz2_band_vbuc1 lda #$f8 and x sta _0 - //SEG1552 [762] *((const byte[256]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG1550 [762] *((const byte[256]) 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 - //SEG1553 [763] *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG1551 [763] *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuz1=vbuc2 ldy x lda #>VIC_BITMAP sta bitmap_plot_xhi,y - //SEG1554 [764] *((const byte[256]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG1552 [764] *((const byte[256]) 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 - //SEG1555 [765] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_ror_1 + //SEG1553 [765] (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 - //SEG1556 [766] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@10 -- vbuz1_neq_0_then_la1 + //SEG1554 [766] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@10 -- vbuz1_neq_0_then_la1 lda bits cmp #0 bne b10_from_b1 - //SEG1557 [767] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] + //SEG1555 [767] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] b2_from_b1: - //SEG1558 [767] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuz1=vbuc1 + //SEG1556 [767] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuz1=vbuc1 lda #$80 sta bits jmp b2 - //SEG1559 bitmap_init::@2 + //SEG1557 bitmap_init::@2 b2: - //SEG1560 [768] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuz1=_inc_vbuz1 + //SEG1558 [768] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuz1=_inc_vbuz1 inc x - //SEG1561 [769] 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 + //SEG1559 [769] 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 - //SEG1562 [770] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] + //SEG1560 [770] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] b3_from_b2: - //SEG1563 [770] 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 + //SEG1561 [770] 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 - //SEG1564 [770] 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 + //SEG1562 [770] 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 - //SEG1565 [770] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] + //SEG1563 [770] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] b3_from_b4: - //SEG1566 [770] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy - //SEG1567 [770] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy + //SEG1564 [770] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy + //SEG1565 [770] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy jmp b3 - //SEG1568 bitmap_init::@3 + //SEG1566 bitmap_init::@3 b3: - //SEG1569 [771] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_band_vbuc1 + //SEG1567 [771] (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 - //SEG1570 [772] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuz1=_lo_pbuz2 + //SEG1568 [772] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuz1=_lo_pbuz2 lda yoffs sta _7 - //SEG1571 [773] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuz1=vbuz2_bor_vbuz3 + //SEG1569 [773] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuz1=vbuz2_bor_vbuz3 lda _6 ora _7 sta _8 - //SEG1572 [774] *((const byte[256]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG1570 [774] *((const byte[256]) 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 - //SEG1573 [775] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuz1=_hi_pbuz2 + //SEG1571 [775] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuz1=_hi_pbuz2 lda yoffs+1 sta _9 - //SEG1574 [776] *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG1572 [776] *((const byte[256]) 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 - //SEG1575 [777] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_band_vbuc1 + //SEG1573 [777] (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 - //SEG1576 [778] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 + //SEG1574 [778] 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 _10 cmp #7 bne b4_from_b3 jmp b7 - //SEG1577 bitmap_init::@7 + //SEG1575 bitmap_init::@7 b7: - //SEG1578 [779] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 + //SEG1576 [779] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 clc lda yoffs adc #<$28*8 @@ -19000,194 +18993,194 @@ bitmap_init: { lda yoffs+1 adc #>$28*8 sta yoffs+1 - //SEG1579 [780] phi from bitmap_init::@3 bitmap_init::@7 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4] + //SEG1577 [780] phi from bitmap_init::@3 bitmap_init::@7 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4] b4_from_b3: b4_from_b7: - //SEG1580 [780] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4#0] -- register_copy + //SEG1578 [780] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4#0] -- register_copy jmp b4 - //SEG1581 bitmap_init::@4 + //SEG1579 bitmap_init::@4 b4: - //SEG1582 [781] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuz1=_inc_vbuz1 + //SEG1580 [781] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG1583 [782] 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 + //SEG1581 [782] 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 - //SEG1584 bitmap_init::@return + //SEG1582 bitmap_init::@return breturn: - //SEG1585 [783] return + //SEG1583 [783] return rts - //SEG1586 [784] phi from bitmap_init::@1 to bitmap_init::@10 [phi:bitmap_init::@1->bitmap_init::@10] + //SEG1584 [784] phi from bitmap_init::@1 to bitmap_init::@10 [phi:bitmap_init::@1->bitmap_init::@10] b10_from_b1: jmp b10 - //SEG1587 bitmap_init::@10 + //SEG1585 bitmap_init::@10 b10: - //SEG1588 [767] phi from bitmap_init::@10 to bitmap_init::@2 [phi:bitmap_init::@10->bitmap_init::@2] + //SEG1586 [767] phi from bitmap_init::@10 to bitmap_init::@2 [phi:bitmap_init::@10->bitmap_init::@2] b2_from_b10: - //SEG1589 [767] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@10->bitmap_init::@2#0] -- register_copy + //SEG1587 [767] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@10->bitmap_init::@2#0] -- register_copy jmp b2 } -//SEG1590 gfx_init_charset +//SEG1588 gfx_init_charset gfx_init_charset: { .label charset = $87 .label chargen = $85 .label l = $89 .label c = $84 - //SEG1591 [785] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 -- _deref_pbuc1=vbuc2 + //SEG1589 [785] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - //SEG1592 [786] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] + //SEG1590 [786] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] b1_from_gfx_init_charset: - //SEG1593 [786] 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 + //SEG1591 [786] 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 - //SEG1594 [786] phi (byte*) gfx_init_charset::charset#3 = (const byte*) VIC_CHARSET_ROM#0 [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 + //SEG1592 [786] 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 - //SEG1595 [786] phi (byte*) gfx_init_charset::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 + //SEG1593 [786] 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 - //SEG1596 [786] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] + //SEG1594 [786] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] b1_from_b3: - //SEG1597 [786] 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 - //SEG1598 [786] 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 - //SEG1599 [786] 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 + //SEG1595 [786] 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 + //SEG1596 [786] 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 + //SEG1597 [786] 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 - //SEG1600 gfx_init_charset::@1 + //SEG1598 gfx_init_charset::@1 b1: - //SEG1601 [787] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] + //SEG1599 [787] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] b2_from_b1: - //SEG1602 [787] 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 + //SEG1600 [787] 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 - //SEG1603 [787] 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 - //SEG1604 [787] 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 + //SEG1601 [787] 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 + //SEG1602 [787] 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 - //SEG1605 [787] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] + //SEG1603 [787] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] b2_from_b2: - //SEG1606 [787] 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 - //SEG1607 [787] 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 - //SEG1608 [787] 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 + //SEG1604 [787] 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 + //SEG1605 [787] 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 + //SEG1606 [787] 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 - //SEG1609 gfx_init_charset::@2 + //SEG1607 gfx_init_charset::@2 b2: - //SEG1610 [788] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 + //SEG1608 [788] *((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 - //SEG1611 [789] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 + //SEG1609 [789] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 inc charset bne !+ inc charset+1 !: - //SEG1612 [790] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1610 [790] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1613 [791] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuz1=_inc_vbuz1 + //SEG1611 [791] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuz1=_inc_vbuz1 inc l - //SEG1614 [792] 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 + //SEG1612 [792] 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 l cmp #8 bne b2_from_b2 jmp b3 - //SEG1615 gfx_init_charset::@3 + //SEG1613 gfx_init_charset::@3 b3: - //SEG1616 [793] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 + //SEG1614 [793] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 inc c - //SEG1617 [794] 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 + //SEG1615 [794] 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 - //SEG1618 gfx_init_charset::@4 + //SEG1616 gfx_init_charset::@4 b4: - //SEG1619 [795] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 -- _deref_pbuc1=vbuc2 + //SEG1617 [795] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT jmp breturn - //SEG1620 gfx_init_charset::@return + //SEG1618 gfx_init_charset::@return breturn: - //SEG1621 [796] return + //SEG1619 [796] return rts } -//SEG1622 gfx_init_screen4 +//SEG1620 gfx_init_screen4 // Initialize VIC screen 4 - all chars are 00 gfx_init_screen4: { .label ch = $8b .label cx = $8d .label cy = $8a - //SEG1623 [798] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] + //SEG1621 [798] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] b1_from_gfx_init_screen4: - //SEG1624 [798] 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 + //SEG1622 [798] 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 - //SEG1625 [798] phi (byte*) gfx_init_screen4::ch#3 = (const byte*) VIC_SCREEN4#0 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 + //SEG1623 [798] 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 - //SEG1626 [798] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] + //SEG1624 [798] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] b1_from_b3: - //SEG1627 [798] 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 - //SEG1628 [798] 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 + //SEG1625 [798] 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 + //SEG1626 [798] 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 - //SEG1629 gfx_init_screen4::@1 + //SEG1627 gfx_init_screen4::@1 b1: - //SEG1630 [799] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] + //SEG1628 [799] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] b2_from_b1: - //SEG1631 [799] 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 + //SEG1629 [799] 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 - //SEG1632 [799] 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 [799] 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 - //SEG1633 [799] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] + //SEG1631 [799] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] b2_from_b2: - //SEG1634 [799] 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 - //SEG1635 [799] 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 + //SEG1632 [799] 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 + //SEG1633 [799] 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 - //SEG1636 gfx_init_screen4::@2 + //SEG1634 gfx_init_screen4::@2 b2: - //SEG1637 [800] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1635 [800] *((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 - //SEG1638 [801] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1636 [801] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1639 [802] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1637 [802] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1640 [803] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen4::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1638 [803] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen4::@2 -- vbuz1_neq_vbuc1_then_la1 lda cx cmp #$28 bne b2_from_b2 jmp b3 - //SEG1641 gfx_init_screen4::@3 + //SEG1639 gfx_init_screen4::@3 b3: - //SEG1642 [804] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1640 [804] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1643 [805] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1641 [805] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1644 gfx_init_screen4::@return + //SEG1642 gfx_init_screen4::@return breturn: - //SEG1645 [806] return + //SEG1643 [806] return rts } -//SEG1646 gfx_init_screen3 +//SEG1644 gfx_init_screen3 // Initialize VIC screen 3 ( value is %00xx00yy where xx is xpos and yy is ypos gfx_init_screen3: { .label _0 = $156 @@ -19197,88 +19190,88 @@ gfx_init_screen3: { .label ch = $90 .label cx = $8f .label cy = $8e - //SEG1647 [808] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] + //SEG1645 [808] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] b1_from_gfx_init_screen3: - //SEG1648 [808] phi (byte*) gfx_init_screen3::ch#3 = (const byte*) VIC_SCREEN3#0 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 + //SEG1646 [808] 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 - //SEG1649 [808] 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 + //SEG1647 [808] 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 - //SEG1650 [808] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] + //SEG1648 [808] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] b1_from_b3: - //SEG1651 [808] 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 - //SEG1652 [808] 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 + //SEG1649 [808] 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 + //SEG1650 [808] 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 - //SEG1653 gfx_init_screen3::@1 + //SEG1651 gfx_init_screen3::@1 b1: - //SEG1654 [809] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] + //SEG1652 [809] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] b2_from_b1: - //SEG1655 [809] 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 - //SEG1656 [809] 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 + //SEG1653 [809] 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 + //SEG1654 [809] 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 - //SEG1657 [809] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] + //SEG1655 [809] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] b2_from_b2: - //SEG1658 [809] 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 - //SEG1659 [809] 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 + //SEG1656 [809] 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 + //SEG1657 [809] 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 - //SEG1660 gfx_init_screen3::@2 + //SEG1658 gfx_init_screen3::@2 b2: - //SEG1661 [810] (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 + //SEG1659 [810] (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 - //SEG1662 [811] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_rol_4 + //SEG1660 [811] (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 - //SEG1663 [812] (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 + //SEG1661 [812] (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 - //SEG1664 [813] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuz1=vbuz2_bor_vbuz3 + //SEG1662 [813] (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 - //SEG1665 [814] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuz2 + //SEG1663 [814] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuz2 lda _3 ldy #0 sta (ch),y - //SEG1666 [815] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1664 [815] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1667 [816] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1665 [816] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1668 [817] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen3::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1666 [817] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen3::@2 -- vbuz1_neq_vbuc1_then_la1 lda cx cmp #$28 bne b2_from_b2 jmp b3 - //SEG1669 gfx_init_screen3::@3 + //SEG1667 gfx_init_screen3::@3 b3: - //SEG1670 [818] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1668 [818] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1671 [819] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1669 [819] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1672 gfx_init_screen3::@return + //SEG1670 gfx_init_screen3::@return breturn: - //SEG1673 [820] return + //SEG1671 [820] return rts } -//SEG1674 gfx_init_screen2 +//SEG1672 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 = $15a @@ -19289,94 +19282,94 @@ gfx_init_screen2: { .label ch = $94 .label cx = $93 .label cy = $92 - //SEG1675 [822] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] + //SEG1673 [822] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] b1_from_gfx_init_screen2: - //SEG1676 [822] phi (byte*) gfx_init_screen2::ch#3 = (const byte*) VIC_SCREEN2#0 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 + //SEG1674 [822] 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 - //SEG1677 [822] 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 + //SEG1675 [822] 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 - //SEG1678 [822] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] + //SEG1676 [822] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] b1_from_b3: - //SEG1679 [822] 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 - //SEG1680 [822] 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 + //SEG1677 [822] 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 + //SEG1678 [822] 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 - //SEG1681 gfx_init_screen2::@1 + //SEG1679 gfx_init_screen2::@1 b1: - //SEG1682 [823] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] + //SEG1680 [823] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] b2_from_b1: - //SEG1683 [823] 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 - //SEG1684 [823] 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 + //SEG1681 [823] 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 + //SEG1682 [823] 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 - //SEG1685 [823] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] + //SEG1683 [823] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] b2_from_b2: - //SEG1686 [823] 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 - //SEG1687 [823] 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 + //SEG1684 [823] 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 + //SEG1685 [823] 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 - //SEG1688 gfx_init_screen2::@2 + //SEG1686 gfx_init_screen2::@2 b2: - //SEG1689 [824] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuz1=vbuz2_plus_vbuz3 + //SEG1687 [824] (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 - //SEG1690 [825] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuz1=vbuz2_band_vbuc1 + //SEG1688 [825] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuz1=vbuz2_band_vbuc1 lda #$f and _0 sta col - //SEG1691 [826] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) 15 - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuz2 + //SEG1689 [826] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) 15 - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuz2 lda #$f sec sbc col sta col2 - //SEG1692 [827] (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 + //SEG1690 [827] (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 - //SEG1693 [828] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuz1=vbuz2_bor_vbuz3 + //SEG1691 [828] (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 - //SEG1694 [829] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuz2 + //SEG1692 [829] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuz2 lda _4 ldy #0 sta (ch),y - //SEG1695 [830] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1693 [830] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1696 [831] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1694 [831] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1697 [832] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen2::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1695 [832] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen2::@2 -- vbuz1_neq_vbuc1_then_la1 lda cx cmp #$28 bne b2_from_b2 jmp b3 - //SEG1698 gfx_init_screen2::@3 + //SEG1696 gfx_init_screen2::@3 b3: - //SEG1699 [833] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1697 [833] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1700 [834] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1698 [834] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1701 gfx_init_screen2::@return + //SEG1699 gfx_init_screen2::@return breturn: - //SEG1702 [835] return + //SEG1700 [835] return rts } -//SEG1703 gfx_init_screen1 +//SEG1701 gfx_init_screen1 // Initialize VIC screen 1 ( value is %0000cccc where cccc is (x+y mod $f)) gfx_init_screen1: { .label _0 = $15f @@ -19384,78 +19377,78 @@ gfx_init_screen1: { .label ch = $98 .label cx = $97 .label cy = $96 - //SEG1704 [837] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] + //SEG1702 [837] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] b1_from_gfx_init_screen1: - //SEG1705 [837] phi (byte*) gfx_init_screen1::ch#3 = (const byte*) VIC_SCREEN1#0 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 + //SEG1703 [837] 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 - //SEG1706 [837] 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 + //SEG1704 [837] 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 - //SEG1707 [837] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] + //SEG1705 [837] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] b1_from_b3: - //SEG1708 [837] 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 - //SEG1709 [837] 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 + //SEG1706 [837] 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 + //SEG1707 [837] 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 - //SEG1710 gfx_init_screen1::@1 + //SEG1708 gfx_init_screen1::@1 b1: - //SEG1711 [838] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] + //SEG1709 [838] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] b2_from_b1: - //SEG1712 [838] 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 - //SEG1713 [838] 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 + //SEG1710 [838] 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 + //SEG1711 [838] 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 - //SEG1714 [838] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] + //SEG1712 [838] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] b2_from_b2: - //SEG1715 [838] 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 - //SEG1716 [838] 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 + //SEG1713 [838] 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 + //SEG1714 [838] 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 - //SEG1717 gfx_init_screen1::@2 + //SEG1715 gfx_init_screen1::@2 b2: - //SEG1718 [839] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuz1=vbuz2_plus_vbuz3 + //SEG1716 [839] (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 - //SEG1719 [840] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuz1=vbuz2_band_vbuc1 + //SEG1717 [840] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuz1=vbuz2_band_vbuc1 lda #$f and _0 sta _1 - //SEG1720 [841] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuz2 + //SEG1718 [841] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuz2 lda _1 ldy #0 sta (ch),y - //SEG1721 [842] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1719 [842] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1722 [843] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1720 [843] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1723 [844] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen1::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1721 [844] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen1::@2 -- vbuz1_neq_vbuc1_then_la1 lda cx cmp #$28 bne b2_from_b2 jmp b3 - //SEG1724 gfx_init_screen1::@3 + //SEG1722 gfx_init_screen1::@3 b3: - //SEG1725 [845] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1723 [845] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1726 [846] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1724 [846] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1727 gfx_init_screen1::@return + //SEG1725 gfx_init_screen1::@return breturn: - //SEG1728 [847] return + //SEG1726 [847] return rts } -//SEG1729 gfx_init_screen0 +//SEG1727 gfx_init_screen0 // Initialize VIC screen 0 ( value is %yyyyxxxx where yyyy is ypos and xxxx is xpos) gfx_init_screen0: { .label _0 = $161 @@ -19465,102 +19458,102 @@ gfx_init_screen0: { .label ch = $9c .label cx = $9b .label cy = $9a - //SEG1730 [849] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] + //SEG1728 [849] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] b1_from_gfx_init_screen0: - //SEG1731 [849] phi (byte*) gfx_init_screen0::ch#3 = (const byte*) VIC_SCREEN0#0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 + //SEG1729 [849] 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 - //SEG1732 [849] 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 + //SEG1730 [849] 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 - //SEG1733 [849] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] + //SEG1731 [849] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] b1_from_b3: - //SEG1734 [849] 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 - //SEG1735 [849] 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 + //SEG1732 [849] 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 + //SEG1733 [849] 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 - //SEG1736 gfx_init_screen0::@1 + //SEG1734 gfx_init_screen0::@1 b1: - //SEG1737 [850] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] + //SEG1735 [850] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] b2_from_b1: - //SEG1738 [850] 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 - //SEG1739 [850] 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 + //SEG1736 [850] 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 + //SEG1737 [850] 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 - //SEG1740 [850] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] + //SEG1738 [850] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] b2_from_b2: - //SEG1741 [850] 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 - //SEG1742 [850] 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 + //SEG1739 [850] 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 + //SEG1740 [850] 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 - //SEG1743 gfx_init_screen0::@2 + //SEG1741 gfx_init_screen0::@2 b2: - //SEG1744 [851] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuz1=vbuz2_band_vbuc1 + //SEG1742 [851] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuz1=vbuz2_band_vbuc1 lda #$f and cy sta _0 - //SEG1745 [852] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_rol_4 + //SEG1743 [852] (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 - //SEG1746 [853] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuz1=vbuz2_band_vbuc1 + //SEG1744 [853] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuz1=vbuz2_band_vbuc1 lda #$f and cx sta _2 - //SEG1747 [854] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuz1=vbuz2_bor_vbuz3 + //SEG1745 [854] (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 - //SEG1748 [855] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuz2 + //SEG1746 [855] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuz2 lda _3 ldy #0 sta (ch),y - //SEG1749 [856] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1747 [856] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1750 [857] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuz1=_inc_vbuz1 + //SEG1748 [857] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuz1=_inc_vbuz1 inc cx - //SEG1751 [858] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen0::@2 -- vbuz1_neq_vbuc1_then_la1 + //SEG1749 [858] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen0::@2 -- vbuz1_neq_vbuc1_then_la1 lda cx cmp #$28 bne b2_from_b2 jmp b3 - //SEG1752 gfx_init_screen0::@3 + //SEG1750 gfx_init_screen0::@3 b3: - //SEG1753 [859] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1751 [859] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1754 [860] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1752 [860] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1755 gfx_init_screen0::@return + //SEG1753 gfx_init_screen0::@return breturn: - //SEG1756 [861] return + //SEG1754 [861] return rts } -//SEG1757 keyboard_init +//SEG1755 keyboard_init // Initialize keyboard reading by setting CIA#$ Data Direction Registers keyboard_init: { - //SEG1758 [862] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuc1=vbuc2 + //SEG1756 [862] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Write Mode lda #$ff sta CIA1_PORT_A_DDR - //SEG1759 [863] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + //SEG1757 [863] *((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 - //SEG1760 keyboard_init::@return + //SEG1758 keyboard_init::@return breturn: - //SEG1761 [864] return + //SEG1759 [864] return rts } // Default vallues for the palette @@ -20548,366 +20541,366 @@ Uplift Scope [gfx_init_plane_vertical2] Uplift Scope [gfx_init_plane_blank] Uplift Scope [gfx_init_plane_full] -Uplifting [keyboard_event_scan] best 15533621 combination reg byte a [ keyboard_event_scan::$3 ] reg byte a [ keyboard_event_scan::$4 ] zp ZP_BYTE:256 [ keyboard_event_scan::event_type#0 ] zp ZP_BYTE:257 [ keyboard_event_scan::$11 ] 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#1 keyboard_event_scan::keycode#15 ] 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::$14 ] zp ZP_BYTE:249 [ keyboard_event_scan::$18 ] zp ZP_BYTE:251 [ keyboard_event_scan::$22 ] zp ZP_BYTE:253 [ keyboard_event_scan::$26 ] +Uplifting [keyboard_event_scan] best 15533608 combination reg byte a [ keyboard_event_scan::$3 ] reg byte a [ keyboard_event_scan::$4 ] zp ZP_BYTE:256 [ keyboard_event_scan::event_type#0 ] zp ZP_BYTE:257 [ keyboard_event_scan::$11 ] 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#1 keyboard_event_scan::keycode#15 ] 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::$14 ] zp ZP_BYTE:249 [ keyboard_event_scan::$18 ] zp ZP_BYTE:251 [ keyboard_event_scan::$22 ] zp ZP_BYTE:253 [ keyboard_event_scan::$26 ] Limited combination testing to 10 combinations of 5308416 possible. -Uplifting [] best 15533553 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#118 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#119 keyboard_events_size#2 keyboard_events_size#1 ] 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 ] reg byte x [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#32 form_field_idx#44 form_field_idx#45 ] zp ZP_BYTE:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#4 keyboard_modifiers#19 keyboard_modifiers#3 keyboard_modifiers#18 keyboard_modifiers#5 ] +Uplifting [] best 15533540 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#118 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#119 keyboard_events_size#2 keyboard_events_size#1 ] 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 ] reg byte x [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#32 form_field_idx#44 form_field_idx#45 ] zp ZP_BYTE:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#4 keyboard_modifiers#19 keyboard_modifiers#3 keyboard_modifiers#18 keyboard_modifiers#5 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [keyboard_matrix_read] best 15443552 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::rowid#0 ] zp ZP_BYTE:262 [ keyboard_matrix_read::return#0 ] +Uplifting [keyboard_matrix_read] best 15443539 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ 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 15428552 combination reg byte a [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] reg byte a [ gfx_init_plane_charset8::$5 ] 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 15428539 combination reg byte a [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] reg byte a [ gfx_init_plane_charset8::$5 ] 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 512 possible. -Uplifting [print_str_at] best 15428552 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 15428548 combination zp ZP_BYTE:42 [ 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 a [ 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 ] +Uplifting [print_str_at] best 15428539 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 15428535 combination zp ZP_BYTE:42 [ 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 a [ 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 15428548 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 15416215 combination reg byte y [ apply_preset::i#2 apply_preset::i#1 ] zp ZP_WORD:43 [ apply_preset::preset#13 ] reg byte a [ apply_preset::idx#0 ] +Uplifting [form_render_values] best 15428535 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 15416202 combination reg byte y [ apply_preset::i#2 apply_preset::i#1 ] zp ZP_WORD:43 [ apply_preset::preset#13 ] reg byte a [ apply_preset::idx#0 ] Limited combination testing to 10 combinations of 12 possible. -Uplifting [print_str_lines] best 15404215 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 15397015 combination reg byte a [ form_mode::$36 ] reg byte y [ 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 15404202 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 15397002 combination reg byte a [ form_mode::$36 ] reg byte y [ 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 15391015 combination reg byte a [ form_control::return#0 ] zp ZP_BYTE:46 [ form_control::return#2 ] zp ZP_BYTE:280 [ form_control::$5 ] zp ZP_BYTE:283 [ form_control::$11 ] zp ZP_BYTE:284 [ form_control::$12 ] zp ZP_BYTE:285 [ form_control::$22 ] zp ZP_BYTE:286 [ form_control::$6 ] zp ZP_BYTE:282 [ form_control::key_event#0 ] zp ZP_WORD:278 [ form_control::field#0 ] +Uplifting [form_control] best 15391002 combination reg byte a [ form_control::return#0 ] zp ZP_BYTE:46 [ form_control::return#2 ] zp ZP_BYTE:280 [ form_control::$5 ] zp ZP_BYTE:283 [ form_control::$11 ] zp ZP_BYTE:284 [ form_control::$12 ] zp ZP_BYTE:285 [ form_control::$22 ] zp ZP_BYTE:286 [ form_control::$6 ] zp ZP_BYTE:282 [ form_control::key_event#0 ] zp ZP_WORD:278 [ form_control::field#0 ] Limited combination testing to 10 combinations of 65536 possible. -Uplifting [bitmap_plot] best 15388606 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:326 [ bitmap_plot::plotter_y#0 ] zp ZP_BYTE:330 [ bitmap_plot::$1 ] zp ZP_WORD:324 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:328 [ bitmap_plot::$0 ] +Uplifting [bitmap_plot] best 15388593 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:326 [ bitmap_plot::plotter_y#0 ] zp ZP_BYTE:330 [ bitmap_plot::$1 ] zp ZP_WORD:324 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:328 [ bitmap_plot::$0 ] Limited combination testing to 10 combinations of 36 possible. -Uplifting [gfx_init_plane_8bppchunky] best 15387376 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:310 [ gfx_init_plane_8bppchunky::$6 ] 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 15387363 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:310 [ gfx_init_plane_8bppchunky::$6 ] 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 15386176 combination reg byte a [ gfx_init_screen2::$0 ] reg byte a [ gfx_init_screen2::$3 ] zp ZP_BYTE:350 [ gfx_init_screen2::$4 ] zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] zp ZP_BYTE:347 [ 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:348 [ gfx_init_screen2::col2#0 ] zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplifting [gfx_init_screen2] best 15386163 combination reg byte a [ gfx_init_screen2::$0 ] reg byte a [ gfx_init_screen2::$3 ] zp ZP_BYTE:350 [ gfx_init_screen2::$4 ] zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] zp ZP_BYTE:347 [ 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:348 [ 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 15385576 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#1 bitmap_line_xdyi::y#0 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#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] +Uplifting [bitmap_line_xdyi] best 15385563 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#1 bitmap_line_xdyi::y#0 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#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_xdyd] best 15384976 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#1 bitmap_line_xdyd::y#0 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#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] +Uplifting [bitmap_line_xdyd] best 15384963 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#1 bitmap_line_xdyd::y#0 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#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_ydxi] best 15383970 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#0 bitmap_line_ydxi::x#1 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#0 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#2 ] zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#0 bitmap_line_ydxi::yd#1 ] zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#0 bitmap_line_ydxi::xd#1 ] zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#0 bitmap_line_ydxi::y1#1 ] +Uplifting [bitmap_line_ydxi] best 15383957 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#0 bitmap_line_ydxi::x#1 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#0 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#2 ] zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#0 bitmap_line_ydxi::yd#1 ] zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#0 bitmap_line_ydxi::xd#1 ] zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#0 bitmap_line_ydxi::y1#1 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_ydxd] best 15382964 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 15382951 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 15381764 combination reg byte a [ gfx_init_screen0::$0 ] reg byte a [ gfx_init_screen0::$2 ] zp ZP_BYTE:356 [ 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:354 [ gfx_init_screen0::$1 ] zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplifting [gfx_init_screen0] best 15381751 combination reg byte a [ gfx_init_screen0::$0 ] reg byte a [ gfx_init_screen0::$2 ] zp ZP_BYTE:356 [ 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:354 [ 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 15380564 combination reg byte a [ gfx_init_screen3::$0 ] reg byte a [ gfx_init_screen3::$2 ] zp ZP_BYTE:345 [ 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:343 [ gfx_init_screen3::$1 ] zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplifting [gfx_init_screen3] best 15380551 combination reg byte a [ gfx_init_screen3::$0 ] reg byte a [ gfx_init_screen3::$2 ] zp ZP_BYTE:345 [ 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:343 [ 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 15379064 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::$5 ] 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 15379051 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::$5 ] 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 15377464 combination reg byte x [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] reg byte a [ gfx_init_screen1::$0 ] zp ZP_BYTE:352 [ 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 15377451 combination reg byte x [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] reg byte a [ gfx_init_screen1::$0 ] zp ZP_BYTE:352 [ 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 15375364 combination reg byte y [ 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 15375351 combination reg byte y [ 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 ] Limited combination testing to 10 combinations of 48 possible. -Uplifting [gfx_init_plane_horisontal2] best 15374364 combination reg byte a [ gfx_init_plane_horisontal2::$5 ] 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 15374351 combination reg byte a [ gfx_init_plane_horisontal2::$5 ] 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 15373464 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 15372561 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 ] reg byte x [ gfx_init_plane_fill::gfxbCpuBank#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 ] zp ZP_WORD:300 [ gfx_init_plane_fill::$4 ] zp ZP_WORD:302 [ gfx_init_plane_fill::$5 ] zp ZP_BYTE:298 [ gfx_init_plane_fill::gfxbCpuBank#0 ] zp ZP_WORD:304 [ gfx_init_plane_fill::$6 ] zp ZP_DWORD:58 [ gfx_init_plane_fill::plane_addr#3 ] +Uplifting [gfx_init_charset] best 15373451 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 15372548 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 ] reg byte x [ gfx_init_plane_fill::gfxbCpuBank#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 ] zp ZP_WORD:300 [ gfx_init_plane_fill::$4 ] zp ZP_WORD:302 [ gfx_init_plane_fill::$5 ] zp ZP_BYTE:298 [ gfx_init_plane_fill::gfxbCpuBank#0 ] zp ZP_WORD:304 [ gfx_init_plane_fill::$6 ] zp ZP_DWORD:58 [ gfx_init_plane_fill::plane_addr#3 ] Limited combination testing to 10 combinations of 96 possible. -Uplifting [bitmap_clear] best 15371661 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:334 [ bitmap_clear::$3 ] -Uplifting [gfx_init_screen4] best 15370761 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 15369861 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 15369861 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 15369722 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] -Uplifting [keyboard_event_get] best 15368813 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 15371648 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:334 [ bitmap_clear::$3 ] +Uplifting [gfx_init_screen4] best 15370748 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 15369848 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 15369848 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 15369709 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] +Uplifting [keyboard_event_get] best 15368800 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 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [bitmap_init] best 15368533 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:336 [ bitmap_init::$0 ] zp ZP_BYTE:338 [ bitmap_init::$7 ] zp ZP_BYTE:339 [ bitmap_init::$8 ] zp ZP_BYTE:340 [ bitmap_init::$9 ] zp ZP_BYTE:341 [ bitmap_init::$10 ] zp ZP_BYTE:337 [ bitmap_init::$6 ] +Uplifting [bitmap_init] best 15368520 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:336 [ bitmap_init::$0 ] zp ZP_BYTE:338 [ bitmap_init::$7 ] zp ZP_BYTE:339 [ bitmap_init::$8 ] zp ZP_BYTE:340 [ bitmap_init::$9 ] zp ZP_BYTE:341 [ bitmap_init::$10 ] zp ZP_BYTE:337 [ bitmap_init::$6 ] Limited combination testing to 10 combinations of 138240 possible. -Uplifting [render_preset_name] best 15368197 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#12 ] -Uplifting [keyboard_event_pressed] best 15368185 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 15368184 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#12 ] +Uplifting [keyboard_event_pressed] best 15368172 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 15368185 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Uplifting [get_vic_screen] best 15368164 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 15368116 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 15368072 combination reg byte y [ bitmap_line::y1#0 ] zp ZP_BYTE:315 [ bitmap_line::y0#0 ] zp ZP_BYTE:314 [ bitmap_line::x1#0 ] zp ZP_BYTE:313 [ bitmap_line::x0#0 ] zp ZP_BYTE:318 [ bitmap_line::yd#1 ] zp ZP_BYTE:319 [ bitmap_line::yd#0 ] zp ZP_BYTE:321 [ bitmap_line::yd#3 ] zp ZP_BYTE:322 [ bitmap_line::yd#10 ] zp ZP_BYTE:317 [ bitmap_line::xd#1 ] zp ZP_BYTE:320 [ bitmap_line::xd#0 ] +Uplifting [gfx_init_vic_bitmap] best 15368172 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] +Uplifting [get_vic_screen] best 15368151 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 15368103 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 15368059 combination reg byte y [ bitmap_line::y1#0 ] zp ZP_BYTE:315 [ bitmap_line::y0#0 ] zp ZP_BYTE:314 [ bitmap_line::x1#0 ] zp ZP_BYTE:313 [ bitmap_line::x0#0 ] zp ZP_BYTE:318 [ bitmap_line::yd#1 ] zp ZP_BYTE:319 [ bitmap_line::yd#0 ] zp ZP_BYTE:321 [ bitmap_line::yd#3 ] zp ZP_BYTE:322 [ bitmap_line::yd#10 ] zp ZP_BYTE:317 [ bitmap_line::xd#1 ] zp ZP_BYTE:320 [ bitmap_line::xd#0 ] Limited combination testing to 10 combinations of 186624 possible. -Uplifting [get_vic_charset] best 15368063 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 15368063 combination -Uplifting [print_set_screen] best 15368063 combination -Uplifting [keyboard_init] best 15368063 combination -Uplifting [main] best 15368063 combination -Uplifting [gfx_init] best 15368063 combination -Uplifting [gfx_init_plane_vertical2] best 15368063 combination -Uplifting [gfx_init_plane_blank] best 15368063 combination -Uplifting [gfx_init_plane_full] best 15368063 combination +Uplifting [get_vic_charset] best 15368050 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 15368050 combination +Uplifting [print_set_screen] best 15368050 combination +Uplifting [keyboard_init] best 15368050 combination +Uplifting [main] best 15368050 combination +Uplifting [gfx_init] best 15368050 combination +Uplifting [gfx_init_plane_vertical2] best 15368050 combination +Uplifting [gfx_init_plane_blank] best 15368050 combination +Uplifting [gfx_init_plane_full] best 15368050 combination Attempting to uplift remaining variables inzp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#118 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#119 keyboard_events_size#2 keyboard_events_size#1 ] -Uplifting [] best 15368063 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#118 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#119 keyboard_events_size#2 keyboard_events_size#1 ] +Uplifting [] best 15368050 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#118 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#119 keyboard_events_size#2 keyboard_events_size#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:256 [ keyboard_event_scan::event_type#0 ] -Uplifting [keyboard_event_scan] best 14768063 combination reg byte a [ keyboard_event_scan::event_type#0 ] +Uplifting [keyboard_event_scan] best 14768050 combination reg byte a [ keyboard_event_scan::event_type#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:257 [ keyboard_event_scan::$11 ] -Uplifting [keyboard_event_scan] best 14168063 combination reg byte a [ keyboard_event_scan::$11 ] +Uplifting [keyboard_event_scan] best 14168050 combination reg byte a [ keyboard_event_scan::$11 ] Attempting to uplift remaining variables inzp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] -Uplifting [keyboard_event_scan] best 14168063 combination zp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] +Uplifting [keyboard_event_scan] best 14168050 combination zp ZP_BYTE:16 [ 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#1 keyboard_event_scan::keycode#15 ] -Uplifting [keyboard_event_scan] best 14168063 combination zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 ] +Uplifting [keyboard_event_scan] best 14168050 combination zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 ] Attempting to uplift remaining variables inzp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Uplifting [keyboard_event_scan] best 14168063 combination zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] +Uplifting [keyboard_event_scan] best 14168050 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 14168063 combination zp ZP_BYTE:245 [ keyboard_event_scan::row_scan#0 ] +Uplifting [keyboard_event_scan] best 14168050 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 14138060 combination reg byte a [ keyboard_matrix_read::return#0 ] +Uplifting [keyboard_matrix_read] best 14138047 combination reg byte a [ keyboard_matrix_read::return#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:42 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] -Uplifting [form_field_ptr] best 14138060 combination zp ZP_BYTE:42 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] +Uplifting [form_field_ptr] best 14138047 combination zp ZP_BYTE:42 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#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 14138060 combination zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] +Uplifting [form_render_values] best 14138047 combination zp ZP_BYTE:41 [ form_render_values::idx#2 form_render_values::idx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:10 [ gfx_mode::cx#2 gfx_mode::cx#1 ] -Uplifting [gfx_mode] best 14138060 combination zp ZP_BYTE:10 [ gfx_mode::cx#2 gfx_mode::cx#1 ] +Uplifting [gfx_mode] best 14138047 combination zp ZP_BYTE:10 [ 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 14129060 combination reg byte x [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] +Uplifting [gfx_init_plane_charset8] best 14129047 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 14129060 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 14129047 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 14129060 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 14129047 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 14129060 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 14129047 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 14129060 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 14129047 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 14129060 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 14129047 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 14129060 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 14129047 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 14127860 combination reg byte y [ gfx_mode::j#2 gfx_mode::j#1 ] +Uplifting [gfx_mode] best 14127847 combination reg byte y [ 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 14126660 combination reg byte y [ gfx_mode::i#2 gfx_mode::i#1 ] +Uplifting [gfx_mode] best 14126647 combination reg byte y [ gfx_mode::i#2 gfx_mode::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:46 [ form_control::return#2 ] -Uplifting [form_control] best 14125651 combination reg byte y [ form_control::return#2 ] +Uplifting [form_control] best 14125638 combination reg byte y [ form_control::return#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] -Uplifting [bitmap_line_xdyi] best 14125651 combination zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] +Uplifting [bitmap_line_xdyi] best 14125638 combination zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#0 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#1 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] -Uplifting [bitmap_line_xdyd] best 14125651 combination zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] +Uplifting [bitmap_line_xdyd] best 14125638 combination zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] 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 14125651 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 14125638 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:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] -Uplifting [form_mode] best 14125651 combination zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] +Uplifting [form_mode] best 14125638 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 14125051 combination reg byte a [ gfx_mode::keyboard_event#0 ] +Uplifting [gfx_mode] best 14125038 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 14124451 combination reg byte a [ form_set_screen::$1 ] +Uplifting [form_set_screen] best 14124438 combination reg byte a [ form_set_screen::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:345 [ gfx_init_screen3::$3 ] -Uplifting [gfx_init_screen3] best 14123851 combination reg byte a [ gfx_init_screen3::$3 ] +Uplifting [gfx_init_screen3] best 14123838 combination reg byte a [ gfx_init_screen3::$3 ] Attempting to uplift remaining variables inzp ZP_BYTE:350 [ gfx_init_screen2::$4 ] -Uplifting [gfx_init_screen2] best 14123251 combination reg byte a [ gfx_init_screen2::$4 ] +Uplifting [gfx_init_screen2] best 14123238 combination reg byte a [ gfx_init_screen2::$4 ] Attempting to uplift remaining variables inzp ZP_BYTE:352 [ gfx_init_screen1::$1 ] -Uplifting [gfx_init_screen1] best 14122651 combination reg byte a [ gfx_init_screen1::$1 ] +Uplifting [gfx_init_screen1] best 14122638 combination reg byte a [ gfx_init_screen1::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:356 [ gfx_init_screen0::$3 ] -Uplifting [gfx_init_screen0] best 14122051 combination reg byte a [ gfx_init_screen0::$3 ] +Uplifting [gfx_init_screen0] best 14122038 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 14121051 combination reg byte x [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] +Uplifting [gfx_init_screen3] best 14121038 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 14120051 combination reg byte x [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] +Uplifting [gfx_init_screen0] best 14120038 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 14119151 combination reg byte x [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] +Uplifting [gfx_init_plane_horisontal2] best 14119138 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 14118151 combination reg byte x [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] +Uplifting [gfx_init_screen2] best 14118138 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 14118151 combination zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ] +Uplifting [gfx_mode] best 14118138 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 14118151 combination zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] +Uplifting [gfx_init_plane_charset8] best 14118138 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:347 [ gfx_init_screen2::col#0 ] -Uplifting [gfx_init_screen2] best 14118051 combination reg byte y [ gfx_init_screen2::col#0 ] +Uplifting [gfx_init_screen2] best 14118038 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#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] -Uplifting [bitmap_line_xdyi] best 14118051 combination zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] +Uplifting [bitmap_line_xdyi] best 14118038 combination zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 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#0 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#2 ] -Uplifting [bitmap_line_ydxi] best 14118051 combination zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#2 ] +Uplifting [bitmap_line_ydxi] best 14118038 combination zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#1 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#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] -Uplifting [bitmap_line_xdyd] best 14118051 combination zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] +Uplifting [bitmap_line_xdyd] best 14118038 combination zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 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 14118051 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 14118038 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:343 [ gfx_init_screen3::$1 ] -Uplifting [gfx_init_screen3] best 14118051 combination zp ZP_BYTE:343 [ gfx_init_screen3::$1 ] +Uplifting [gfx_init_screen3] best 14118038 combination zp ZP_BYTE:343 [ gfx_init_screen3::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:348 [ gfx_init_screen2::col2#0 ] -Uplifting [gfx_init_screen2] best 14118051 combination zp ZP_BYTE:348 [ gfx_init_screen2::col2#0 ] +Uplifting [gfx_init_screen2] best 14118038 combination zp ZP_BYTE:348 [ gfx_init_screen2::col2#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:354 [ gfx_init_screen0::$1 ] -Uplifting [gfx_init_screen0] best 14118051 combination zp ZP_BYTE:354 [ gfx_init_screen0::$1 ] +Uplifting [gfx_init_screen0] best 14118038 combination zp ZP_BYTE:354 [ 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#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 gfx_mode::dtv_control#3 ] -Uplifting [gfx_mode] best 14118032 combination reg byte y [ 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#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 gfx_mode::dtv_control#3 ] +Uplifting [gfx_mode] best 14118019 combination reg byte y [ 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#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 gfx_mode::dtv_control#3 ] 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 14118032 combination zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] +Uplifting [gfx_init_plane_horisontal2] best 14118019 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 14118032 combination zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] +Uplifting [gfx_init_screen1] best 14118019 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 14118032 combination zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplifting [gfx_init_screen3] best 14118019 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 14118032 combination zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplifting [gfx_init_screen0] best 14118019 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 14118032 combination zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] +Uplifting [gfx_init_plane_horisontal] best 14118019 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 14118032 combination zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplifting [gfx_init_screen2] best 14118019 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 14118032 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] +Uplifting [gfx_init_vic_bitmap] best 14118019 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 14118032 combination zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplifting [gfx_init_plane_8bppchunky] best 14118019 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 14117862 combination reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] +Uplifting [bitmap_init] best 14117849 combination reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:336 [ bitmap_init::$0 ] -Uplifting [bitmap_init] best 14117802 combination reg byte a [ bitmap_init::$0 ] +Uplifting [bitmap_init] best 14117789 combination reg byte a [ bitmap_init::$0 ] Attempting to uplift remaining variables inzp ZP_BYTE:338 [ bitmap_init::$7 ] -Uplifting [bitmap_init] best 14117742 combination reg byte a [ bitmap_init::$7 ] +Uplifting [bitmap_init] best 14117729 combination reg byte a [ bitmap_init::$7 ] Attempting to uplift remaining variables inzp ZP_BYTE:339 [ bitmap_init::$8 ] -Uplifting [bitmap_init] best 14117682 combination reg byte a [ bitmap_init::$8 ] +Uplifting [bitmap_init] best 14117669 combination reg byte a [ bitmap_init::$8 ] Attempting to uplift remaining variables inzp ZP_BYTE:340 [ bitmap_init::$9 ] -Uplifting [bitmap_init] best 14117622 combination reg byte a [ bitmap_init::$9 ] +Uplifting [bitmap_init] best 14117609 combination reg byte a [ bitmap_init::$9 ] Attempting to uplift remaining variables inzp ZP_BYTE:341 [ bitmap_init::$10 ] -Uplifting [bitmap_init] best 14117562 combination reg byte a [ bitmap_init::$10 ] +Uplifting [bitmap_init] best 14117549 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 14117562 combination zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] +Uplifting [gfx_init_plane_fill] best 14117549 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 14117562 combination zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] +Uplifting [gfx_init_plane_vertical] best 14117549 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 14117562 combination zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] +Uplifting [bitmap_clear] best 14117549 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 14117562 combination zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] +Uplifting [gfx_init_screen4] best 14117549 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 14117562 combination zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] +Uplifting [gfx_init_charset] best 14117549 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#1 bitmap_line_xdyi::xd#0 ] -Uplifting [bitmap_line_xdyi] best 14117562 combination zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] +Uplifting [bitmap_line_xdyi] best 14117549 combination zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#0 bitmap_line_ydxi::yd#1 ] -Uplifting [bitmap_line_ydxi] best 14117562 combination zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#0 bitmap_line_ydxi::yd#1 ] +Uplifting [bitmap_line_ydxi] best 14117549 combination zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#0 bitmap_line_ydxi::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] -Uplifting [bitmap_line_xdyd] best 14117562 combination zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] +Uplifting [bitmap_line_xdyd] best 14117549 combination zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] 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 14117562 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 14117549 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 14117562 combination zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Uplifting [gfx_init_plane_charset8] best 14117549 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:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#4 keyboard_modifiers#19 keyboard_modifiers#3 keyboard_modifiers#18 keyboard_modifiers#5 ] -Uplifting [] best 14117562 combination zp ZP_BYTE:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#4 keyboard_modifiers#19 keyboard_modifiers#3 keyboard_modifiers#18 keyboard_modifiers#5 ] +Uplifting [] best 14117549 combination zp ZP_BYTE:15 [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#4 keyboard_modifiers#19 keyboard_modifiers#3 keyboard_modifiers#18 keyboard_modifiers#5 ] Attempting to uplift remaining variables inzp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] -Uplifting [bitmap_line_xdyi] best 14117562 combination zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] +Uplifting [bitmap_line_xdyi] best 14117549 combination zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#0 bitmap_line_ydxi::xd#1 ] -Uplifting [bitmap_line_ydxi] best 14117562 combination zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#0 bitmap_line_ydxi::xd#1 ] +Uplifting [bitmap_line_ydxi] best 14117549 combination zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#0 bitmap_line_ydxi::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] -Uplifting [bitmap_line_xdyd] best 14117562 combination zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] +Uplifting [bitmap_line_xdyd] best 14117549 combination zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] 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 14117562 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 14117549 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 14117551 combination reg byte y [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +Uplifting [gfx_mode] best 14117538 combination reg byte y [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] Attempting to uplift remaining variables inzp ZP_BYTE:337 [ bitmap_init::$6 ] -Uplifting [bitmap_init] best 14117551 combination zp ZP_BYTE:337 [ bitmap_init::$6 ] +Uplifting [bitmap_init] best 14117538 combination zp ZP_BYTE:337 [ bitmap_init::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] -Uplifting [bitmap_line_xdyi] best 14117551 combination zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] +Uplifting [bitmap_line_xdyi] best 14117538 combination zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#0 bitmap_line_ydxi::y1#1 ] -Uplifting [bitmap_line_ydxi] best 14117551 combination zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#0 bitmap_line_ydxi::y1#1 ] +Uplifting [bitmap_line_ydxi] best 14117538 combination zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#0 bitmap_line_ydxi::y1#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] -Uplifting [bitmap_line_xdyd] best 14117551 combination zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] +Uplifting [bitmap_line_xdyd] best 14117538 combination zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] 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 14117551 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 14117538 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 14117551 combination zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] +Uplifting [gfx_init_plane_fill] best 14117538 combination zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] Attempting to uplift remaining variables inzp ZP_BYTE:158 [ gfx_mode::$29 ] -Uplifting [gfx_mode] best 14117545 combination reg byte a [ gfx_mode::$29 ] +Uplifting [gfx_mode] best 14117532 combination reg byte a [ gfx_mode::$29 ] Attempting to uplift remaining variables inzp ZP_BYTE:174 [ gfx_mode::$34 ] -Uplifting [gfx_mode] best 14117539 combination reg byte a [ gfx_mode::$34 ] +Uplifting [gfx_mode] best 14117526 combination reg byte a [ gfx_mode::$34 ] Attempting to uplift remaining variables inzp ZP_BYTE:177 [ gfx_mode::$36 ] -Uplifting [gfx_mode] best 14117533 combination reg byte a [ gfx_mode::$36 ] +Uplifting [gfx_mode] best 14117520 combination reg byte a [ gfx_mode::$36 ] Attempting to uplift remaining variables inzp ZP_BYTE:180 [ gfx_mode::$38 ] -Uplifting [gfx_mode] best 14117527 combination reg byte a [ gfx_mode::$38 ] +Uplifting [gfx_mode] best 14117514 combination reg byte a [ gfx_mode::$38 ] Attempting to uplift remaining variables inzp ZP_BYTE:181 [ gfx_mode::$39 ] -Uplifting [gfx_mode] best 14117521 combination reg byte a [ gfx_mode::$39 ] +Uplifting [gfx_mode] best 14117508 combination reg byte a [ gfx_mode::$39 ] Attempting to uplift remaining variables inzp ZP_BYTE:182 [ gfx_mode::$40 ] -Uplifting [gfx_mode] best 14117515 combination reg byte a [ gfx_mode::$40 ] +Uplifting [gfx_mode] best 14117502 combination reg byte a [ gfx_mode::$40 ] Attempting to uplift remaining variables inzp ZP_BYTE:183 [ gfx_mode::$41 ] -Uplifting [gfx_mode] best 14117509 combination reg byte a [ gfx_mode::$41 ] +Uplifting [gfx_mode] best 14117496 combination reg byte a [ gfx_mode::$41 ] Attempting to uplift remaining variables inzp ZP_BYTE:184 [ gfx_mode::$42 ] -Uplifting [gfx_mode] best 14117503 combination reg byte a [ gfx_mode::$42 ] +Uplifting [gfx_mode] best 14117490 combination reg byte a [ gfx_mode::$42 ] Attempting to uplift remaining variables inzp ZP_BYTE:185 [ gfx_mode::$43 ] -Uplifting [gfx_mode] best 14117497 combination reg byte a [ gfx_mode::$43 ] +Uplifting [gfx_mode] best 14117484 combination reg byte a [ gfx_mode::$43 ] Attempting to uplift remaining variables inzp ZP_BYTE:201 [ gfx_mode::$48 ] -Uplifting [gfx_mode] best 14117491 combination reg byte a [ gfx_mode::$48 ] +Uplifting [gfx_mode] best 14117478 combination reg byte a [ gfx_mode::$48 ] Attempting to uplift remaining variables inzp ZP_BYTE:204 [ gfx_mode::$50 ] -Uplifting [gfx_mode] best 14117485 combination reg byte a [ gfx_mode::$50 ] +Uplifting [gfx_mode] best 14117472 combination reg byte a [ gfx_mode::$50 ] Attempting to uplift remaining variables inzp ZP_BYTE:207 [ gfx_mode::$52 ] -Uplifting [gfx_mode] best 14117479 combination reg byte a [ gfx_mode::$52 ] +Uplifting [gfx_mode] best 14117466 combination reg byte a [ gfx_mode::$52 ] Attempting to uplift remaining variables inzp ZP_BYTE:208 [ gfx_mode::$53 ] -Uplifting [gfx_mode] best 14117473 combination reg byte a [ gfx_mode::$53 ] +Uplifting [gfx_mode] best 14117460 combination reg byte a [ gfx_mode::$53 ] Attempting to uplift remaining variables inzp ZP_BYTE:209 [ gfx_mode::$54 ] -Uplifting [gfx_mode] best 14117467 combination reg byte a [ gfx_mode::$54 ] +Uplifting [gfx_mode] best 14117454 combination reg byte a [ gfx_mode::$54 ] Attempting to uplift remaining variables inzp ZP_BYTE:210 [ gfx_mode::$55 ] -Uplifting [gfx_mode] best 14117461 combination reg byte a [ gfx_mode::$55 ] +Uplifting [gfx_mode] best 14117448 combination reg byte a [ gfx_mode::$55 ] Attempting to uplift remaining variables inzp ZP_BYTE:211 [ gfx_mode::$56 ] -Uplifting [gfx_mode] best 14117455 combination reg byte a [ gfx_mode::$56 ] +Uplifting [gfx_mode] best 14117442 combination reg byte a [ gfx_mode::$56 ] Attempting to uplift remaining variables inzp ZP_BYTE:228 [ gfx_mode::$69 ] -Uplifting [gfx_mode] best 14117449 combination reg byte a [ gfx_mode::$69 ] +Uplifting [gfx_mode] best 14117436 combination reg byte a [ gfx_mode::$69 ] Attempting to uplift remaining variables inzp ZP_BYTE:229 [ gfx_mode::$70 ] -Uplifting [gfx_mode] best 14117443 combination reg byte a [ gfx_mode::$70 ] +Uplifting [gfx_mode] best 14117430 combination reg byte a [ gfx_mode::$70 ] Attempting to uplift remaining variables inzp ZP_BYTE:230 [ gfx_mode::$71 ] -Uplifting [gfx_mode] best 14117437 combination reg byte a [ gfx_mode::$71 ] +Uplifting [gfx_mode] best 14117424 combination reg byte a [ gfx_mode::$71 ] Attempting to uplift remaining variables inzp ZP_BYTE:233 [ gfx_mode::$75 ] -Uplifting [gfx_mode] best 14117431 combination reg byte a [ gfx_mode::$75 ] +Uplifting [gfx_mode] best 14117418 combination reg byte a [ gfx_mode::$75 ] Attempting to uplift remaining variables inzp ZP_BYTE:234 [ gfx_mode::$76 ] -Uplifting [gfx_mode] best 14117425 combination reg byte a [ gfx_mode::$76 ] +Uplifting [gfx_mode] best 14117412 combination reg byte a [ gfx_mode::$76 ] Attempting to uplift remaining variables inzp ZP_BYTE:235 [ gfx_mode::$77 ] -Uplifting [gfx_mode] best 14117419 combination reg byte a [ gfx_mode::$77 ] +Uplifting [gfx_mode] best 14117406 combination reg byte a [ gfx_mode::$77 ] Attempting to uplift remaining variables inzp ZP_BYTE:236 [ gfx_mode::$78 ] -Uplifting [gfx_mode] best 14117413 combination reg byte a [ gfx_mode::$78 ] +Uplifting [gfx_mode] best 14117400 combination reg byte a [ gfx_mode::$78 ] Attempting to uplift remaining variables inzp ZP_BYTE:237 [ gfx_mode::$79 ] -Uplifting [gfx_mode] best 14117407 combination reg byte a [ gfx_mode::$79 ] +Uplifting [gfx_mode] best 14117394 combination reg byte a [ gfx_mode::$79 ] Attempting to uplift remaining variables inzp ZP_BYTE:238 [ gfx_mode::$80 ] -Uplifting [gfx_mode] best 14117401 combination reg byte a [ gfx_mode::$80 ] +Uplifting [gfx_mode] best 14117388 combination reg byte a [ gfx_mode::$80 ] Attempting to uplift remaining variables inzp ZP_BYTE:239 [ gfx_mode::$81 ] -Uplifting [gfx_mode] best 14117395 combination reg byte a [ gfx_mode::$81 ] +Uplifting [gfx_mode] best 14117382 combination reg byte a [ gfx_mode::$81 ] Attempting to uplift remaining variables inzp ZP_BYTE:240 [ gfx_mode::$82 ] -Uplifting [gfx_mode] best 14117389 combination reg byte a [ gfx_mode::$82 ] +Uplifting [gfx_mode] best 14117376 combination reg byte a [ gfx_mode::$82 ] Attempting to uplift remaining variables inzp ZP_BYTE:247 [ keyboard_event_scan::$14 ] -Uplifting [keyboard_event_scan] best 14117383 combination reg byte a [ keyboard_event_scan::$14 ] +Uplifting [keyboard_event_scan] best 14117370 combination reg byte a [ keyboard_event_scan::$14 ] Attempting to uplift remaining variables inzp ZP_BYTE:249 [ keyboard_event_scan::$18 ] -Uplifting [keyboard_event_scan] best 14117377 combination reg byte a [ keyboard_event_scan::$18 ] +Uplifting [keyboard_event_scan] best 14117364 combination reg byte a [ keyboard_event_scan::$18 ] Attempting to uplift remaining variables inzp ZP_BYTE:250 [ keyboard_event_pressed::return#2 ] -Uplifting [keyboard_event_pressed] best 14117371 combination reg byte a [ keyboard_event_pressed::return#2 ] +Uplifting [keyboard_event_pressed] best 14117358 combination reg byte a [ keyboard_event_pressed::return#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:251 [ keyboard_event_scan::$22 ] -Uplifting [keyboard_event_scan] best 14117365 combination reg byte a [ keyboard_event_scan::$22 ] +Uplifting [keyboard_event_scan] best 14117352 combination reg byte a [ keyboard_event_scan::$22 ] Attempting to uplift remaining variables inzp ZP_BYTE:252 [ keyboard_event_pressed::return#3 ] -Uplifting [keyboard_event_pressed] best 14117359 combination reg byte a [ keyboard_event_pressed::return#3 ] +Uplifting [keyboard_event_pressed] best 14117346 combination reg byte a [ keyboard_event_pressed::return#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:253 [ keyboard_event_scan::$26 ] -Uplifting [keyboard_event_scan] best 14117353 combination reg byte a [ keyboard_event_scan::$26 ] +Uplifting [keyboard_event_scan] best 14117340 combination reg byte a [ keyboard_event_scan::$26 ] Attempting to uplift remaining variables inzp ZP_BYTE:258 [ keyboard_event_pressed::$0 ] -Uplifting [keyboard_event_pressed] best 14117349 combination reg byte a [ keyboard_event_pressed::$0 ] +Uplifting [keyboard_event_pressed] best 14117336 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 14117345 combination reg byte a [ keyboard_event_pressed::$1 ] +Uplifting [keyboard_event_pressed] best 14117332 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 14117339 combination reg byte a [ form_field_ptr::x#0 ] +Uplifting [form_field_ptr] best 14117326 combination reg byte a [ form_field_ptr::x#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:280 [ form_control::$5 ] -Uplifting [form_control] best 14117333 combination reg byte a [ form_control::$5 ] +Uplifting [form_control] best 14117320 combination reg byte a [ form_control::$5 ] Attempting to uplift remaining variables inzp ZP_BYTE:281 [ keyboard_event_get::return#4 ] -Uplifting [keyboard_event_get] best 14117327 combination reg byte a [ keyboard_event_get::return#4 ] +Uplifting [keyboard_event_get] best 14117314 combination reg byte a [ keyboard_event_get::return#4 ] Attempting to uplift remaining variables inzp ZP_BYTE:283 [ form_control::$11 ] -Uplifting [form_control] best 14117321 combination reg byte a [ form_control::$11 ] +Uplifting [form_control] best 14117308 combination reg byte a [ form_control::$11 ] Attempting to uplift remaining variables inzp ZP_BYTE:284 [ form_control::$12 ] -Uplifting [form_control] best 14117315 combination reg byte a [ form_control::$12 ] +Uplifting [form_control] best 14117302 combination reg byte a [ form_control::$12 ] Attempting to uplift remaining variables inzp ZP_BYTE:285 [ form_control::$22 ] -Uplifting [form_control] best 14117309 combination reg byte a [ form_control::$22 ] +Uplifting [form_control] best 14117296 combination reg byte a [ form_control::$22 ] Attempting to uplift remaining variables inzp ZP_BYTE:286 [ form_control::$6 ] -Uplifting [form_control] best 14117303 combination reg byte a [ form_control::$6 ] +Uplifting [form_control] best 14117290 combination reg byte a [ form_control::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:330 [ bitmap_plot::$1 ] -Uplifting [bitmap_plot] best 14117297 combination reg byte a [ bitmap_plot::$1 ] +Uplifting [bitmap_plot] best 14117284 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 14117285 combination reg byte a [ form_control::key_event#0 ] +Uplifting [form_control] best 14117272 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 14117276 combination reg byte a [ gfx_mode::vic_control2#2 ] +Uplifting [gfx_mode] best 14117263 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 14117276 combination zp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] +Uplifting [keyboard_event_pressed] best 14117263 combination zp ZP_BYTE:259 [ keyboard_event_pressed::row_bits#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:298 [ gfx_init_plane_fill::gfxbCpuBank#0 ] -Uplifting [gfx_init_plane_fill] best 14117271 combination reg byte x [ gfx_init_plane_fill::gfxbCpuBank#0 ] +Uplifting [gfx_init_plane_fill] best 14117258 combination reg byte x [ gfx_init_plane_fill::gfxbCpuBank#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:315 [ bitmap_line::y0#0 ] -Uplifting [bitmap_line] best 14117271 combination zp ZP_BYTE:315 [ bitmap_line::y0#0 ] +Uplifting [bitmap_line] best 14117258 combination zp ZP_BYTE:315 [ bitmap_line::y0#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:261 [ keyboard_event_pressed::return#10 ] -Uplifting [keyboard_event_pressed] best 14117256 combination reg byte a [ keyboard_event_pressed::return#10 ] +Uplifting [keyboard_event_pressed] best 14117243 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 14117256 combination zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] +Uplifting [keyboard_event_pressed] best 14117243 combination zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] Attempting to uplift remaining variables inzp ZP_BYTE:314 [ bitmap_line::x1#0 ] -Uplifting [bitmap_line] best 14117256 combination zp ZP_BYTE:314 [ bitmap_line::x1#0 ] +Uplifting [bitmap_line] best 14117243 combination zp ZP_BYTE:314 [ bitmap_line::x1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:313 [ bitmap_line::x0#0 ] -Uplifting [bitmap_line] best 14117256 combination zp ZP_BYTE:313 [ bitmap_line::x0#0 ] +Uplifting [bitmap_line] best 14117243 combination zp ZP_BYTE:313 [ bitmap_line::x0#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:318 [ bitmap_line::yd#1 ] -Uplifting [bitmap_line] best 14117256 combination zp ZP_BYTE:318 [ bitmap_line::yd#1 ] +Uplifting [bitmap_line] best 14117243 combination zp ZP_BYTE:318 [ bitmap_line::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:319 [ bitmap_line::yd#0 ] -Uplifting [bitmap_line] best 14117256 combination zp ZP_BYTE:319 [ bitmap_line::yd#0 ] +Uplifting [bitmap_line] best 14117243 combination zp ZP_BYTE:319 [ bitmap_line::yd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:321 [ bitmap_line::yd#3 ] -Uplifting [bitmap_line] best 14117256 combination zp ZP_BYTE:321 [ bitmap_line::yd#3 ] +Uplifting [bitmap_line] best 14117243 combination zp ZP_BYTE:321 [ bitmap_line::yd#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:322 [ bitmap_line::yd#10 ] -Uplifting [bitmap_line] best 14117256 combination zp ZP_BYTE:322 [ bitmap_line::yd#10 ] +Uplifting [bitmap_line] best 14117243 combination zp ZP_BYTE:322 [ bitmap_line::yd#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:159 [ gfx_mode::plane_a_offs#0 ] -Uplifting [gfx_mode] best 14117254 combination reg byte y [ gfx_mode::plane_a_offs#0 ] +Uplifting [gfx_mode] best 14117241 combination reg byte y [ 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 14117252 combination reg byte y [ gfx_mode::plane_b_offs#0 ] +Uplifting [gfx_mode] best 14117239 combination reg byte y [ gfx_mode::plane_b_offs#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:317 [ bitmap_line::xd#1 ] -Uplifting [bitmap_line] best 14117252 combination zp ZP_BYTE:317 [ bitmap_line::xd#1 ] +Uplifting [bitmap_line] best 14117239 combination zp ZP_BYTE:317 [ bitmap_line::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:320 [ bitmap_line::xd#0 ] -Uplifting [bitmap_line] best 14117252 combination zp ZP_BYTE:320 [ bitmap_line::xd#0 ] +Uplifting [bitmap_line] best 14117239 combination zp ZP_BYTE:320 [ bitmap_line::xd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:220 [ gfx_mode::$65 ] -Uplifting [gfx_mode] best 14117252 combination zp ZP_BYTE:220 [ gfx_mode::$65 ] +Uplifting [gfx_mode] best 14117239 combination zp ZP_BYTE:220 [ gfx_mode::$65 ] 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 @@ -23035,113 +23028,106 @@ render_preset_name: { jmp b33 //SEG604 render_preset_name::@33 b33: - //SEG605 [319] phi from render_preset_name::@33 to render_preset_name::@22 [phi:render_preset_name::@33->render_preset_name::@22] - b22_from_b33: - //SEG606 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#11 [phi:render_preset_name::@33->render_preset_name::@22#0] -- pbuz1=pbuc1 - lda #name_11 - sta name+1 - jmp b22 - //SEG607 [319] phi from render_preset_name to render_preset_name::@22 [phi:render_preset_name->render_preset_name::@22] + //SEG605 [319] phi from render_preset_name render_preset_name::@33 to render_preset_name::@22 [phi:render_preset_name/render_preset_name::@33->render_preset_name::@22] b22_from_render_preset_name: - //SEG608 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#0 [phi:render_preset_name->render_preset_name::@22#0] -- pbuz1=pbuc1 + b22_from_b33: + //SEG606 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#0 [phi:render_preset_name/render_preset_name::@33->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_0 sta name+1 jmp b22 - //SEG609 [319] phi from render_preset_name::@23 to render_preset_name::@22 [phi:render_preset_name::@23->render_preset_name::@22] + //SEG607 [319] phi from render_preset_name::@23 to render_preset_name::@22 [phi:render_preset_name::@23->render_preset_name::@22] b22_from_b23: - //SEG610 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#1 [phi:render_preset_name::@23->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG608 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#1 [phi:render_preset_name::@23->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_1 sta name+1 jmp b22 - //SEG611 [319] phi from render_preset_name::@24 to render_preset_name::@22 [phi:render_preset_name::@24->render_preset_name::@22] + //SEG609 [319] phi from render_preset_name::@24 to render_preset_name::@22 [phi:render_preset_name::@24->render_preset_name::@22] b22_from_b24: - //SEG612 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@24->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG610 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@24->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_2 sta name+1 jmp b22 - //SEG613 [319] phi from render_preset_name::@25 to render_preset_name::@22 [phi:render_preset_name::@25->render_preset_name::@22] + //SEG611 [319] phi from render_preset_name::@25 to render_preset_name::@22 [phi:render_preset_name::@25->render_preset_name::@22] b22_from_b25: - //SEG614 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@25->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG612 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@25->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_3 sta name+1 jmp b22 - //SEG615 [319] phi from render_preset_name::@26 to render_preset_name::@22 [phi:render_preset_name::@26->render_preset_name::@22] + //SEG613 [319] phi from render_preset_name::@26 to render_preset_name::@22 [phi:render_preset_name::@26->render_preset_name::@22] b22_from_b26: - //SEG616 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@26->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG614 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@26->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_4 sta name+1 jmp b22 - //SEG617 [319] phi from render_preset_name::@27 to render_preset_name::@22 [phi:render_preset_name::@27->render_preset_name::@22] + //SEG615 [319] phi from render_preset_name::@27 to render_preset_name::@22 [phi:render_preset_name::@27->render_preset_name::@22] b22_from_b27: - //SEG618 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@27->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG616 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@27->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_5 sta name+1 jmp b22 - //SEG619 [319] phi from render_preset_name::@28 to render_preset_name::@22 [phi:render_preset_name::@28->render_preset_name::@22] + //SEG617 [319] phi from render_preset_name::@28 to render_preset_name::@22 [phi:render_preset_name::@28->render_preset_name::@22] b22_from_b28: - //SEG620 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@28->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG618 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@28->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_6 sta name+1 jmp b22 - //SEG621 [319] phi from render_preset_name::@29 to render_preset_name::@22 [phi:render_preset_name::@29->render_preset_name::@22] + //SEG619 [319] phi from render_preset_name::@29 to render_preset_name::@22 [phi:render_preset_name::@29->render_preset_name::@22] b22_from_b29: - //SEG622 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@29->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG620 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@29->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_7 sta name+1 jmp b22 - //SEG623 [319] phi from render_preset_name::@30 to render_preset_name::@22 [phi:render_preset_name::@30->render_preset_name::@22] + //SEG621 [319] phi from render_preset_name::@30 to render_preset_name::@22 [phi:render_preset_name::@30->render_preset_name::@22] b22_from_b30: - //SEG624 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@30->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG622 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@30->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_8 sta name+1 jmp b22 - //SEG625 [319] phi from render_preset_name::@31 to render_preset_name::@22 [phi:render_preset_name::@31->render_preset_name::@22] + //SEG623 [319] phi from render_preset_name::@31 to render_preset_name::@22 [phi:render_preset_name::@31->render_preset_name::@22] b22_from_b31: - //SEG626 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@31->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG624 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@31->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_9 sta name+1 jmp b22 - //SEG627 [319] phi from render_preset_name::@32 to render_preset_name::@22 [phi:render_preset_name::@32->render_preset_name::@22] + //SEG625 [319] phi from render_preset_name::@32 to render_preset_name::@22 [phi:render_preset_name::@32->render_preset_name::@22] b22_from_b32: - //SEG628 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@32->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG626 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@32->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_10 sta name+1 jmp b22 - //SEG629 render_preset_name::@22 + //SEG627 render_preset_name::@22 b22: - //SEG630 [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#12 - //SEG631 [321] call print_str_at - //SEG632 [323] phi from render_preset_name::@22 to print_str_at [phi:render_preset_name::@22->print_str_at] + //SEG628 [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#12 + //SEG629 [321] call print_str_at + //SEG630 [323] phi from render_preset_name::@22 to print_str_at [phi:render_preset_name::@22->print_str_at] print_str_at_from_b22: jsr print_str_at jmp breturn - //SEG633 render_preset_name::@return + //SEG631 render_preset_name::@return breturn: - //SEG634 [322] return + //SEG632 [322] return rts name_0: .text "Standard Charset @" name_1: .text "Extended Color Charset @" @@ -23154,106 +23140,105 @@ render_preset_name: { name_8: .text "Sixs Fred @" name_9: .text "Sixs Fred 2 @" name_10: .text "8bpp Pixel Cell @" - name_11: .text "Standard Charset @" } -//SEG635 print_str_at +//SEG633 print_str_at // Print a string at a specific screen position // print_str_at(byte* zeropage(3) str, byte* zeropage(5) at) print_str_at: { .label at = 5 .label str = 3 - //SEG636 [324] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] + //SEG634 [324] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] b1_from_print_str_at: - //SEG637 [324] phi (byte*) print_str_at::at#2 = (const byte*) FORM_SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 10 [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 + //SEG635 [324] phi (byte*) print_str_at::at#2 = (const byte*) FORM_SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 10 [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 lda #FORM_SCREEN+$28*2+$a sta at+1 - //SEG638 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy + //SEG636 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy jmp b1 - //SEG639 print_str_at::@1 + //SEG637 print_str_at::@1 b1: - //SEG640 [325] if(*((byte*) print_str_at::str#2)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG638 [325] if(*((byte*) print_str_at::str#2)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 jmp breturn - //SEG641 print_str_at::@return + //SEG639 print_str_at::@return breturn: - //SEG642 [326] return + //SEG640 [326] return rts - //SEG643 print_str_at::@2 + //SEG641 print_str_at::@2 b2: - //SEG644 [327] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 + //SEG642 [327] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (at),y - //SEG645 [328] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 + //SEG643 [328] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 inc at bne !+ inc at+1 !: - //SEG646 [329] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 + //SEG644 [329] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG647 [324] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] + //SEG645 [324] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] b1_from_b2: - //SEG648 [324] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy - //SEG649 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy + //SEG646 [324] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy + //SEG647 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy jmp b1 } -//SEG650 form_render_values +//SEG648 form_render_values // Render all form values from the form_fields_val array form_render_values: { .label field = 3 .label idx = 2 - //SEG651 [331] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + //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: - //SEG652 [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 + //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 jmp b1 - //SEG653 [331] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + //SEG651 [331] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] b1_from_b3: - //SEG654 [331] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + //SEG652 [331] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy jmp b1 - //SEG655 form_render_values::@1 + //SEG653 form_render_values::@1 b1: - //SEG656 [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 - //SEG657 [333] call form_field_ptr - //SEG658 [340] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //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] form_field_ptr_from_b1: - //SEG659 [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 [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 jsr form_field_ptr - //SEG660 [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 + //SEG658 [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 jmp b3 - //SEG661 form_render_values::@3 + //SEG659 form_render_values::@3 b3: - //SEG662 [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 - //SEG663 [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 + //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 ldy idx lda form_fields_val,y tay lda print_hextab,y ldy #0 sta (field),y - //SEG664 [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 + //SEG662 [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 inc idx - //SEG665 [338] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 -- vbuz1_lt_vbuc1_then_la1 + //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 bcc b1_from_b3 jmp breturn - //SEG666 form_render_values::@return + //SEG664 form_render_values::@return breturn: - //SEG667 [339] return + //SEG665 [339] return rts } -//SEG668 form_field_ptr +//SEG666 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(2) field_idx) @@ -23261,19 +23246,19 @@ form_field_ptr: { .label return = 3 .label field_idx = 2 .label _2 = 3 - //SEG669 [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuz1 + //SEG667 [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuz1 ldy field_idx lda form_fields_y,y - //SEG670 [342] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuaa_word_pbuc2_derefidx_vbuaa + //SEG668 [342] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) 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,y sta _2 - //SEG671 [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuz1 + //SEG669 [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuz1 ldy field_idx lda form_fields_x,y - //SEG672 [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz1_plus_vbuaa + //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 @@ -23281,234 +23266,234 @@ form_field_ptr: { adc return+1 sta return+1 jmp breturn - //SEG673 form_field_ptr::@return + //SEG671 form_field_ptr::@return breturn: - //SEG674 [345] return + //SEG672 [345] return rts } -//SEG675 apply_preset +//SEG673 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 - //SEG676 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@22 -- vbuaa_eq_0_then_la1 + //SEG674 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@22 -- vbuaa_eq_0_then_la1 cmp #0 beq b22_from_apply_preset jmp b24 - //SEG677 apply_preset::@24 + //SEG675 apply_preset::@24 b24: - //SEG678 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG676 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq b22_from_b24 jmp b25 - //SEG679 apply_preset::@25 + //SEG677 apply_preset::@25 b25: - //SEG680 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG678 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq b22_from_b25 jmp b26 - //SEG681 apply_preset::@26 + //SEG679 apply_preset::@26 b26: - //SEG682 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG680 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq b22_from_b26 jmp b27 - //SEG683 apply_preset::@27 + //SEG681 apply_preset::@27 b27: - //SEG684 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG682 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #4 beq b22_from_b27 jmp b28 - //SEG685 apply_preset::@28 + //SEG683 apply_preset::@28 b28: - //SEG686 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG684 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #5 beq b22_from_b28 jmp b29 - //SEG687 apply_preset::@29 + //SEG685 apply_preset::@29 b29: - //SEG688 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG686 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #6 beq b22_from_b29 jmp b30 - //SEG689 apply_preset::@30 + //SEG687 apply_preset::@30 b30: - //SEG690 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG688 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #7 beq b22_from_b30 jmp b31 - //SEG691 apply_preset::@31 + //SEG689 apply_preset::@31 b31: - //SEG692 [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG690 [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #8 beq b22_from_b31 jmp b32 - //SEG693 apply_preset::@32 + //SEG691 apply_preset::@32 b32: - //SEG694 [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG692 [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq b22_from_b32 jmp b33 - //SEG695 apply_preset::@33 + //SEG693 apply_preset::@33 b33: - //SEG696 [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 10) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG694 [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 10) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq b22_from_b33 - //SEG697 [357] phi from apply_preset::@33 to apply_preset::@34 [phi:apply_preset::@33->apply_preset::@34] + //SEG695 [357] phi from apply_preset::@33 to apply_preset::@34 [phi:apply_preset::@33->apply_preset::@34] b34_from_b33: jmp b34 - //SEG698 apply_preset::@34 + //SEG696 apply_preset::@34 b34: - //SEG699 [358] phi from apply_preset apply_preset::@34 to apply_preset::@22 [phi:apply_preset/apply_preset::@34->apply_preset::@22] + //SEG697 [358] phi from apply_preset apply_preset::@34 to apply_preset::@22 [phi:apply_preset/apply_preset::@34->apply_preset::@22] b22_from_apply_preset: b22_from_b34: - //SEG700 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@34->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG698 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@34->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_stdchar sta preset+1 jmp b22 - //SEG701 [358] phi from apply_preset::@24 to apply_preset::@22 [phi:apply_preset::@24->apply_preset::@22] + //SEG699 [358] phi from apply_preset::@24 to apply_preset::@22 [phi:apply_preset::@24->apply_preset::@22] b22_from_b24: - //SEG702 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@24->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG700 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@24->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_ecmchar sta preset+1 jmp b22 - //SEG703 [358] phi from apply_preset::@25 to apply_preset::@22 [phi:apply_preset::@25->apply_preset::@22] + //SEG701 [358] phi from apply_preset::@25 to apply_preset::@22 [phi:apply_preset::@25->apply_preset::@22] b22_from_b25: - //SEG704 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@25->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG702 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@25->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_stdbm sta preset+1 jmp b22 - //SEG705 [358] phi from apply_preset::@26 to apply_preset::@22 [phi:apply_preset::@26->apply_preset::@22] + //SEG703 [358] phi from apply_preset::@26 to apply_preset::@22 [phi:apply_preset::@26->apply_preset::@22] b22_from_b26: - //SEG706 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@26->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG704 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@26->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_mcbm sta preset+1 jmp b22 - //SEG707 [358] phi from apply_preset::@27 to apply_preset::@22 [phi:apply_preset::@27->apply_preset::@22] + //SEG705 [358] phi from apply_preset::@27 to apply_preset::@22 [phi:apply_preset::@27->apply_preset::@22] b22_from_b27: - //SEG708 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@27->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG706 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@27->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_hi_stdchar sta preset+1 jmp b22 - //SEG709 [358] phi from apply_preset::@28 to apply_preset::@22 [phi:apply_preset::@28->apply_preset::@22] + //SEG707 [358] phi from apply_preset::@28 to apply_preset::@22 [phi:apply_preset::@28->apply_preset::@22] b22_from_b28: - //SEG710 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@28->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG708 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@28->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_hi_ecmchar sta preset+1 jmp b22 - //SEG711 [358] phi from apply_preset::@29 to apply_preset::@22 [phi:apply_preset::@29->apply_preset::@22] + //SEG709 [358] phi from apply_preset::@29 to apply_preset::@22 [phi:apply_preset::@29->apply_preset::@22] b22_from_b29: - //SEG712 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@29->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG710 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@29->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_twoplane sta preset+1 jmp b22 - //SEG713 [358] phi from apply_preset::@30 to apply_preset::@22 [phi:apply_preset::@30->apply_preset::@22] + //SEG711 [358] phi from apply_preset::@30 to apply_preset::@22 [phi:apply_preset::@30->apply_preset::@22] b22_from_b30: - //SEG714 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_chunky#0 [phi:apply_preset::@30->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG712 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_chunky#0 [phi:apply_preset::@30->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_chunky sta preset+1 jmp b22 - //SEG715 [358] phi from apply_preset::@31 to apply_preset::@22 [phi:apply_preset::@31->apply_preset::@22] + //SEG713 [358] phi from apply_preset::@31 to apply_preset::@22 [phi:apply_preset::@31->apply_preset::@22] b22_from_b31: - //SEG716 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@31->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG714 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@31->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_sixsfred sta preset+1 jmp b22 - //SEG717 [358] phi from apply_preset::@32 to apply_preset::@22 [phi:apply_preset::@32->apply_preset::@22] + //SEG715 [358] phi from apply_preset::@32 to apply_preset::@22 [phi:apply_preset::@32->apply_preset::@22] b22_from_b32: - //SEG718 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@32->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG716 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@32->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_sixsfred2 sta preset+1 jmp b22 - //SEG719 [358] phi from apply_preset::@33 to apply_preset::@22 [phi:apply_preset::@33->apply_preset::@22] + //SEG717 [358] phi from apply_preset::@33 to apply_preset::@22 [phi:apply_preset::@33->apply_preset::@22] b22_from_b33: - //SEG720 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@33->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG718 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@33->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_8bpppixelcell sta preset+1 jmp b22 - //SEG721 apply_preset::@22 + //SEG719 apply_preset::@22 b22: - //SEG722 [359] phi from apply_preset::@22 to apply_preset::@23 [phi:apply_preset::@22->apply_preset::@23] + //SEG720 [359] phi from apply_preset::@22 to apply_preset::@23 [phi:apply_preset::@22->apply_preset::@23] b23_from_b22: - //SEG723 [359] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@22->apply_preset::@23#0] -- vbuyy=vbuc1 + //SEG721 [359] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@22->apply_preset::@23#0] -- vbuyy=vbuc1 ldy #0 jmp b23 // Copy preset values into the fields - //SEG724 [359] phi from apply_preset::@23 to apply_preset::@23 [phi:apply_preset::@23->apply_preset::@23] + //SEG722 [359] phi from apply_preset::@23 to apply_preset::@23 [phi:apply_preset::@23->apply_preset::@23] b23_from_b23: - //SEG725 [359] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@23->apply_preset::@23#0] -- register_copy + //SEG723 [359] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@23->apply_preset::@23#0] -- register_copy jmp b23 - //SEG726 apply_preset::@23 + //SEG724 apply_preset::@23 b23: - //SEG727 [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#13 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy + //SEG725 [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#13 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy lda (preset),y sta form_fields_val,y - //SEG728 [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy + //SEG726 [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy iny - //SEG729 [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@23 -- vbuyy_neq_vbuc1_then_la1 + //SEG727 [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@23 -- vbuyy_neq_vbuc1_then_la1 cpy #form_fields_cnt bne b23_from_b23 jmp breturn - //SEG730 apply_preset::@return + //SEG728 apply_preset::@return breturn: - //SEG731 [363] return + //SEG729 [363] return rts } -//SEG732 form_control +//SEG730 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 - //SEG733 [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuz1=vbuxx + //SEG731 [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuz1=vbuxx stx form_field_ptr.field_idx - //SEG734 [365] call form_field_ptr - //SEG735 [340] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG732 [365] call form_field_ptr + //SEG733 [340] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - //SEG736 [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 + //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 jsr form_field_ptr - //SEG737 [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 + //SEG735 [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 jmp b33 - //SEG738 form_control::@33 + //SEG736 form_control::@33 b33: - //SEG739 [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 - //SEG740 [368] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 + //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 dec form_cursor_count - //SEG741 [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@36 -- vbsz1_ge_0_then_la1 + //SEG739 [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@36 -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b36_from_b33 - //SEG742 [370] phi from form_control::@33 to form_control::@1 [phi:form_control::@33->form_control::@1] + //SEG740 [370] phi from form_control::@33 to form_control::@1 [phi:form_control::@33->form_control::@1] b1_from_b33: - //SEG743 [370] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@33->form_control::@1#0] -- vbsz1=vbsc1 + //SEG741 [370] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@33->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count jmp b1 - //SEG744 form_control::@1 + //SEG742 form_control::@1 b1: - //SEG745 [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 + //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 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -23517,166 +23502,166 @@ form_control: { !: bmi b2 jmp b16 - //SEG746 form_control::@16 + //SEG744 form_control::@16 b16: - //SEG747 [372] (byte~) form_control::$5 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG745 [372] (byte~) form_control::$5 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG748 [373] *((byte*) form_control::field#0) ← (byte~) form_control::$5 -- _deref_pbuz1=vbuaa + //SEG746 [373] *((byte*) form_control::field#0) ← (byte~) form_control::$5 -- _deref_pbuz1=vbuaa ldy #0 sta (field),y - //SEG749 [374] phi from form_control::@16 form_control::@2 to form_control::@3 [phi:form_control::@16/form_control::@2->form_control::@3] + //SEG747 [374] phi from form_control::@16 form_control::@2 to form_control::@3 [phi:form_control::@16/form_control::@2->form_control::@3] b3_from_b16: b3_from_b2: jmp b3 - //SEG750 form_control::@3 + //SEG748 form_control::@3 b3: - //SEG751 [375] call keyboard_event_scan - //SEG752 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + //SEG749 [375] call keyboard_event_scan + //SEG750 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] keyboard_event_scan_from_b3: - //SEG753 [159] phi (byte) keyboard_events_size#110 = (byte) keyboard_events_size#47 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy + //SEG751 [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 - //SEG754 [376] phi from form_control::@3 to form_control::@34 [phi:form_control::@3->form_control::@34] + //SEG752 [376] phi from form_control::@3 to form_control::@34 [phi:form_control::@3->form_control::@34] b34_from_b3: jmp b34 - //SEG755 form_control::@34 + //SEG753 form_control::@34 b34: - //SEG756 [377] call keyboard_event_get + //SEG754 [377] call keyboard_event_get jsr keyboard_event_get - //SEG757 [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + //SEG755 [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 jmp b35 - //SEG758 form_control::@35 + //SEG756 form_control::@35 b35: - //SEG759 [379] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 - //SEG760 [380] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 + //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 cmp #KEY_CRSR_DOWN bne b4 jmp b18 - //SEG761 form_control::@18 + //SEG759 form_control::@18 b18: - //SEG762 [381] (byte~) form_control::$11 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG760 [381] (byte~) form_control::$11 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG763 [382] *((byte*) form_control::field#0) ← (byte~) form_control::$11 -- _deref_pbuz1=vbuaa + //SEG761 [382] *((byte*) form_control::field#0) ← (byte~) form_control::$11 -- _deref_pbuz1=vbuaa // Unblink the cursor ldy #0 sta (field),y - //SEG764 [383] (byte~) form_control::$12 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuz1_band_vbuc1 + //SEG762 [383] (byte~) form_control::$12 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuz1_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers - //SEG765 [384] if((byte~) form_control::$12==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@5 -- vbuaa_eq_0_then_la1 + //SEG763 [384] if((byte~) form_control::$12==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@5 -- vbuaa_eq_0_then_la1 cmp #0 beq b5 jmp b19 - //SEG766 form_control::@19 + //SEG764 form_control::@19 b19: - //SEG767 [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuxx=_dec_vbuxx + //SEG765 [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuxx=_dec_vbuxx dex - //SEG768 [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@37 -- vbuxx_neq_vbuc1_then_la1 + //SEG766 [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@37 -- vbuxx_neq_vbuc1_then_la1 cpx #$ff bne b37_from_b19 - //SEG769 [387] phi from form_control::@19 to form_control::@7 [phi:form_control::@19->form_control::@7] + //SEG767 [387] phi from form_control::@19 to form_control::@7 [phi:form_control::@19->form_control::@7] b7_from_b19: - //SEG770 [387] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@19->form_control::@7#0] -- vbuxx=vbuc1 + //SEG768 [387] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@19->form_control::@7#0] -- vbuxx=vbuc1 ldx #form_fields_cnt-1 jmp b7 - //SEG771 form_control::@7 + //SEG769 form_control::@7 b7: - //SEG772 [388] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] + //SEG770 [388] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] breturn_from_b7: - //SEG773 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@7->form_control::@return#0] -- register_copy - //SEG774 [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::@7->form_control::@return#1] -- vbsz1=vbuc1 + //SEG771 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@7->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::@7->form_control::@return#1] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count - //SEG775 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@7->form_control::@return#2] -- vbuyy=vbuc1 + //SEG773 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@7->form_control::@return#2] -- vbuyy=vbuc1 ldy #0 jmp breturn - //SEG776 form_control::@return + //SEG774 form_control::@return breturn: - //SEG777 [389] return + //SEG775 [389] return rts - //SEG778 [390] phi from form_control::@19 to form_control::@37 [phi:form_control::@19->form_control::@37] + //SEG776 [390] phi from form_control::@19 to form_control::@37 [phi:form_control::@19->form_control::@37] b37_from_b19: jmp b37 - //SEG779 form_control::@37 + //SEG777 form_control::@37 b37: - //SEG780 [387] phi from form_control::@37 form_control::@38 to form_control::@7 [phi:form_control::@37/form_control::@38->form_control::@7] + //SEG778 [387] phi from form_control::@37 form_control::@38 to form_control::@7 [phi:form_control::@37/form_control::@38->form_control::@7] b7_from_b37: b7_from_b38: - //SEG781 [387] phi (byte) form_field_idx#32 = (byte) form_field_idx#44 [phi:form_control::@37/form_control::@38->form_control::@7#0] -- register_copy + //SEG779 [387] phi (byte) form_field_idx#32 = (byte) form_field_idx#44 [phi:form_control::@37/form_control::@38->form_control::@7#0] -- register_copy jmp b7 - //SEG782 form_control::@5 + //SEG780 form_control::@5 b5: - //SEG783 [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuxx=_inc_vbuxx + //SEG781 [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuxx=_inc_vbuxx inx - //SEG784 [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@38 -- vbuxx_neq_vbuc1_then_la1 + //SEG782 [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@38 -- vbuxx_neq_vbuc1_then_la1 cpx #form_fields_cnt bne b38_from_b5 - //SEG785 [387] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] + //SEG783 [387] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] b7_from_b5: - //SEG786 [387] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@5->form_control::@7#0] -- vbuxx=vbuc1 + //SEG784 [387] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@5->form_control::@7#0] -- vbuxx=vbuc1 ldx #0 jmp b7 - //SEG787 [393] phi from form_control::@5 to form_control::@38 [phi:form_control::@5->form_control::@38] + //SEG785 [393] phi from form_control::@5 to form_control::@38 [phi:form_control::@5->form_control::@38] b38_from_b5: jmp b38 - //SEG788 form_control::@38 + //SEG786 form_control::@38 b38: jmp b7_from_b38 - //SEG789 form_control::@4 + //SEG787 form_control::@4 b4: - //SEG790 [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@9 -- vbuaa_neq_vbuc1_then_la1 + //SEG788 [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@9 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_RIGHT bne b9 jmp b24 - //SEG791 form_control::@24 + //SEG789 form_control::@24 b24: - //SEG792 [395] (byte~) form_control::$22 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuz1_band_vbuc1 + //SEG790 [395] (byte~) form_control::$22 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuz1_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers - //SEG793 [396] if((byte~) form_control::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@10 -- vbuaa_eq_0_then_la1 + //SEG791 [396] if((byte~) form_control::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@10 -- vbuaa_eq_0_then_la1 cmp #0 beq b10 jmp b25 - //SEG794 form_control::@25 + //SEG792 form_control::@25 b25: - //SEG795 [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_vbuxx=_dec_pbuc1_derefidx_vbuxx + //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_vbuxx=_dec_pbuc1_derefidx_vbuxx dec form_fields_val,x - //SEG796 [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@12 -- pbuc1_derefidx_vbuxx_neq_vbuc2_then_la1 + //SEG794 [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@12 -- pbuc1_derefidx_vbuxx_neq_vbuc2_then_la1 lda form_fields_val,x cmp #$ff bne b12 jmp b26 - //SEG797 form_control::@26 + //SEG795 form_control::@26 b26: - //SEG798 [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_vbuxx=pbuc2_derefidx_vbuxx + //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_vbuxx=pbuc2_derefidx_vbuxx lda form_fields_max,x sta form_fields_val,x jmp b12 - //SEG799 form_control::@12 + //SEG797 form_control::@12 b12: - //SEG800 [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_vbuxx + //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_vbuxx // Render field value lda form_fields_val,x tay lda print_hextab,y ldy #0 sta (field),y - //SEG801 [388] phi from form_control::@12 form_control::@39 to form_control::@return [phi:form_control::@12/form_control::@39->form_control::@return] + //SEG799 [388] phi from form_control::@12 form_control::@39 to form_control::@return [phi:form_control::@12/form_control::@39->form_control::@return] breturn_from_b12: breturn_from_b39: - //SEG802 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@12/form_control::@39->form_control::@return#0] -- register_copy - //SEG803 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@12/form_control::@39->form_control::@return#1] -- register_copy - //SEG804 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@12/form_control::@39->form_control::@return#2] -- vbuyy=vbuc1 + //SEG800 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@12/form_control::@39->form_control::@return#0] -- register_copy + //SEG801 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@12/form_control::@39->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::@12/form_control::@39->form_control::@return#2] -- vbuyy=vbuc1 ldy #0 jmp breturn - //SEG805 form_control::@10 + //SEG803 form_control::@10 b10: - //SEG806 [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_vbuxx=_inc_pbuc1_derefidx_vbuxx + //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_vbuxx=_inc_pbuc1_derefidx_vbuxx inc form_fields_val,x - //SEG807 [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::@12 -- pbuc1_derefidx_vbuxx_le_pbuc2_derefidx_vbuxx_then_la1 + //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::@12 -- pbuc1_derefidx_vbuxx_le_pbuc2_derefidx_vbuxx_then_la1 txa tay lda form_fields_val,x @@ -23684,81 +23669,81 @@ form_control: { bcc b12 beq b12 jmp b28 - //SEG808 form_control::@28 + //SEG806 form_control::@28 b28: - //SEG809 [403] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- pbuc1_derefidx_vbuxx=vbuc2 + //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_vbuxx=vbuc2 lda #0 sta form_fields_val,x jmp b12 - //SEG810 form_control::@9 + //SEG808 form_control::@9 b9: - //SEG811 [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@39 -- vbuaa_neq_vbuc1_then_la1 + //SEG809 [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@39 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_SPACE bne b39_from_b9 - //SEG812 [388] phi from form_control::@9 to form_control::@return [phi:form_control::@9->form_control::@return] + //SEG810 [388] phi from form_control::@9 to form_control::@return [phi:form_control::@9->form_control::@return] breturn_from_b9: - //SEG813 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@9->form_control::@return#0] -- register_copy - //SEG814 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@9->form_control::@return#1] -- register_copy - //SEG815 [388] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:form_control::@9->form_control::@return#2] -- vbuyy=vbuc1 + //SEG811 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@9->form_control::@return#0] -- register_copy + //SEG812 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@9->form_control::@return#1] -- register_copy + //SEG813 [388] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:form_control::@9->form_control::@return#2] -- vbuyy=vbuc1 ldy #$ff jmp breturn - //SEG816 [405] phi from form_control::@9 to form_control::@39 [phi:form_control::@9->form_control::@39] + //SEG814 [405] phi from form_control::@9 to form_control::@39 [phi:form_control::@9->form_control::@39] b39_from_b9: jmp b39 - //SEG817 form_control::@39 + //SEG815 form_control::@39 b39: jmp breturn_from_b39 - //SEG818 form_control::@2 + //SEG816 form_control::@2 b2: - //SEG819 [406] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 -- vbuaa=_deref_pbuz1_bor_vbuc1 + //SEG817 [406] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 -- vbuaa=_deref_pbuz1_bor_vbuc1 lda #$80 ldy #0 ora (field),y - //SEG820 [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 -- _deref_pbuz1=vbuaa + //SEG818 [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 -- _deref_pbuz1=vbuaa ldy #0 sta (field),y jmp b3_from_b2 - //SEG821 [408] phi from form_control::@33 to form_control::@36 [phi:form_control::@33->form_control::@36] + //SEG819 [408] phi from form_control::@33 to form_control::@36 [phi:form_control::@33->form_control::@36] b36_from_b33: jmp b36 - //SEG822 form_control::@36 + //SEG820 form_control::@36 b36: - //SEG823 [370] phi from form_control::@36 to form_control::@1 [phi:form_control::@36->form_control::@1] + //SEG821 [370] phi from form_control::@36 to form_control::@1 [phi:form_control::@36->form_control::@1] b1_from_b36: - //SEG824 [370] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@36->form_control::@1#0] -- register_copy + //SEG822 [370] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@36->form_control::@1#0] -- register_copy jmp b1 } -//SEG825 form_set_screen +//SEG823 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 - //SEG826 [410] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + //SEG824 [410] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] b1_from_form_set_screen: - //SEG827 [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] -- vbuyy=vbuc1 + //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] -- vbuyy=vbuc1 ldy #0 - //SEG828 [410] phi (byte*) form_set_screen::line#2 = (const byte*) FORM_SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + //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 lda #FORM_SCREEN sta line+1 jmp b1 - //SEG829 [410] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG827 [410] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] b1_from_b1: - //SEG830 [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 - //SEG831 [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 + //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 jmp b1 - //SEG832 form_set_screen::@1 + //SEG830 form_set_screen::@1 b1: - //SEG833 [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 + //SEG831 [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 lda line - //SEG834 [412] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuyy=vbuaa + //SEG832 [412] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuyy=vbuaa sta form_line_lo,y - //SEG835 [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 + //SEG833 [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 lda line+1 - //SEG836 [414] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuyy=vbuaa + //SEG834 [414] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuyy=vbuaa sta form_line_hi,y - //SEG837 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 + //SEG835 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 lda line clc adc #$28 @@ -23766,114 +23751,114 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG838 [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuyy=_inc_vbuyy + //SEG836 [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuyy=_inc_vbuyy iny - //SEG839 [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 -- vbuyy_neq_vbuc1_then_la1 + //SEG837 [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 -- vbuyy_neq_vbuc1_then_la1 cpy #$19 bne b1_from_b1 jmp breturn - //SEG840 form_set_screen::@return + //SEG838 form_set_screen::@return breturn: - //SEG841 [418] return + //SEG839 [418] return rts } -//SEG842 print_str_lines +//SEG840 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 - //SEG843 [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG841 [420] (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 - //SEG844 [421] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] + //SEG842 [421] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] b1_from_print_str_lines: b1_from_b9: - //SEG845 [421] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG846 [421] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#77 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG847 [421] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy + //SEG843 [421] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->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::@9->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::@9->print_str_lines::@1#2] -- register_copy jmp b1 - //SEG848 print_str_lines::@1 + //SEG846 print_str_lines::@1 b1: - //SEG849 [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG847 [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4_from_b1 jmp breturn - //SEG850 print_str_lines::@return + //SEG848 print_str_lines::@return breturn: - //SEG851 [423] return + //SEG849 [423] return rts - //SEG852 [424] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG850 [424] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] b4_from_b1: b4_from_b5: - //SEG853 [424] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG854 [424] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG851 [424] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#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::@5->print_str_lines::@4#1] -- register_copy jmp b4 - //SEG855 print_str_lines::@4 + //SEG853 print_str_lines::@4 b4: - //SEG856 [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 + //SEG854 [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG857 [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 + //SEG855 [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG858 [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 -- vbuaa_eq_vbuc1_then_la1 + //SEG856 [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b5_from_b4 jmp b8 - //SEG859 print_str_lines::@8 + //SEG857 print_str_lines::@8 b8: - //SEG860 [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuaa + //SEG858 [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG861 [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 + //SEG859 [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG862 [430] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG860 [430] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] b5_from_b4: b5_from_b8: - //SEG863 [430] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG861 [430] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy jmp b5 - //SEG864 print_str_lines::@5 + //SEG862 print_str_lines::@5 b5: - //SEG865 [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 -- vbuaa_neq_vbuc1_then_la1 + //SEG863 [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b4_from_b5 - //SEG866 [432] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG864 [432] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] b9_from_b5: jmp b9 - //SEG867 print_str_lines::@9 + //SEG865 print_str_lines::@9 b9: - //SEG868 [433] call print_ln - //SEG869 [435] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG866 [433] call print_ln + //SEG867 [435] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] print_ln_from_b9: jsr print_ln - //SEG870 [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 -- pbuz1=pbuz2 + //SEG868 [434] (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_b9 } -//SEG871 print_ln +//SEG869 print_ln // Print a newline print_ln: { - //SEG872 [436] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG870 [436] 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: - //SEG873 [436] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //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 jmp b1 - //SEG874 print_ln::@1 + //SEG872 print_ln::@1 b1: - //SEG875 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 + //SEG873 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -23881,7 +23866,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG876 [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + //SEG874 [438] 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 @@ -23891,38 +23876,38 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG877 print_ln::@return + //SEG875 print_ln::@return breturn: - //SEG878 [439] return + //SEG876 [439] return rts } -//SEG879 print_cls +//SEG877 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { .label _0 = 5 .label sc = 3 - //SEG880 [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG878 [440] (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 - //SEG881 [441] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] + //SEG879 [441] 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: - //SEG882 [441] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy + //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 jmp b1 - //SEG883 print_cls::@1 + //SEG881 print_cls::@1 b1: - //SEG884 [442] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + //SEG882 [442] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG885 [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + //SEG883 [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG886 [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 -- pbuz1=pbuz2_plus_vwuc1 + //SEG884 [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 -- pbuz1=pbuz2_plus_vwuc1 lda print_set_screen.screen clc adc #<$3e8 @@ -23930,7 +23915,7 @@ print_cls: { lda print_set_screen.screen+1 adc #>$3e8 sta _0+1 - //SEG887 [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -- pbuz1_neq_pbuz2_then_la1 + //SEG885 [445] 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 @@ -23938,169 +23923,169 @@ print_cls: { cmp _0 bne b1_from_b1 jmp breturn - //SEG888 print_cls::@return + //SEG886 print_cls::@return breturn: - //SEG889 [446] return + //SEG887 [446] return rts } -//SEG890 print_set_screen +//SEG888 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 - //SEG891 print_set_screen::@return + //SEG889 print_set_screen::@return breturn: - //SEG892 [448] return + //SEG890 [448] return rts } -//SEG893 gfx_init +//SEG891 gfx_init // Initialize the different graphics in the memory gfx_init: { - //SEG894 [450] call gfx_init_screen0 - //SEG895 [848] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] + //SEG892 [450] call gfx_init_screen0 + //SEG893 [848] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] gfx_init_screen0_from_gfx_init: jsr gfx_init_screen0 - //SEG896 [451] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] + //SEG894 [451] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] b1_from_gfx_init: jmp b1 - //SEG897 gfx_init::@1 + //SEG895 gfx_init::@1 b1: - //SEG898 [452] call gfx_init_screen1 - //SEG899 [836] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] + //SEG896 [452] call gfx_init_screen1 + //SEG897 [836] 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 - //SEG900 [453] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] + //SEG898 [453] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] b2_from_b1: jmp b2 - //SEG901 gfx_init::@2 + //SEG899 gfx_init::@2 b2: - //SEG902 [454] call gfx_init_screen2 - //SEG903 [821] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] + //SEG900 [454] call gfx_init_screen2 + //SEG901 [821] 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 - //SEG904 [455] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] + //SEG902 [455] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] b3_from_b2: jmp b3 - //SEG905 gfx_init::@3 + //SEG903 gfx_init::@3 b3: - //SEG906 [456] call gfx_init_screen3 - //SEG907 [807] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] + //SEG904 [456] call gfx_init_screen3 + //SEG905 [807] 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 - //SEG908 [457] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] + //SEG906 [457] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] b4_from_b3: jmp b4 - //SEG909 gfx_init::@4 + //SEG907 gfx_init::@4 b4: - //SEG910 [458] call gfx_init_screen4 - //SEG911 [797] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] + //SEG908 [458] call gfx_init_screen4 + //SEG909 [797] 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 - //SEG912 [459] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] + //SEG910 [459] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] b5_from_b4: jmp b5 - //SEG913 gfx_init::@5 + //SEG911 gfx_init::@5 b5: - //SEG914 [460] call gfx_init_charset + //SEG912 [460] call gfx_init_charset jsr gfx_init_charset - //SEG915 [461] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] + //SEG913 [461] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] b6_from_b5: jmp b6 - //SEG916 gfx_init::@6 + //SEG914 gfx_init::@6 b6: - //SEG917 [462] call gfx_init_vic_bitmap - //SEG918 [606] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] + //SEG915 [462] call gfx_init_vic_bitmap + //SEG916 [606] 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 - //SEG919 [463] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] + //SEG917 [463] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] b7_from_b6: jmp b7 - //SEG920 gfx_init::@7 + //SEG918 gfx_init::@7 b7: - //SEG921 [464] call gfx_init_plane_8bppchunky - //SEG922 [586] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] + //SEG919 [464] call gfx_init_plane_8bppchunky + //SEG920 [586] 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 - //SEG923 [465] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] + //SEG921 [465] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] b8_from_b7: jmp b8 - //SEG924 gfx_init::@8 + //SEG922 gfx_init::@8 b8: - //SEG925 [466] call gfx_init_plane_charset8 - //SEG926 [561] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] + //SEG923 [466] call gfx_init_plane_charset8 + //SEG924 [561] 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 - //SEG927 [467] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] + //SEG925 [467] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] b9_from_b8: jmp b9 - //SEG928 gfx_init::@9 + //SEG926 gfx_init::@9 b9: - //SEG929 [468] call gfx_init_plane_horisontal - //SEG930 [543] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] + //SEG927 [468] call gfx_init_plane_horisontal + //SEG928 [543] 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 - //SEG931 [469] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] + //SEG929 [469] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] b10_from_b9: jmp b10 - //SEG932 gfx_init::@10 + //SEG930 gfx_init::@10 b10: - //SEG933 [470] call gfx_init_plane_vertical - //SEG934 [530] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] + //SEG931 [470] call gfx_init_plane_vertical + //SEG932 [530] 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 - //SEG935 [471] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] + //SEG933 [471] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] b11_from_b10: jmp b11 - //SEG936 gfx_init::@11 + //SEG934 gfx_init::@11 b11: - //SEG937 [472] call gfx_init_plane_horisontal2 - //SEG938 [515] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] + //SEG935 [472] call gfx_init_plane_horisontal2 + //SEG936 [515] 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 - //SEG939 [473] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] + //SEG937 [473] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] b12_from_b11: jmp b12 - //SEG940 gfx_init::@12 + //SEG938 gfx_init::@12 b12: - //SEG941 [474] call gfx_init_plane_vertical2 - //SEG942 [512] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] + //SEG939 [474] call gfx_init_plane_vertical2 + //SEG940 [512] 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 - //SEG943 [475] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] + //SEG941 [475] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] b13_from_b12: jmp b13 - //SEG944 gfx_init::@13 + //SEG942 gfx_init::@13 b13: - //SEG945 [476] call gfx_init_plane_blank - //SEG946 [509] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] + //SEG943 [476] call gfx_init_plane_blank + //SEG944 [509] 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 - //SEG947 [477] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] + //SEG945 [477] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] b14_from_b13: jmp b14 - //SEG948 gfx_init::@14 + //SEG946 gfx_init::@14 b14: - //SEG949 [478] call gfx_init_plane_full - //SEG950 [480] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] + //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] gfx_init_plane_full_from_b14: jsr gfx_init_plane_full jmp breturn - //SEG951 gfx_init::@return + //SEG949 gfx_init::@return breturn: - //SEG952 [479] return + //SEG950 [479] return rts } -//SEG953 gfx_init_plane_full +//SEG951 gfx_init_plane_full // Initialize Plane with all pixels gfx_init_plane_full: { - //SEG954 [481] call gfx_init_plane_fill - //SEG955 [483] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] + //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] gfx_init_plane_fill_from_gfx_init_plane_full: - //SEG956 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) 255 [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG954 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) 255 [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$ff sta gfx_init_plane_fill.fill - //SEG957 [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 + //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 lda #PLANE_FULL @@ -24111,12 +24096,12 @@ gfx_init_plane_full: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG958 gfx_init_plane_full::@return + //SEG956 gfx_init_plane_full::@return breturn: - //SEG959 [482] return + //SEG957 [482] return rts } -//SEG960 gfx_init_plane_fill +//SEG958 gfx_init_plane_fill // Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // gfx_init_plane_fill(dword zeropage($a) plane_addr, byte zeropage(2) fill) gfx_init_plane_fill: { @@ -24129,7 +24114,7 @@ gfx_init_plane_fill: { .label by = 7 .label plane_addr = $a .label fill = 2 - //SEG961 [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 + //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 lda plane_addr sta _0 lda plane_addr+1 @@ -24146,39 +24131,39 @@ gfx_init_plane_fill: { rol _0+1 rol _0+2 rol _0+3 - //SEG962 [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 + //SEG960 [485] (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 - //SEG963 [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuxx=_lo_vwuz1 + //SEG961 [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuxx=_lo_vwuz1 lda _1 tax - //SEG964 [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuaa=vbuxx + //SEG962 [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuaa=vbuxx txa - //SEG965 [488] call dtvSetCpuBankSegment1 - //SEG966 [505] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] + //SEG963 [488] call dtvSetCpuBankSegment1 + //SEG964 [505] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_fill: - //SEG967 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy + //SEG965 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp b5 - //SEG968 gfx_init_plane_fill::@5 + //SEG966 gfx_init_plane_fill::@5 b5: - //SEG969 [489] (byte) gfx_init_plane_fill::gfxbCpuBank#1 ← ++ (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuxx=_inc_vbuxx + //SEG967 [489] (byte) gfx_init_plane_fill::gfxbCpuBank#1 ← ++ (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuxx=_inc_vbuxx inx - //SEG970 [490] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 + //SEG968 [490] (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 - //SEG971 [491] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) 16383 -- vwuz1=vwuz1_band_vwuc1 + //SEG969 [491] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) 16383 -- vwuz1=vwuz1_band_vwuc1 lda _5 and #<$3fff sta _5 lda _5+1 and #>$3fff sta _5+1 - //SEG972 [492] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) 16384 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 + //SEG970 [492] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) 16384 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 clc lda _6 adc #<$4000 @@ -24186,75 +24171,75 @@ gfx_init_plane_fill: { lda _6+1 adc #>$4000 sta _6+1 - //SEG973 [493] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 - //SEG974 [494] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] + //SEG971 [493] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 + //SEG972 [494] 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: - //SEG975 [494] 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 + //SEG973 [494] 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 - //SEG976 [494] 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 [494] 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 - //SEG977 [494] 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 [494] 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: - //SEG978 [494] 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 - //SEG979 [494] 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 + //SEG976 [494] 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 + //SEG977 [494] 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 - //SEG980 gfx_init_plane_fill::@1 + //SEG978 gfx_init_plane_fill::@1 b1: - //SEG981 [495] 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 [495] 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: - //SEG982 [495] 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 + //SEG980 [495] 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 - //SEG983 [495] 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 [495] 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 - //SEG984 [495] 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 [495] 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: - //SEG985 [495] 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 - //SEG986 [495] 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 + //SEG983 [495] 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 + //SEG984 [495] 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 - //SEG987 gfx_init_plane_fill::@2 + //SEG985 gfx_init_plane_fill::@2 b2: - //SEG988 [496] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 + //SEG986 [496] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 lda fill ldy #0 sta (gfxb),y - //SEG989 [497] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG987 [497] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG990 [498] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx + //SEG988 [498] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx inx - //SEG991 [499] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG989 [499] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG992 gfx_init_plane_fill::@3 + //SEG990 gfx_init_plane_fill::@3 b3: - //SEG993 [500] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 + //SEG991 [500] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG994 [501] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG992 [501] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 lda by cmp #$c8 bne b1_from_b3 - //SEG995 [502] 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 [502] 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 - //SEG996 gfx_init_plane_fill::@4 + //SEG994 gfx_init_plane_fill::@4 b4: - //SEG997 [503] call dtvSetCpuBankSegment1 - //SEG998 [505] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] + //SEG995 [503] call dtvSetCpuBankSegment1 + //SEG996 [505] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG999 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG997 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1000 gfx_init_plane_fill::@return + //SEG998 gfx_init_plane_fill::@return breturn: - //SEG1001 [504] return + //SEG999 [504] return rts } -//SEG1002 dtvSetCpuBankSegment1 +//SEG1000 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 @@ -24262,28 +24247,28 @@ gfx_init_plane_fill: { dtvSetCpuBankSegment1: { // Move CPU BANK 1 SEGMENT ($4000-$7fff) .label cpuBank = $ff - //SEG1003 [506] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa + //SEG1001 [506] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa sta cpuBank - //SEG1004 asm { .byte$32,$dd lda$ff .byte$32,$00 } + //SEG1002 asm { .byte$32,$dd lda$ff .byte$32,$00 } .byte $32, $dd lda $ff .byte $32, $00 jmp breturn - //SEG1005 dtvSetCpuBankSegment1::@return + //SEG1003 dtvSetCpuBankSegment1::@return breturn: - //SEG1006 [508] return + //SEG1004 [508] return rts } -//SEG1007 gfx_init_plane_blank +//SEG1005 gfx_init_plane_blank // Initialize Plane with blank pixels gfx_init_plane_blank: { - //SEG1008 [510] call gfx_init_plane_fill - //SEG1009 [483] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] + //SEG1006 [510] call gfx_init_plane_fill + //SEG1007 [483] 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: - //SEG1010 [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 + //SEG1008 [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 lda #0 sta gfx_init_plane_fill.fill - //SEG1011 [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 + //SEG1009 [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 lda #PLANE_BLANK @@ -24294,21 +24279,21 @@ gfx_init_plane_blank: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG1012 gfx_init_plane_blank::@return + //SEG1010 gfx_init_plane_blank::@return breturn: - //SEG1013 [511] return + //SEG1011 [511] return rts } -//SEG1014 gfx_init_plane_vertical2 +//SEG1012 gfx_init_plane_vertical2 // Initialize Plane with Vertical Stripes every 2 pixels gfx_init_plane_vertical2: { - //SEG1015 [513] call gfx_init_plane_fill - //SEG1016 [483] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] + //SEG1013 [513] call gfx_init_plane_fill + //SEG1014 [483] 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: - //SEG1017 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 27 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG1015 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 27 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$1b sta gfx_init_plane_fill.fill - //SEG1018 [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 + //SEG1016 [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 lda #PLANE_VERTICAL2 @@ -24319,296 +24304,296 @@ gfx_init_plane_vertical2: { sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill jmp breturn - //SEG1019 gfx_init_plane_vertical2::@return + //SEG1017 gfx_init_plane_vertical2::@return breturn: - //SEG1020 [514] return + //SEG1018 [514] return rts } -//SEG1021 gfx_init_plane_horisontal2 +//SEG1019 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 - //SEG1022 [516] call dtvSetCpuBankSegment1 - //SEG1023 [505] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] + //SEG1020 [516] call dtvSetCpuBankSegment1 + //SEG1021 [505] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal2: - //SEG1024 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1022 [505] 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 - //SEG1025 [517] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] + //SEG1023 [517] 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: - //SEG1026 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 + //SEG1024 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1027 [517] 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 + //SEG1025 [517] 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 - //SEG1028 [517] 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 [517] 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: - //SEG1029 [517] 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 - //SEG1030 [517] 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 + //SEG1027 [517] 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 + //SEG1028 [517] 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 - //SEG1031 gfx_init_plane_horisontal2::@1 + //SEG1029 gfx_init_plane_horisontal2::@1 b1: - //SEG1032 [518] 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 [518] 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: - //SEG1033 [518] 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 + //SEG1031 [518] 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 - //SEG1034 [518] 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 [518] 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 - //SEG1035 [518] 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 [518] 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: - //SEG1036 [518] 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 - //SEG1037 [518] 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 + //SEG1034 [518] 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 + //SEG1035 [518] 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 - //SEG1038 gfx_init_plane_horisontal2::@2 + //SEG1036 gfx_init_plane_horisontal2::@2 b2: - //SEG1039 [519] (byte~) gfx_init_plane_horisontal2::$5 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_ror_1 + //SEG1037 [519] (byte~) gfx_init_plane_horisontal2::$5 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_ror_1 lda ay lsr - //SEG1040 [520] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$5 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuaa_band_vbuc1 + //SEG1038 [520] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$5 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuaa_band_vbuc1 and #3 - //SEG1041 [521] *((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 + //SEG1039 [521] *((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 - //SEG1042 [522] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1040 [522] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1043 [523] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx + //SEG1041 [523] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx inx - //SEG1044 [524] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1042 [524] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1045 gfx_init_plane_horisontal2::@3 + //SEG1043 gfx_init_plane_horisontal2::@3 b3: - //SEG1046 [525] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1044 [525] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1047 [526] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1045 [526] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 lda ay cmp #$c8 bne b1_from_b3 - //SEG1048 [527] 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 [527] 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 - //SEG1049 gfx_init_plane_horisontal2::@4 + //SEG1047 gfx_init_plane_horisontal2::@4 b4: - //SEG1050 [528] call dtvSetCpuBankSegment1 - //SEG1051 [505] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] + //SEG1048 [528] call dtvSetCpuBankSegment1 + //SEG1049 [505] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1052 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1050 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1053 gfx_init_plane_horisontal2::@return + //SEG1051 gfx_init_plane_horisontal2::@return breturn: - //SEG1054 [529] return + //SEG1052 [529] return rts row_bitmask: .byte 0, $55, $aa, $ff } -//SEG1055 gfx_init_plane_vertical +//SEG1053 gfx_init_plane_vertical // Initialize Plane with Vertical Stripes gfx_init_plane_vertical: { .const gfxbCpuBank = PLANE_VERTICAL/$4000 .label gfxb = 3 .label by = 2 - //SEG1056 [531] call dtvSetCpuBankSegment1 - //SEG1057 [505] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] + //SEG1054 [531] call dtvSetCpuBankSegment1 + //SEG1055 [505] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_vertical: - //SEG1058 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1056 [505] 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 - //SEG1059 [532] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] + //SEG1057 [532] 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: - //SEG1060 [532] 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 + //SEG1058 [532] 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 - //SEG1061 [532] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 + //SEG1059 [532] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1062 [532] 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 [532] 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: - //SEG1063 [532] 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 - //SEG1064 [532] 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 + //SEG1061 [532] 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 + //SEG1062 [532] 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 - //SEG1065 gfx_init_plane_vertical::@1 + //SEG1063 gfx_init_plane_vertical::@1 b1: - //SEG1066 [533] 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 [533] 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: - //SEG1067 [533] 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 + //SEG1065 [533] 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 - //SEG1068 [533] 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 [533] 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 - //SEG1069 [533] 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 [533] 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: - //SEG1070 [533] 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 - //SEG1071 [533] 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 + //SEG1068 [533] 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 + //SEG1069 [533] 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 - //SEG1072 gfx_init_plane_vertical::@2 + //SEG1070 gfx_init_plane_vertical::@2 b2: - //SEG1073 [534] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 -- _deref_pbuz1=vbuc1 + //SEG1071 [534] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - //SEG1074 [535] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG1072 [535] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1075 [536] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx + //SEG1073 [536] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx inx - //SEG1076 [537] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1074 [537] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1077 gfx_init_plane_vertical::@3 + //SEG1075 gfx_init_plane_vertical::@3 b3: - //SEG1078 [538] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 + //SEG1076 [538] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG1079 [539] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1077 [539] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 lda by cmp #$c8 bne b1_from_b3 - //SEG1080 [540] 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 [540] 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 - //SEG1081 gfx_init_plane_vertical::@4 + //SEG1079 gfx_init_plane_vertical::@4 b4: - //SEG1082 [541] call dtvSetCpuBankSegment1 - //SEG1083 [505] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] + //SEG1080 [541] call dtvSetCpuBankSegment1 + //SEG1081 [505] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1084 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1082 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1085 gfx_init_plane_vertical::@return + //SEG1083 gfx_init_plane_vertical::@return breturn: - //SEG1086 [542] return + //SEG1084 [542] return rts } -//SEG1087 gfx_init_plane_horisontal +//SEG1085 gfx_init_plane_horisontal // Initialize Plane with Horizontal Stripes gfx_init_plane_horisontal: { .const gfxbCpuBank = PLANE_HORISONTAL/$4000 .label gfxa = 3 .label ay = 2 - //SEG1088 [544] call dtvSetCpuBankSegment1 - //SEG1089 [505] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] + //SEG1086 [544] call dtvSetCpuBankSegment1 + //SEG1087 [505] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal: - //SEG1090 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1088 [505] 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 - //SEG1091 [545] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] + //SEG1089 [545] 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: - //SEG1092 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 + //SEG1090 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1093 [545] 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 + //SEG1091 [545] 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 - //SEG1094 [545] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1] + //SEG1092 [545] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1] b1_from_b7: - //SEG1095 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#0] -- register_copy - //SEG1096 [545] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#1] -- register_copy + //SEG1093 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#0] -- register_copy + //SEG1094 [545] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#1] -- register_copy jmp b1 - //SEG1097 gfx_init_plane_horisontal::@1 + //SEG1095 gfx_init_plane_horisontal::@1 b1: - //SEG1098 [546] 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 [546] 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: - //SEG1099 [546] 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 + //SEG1097 [546] 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 - //SEG1100 [546] 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 [546] 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 - //SEG1101 [546] 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 [546] 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: - //SEG1102 [546] 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 - //SEG1103 [546] 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 + //SEG1100 [546] 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 + //SEG1101 [546] 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 - //SEG1104 gfx_init_plane_horisontal::@2 + //SEG1102 gfx_init_plane_horisontal::@2 b2: - //SEG1105 [547] (byte~) gfx_init_plane_horisontal::$5 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_band_vbuc1 + //SEG1103 [547] (byte~) gfx_init_plane_horisontal::$5 ← (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 - //SEG1106 [548] if((byte~) gfx_init_plane_horisontal::$5==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 + //SEG1104 [548] if((byte~) gfx_init_plane_horisontal::$5==(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 - //SEG1107 gfx_init_plane_horisontal::@5 + //SEG1105 gfx_init_plane_horisontal::@5 b5: - //SEG1108 [549] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuz1=vbuc1 + //SEG1106 [549] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - //SEG1109 [550] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1107 [550] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1110 [551] 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 [551] 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: - //SEG1111 [551] 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 [551] 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 - //SEG1112 gfx_init_plane_horisontal::@4 + //SEG1110 gfx_init_plane_horisontal::@4 b4: - //SEG1113 [552] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx + //SEG1111 [552] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx inx - //SEG1114 [553] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1112 [553] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b4 jmp b7 - //SEG1115 gfx_init_plane_horisontal::@7 + //SEG1113 gfx_init_plane_horisontal::@7 b7: - //SEG1116 [554] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1114 [554] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1117 [555] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1115 [555] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 lda ay cmp #$c8 bne b1_from_b7 - //SEG1118 [556] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@8 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@8] + //SEG1116 [556] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@8 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@8] b8_from_b7: jmp b8 - //SEG1119 gfx_init_plane_horisontal::@8 + //SEG1117 gfx_init_plane_horisontal::@8 b8: - //SEG1120 [557] call dtvSetCpuBankSegment1 - //SEG1121 [505] phi from gfx_init_plane_horisontal::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1] + //SEG1118 [557] call dtvSetCpuBankSegment1 + //SEG1119 [505] phi from gfx_init_plane_horisontal::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b8: - //SEG1122 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1120 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1123 gfx_init_plane_horisontal::@return + //SEG1121 gfx_init_plane_horisontal::@return breturn: - //SEG1124 [558] return + //SEG1122 [558] return rts - //SEG1125 gfx_init_plane_horisontal::@3 + //SEG1123 gfx_init_plane_horisontal::@3 b3: - //SEG1126 [559] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1124 [559] *((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 - //SEG1127 [560] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1125 [560] (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 } -//SEG1128 gfx_init_plane_charset8 +//SEG1126 gfx_init_plane_charset8 // Initialize Plane with 8bpp charset gfx_init_plane_charset8: { .const gfxbCpuBank = PLANE_CHARSET8/$4000 @@ -24618,218 +24603,218 @@ gfx_init_plane_charset8: { .label col = 9 .label cr = 7 .label ch = 2 - //SEG1129 [562] call dtvSetCpuBankSegment1 - //SEG1130 [505] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] + //SEG1127 [562] call dtvSetCpuBankSegment1 + //SEG1128 [505] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_charset8: - //SEG1131 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1129 [505] 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 - //SEG1132 gfx_init_plane_charset8::@9 + //SEG1130 gfx_init_plane_charset8::@9 b9: - //SEG1133 [563] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 + //SEG1131 [563] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_CHARROM sta PROCPORT - //SEG1134 [564] 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 [564] 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: - //SEG1135 [564] 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 + //SEG1133 [564] 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 - //SEG1136 [564] 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 + //SEG1134 [564] 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 - //SEG1137 [564] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 + //SEG1135 [564] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1138 [564] 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 + //SEG1136 [564] 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 - //SEG1139 [564] 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 [564] 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: - //SEG1140 [564] 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 - //SEG1141 [564] 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 - //SEG1142 [564] 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 - //SEG1143 [564] 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 + //SEG1138 [564] 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 + //SEG1139 [564] 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 + //SEG1140 [564] 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 + //SEG1141 [564] 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 - //SEG1144 gfx_init_plane_charset8::@1 + //SEG1142 gfx_init_plane_charset8::@1 b1: - //SEG1145 [565] 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 [565] 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: - //SEG1146 [565] 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 + //SEG1144 [565] 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 - //SEG1147 [565] 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 - //SEG1148 [565] 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 - //SEG1149 [565] 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 + //SEG1145 [565] 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 + //SEG1146 [565] 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 + //SEG1147 [565] 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 - //SEG1150 [565] 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 [565] 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: - //SEG1151 [565] 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 - //SEG1152 [565] 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 - //SEG1153 [565] 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 - //SEG1154 [565] 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 + //SEG1149 [565] 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 + //SEG1150 [565] 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 + //SEG1151 [565] 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 + //SEG1152 [565] 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 - //SEG1155 gfx_init_plane_charset8::@2 + //SEG1153 gfx_init_plane_charset8::@2 b2: - //SEG1156 [566] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 + //SEG1154 [566] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta bits - //SEG1157 [567] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1155 [567] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1158 [568] 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 [568] 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: - //SEG1159 [568] 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 + //SEG1157 [568] 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 - //SEG1160 [568] 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 - //SEG1161 [568] 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 - //SEG1162 [568] 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 + //SEG1158 [568] 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 + //SEG1159 [568] 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 + //SEG1160 [568] 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 - //SEG1163 [568] 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 [568] 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: - //SEG1164 [568] 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 - //SEG1165 [568] 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 - //SEG1166 [568] 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 - //SEG1167 [568] 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 + //SEG1162 [568] 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 + //SEG1163 [568] 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 + //SEG1164 [568] 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 + //SEG1165 [568] 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 - //SEG1168 gfx_init_plane_charset8::@3 + //SEG1166 gfx_init_plane_charset8::@3 b3: - //SEG1169 [569] (byte~) gfx_init_plane_charset8::$5 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) 128 -- vbuaa=vbuz1_band_vbuc1 + //SEG1167 [569] (byte~) gfx_init_plane_charset8::$5 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) 128 -- vbuaa=vbuz1_band_vbuc1 lda #$80 and bits - //SEG1170 [570] if((byte~) gfx_init_plane_charset8::$5==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 + //SEG1168 [570] if((byte~) gfx_init_plane_charset8::$5==(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 - //SEG1171 gfx_init_plane_charset8::@5 + //SEG1169 gfx_init_plane_charset8::@5 b5: - //SEG1172 [571] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 + //SEG1170 [571] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 lda col - //SEG1173 [572] 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 [572] 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: - //SEG1174 [572] 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 + //SEG1172 [572] 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 - //SEG1175 [572] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] + //SEG1173 [572] 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: - //SEG1176 [572] 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 + //SEG1174 [572] 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 - //SEG1177 gfx_init_plane_charset8::@4 + //SEG1175 gfx_init_plane_charset8::@4 b4: - //SEG1178 [573] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa + //SEG1176 [573] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxa),y - //SEG1179 [574] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1177 [574] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1180 [575] (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 + //SEG1178 [575] (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 - //SEG1181 [576] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 + //SEG1179 [576] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 inc col - //SEG1182 [577] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx + //SEG1180 [577] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx inx - //SEG1183 [578] 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 + //SEG1181 [578] 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 - //SEG1184 gfx_init_plane_charset8::@6 + //SEG1182 gfx_init_plane_charset8::@6 b6: - //SEG1185 [579] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 + //SEG1183 [579] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 inc cr - //SEG1186 [580] 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 + //SEG1184 [580] 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 cr cmp #8 bne b2_from_b6 jmp b7 - //SEG1187 gfx_init_plane_charset8::@7 + //SEG1185 gfx_init_plane_charset8::@7 b7: - //SEG1188 [581] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 + //SEG1186 [581] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 inc ch - //SEG1189 [582] 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 + //SEG1187 [582] 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 - //SEG1190 gfx_init_plane_charset8::@8 + //SEG1188 gfx_init_plane_charset8::@8 b8: - //SEG1191 [583] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 + //SEG1189 [583] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_IO sta PROCPORT - //SEG1192 [584] call dtvSetCpuBankSegment1 - //SEG1193 [505] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] + //SEG1190 [584] call dtvSetCpuBankSegment1 + //SEG1191 [505] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b8: - //SEG1194 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1192 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1195 gfx_init_plane_charset8::@return + //SEG1193 gfx_init_plane_charset8::@return breturn: - //SEG1196 [585] return + //SEG1194 [585] return rts } -//SEG1197 gfx_init_plane_8bppchunky +//SEG1195 gfx_init_plane_8bppchunky // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { .label _6 = $10 .label gfxb = 5 .label x = 3 .label y = 2 - //SEG1198 [587] call dtvSetCpuBankSegment1 - //SEG1199 [505] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + //SEG1196 [587] call dtvSetCpuBankSegment1 + //SEG1197 [505] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_8bppchunky: - //SEG1200 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1198 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000 jsr dtvSetCpuBankSegment1 - //SEG1201 [588] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + //SEG1199 [588] 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: - //SEG1202 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 + //SEG1200 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 ldx #PLANE_8BPP_CHUNKY/$4000+1 - //SEG1203 [588] 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 + //SEG1201 [588] 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 - //SEG1204 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + //SEG1202 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 jmp b1 - //SEG1205 [588] 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 [588] 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: - //SEG1206 [588] 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 - //SEG1207 [588] 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 - //SEG1208 [588] 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 + //SEG1204 [588] 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 + //SEG1205 [588] 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 + //SEG1206 [588] 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 - //SEG1209 gfx_init_plane_8bppchunky::@1 + //SEG1207 gfx_init_plane_8bppchunky::@1 b1: - //SEG1210 [589] 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 [589] 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: - //SEG1211 [589] 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 - //SEG1212 [589] 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 + //SEG1209 [589] 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 + //SEG1210 [589] 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 - //SEG1213 [589] 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 [589] 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 - //SEG1214 [589] 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 [589] 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: - //SEG1215 [589] 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 - //SEG1216 [589] 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 - //SEG1217 [589] 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 + //SEG1213 [589] 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 + //SEG1214 [589] 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 + //SEG1215 [589] 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 - //SEG1218 gfx_init_plane_8bppchunky::@2 + //SEG1216 gfx_init_plane_8bppchunky::@2 b2: - //SEG1219 [590] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) 32768) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 + //SEG1217 [590] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) 32768) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 lda gfxb+1 cmp #>$8000 bne b3_from_b2 @@ -24837,37 +24822,37 @@ gfx_init_plane_8bppchunky: { cmp #<$8000 bne b3_from_b2 jmp b4 - //SEG1220 gfx_init_plane_8bppchunky::@4 + //SEG1218 gfx_init_plane_8bppchunky::@4 b4: - //SEG1221 [591] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx + //SEG1219 [591] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx txa - //SEG1222 [592] call dtvSetCpuBankSegment1 - //SEG1223 [505] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + //SEG1220 [592] call dtvSetCpuBankSegment1 + //SEG1221 [505] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b4: - //SEG1224 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + //SEG1222 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp b8 - //SEG1225 gfx_init_plane_8bppchunky::@8 + //SEG1223 gfx_init_plane_8bppchunky::@8 b8: - //SEG1226 [593] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx + //SEG1224 [593] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx inx - //SEG1227 [594] phi from gfx_init_plane_8bppchunky::@8 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3] + //SEG1225 [594] phi from gfx_init_plane_8bppchunky::@8 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3] b3_from_b8: - //SEG1228 [594] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#0] -- register_copy - //SEG1229 [594] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + //SEG1226 [594] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG1227 [594] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 jmp b3 - //SEG1230 [594] 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 [594] 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: - //SEG1231 [594] 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 - //SEG1232 [594] 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 + //SEG1229 [594] 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 + //SEG1230 [594] 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 - //SEG1233 gfx_init_plane_8bppchunky::@3 + //SEG1231 gfx_init_plane_8bppchunky::@3 b3: - //SEG1234 [595] (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 + //SEG1232 [595] (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 lda y clc adc x @@ -24875,22 +24860,22 @@ gfx_init_plane_8bppchunky: { lda #0 adc x+1 sta _6+1 - //SEG1235 [596] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 -- vbuaa=_byte_vwuz1 + //SEG1233 [596] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 -- vbuaa=_byte_vwuz1 lda _6 - //SEG1236 [597] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa + //SEG1234 [597] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxb),y - //SEG1237 [598] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 + //SEG1235 [598] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1238 [599] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 + //SEG1236 [599] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 inc x bne !+ inc x+1 !: - //SEG1239 [600] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) 320) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 + //SEG1237 [600] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) 320) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 lda x+1 cmp #>$140 bne b2_from_b3 @@ -24898,94 +24883,94 @@ gfx_init_plane_8bppchunky: { cmp #<$140 bne b2_from_b3 jmp b5 - //SEG1240 gfx_init_plane_8bppchunky::@5 + //SEG1238 gfx_init_plane_8bppchunky::@5 b5: - //SEG1241 [601] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 + //SEG1239 [601] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 inc y - //SEG1242 [602] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1240 [602] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 lda y cmp #$c8 bne b1_from_b5 - //SEG1243 [603] 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 [603] 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 - //SEG1244 gfx_init_plane_8bppchunky::@6 + //SEG1242 gfx_init_plane_8bppchunky::@6 b6: - //SEG1245 [604] call dtvSetCpuBankSegment1 - //SEG1246 [505] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + //SEG1243 [604] call dtvSetCpuBankSegment1 + //SEG1244 [505] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_b6: - //SEG1247 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1245 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp breturn - //SEG1248 gfx_init_plane_8bppchunky::@return + //SEG1246 gfx_init_plane_8bppchunky::@return breturn: - //SEG1249 [605] return + //SEG1247 [605] return rts } -//SEG1250 gfx_init_vic_bitmap +//SEG1248 gfx_init_vic_bitmap // Initialize VIC bitmap gfx_init_vic_bitmap: { .const lines_cnt = 9 .label l = 2 - //SEG1251 [607] call bitmap_init - //SEG1252 [759] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] + //SEG1249 [607] call bitmap_init + //SEG1250 [759] 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 - //SEG1253 [608] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] + //SEG1251 [608] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] b3_from_gfx_init_vic_bitmap: jmp b3 - //SEG1254 gfx_init_vic_bitmap::@3 + //SEG1252 gfx_init_vic_bitmap::@3 b3: - //SEG1255 [609] call bitmap_clear + //SEG1253 [609] call bitmap_clear jsr bitmap_clear - //SEG1256 [610] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] + //SEG1254 [610] 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: - //SEG1257 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 + //SEG1255 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 lda #0 sta l jmp b1 - //SEG1258 [610] phi from gfx_init_vic_bitmap::@5 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1] + //SEG1256 [610] phi from gfx_init_vic_bitmap::@5 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1] b1_from_b5: - //SEG1259 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1#0] -- register_copy + //SEG1257 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1#0] -- register_copy jmp b1 - //SEG1260 gfx_init_vic_bitmap::@1 + //SEG1258 gfx_init_vic_bitmap::@1 b1: - //SEG1261 [611] (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 + //SEG1259 [611] (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 - //SEG1262 [612] (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 + //SEG1260 [612] (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 - //SEG1263 [613] (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 + //SEG1261 [613] (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 - //SEG1264 [614] (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) -- vbuyy=pbuc1_derefidx_vbuz1 + //SEG1262 [614] (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) -- vbuyy=pbuc1_derefidx_vbuz1 ldx l ldy lines_y+1,x - //SEG1265 [615] call bitmap_line + //SEG1263 [615] call bitmap_line jsr bitmap_line jmp b5 - //SEG1266 gfx_init_vic_bitmap::@5 + //SEG1264 gfx_init_vic_bitmap::@5 b5: - //SEG1267 [616] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 + //SEG1265 [616] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 inc l - //SEG1268 [617] 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 + //SEG1266 [617] 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_b5 jmp breturn - //SEG1269 gfx_init_vic_bitmap::@return + //SEG1267 gfx_init_vic_bitmap::@return breturn: - //SEG1270 [618] return + //SEG1268 [618] 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 } -//SEG1271 bitmap_line +//SEG1269 bitmap_line // Draw a line on the bitmap // bitmap_line(byte zeropage(9) x0, byte zeropage($12) x1, byte zeropage($f) y0, byte register(Y) y1) bitmap_line: { @@ -24994,257 +24979,257 @@ bitmap_line: { .label x0 = 9 .label x1 = $12 .label y0 = $f - //SEG1272 [619] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1 + //SEG1270 [619] 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 b15 - //SEG1273 bitmap_line::@15 + //SEG1271 bitmap_line::@15 b15: - //SEG1274 [620] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1272 [620] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 lda x0 sec sbc x1 sta xd - //SEG1275 [621] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@2 -- vbuz1_lt_vbuyy_then_la1 + //SEG1273 [621] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@2 -- vbuz1_lt_vbuyy_then_la1 tya cmp y0 beq !+ bcs b2 !: jmp b16 - //SEG1276 bitmap_line::@16 + //SEG1274 bitmap_line::@16 b16: - //SEG1277 [622] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy + //SEG1275 [622] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy tya eor #$ff sec adc y0 sta yd - //SEG1278 [623] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#1) goto bitmap_line::@3 -- vbuz1_lt_vbuz2_then_la1 + //SEG1276 [623] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#1) goto bitmap_line::@3 -- vbuz1_lt_vbuz2_then_la1 lda yd cmp xd bcc b3 jmp b17 - //SEG1279 bitmap_line::@17 + //SEG1277 bitmap_line::@17 b17: - //SEG1280 [624] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1278 [624] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_ydxi.y - //SEG1281 [625] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1 + //SEG1279 [625] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1 ldx x1 - //SEG1282 [626] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 - //SEG1283 [627] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#1 - //SEG1284 [628] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#1 - //SEG1285 [629] call bitmap_line_ydxi - //SEG1286 [703] phi from bitmap_line::@17 to bitmap_line_ydxi [phi:bitmap_line::@17->bitmap_line_ydxi] + //SEG1280 [626] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 + //SEG1281 [627] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#1 + //SEG1282 [628] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#1 + //SEG1283 [629] call bitmap_line_ydxi + //SEG1284 [703] phi from bitmap_line::@17 to bitmap_line_ydxi [phi:bitmap_line::@17->bitmap_line_ydxi] bitmap_line_ydxi_from_b17: - //SEG1287 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@17->bitmap_line_ydxi#0] -- register_copy - //SEG1288 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#1] -- register_copy - //SEG1289 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@17->bitmap_line_ydxi#2] -- register_copy - //SEG1290 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@17->bitmap_line_ydxi#3] -- register_copy - //SEG1291 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#4] -- register_copy + //SEG1285 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@17->bitmap_line_ydxi#0] -- register_copy + //SEG1286 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#1] -- register_copy + //SEG1287 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@17->bitmap_line_ydxi#2] -- register_copy + //SEG1288 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@17->bitmap_line_ydxi#3] -- register_copy + //SEG1289 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp breturn - //SEG1292 bitmap_line::@return + //SEG1290 bitmap_line::@return breturn: - //SEG1293 [630] return + //SEG1291 [630] return rts - //SEG1294 bitmap_line::@3 + //SEG1292 bitmap_line::@3 b3: - //SEG1295 [631] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1293 [631] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyi.x - //SEG1296 [632] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1294 [632] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_xdyi.y - //SEG1297 [633] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 - //SEG1298 [634] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#1 - //SEG1299 [635] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#1 - //SEG1300 [636] call bitmap_line_xdyi - //SEG1301 [681] phi from bitmap_line::@3 to bitmap_line_xdyi [phi:bitmap_line::@3->bitmap_line_xdyi] + //SEG1295 [633] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 + //SEG1296 [634] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#1 + //SEG1297 [635] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#1 + //SEG1298 [636] call bitmap_line_xdyi + //SEG1299 [681] phi from bitmap_line::@3 to bitmap_line_xdyi [phi:bitmap_line::@3->bitmap_line_xdyi] bitmap_line_xdyi_from_b3: - //SEG1302 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@3->bitmap_line_xdyi#0] -- register_copy - //SEG1303 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#1] -- register_copy - //SEG1304 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@3->bitmap_line_xdyi#2] -- register_copy - //SEG1305 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@3->bitmap_line_xdyi#3] -- register_copy - //SEG1306 [681] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#4] -- register_copy + //SEG1300 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@3->bitmap_line_xdyi#0] -- register_copy + //SEG1301 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#1] -- register_copy + //SEG1302 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@3->bitmap_line_xdyi#2] -- register_copy + //SEG1303 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@3->bitmap_line_xdyi#3] -- register_copy + //SEG1304 [681] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp breturn - //SEG1307 bitmap_line::@2 + //SEG1305 bitmap_line::@2 b2: - //SEG1308 [637] (byte) bitmap_line::yd#0 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2 + //SEG1306 [637] (byte) bitmap_line::yd#0 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2 tya sec sbc y0 sta yd - //SEG1309 [638] if((byte) bitmap_line::yd#0<(byte) bitmap_line::xd#1) goto bitmap_line::@6 -- vbuz1_lt_vbuz2_then_la1 + //SEG1307 [638] if((byte) bitmap_line::yd#0<(byte) bitmap_line::xd#1) goto bitmap_line::@6 -- vbuz1_lt_vbuz2_then_la1 lda yd cmp xd bcc b6 jmp b20 - //SEG1310 bitmap_line::@20 + //SEG1308 bitmap_line::@20 b20: - //SEG1311 [639] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1309 [639] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxd.y - //SEG1312 [640] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 + //SEG1310 [640] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 ldx x0 - //SEG1313 [641] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1311 [641] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_ydxd.y1 - //SEG1314 [642] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#0 - //SEG1315 [643] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#1 - //SEG1316 [644] call bitmap_line_ydxd - //SEG1317 [733] phi from bitmap_line::@20 to bitmap_line_ydxd [phi:bitmap_line::@20->bitmap_line_ydxd] + //SEG1312 [642] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#0 + //SEG1313 [643] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#1 + //SEG1314 [644] call bitmap_line_ydxd + //SEG1315 [733] phi from bitmap_line::@20 to bitmap_line_ydxd [phi:bitmap_line::@20->bitmap_line_ydxd] bitmap_line_ydxd_from_b20: - //SEG1318 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@20->bitmap_line_ydxd#0] -- register_copy - //SEG1319 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#1] -- register_copy - //SEG1320 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@20->bitmap_line_ydxd#2] -- register_copy - //SEG1321 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@20->bitmap_line_ydxd#3] -- register_copy - //SEG1322 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#4] -- register_copy + //SEG1316 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@20->bitmap_line_ydxd#0] -- register_copy + //SEG1317 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#1] -- register_copy + //SEG1318 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@20->bitmap_line_ydxd#2] -- register_copy + //SEG1319 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@20->bitmap_line_ydxd#3] -- register_copy + //SEG1320 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1323 bitmap_line::@6 + //SEG1321 bitmap_line::@6 b6: - //SEG1324 [645] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1322 [645] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyd.x - //SEG1325 [646] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1323 [646] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_xdyd.y - //SEG1326 [647] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1324 [647] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x1 - //SEG1327 [648] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#1 - //SEG1328 [649] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#0 - //SEG1329 [650] call bitmap_line_xdyd - //SEG1330 [718] phi from bitmap_line::@6 to bitmap_line_xdyd [phi:bitmap_line::@6->bitmap_line_xdyd] + //SEG1325 [648] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#1 + //SEG1326 [649] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#0 + //SEG1327 [650] call bitmap_line_xdyd + //SEG1328 [718] phi from bitmap_line::@6 to bitmap_line_xdyd [phi:bitmap_line::@6->bitmap_line_xdyd] bitmap_line_xdyd_from_b6: - //SEG1331 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@6->bitmap_line_xdyd#0] -- register_copy - //SEG1332 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#1] -- register_copy - //SEG1333 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@6->bitmap_line_xdyd#2] -- register_copy - //SEG1334 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@6->bitmap_line_xdyd#3] -- register_copy - //SEG1335 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#4] -- register_copy + //SEG1329 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@6->bitmap_line_xdyd#0] -- register_copy + //SEG1330 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#1] -- register_copy + //SEG1331 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@6->bitmap_line_xdyd#2] -- register_copy + //SEG1332 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@6->bitmap_line_xdyd#3] -- register_copy + //SEG1333 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1336 bitmap_line::@1 + //SEG1334 bitmap_line::@1 b1: - //SEG1337 [651] (byte) bitmap_line::xd#0 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1335 [651] (byte) bitmap_line::xd#0 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 lda x1 sec sbc x0 sta xd - //SEG1338 [652] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@9 -- vbuz1_lt_vbuyy_then_la1 + //SEG1336 [652] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@9 -- vbuz1_lt_vbuyy_then_la1 tya cmp y0 beq !+ bcs b9 !: jmp b23 - //SEG1339 bitmap_line::@23 + //SEG1337 bitmap_line::@23 b23: - //SEG1340 [653] (byte) bitmap_line::yd#3 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy + //SEG1338 [653] (byte) bitmap_line::yd#3 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy tya eor #$ff sec adc y0 sta yd - //SEG1341 [654] if((byte) bitmap_line::yd#3<(byte) bitmap_line::xd#0) goto bitmap_line::@10 -- vbuz1_lt_vbuz2_then_la1 + //SEG1339 [654] if((byte) bitmap_line::yd#3<(byte) bitmap_line::xd#0) goto bitmap_line::@10 -- vbuz1_lt_vbuz2_then_la1 lda yd cmp xd bcc b10 jmp b24 - //SEG1342 bitmap_line::@24 + //SEG1340 bitmap_line::@24 b24: - //SEG1343 [655] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1341 [655] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_ydxd.y - //SEG1344 [656] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1 + //SEG1342 [656] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1 ldx x1 - //SEG1345 [657] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 - //SEG1346 [658] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#3 - //SEG1347 [659] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#0 - //SEG1348 [660] call bitmap_line_ydxd - //SEG1349 [733] phi from bitmap_line::@24 to bitmap_line_ydxd [phi:bitmap_line::@24->bitmap_line_ydxd] + //SEG1343 [657] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 + //SEG1344 [658] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#3 + //SEG1345 [659] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#0 + //SEG1346 [660] call bitmap_line_ydxd + //SEG1347 [733] phi from bitmap_line::@24 to bitmap_line_ydxd [phi:bitmap_line::@24->bitmap_line_ydxd] bitmap_line_ydxd_from_b24: - //SEG1350 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@24->bitmap_line_ydxd#0] -- register_copy - //SEG1351 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#1] -- register_copy - //SEG1352 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@24->bitmap_line_ydxd#2] -- register_copy - //SEG1353 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@24->bitmap_line_ydxd#3] -- register_copy - //SEG1354 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#4] -- register_copy + //SEG1348 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@24->bitmap_line_ydxd#0] -- register_copy + //SEG1349 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#1] -- register_copy + //SEG1350 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@24->bitmap_line_ydxd#2] -- register_copy + //SEG1351 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@24->bitmap_line_ydxd#3] -- register_copy + //SEG1352 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1355 bitmap_line::@10 + //SEG1353 bitmap_line::@10 b10: - //SEG1356 [661] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1354 [661] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x - //SEG1357 [662] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - //SEG1358 [663] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 - //SEG1359 [664] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#0 - //SEG1360 [665] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#3 - //SEG1361 [666] call bitmap_line_xdyd - //SEG1362 [718] phi from bitmap_line::@10 to bitmap_line_xdyd [phi:bitmap_line::@10->bitmap_line_xdyd] + //SEG1355 [662] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + //SEG1356 [663] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 + //SEG1357 [664] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#0 + //SEG1358 [665] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#3 + //SEG1359 [666] call bitmap_line_xdyd + //SEG1360 [718] phi from bitmap_line::@10 to bitmap_line_xdyd [phi:bitmap_line::@10->bitmap_line_xdyd] bitmap_line_xdyd_from_b10: - //SEG1363 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@10->bitmap_line_xdyd#0] -- register_copy - //SEG1364 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#1] -- register_copy - //SEG1365 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@10->bitmap_line_xdyd#2] -- register_copy - //SEG1366 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@10->bitmap_line_xdyd#3] -- register_copy - //SEG1367 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#4] -- register_copy + //SEG1361 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@10->bitmap_line_xdyd#0] -- register_copy + //SEG1362 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#1] -- register_copy + //SEG1363 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@10->bitmap_line_xdyd#2] -- register_copy + //SEG1364 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@10->bitmap_line_xdyd#3] -- register_copy + //SEG1365 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1368 bitmap_line::@9 + //SEG1366 bitmap_line::@9 b9: - //SEG1369 [667] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2 + //SEG1367 [667] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2 tya sec sbc y0 sta yd - //SEG1370 [668] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#0) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 + //SEG1368 [668] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#0) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 lda yd cmp xd bcc b13 jmp b27 - //SEG1371 bitmap_line::@27 + //SEG1369 bitmap_line::@27 b27: - //SEG1372 [669] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1370 [669] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y - //SEG1373 [670] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 + //SEG1371 [670] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 ldx x0 - //SEG1374 [671] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1372 [671] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_ydxi.y1 - //SEG1375 [672] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#10 - //SEG1376 [673] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#0 - //SEG1377 [674] call bitmap_line_ydxi - //SEG1378 [703] phi from bitmap_line::@27 to bitmap_line_ydxi [phi:bitmap_line::@27->bitmap_line_ydxi] + //SEG1373 [672] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#10 + //SEG1374 [673] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#0 + //SEG1375 [674] call bitmap_line_ydxi + //SEG1376 [703] phi from bitmap_line::@27 to bitmap_line_ydxi [phi:bitmap_line::@27->bitmap_line_ydxi] bitmap_line_ydxi_from_b27: - //SEG1379 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@27->bitmap_line_ydxi#0] -- register_copy - //SEG1380 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#1] -- register_copy - //SEG1381 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@27->bitmap_line_ydxi#2] -- register_copy - //SEG1382 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@27->bitmap_line_ydxi#3] -- register_copy - //SEG1383 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#4] -- register_copy + //SEG1377 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@27->bitmap_line_ydxi#0] -- register_copy + //SEG1378 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#1] -- register_copy + //SEG1379 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@27->bitmap_line_ydxi#2] -- register_copy + //SEG1380 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@27->bitmap_line_ydxi#3] -- register_copy + //SEG1381 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp breturn - //SEG1384 bitmap_line::@13 + //SEG1382 bitmap_line::@13 b13: - //SEG1385 [675] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1383 [675] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyi.x - //SEG1386 [676] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - //SEG1387 [677] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1384 [676] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + //SEG1385 [677] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyi.x1 - //SEG1388 [678] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#0 - //SEG1389 [679] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#10 - //SEG1390 [680] call bitmap_line_xdyi - //SEG1391 [681] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] + //SEG1386 [678] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#0 + //SEG1387 [679] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#10 + //SEG1388 [680] call bitmap_line_xdyi + //SEG1389 [681] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] bitmap_line_xdyi_from_b13: - //SEG1392 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy - //SEG1393 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy - //SEG1394 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy - //SEG1395 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy - //SEG1396 [681] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy + //SEG1390 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy + //SEG1391 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy + //SEG1392 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy + //SEG1393 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy + //SEG1394 [681] 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 } -//SEG1397 bitmap_line_xdyi +//SEG1395 bitmap_line_xdyi // bitmap_line_xdyi(byte zeropage($e) x, byte zeropage($f) y, byte zeropage(9) x1, byte zeropage(8) xd, byte zeropage(7) yd) bitmap_line_xdyi: { .label x = $e @@ -25253,90 +25238,90 @@ bitmap_line_xdyi: { .label xd = 8 .label yd = 7 .label e = $12 - //SEG1398 [682] (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 + //SEG1396 [682] (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 - //SEG1399 [683] 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 [683] 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: - //SEG1400 [683] 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 - //SEG1401 [683] 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 - //SEG1402 [683] 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 + //SEG1398 [683] 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 + //SEG1399 [683] 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 + //SEG1400 [683] 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 - //SEG1403 bitmap_line_xdyi::@1 + //SEG1401 bitmap_line_xdyi::@1 b1: - //SEG1404 [684] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuxx=vbuz1 + //SEG1402 [684] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuxx=vbuz1 ldx x - //SEG1405 [685] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1 + //SEG1403 [685] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1 ldy y - //SEG1406 [686] call bitmap_plot - //SEG1407 [696] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] + //SEG1404 [686] call bitmap_plot + //SEG1405 [696] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1408 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy - //SEG1409 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy + //SEG1406 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy + //SEG1407 [696] 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 b5 - //SEG1410 bitmap_line_xdyi::@5 + //SEG1408 bitmap_line_xdyi::@5 b5: - //SEG1411 [687] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 + //SEG1409 [687] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1412 [688] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1410 [688] (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 - //SEG1413 [689] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1411 [689] 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_b5 jmp b3 - //SEG1414 bitmap_line_xdyi::@3 + //SEG1412 bitmap_line_xdyi::@3 b3: - //SEG1415 [690] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1413 [690] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1416 [691] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1414 [691] (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 - //SEG1417 [692] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@5 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2] + //SEG1415 [692] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@5 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2] b2_from_b3: b2_from_b5: - //SEG1418 [692] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#0] -- register_copy - //SEG1419 [692] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#1] -- register_copy + //SEG1416 [692] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#0] -- register_copy + //SEG1417 [692] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#1] -- register_copy jmp b2 - //SEG1420 bitmap_line_xdyi::@2 + //SEG1418 bitmap_line_xdyi::@2 b2: - //SEG1421 [693] (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 + //SEG1419 [693] (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 - //SEG1422 [694] 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 + //SEG1420 [694] 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 - //SEG1423 bitmap_line_xdyi::@return + //SEG1421 bitmap_line_xdyi::@return breturn: - //SEG1424 [695] return + //SEG1422 [695] return rts } -//SEG1425 bitmap_plot +//SEG1423 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 - //SEG1426 [697] (word) bitmap_plot::plotter_x#0 ← *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[256]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx + //SEG1424 [697] (word) bitmap_plot::plotter_x#0 ← *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[256]) 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 - //SEG1427 [698] (word) bitmap_plot::plotter_y#0 ← *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[256]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + //SEG1425 [698] (word) bitmap_plot::plotter_y#0 ← *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[256]) 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 - //SEG1428 [699] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 + //SEG1426 [699] (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 @@ -25344,20 +25329,20 @@ bitmap_plot: { lda _0+1 adc plotter_y+1 sta _0+1 - //SEG1429 [700] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[256]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx + //SEG1427 [700] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[256]) 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 - //SEG1430 [701] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa + //SEG1428 [701] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa ldy #0 sta (_0),y jmp breturn - //SEG1431 bitmap_plot::@return + //SEG1429 bitmap_plot::@return breturn: - //SEG1432 [702] return + //SEG1430 [702] return rts } -//SEG1433 bitmap_line_ydxi +//SEG1431 bitmap_line_ydxi // bitmap_line_ydxi(byte zeropage($e) y, byte register(X) x, byte zeropage($f) y1, byte zeropage(7) yd, byte zeropage(8) xd) bitmap_line_ydxi: { .label y = $e @@ -25365,74 +25350,74 @@ bitmap_line_ydxi: { .label yd = 7 .label xd = 8 .label e = 9 - //SEG1434 [704] (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 + //SEG1432 [704] (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 - //SEG1435 [705] 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 [705] 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: - //SEG1436 [705] 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 - //SEG1437 [705] 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 - //SEG1438 [705] 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 + //SEG1434 [705] 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 + //SEG1435 [705] 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 + //SEG1436 [705] 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 - //SEG1439 bitmap_line_ydxi::@1 + //SEG1437 bitmap_line_ydxi::@1 b1: - //SEG1440 [706] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 - //SEG1441 [707] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1 + //SEG1438 [706] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 + //SEG1439 [707] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1 ldy y - //SEG1442 [708] call bitmap_plot - //SEG1443 [696] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] + //SEG1440 [708] call bitmap_plot + //SEG1441 [696] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1444 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy - //SEG1445 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy + //SEG1442 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy + //SEG1443 [696] 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 b5 - //SEG1446 bitmap_line_ydxi::@5 + //SEG1444 bitmap_line_ydxi::@5 b5: - //SEG1447 [709] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1445 [709] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1448 [710] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1446 [710] (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 - //SEG1449 [711] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1447 [711] 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_b5 jmp b3 - //SEG1450 bitmap_line_ydxi::@3 + //SEG1448 bitmap_line_ydxi::@3 b3: - //SEG1451 [712] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx + //SEG1449 [712] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx inx - //SEG1452 [713] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1450 [713] (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 - //SEG1453 [714] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@5 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2] + //SEG1451 [714] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@5 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2] b2_from_b3: b2_from_b5: - //SEG1454 [714] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#0] -- register_copy - //SEG1455 [714] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#1] -- register_copy + //SEG1452 [714] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#0] -- register_copy + //SEG1453 [714] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#1] -- register_copy jmp b2 - //SEG1456 bitmap_line_ydxi::@2 + //SEG1454 bitmap_line_ydxi::@2 b2: - //SEG1457 [715] (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 + //SEG1455 [715] (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 - //SEG1458 [716] 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 + //SEG1456 [716] 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 - //SEG1459 bitmap_line_ydxi::@return + //SEG1457 bitmap_line_ydxi::@return breturn: - //SEG1460 [717] return + //SEG1458 [717] return rts } -//SEG1461 bitmap_line_xdyd +//SEG1459 bitmap_line_xdyd // bitmap_line_xdyd(byte zeropage($e) x, byte zeropage($f) y, byte zeropage($12) x1, byte zeropage(8) xd, byte zeropage(7) yd) bitmap_line_xdyd: { .label x = $e @@ -25441,74 +25426,74 @@ bitmap_line_xdyd: { .label xd = 8 .label yd = 7 .label e = 9 - //SEG1462 [719] (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 + //SEG1460 [719] (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 - //SEG1463 [720] 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 [720] 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: - //SEG1464 [720] 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 - //SEG1465 [720] 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 - //SEG1466 [720] 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 + //SEG1462 [720] 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 + //SEG1463 [720] 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 + //SEG1464 [720] 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 - //SEG1467 bitmap_line_xdyd::@1 + //SEG1465 bitmap_line_xdyd::@1 b1: - //SEG1468 [721] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuxx=vbuz1 + //SEG1466 [721] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuxx=vbuz1 ldx x - //SEG1469 [722] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1 + //SEG1467 [722] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1 ldy y - //SEG1470 [723] call bitmap_plot - //SEG1471 [696] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] + //SEG1468 [723] call bitmap_plot + //SEG1469 [696] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1472 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy - //SEG1473 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy + //SEG1470 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy + //SEG1471 [696] 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 b5 - //SEG1474 bitmap_line_xdyd::@5 + //SEG1472 bitmap_line_xdyd::@5 b5: - //SEG1475 [724] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 + //SEG1473 [724] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1476 [725] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1474 [725] (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 - //SEG1477 [726] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1475 [726] 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_b5 jmp b3 - //SEG1478 bitmap_line_xdyd::@3 + //SEG1476 bitmap_line_xdyd::@3 b3: - //SEG1479 [727] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 + //SEG1477 [727] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 dec y - //SEG1480 [728] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1478 [728] (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 - //SEG1481 [729] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@5 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2] + //SEG1479 [729] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@5 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2] b2_from_b3: b2_from_b5: - //SEG1482 [729] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#0] -- register_copy - //SEG1483 [729] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#1] -- register_copy + //SEG1480 [729] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#0] -- register_copy + //SEG1481 [729] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#1] -- register_copy jmp b2 - //SEG1484 bitmap_line_xdyd::@2 + //SEG1482 bitmap_line_xdyd::@2 b2: - //SEG1485 [730] (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 + //SEG1483 [730] (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 - //SEG1486 [731] 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 + //SEG1484 [731] 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 - //SEG1487 bitmap_line_xdyd::@return + //SEG1485 bitmap_line_xdyd::@return breturn: - //SEG1488 [732] return + //SEG1486 [732] return rts } -//SEG1489 bitmap_line_ydxd +//SEG1487 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 @@ -25516,231 +25501,231 @@ bitmap_line_ydxd: { .label yd = 7 .label xd = 8 .label e = 9 - //SEG1490 [734] (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 + //SEG1488 [734] (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 - //SEG1491 [735] 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 [735] 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: - //SEG1492 [735] 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 - //SEG1493 [735] 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 - //SEG1494 [735] 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 + //SEG1490 [735] 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 + //SEG1491 [735] 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 + //SEG1492 [735] 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 - //SEG1495 bitmap_line_ydxd::@1 + //SEG1493 bitmap_line_ydxd::@1 b1: - //SEG1496 [736] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 - //SEG1497 [737] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1 + //SEG1494 [736] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 + //SEG1495 [737] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1 ldy y - //SEG1498 [738] call bitmap_plot - //SEG1499 [696] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] + //SEG1496 [738] call bitmap_plot + //SEG1497 [696] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] bitmap_plot_from_b1: - //SEG1500 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy - //SEG1501 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy + //SEG1498 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy + //SEG1499 [696] 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 b5 - //SEG1502 bitmap_line_ydxd::@5 + //SEG1500 bitmap_line_ydxd::@5 b5: - //SEG1503 [739] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 + //SEG1501 [739] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG1504 [740] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1502 [740] (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 - //SEG1505 [741] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1503 [741] 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_b5 jmp b3 - //SEG1506 bitmap_line_ydxd::@3 + //SEG1504 bitmap_line_ydxd::@3 b3: - //SEG1507 [742] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx + //SEG1505 [742] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx dex - //SEG1508 [743] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1506 [743] (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 - //SEG1509 [744] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@5 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2] + //SEG1507 [744] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@5 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2] b2_from_b3: b2_from_b5: - //SEG1510 [744] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#0] -- register_copy - //SEG1511 [744] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#1] -- register_copy + //SEG1508 [744] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#0] -- register_copy + //SEG1509 [744] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#1] -- register_copy jmp b2 - //SEG1512 bitmap_line_ydxd::@2 + //SEG1510 bitmap_line_ydxd::@2 b2: - //SEG1513 [745] (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 + //SEG1511 [745] (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 - //SEG1514 [746] 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 + //SEG1512 [746] 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 - //SEG1515 bitmap_line_ydxd::@return + //SEG1513 bitmap_line_ydxd::@return breturn: - //SEG1516 [747] return + //SEG1514 [747] return rts } -//SEG1517 bitmap_clear +//SEG1515 bitmap_clear // Clear all graphics on the bitmap bitmap_clear: { .label bitmap = 3 .label y = 2 .label _3 = 3 - //SEG1518 [748] (word~) bitmap_clear::$3 ← *((const byte[256]) bitmap_plot_xhi#0) w= *((const byte[256]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG1516 [748] (word~) bitmap_clear::$3 ← *((const byte[256]) bitmap_plot_xhi#0) w= *((const byte[256]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda bitmap_plot_xlo sta _3 lda bitmap_plot_xhi sta _3+1 - //SEG1519 [749] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 - //SEG1520 [750] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] + //SEG1517 [749] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 + //SEG1518 [750] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] b1_from_bitmap_clear: - //SEG1521 [750] 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 + //SEG1519 [750] 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 - //SEG1522 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy + //SEG1520 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy jmp b1 - //SEG1523 [750] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] + //SEG1521 [750] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] b1_from_b3: - //SEG1524 [750] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy - //SEG1525 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy + //SEG1522 [750] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy + //SEG1523 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy jmp b1 - //SEG1526 bitmap_clear::@1 + //SEG1524 bitmap_clear::@1 b1: - //SEG1527 [751] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] + //SEG1525 [751] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] b2_from_b1: - //SEG1528 [751] 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 + //SEG1526 [751] 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 - //SEG1529 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy + //SEG1527 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy jmp b2 - //SEG1530 [751] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] + //SEG1528 [751] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] b2_from_b2: - //SEG1531 [751] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy - //SEG1532 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy + //SEG1529 [751] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy + //SEG1530 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy jmp b2 - //SEG1533 bitmap_clear::@2 + //SEG1531 bitmap_clear::@2 b2: - //SEG1534 [752] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1532 [752] *((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 - //SEG1535 [753] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 + //SEG1533 [753] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 inc bitmap bne !+ inc bitmap+1 !: - //SEG1536 [754] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx + //SEG1534 [754] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx inx - //SEG1537 [755] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) 200) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1535 [755] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) 200) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$c8 bne b2_from_b2 jmp b3 - //SEG1538 bitmap_clear::@3 + //SEG1536 bitmap_clear::@3 b3: - //SEG1539 [756] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 + //SEG1537 [756] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 inc y - //SEG1540 [757] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1538 [757] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 lda y cmp #$28 bne b1_from_b3 jmp breturn - //SEG1541 bitmap_clear::@return + //SEG1539 bitmap_clear::@return breturn: - //SEG1542 [758] return + //SEG1540 [758] return rts } -//SEG1543 bitmap_init +//SEG1541 bitmap_init // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { .label _6 = 2 .label yoffs = 3 - //SEG1544 [760] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] + //SEG1542 [760] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] b1_from_bitmap_init: - //SEG1545 [760] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 + //SEG1543 [760] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 ldy #$80 - //SEG1546 [760] 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 + //SEG1544 [760] 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 - //SEG1547 [760] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] + //SEG1545 [760] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] b1_from_b2: - //SEG1548 [760] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy - //SEG1549 [760] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy + //SEG1546 [760] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy + //SEG1547 [760] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy jmp b1 - //SEG1550 bitmap_init::@1 + //SEG1548 bitmap_init::@1 b1: - //SEG1551 [761] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) 248 -- vbuaa=vbuxx_band_vbuc1 + //SEG1549 [761] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) 248 -- vbuaa=vbuxx_band_vbuc1 txa and #$f8 - //SEG1552 [762] *((const byte[256]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1550 [762] *((const byte[256]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_xlo,x - //SEG1553 [763] *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG1551 [763] *((const byte[256]) 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 - //SEG1554 [764] *((const byte[256]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy + //SEG1552 [764] *((const byte[256]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy tya sta bitmap_plot_bit,x - //SEG1555 [765] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuyy_ror_1 + //SEG1553 [765] (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 - //SEG1556 [766] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@10 -- vbuyy_neq_0_then_la1 + //SEG1554 [766] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@10 -- vbuyy_neq_0_then_la1 cpy #0 bne b10_from_b1 - //SEG1557 [767] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] + //SEG1555 [767] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] b2_from_b1: - //SEG1558 [767] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 + //SEG1556 [767] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 ldy #$80 jmp b2 - //SEG1559 bitmap_init::@2 + //SEG1557 bitmap_init::@2 b2: - //SEG1560 [768] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx + //SEG1558 [768] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx inx - //SEG1561 [769] 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 + //SEG1559 [769] 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 - //SEG1562 [770] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] + //SEG1560 [770] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] b3_from_b2: - //SEG1563 [770] 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 + //SEG1561 [770] 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 - //SEG1564 [770] 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 + //SEG1562 [770] 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 - //SEG1565 [770] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] + //SEG1563 [770] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] b3_from_b4: - //SEG1566 [770] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy - //SEG1567 [770] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy + //SEG1564 [770] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy + //SEG1565 [770] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy jmp b3 - //SEG1568 bitmap_init::@3 + //SEG1566 bitmap_init::@3 b3: - //SEG1569 [771] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1 + //SEG1567 [771] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1 txa and #7 sta _6 - //SEG1570 [772] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 + //SEG1568 [772] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 lda yoffs - //SEG1571 [773] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa + //SEG1569 [773] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa ora _6 - //SEG1572 [774] *((const byte[256]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1570 [774] *((const byte[256]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_ylo,x - //SEG1573 [775] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 + //SEG1571 [775] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 lda yoffs+1 - //SEG1574 [776] *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1572 [776] *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_yhi,x - //SEG1575 [777] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuxx_band_vbuc1 + //SEG1573 [777] (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 - //SEG1576 [778] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuaa_neq_vbuc1_then_la1 + //SEG1574 [778] 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 b7 - //SEG1577 bitmap_init::@7 + //SEG1575 bitmap_init::@7 b7: - //SEG1578 [779] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 + //SEG1576 [779] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 clc lda yoffs adc #<$28*8 @@ -25748,515 +25733,515 @@ bitmap_init: { lda yoffs+1 adc #>$28*8 sta yoffs+1 - //SEG1579 [780] phi from bitmap_init::@3 bitmap_init::@7 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4] + //SEG1577 [780] phi from bitmap_init::@3 bitmap_init::@7 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4] b4_from_b3: b4_from_b7: - //SEG1580 [780] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4#0] -- register_copy + //SEG1578 [780] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4#0] -- register_copy jmp b4 - //SEG1581 bitmap_init::@4 + //SEG1579 bitmap_init::@4 b4: - //SEG1582 [781] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx + //SEG1580 [781] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx inx - //SEG1583 [782] 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 + //SEG1581 [782] 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 - //SEG1584 bitmap_init::@return + //SEG1582 bitmap_init::@return breturn: - //SEG1585 [783] return + //SEG1583 [783] return rts - //SEG1586 [784] phi from bitmap_init::@1 to bitmap_init::@10 [phi:bitmap_init::@1->bitmap_init::@10] + //SEG1584 [784] phi from bitmap_init::@1 to bitmap_init::@10 [phi:bitmap_init::@1->bitmap_init::@10] b10_from_b1: jmp b10 - //SEG1587 bitmap_init::@10 + //SEG1585 bitmap_init::@10 b10: - //SEG1588 [767] phi from bitmap_init::@10 to bitmap_init::@2 [phi:bitmap_init::@10->bitmap_init::@2] + //SEG1586 [767] phi from bitmap_init::@10 to bitmap_init::@2 [phi:bitmap_init::@10->bitmap_init::@2] b2_from_b10: - //SEG1589 [767] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@10->bitmap_init::@2#0] -- register_copy + //SEG1587 [767] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@10->bitmap_init::@2#0] -- register_copy jmp b2 } -//SEG1590 gfx_init_charset +//SEG1588 gfx_init_charset gfx_init_charset: { .label charset = 5 .label chargen = 3 .label c = 2 - //SEG1591 [785] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 -- _deref_pbuc1=vbuc2 + //SEG1589 [785] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - //SEG1592 [786] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] + //SEG1590 [786] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] b1_from_gfx_init_charset: - //SEG1593 [786] 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 + //SEG1591 [786] 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 - //SEG1594 [786] phi (byte*) gfx_init_charset::charset#3 = (const byte*) VIC_CHARSET_ROM#0 [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 + //SEG1592 [786] 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 - //SEG1595 [786] phi (byte*) gfx_init_charset::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 + //SEG1593 [786] 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 - //SEG1596 [786] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] + //SEG1594 [786] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] b1_from_b3: - //SEG1597 [786] 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 - //SEG1598 [786] 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 - //SEG1599 [786] 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 + //SEG1595 [786] 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 + //SEG1596 [786] 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 + //SEG1597 [786] 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 - //SEG1600 gfx_init_charset::@1 + //SEG1598 gfx_init_charset::@1 b1: - //SEG1601 [787] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] + //SEG1599 [787] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] b2_from_b1: - //SEG1602 [787] 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 + //SEG1600 [787] 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 - //SEG1603 [787] 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 - //SEG1604 [787] 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 + //SEG1601 [787] 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 + //SEG1602 [787] 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 - //SEG1605 [787] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] + //SEG1603 [787] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] b2_from_b2: - //SEG1606 [787] 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 - //SEG1607 [787] 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 - //SEG1608 [787] 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 + //SEG1604 [787] 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 + //SEG1605 [787] 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 + //SEG1606 [787] 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 - //SEG1609 gfx_init_charset::@2 + //SEG1607 gfx_init_charset::@2 b2: - //SEG1610 [788] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 + //SEG1608 [788] *((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 - //SEG1611 [789] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 + //SEG1609 [789] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 inc charset bne !+ inc charset+1 !: - //SEG1612 [790] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1610 [790] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1613 [791] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx + //SEG1611 [791] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx inx - //SEG1614 [792] 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 + //SEG1612 [792] 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 - //SEG1615 gfx_init_charset::@3 + //SEG1613 gfx_init_charset::@3 b3: - //SEG1616 [793] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 + //SEG1614 [793] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 inc c - //SEG1617 [794] 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 + //SEG1615 [794] 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 - //SEG1618 gfx_init_charset::@4 + //SEG1616 gfx_init_charset::@4 b4: - //SEG1619 [795] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 -- _deref_pbuc1=vbuc2 + //SEG1617 [795] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT jmp breturn - //SEG1620 gfx_init_charset::@return + //SEG1618 gfx_init_charset::@return breturn: - //SEG1621 [796] return + //SEG1619 [796] return rts } -//SEG1622 gfx_init_screen4 +//SEG1620 gfx_init_screen4 // Initialize VIC screen 4 - all chars are 00 gfx_init_screen4: { .label ch = 3 .label cy = 2 - //SEG1623 [798] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] + //SEG1621 [798] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] b1_from_gfx_init_screen4: - //SEG1624 [798] 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 + //SEG1622 [798] 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 - //SEG1625 [798] phi (byte*) gfx_init_screen4::ch#3 = (const byte*) VIC_SCREEN4#0 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 + //SEG1623 [798] 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 - //SEG1626 [798] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] + //SEG1624 [798] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] b1_from_b3: - //SEG1627 [798] 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 - //SEG1628 [798] 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 + //SEG1625 [798] 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 + //SEG1626 [798] 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 - //SEG1629 gfx_init_screen4::@1 + //SEG1627 gfx_init_screen4::@1 b1: - //SEG1630 [799] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] + //SEG1628 [799] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] b2_from_b1: - //SEG1631 [799] 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 + //SEG1629 [799] 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 - //SEG1632 [799] 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 [799] 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 - //SEG1633 [799] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] + //SEG1631 [799] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] b2_from_b2: - //SEG1634 [799] 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 - //SEG1635 [799] 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 + //SEG1632 [799] 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 + //SEG1633 [799] 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 - //SEG1636 gfx_init_screen4::@2 + //SEG1634 gfx_init_screen4::@2 b2: - //SEG1637 [800] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1635 [800] *((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 - //SEG1638 [801] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1636 [801] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1639 [802] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx + //SEG1637 [802] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1640 [803] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1638 [803] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1641 gfx_init_screen4::@3 + //SEG1639 gfx_init_screen4::@3 b3: - //SEG1642 [804] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1640 [804] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1643 [805] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1641 [805] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1644 gfx_init_screen4::@return + //SEG1642 gfx_init_screen4::@return breturn: - //SEG1645 [806] return + //SEG1643 [806] return rts } -//SEG1646 gfx_init_screen3 +//SEG1644 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 - //SEG1647 [808] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] + //SEG1645 [808] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] b1_from_gfx_init_screen3: - //SEG1648 [808] phi (byte*) gfx_init_screen3::ch#3 = (const byte*) VIC_SCREEN3#0 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 + //SEG1646 [808] 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 - //SEG1649 [808] 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 + //SEG1647 [808] 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 - //SEG1650 [808] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] + //SEG1648 [808] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] b1_from_b3: - //SEG1651 [808] 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 - //SEG1652 [808] 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 + //SEG1649 [808] 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 + //SEG1650 [808] 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 - //SEG1653 gfx_init_screen3::@1 + //SEG1651 gfx_init_screen3::@1 b1: - //SEG1654 [809] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] + //SEG1652 [809] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] b2_from_b1: - //SEG1655 [809] 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 - //SEG1656 [809] 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 + //SEG1653 [809] 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 + //SEG1654 [809] 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 - //SEG1657 [809] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] + //SEG1655 [809] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] b2_from_b2: - //SEG1658 [809] 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 - //SEG1659 [809] 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 + //SEG1656 [809] 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 + //SEG1657 [809] 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 - //SEG1660 gfx_init_screen3::@2 + //SEG1658 gfx_init_screen3::@2 b2: - //SEG1661 [810] (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 + //SEG1659 [810] (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 - //SEG1662 [811] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 + //SEG1660 [811] (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 - //SEG1663 [812] (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 + //SEG1661 [812] (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 - //SEG1664 [813] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa + //SEG1662 [813] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG1665 [814] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa + //SEG1663 [814] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1666 [815] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1664 [815] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1667 [816] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx + //SEG1665 [816] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1668 [817] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1666 [817] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1669 gfx_init_screen3::@3 + //SEG1667 gfx_init_screen3::@3 b3: - //SEG1670 [818] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1668 [818] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1671 [819] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1669 [819] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1672 gfx_init_screen3::@return + //SEG1670 gfx_init_screen3::@return breturn: - //SEG1673 [820] return + //SEG1671 [820] return rts } -//SEG1674 gfx_init_screen2 +//SEG1672 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 - //SEG1675 [822] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] + //SEG1673 [822] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] b1_from_gfx_init_screen2: - //SEG1676 [822] phi (byte*) gfx_init_screen2::ch#3 = (const byte*) VIC_SCREEN2#0 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 + //SEG1674 [822] 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 - //SEG1677 [822] 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 + //SEG1675 [822] 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 - //SEG1678 [822] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] + //SEG1676 [822] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] b1_from_b3: - //SEG1679 [822] 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 - //SEG1680 [822] 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 + //SEG1677 [822] 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 + //SEG1678 [822] 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 - //SEG1681 gfx_init_screen2::@1 + //SEG1679 gfx_init_screen2::@1 b1: - //SEG1682 [823] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] + //SEG1680 [823] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] b2_from_b1: - //SEG1683 [823] 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 - //SEG1684 [823] 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 + //SEG1681 [823] 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 + //SEG1682 [823] 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 - //SEG1685 [823] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] + //SEG1683 [823] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] b2_from_b2: - //SEG1686 [823] 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 - //SEG1687 [823] 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 + //SEG1684 [823] 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 + //SEG1685 [823] 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 - //SEG1688 gfx_init_screen2::@2 + //SEG1686 gfx_init_screen2::@2 b2: - //SEG1689 [824] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + //SEG1687 [824] (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 - //SEG1690 [825] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuyy=vbuaa_band_vbuc1 + //SEG1688 [825] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuyy=vbuaa_band_vbuc1 and #$f tay - //SEG1691 [826] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) 15 - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy + //SEG1689 [826] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) 15 - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy tya eor #$ff clc adc #$f+1 sta col2 - //SEG1692 [827] (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 + //SEG1690 [827] (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 - //SEG1693 [828] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 + //SEG1691 [828] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 ora col2 - //SEG1694 [829] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa + //SEG1692 [829] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1695 [830] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1693 [830] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1696 [831] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx + //SEG1694 [831] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1697 [832] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1695 [832] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1698 gfx_init_screen2::@3 + //SEG1696 gfx_init_screen2::@3 b3: - //SEG1699 [833] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1697 [833] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1700 [834] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1698 [834] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1701 gfx_init_screen2::@return + //SEG1699 gfx_init_screen2::@return breturn: - //SEG1702 [835] return + //SEG1700 [835] return rts } -//SEG1703 gfx_init_screen1 +//SEG1701 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 - //SEG1704 [837] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] + //SEG1702 [837] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] b1_from_gfx_init_screen1: - //SEG1705 [837] phi (byte*) gfx_init_screen1::ch#3 = (const byte*) VIC_SCREEN1#0 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 + //SEG1703 [837] 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 - //SEG1706 [837] 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 + //SEG1704 [837] 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 - //SEG1707 [837] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] + //SEG1705 [837] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] b1_from_b3: - //SEG1708 [837] 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 - //SEG1709 [837] 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 + //SEG1706 [837] 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 + //SEG1707 [837] 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 - //SEG1710 gfx_init_screen1::@1 + //SEG1708 gfx_init_screen1::@1 b1: - //SEG1711 [838] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] + //SEG1709 [838] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] b2_from_b1: - //SEG1712 [838] 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 - //SEG1713 [838] 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 + //SEG1710 [838] 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 + //SEG1711 [838] 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 - //SEG1714 [838] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] + //SEG1712 [838] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] b2_from_b2: - //SEG1715 [838] 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 - //SEG1716 [838] 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 + //SEG1713 [838] 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 + //SEG1714 [838] 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 - //SEG1717 gfx_init_screen1::@2 + //SEG1715 gfx_init_screen1::@2 b2: - //SEG1718 [839] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + //SEG1716 [839] (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 - //SEG1719 [840] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuaa_band_vbuc1 + //SEG1717 [840] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuaa_band_vbuc1 and #$f - //SEG1720 [841] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa + //SEG1718 [841] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1721 [842] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1719 [842] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1722 [843] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx + //SEG1720 [843] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1723 [844] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1721 [844] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1724 gfx_init_screen1::@3 + //SEG1722 gfx_init_screen1::@3 b3: - //SEG1725 [845] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1723 [845] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1726 [846] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1724 [846] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1727 gfx_init_screen1::@return + //SEG1725 gfx_init_screen1::@return breturn: - //SEG1728 [847] return + //SEG1726 [847] return rts } -//SEG1729 gfx_init_screen0 +//SEG1727 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 - //SEG1730 [849] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] + //SEG1728 [849] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] b1_from_gfx_init_screen0: - //SEG1731 [849] phi (byte*) gfx_init_screen0::ch#3 = (const byte*) VIC_SCREEN0#0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 + //SEG1729 [849] 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 - //SEG1732 [849] 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 + //SEG1730 [849] 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 - //SEG1733 [849] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] + //SEG1731 [849] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] b1_from_b3: - //SEG1734 [849] 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 - //SEG1735 [849] 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 + //SEG1732 [849] 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 + //SEG1733 [849] 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 - //SEG1736 gfx_init_screen0::@1 + //SEG1734 gfx_init_screen0::@1 b1: - //SEG1737 [850] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] + //SEG1735 [850] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] b2_from_b1: - //SEG1738 [850] 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 - //SEG1739 [850] 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 + //SEG1736 [850] 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 + //SEG1737 [850] 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 - //SEG1740 [850] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] + //SEG1738 [850] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] b2_from_b2: - //SEG1741 [850] 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 - //SEG1742 [850] 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 + //SEG1739 [850] 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 + //SEG1740 [850] 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 - //SEG1743 gfx_init_screen0::@2 + //SEG1741 gfx_init_screen0::@2 b2: - //SEG1744 [851] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuz1_band_vbuc1 + //SEG1742 [851] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuz1_band_vbuc1 lda #$f and cy - //SEG1745 [852] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 + //SEG1743 [852] (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 - //SEG1746 [853] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuxx_band_vbuc1 + //SEG1744 [853] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG1747 [854] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa + //SEG1745 [854] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG1748 [855] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa + //SEG1746 [855] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1749 [856] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1747 [856] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1750 [857] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx + //SEG1748 [857] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1751 [858] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1749 [858] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2_from_b2 jmp b3 - //SEG1752 gfx_init_screen0::@3 + //SEG1750 gfx_init_screen0::@3 b3: - //SEG1753 [859] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1751 [859] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1754 [860] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1752 [860] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1_from_b3 jmp breturn - //SEG1755 gfx_init_screen0::@return + //SEG1753 gfx_init_screen0::@return breturn: - //SEG1756 [861] return + //SEG1754 [861] return rts } -//SEG1757 keyboard_init +//SEG1755 keyboard_init // Initialize keyboard reading by setting CIA#$ Data Direction Registers keyboard_init: { - //SEG1758 [862] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuc1=vbuc2 + //SEG1756 [862] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Write Mode lda #$ff sta CIA1_PORT_A_DDR - //SEG1759 [863] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + //SEG1757 [863] *((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 - //SEG1760 keyboard_init::@return + //SEG1758 keyboard_init::@return breturn: - //SEG1761 [864] return + //SEG1759 [864] return rts } // Default vallues for the palette @@ -26675,6 +26660,7 @@ Replacing label b27_from_b40 with b27 Replacing label b1_from_b1 with b1 Replacing label b2 with b5 Replacing label b2_from_b8 with b5 +Replacing label b22_from_render_preset_name with b33 Replacing label b1_from_b3 with b1 Replacing label b22_from_apply_preset with b34 Replacing label b23_from_b23 with b23 @@ -26817,6 +26803,7 @@ Removing instruction b2_from_b8: Removing instruction b2: Removing instruction b7_from_b5: Removing instruction b33_from_b32: +Removing instruction b22_from_render_preset_name: Removing instruction b22_from_b33: Removing instruction print_str_at_from_b22: Removing instruction b1_from_b3: @@ -27059,7 +27046,6 @@ Removing instruction b29: Removing instruction b30: Removing instruction b31: Removing instruction b32: -Removing instruction b33: Removing instruction breturn: Removing instruction b1_from_print_str_at: Removing instruction breturn: @@ -27275,17 +27261,16 @@ Relabelling long label breturn_from_b37 to b11 Relabelling long label breturn_from_b38 to b12 Relabelling long label breturn_from_b39 to b13 Relabelling long label b2_from_b32 to b2 -Relabelling long label b22_from_render_preset_name to b1 -Relabelling long label b22_from_b23 to b2 -Relabelling long label b22_from_b24 to b3 -Relabelling long label b22_from_b25 to b4 -Relabelling long label b22_from_b26 to b5 -Relabelling long label b22_from_b27 to b6 -Relabelling long label b22_from_b28 to b7 -Relabelling long label b22_from_b29 to b8 -Relabelling long label b22_from_b30 to b9 -Relabelling long label b22_from_b31 to b10 -Relabelling long label b22_from_b32 to b11 +Relabelling long label b22_from_b23 to b1 +Relabelling long label b22_from_b24 to b2 +Relabelling long label b22_from_b25 to b3 +Relabelling long label b22_from_b26 to b4 +Relabelling long label b22_from_b27 to b5 +Relabelling long label b22_from_b28 to b6 +Relabelling long label b22_from_b29 to b7 +Relabelling long label b22_from_b30 to b8 +Relabelling long label b22_from_b31 to b9 +Relabelling long label b22_from_b32 to b10 Relabelling long label b22_from_b24 to b1 Relabelling long label b22_from_b25 to b2 Relabelling long label b22_from_b26 to b3 @@ -27383,7 +27368,7 @@ Fixing long branch [793] beq b11 to bne Fixing long branch [797] beq b12 to bne Fixing long branch [763] beq b3 to bne Fixing long branch [803] beq b13 to bne -Fixing long branch [1355] bmi b2 to bpl +Fixing long branch [1349] bmi b2 to bpl FINAL SYMBOL TABLE (label) @68 @@ -28933,7 +28918,6 @@ FINAL SYMBOL TABLE (const byte*) render_preset_name::name#0 name#0 = (string) "Standard Charset @" (const byte*) render_preset_name::name#1 name#1 = (string) "Extended Color Charset @" (const byte*) render_preset_name::name#10 name#10 = (string) "8bpp Pixel Cell @" -(const byte*) render_preset_name::name#11 name#11 = (string) "Standard Charset @" (byte*) render_preset_name::name#12 name zp ZP_WORD:3 2.0 (const byte*) render_preset_name::name#2 name#2 = (string) "Standard Bitmap @" (const byte*) render_preset_name::name#3 name#3 = (string) "Multicolor Bitmap @" @@ -29090,7 +29074,7 @@ reg byte a [ gfx_init_screen0::$3 ] FINAL ASSEMBLER -Score: 11370517 +Score: 11370504 //SEG0 File Comments // Interactive Explorer for C64DTV Screen Modes @@ -30728,151 +30712,144 @@ render_preset_name: { .label name = 3 //SEG582 [307] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto render_preset_name::@22 -- vbuaa_eq_0_then_la1 cmp #0 - beq b1 + beq b33 //SEG583 render_preset_name::@23 //SEG584 [308] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 1) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #1 - beq b2 + beq b1 //SEG585 render_preset_name::@24 //SEG586 [309] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 2) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #2 - beq b3 + beq b2 //SEG587 render_preset_name::@25 //SEG588 [310] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 3) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #3 - beq b4 + beq b3 //SEG589 render_preset_name::@26 //SEG590 [311] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 4) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #4 - beq b5 + beq b4 //SEG591 render_preset_name::@27 //SEG592 [312] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 5) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #5 - beq b6 + beq b5 //SEG593 render_preset_name::@28 //SEG594 [313] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 6) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #6 - beq b7 + beq b6 //SEG595 render_preset_name::@29 //SEG596 [314] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 7) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #7 - beq b8 + beq b7 //SEG597 render_preset_name::@30 //SEG598 [315] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 8) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #8 - beq b9 + beq b8 //SEG599 render_preset_name::@31 //SEG600 [316] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 9) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #9 - beq b10 + beq b9 //SEG601 render_preset_name::@32 //SEG602 [317] if((byte) render_preset_name::idx#10==(byte/signed byte/word/signed word/dword/signed dword) 10) goto render_preset_name::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #$a - beq b11 + beq b10 //SEG603 [318] phi from render_preset_name::@32 to render_preset_name::@33 [phi:render_preset_name::@32->render_preset_name::@33] //SEG604 render_preset_name::@33 - //SEG605 [319] phi from render_preset_name::@33 to render_preset_name::@22 [phi:render_preset_name::@33->render_preset_name::@22] - //SEG606 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#11 [phi:render_preset_name::@33->render_preset_name::@22#0] -- pbuz1=pbuc1 - lda #name_11 - sta name+1 - jmp b22 - //SEG607 [319] phi from render_preset_name to render_preset_name::@22 [phi:render_preset_name->render_preset_name::@22] - b1: - //SEG608 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#0 [phi:render_preset_name->render_preset_name::@22#0] -- pbuz1=pbuc1 + b33: + //SEG605 [319] phi from render_preset_name render_preset_name::@33 to render_preset_name::@22 [phi:render_preset_name/render_preset_name::@33->render_preset_name::@22] + //SEG606 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#0 [phi:render_preset_name/render_preset_name::@33->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_0 sta name+1 jmp b22 - //SEG609 [319] phi from render_preset_name::@23 to render_preset_name::@22 [phi:render_preset_name::@23->render_preset_name::@22] - b2: - //SEG610 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#1 [phi:render_preset_name::@23->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG607 [319] phi from render_preset_name::@23 to render_preset_name::@22 [phi:render_preset_name::@23->render_preset_name::@22] + b1: + //SEG608 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#1 [phi:render_preset_name::@23->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_1 sta name+1 jmp b22 - //SEG611 [319] phi from render_preset_name::@24 to render_preset_name::@22 [phi:render_preset_name::@24->render_preset_name::@22] - b3: - //SEG612 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@24->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG609 [319] phi from render_preset_name::@24 to render_preset_name::@22 [phi:render_preset_name::@24->render_preset_name::@22] + b2: + //SEG610 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@24->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_2 sta name+1 jmp b22 - //SEG613 [319] phi from render_preset_name::@25 to render_preset_name::@22 [phi:render_preset_name::@25->render_preset_name::@22] - b4: - //SEG614 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@25->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG611 [319] phi from render_preset_name::@25 to render_preset_name::@22 [phi:render_preset_name::@25->render_preset_name::@22] + b3: + //SEG612 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@25->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_3 sta name+1 jmp b22 - //SEG615 [319] phi from render_preset_name::@26 to render_preset_name::@22 [phi:render_preset_name::@26->render_preset_name::@22] - b5: - //SEG616 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@26->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG613 [319] phi from render_preset_name::@26 to render_preset_name::@22 [phi:render_preset_name::@26->render_preset_name::@22] + b4: + //SEG614 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@26->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_4 sta name+1 jmp b22 - //SEG617 [319] phi from render_preset_name::@27 to render_preset_name::@22 [phi:render_preset_name::@27->render_preset_name::@22] - b6: - //SEG618 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@27->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG615 [319] phi from render_preset_name::@27 to render_preset_name::@22 [phi:render_preset_name::@27->render_preset_name::@22] + b5: + //SEG616 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@27->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_5 sta name+1 jmp b22 - //SEG619 [319] phi from render_preset_name::@28 to render_preset_name::@22 [phi:render_preset_name::@28->render_preset_name::@22] - b7: - //SEG620 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@28->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG617 [319] phi from render_preset_name::@28 to render_preset_name::@22 [phi:render_preset_name::@28->render_preset_name::@22] + b6: + //SEG618 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@28->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_6 sta name+1 jmp b22 - //SEG621 [319] phi from render_preset_name::@29 to render_preset_name::@22 [phi:render_preset_name::@29->render_preset_name::@22] - b8: - //SEG622 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@29->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG619 [319] phi from render_preset_name::@29 to render_preset_name::@22 [phi:render_preset_name::@29->render_preset_name::@22] + b7: + //SEG620 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@29->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_7 sta name+1 jmp b22 - //SEG623 [319] phi from render_preset_name::@30 to render_preset_name::@22 [phi:render_preset_name::@30->render_preset_name::@22] - b9: - //SEG624 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@30->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG621 [319] phi from render_preset_name::@30 to render_preset_name::@22 [phi:render_preset_name::@30->render_preset_name::@22] + b8: + //SEG622 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@30->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_8 sta name+1 jmp b22 - //SEG625 [319] phi from render_preset_name::@31 to render_preset_name::@22 [phi:render_preset_name::@31->render_preset_name::@22] - b10: - //SEG626 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@31->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG623 [319] phi from render_preset_name::@31 to render_preset_name::@22 [phi:render_preset_name::@31->render_preset_name::@22] + b9: + //SEG624 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@31->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_9 sta name+1 jmp b22 - //SEG627 [319] phi from render_preset_name::@32 to render_preset_name::@22 [phi:render_preset_name::@32->render_preset_name::@22] - b11: - //SEG628 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@32->render_preset_name::@22#0] -- pbuz1=pbuc1 + //SEG625 [319] phi from render_preset_name::@32 to render_preset_name::@22 [phi:render_preset_name::@32->render_preset_name::@22] + b10: + //SEG626 [319] phi (byte*) render_preset_name::name#12 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@32->render_preset_name::@22#0] -- pbuz1=pbuc1 lda #name_10 sta name+1 - //SEG629 render_preset_name::@22 + //SEG627 render_preset_name::@22 b22: - //SEG630 [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#12 - //SEG631 [321] call print_str_at - //SEG632 [323] phi from render_preset_name::@22 to print_str_at [phi:render_preset_name::@22->print_str_at] + //SEG628 [320] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#12 + //SEG629 [321] call print_str_at + //SEG630 [323] phi from render_preset_name::@22 to print_str_at [phi:render_preset_name::@22->print_str_at] jsr print_str_at - //SEG633 render_preset_name::@return - //SEG634 [322] return + //SEG631 render_preset_name::@return + //SEG632 [322] return rts name_0: .text "Standard Charset @" name_1: .text "Extended Color Charset @" @@ -30885,91 +30862,90 @@ render_preset_name: { name_8: .text "Sixs Fred @" name_9: .text "Sixs Fred 2 @" name_10: .text "8bpp Pixel Cell @" - name_11: .text "Standard Charset @" } -//SEG635 print_str_at +//SEG633 print_str_at // Print a string at a specific screen position // print_str_at(byte* zeropage(3) str, byte* zeropage(5) at) print_str_at: { .label at = 5 .label str = 3 - //SEG636 [324] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] - //SEG637 [324] phi (byte*) print_str_at::at#2 = (const byte*) FORM_SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 10 [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 + //SEG634 [324] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] + //SEG635 [324] phi (byte*) print_str_at::at#2 = (const byte*) FORM_SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 10 [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 lda #FORM_SCREEN+$28*2+$a sta at+1 - //SEG638 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy - //SEG639 print_str_at::@1 + //SEG636 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy + //SEG637 print_str_at::@1 b1: - //SEG640 [325] if(*((byte*) print_str_at::str#2)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG638 [325] if(*((byte*) print_str_at::str#2)!=(byte) '@') goto print_str_at::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 - //SEG641 print_str_at::@return - //SEG642 [326] return + //SEG639 print_str_at::@return + //SEG640 [326] return rts - //SEG643 print_str_at::@2 + //SEG641 print_str_at::@2 b2: - //SEG644 [327] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 + //SEG642 [327] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y sta (at),y - //SEG645 [328] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 + //SEG643 [328] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 inc at bne !+ inc at+1 !: - //SEG646 [329] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 + //SEG644 [329] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG647 [324] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] - //SEG648 [324] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy - //SEG649 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy + //SEG645 [324] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] + //SEG646 [324] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy + //SEG647 [324] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy jmp b1 } -//SEG650 form_render_values +//SEG648 form_render_values // Render all form values from the form_fields_val array form_render_values: { .label field = 3 .label idx = 2 - //SEG651 [331] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] - //SEG652 [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 + //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 - //SEG653 [331] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] - //SEG654 [331] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy - //SEG655 form_render_values::@1 + //SEG651 [331] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + //SEG652 [331] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + //SEG653 form_render_values::@1 b1: - //SEG656 [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 - //SEG657 [333] call form_field_ptr - //SEG658 [340] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] - //SEG659 [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 + //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 jsr form_field_ptr - //SEG660 [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 - //SEG661 form_render_values::@3 - //SEG662 [335] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 - //SEG663 [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 + //SEG658 [334] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 + //SEG659 form_render_values::@3 + //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 ldy idx lda form_fields_val,y tay lda print_hextab,y ldy #0 sta (field),y - //SEG664 [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 + //SEG662 [337] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 inc idx - //SEG665 [338] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 -- vbuz1_lt_vbuc1_then_la1 + //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 bcc b1 - //SEG666 form_render_values::@return - //SEG667 [339] return + //SEG664 form_render_values::@return + //SEG665 [339] return rts } -//SEG668 form_field_ptr +//SEG666 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(2) field_idx) @@ -30977,216 +30953,216 @@ form_field_ptr: { .label return = 3 .label field_idx = 2 .label _2 = 3 - //SEG669 [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuz1 + //SEG667 [341] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuz1 ldy field_idx lda form_fields_y,y - //SEG670 [342] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuaa_word_pbuc2_derefidx_vbuaa + //SEG668 [342] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) 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,y sta _2 - //SEG671 [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuz1 + //SEG669 [343] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) -- vbuaa=pbuc1_derefidx_vbuz1 ldy field_idx lda form_fields_x,y - //SEG672 [344] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz1_plus_vbuaa + //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 lda #0 adc return+1 sta return+1 - //SEG673 form_field_ptr::@return - //SEG674 [345] return + //SEG671 form_field_ptr::@return + //SEG672 [345] return rts } -//SEG675 apply_preset +//SEG673 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 - //SEG676 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@22 -- vbuaa_eq_0_then_la1 + //SEG674 [346] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto apply_preset::@22 -- vbuaa_eq_0_then_la1 cmp #0 beq b34 - //SEG677 apply_preset::@24 - //SEG678 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG675 apply_preset::@24 + //SEG676 [347] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 1) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq b1 - //SEG679 apply_preset::@25 - //SEG680 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG677 apply_preset::@25 + //SEG678 [348] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 2) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq b2 - //SEG681 apply_preset::@26 - //SEG682 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG679 apply_preset::@26 + //SEG680 [349] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 3) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq b3 - //SEG683 apply_preset::@27 - //SEG684 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG681 apply_preset::@27 + //SEG682 [350] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 4) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #4 beq b4 - //SEG685 apply_preset::@28 - //SEG686 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG683 apply_preset::@28 + //SEG684 [351] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 5) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #5 beq b5 - //SEG687 apply_preset::@29 - //SEG688 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG685 apply_preset::@29 + //SEG686 [352] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 6) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #6 beq b6 - //SEG689 apply_preset::@30 - //SEG690 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG687 apply_preset::@30 + //SEG688 [353] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 7) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #7 beq b7 - //SEG691 apply_preset::@31 - //SEG692 [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG689 apply_preset::@31 + //SEG690 [354] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 8) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #8 beq b8 - //SEG693 apply_preset::@32 - //SEG694 [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG691 apply_preset::@32 + //SEG692 [355] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 9) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq b9 - //SEG695 apply_preset::@33 - //SEG696 [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 10) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 + //SEG693 apply_preset::@33 + //SEG694 [356] if((byte) apply_preset::idx#0==(byte/signed byte/word/signed word/dword/signed dword) 10) goto apply_preset::@22 -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq b10 - //SEG697 [357] phi from apply_preset::@33 to apply_preset::@34 [phi:apply_preset::@33->apply_preset::@34] - //SEG698 apply_preset::@34 + //SEG695 [357] phi from apply_preset::@33 to apply_preset::@34 [phi:apply_preset::@33->apply_preset::@34] + //SEG696 apply_preset::@34 b34: - //SEG699 [358] phi from apply_preset apply_preset::@34 to apply_preset::@22 [phi:apply_preset/apply_preset::@34->apply_preset::@22] - //SEG700 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@34->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG697 [358] phi from apply_preset apply_preset::@34 to apply_preset::@22 [phi:apply_preset/apply_preset::@34->apply_preset::@22] + //SEG698 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdchar#0 [phi:apply_preset/apply_preset::@34->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_stdchar sta preset+1 jmp b22 - //SEG701 [358] phi from apply_preset::@24 to apply_preset::@22 [phi:apply_preset::@24->apply_preset::@22] + //SEG699 [358] phi from apply_preset::@24 to apply_preset::@22 [phi:apply_preset::@24->apply_preset::@22] b1: - //SEG702 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@24->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG700 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_ecmchar#0 [phi:apply_preset::@24->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_ecmchar sta preset+1 jmp b22 - //SEG703 [358] phi from apply_preset::@25 to apply_preset::@22 [phi:apply_preset::@25->apply_preset::@22] + //SEG701 [358] phi from apply_preset::@25 to apply_preset::@22 [phi:apply_preset::@25->apply_preset::@22] b2: - //SEG704 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@25->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG702 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_stdbm#0 [phi:apply_preset::@25->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_stdbm sta preset+1 jmp b22 - //SEG705 [358] phi from apply_preset::@26 to apply_preset::@22 [phi:apply_preset::@26->apply_preset::@22] + //SEG703 [358] phi from apply_preset::@26 to apply_preset::@22 [phi:apply_preset::@26->apply_preset::@22] b3: - //SEG706 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@26->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG704 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_mcbm#0 [phi:apply_preset::@26->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_mcbm sta preset+1 jmp b22 - //SEG707 [358] phi from apply_preset::@27 to apply_preset::@22 [phi:apply_preset::@27->apply_preset::@22] + //SEG705 [358] phi from apply_preset::@27 to apply_preset::@22 [phi:apply_preset::@27->apply_preset::@22] b4: - //SEG708 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@27->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG706 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_stdchar#0 [phi:apply_preset::@27->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_hi_stdchar sta preset+1 jmp b22 - //SEG709 [358] phi from apply_preset::@28 to apply_preset::@22 [phi:apply_preset::@28->apply_preset::@22] + //SEG707 [358] phi from apply_preset::@28 to apply_preset::@22 [phi:apply_preset::@28->apply_preset::@22] b5: - //SEG710 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@28->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG708 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_hi_ecmchar#0 [phi:apply_preset::@28->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_hi_ecmchar sta preset+1 jmp b22 - //SEG711 [358] phi from apply_preset::@29 to apply_preset::@22 [phi:apply_preset::@29->apply_preset::@22] + //SEG709 [358] phi from apply_preset::@29 to apply_preset::@22 [phi:apply_preset::@29->apply_preset::@22] b6: - //SEG712 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@29->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG710 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_twoplane#0 [phi:apply_preset::@29->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_twoplane sta preset+1 jmp b22 - //SEG713 [358] phi from apply_preset::@30 to apply_preset::@22 [phi:apply_preset::@30->apply_preset::@22] + //SEG711 [358] phi from apply_preset::@30 to apply_preset::@22 [phi:apply_preset::@30->apply_preset::@22] b7: - //SEG714 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_chunky#0 [phi:apply_preset::@30->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG712 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_chunky#0 [phi:apply_preset::@30->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_chunky sta preset+1 jmp b22 - //SEG715 [358] phi from apply_preset::@31 to apply_preset::@22 [phi:apply_preset::@31->apply_preset::@22] + //SEG713 [358] phi from apply_preset::@31 to apply_preset::@22 [phi:apply_preset::@31->apply_preset::@22] b8: - //SEG716 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@31->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG714 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred#0 [phi:apply_preset::@31->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_sixsfred sta preset+1 jmp b22 - //SEG717 [358] phi from apply_preset::@32 to apply_preset::@22 [phi:apply_preset::@32->apply_preset::@22] + //SEG715 [358] phi from apply_preset::@32 to apply_preset::@22 [phi:apply_preset::@32->apply_preset::@22] b9: - //SEG718 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@32->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG716 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_sixsfred2#0 [phi:apply_preset::@32->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_sixsfred2 sta preset+1 jmp b22 - //SEG719 [358] phi from apply_preset::@33 to apply_preset::@22 [phi:apply_preset::@33->apply_preset::@22] + //SEG717 [358] phi from apply_preset::@33 to apply_preset::@22 [phi:apply_preset::@33->apply_preset::@22] b10: - //SEG720 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@33->apply_preset::@22#0] -- pbuz1=pbuc1 + //SEG718 [358] phi (byte*) apply_preset::preset#13 = (const byte[]) preset_8bpppixelcell#0 [phi:apply_preset::@33->apply_preset::@22#0] -- pbuz1=pbuc1 lda #preset_8bpppixelcell sta preset+1 - //SEG721 apply_preset::@22 + //SEG719 apply_preset::@22 b22: - //SEG722 [359] phi from apply_preset::@22 to apply_preset::@23 [phi:apply_preset::@22->apply_preset::@23] - //SEG723 [359] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@22->apply_preset::@23#0] -- vbuyy=vbuc1 + //SEG720 [359] phi from apply_preset::@22 to apply_preset::@23 [phi:apply_preset::@22->apply_preset::@23] + //SEG721 [359] phi (byte) apply_preset::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:apply_preset::@22->apply_preset::@23#0] -- vbuyy=vbuc1 ldy #0 // Copy preset values into the fields - //SEG724 [359] phi from apply_preset::@23 to apply_preset::@23 [phi:apply_preset::@23->apply_preset::@23] - //SEG725 [359] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@23->apply_preset::@23#0] -- register_copy - //SEG726 apply_preset::@23 + //SEG722 [359] phi from apply_preset::@23 to apply_preset::@23 [phi:apply_preset::@23->apply_preset::@23] + //SEG723 [359] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@23->apply_preset::@23#0] -- register_copy + //SEG724 apply_preset::@23 b23: - //SEG727 [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#13 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy + //SEG725 [360] *((const byte[]) form_fields_val#0 + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#13 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy lda (preset),y sta form_fields_val,y - //SEG728 [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy + //SEG726 [361] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy iny - //SEG729 [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@23 -- vbuyy_neq_vbuc1_then_la1 + //SEG727 [362] if((byte) apply_preset::i#1!=(const byte) form_fields_cnt#0) goto apply_preset::@23 -- vbuyy_neq_vbuc1_then_la1 cpy #form_fields_cnt bne b23 - //SEG730 apply_preset::@return - //SEG731 [363] return + //SEG728 apply_preset::@return + //SEG729 [363] return rts } -//SEG732 form_control +//SEG730 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 - //SEG733 [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuz1=vbuxx + //SEG731 [364] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 -- vbuz1=vbuxx stx form_field_ptr.field_idx - //SEG734 [365] call form_field_ptr - //SEG735 [340] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] - //SEG736 [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 + //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 jsr form_field_ptr - //SEG737 [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 - //SEG738 form_control::@33 - //SEG739 [367] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 - //SEG740 [368] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 -- vbsz1=_dec_vbsz1 + //SEG735 [366] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 + //SEG736 form_control::@33 + //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 dec form_cursor_count - //SEG741 [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@36 -- vbsz1_ge_0_then_la1 + //SEG739 [369] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@36 -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b1 - //SEG742 [370] phi from form_control::@33 to form_control::@1 [phi:form_control::@33->form_control::@1] - //SEG743 [370] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@33->form_control::@1#0] -- vbsz1=vbsc1 + //SEG740 [370] phi from form_control::@33 to form_control::@1 [phi:form_control::@33->form_control::@1] + //SEG741 [370] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@33->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count - //SEG744 form_control::@1 + //SEG742 form_control::@1 b1: - //SEG745 [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 + //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 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -31196,192 +31172,192 @@ form_control: { bpl !b2+ jmp b2 !b2: - //SEG746 form_control::@16 - //SEG747 [372] (byte~) form_control::$5 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG744 form_control::@16 + //SEG745 [372] (byte~) form_control::$5 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG748 [373] *((byte*) form_control::field#0) ← (byte~) form_control::$5 -- _deref_pbuz1=vbuaa + //SEG746 [373] *((byte*) form_control::field#0) ← (byte~) form_control::$5 -- _deref_pbuz1=vbuaa sta (field),y - //SEG749 [374] phi from form_control::@16 form_control::@2 to form_control::@3 [phi:form_control::@16/form_control::@2->form_control::@3] - //SEG750 form_control::@3 + //SEG747 [374] phi from form_control::@16 form_control::@2 to form_control::@3 [phi:form_control::@16/form_control::@2->form_control::@3] + //SEG748 form_control::@3 b3: - //SEG751 [375] call keyboard_event_scan - //SEG752 [159] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] - //SEG753 [159] phi (byte) keyboard_events_size#110 = (byte) keyboard_events_size#47 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy + //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 jsr keyboard_event_scan - //SEG754 [376] phi from form_control::@3 to form_control::@34 [phi:form_control::@3->form_control::@34] - //SEG755 form_control::@34 - //SEG756 [377] call keyboard_event_get + //SEG752 [376] phi from form_control::@3 to form_control::@34 [phi:form_control::@3->form_control::@34] + //SEG753 form_control::@34 + //SEG754 [377] call keyboard_event_get jsr keyboard_event_get - //SEG757 [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 - //SEG758 form_control::@35 - //SEG759 [379] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 - //SEG760 [380] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 + //SEG755 [378] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + //SEG756 form_control::@35 + //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 cmp #KEY_CRSR_DOWN bne b4 - //SEG761 form_control::@18 - //SEG762 [381] (byte~) form_control::$11 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG759 form_control::@18 + //SEG760 [381] (byte~) form_control::$11 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG763 [382] *((byte*) form_control::field#0) ← (byte~) form_control::$11 -- _deref_pbuz1=vbuaa + //SEG761 [382] *((byte*) form_control::field#0) ← (byte~) form_control::$11 -- _deref_pbuz1=vbuaa // Unblink the cursor sta (field),y - //SEG764 [383] (byte~) form_control::$12 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuz1_band_vbuc1 + //SEG762 [383] (byte~) form_control::$12 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuz1_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers - //SEG765 [384] if((byte~) form_control::$12==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@5 -- vbuaa_eq_0_then_la1 + //SEG763 [384] if((byte~) form_control::$12==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@5 -- vbuaa_eq_0_then_la1 cmp #0 beq b5 - //SEG766 form_control::@19 - //SEG767 [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuxx=_dec_vbuxx + //SEG764 form_control::@19 + //SEG765 [385] (byte) form_field_idx#44 ← -- (byte) form_field_idx#28 -- vbuxx=_dec_vbuxx dex - //SEG768 [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@37 -- vbuxx_neq_vbuc1_then_la1 + //SEG766 [386] if((byte) form_field_idx#44!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@37 -- vbuxx_neq_vbuc1_then_la1 cpx #$ff bne b7 - //SEG769 [387] phi from form_control::@19 to form_control::@7 [phi:form_control::@19->form_control::@7] - //SEG770 [387] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@19->form_control::@7#0] -- vbuxx=vbuc1 + //SEG767 [387] phi from form_control::@19 to form_control::@7 [phi:form_control::@19->form_control::@7] + //SEG768 [387] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@19->form_control::@7#0] -- vbuxx=vbuc1 ldx #form_fields_cnt-1 - //SEG771 form_control::@7 + //SEG769 form_control::@7 b7: - //SEG772 [388] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] - //SEG773 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@7->form_control::@return#0] -- register_copy - //SEG774 [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::@7->form_control::@return#1] -- vbsz1=vbuc1 + //SEG770 [388] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] + //SEG771 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@7->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::@7->form_control::@return#1] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count - //SEG775 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@7->form_control::@return#2] -- vbuyy=vbuc1 + //SEG773 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@7->form_control::@return#2] -- vbuyy=vbuc1 ldy #0 - //SEG776 form_control::@return + //SEG774 form_control::@return breturn: - //SEG777 [389] return + //SEG775 [389] return rts - //SEG778 [390] phi from form_control::@19 to form_control::@37 [phi:form_control::@19->form_control::@37] - //SEG779 form_control::@37 - //SEG780 [387] phi from form_control::@37 form_control::@38 to form_control::@7 [phi:form_control::@37/form_control::@38->form_control::@7] - //SEG781 [387] phi (byte) form_field_idx#32 = (byte) form_field_idx#44 [phi:form_control::@37/form_control::@38->form_control::@7#0] -- register_copy - //SEG782 form_control::@5 + //SEG776 [390] phi from form_control::@19 to form_control::@37 [phi:form_control::@19->form_control::@37] + //SEG777 form_control::@37 + //SEG778 [387] phi from form_control::@37 form_control::@38 to form_control::@7 [phi:form_control::@37/form_control::@38->form_control::@7] + //SEG779 [387] phi (byte) form_field_idx#32 = (byte) form_field_idx#44 [phi:form_control::@37/form_control::@38->form_control::@7#0] -- register_copy + //SEG780 form_control::@5 b5: - //SEG783 [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuxx=_inc_vbuxx + //SEG781 [391] (byte) form_field_idx#45 ← ++ (byte) form_field_idx#28 -- vbuxx=_inc_vbuxx inx - //SEG784 [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@38 -- vbuxx_neq_vbuc1_then_la1 + //SEG782 [392] if((byte) form_field_idx#45!=(const byte) form_fields_cnt#0) goto form_control::@38 -- vbuxx_neq_vbuc1_then_la1 cpx #form_fields_cnt bne b7 - //SEG785 [387] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] - //SEG786 [387] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@5->form_control::@7#0] -- vbuxx=vbuc1 + //SEG783 [387] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] + //SEG784 [387] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@5->form_control::@7#0] -- vbuxx=vbuc1 ldx #0 jmp b7 - //SEG787 [393] phi from form_control::@5 to form_control::@38 [phi:form_control::@5->form_control::@38] - //SEG788 form_control::@38 - //SEG789 form_control::@4 + //SEG785 [393] phi from form_control::@5 to form_control::@38 [phi:form_control::@5->form_control::@38] + //SEG786 form_control::@38 + //SEG787 form_control::@4 b4: - //SEG790 [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@9 -- vbuaa_neq_vbuc1_then_la1 + //SEG788 [394] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@9 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_RIGHT bne b9 - //SEG791 form_control::@24 - //SEG792 [395] (byte~) form_control::$22 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuz1_band_vbuc1 + //SEG789 form_control::@24 + //SEG790 [395] (byte~) form_control::$22 ← (byte) keyboard_modifiers#21 & (const byte) KEY_MODIFIER_SHIFT#0 -- vbuaa=vbuz1_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers - //SEG793 [396] if((byte~) form_control::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@10 -- vbuaa_eq_0_then_la1 + //SEG791 [396] if((byte~) form_control::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@10 -- vbuaa_eq_0_then_la1 cmp #0 beq b10 - //SEG794 form_control::@25 - //SEG795 [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_vbuxx=_dec_pbuc1_derefidx_vbuxx + //SEG792 form_control::@25 + //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_vbuxx=_dec_pbuc1_derefidx_vbuxx dec form_fields_val,x - //SEG796 [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@12 -- pbuc1_derefidx_vbuxx_neq_vbuc2_then_la1 + //SEG794 [398] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@12 -- pbuc1_derefidx_vbuxx_neq_vbuc2_then_la1 lda form_fields_val,x cmp #$ff bne b12 - //SEG797 form_control::@26 - //SEG798 [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_vbuxx=pbuc2_derefidx_vbuxx + //SEG795 form_control::@26 + //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_vbuxx=pbuc2_derefidx_vbuxx lda form_fields_max,x sta form_fields_val,x - //SEG799 form_control::@12 + //SEG797 form_control::@12 b12: - //SEG800 [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_vbuxx + //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_vbuxx // Render field value lda form_fields_val,x tay lda print_hextab,y ldy #0 sta (field),y - //SEG801 [388] phi from form_control::@12 form_control::@39 to form_control::@return [phi:form_control::@12/form_control::@39->form_control::@return] + //SEG799 [388] phi from form_control::@12 form_control::@39 to form_control::@return [phi:form_control::@12/form_control::@39->form_control::@return] b6: - //SEG802 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@12/form_control::@39->form_control::@return#0] -- register_copy - //SEG803 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@12/form_control::@39->form_control::@return#1] -- register_copy - //SEG804 [388] phi (byte) form_control::return#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@12/form_control::@39->form_control::@return#2] -- vbuyy=vbuc1 + //SEG800 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@12/form_control::@39->form_control::@return#0] -- register_copy + //SEG801 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@12/form_control::@39->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::@12/form_control::@39->form_control::@return#2] -- vbuyy=vbuc1 ldy #0 jmp breturn - //SEG805 form_control::@10 + //SEG803 form_control::@10 b10: - //SEG806 [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_vbuxx=_inc_pbuc1_derefidx_vbuxx + //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_vbuxx=_inc_pbuc1_derefidx_vbuxx inc form_fields_val,x - //SEG807 [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::@12 -- pbuc1_derefidx_vbuxx_le_pbuc2_derefidx_vbuxx_then_la1 + //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::@12 -- pbuc1_derefidx_vbuxx_le_pbuc2_derefidx_vbuxx_then_la1 txa tay lda form_fields_val,x cmp form_fields_max,y bcc b12 beq b12 - //SEG808 form_control::@28 - //SEG809 [403] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG806 form_control::@28 + //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_vbuxx=vbuc2 lda #0 sta form_fields_val,x jmp b12 - //SEG810 form_control::@9 + //SEG808 form_control::@9 b9: - //SEG811 [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@39 -- vbuaa_neq_vbuc1_then_la1 + //SEG809 [404] if((byte) form_control::key_event#0!=(const byte) KEY_SPACE#0) goto form_control::@39 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_SPACE bne b6 - //SEG812 [388] phi from form_control::@9 to form_control::@return [phi:form_control::@9->form_control::@return] - //SEG813 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@9->form_control::@return#0] -- register_copy - //SEG814 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@9->form_control::@return#1] -- register_copy - //SEG815 [388] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:form_control::@9->form_control::@return#2] -- vbuyy=vbuc1 + //SEG810 [388] phi from form_control::@9 to form_control::@return [phi:form_control::@9->form_control::@return] + //SEG811 [388] phi (byte) form_field_idx#18 = (byte) form_field_idx#28 [phi:form_control::@9->form_control::@return#0] -- register_copy + //SEG812 [388] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@9->form_control::@return#1] -- register_copy + //SEG813 [388] phi (byte) form_control::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:form_control::@9->form_control::@return#2] -- vbuyy=vbuc1 ldy #$ff jmp breturn - //SEG816 [405] phi from form_control::@9 to form_control::@39 [phi:form_control::@9->form_control::@39] - //SEG817 form_control::@39 - //SEG818 form_control::@2 + //SEG814 [405] phi from form_control::@9 to form_control::@39 [phi:form_control::@9->form_control::@39] + //SEG815 form_control::@39 + //SEG816 form_control::@2 b2: - //SEG819 [406] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 -- vbuaa=_deref_pbuz1_bor_vbuc1 + //SEG817 [406] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 -- vbuaa=_deref_pbuz1_bor_vbuc1 lda #$80 ldy #0 ora (field),y - //SEG820 [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 -- _deref_pbuz1=vbuaa + //SEG818 [407] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 -- _deref_pbuz1=vbuaa sta (field),y jmp b3 - //SEG821 [408] phi from form_control::@33 to form_control::@36 [phi:form_control::@33->form_control::@36] - //SEG822 form_control::@36 - //SEG823 [370] phi from form_control::@36 to form_control::@1 [phi:form_control::@36->form_control::@1] - //SEG824 [370] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@36->form_control::@1#0] -- register_copy + //SEG819 [408] phi from form_control::@33 to form_control::@36 [phi:form_control::@33->form_control::@36] + //SEG820 form_control::@36 + //SEG821 [370] phi from form_control::@36 to form_control::@1 [phi:form_control::@36->form_control::@1] + //SEG822 [370] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@36->form_control::@1#0] -- register_copy } -//SEG825 form_set_screen +//SEG823 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 - //SEG826 [410] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] - //SEG827 [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] -- vbuyy=vbuc1 + //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] -- vbuyy=vbuc1 ldy #0 - //SEG828 [410] phi (byte*) form_set_screen::line#2 = (const byte*) FORM_SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + //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 lda #FORM_SCREEN sta line+1 - //SEG829 [410] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] - //SEG830 [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 - //SEG831 [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 - //SEG832 form_set_screen::@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 b1: - //SEG833 [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 + //SEG831 [411] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 lda line - //SEG834 [412] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuyy=vbuaa + //SEG832 [412] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuyy=vbuaa sta form_line_lo,y - //SEG835 [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 + //SEG833 [413] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 lda line+1 - //SEG836 [414] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuyy=vbuaa + //SEG834 [414] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuyy=vbuaa sta form_line_hi,y - //SEG837 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 + //SEG835 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 lda line clc adc #$28 @@ -31389,92 +31365,92 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG838 [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuyy=_inc_vbuyy + //SEG836 [416] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuyy=_inc_vbuyy iny - //SEG839 [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 -- vbuyy_neq_vbuc1_then_la1 + //SEG837 [417] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 -- vbuyy_neq_vbuc1_then_la1 cpy #$19 bne b1 - //SEG840 form_set_screen::@return - //SEG841 [418] return + //SEG838 form_set_screen::@return + //SEG839 [418] return rts } -//SEG842 print_str_lines +//SEG840 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 - //SEG843 [420] (byte*~) print_char_cursor#77 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG841 [420] (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 - //SEG844 [421] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] - //SEG845 [421] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG846 [421] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#77 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG847 [421] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy - //SEG848 print_str_lines::@1 + //SEG842 [421] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->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::@9->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::@9->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::@9->print_str_lines::@1#2] -- register_copy + //SEG846 print_str_lines::@1 b1: - //SEG849 [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG847 [422] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4 - //SEG850 print_str_lines::@return - //SEG851 [423] return + //SEG848 print_str_lines::@return + //SEG849 [423] return rts - //SEG852 [424] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] - //SEG853 [424] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG854 [424] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy - //SEG855 print_str_lines::@4 + //SEG850 [424] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG851 [424] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#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::@5->print_str_lines::@4#1] -- register_copy + //SEG853 print_str_lines::@4 b4: - //SEG856 [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 + //SEG854 [425] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG857 [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 + //SEG855 [426] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG858 [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 -- vbuaa_eq_vbuc1_then_la1 + //SEG856 [427] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b5 - //SEG859 print_str_lines::@8 - //SEG860 [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuaa + //SEG857 print_str_lines::@8 + //SEG858 [428] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG861 [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 + //SEG859 [429] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG862 [430] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] - //SEG863 [430] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy - //SEG864 print_str_lines::@5 + //SEG860 [430] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG861 [430] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG862 print_str_lines::@5 b5: - //SEG865 [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 -- vbuaa_neq_vbuc1_then_la1 + //SEG863 [431] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b4 - //SEG866 [432] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] - //SEG867 print_str_lines::@9 - //SEG868 [433] call print_ln - //SEG869 [435] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG864 [432] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG865 print_str_lines::@9 + //SEG866 [433] call print_ln + //SEG867 [435] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] jsr print_ln - //SEG870 [434] (byte*~) print_char_cursor#78 ← (byte*) print_line_cursor#22 -- pbuz1=pbuz2 + //SEG868 [434] (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 } -//SEG871 print_ln +//SEG869 print_ln // Print a newline print_ln: { - //SEG872 [436] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] - //SEG873 [436] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy - //SEG874 print_ln::@1 + //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 b1: - //SEG875 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 + //SEG873 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -31482,7 +31458,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG876 [438] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + //SEG874 [438] 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 @@ -31491,34 +31467,34 @@ print_ln: { cmp print_char_cursor bcc b1 !: - //SEG877 print_ln::@return - //SEG878 [439] return + //SEG875 print_ln::@return + //SEG876 [439] return rts } -//SEG879 print_cls +//SEG877 print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { .label _0 = 5 .label sc = 3 - //SEG880 [440] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + //SEG878 [440] (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 - //SEG881 [441] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] - //SEG882 [441] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy - //SEG883 print_cls::@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 b1: - //SEG884 [442] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + //SEG882 [442] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG885 [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + //SEG883 [443] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG886 [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 -- pbuz1=pbuz2_plus_vwuc1 + //SEG884 [444] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 -- pbuz1=pbuz2_plus_vwuc1 lda print_set_screen.screen clc adc #<$3e8 @@ -31526,114 +31502,114 @@ print_cls: { lda print_set_screen.screen+1 adc #>$3e8 sta _0+1 - //SEG887 [445] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -- pbuz1_neq_pbuz2_then_la1 + //SEG885 [445] 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 - //SEG888 print_cls::@return - //SEG889 [446] return + //SEG886 print_cls::@return + //SEG887 [446] return rts } -//SEG890 print_set_screen +//SEG888 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 - //SEG891 print_set_screen::@return - //SEG892 [448] return + //SEG889 print_set_screen::@return + //SEG890 [448] return rts } -//SEG893 gfx_init +//SEG891 gfx_init // Initialize the different graphics in the memory gfx_init: { - //SEG894 [450] call gfx_init_screen0 - //SEG895 [848] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] + //SEG892 [450] call gfx_init_screen0 + //SEG893 [848] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] jsr gfx_init_screen0 - //SEG896 [451] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] - //SEG897 gfx_init::@1 - //SEG898 [452] call gfx_init_screen1 - //SEG899 [836] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] + //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 [836] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] jsr gfx_init_screen1 - //SEG900 [453] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] - //SEG901 gfx_init::@2 - //SEG902 [454] call gfx_init_screen2 - //SEG903 [821] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] + //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 [821] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] jsr gfx_init_screen2 - //SEG904 [455] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] - //SEG905 gfx_init::@3 - //SEG906 [456] call gfx_init_screen3 - //SEG907 [807] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] + //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 [807] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] jsr gfx_init_screen3 - //SEG908 [457] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] - //SEG909 gfx_init::@4 - //SEG910 [458] call gfx_init_screen4 - //SEG911 [797] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] + //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 [797] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] jsr gfx_init_screen4 - //SEG912 [459] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] - //SEG913 gfx_init::@5 - //SEG914 [460] call gfx_init_charset + //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 jsr gfx_init_charset - //SEG915 [461] phi from gfx_init::@5 to gfx_init::@6 [phi:gfx_init::@5->gfx_init::@6] - //SEG916 gfx_init::@6 - //SEG917 [462] call gfx_init_vic_bitmap - //SEG918 [606] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] + //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 [606] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] jsr gfx_init_vic_bitmap - //SEG919 [463] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] - //SEG920 gfx_init::@7 - //SEG921 [464] call gfx_init_plane_8bppchunky - //SEG922 [586] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] + //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 [586] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] jsr gfx_init_plane_8bppchunky - //SEG923 [465] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] - //SEG924 gfx_init::@8 - //SEG925 [466] call gfx_init_plane_charset8 - //SEG926 [561] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] + //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 [561] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] jsr gfx_init_plane_charset8 - //SEG927 [467] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] - //SEG928 gfx_init::@9 - //SEG929 [468] call gfx_init_plane_horisontal - //SEG930 [543] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] + //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 [543] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] jsr gfx_init_plane_horisontal - //SEG931 [469] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] - //SEG932 gfx_init::@10 - //SEG933 [470] call gfx_init_plane_vertical - //SEG934 [530] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] + //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 [530] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] jsr gfx_init_plane_vertical - //SEG935 [471] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] - //SEG936 gfx_init::@11 - //SEG937 [472] call gfx_init_plane_horisontal2 - //SEG938 [515] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] + //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 [515] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] jsr gfx_init_plane_horisontal2 - //SEG939 [473] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] - //SEG940 gfx_init::@12 - //SEG941 [474] call gfx_init_plane_vertical2 - //SEG942 [512] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] + //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 [512] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] jsr gfx_init_plane_vertical2 - //SEG943 [475] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] - //SEG944 gfx_init::@13 - //SEG945 [476] call gfx_init_plane_blank - //SEG946 [509] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] + //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 [509] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] jsr gfx_init_plane_blank - //SEG947 [477] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] - //SEG948 gfx_init::@14 - //SEG949 [478] call gfx_init_plane_full - //SEG950 [480] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] + //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] jsr gfx_init_plane_full - //SEG951 gfx_init::@return - //SEG952 [479] return + //SEG949 gfx_init::@return + //SEG950 [479] return rts } -//SEG953 gfx_init_plane_full +//SEG951 gfx_init_plane_full // Initialize Plane with all pixels gfx_init_plane_full: { - //SEG954 [481] call gfx_init_plane_fill - //SEG955 [483] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] - //SEG956 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/word/signed word/dword/signed dword) 255 [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //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) 255 [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$ff sta gfx_init_plane_fill.fill - //SEG957 [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 + //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 lda #PLANE_FULL @@ -31643,11 +31619,11 @@ gfx_init_plane_full: { lda #>PLANE_FULL>>$10 sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill - //SEG958 gfx_init_plane_full::@return - //SEG959 [482] return + //SEG956 gfx_init_plane_full::@return + //SEG957 [482] return rts } -//SEG960 gfx_init_plane_fill +//SEG958 gfx_init_plane_fill // Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // gfx_init_plane_fill(dword zeropage($a) plane_addr, byte zeropage(2) fill) gfx_init_plane_fill: { @@ -31660,7 +31636,7 @@ gfx_init_plane_fill: { .label by = 7 .label plane_addr = $a .label fill = 2 - //SEG961 [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 + //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 lda plane_addr sta _0 lda plane_addr+1 @@ -31677,36 +31653,36 @@ gfx_init_plane_fill: { rol _0+1 rol _0+2 rol _0+3 - //SEG962 [485] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 + //SEG960 [485] (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 - //SEG963 [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuxx=_lo_vwuz1 + //SEG961 [486] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuxx=_lo_vwuz1 lda _1 tax - //SEG964 [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuaa=vbuxx + //SEG962 [487] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuaa=vbuxx txa - //SEG965 [488] call dtvSetCpuBankSegment1 - //SEG966 [505] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] - //SEG967 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy + //SEG963 [488] call dtvSetCpuBankSegment1 + //SEG964 [505] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] + //SEG965 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 - //SEG968 gfx_init_plane_fill::@5 - //SEG969 [489] (byte) gfx_init_plane_fill::gfxbCpuBank#1 ← ++ (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuxx=_inc_vbuxx + //SEG966 gfx_init_plane_fill::@5 + //SEG967 [489] (byte) gfx_init_plane_fill::gfxbCpuBank#1 ← ++ (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuxx=_inc_vbuxx inx - //SEG970 [490] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 + //SEG968 [490] (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 - //SEG971 [491] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) 16383 -- vwuz1=vwuz1_band_vwuc1 + //SEG969 [491] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word/signed word/dword/signed dword) 16383 -- vwuz1=vwuz1_band_vwuc1 lda _5 and #<$3fff sta _5 lda _5+1 and #>$3fff sta _5+1 - //SEG972 [492] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) 16384 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 + //SEG970 [492] (word/signed dword/dword~) gfx_init_plane_fill::$6 ← (word/signed word/dword/signed dword) 16384 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 clc lda _6 adc #<$4000 @@ -31714,59 +31690,59 @@ gfx_init_plane_fill: { lda _6+1 adc #>$4000 sta _6+1 - //SEG973 [493] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 - //SEG974 [494] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] - //SEG975 [494] 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 + //SEG971 [493] (byte*~) gfx_init_plane_fill::gfxb#6 ← (byte*)(word/signed dword/dword~) gfx_init_plane_fill::$6 + //SEG972 [494] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] + //SEG973 [494] 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 - //SEG976 [494] 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 - //SEG977 [494] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] - //SEG978 [494] 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 - //SEG979 [494] 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 - //SEG980 gfx_init_plane_fill::@1 + //SEG974 [494] 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 + //SEG975 [494] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] + //SEG976 [494] 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 + //SEG977 [494] 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 + //SEG978 gfx_init_plane_fill::@1 b1: - //SEG981 [495] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] - //SEG982 [495] 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 + //SEG979 [495] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] + //SEG980 [495] 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 - //SEG983 [495] 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 - //SEG984 [495] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] - //SEG985 [495] 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 - //SEG986 [495] 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 - //SEG987 gfx_init_plane_fill::@2 + //SEG981 [495] 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 + //SEG982 [495] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] + //SEG983 [495] 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 + //SEG984 [495] 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 + //SEG985 gfx_init_plane_fill::@2 b2: - //SEG988 [496] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 + //SEG986 [496] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 lda fill ldy #0 sta (gfxb),y - //SEG989 [497] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG987 [497] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG990 [498] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx + //SEG988 [498] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx inx - //SEG991 [499] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG989 [499] if((byte) gfx_init_plane_fill::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG992 gfx_init_plane_fill::@3 - //SEG993 [500] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 + //SEG990 gfx_init_plane_fill::@3 + //SEG991 [500] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG994 [501] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG992 [501] if((byte) gfx_init_plane_fill::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 lda by cmp #$c8 bne b1 - //SEG995 [502] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] - //SEG996 gfx_init_plane_fill::@4 - //SEG997 [503] call dtvSetCpuBankSegment1 - //SEG998 [505] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] - //SEG999 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG993 [502] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] + //SEG994 gfx_init_plane_fill::@4 + //SEG995 [503] call dtvSetCpuBankSegment1 + //SEG996 [505] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] + //SEG997 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1000 gfx_init_plane_fill::@return - //SEG1001 [504] return + //SEG998 gfx_init_plane_fill::@return + //SEG999 [504] return rts } -//SEG1002 dtvSetCpuBankSegment1 +//SEG1000 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 @@ -31774,25 +31750,25 @@ gfx_init_plane_fill: { dtvSetCpuBankSegment1: { // Move CPU BANK 1 SEGMENT ($4000-$7fff) .label cpuBank = $ff - //SEG1003 [506] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa + //SEG1001 [506] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa sta cpuBank - //SEG1004 asm { .byte$32,$dd lda$ff .byte$32,$00 } + //SEG1002 asm { .byte$32,$dd lda$ff .byte$32,$00 } .byte $32, $dd lda $ff .byte $32, $00 - //SEG1005 dtvSetCpuBankSegment1::@return - //SEG1006 [508] return + //SEG1003 dtvSetCpuBankSegment1::@return + //SEG1004 [508] return rts } -//SEG1007 gfx_init_plane_blank +//SEG1005 gfx_init_plane_blank // Initialize Plane with blank pixels gfx_init_plane_blank: { - //SEG1008 [510] call gfx_init_plane_fill - //SEG1009 [483] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] - //SEG1010 [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 + //SEG1006 [510] call gfx_init_plane_fill + //SEG1007 [483] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] + //SEG1008 [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 lda #0 sta gfx_init_plane_fill.fill - //SEG1011 [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 + //SEG1009 [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 lda #PLANE_BLANK @@ -31802,19 +31778,19 @@ gfx_init_plane_blank: { lda #>PLANE_BLANK>>$10 sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill - //SEG1012 gfx_init_plane_blank::@return - //SEG1013 [511] return + //SEG1010 gfx_init_plane_blank::@return + //SEG1011 [511] return rts } -//SEG1014 gfx_init_plane_vertical2 +//SEG1012 gfx_init_plane_vertical2 // Initialize Plane with Vertical Stripes every 2 pixels gfx_init_plane_vertical2: { - //SEG1015 [513] call gfx_init_plane_fill - //SEG1016 [483] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] - //SEG1017 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 27 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + //SEG1013 [513] call gfx_init_plane_fill + //SEG1014 [483] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] + //SEG1015 [483] phi (byte) gfx_init_plane_fill::fill#6 = (byte/signed byte/word/signed word/dword/signed dword) 27 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$1b sta gfx_init_plane_fill.fill - //SEG1018 [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 + //SEG1016 [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 lda #PLANE_VERTICAL2 @@ -31824,239 +31800,239 @@ gfx_init_plane_vertical2: { lda #>PLANE_VERTICAL2>>$10 sta gfx_init_plane_fill.plane_addr+3 jsr gfx_init_plane_fill - //SEG1019 gfx_init_plane_vertical2::@return - //SEG1020 [514] return + //SEG1017 gfx_init_plane_vertical2::@return + //SEG1018 [514] return rts } -//SEG1021 gfx_init_plane_horisontal2 +//SEG1019 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 - //SEG1022 [516] call dtvSetCpuBankSegment1 - //SEG1023 [505] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] - //SEG1024 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1020 [516] call dtvSetCpuBankSegment1 + //SEG1021 [505] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] + //SEG1022 [505] 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 - //SEG1025 [517] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] - //SEG1026 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 + //SEG1023 [517] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] + //SEG1024 [517] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL2#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1027 [517] 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 + //SEG1025 [517] 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 - //SEG1028 [517] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] - //SEG1029 [517] 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 - //SEG1030 [517] 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 - //SEG1031 gfx_init_plane_horisontal2::@1 + //SEG1026 [517] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] + //SEG1027 [517] 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 + //SEG1028 [517] 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 + //SEG1029 gfx_init_plane_horisontal2::@1 b1: - //SEG1032 [518] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] - //SEG1033 [518] 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 + //SEG1030 [518] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] + //SEG1031 [518] 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 - //SEG1034 [518] 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 - //SEG1035 [518] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] - //SEG1036 [518] 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 - //SEG1037 [518] 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 - //SEG1038 gfx_init_plane_horisontal2::@2 + //SEG1032 [518] 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 + //SEG1033 [518] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] + //SEG1034 [518] 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 + //SEG1035 [518] 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 + //SEG1036 gfx_init_plane_horisontal2::@2 b2: - //SEG1039 [519] (byte~) gfx_init_plane_horisontal2::$5 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_ror_1 + //SEG1037 [519] (byte~) gfx_init_plane_horisontal2::$5 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_ror_1 lda ay lsr - //SEG1040 [520] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$5 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuaa_band_vbuc1 + //SEG1038 [520] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$5 & (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuaa_band_vbuc1 and #3 - //SEG1041 [521] *((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 + //SEG1039 [521] *((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 - //SEG1042 [522] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1040 [522] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1043 [523] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx + //SEG1041 [523] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx inx - //SEG1044 [524] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1042 [524] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1045 gfx_init_plane_horisontal2::@3 - //SEG1046 [525] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1043 gfx_init_plane_horisontal2::@3 + //SEG1044 [525] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1047 [526] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1045 [526] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 lda ay cmp #$c8 bne b1 - //SEG1048 [527] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] - //SEG1049 gfx_init_plane_horisontal2::@4 - //SEG1050 [528] call dtvSetCpuBankSegment1 - //SEG1051 [505] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] - //SEG1052 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1046 [527] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] + //SEG1047 gfx_init_plane_horisontal2::@4 + //SEG1048 [528] call dtvSetCpuBankSegment1 + //SEG1049 [505] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] + //SEG1050 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1053 gfx_init_plane_horisontal2::@return - //SEG1054 [529] return + //SEG1051 gfx_init_plane_horisontal2::@return + //SEG1052 [529] return rts row_bitmask: .byte 0, $55, $aa, $ff } -//SEG1055 gfx_init_plane_vertical +//SEG1053 gfx_init_plane_vertical // Initialize Plane with Vertical Stripes gfx_init_plane_vertical: { .const gfxbCpuBank = PLANE_VERTICAL/$4000 .label gfxb = 3 .label by = 2 - //SEG1056 [531] call dtvSetCpuBankSegment1 - //SEG1057 [505] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] - //SEG1058 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1054 [531] call dtvSetCpuBankSegment1 + //SEG1055 [505] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] + //SEG1056 [505] 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 - //SEG1059 [532] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] - //SEG1060 [532] 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 + //SEG1057 [532] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] + //SEG1058 [532] 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 - //SEG1061 [532] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 + //SEG1059 [532] phi (byte*) gfx_init_plane_vertical::gfxb#3 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_VERTICAL#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1062 [532] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] - //SEG1063 [532] 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 - //SEG1064 [532] 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 - //SEG1065 gfx_init_plane_vertical::@1 + //SEG1060 [532] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] + //SEG1061 [532] 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 + //SEG1062 [532] 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 + //SEG1063 gfx_init_plane_vertical::@1 b1: - //SEG1066 [533] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] - //SEG1067 [533] 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 + //SEG1064 [533] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] + //SEG1065 [533] 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 - //SEG1068 [533] 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 - //SEG1069 [533] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] - //SEG1070 [533] 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 - //SEG1071 [533] 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 - //SEG1072 gfx_init_plane_vertical::@2 + //SEG1066 [533] 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 + //SEG1067 [533] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] + //SEG1068 [533] 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 + //SEG1069 [533] 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 + //SEG1070 gfx_init_plane_vertical::@2 b2: - //SEG1073 [534] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 -- _deref_pbuz1=vbuc1 + //SEG1071 [534] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - //SEG1074 [535] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 + //SEG1072 [535] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1075 [536] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx + //SEG1073 [536] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx inx - //SEG1076 [537] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1074 [537] if((byte) gfx_init_plane_vertical::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1077 gfx_init_plane_vertical::@3 - //SEG1078 [538] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 + //SEG1075 gfx_init_plane_vertical::@3 + //SEG1076 [538] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 inc by - //SEG1079 [539] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1077 [539] if((byte) gfx_init_plane_vertical::by#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 lda by cmp #$c8 bne b1 - //SEG1080 [540] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] - //SEG1081 gfx_init_plane_vertical::@4 - //SEG1082 [541] call dtvSetCpuBankSegment1 - //SEG1083 [505] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] - //SEG1084 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1078 [540] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] + //SEG1079 gfx_init_plane_vertical::@4 + //SEG1080 [541] call dtvSetCpuBankSegment1 + //SEG1081 [505] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] + //SEG1082 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1085 gfx_init_plane_vertical::@return - //SEG1086 [542] return + //SEG1083 gfx_init_plane_vertical::@return + //SEG1084 [542] return rts } -//SEG1087 gfx_init_plane_horisontal +//SEG1085 gfx_init_plane_horisontal // Initialize Plane with Horizontal Stripes gfx_init_plane_horisontal: { .const gfxbCpuBank = PLANE_HORISONTAL/$4000 .label gfxa = 3 .label ay = 2 - //SEG1088 [544] call dtvSetCpuBankSegment1 - //SEG1089 [505] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] - //SEG1090 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1086 [544] call dtvSetCpuBankSegment1 + //SEG1087 [505] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] + //SEG1088 [505] 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 - //SEG1091 [545] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] - //SEG1092 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 + //SEG1089 [545] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] + //SEG1090 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_HORISONTAL#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1093 [545] 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 + //SEG1091 [545] 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 - //SEG1094 [545] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1] - //SEG1095 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#0] -- register_copy - //SEG1096 [545] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#1] -- register_copy - //SEG1097 gfx_init_plane_horisontal::@1 + //SEG1092 [545] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1] + //SEG1093 [545] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#0] -- register_copy + //SEG1094 [545] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@1#1] -- register_copy + //SEG1095 gfx_init_plane_horisontal::@1 b1: - //SEG1098 [546] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] - //SEG1099 [546] 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 + //SEG1096 [546] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] + //SEG1097 [546] 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 - //SEG1100 [546] 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 - //SEG1101 [546] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] - //SEG1102 [546] 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 - //SEG1103 [546] 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 - //SEG1104 gfx_init_plane_horisontal::@2 + //SEG1098 [546] 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 + //SEG1099 [546] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] + //SEG1100 [546] 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 + //SEG1101 [546] 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 + //SEG1102 gfx_init_plane_horisontal::@2 b2: - //SEG1105 [547] (byte~) gfx_init_plane_horisontal::$5 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_band_vbuc1 + //SEG1103 [547] (byte~) gfx_init_plane_horisontal::$5 ← (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 - //SEG1106 [548] if((byte~) gfx_init_plane_horisontal::$5==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 + //SEG1104 [548] if((byte~) gfx_init_plane_horisontal::$5==(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 - //SEG1107 gfx_init_plane_horisontal::@5 - //SEG1108 [549] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuz1=vbuc1 + //SEG1105 gfx_init_plane_horisontal::@5 + //SEG1106 [549] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - //SEG1109 [550] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1107 [550] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1110 [551] 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] - //SEG1111 [551] 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 - //SEG1112 gfx_init_plane_horisontal::@4 + //SEG1108 [551] 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] + //SEG1109 [551] 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 + //SEG1110 gfx_init_plane_horisontal::@4 b4: - //SEG1113 [552] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx + //SEG1111 [552] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx inx - //SEG1114 [553] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1112 [553] if((byte) gfx_init_plane_horisontal::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1115 gfx_init_plane_horisontal::@7 - //SEG1116 [554] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 + //SEG1113 gfx_init_plane_horisontal::@7 + //SEG1114 [554] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 inc ay - //SEG1117 [555] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1115 [555] if((byte) gfx_init_plane_horisontal::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 lda ay cmp #$c8 bne b1 - //SEG1118 [556] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@8 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@8] - //SEG1119 gfx_init_plane_horisontal::@8 - //SEG1120 [557] call dtvSetCpuBankSegment1 - //SEG1121 [505] phi from gfx_init_plane_horisontal::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1] - //SEG1122 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1116 [556] phi from gfx_init_plane_horisontal::@7 to gfx_init_plane_horisontal::@8 [phi:gfx_init_plane_horisontal::@7->gfx_init_plane_horisontal::@8] + //SEG1117 gfx_init_plane_horisontal::@8 + //SEG1118 [557] call dtvSetCpuBankSegment1 + //SEG1119 [505] phi from gfx_init_plane_horisontal::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1] + //SEG1120 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_horisontal::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1123 gfx_init_plane_horisontal::@return - //SEG1124 [558] return + //SEG1121 gfx_init_plane_horisontal::@return + //SEG1122 [558] return rts - //SEG1125 gfx_init_plane_horisontal::@3 + //SEG1123 gfx_init_plane_horisontal::@3 b3: - //SEG1126 [559] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1124 [559] *((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 - //SEG1127 [560] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + //SEG1125 [560] (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 } -//SEG1128 gfx_init_plane_charset8 +//SEG1126 gfx_init_plane_charset8 // Initialize Plane with 8bpp charset gfx_init_plane_charset8: { .const gfxbCpuBank = PLANE_CHARSET8/$4000 @@ -32066,208 +32042,208 @@ gfx_init_plane_charset8: { .label col = 9 .label cr = 7 .label ch = 2 - //SEG1129 [562] call dtvSetCpuBankSegment1 - //SEG1130 [505] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] - //SEG1131 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1127 [562] call dtvSetCpuBankSegment1 + //SEG1128 [505] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] + //SEG1129 [505] 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 - //SEG1132 gfx_init_plane_charset8::@9 - //SEG1133 [563] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 + //SEG1130 gfx_init_plane_charset8::@9 + //SEG1131 [563] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_CHARROM sta PROCPORT - //SEG1134 [564] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] - //SEG1135 [564] 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 + //SEG1132 [564] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] + //SEG1133 [564] 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 - //SEG1136 [564] 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 + //SEG1134 [564] 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 - //SEG1137 [564] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) 16383 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 + //SEG1135 [564] phi (byte*) gfx_init_plane_charset8::gfxa#6 = ((byte*))(word/signed word/dword/signed dword) 16384+(const dword) PLANE_CHARSET8#0&(word/signed word/dword/signed dword) 16383 [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 - //SEG1138 [564] 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 + //SEG1136 [564] 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 - //SEG1139 [564] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] - //SEG1140 [564] 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 - //SEG1141 [564] 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 - //SEG1142 [564] 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 - //SEG1143 [564] 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 - //SEG1144 gfx_init_plane_charset8::@1 + //SEG1137 [564] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] + //SEG1138 [564] 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 + //SEG1139 [564] 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 + //SEG1140 [564] 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 + //SEG1141 [564] 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 + //SEG1142 gfx_init_plane_charset8::@1 b1: - //SEG1145 [565] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] - //SEG1146 [565] 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 + //SEG1143 [565] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] + //SEG1144 [565] 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 - //SEG1147 [565] 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 - //SEG1148 [565] 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 - //SEG1149 [565] 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 - //SEG1150 [565] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] - //SEG1151 [565] 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 - //SEG1152 [565] 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 - //SEG1153 [565] 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 - //SEG1154 [565] 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 - //SEG1155 gfx_init_plane_charset8::@2 + //SEG1145 [565] 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 + //SEG1146 [565] 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 + //SEG1147 [565] 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 + //SEG1148 [565] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] + //SEG1149 [565] 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 + //SEG1150 [565] 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 + //SEG1151 [565] 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 + //SEG1152 [565] 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 + //SEG1153 gfx_init_plane_charset8::@2 b2: - //SEG1156 [566] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 + //SEG1154 [566] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta bits - //SEG1157 [567] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1155 [567] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1158 [568] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] - //SEG1159 [568] 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 + //SEG1156 [568] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] + //SEG1157 [568] 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 - //SEG1160 [568] 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 - //SEG1161 [568] 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 - //SEG1162 [568] 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 - //SEG1163 [568] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] - //SEG1164 [568] 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 - //SEG1165 [568] 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 - //SEG1166 [568] 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 - //SEG1167 [568] 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 - //SEG1168 gfx_init_plane_charset8::@3 + //SEG1158 [568] 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 + //SEG1159 [568] 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 + //SEG1160 [568] 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 + //SEG1161 [568] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] + //SEG1162 [568] 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 + //SEG1163 [568] 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 + //SEG1164 [568] 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 + //SEG1165 [568] 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 + //SEG1166 gfx_init_plane_charset8::@3 b3: - //SEG1169 [569] (byte~) gfx_init_plane_charset8::$5 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) 128 -- vbuaa=vbuz1_band_vbuc1 + //SEG1167 [569] (byte~) gfx_init_plane_charset8::$5 ← (byte) gfx_init_plane_charset8::bits#2 & (byte/word/signed word/dword/signed dword) 128 -- vbuaa=vbuz1_band_vbuc1 lda #$80 and bits - //SEG1170 [570] if((byte~) gfx_init_plane_charset8::$5==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 + //SEG1168 [570] if((byte~) gfx_init_plane_charset8::$5==(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 - //SEG1171 gfx_init_plane_charset8::@5 - //SEG1172 [571] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 + //SEG1169 gfx_init_plane_charset8::@5 + //SEG1170 [571] (byte~) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 lda col - //SEG1173 [572] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] - //SEG1174 [572] 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 + //SEG1171 [572] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] + //SEG1172 [572] 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 - //SEG1175 [572] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] + //SEG1173 [572] 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: - //SEG1176 [572] 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 + //SEG1174 [572] 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 - //SEG1177 gfx_init_plane_charset8::@4 + //SEG1175 gfx_init_plane_charset8::@4 b4: - //SEG1178 [573] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa + //SEG1176 [573] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxa),y - //SEG1179 [574] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 + //SEG1177 [574] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG1180 [575] (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 + //SEG1178 [575] (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 - //SEG1181 [576] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 + //SEG1179 [576] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 inc col - //SEG1182 [577] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx + //SEG1180 [577] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx inx - //SEG1183 [578] 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 + //SEG1181 [578] 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 - //SEG1184 gfx_init_plane_charset8::@6 - //SEG1185 [579] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 + //SEG1182 gfx_init_plane_charset8::@6 + //SEG1183 [579] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 inc cr - //SEG1186 [580] 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 + //SEG1184 [580] 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 cr cmp #8 bne b2 - //SEG1187 gfx_init_plane_charset8::@7 - //SEG1188 [581] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 + //SEG1185 gfx_init_plane_charset8::@7 + //SEG1186 [581] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 inc ch - //SEG1189 [582] 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 + //SEG1187 [582] 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 - //SEG1190 gfx_init_plane_charset8::@8 - //SEG1191 [583] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 + //SEG1188 gfx_init_plane_charset8::@8 + //SEG1189 [583] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_IO sta PROCPORT - //SEG1192 [584] call dtvSetCpuBankSegment1 - //SEG1193 [505] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] - //SEG1194 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1190 [584] call dtvSetCpuBankSegment1 + //SEG1191 [505] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] + //SEG1192 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1195 gfx_init_plane_charset8::@return - //SEG1196 [585] return + //SEG1193 gfx_init_plane_charset8::@return + //SEG1194 [585] return rts } -//SEG1197 gfx_init_plane_8bppchunky +//SEG1195 gfx_init_plane_8bppchunky // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { .label _6 = $10 .label gfxb = 5 .label x = 3 .label y = 2 - //SEG1198 [587] call dtvSetCpuBankSegment1 - //SEG1199 [505] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] - //SEG1200 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1196 [587] call dtvSetCpuBankSegment1 + //SEG1197 [505] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + //SEG1198 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000 jsr dtvSetCpuBankSegment1 - //SEG1201 [588] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] - //SEG1202 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 + //SEG1199 [588] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + //SEG1200 [588] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 ldx #PLANE_8BPP_CHUNKY/$4000+1 - //SEG1203 [588] 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 + //SEG1201 [588] 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 - //SEG1204 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + //SEG1202 [588] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 - //SEG1205 [588] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] - //SEG1206 [588] 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 - //SEG1207 [588] 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 - //SEG1208 [588] 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 - //SEG1209 gfx_init_plane_8bppchunky::@1 + //SEG1203 [588] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + //SEG1204 [588] 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 + //SEG1205 [588] 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 + //SEG1206 [588] 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 + //SEG1207 gfx_init_plane_8bppchunky::@1 b1: - //SEG1210 [589] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] - //SEG1211 [589] 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 - //SEG1212 [589] 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 + //SEG1208 [589] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + //SEG1209 [589] 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 + //SEG1210 [589] 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 - //SEG1213 [589] 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 - //SEG1214 [589] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] - //SEG1215 [589] 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 - //SEG1216 [589] 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 - //SEG1217 [589] 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 - //SEG1218 gfx_init_plane_8bppchunky::@2 + //SEG1211 [589] 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 + //SEG1212 [589] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + //SEG1213 [589] 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 + //SEG1214 [589] 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 + //SEG1215 [589] 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 + //SEG1216 gfx_init_plane_8bppchunky::@2 b2: - //SEG1219 [590] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) 32768) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 + //SEG1217 [590] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) 32768) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 lda gfxb+1 cmp #>$8000 bne b3 lda gfxb cmp #<$8000 bne b3 - //SEG1220 gfx_init_plane_8bppchunky::@4 - //SEG1221 [591] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx + //SEG1218 gfx_init_plane_8bppchunky::@4 + //SEG1219 [591] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx txa - //SEG1222 [592] call dtvSetCpuBankSegment1 - //SEG1223 [505] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] - //SEG1224 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + //SEG1220 [592] call dtvSetCpuBankSegment1 + //SEG1221 [505] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + //SEG1222 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 - //SEG1225 gfx_init_plane_8bppchunky::@8 - //SEG1226 [593] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx + //SEG1223 gfx_init_plane_8bppchunky::@8 + //SEG1224 [593] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx inx - //SEG1227 [594] phi from gfx_init_plane_8bppchunky::@8 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3] - //SEG1228 [594] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#0] -- register_copy - //SEG1229 [594] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + //SEG1225 [594] phi from gfx_init_plane_8bppchunky::@8 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3] + //SEG1226 [594] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG1227 [594] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 lda #<$4000 sta gfxb lda #>$4000 sta gfxb+1 - //SEG1230 [594] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] - //SEG1231 [594] 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 - //SEG1232 [594] 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 - //SEG1233 gfx_init_plane_8bppchunky::@3 + //SEG1228 [594] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + //SEG1229 [594] 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 + //SEG1230 [594] 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 + //SEG1231 gfx_init_plane_8bppchunky::@3 b3: - //SEG1234 [595] (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 + //SEG1232 [595] (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 lda y clc adc x @@ -32275,95 +32251,95 @@ gfx_init_plane_8bppchunky: { lda #0 adc x+1 sta _6+1 - //SEG1235 [596] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 -- vbuaa=_byte_vwuz1 + //SEG1233 [596] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 -- vbuaa=_byte_vwuz1 lda _6 - //SEG1236 [597] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa + //SEG1234 [597] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxb),y - //SEG1237 [598] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 + //SEG1235 [598] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG1238 [599] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 + //SEG1236 [599] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 inc x bne !+ inc x+1 !: - //SEG1239 [600] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) 320) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 + //SEG1237 [600] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) 320) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 lda x+1 cmp #>$140 bne b2 lda x cmp #<$140 bne b2 - //SEG1240 gfx_init_plane_8bppchunky::@5 - //SEG1241 [601] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 + //SEG1238 gfx_init_plane_8bppchunky::@5 + //SEG1239 [601] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 inc y - //SEG1242 [602] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1240 [602] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 lda y cmp #$c8 bne b1 - //SEG1243 [603] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] - //SEG1244 gfx_init_plane_8bppchunky::@6 - //SEG1245 [604] call dtvSetCpuBankSegment1 - //SEG1246 [505] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] - //SEG1247 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + //SEG1241 [603] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + //SEG1242 gfx_init_plane_8bppchunky::@6 + //SEG1243 [604] call dtvSetCpuBankSegment1 + //SEG1244 [505] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + //SEG1245 [505] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 - //SEG1248 gfx_init_plane_8bppchunky::@return - //SEG1249 [605] return + //SEG1246 gfx_init_plane_8bppchunky::@return + //SEG1247 [605] return rts } -//SEG1250 gfx_init_vic_bitmap +//SEG1248 gfx_init_vic_bitmap // Initialize VIC bitmap gfx_init_vic_bitmap: { .const lines_cnt = 9 .label l = 2 - //SEG1251 [607] call bitmap_init - //SEG1252 [759] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] + //SEG1249 [607] call bitmap_init + //SEG1250 [759] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] jsr bitmap_init - //SEG1253 [608] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] - //SEG1254 gfx_init_vic_bitmap::@3 - //SEG1255 [609] call bitmap_clear + //SEG1251 [608] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] + //SEG1252 gfx_init_vic_bitmap::@3 + //SEG1253 [609] call bitmap_clear jsr bitmap_clear - //SEG1256 [610] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] - //SEG1257 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 + //SEG1254 [610] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] + //SEG1255 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 lda #0 sta l - //SEG1258 [610] phi from gfx_init_vic_bitmap::@5 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1] - //SEG1259 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1#0] -- register_copy - //SEG1260 gfx_init_vic_bitmap::@1 + //SEG1256 [610] phi from gfx_init_vic_bitmap::@5 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1] + //SEG1257 [610] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@5->gfx_init_vic_bitmap::@1#0] -- register_copy + //SEG1258 gfx_init_vic_bitmap::@1 b1: - //SEG1261 [611] (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 + //SEG1259 [611] (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 - //SEG1262 [612] (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 + //SEG1260 [612] (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 lda lines_x+1,y sta bitmap_line.x1 - //SEG1263 [613] (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 + //SEG1261 [613] (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 - //SEG1264 [614] (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) -- vbuyy=pbuc1_derefidx_vbuz1 + //SEG1262 [614] (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) -- vbuyy=pbuc1_derefidx_vbuz1 ldx l ldy lines_y+1,x - //SEG1265 [615] call bitmap_line + //SEG1263 [615] call bitmap_line jsr bitmap_line - //SEG1266 gfx_init_vic_bitmap::@5 - //SEG1267 [616] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 + //SEG1264 gfx_init_vic_bitmap::@5 + //SEG1265 [616] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 inc l - //SEG1268 [617] 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 + //SEG1266 [617] 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 - //SEG1269 gfx_init_vic_bitmap::@return - //SEG1270 [618] return + //SEG1267 gfx_init_vic_bitmap::@return + //SEG1268 [618] 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 } -//SEG1271 bitmap_line +//SEG1269 bitmap_line // Draw a line on the bitmap // bitmap_line(byte zeropage(9) x0, byte zeropage($12) x1, byte zeropage($f) y0, byte register(Y) y1) bitmap_line: { @@ -32372,229 +32348,229 @@ bitmap_line: { .label x0 = 9 .label x1 = $12 .label y0 = $f - //SEG1272 [619] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1 + //SEG1270 [619] 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 - //SEG1273 bitmap_line::@15 - //SEG1274 [620] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1271 bitmap_line::@15 + //SEG1272 [620] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 sec sbc x1 sta xd - //SEG1275 [621] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@2 -- vbuz1_lt_vbuyy_then_la1 + //SEG1273 [621] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@2 -- vbuz1_lt_vbuyy_then_la1 tya cmp y0 beq !+ bcs b2 !: - //SEG1276 bitmap_line::@16 - //SEG1277 [622] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy + //SEG1274 bitmap_line::@16 + //SEG1275 [622] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy tya eor #$ff sec adc y0 sta yd - //SEG1278 [623] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#1) goto bitmap_line::@3 -- vbuz1_lt_vbuz2_then_la1 + //SEG1276 [623] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#1) goto bitmap_line::@3 -- vbuz1_lt_vbuz2_then_la1 cmp xd bcc b3 - //SEG1279 bitmap_line::@17 - //SEG1280 [624] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1277 bitmap_line::@17 + //SEG1278 [624] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_ydxi.y - //SEG1281 [625] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1 + //SEG1279 [625] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1 ldx x1 - //SEG1282 [626] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 - //SEG1283 [627] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#1 - //SEG1284 [628] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#1 - //SEG1285 [629] call bitmap_line_ydxi - //SEG1286 [703] phi from bitmap_line::@17 to bitmap_line_ydxi [phi:bitmap_line::@17->bitmap_line_ydxi] - //SEG1287 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@17->bitmap_line_ydxi#0] -- register_copy - //SEG1288 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#1] -- register_copy - //SEG1289 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@17->bitmap_line_ydxi#2] -- register_copy - //SEG1290 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@17->bitmap_line_ydxi#3] -- register_copy - //SEG1291 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#4] -- register_copy + //SEG1280 [626] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 + //SEG1281 [627] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#1 + //SEG1282 [628] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#1 + //SEG1283 [629] call bitmap_line_ydxi + //SEG1284 [703] phi from bitmap_line::@17 to bitmap_line_ydxi [phi:bitmap_line::@17->bitmap_line_ydxi] + //SEG1285 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@17->bitmap_line_ydxi#0] -- register_copy + //SEG1286 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#1] -- register_copy + //SEG1287 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@17->bitmap_line_ydxi#2] -- register_copy + //SEG1288 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@17->bitmap_line_ydxi#3] -- register_copy + //SEG1289 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@17->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi - //SEG1292 bitmap_line::@return + //SEG1290 bitmap_line::@return breturn: - //SEG1293 [630] return + //SEG1291 [630] return rts - //SEG1294 bitmap_line::@3 + //SEG1292 bitmap_line::@3 b3: - //SEG1295 [631] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1293 [631] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyi.x - //SEG1296 [632] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1294 [632] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_xdyi.y - //SEG1297 [633] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 - //SEG1298 [634] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#1 - //SEG1299 [635] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#1 - //SEG1300 [636] call bitmap_line_xdyi - //SEG1301 [681] phi from bitmap_line::@3 to bitmap_line_xdyi [phi:bitmap_line::@3->bitmap_line_xdyi] - //SEG1302 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@3->bitmap_line_xdyi#0] -- register_copy - //SEG1303 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#1] -- register_copy - //SEG1304 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@3->bitmap_line_xdyi#2] -- register_copy - //SEG1305 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@3->bitmap_line_xdyi#3] -- register_copy - //SEG1306 [681] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#4] -- register_copy + //SEG1295 [633] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 + //SEG1296 [634] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#1 + //SEG1297 [635] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#1 + //SEG1298 [636] call bitmap_line_xdyi + //SEG1299 [681] phi from bitmap_line::@3 to bitmap_line_xdyi [phi:bitmap_line::@3->bitmap_line_xdyi] + //SEG1300 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@3->bitmap_line_xdyi#0] -- register_copy + //SEG1301 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#1] -- register_copy + //SEG1302 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@3->bitmap_line_xdyi#2] -- register_copy + //SEG1303 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@3->bitmap_line_xdyi#3] -- register_copy + //SEG1304 [681] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@3->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp breturn - //SEG1307 bitmap_line::@2 + //SEG1305 bitmap_line::@2 b2: - //SEG1308 [637] (byte) bitmap_line::yd#0 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2 + //SEG1306 [637] (byte) bitmap_line::yd#0 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2 tya sec sbc y0 sta yd - //SEG1309 [638] if((byte) bitmap_line::yd#0<(byte) bitmap_line::xd#1) goto bitmap_line::@6 -- vbuz1_lt_vbuz2_then_la1 + //SEG1307 [638] if((byte) bitmap_line::yd#0<(byte) bitmap_line::xd#1) goto bitmap_line::@6 -- vbuz1_lt_vbuz2_then_la1 cmp xd bcc b6 - //SEG1310 bitmap_line::@20 - //SEG1311 [639] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1308 bitmap_line::@20 + //SEG1309 [639] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxd.y - //SEG1312 [640] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 + //SEG1310 [640] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 ldx x0 - //SEG1313 [641] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1311 [641] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_ydxd.y1 - //SEG1314 [642] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#0 - //SEG1315 [643] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#1 - //SEG1316 [644] call bitmap_line_ydxd - //SEG1317 [733] phi from bitmap_line::@20 to bitmap_line_ydxd [phi:bitmap_line::@20->bitmap_line_ydxd] - //SEG1318 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@20->bitmap_line_ydxd#0] -- register_copy - //SEG1319 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#1] -- register_copy - //SEG1320 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@20->bitmap_line_ydxd#2] -- register_copy - //SEG1321 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@20->bitmap_line_ydxd#3] -- register_copy - //SEG1322 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#4] -- register_copy + //SEG1312 [642] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#0 + //SEG1313 [643] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#1 + //SEG1314 [644] call bitmap_line_ydxd + //SEG1315 [733] phi from bitmap_line::@20 to bitmap_line_ydxd [phi:bitmap_line::@20->bitmap_line_ydxd] + //SEG1316 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@20->bitmap_line_ydxd#0] -- register_copy + //SEG1317 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#1] -- register_copy + //SEG1318 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@20->bitmap_line_ydxd#2] -- register_copy + //SEG1319 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@20->bitmap_line_ydxd#3] -- register_copy + //SEG1320 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@20->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1323 bitmap_line::@6 + //SEG1321 bitmap_line::@6 b6: - //SEG1324 [645] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1322 [645] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyd.x - //SEG1325 [646] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1323 [646] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_xdyd.y - //SEG1326 [647] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1324 [647] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x1 - //SEG1327 [648] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#1 - //SEG1328 [649] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#0 - //SEG1329 [650] call bitmap_line_xdyd - //SEG1330 [718] phi from bitmap_line::@6 to bitmap_line_xdyd [phi:bitmap_line::@6->bitmap_line_xdyd] - //SEG1331 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@6->bitmap_line_xdyd#0] -- register_copy - //SEG1332 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#1] -- register_copy - //SEG1333 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@6->bitmap_line_xdyd#2] -- register_copy - //SEG1334 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@6->bitmap_line_xdyd#3] -- register_copy - //SEG1335 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#4] -- register_copy + //SEG1325 [648] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#1 + //SEG1326 [649] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#0 + //SEG1327 [650] call bitmap_line_xdyd + //SEG1328 [718] phi from bitmap_line::@6 to bitmap_line_xdyd [phi:bitmap_line::@6->bitmap_line_xdyd] + //SEG1329 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@6->bitmap_line_xdyd#0] -- register_copy + //SEG1330 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#1] -- register_copy + //SEG1331 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@6->bitmap_line_xdyd#2] -- register_copy + //SEG1332 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@6->bitmap_line_xdyd#3] -- register_copy + //SEG1333 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@6->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1336 bitmap_line::@1 + //SEG1334 bitmap_line::@1 b1: - //SEG1337 [651] (byte) bitmap_line::xd#0 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 + //SEG1335 [651] (byte) bitmap_line::xd#0 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 lda x1 sec sbc x0 sta xd - //SEG1338 [652] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@9 -- vbuz1_lt_vbuyy_then_la1 + //SEG1336 [652] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@9 -- vbuz1_lt_vbuyy_then_la1 tya cmp y0 beq !+ bcs b9 !: - //SEG1339 bitmap_line::@23 - //SEG1340 [653] (byte) bitmap_line::yd#3 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy + //SEG1337 bitmap_line::@23 + //SEG1338 [653] (byte) bitmap_line::yd#3 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuyy tya eor #$ff sec adc y0 sta yd - //SEG1341 [654] if((byte) bitmap_line::yd#3<(byte) bitmap_line::xd#0) goto bitmap_line::@10 -- vbuz1_lt_vbuz2_then_la1 + //SEG1339 [654] if((byte) bitmap_line::yd#3<(byte) bitmap_line::xd#0) goto bitmap_line::@10 -- vbuz1_lt_vbuz2_then_la1 cmp xd bcc b10 - //SEG1342 bitmap_line::@24 - //SEG1343 [655] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1340 bitmap_line::@24 + //SEG1341 [655] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_ydxd.y - //SEG1344 [656] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1 + //SEG1342 [656] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuxx=vbuz1 ldx x1 - //SEG1345 [657] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 - //SEG1346 [658] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#3 - //SEG1347 [659] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#0 - //SEG1348 [660] call bitmap_line_ydxd - //SEG1349 [733] phi from bitmap_line::@24 to bitmap_line_ydxd [phi:bitmap_line::@24->bitmap_line_ydxd] - //SEG1350 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@24->bitmap_line_ydxd#0] -- register_copy - //SEG1351 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#1] -- register_copy - //SEG1352 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@24->bitmap_line_ydxd#2] -- register_copy - //SEG1353 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@24->bitmap_line_ydxd#3] -- register_copy - //SEG1354 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#4] -- register_copy + //SEG1343 [657] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 + //SEG1344 [658] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#3 + //SEG1345 [659] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#0 + //SEG1346 [660] call bitmap_line_ydxd + //SEG1347 [733] phi from bitmap_line::@24 to bitmap_line_ydxd [phi:bitmap_line::@24->bitmap_line_ydxd] + //SEG1348 [733] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@24->bitmap_line_ydxd#0] -- register_copy + //SEG1349 [733] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#1] -- register_copy + //SEG1350 [733] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@24->bitmap_line_ydxd#2] -- register_copy + //SEG1351 [733] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@24->bitmap_line_ydxd#3] -- register_copy + //SEG1352 [733] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@24->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp breturn - //SEG1355 bitmap_line::@10 + //SEG1353 bitmap_line::@10 b10: - //SEG1356 [661] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1354 [661] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyd.x - //SEG1357 [662] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - //SEG1358 [663] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 - //SEG1359 [664] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#0 - //SEG1360 [665] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#3 - //SEG1361 [666] call bitmap_line_xdyd - //SEG1362 [718] phi from bitmap_line::@10 to bitmap_line_xdyd [phi:bitmap_line::@10->bitmap_line_xdyd] - //SEG1363 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@10->bitmap_line_xdyd#0] -- register_copy - //SEG1364 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#1] -- register_copy - //SEG1365 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@10->bitmap_line_xdyd#2] -- register_copy - //SEG1366 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@10->bitmap_line_xdyd#3] -- register_copy - //SEG1367 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#4] -- register_copy + //SEG1355 [662] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + //SEG1356 [663] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 + //SEG1357 [664] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#0 + //SEG1358 [665] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#3 + //SEG1359 [666] call bitmap_line_xdyd + //SEG1360 [718] phi from bitmap_line::@10 to bitmap_line_xdyd [phi:bitmap_line::@10->bitmap_line_xdyd] + //SEG1361 [718] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@10->bitmap_line_xdyd#0] -- register_copy + //SEG1362 [718] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#1] -- register_copy + //SEG1363 [718] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@10->bitmap_line_xdyd#2] -- register_copy + //SEG1364 [718] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@10->bitmap_line_xdyd#3] -- register_copy + //SEG1365 [718] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@10->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp breturn - //SEG1368 bitmap_line::@9 + //SEG1366 bitmap_line::@9 b9: - //SEG1369 [667] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2 + //SEG1367 [667] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuyy_minus_vbuz2 tya sec sbc y0 sta yd - //SEG1370 [668] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#0) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 + //SEG1368 [668] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#0) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 cmp xd bcc b13 - //SEG1371 bitmap_line::@27 - //SEG1372 [669] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + //SEG1369 bitmap_line::@27 + //SEG1370 [669] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda y0 sta bitmap_line_ydxi.y - //SEG1373 [670] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 + //SEG1371 [670] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuxx=vbuz1 ldx x0 - //SEG1374 [671] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy + //SEG1372 [671] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuyy sty bitmap_line_ydxi.y1 - //SEG1375 [672] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#10 - //SEG1376 [673] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#0 - //SEG1377 [674] call bitmap_line_ydxi - //SEG1378 [703] phi from bitmap_line::@27 to bitmap_line_ydxi [phi:bitmap_line::@27->bitmap_line_ydxi] - //SEG1379 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@27->bitmap_line_ydxi#0] -- register_copy - //SEG1380 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#1] -- register_copy - //SEG1381 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@27->bitmap_line_ydxi#2] -- register_copy - //SEG1382 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@27->bitmap_line_ydxi#3] -- register_copy - //SEG1383 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#4] -- register_copy + //SEG1373 [672] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#10 + //SEG1374 [673] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#0 + //SEG1375 [674] call bitmap_line_ydxi + //SEG1376 [703] phi from bitmap_line::@27 to bitmap_line_ydxi [phi:bitmap_line::@27->bitmap_line_ydxi] + //SEG1377 [703] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@27->bitmap_line_ydxi#0] -- register_copy + //SEG1378 [703] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#1] -- register_copy + //SEG1379 [703] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@27->bitmap_line_ydxi#2] -- register_copy + //SEG1380 [703] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@27->bitmap_line_ydxi#3] -- register_copy + //SEG1381 [703] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@27->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp breturn - //SEG1384 bitmap_line::@13 + //SEG1382 bitmap_line::@13 b13: - //SEG1385 [675] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + //SEG1383 [675] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda x0 sta bitmap_line_xdyi.x - //SEG1386 [676] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - //SEG1387 [677] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + //SEG1384 [676] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + //SEG1385 [677] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda x1 sta bitmap_line_xdyi.x1 - //SEG1388 [678] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#0 - //SEG1389 [679] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#10 - //SEG1390 [680] call bitmap_line_xdyi - //SEG1391 [681] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] - //SEG1392 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy - //SEG1393 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy - //SEG1394 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy - //SEG1395 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy - //SEG1396 [681] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy + //SEG1386 [678] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#0 + //SEG1387 [679] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#10 + //SEG1388 [680] call bitmap_line_xdyi + //SEG1389 [681] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] + //SEG1390 [681] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy + //SEG1391 [681] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy + //SEG1392 [681] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy + //SEG1393 [681] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy + //SEG1394 [681] 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 } -//SEG1397 bitmap_line_xdyi +//SEG1395 bitmap_line_xdyi // bitmap_line_xdyi(byte zeropage($e) x, byte zeropage($f) y, byte zeropage(9) x1, byte zeropage(8) xd, byte zeropage(7) yd) bitmap_line_xdyi: { .label x = $e @@ -32603,77 +32579,77 @@ bitmap_line_xdyi: { .label xd = 8 .label yd = 7 .label e = $12 - //SEG1398 [682] (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 + //SEG1396 [682] (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 - //SEG1399 [683] 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] - //SEG1400 [683] 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 - //SEG1401 [683] 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 - //SEG1402 [683] 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 - //SEG1403 bitmap_line_xdyi::@1 + //SEG1397 [683] 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] + //SEG1398 [683] 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 + //SEG1399 [683] 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 + //SEG1400 [683] 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 + //SEG1401 bitmap_line_xdyi::@1 b1: - //SEG1404 [684] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuxx=vbuz1 + //SEG1402 [684] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuxx=vbuz1 ldx x - //SEG1405 [685] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1 + //SEG1403 [685] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuyy=vbuz1 ldy y - //SEG1406 [686] call bitmap_plot - //SEG1407 [696] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] - //SEG1408 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy - //SEG1409 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy + //SEG1404 [686] call bitmap_plot + //SEG1405 [696] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] + //SEG1406 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy + //SEG1407 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot - //SEG1410 bitmap_line_xdyi::@5 - //SEG1411 [687] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 + //SEG1408 bitmap_line_xdyi::@5 + //SEG1409 [687] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1412 [688] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1410 [688] (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 - //SEG1413 [689] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1411 [689] 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 - //SEG1414 bitmap_line_xdyi::@3 - //SEG1415 [690] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1412 bitmap_line_xdyi::@3 + //SEG1413 [690] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1416 [691] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1414 [691] (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 - //SEG1417 [692] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@5 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2] - //SEG1418 [692] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#0] -- register_copy - //SEG1419 [692] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#1] -- register_copy - //SEG1420 bitmap_line_xdyi::@2 + //SEG1415 [692] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@5 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2] + //SEG1416 [692] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#0] -- register_copy + //SEG1417 [692] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@5->bitmap_line_xdyi::@2#1] -- register_copy + //SEG1418 bitmap_line_xdyi::@2 b2: - //SEG1421 [693] (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 + //SEG1419 [693] (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 - //SEG1422 [694] 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 + //SEG1420 [694] 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 - //SEG1423 bitmap_line_xdyi::@return - //SEG1424 [695] return + //SEG1421 bitmap_line_xdyi::@return + //SEG1422 [695] return rts } -//SEG1425 bitmap_plot +//SEG1423 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 - //SEG1426 [697] (word) bitmap_plot::plotter_x#0 ← *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[256]) bitmap_plot_xlo#0 + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx + //SEG1424 [697] (word) bitmap_plot::plotter_x#0 ← *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_plot::x#4) w= *((const byte[256]) 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 - //SEG1427 [698] (word) bitmap_plot::plotter_y#0 ← *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[256]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + //SEG1425 [698] (word) bitmap_plot::plotter_y#0 ← *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#4) w= *((const byte[256]) 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 - //SEG1428 [699] (word~) bitmap_plot::$0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 + //SEG1426 [699] (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 @@ -32681,17 +32657,17 @@ bitmap_plot: { lda _0+1 adc plotter_y+1 sta _0+1 - //SEG1429 [700] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[256]) bitmap_plot_bit#0 + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx + //SEG1427 [700] (byte~) bitmap_plot::$1 ← *((byte*)(word~) bitmap_plot::$0) | *((const byte[256]) 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 - //SEG1430 [701] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa + //SEG1428 [701] *((byte*)(word~) bitmap_plot::$0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa sta (_0),y - //SEG1431 bitmap_plot::@return - //SEG1432 [702] return + //SEG1429 bitmap_plot::@return + //SEG1430 [702] return rts } -//SEG1433 bitmap_line_ydxi +//SEG1431 bitmap_line_ydxi // bitmap_line_ydxi(byte zeropage($e) y, byte register(X) x, byte zeropage($f) y1, byte zeropage(7) yd, byte zeropage(8) xd) bitmap_line_ydxi: { .label y = $e @@ -32699,61 +32675,61 @@ bitmap_line_ydxi: { .label yd = 7 .label xd = 8 .label e = 9 - //SEG1434 [704] (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 + //SEG1432 [704] (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 - //SEG1435 [705] 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] - //SEG1436 [705] 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 - //SEG1437 [705] 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 - //SEG1438 [705] 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 - //SEG1439 bitmap_line_ydxi::@1 + //SEG1433 [705] 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] + //SEG1434 [705] 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 + //SEG1435 [705] 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 + //SEG1436 [705] 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 + //SEG1437 bitmap_line_ydxi::@1 b1: - //SEG1440 [706] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 - //SEG1441 [707] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1 + //SEG1438 [706] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 + //SEG1439 [707] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuyy=vbuz1 ldy y - //SEG1442 [708] call bitmap_plot - //SEG1443 [696] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] - //SEG1444 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy - //SEG1445 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy + //SEG1440 [708] call bitmap_plot + //SEG1441 [696] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] + //SEG1442 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy + //SEG1443 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot - //SEG1446 bitmap_line_ydxi::@5 - //SEG1447 [709] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 + //SEG1444 bitmap_line_ydxi::@5 + //SEG1445 [709] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 inc y - //SEG1448 [710] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1446 [710] (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 - //SEG1449 [711] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1447 [711] 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 - //SEG1450 bitmap_line_ydxi::@3 - //SEG1451 [712] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx + //SEG1448 bitmap_line_ydxi::@3 + //SEG1449 [712] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuxx=_inc_vbuxx inx - //SEG1452 [713] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1450 [713] (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 - //SEG1453 [714] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@5 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2] - //SEG1454 [714] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#0] -- register_copy - //SEG1455 [714] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#1] -- register_copy - //SEG1456 bitmap_line_ydxi::@2 + //SEG1451 [714] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@5 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2] + //SEG1452 [714] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#0] -- register_copy + //SEG1453 [714] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@5->bitmap_line_ydxi::@2#1] -- register_copy + //SEG1454 bitmap_line_ydxi::@2 b2: - //SEG1457 [715] (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 + //SEG1455 [715] (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 - //SEG1458 [716] 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 + //SEG1456 [716] 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 - //SEG1459 bitmap_line_ydxi::@return - //SEG1460 [717] return + //SEG1457 bitmap_line_ydxi::@return + //SEG1458 [717] return rts } -//SEG1461 bitmap_line_xdyd +//SEG1459 bitmap_line_xdyd // bitmap_line_xdyd(byte zeropage($e) x, byte zeropage($f) y, byte zeropage($12) x1, byte zeropage(8) xd, byte zeropage(7) yd) bitmap_line_xdyd: { .label x = $e @@ -32762,61 +32738,61 @@ bitmap_line_xdyd: { .label xd = 8 .label yd = 7 .label e = 9 - //SEG1462 [719] (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 + //SEG1460 [719] (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 - //SEG1463 [720] 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] - //SEG1464 [720] 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 - //SEG1465 [720] 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 - //SEG1466 [720] 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 - //SEG1467 bitmap_line_xdyd::@1 + //SEG1461 [720] 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] + //SEG1462 [720] 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 + //SEG1463 [720] 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 + //SEG1464 [720] 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 + //SEG1465 bitmap_line_xdyd::@1 b1: - //SEG1468 [721] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuxx=vbuz1 + //SEG1466 [721] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuxx=vbuz1 ldx x - //SEG1469 [722] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1 + //SEG1467 [722] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuyy=vbuz1 ldy y - //SEG1470 [723] call bitmap_plot - //SEG1471 [696] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] - //SEG1472 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy - //SEG1473 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy + //SEG1468 [723] call bitmap_plot + //SEG1469 [696] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] + //SEG1470 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy + //SEG1471 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot - //SEG1474 bitmap_line_xdyd::@5 - //SEG1475 [724] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 + //SEG1472 bitmap_line_xdyd::@5 + //SEG1473 [724] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 inc x - //SEG1476 [725] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1474 [725] (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 - //SEG1477 [726] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1475 [726] 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 - //SEG1478 bitmap_line_xdyd::@3 - //SEG1479 [727] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 + //SEG1476 bitmap_line_xdyd::@3 + //SEG1477 [727] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 dec y - //SEG1480 [728] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1478 [728] (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 - //SEG1481 [729] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@5 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2] - //SEG1482 [729] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#0] -- register_copy - //SEG1483 [729] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#1] -- register_copy - //SEG1484 bitmap_line_xdyd::@2 + //SEG1479 [729] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@5 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2] + //SEG1480 [729] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#0] -- register_copy + //SEG1481 [729] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@5->bitmap_line_xdyd::@2#1] -- register_copy + //SEG1482 bitmap_line_xdyd::@2 b2: - //SEG1485 [730] (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 + //SEG1483 [730] (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 - //SEG1486 [731] 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 + //SEG1484 [731] 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 - //SEG1487 bitmap_line_xdyd::@return - //SEG1488 [732] return + //SEG1485 bitmap_line_xdyd::@return + //SEG1486 [732] return rts } -//SEG1489 bitmap_line_ydxd +//SEG1487 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 @@ -32824,193 +32800,193 @@ bitmap_line_ydxd: { .label yd = 7 .label xd = 8 .label e = 9 - //SEG1490 [734] (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 + //SEG1488 [734] (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 - //SEG1491 [735] 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] - //SEG1492 [735] 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 - //SEG1493 [735] 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 - //SEG1494 [735] 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 - //SEG1495 bitmap_line_ydxd::@1 + //SEG1489 [735] 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] + //SEG1490 [735] 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 + //SEG1491 [735] 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 + //SEG1492 [735] 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 + //SEG1493 bitmap_line_ydxd::@1 b1: - //SEG1496 [736] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 - //SEG1497 [737] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1 + //SEG1494 [736] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 + //SEG1495 [737] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuyy=vbuz1 ldy y - //SEG1498 [738] call bitmap_plot - //SEG1499 [696] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] - //SEG1500 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy - //SEG1501 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy + //SEG1496 [738] call bitmap_plot + //SEG1497 [696] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] + //SEG1498 [696] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy + //SEG1499 [696] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot - //SEG1502 bitmap_line_ydxd::@5 - //SEG1503 [739] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 + //SEG1500 bitmap_line_ydxd::@5 + //SEG1501 [739] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 inc y - //SEG1504 [740] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + //SEG1502 [740] (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 - //SEG1505 [741] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 + //SEG1503 [741] 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 - //SEG1506 bitmap_line_ydxd::@3 - //SEG1507 [742] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx + //SEG1504 bitmap_line_ydxd::@3 + //SEG1505 [742] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuxx=_dec_vbuxx dex - //SEG1508 [743] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + //SEG1506 [743] (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 - //SEG1509 [744] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@5 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2] - //SEG1510 [744] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#0] -- register_copy - //SEG1511 [744] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#1] -- register_copy - //SEG1512 bitmap_line_ydxd::@2 + //SEG1507 [744] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@5 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2] + //SEG1508 [744] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#0] -- register_copy + //SEG1509 [744] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@5->bitmap_line_ydxd::@2#1] -- register_copy + //SEG1510 bitmap_line_ydxd::@2 b2: - //SEG1513 [745] (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 + //SEG1511 [745] (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 - //SEG1514 [746] 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 + //SEG1512 [746] 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 - //SEG1515 bitmap_line_ydxd::@return - //SEG1516 [747] return + //SEG1513 bitmap_line_ydxd::@return + //SEG1514 [747] return rts } -//SEG1517 bitmap_clear +//SEG1515 bitmap_clear // Clear all graphics on the bitmap bitmap_clear: { .label bitmap = 3 .label y = 2 .label _3 = 3 - //SEG1518 [748] (word~) bitmap_clear::$3 ← *((const byte[256]) bitmap_plot_xhi#0) w= *((const byte[256]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG1516 [748] (word~) bitmap_clear::$3 ← *((const byte[256]) bitmap_plot_xhi#0) w= *((const byte[256]) bitmap_plot_xlo#0) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda bitmap_plot_xlo sta _3 lda bitmap_plot_xhi sta _3+1 - //SEG1519 [749] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 - //SEG1520 [750] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] - //SEG1521 [750] 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 + //SEG1517 [749] (byte*~) bitmap_clear::bitmap#5 ← (byte*)(word~) bitmap_clear::$3 + //SEG1518 [750] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] + //SEG1519 [750] 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 - //SEG1522 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy - //SEG1523 [750] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] - //SEG1524 [750] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy - //SEG1525 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy - //SEG1526 bitmap_clear::@1 + //SEG1520 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*~) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy + //SEG1521 [750] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] + //SEG1522 [750] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy + //SEG1523 [750] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy + //SEG1524 bitmap_clear::@1 b1: - //SEG1527 [751] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] - //SEG1528 [751] 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 + //SEG1525 [751] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] + //SEG1526 [751] 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 - //SEG1529 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy - //SEG1530 [751] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] - //SEG1531 [751] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy - //SEG1532 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy - //SEG1533 bitmap_clear::@2 + //SEG1527 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy + //SEG1528 [751] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] + //SEG1529 [751] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy + //SEG1530 [751] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy + //SEG1531 bitmap_clear::@2 b2: - //SEG1534 [752] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1532 [752] *((byte*) bitmap_clear::bitmap#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 lda #0 tay sta (bitmap),y - //SEG1535 [753] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 + //SEG1533 [753] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 inc bitmap bne !+ inc bitmap+1 !: - //SEG1536 [754] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx + //SEG1534 [754] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx inx - //SEG1537 [755] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) 200) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1535 [755] if((byte) bitmap_clear::x#1!=(byte/word/signed word/dword/signed dword) 200) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$c8 bne b2 - //SEG1538 bitmap_clear::@3 - //SEG1539 [756] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 + //SEG1536 bitmap_clear::@3 + //SEG1537 [756] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 inc y - //SEG1540 [757] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1538 [757] if((byte) bitmap_clear::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 lda y cmp #$28 bne b1 - //SEG1541 bitmap_clear::@return - //SEG1542 [758] return + //SEG1539 bitmap_clear::@return + //SEG1540 [758] return rts } -//SEG1543 bitmap_init +//SEG1541 bitmap_init // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { .label _6 = 2 .label yoffs = 3 - //SEG1544 [760] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] - //SEG1545 [760] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 + //SEG1542 [760] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] + //SEG1543 [760] phi (byte) bitmap_init::bits#3 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 ldy #$80 - //SEG1546 [760] 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 + //SEG1544 [760] 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 - //SEG1547 [760] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] - //SEG1548 [760] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy - //SEG1549 [760] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy - //SEG1550 bitmap_init::@1 + //SEG1545 [760] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] + //SEG1546 [760] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy + //SEG1547 [760] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy + //SEG1548 bitmap_init::@1 b1: - //SEG1551 [761] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) 248 -- vbuaa=vbuxx_band_vbuc1 + //SEG1549 [761] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte/word/signed word/dword/signed dword) 248 -- vbuaa=vbuxx_band_vbuc1 txa and #$f8 - //SEG1552 [762] *((const byte[256]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1550 [762] *((const byte[256]) bitmap_plot_xlo#0 + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_xlo,x - //SEG1553 [763] *((const byte[256]) bitmap_plot_xhi#0 + (byte) bitmap_init::x#2) ← >(const byte*) VIC_BITMAP#0 -- pbuc1_derefidx_vbuxx=vbuc2 + //SEG1551 [763] *((const byte[256]) 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 - //SEG1554 [764] *((const byte[256]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy + //SEG1552 [764] *((const byte[256]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy tya sta bitmap_plot_bit,x - //SEG1555 [765] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuyy=vbuyy_ror_1 + //SEG1553 [765] (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 - //SEG1556 [766] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@10 -- vbuyy_neq_0_then_la1 + //SEG1554 [766] if((byte) bitmap_init::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto bitmap_init::@10 -- vbuyy_neq_0_then_la1 cpy #0 bne b2 - //SEG1557 [767] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] - //SEG1558 [767] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 + //SEG1555 [767] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] + //SEG1556 [767] phi (byte) bitmap_init::bits#4 = (byte/word/signed word/dword/signed dword) 128 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 ldy #$80 - //SEG1559 bitmap_init::@2 + //SEG1557 bitmap_init::@2 b2: - //SEG1560 [768] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx + //SEG1558 [768] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx inx - //SEG1561 [769] 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 + //SEG1559 [769] 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 - //SEG1562 [770] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] - //SEG1563 [770] 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 + //SEG1560 [770] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] + //SEG1561 [770] 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 - //SEG1564 [770] 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 + //SEG1562 [770] 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 - //SEG1565 [770] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] - //SEG1566 [770] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy - //SEG1567 [770] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy - //SEG1568 bitmap_init::@3 + //SEG1563 [770] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] + //SEG1564 [770] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy + //SEG1565 [770] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy + //SEG1566 bitmap_init::@3 b3: - //SEG1569 [771] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1 + //SEG1567 [771] (byte~) bitmap_init::$6 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuxx_band_vbuc1 txa and #7 sta _6 - //SEG1570 [772] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 + //SEG1568 [772] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 lda yoffs - //SEG1571 [773] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa + //SEG1569 [773] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$6 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa ora _6 - //SEG1572 [774] *((const byte[256]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1570 [774] *((const byte[256]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_ylo,x - //SEG1573 [775] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 + //SEG1571 [775] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 lda yoffs+1 - //SEG1574 [776] *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa + //SEG1572 [776] *((const byte[256]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_yhi,x - //SEG1575 [777] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuxx_band_vbuc1 + //SEG1573 [777] (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 - //SEG1576 [778] if((byte~) bitmap_init::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto bitmap_init::@4 -- vbuaa_neq_vbuc1_then_la1 + //SEG1574 [778] 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 - //SEG1577 bitmap_init::@7 - //SEG1578 [779] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 + //SEG1575 bitmap_init::@7 + //SEG1576 [779] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vwuc1 clc lda yoffs adc #<$28*8 @@ -33018,428 +32994,428 @@ bitmap_init: { lda yoffs+1 adc #>$28*8 sta yoffs+1 - //SEG1579 [780] phi from bitmap_init::@3 bitmap_init::@7 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4] - //SEG1580 [780] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4#0] -- register_copy - //SEG1581 bitmap_init::@4 + //SEG1577 [780] phi from bitmap_init::@3 bitmap_init::@7 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4] + //SEG1578 [780] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@7->bitmap_init::@4#0] -- register_copy + //SEG1579 bitmap_init::@4 b4: - //SEG1582 [781] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx + //SEG1580 [781] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx inx - //SEG1583 [782] 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 + //SEG1581 [782] 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 - //SEG1584 bitmap_init::@return - //SEG1585 [783] return + //SEG1582 bitmap_init::@return + //SEG1583 [783] return rts - //SEG1586 [784] phi from bitmap_init::@1 to bitmap_init::@10 [phi:bitmap_init::@1->bitmap_init::@10] - //SEG1587 bitmap_init::@10 - //SEG1588 [767] phi from bitmap_init::@10 to bitmap_init::@2 [phi:bitmap_init::@10->bitmap_init::@2] - //SEG1589 [767] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@10->bitmap_init::@2#0] -- register_copy + //SEG1584 [784] phi from bitmap_init::@1 to bitmap_init::@10 [phi:bitmap_init::@1->bitmap_init::@10] + //SEG1585 bitmap_init::@10 + //SEG1586 [767] phi from bitmap_init::@10 to bitmap_init::@2 [phi:bitmap_init::@10->bitmap_init::@2] + //SEG1587 [767] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@10->bitmap_init::@2#0] -- register_copy } -//SEG1590 gfx_init_charset +//SEG1588 gfx_init_charset gfx_init_charset: { .label charset = 5 .label chargen = 3 .label c = 2 - //SEG1591 [785] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 -- _deref_pbuc1=vbuc2 + //SEG1589 [785] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - //SEG1592 [786] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] - //SEG1593 [786] 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 + //SEG1590 [786] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] + //SEG1591 [786] 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 - //SEG1594 [786] phi (byte*) gfx_init_charset::charset#3 = (const byte*) VIC_CHARSET_ROM#0 [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 + //SEG1592 [786] 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 - //SEG1595 [786] phi (byte*) gfx_init_charset::chargen#3 = (const byte*) CHARGEN#0 [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 + //SEG1593 [786] 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 - //SEG1596 [786] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] - //SEG1597 [786] 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 - //SEG1598 [786] 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 - //SEG1599 [786] 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 - //SEG1600 gfx_init_charset::@1 + //SEG1594 [786] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] + //SEG1595 [786] 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 + //SEG1596 [786] 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 + //SEG1597 [786] 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 + //SEG1598 gfx_init_charset::@1 b1: - //SEG1601 [787] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] - //SEG1602 [787] 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 + //SEG1599 [787] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] + //SEG1600 [787] 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 - //SEG1603 [787] 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 - //SEG1604 [787] 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 - //SEG1605 [787] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] - //SEG1606 [787] 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 - //SEG1607 [787] 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 - //SEG1608 [787] 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 - //SEG1609 gfx_init_charset::@2 + //SEG1601 [787] 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 + //SEG1602 [787] 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 + //SEG1603 [787] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] + //SEG1604 [787] 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 + //SEG1605 [787] 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 + //SEG1606 [787] 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 + //SEG1607 gfx_init_charset::@2 b2: - //SEG1610 [788] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 + //SEG1608 [788] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta (charset),y - //SEG1611 [789] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 + //SEG1609 [789] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 inc charset bne !+ inc charset+1 !: - //SEG1612 [790] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 + //SEG1610 [790] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 inc chargen bne !+ inc chargen+1 !: - //SEG1613 [791] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx + //SEG1611 [791] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx inx - //SEG1614 [792] 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 + //SEG1612 [792] 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 - //SEG1615 gfx_init_charset::@3 - //SEG1616 [793] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 + //SEG1613 gfx_init_charset::@3 + //SEG1614 [793] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 inc c - //SEG1617 [794] 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 + //SEG1615 [794] 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 - //SEG1618 gfx_init_charset::@4 - //SEG1619 [795] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 -- _deref_pbuc1=vbuc2 + //SEG1616 gfx_init_charset::@4 + //SEG1617 [795] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT - //SEG1620 gfx_init_charset::@return - //SEG1621 [796] return + //SEG1618 gfx_init_charset::@return + //SEG1619 [796] return rts } -//SEG1622 gfx_init_screen4 +//SEG1620 gfx_init_screen4 // Initialize VIC screen 4 - all chars are 00 gfx_init_screen4: { .label ch = 3 .label cy = 2 - //SEG1623 [798] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] - //SEG1624 [798] 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 + //SEG1621 [798] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] + //SEG1622 [798] 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 - //SEG1625 [798] phi (byte*) gfx_init_screen4::ch#3 = (const byte*) VIC_SCREEN4#0 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 + //SEG1623 [798] 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 - //SEG1626 [798] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] - //SEG1627 [798] 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 - //SEG1628 [798] 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 - //SEG1629 gfx_init_screen4::@1 + //SEG1624 [798] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] + //SEG1625 [798] 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 + //SEG1626 [798] 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 + //SEG1627 gfx_init_screen4::@1 b1: - //SEG1630 [799] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] - //SEG1631 [799] 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 + //SEG1628 [799] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] + //SEG1629 [799] 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 - //SEG1632 [799] 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 - //SEG1633 [799] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] - //SEG1634 [799] 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 - //SEG1635 [799] 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 - //SEG1636 gfx_init_screen4::@2 + //SEG1630 [799] 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 + //SEG1631 [799] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] + //SEG1632 [799] 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 + //SEG1633 [799] 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 + //SEG1634 gfx_init_screen4::@2 b2: - //SEG1637 [800] *((byte*) gfx_init_screen4::ch#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuz1=vbuc1 + //SEG1635 [800] *((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 - //SEG1638 [801] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1636 [801] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1639 [802] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx + //SEG1637 [802] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1640 [803] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1638 [803] if((byte) gfx_init_screen4::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1641 gfx_init_screen4::@3 - //SEG1642 [804] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1639 gfx_init_screen4::@3 + //SEG1640 [804] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1643 [805] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1641 [805] if((byte) gfx_init_screen4::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1 - //SEG1644 gfx_init_screen4::@return - //SEG1645 [806] return + //SEG1642 gfx_init_screen4::@return + //SEG1643 [806] return rts } -//SEG1646 gfx_init_screen3 +//SEG1644 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 - //SEG1647 [808] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] - //SEG1648 [808] phi (byte*) gfx_init_screen3::ch#3 = (const byte*) VIC_SCREEN3#0 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 + //SEG1645 [808] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] + //SEG1646 [808] 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 - //SEG1649 [808] 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 + //SEG1647 [808] 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 - //SEG1650 [808] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] - //SEG1651 [808] 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 - //SEG1652 [808] 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 - //SEG1653 gfx_init_screen3::@1 + //SEG1648 [808] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] + //SEG1649 [808] 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 + //SEG1650 [808] 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 + //SEG1651 gfx_init_screen3::@1 b1: - //SEG1654 [809] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] - //SEG1655 [809] 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 - //SEG1656 [809] 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 + //SEG1652 [809] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] + //SEG1653 [809] 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 + //SEG1654 [809] 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 - //SEG1657 [809] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] - //SEG1658 [809] 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 - //SEG1659 [809] 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 - //SEG1660 gfx_init_screen3::@2 + //SEG1655 [809] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] + //SEG1656 [809] 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 + //SEG1657 [809] 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 + //SEG1658 gfx_init_screen3::@2 b2: - //SEG1661 [810] (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 + //SEG1659 [810] (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 - //SEG1662 [811] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 + //SEG1660 [811] (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 - //SEG1663 [812] (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 + //SEG1661 [812] (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 - //SEG1664 [813] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa + //SEG1662 [813] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG1665 [814] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa + //SEG1663 [814] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1666 [815] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1664 [815] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1667 [816] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx + //SEG1665 [816] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1668 [817] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1666 [817] if((byte) gfx_init_screen3::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1669 gfx_init_screen3::@3 - //SEG1670 [818] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1667 gfx_init_screen3::@3 + //SEG1668 [818] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1671 [819] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1669 [819] if((byte) gfx_init_screen3::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1 - //SEG1672 gfx_init_screen3::@return - //SEG1673 [820] return + //SEG1670 gfx_init_screen3::@return + //SEG1671 [820] return rts } -//SEG1674 gfx_init_screen2 +//SEG1672 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 - //SEG1675 [822] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] - //SEG1676 [822] phi (byte*) gfx_init_screen2::ch#3 = (const byte*) VIC_SCREEN2#0 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 + //SEG1673 [822] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] + //SEG1674 [822] 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 - //SEG1677 [822] 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 + //SEG1675 [822] 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 - //SEG1678 [822] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] - //SEG1679 [822] 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 - //SEG1680 [822] 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 - //SEG1681 gfx_init_screen2::@1 + //SEG1676 [822] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] + //SEG1677 [822] 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 + //SEG1678 [822] 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 + //SEG1679 gfx_init_screen2::@1 b1: - //SEG1682 [823] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] - //SEG1683 [823] 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 - //SEG1684 [823] 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 + //SEG1680 [823] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] + //SEG1681 [823] 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 + //SEG1682 [823] 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 - //SEG1685 [823] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] - //SEG1686 [823] 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 - //SEG1687 [823] 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 - //SEG1688 gfx_init_screen2::@2 + //SEG1683 [823] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] + //SEG1684 [823] 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 + //SEG1685 [823] 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 + //SEG1686 gfx_init_screen2::@2 b2: - //SEG1689 [824] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + //SEG1687 [824] (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 - //SEG1690 [825] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuyy=vbuaa_band_vbuc1 + //SEG1688 [825] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuyy=vbuaa_band_vbuc1 and #$f tay - //SEG1691 [826] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) 15 - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy + //SEG1689 [826] (byte) gfx_init_screen2::col2#0 ← (byte/signed byte/word/signed word/dword/signed dword) 15 - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy tya eor #$ff clc adc #$f+1 sta col2 - //SEG1692 [827] (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 + //SEG1690 [827] (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 - //SEG1693 [828] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 + //SEG1691 [828] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 ora col2 - //SEG1694 [829] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa + //SEG1692 [829] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1695 [830] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1693 [830] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1696 [831] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx + //SEG1694 [831] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1697 [832] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1695 [832] if((byte) gfx_init_screen2::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1698 gfx_init_screen2::@3 - //SEG1699 [833] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1696 gfx_init_screen2::@3 + //SEG1697 [833] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1700 [834] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1698 [834] if((byte) gfx_init_screen2::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1 - //SEG1701 gfx_init_screen2::@return - //SEG1702 [835] return + //SEG1699 gfx_init_screen2::@return + //SEG1700 [835] return rts } -//SEG1703 gfx_init_screen1 +//SEG1701 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 - //SEG1704 [837] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] - //SEG1705 [837] phi (byte*) gfx_init_screen1::ch#3 = (const byte*) VIC_SCREEN1#0 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 + //SEG1702 [837] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] + //SEG1703 [837] 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 - //SEG1706 [837] 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 + //SEG1704 [837] 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 - //SEG1707 [837] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] - //SEG1708 [837] 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 - //SEG1709 [837] 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 - //SEG1710 gfx_init_screen1::@1 + //SEG1705 [837] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] + //SEG1706 [837] 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 + //SEG1707 [837] 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 + //SEG1708 gfx_init_screen1::@1 b1: - //SEG1711 [838] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] - //SEG1712 [838] 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 - //SEG1713 [838] 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 + //SEG1709 [838] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] + //SEG1710 [838] 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 + //SEG1711 [838] 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 - //SEG1714 [838] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] - //SEG1715 [838] 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 - //SEG1716 [838] 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 - //SEG1717 gfx_init_screen1::@2 + //SEG1712 [838] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] + //SEG1713 [838] 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 + //SEG1714 [838] 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 + //SEG1715 gfx_init_screen1::@2 b2: - //SEG1718 [839] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + //SEG1716 [839] (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 - //SEG1719 [840] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuaa_band_vbuc1 + //SEG1717 [840] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuaa_band_vbuc1 and #$f - //SEG1720 [841] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa + //SEG1718 [841] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1721 [842] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1719 [842] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1722 [843] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx + //SEG1720 [843] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1723 [844] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1721 [844] if((byte) gfx_init_screen1::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1724 gfx_init_screen1::@3 - //SEG1725 [845] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1722 gfx_init_screen1::@3 + //SEG1723 [845] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1726 [846] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1724 [846] if((byte) gfx_init_screen1::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1 - //SEG1727 gfx_init_screen1::@return - //SEG1728 [847] return + //SEG1725 gfx_init_screen1::@return + //SEG1726 [847] return rts } -//SEG1729 gfx_init_screen0 +//SEG1727 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 - //SEG1730 [849] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] - //SEG1731 [849] phi (byte*) gfx_init_screen0::ch#3 = (const byte*) VIC_SCREEN0#0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 + //SEG1728 [849] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] + //SEG1729 [849] 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 - //SEG1732 [849] 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 + //SEG1730 [849] 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 - //SEG1733 [849] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] - //SEG1734 [849] 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 - //SEG1735 [849] 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 - //SEG1736 gfx_init_screen0::@1 + //SEG1731 [849] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] + //SEG1732 [849] 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 + //SEG1733 [849] 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 + //SEG1734 gfx_init_screen0::@1 b1: - //SEG1737 [850] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] - //SEG1738 [850] 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 - //SEG1739 [850] 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 + //SEG1735 [850] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] + //SEG1736 [850] 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 + //SEG1737 [850] 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 - //SEG1740 [850] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] - //SEG1741 [850] 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 - //SEG1742 [850] 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 - //SEG1743 gfx_init_screen0::@2 + //SEG1738 [850] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] + //SEG1739 [850] 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 + //SEG1740 [850] 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 + //SEG1741 gfx_init_screen0::@2 b2: - //SEG1744 [851] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuz1_band_vbuc1 + //SEG1742 [851] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuz1_band_vbuc1 lda #$f and cy - //SEG1745 [852] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuaa_rol_4 + //SEG1743 [852] (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 - //SEG1746 [853] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuxx_band_vbuc1 + //SEG1744 [853] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG1747 [854] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa + //SEG1745 [854] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa ora _1 - //SEG1748 [855] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa + //SEG1746 [855] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - //SEG1749 [856] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 + //SEG1747 [856] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 inc ch bne !+ inc ch+1 !: - //SEG1750 [857] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx + //SEG1748 [857] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx inx - //SEG1751 [858] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 + //SEG1749 [858] if((byte) gfx_init_screen0::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b2 - //SEG1752 gfx_init_screen0::@3 - //SEG1753 [859] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 + //SEG1750 gfx_init_screen0::@3 + //SEG1751 [859] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 inc cy - //SEG1754 [860] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 + //SEG1752 [860] if((byte) gfx_init_screen0::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b1 - //SEG1755 gfx_init_screen0::@return - //SEG1756 [861] return + //SEG1753 gfx_init_screen0::@return + //SEG1754 [861] return rts } -//SEG1757 keyboard_init +//SEG1755 keyboard_init // Initialize keyboard reading by setting CIA#$ Data Direction Registers keyboard_init: { - //SEG1758 [862] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuc1=vbuc2 + //SEG1756 [862] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 -- _deref_pbuc1=vbuc2 // Keyboard Matrix Columns Write Mode lda #$ff sta CIA1_PORT_A_DDR - //SEG1759 [863] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + //SEG1757 [863] *((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 - //SEG1760 keyboard_init::@return - //SEG1761 [864] return + //SEG1758 keyboard_init::@return + //SEG1759 [864] return rts } // Default vallues for the palette diff --git a/src/test/ref/c64dtv-gfxexplorer.sym b/src/test/ref/c64dtv-gfxexplorer.sym index 4235c9db7..14fe2cb93 100644 --- a/src/test/ref/c64dtv-gfxexplorer.sym +++ b/src/test/ref/c64dtv-gfxexplorer.sym @@ -1545,7 +1545,6 @@ (const byte*) render_preset_name::name#0 name#0 = (string) "Standard Charset @" (const byte*) render_preset_name::name#1 name#1 = (string) "Extended Color Charset @" (const byte*) render_preset_name::name#10 name#10 = (string) "8bpp Pixel Cell @" -(const byte*) render_preset_name::name#11 name#11 = (string) "Standard Charset @" (byte*) render_preset_name::name#12 name zp ZP_WORD:3 2.0 (const byte*) render_preset_name::name#2 name#2 = (string) "Standard Bitmap @" (const byte*) render_preset_name::name#3 name#3 = (string) "Multicolor Bitmap @" diff --git a/src/test/ref/c64dtv-gfxmodes.log b/src/test/ref/c64dtv-gfxmodes.log index 96fe704e5..5c25d79b6 100644 --- a/src/test/ref/c64dtv-gfxmodes.log +++ b/src/test/ref/c64dtv-gfxmodes.log @@ -7955,6 +7955,7 @@ Removing PHI-reference to removed block (menu::@3) in block menu::@return if() condition always true - replacing block destination [232] if(true) goto menu::@4 if() condition always true - replacing block destination [297] if(true) goto mode_ctrl::@2 Successful SSA optimization Pass2ConstantIfs +Successful SSA optimization Pass2ConstantStringConsolidation Fixing inline constructor with bitmap_clear::$3 ← *(bitmap_plot_xhi#0 + 0) w= *(bitmap_plot_xlo#0 + 0) Fixing inline constructor with bitmap_plot::$2 ← *(bitmap_plot_xhi#0 + bitmap_plot::x#4) w= *(bitmap_plot_xlo#0 + bitmap_plot::x#4) Fixing inline constructor with bitmap_plot::$3 ← *(bitmap_plot_yhi#0 + bitmap_plot::y#4) w= *(bitmap_plot_ylo#0 + bitmap_plot::y#4) diff --git a/src/test/ref/constants.asm b/src/test/ref/constants.asm index 3249e5e1a..c46545236 100644 --- a/src/test/ref/constants.asm +++ b/src/test/ref/constants.asm @@ -62,8 +62,6 @@ test_sbytes: { sta assert_sbyte.msg+1 jsr assert_sbyte rts - msg: .text "0=0@" - msg1: .text "0+2=2@" msg2: .text "0+2-4=-2@" msg3: .text "-(0+2-4)=2@" msg4: .text "-127-127=2@" @@ -101,9 +99,6 @@ assert_sbyte: { sta print_str.str+1 jsr print_str jmp b2 - str: .text " @" - str1: .text "fail!@" - str2: .text "ok@" } // Print a zero-terminated string // print_str(byte* zeropage(2) str) @@ -195,8 +190,6 @@ test_bytes: { sta assert_byte.msg+1 jsr assert_byte rts - msg: .text "0=0@" - msg1: .text "0+2=2@" msg2: .text "0+2-4=254@" } // assert_byte(byte* zeropage(2) msg, byte register(X) b, byte zeropage(4) c) @@ -228,9 +221,6 @@ assert_byte: { sta print_str.str+1 jsr print_str jmp b2 - str: .text " @" - str1: .text "fail!@" - str2: .text "ok@" } // Clear the screen. Also resets current line/char cursor. print_cls: { @@ -255,3 +245,8 @@ print_cls: { bne b1 rts } + str: .text " @" + str2: .text "ok@" + msg1: .text "0+2=2@" + msg: .text "0=0@" + str1: .text "fail!@" diff --git a/src/test/ref/constants.cfg b/src/test/ref/constants.cfg index f1b729503..f9f39988d 100644 --- a/src/test/ref/constants.cfg +++ b/src/test/ref/constants.cfg @@ -48,7 +48,7 @@ test_sbytes::@return: scope:[test_sbytes] from test_sbytes::@4 assert_sbyte: scope:[assert_sbyte] from test_sbytes test_sbytes::@1 test_sbytes::@2 test_sbytes::@3 test_sbytes::@4 [22] (signed byte) assert_sbyte::c#5 ← phi( test_sbytes/(byte/signed byte/word/signed word/dword/signed dword) 0 test_sbytes::@1/(byte/signed byte/word/signed word/dword/signed dword) 2 test_sbytes::@2/-(byte/signed byte/word/signed word/dword/signed dword) 2 test_sbytes::@3/(byte/signed byte/word/signed word/dword/signed dword) 2 test_sbytes::@4/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [22] (signed byte) assert_sbyte::b#5 ← phi( test_sbytes/(const signed byte) test_sbytes::bb#0 test_sbytes::@1/(const signed byte) test_sbytes::bc#0 test_sbytes::@2/(const signed byte) test_sbytes::bd#0 test_sbytes::@3/(const signed byte) test_sbytes::be#0 test_sbytes::@4/(const signed byte) test_sbytes::bf#0 ) - [22] (byte*) assert_sbyte::msg#5 ← phi( test_sbytes/(const string) test_sbytes::msg test_sbytes::@1/(const string) test_sbytes::msg1 test_sbytes::@2/(const string) test_sbytes::msg2 test_sbytes::@3/(const string) test_sbytes::msg3 test_sbytes::@4/(const string) test_sbytes::msg4 ) + [22] (byte*) assert_sbyte::msg#5 ← phi( test_sbytes/(const string) msg test_sbytes::@1/(const string) msg1 test_sbytes::@2/(const string) test_sbytes::msg2 test_sbytes::@3/(const string) test_sbytes::msg3 test_sbytes::@4/(const string) test_sbytes::msg4 ) [23] (byte*) print_str::str#5 ← (byte*) assert_sbyte::msg#5 [24] (byte*~) print_char_cursor#87 ← (byte*) print_line_cursor#1 [25] call print_str @@ -77,7 +77,7 @@ assert_sbyte::@1: scope:[assert_sbyte] from assert_sbyte::@6 to:assert_sbyte::@2 print_str: scope:[print_str] from assert_byte assert_byte::@1 assert_byte::@3 assert_byte::@5 assert_sbyte assert_sbyte::@1 assert_sbyte::@3 assert_sbyte::@5 [36] (byte*) print_char_cursor#80 ← phi( assert_byte/(byte*) print_char_cursor#70 assert_byte::@1/(byte*) print_char_cursor#2 assert_byte::@3/(byte*) print_char_cursor#2 assert_byte::@5/(byte*) print_char_cursor#2 assert_sbyte/(byte*~) print_char_cursor#87 assert_sbyte::@1/(byte*) print_char_cursor#2 assert_sbyte::@3/(byte*) print_char_cursor#2 assert_sbyte::@5/(byte*) print_char_cursor#2 ) - [36] (byte*) print_str::str#11 ← phi( assert_byte/(byte*) print_str::str#1 assert_byte::@1/(const string) assert_byte::str1 assert_byte::@3/(const string) assert_byte::str2 assert_byte::@5/(const string) assert_byte::str assert_sbyte/(byte*) print_str::str#5 assert_sbyte::@1/(const string) assert_sbyte::str1 assert_sbyte::@3/(const string) assert_sbyte::str2 assert_sbyte::@5/(const string) assert_sbyte::str ) + [36] (byte*) print_str::str#11 ← phi( assert_byte/(byte*) print_str::str#1 assert_byte::@1/(const string) str1 assert_byte::@3/(const string) str2 assert_byte::@5/(const string) str assert_sbyte/(byte*) print_str::str#5 assert_sbyte::@1/(const string) str1 assert_sbyte::@3/(const string) str2 assert_sbyte::@5/(const string) str ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [37] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#80 print_str::@2/(byte*) print_char_cursor#1 ) @@ -123,7 +123,7 @@ assert_byte: scope:[assert_byte] from test_bytes test_bytes::@1 test_bytes::@2 [55] (byte) assert_byte::c#3 ← phi( test_bytes/(byte/signed byte/word/signed word/dword/signed dword) 0 test_bytes::@1/(byte/signed byte/word/signed word/dword/signed dword) 2 test_bytes::@2/(byte/word/signed word/dword/signed dword) 254 ) [55] (byte) assert_byte::b#3 ← phi( test_bytes/(const byte) test_bytes::bb#0 test_bytes::@1/(const byte) test_bytes::bc#0 test_bytes::@2/(const byte) test_bytes::bd#0 ) [55] (byte*) print_char_cursor#70 ← phi( test_bytes/((byte*))(word/signed word/dword/signed dword) 1024 test_bytes::@1/(byte*~) print_char_cursor#93 test_bytes::@2/(byte*~) print_char_cursor#94 ) - [55] (byte*) assert_byte::msg#3 ← phi( test_bytes/(const string) test_bytes::msg test_bytes::@1/(const string) test_bytes::msg1 test_bytes::@2/(const string) test_bytes::msg2 ) + [55] (byte*) assert_byte::msg#3 ← phi( test_bytes/(const string) msg test_bytes::@1/(const string) msg1 test_bytes::@2/(const string) test_bytes::msg2 ) [56] (byte*) print_str::str#1 ← (byte*) assert_byte::msg#3 [57] call print_str to:assert_byte::@5 diff --git a/src/test/ref/constants.log b/src/test/ref/constants.log index 8e4b8214d..83e0d6de9 100644 --- a/src/test/ref/constants.log +++ b/src/test/ref/constants.log @@ -921,6 +921,7 @@ Constant (const signed byte) assert_sbyte::b#3 = test_sbytes::be#0 Successful SSA optimization Pass2ConstantIdentification Constant (const byte) assert_byte::b#2 = test_bytes::bd#0 Successful SSA optimization Pass2ConstantIdentification +Successful SSA optimization Pass2ConstantStringConsolidation Successful SSA optimization PassNEliminateUnusedVars Successful SSA optimization PassNEliminateUnusedVars Culled Empty Block (label) print_ln::@2 @@ -971,13 +972,17 @@ Inlining constant with var siblings (const signed byte) assert_sbyte::b#4 Inlining constant with var siblings (const signed byte) assert_sbyte::b#3 Inlining constant with var siblings (const byte*) print_line_cursor#0 Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000 +Constant inlined test_bytes::msg = (const string) msg +Constant inlined test_sbytes::msg = (const string) msg Constant inlined assert_sbyte::b#2 = (const signed byte) test_sbytes::bd#0 Constant inlined assert_sbyte::c#1 = (byte/signed byte/word/signed word/dword/signed dword) 2 Constant inlined assert_sbyte::b#1 = (const signed byte) test_sbytes::bc#0 Constant inlined assert_sbyte::c#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined assert_byte::b#0 = (const byte) test_bytes::bb#0 +Constant inlined assert_sbyte::str1 = (const string) str1 Constant inlined assert_sbyte::b#0 = (const signed byte) test_sbytes::bb#0 Constant inlined assert_byte::b#1 = (const byte) test_bytes::bc#0 +Constant inlined assert_sbyte::str2 = (const string) str2 Constant inlined assert_byte::c#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined assert_byte::b#2 = (const byte) test_bytes::bd#0 Constant inlined assert_byte::c#1 = (byte/signed byte/word/signed word/dword/signed dword) 2 @@ -991,22 +996,28 @@ Constant inlined assert_sbyte::b#3 = (const signed byte) test_sbytes::be#0 Constant inlined assert_sbyte::c#2 = -(byte/signed byte/word/signed word/dword/signed dword) 2 Constant inlined test_sbytes::$8 = -(byte/signed byte/word/signed word/dword/signed dword) 127 Constant inlined test_sbytes::$9 = -(byte/signed byte/word/signed word/dword/signed dword) 127-(byte/signed byte/word/signed word/dword/signed dword) 127 -Constant inlined assert_byte::msg#0 = (const string) test_bytes::msg -Constant inlined assert_byte::msg#1 = (const string) test_bytes::msg1 +Constant inlined assert_byte::str2 = (const string) str2 +Constant inlined assert_byte::msg#0 = (const string) msg +Constant inlined test_sbytes::msg1 = (const string) msg1 +Constant inlined assert_byte::str1 = (const string) str1 +Constant inlined assert_byte::msg#1 = (const string) msg1 Constant inlined assert_byte::msg#2 = (const string) test_bytes::msg2 -Constant inlined assert_sbyte::msg#0 = (const string) test_sbytes::msg -Constant inlined assert_sbyte::msg#1 = (const string) test_sbytes::msg1 +Constant inlined assert_sbyte::msg#0 = (const string) msg +Constant inlined assert_sbyte::msg#1 = (const string) msg1 Constant inlined assert_sbyte::msg#2 = (const string) test_sbytes::msg2 Constant inlined print_line_cursor#0 = ((byte*))(word/signed word/dword/signed dword) 1024 Constant inlined assert_sbyte::msg#3 = (const string) test_sbytes::msg3 Constant inlined print_cls::sc#0 = ((byte*))(word/signed word/dword/signed dword) 1024 -Constant inlined print_str::str#4 = (const string) assert_byte::str2 +Constant inlined assert_sbyte::str = (const string) str +Constant inlined assert_byte::str = (const string) str +Constant inlined test_bytes::msg1 = (const string) msg1 +Constant inlined print_str::str#4 = (const string) str2 Constant inlined assert_sbyte::msg#4 = (const string) test_sbytes::msg4 -Constant inlined print_str::str#3 = (const string) assert_byte::str1 -Constant inlined print_str::str#2 = (const string) assert_byte::str -Constant inlined print_str::str#8 = (const string) assert_sbyte::str2 -Constant inlined print_str::str#7 = (const string) assert_sbyte::str1 -Constant inlined print_str::str#6 = (const string) assert_sbyte::str +Constant inlined print_str::str#3 = (const string) str1 +Constant inlined print_str::str#2 = (const string) str +Constant inlined print_str::str#8 = (const string) str2 +Constant inlined print_str::str#7 = (const string) str1 +Constant inlined print_str::str#6 = (const string) str Successful SSA optimization Pass2ConstantInlining Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1) Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1) @@ -1127,7 +1138,7 @@ test_sbytes::@return: scope:[test_sbytes] from test_sbytes::@4 assert_sbyte: scope:[assert_sbyte] from test_sbytes test_sbytes::@1 test_sbytes::@2 test_sbytes::@3 test_sbytes::@4 [22] (signed byte) assert_sbyte::c#5 ← phi( test_sbytes/(byte/signed byte/word/signed word/dword/signed dword) 0 test_sbytes::@1/(byte/signed byte/word/signed word/dword/signed dword) 2 test_sbytes::@2/-(byte/signed byte/word/signed word/dword/signed dword) 2 test_sbytes::@3/(byte/signed byte/word/signed word/dword/signed dword) 2 test_sbytes::@4/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [22] (signed byte) assert_sbyte::b#5 ← phi( test_sbytes/(const signed byte) test_sbytes::bb#0 test_sbytes::@1/(const signed byte) test_sbytes::bc#0 test_sbytes::@2/(const signed byte) test_sbytes::bd#0 test_sbytes::@3/(const signed byte) test_sbytes::be#0 test_sbytes::@4/(const signed byte) test_sbytes::bf#0 ) - [22] (byte*) assert_sbyte::msg#5 ← phi( test_sbytes/(const string) test_sbytes::msg test_sbytes::@1/(const string) test_sbytes::msg1 test_sbytes::@2/(const string) test_sbytes::msg2 test_sbytes::@3/(const string) test_sbytes::msg3 test_sbytes::@4/(const string) test_sbytes::msg4 ) + [22] (byte*) assert_sbyte::msg#5 ← phi( test_sbytes/(const string) msg test_sbytes::@1/(const string) msg1 test_sbytes::@2/(const string) test_sbytes::msg2 test_sbytes::@3/(const string) test_sbytes::msg3 test_sbytes::@4/(const string) test_sbytes::msg4 ) [23] (byte*) print_str::str#5 ← (byte*) assert_sbyte::msg#5 [24] (byte*~) print_char_cursor#87 ← (byte*) print_line_cursor#1 [25] call print_str @@ -1156,7 +1167,7 @@ assert_sbyte::@1: scope:[assert_sbyte] from assert_sbyte::@6 to:assert_sbyte::@2 print_str: scope:[print_str] from assert_byte assert_byte::@1 assert_byte::@3 assert_byte::@5 assert_sbyte assert_sbyte::@1 assert_sbyte::@3 assert_sbyte::@5 [36] (byte*) print_char_cursor#80 ← phi( assert_byte/(byte*) print_char_cursor#70 assert_byte::@1/(byte*) print_char_cursor#2 assert_byte::@3/(byte*) print_char_cursor#2 assert_byte::@5/(byte*) print_char_cursor#2 assert_sbyte/(byte*~) print_char_cursor#87 assert_sbyte::@1/(byte*) print_char_cursor#2 assert_sbyte::@3/(byte*) print_char_cursor#2 assert_sbyte::@5/(byte*) print_char_cursor#2 ) - [36] (byte*) print_str::str#11 ← phi( assert_byte/(byte*) print_str::str#1 assert_byte::@1/(const string) assert_byte::str1 assert_byte::@3/(const string) assert_byte::str2 assert_byte::@5/(const string) assert_byte::str assert_sbyte/(byte*) print_str::str#5 assert_sbyte::@1/(const string) assert_sbyte::str1 assert_sbyte::@3/(const string) assert_sbyte::str2 assert_sbyte::@5/(const string) assert_sbyte::str ) + [36] (byte*) print_str::str#11 ← phi( assert_byte/(byte*) print_str::str#1 assert_byte::@1/(const string) str1 assert_byte::@3/(const string) str2 assert_byte::@5/(const string) str assert_sbyte/(byte*) print_str::str#5 assert_sbyte::@1/(const string) str1 assert_sbyte::@3/(const string) str2 assert_sbyte::@5/(const string) str ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [37] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#80 print_str::@2/(byte*) print_char_cursor#1 ) @@ -1202,7 +1213,7 @@ assert_byte: scope:[assert_byte] from test_bytes test_bytes::@1 test_bytes::@2 [55] (byte) assert_byte::c#3 ← phi( test_bytes/(byte/signed byte/word/signed word/dword/signed dword) 0 test_bytes::@1/(byte/signed byte/word/signed word/dword/signed dword) 2 test_bytes::@2/(byte/word/signed word/dword/signed dword) 254 ) [55] (byte) assert_byte::b#3 ← phi( test_bytes/(const byte) test_bytes::bb#0 test_bytes::@1/(const byte) test_bytes::bc#0 test_bytes::@2/(const byte) test_bytes::bd#0 ) [55] (byte*) print_char_cursor#70 ← phi( test_bytes/((byte*))(word/signed word/dword/signed dword) 1024 test_bytes::@1/(byte*~) print_char_cursor#93 test_bytes::@2/(byte*~) print_char_cursor#94 ) - [55] (byte*) assert_byte::msg#3 ← phi( test_bytes/(const string) test_bytes::msg test_bytes::@1/(const string) test_bytes::msg1 test_bytes::@2/(const string) test_bytes::msg2 ) + [55] (byte*) assert_byte::msg#3 ← phi( test_bytes/(const string) msg test_bytes::@1/(const string) msg1 test_bytes::@2/(const string) test_bytes::msg2 ) [56] (byte*) print_str::str#1 ← (byte*) assert_byte::msg#3 [57] call print_str to:assert_byte::@5 @@ -1408,7 +1419,7 @@ test_sbytes: { //SEG27 [22] phi (signed byte) assert_sbyte::b#5 = (const signed byte) test_sbytes::bb#0 [phi:test_sbytes->assert_sbyte#1] -- vbsz1=vbsc1 lda #bb sta assert_sbyte.b - //SEG28 [22] phi (byte*) assert_sbyte::msg#5 = (const string) test_sbytes::msg [phi:test_sbytes->assert_sbyte#2] -- pbuz1=pbuc1 + //SEG28 [22] phi (byte*) assert_sbyte::msg#5 = (const string) msg [phi:test_sbytes->assert_sbyte#2] -- pbuz1=pbuc1 lda #msg @@ -1428,7 +1439,7 @@ test_sbytes: { //SEG34 [22] phi (signed byte) assert_sbyte::b#5 = (const signed byte) test_sbytes::bc#0 [phi:test_sbytes::@1->assert_sbyte#1] -- vbsz1=vbsc1 lda #bc sta assert_sbyte.b - //SEG35 [22] phi (byte*) assert_sbyte::msg#5 = (const string) test_sbytes::msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- pbuz1=pbuc1 + //SEG35 [22] phi (byte*) assert_sbyte::msg#5 = (const string) msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- pbuz1=pbuc1 lda #msg1 @@ -1499,8 +1510,6 @@ test_sbytes: { breturn: //SEG58 [21] return rts - msg: .text "0=0@" - msg1: .text "0+2=2@" msg2: .text "0+2-4=-2@" msg3: .text "-(0+2-4)=2@" msg4: .text "-127-127=2@" @@ -1536,7 +1545,7 @@ assert_sbyte: { //SEG69 [36] phi from assert_sbyte::@5 to print_str [phi:assert_sbyte::@5->print_str] print_str_from_b5: //SEG70 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_sbyte::@5->print_str#0] -- register_copy - //SEG71 [36] phi (byte*) print_str::str#11 = (const string) assert_sbyte::str [phi:assert_sbyte::@5->print_str#1] -- pbuz1=pbuc1 + //SEG71 [36] phi (byte*) print_str::str#11 = (const string) str [phi:assert_sbyte::@5->print_str#1] -- pbuz1=pbuc1 lda #str @@ -1558,7 +1567,7 @@ assert_sbyte: { //SEG77 [36] phi from assert_sbyte::@3 to print_str [phi:assert_sbyte::@3->print_str] print_str_from_b3: //SEG78 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_sbyte::@3->print_str#0] -- register_copy - //SEG79 [36] phi (byte*) print_str::str#11 = (const string) assert_sbyte::str2 [phi:assert_sbyte::@3->print_str#1] -- pbuz1=pbuc1 + //SEG79 [36] phi (byte*) print_str::str#11 = (const string) str2 [phi:assert_sbyte::@3->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -1589,16 +1598,13 @@ assert_sbyte: { //SEG90 [36] phi from assert_sbyte::@1 to print_str [phi:assert_sbyte::@1->print_str] print_str_from_b1: //SEG91 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_sbyte::@1->print_str#0] -- register_copy - //SEG92 [36] phi (byte*) print_str::str#11 = (const string) assert_sbyte::str1 [phi:assert_sbyte::@1->print_str#1] -- pbuz1=pbuc1 + //SEG92 [36] phi (byte*) print_str::str#11 = (const string) str1 [phi:assert_sbyte::@1->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b2_from_b1 - str: .text " @" - str1: .text "fail!@" - str2: .text "ok@" } //SEG93 print_str // Print a zero-terminated string @@ -1700,7 +1706,7 @@ test_bytes: { sta print_char_cursor lda #>$400 sta print_char_cursor+1 - //SEG120 [55] phi (byte*) assert_byte::msg#3 = (const string) test_bytes::msg [phi:test_bytes->assert_byte#4] -- pbuz1=pbuc1 + //SEG120 [55] phi (byte*) assert_byte::msg#3 = (const string) msg [phi:test_bytes->assert_byte#4] -- pbuz1=pbuc1 lda #msg @@ -1725,7 +1731,7 @@ test_bytes: { lda #bc sta assert_byte.b //SEG128 [55] phi (byte*) print_char_cursor#70 = (byte*~) print_char_cursor#93 [phi:test_bytes::@1->assert_byte#3] -- register_copy - //SEG129 [55] phi (byte*) assert_byte::msg#3 = (const string) test_bytes::msg1 [phi:test_bytes::@1->assert_byte#4] -- pbuz1=pbuc1 + //SEG129 [55] phi (byte*) assert_byte::msg#3 = (const string) msg1 [phi:test_bytes::@1->assert_byte#4] -- pbuz1=pbuc1 lda #msg1 @@ -1761,8 +1767,6 @@ test_bytes: { breturn: //SEG140 [54] return rts - msg: .text "0=0@" - msg1: .text "0+2=2@" msg2: .text "0+2-4=254@" } //SEG141 assert_byte @@ -1791,7 +1795,7 @@ assert_byte: { //SEG150 [36] phi from assert_byte::@5 to print_str [phi:assert_byte::@5->print_str] print_str_from_b5: //SEG151 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_byte::@5->print_str#0] -- register_copy - //SEG152 [36] phi (byte*) print_str::str#11 = (const string) assert_byte::str [phi:assert_byte::@5->print_str#1] -- pbuz1=pbuc1 + //SEG152 [36] phi (byte*) print_str::str#11 = (const string) str [phi:assert_byte::@5->print_str#1] -- pbuz1=pbuc1 lda #str @@ -1813,7 +1817,7 @@ assert_byte: { //SEG158 [36] phi from assert_byte::@3 to print_str [phi:assert_byte::@3->print_str] print_str_from_b3: //SEG159 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_byte::@3->print_str#0] -- register_copy - //SEG160 [36] phi (byte*) print_str::str#11 = (const string) assert_byte::str2 [phi:assert_byte::@3->print_str#1] -- pbuz1=pbuc1 + //SEG160 [36] phi (byte*) print_str::str#11 = (const string) str2 [phi:assert_byte::@3->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -1844,16 +1848,13 @@ assert_byte: { //SEG171 [36] phi from assert_byte::@1 to print_str [phi:assert_byte::@1->print_str] print_str_from_b1: //SEG172 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_byte::@1->print_str#0] -- register_copy - //SEG173 [36] phi (byte*) print_str::str#11 = (const string) assert_byte::str1 [phi:assert_byte::@1->print_str#1] -- pbuz1=pbuc1 + //SEG173 [36] phi (byte*) print_str::str#11 = (const string) str1 [phi:assert_byte::@1->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b2_from_b1 - str: .text " @" - str1: .text "fail!@" - str2: .text "ok@" } //SEG174 print_cls // Clear the screen. Also resets current line/char cursor. @@ -1895,6 +1896,11 @@ print_cls: { //SEG184 [73] return rts } + str: .text " @" + str2: .text "ok@" + msg1: .text "0+2=2@" + msg: .text "0=0@" + str1: .text "fail!@" REGISTER UPLIFT POTENTIAL REGISTERS Statement [6] *((const byte*) BGCOL#0) ← (const byte) GREEN#0 [ ] ( main:2 [ ] ) always clobbers reg byte a @@ -2051,7 +2057,7 @@ test_sbytes: { sta assert_sbyte.c //SEG27 [22] phi (signed byte) assert_sbyte::b#5 = (const signed byte) test_sbytes::bb#0 [phi:test_sbytes->assert_sbyte#1] -- vbsxx=vbsc1 ldx #bb - //SEG28 [22] phi (byte*) assert_sbyte::msg#5 = (const string) test_sbytes::msg [phi:test_sbytes->assert_sbyte#2] -- pbuz1=pbuc1 + //SEG28 [22] phi (byte*) assert_sbyte::msg#5 = (const string) msg [phi:test_sbytes->assert_sbyte#2] -- pbuz1=pbuc1 lda #msg @@ -2070,7 +2076,7 @@ test_sbytes: { sta assert_sbyte.c //SEG34 [22] phi (signed byte) assert_sbyte::b#5 = (const signed byte) test_sbytes::bc#0 [phi:test_sbytes::@1->assert_sbyte#1] -- vbsxx=vbsc1 ldx #bc - //SEG35 [22] phi (byte*) assert_sbyte::msg#5 = (const string) test_sbytes::msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- pbuz1=pbuc1 + //SEG35 [22] phi (byte*) assert_sbyte::msg#5 = (const string) msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- pbuz1=pbuc1 lda #msg1 @@ -2138,8 +2144,6 @@ test_sbytes: { breturn: //SEG58 [21] return rts - msg: .text "0=0@" - msg1: .text "0+2=2@" msg2: .text "0+2-4=-2@" msg3: .text "-(0+2-4)=2@" msg4: .text "-127-127=2@" @@ -2170,7 +2174,7 @@ assert_sbyte: { //SEG69 [36] phi from assert_sbyte::@5 to print_str [phi:assert_sbyte::@5->print_str] print_str_from_b5: //SEG70 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_sbyte::@5->print_str#0] -- register_copy - //SEG71 [36] phi (byte*) print_str::str#11 = (const string) assert_sbyte::str [phi:assert_sbyte::@5->print_str#1] -- pbuz1=pbuc1 + //SEG71 [36] phi (byte*) print_str::str#11 = (const string) str [phi:assert_sbyte::@5->print_str#1] -- pbuz1=pbuc1 lda #str @@ -2191,7 +2195,7 @@ assert_sbyte: { //SEG77 [36] phi from assert_sbyte::@3 to print_str [phi:assert_sbyte::@3->print_str] print_str_from_b3: //SEG78 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_sbyte::@3->print_str#0] -- register_copy - //SEG79 [36] phi (byte*) print_str::str#11 = (const string) assert_sbyte::str2 [phi:assert_sbyte::@3->print_str#1] -- pbuz1=pbuc1 + //SEG79 [36] phi (byte*) print_str::str#11 = (const string) str2 [phi:assert_sbyte::@3->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -2222,16 +2226,13 @@ assert_sbyte: { //SEG90 [36] phi from assert_sbyte::@1 to print_str [phi:assert_sbyte::@1->print_str] print_str_from_b1: //SEG91 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_sbyte::@1->print_str#0] -- register_copy - //SEG92 [36] phi (byte*) print_str::str#11 = (const string) assert_sbyte::str1 [phi:assert_sbyte::@1->print_str#1] -- pbuz1=pbuc1 + //SEG92 [36] phi (byte*) print_str::str#11 = (const string) str1 [phi:assert_sbyte::@1->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b2_from_b1 - str: .text " @" - str1: .text "fail!@" - str2: .text "ok@" } //SEG93 print_str // Print a zero-terminated string @@ -2332,7 +2333,7 @@ test_bytes: { sta print_char_cursor lda #>$400 sta print_char_cursor+1 - //SEG120 [55] phi (byte*) assert_byte::msg#3 = (const string) test_bytes::msg [phi:test_bytes->assert_byte#4] -- pbuz1=pbuc1 + //SEG120 [55] phi (byte*) assert_byte::msg#3 = (const string) msg [phi:test_bytes->assert_byte#4] -- pbuz1=pbuc1 lda #msg @@ -2356,7 +2357,7 @@ test_bytes: { //SEG127 [55] phi (byte) assert_byte::b#3 = (const byte) test_bytes::bc#0 [phi:test_bytes::@1->assert_byte#2] -- vbuxx=vbuc1 ldx #bc //SEG128 [55] phi (byte*) print_char_cursor#70 = (byte*~) print_char_cursor#93 [phi:test_bytes::@1->assert_byte#3] -- register_copy - //SEG129 [55] phi (byte*) assert_byte::msg#3 = (const string) test_bytes::msg1 [phi:test_bytes::@1->assert_byte#4] -- pbuz1=pbuc1 + //SEG129 [55] phi (byte*) assert_byte::msg#3 = (const string) msg1 [phi:test_bytes::@1->assert_byte#4] -- pbuz1=pbuc1 lda #msg1 @@ -2391,8 +2392,6 @@ test_bytes: { breturn: //SEG140 [54] return rts - msg: .text "0=0@" - msg1: .text "0+2=2@" msg2: .text "0+2-4=254@" } //SEG141 assert_byte @@ -2416,7 +2415,7 @@ assert_byte: { //SEG150 [36] phi from assert_byte::@5 to print_str [phi:assert_byte::@5->print_str] print_str_from_b5: //SEG151 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_byte::@5->print_str#0] -- register_copy - //SEG152 [36] phi (byte*) print_str::str#11 = (const string) assert_byte::str [phi:assert_byte::@5->print_str#1] -- pbuz1=pbuc1 + //SEG152 [36] phi (byte*) print_str::str#11 = (const string) str [phi:assert_byte::@5->print_str#1] -- pbuz1=pbuc1 lda #str @@ -2437,7 +2436,7 @@ assert_byte: { //SEG158 [36] phi from assert_byte::@3 to print_str [phi:assert_byte::@3->print_str] print_str_from_b3: //SEG159 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_byte::@3->print_str#0] -- register_copy - //SEG160 [36] phi (byte*) print_str::str#11 = (const string) assert_byte::str2 [phi:assert_byte::@3->print_str#1] -- pbuz1=pbuc1 + //SEG160 [36] phi (byte*) print_str::str#11 = (const string) str2 [phi:assert_byte::@3->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -2468,16 +2467,13 @@ assert_byte: { //SEG171 [36] phi from assert_byte::@1 to print_str [phi:assert_byte::@1->print_str] print_str_from_b1: //SEG172 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_byte::@1->print_str#0] -- register_copy - //SEG173 [36] phi (byte*) print_str::str#11 = (const string) assert_byte::str1 [phi:assert_byte::@1->print_str#1] -- pbuz1=pbuc1 + //SEG173 [36] phi (byte*) print_str::str#11 = (const string) str1 [phi:assert_byte::@1->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b2_from_b1 - str: .text " @" - str1: .text "fail!@" - str2: .text "ok@" } //SEG174 print_cls // Clear the screen. Also resets current line/char cursor. @@ -2519,6 +2515,11 @@ print_cls: { //SEG184 [73] return rts } + str: .text " @" + str2: .text "ok@" + msg1: .text "0+2=2@" + msg: .text "0=0@" + str1: .text "fail!@" ASSEMBLER OPTIMIZATIONS Removing instruction jmp b24 @@ -2660,9 +2661,6 @@ FINAL SYMBOL TABLE (byte) assert_byte::c#3 c zp ZP_BYTE:4 0.4 (byte*) assert_byte::msg (byte*) assert_byte::msg#3 msg zp ZP_WORD:2 2.0 -(const string) assert_byte::str str = (string) " @" -(const string) assert_byte::str1 str1 = (string) "fail!@" -(const string) assert_byte::str2 str2 = (string) "ok@" (void()) assert_sbyte((byte*) assert_sbyte::msg , (signed byte) assert_sbyte::b , (signed byte) assert_sbyte::c) (label) assert_sbyte::@1 (label) assert_sbyte::@2 @@ -2676,13 +2674,12 @@ FINAL SYMBOL TABLE (signed byte) assert_sbyte::c#5 c zp ZP_BYTE:4 0.3333333333333333 (byte*) assert_sbyte::msg (byte*) assert_sbyte::msg#5 msg zp ZP_WORD:2 2.0 -(const string) assert_sbyte::str str = (string) " @" -(const string) assert_sbyte::str1 str1 = (string) "fail!@" -(const string) assert_sbyte::str2 str2 = (string) "ok@" (void()) main() (label) main::@1 (label) main::@2 (label) main::@return +(const string) msg msg = (string) "0=0@" +(const string) msg1 msg1 = (string) "0+2=2@" (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:5 11.0 (byte*) print_char_cursor#2 print_char_cursor zp ZP_WORD:5 2.230769230769231 @@ -2717,6 +2714,9 @@ FINAL SYMBOL TABLE (byte*) print_str::str#10 str zp ZP_WORD:2 11.5 (byte*) print_str::str#11 str zp ZP_WORD:2 6.0 (byte*) print_str::str#5 str zp ZP_WORD:2 2.0 +(const string) str str = (string) " @" +(const string) str1 str1 = (string) "fail!@" +(const string) str2 str2 = (string) "ok@" (void()) test_bytes() (label) test_bytes::@1 (label) test_bytes::@2 @@ -2727,8 +2727,6 @@ FINAL SYMBOL TABLE (const byte) test_bytes::bc#0 bc = (const byte) test_bytes::bb#0+(byte/signed byte/word/signed word/dword/signed dword) 2 (byte) test_bytes::bd (const byte) test_bytes::bd#0 bd = ((byte))((signed byte))(const byte) test_bytes::bc#0-(byte/signed byte/word/signed word/dword/signed dword) 4 -(const string) test_bytes::msg msg = (string) "0=0@" -(const string) test_bytes::msg1 msg1 = (string) "0+2=2@" (const string) test_bytes::msg2 msg2 = (string) "0+2-4=254@" (void()) test_sbytes() (label) test_sbytes::@1 @@ -2746,8 +2744,6 @@ FINAL SYMBOL TABLE (const signed byte) test_sbytes::be#0 be = -(const signed byte) test_sbytes::bd#0 (signed byte) test_sbytes::bf (const signed byte) test_sbytes::bf#0 bf = ((signed byte))-(byte/signed byte/word/signed word/dword/signed dword) 127-(byte/signed byte/word/signed word/dword/signed dword) 127 -(const string) test_sbytes::msg msg = (string) "0=0@" -(const string) test_sbytes::msg1 msg1 = (string) "0+2=2@" (const string) test_sbytes::msg2 msg2 = (string) "0+2-4=-2@" (const string) test_sbytes::msg3 msg3 = (string) "-(0+2-4)=2@" (const string) test_sbytes::msg4 msg4 = (string) "-127-127=2@" @@ -2817,7 +2813,7 @@ test_sbytes: { sta assert_sbyte.c //SEG27 [22] phi (signed byte) assert_sbyte::b#5 = (const signed byte) test_sbytes::bb#0 [phi:test_sbytes->assert_sbyte#1] -- vbsxx=vbsc1 ldx #bb - //SEG28 [22] phi (byte*) assert_sbyte::msg#5 = (const string) test_sbytes::msg [phi:test_sbytes->assert_sbyte#2] -- pbuz1=pbuc1 + //SEG28 [22] phi (byte*) assert_sbyte::msg#5 = (const string) msg [phi:test_sbytes->assert_sbyte#2] -- pbuz1=pbuc1 lda #msg @@ -2832,7 +2828,7 @@ test_sbytes: { sta assert_sbyte.c //SEG34 [22] phi (signed byte) assert_sbyte::b#5 = (const signed byte) test_sbytes::bc#0 [phi:test_sbytes::@1->assert_sbyte#1] -- vbsxx=vbsc1 ldx #bc - //SEG35 [22] phi (byte*) assert_sbyte::msg#5 = (const string) test_sbytes::msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- pbuz1=pbuc1 + //SEG35 [22] phi (byte*) assert_sbyte::msg#5 = (const string) msg1 [phi:test_sbytes::@1->assert_sbyte#2] -- pbuz1=pbuc1 lda #msg1 @@ -2886,8 +2882,6 @@ test_sbytes: { //SEG57 test_sbytes::@return //SEG58 [21] return rts - msg: .text "0=0@" - msg1: .text "0+2=2@" msg2: .text "0+2-4=-2@" msg3: .text "-(0+2-4)=2@" msg4: .text "-127-127=2@" @@ -2913,7 +2907,7 @@ assert_sbyte: { //SEG68 [27] call print_str //SEG69 [36] phi from assert_sbyte::@5 to print_str [phi:assert_sbyte::@5->print_str] //SEG70 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_sbyte::@5->print_str#0] -- register_copy - //SEG71 [36] phi (byte*) print_str::str#11 = (const string) assert_sbyte::str [phi:assert_sbyte::@5->print_str#1] -- pbuz1=pbuc1 + //SEG71 [36] phi (byte*) print_str::str#11 = (const string) str [phi:assert_sbyte::@5->print_str#1] -- pbuz1=pbuc1 lda #str @@ -2928,7 +2922,7 @@ assert_sbyte: { //SEG76 [30] call print_str //SEG77 [36] phi from assert_sbyte::@3 to print_str [phi:assert_sbyte::@3->print_str] //SEG78 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_sbyte::@3->print_str#0] -- register_copy - //SEG79 [36] phi (byte*) print_str::str#11 = (const string) assert_sbyte::str2 [phi:assert_sbyte::@3->print_str#1] -- pbuz1=pbuc1 + //SEG79 [36] phi (byte*) print_str::str#11 = (const string) str2 [phi:assert_sbyte::@3->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -2952,16 +2946,13 @@ assert_sbyte: { //SEG89 [35] call print_str //SEG90 [36] phi from assert_sbyte::@1 to print_str [phi:assert_sbyte::@1->print_str] //SEG91 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_sbyte::@1->print_str#0] -- register_copy - //SEG92 [36] phi (byte*) print_str::str#11 = (const string) assert_sbyte::str1 [phi:assert_sbyte::@1->print_str#1] -- pbuz1=pbuc1 + //SEG92 [36] phi (byte*) print_str::str#11 = (const string) str1 [phi:assert_sbyte::@1->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b2 - str: .text " @" - str1: .text "fail!@" - str2: .text "ok@" } //SEG93 print_str // Print a zero-terminated string @@ -3050,7 +3041,7 @@ test_bytes: { sta print_char_cursor lda #>$400 sta print_char_cursor+1 - //SEG120 [55] phi (byte*) assert_byte::msg#3 = (const string) test_bytes::msg [phi:test_bytes->assert_byte#4] -- pbuz1=pbuc1 + //SEG120 [55] phi (byte*) assert_byte::msg#3 = (const string) msg [phi:test_bytes->assert_byte#4] -- pbuz1=pbuc1 lda #msg @@ -3071,7 +3062,7 @@ test_bytes: { //SEG127 [55] phi (byte) assert_byte::b#3 = (const byte) test_bytes::bc#0 [phi:test_bytes::@1->assert_byte#2] -- vbuxx=vbuc1 ldx #bc //SEG128 [55] phi (byte*) print_char_cursor#70 = (byte*~) print_char_cursor#93 [phi:test_bytes::@1->assert_byte#3] -- register_copy - //SEG129 [55] phi (byte*) assert_byte::msg#3 = (const string) test_bytes::msg1 [phi:test_bytes::@1->assert_byte#4] -- pbuz1=pbuc1 + //SEG129 [55] phi (byte*) assert_byte::msg#3 = (const string) msg1 [phi:test_bytes::@1->assert_byte#4] -- pbuz1=pbuc1 lda #msg1 @@ -3101,8 +3092,6 @@ test_bytes: { //SEG139 test_bytes::@return //SEG140 [54] return rts - msg: .text "0=0@" - msg1: .text "0+2=2@" msg2: .text "0+2-4=254@" } //SEG141 assert_byte @@ -3121,7 +3110,7 @@ assert_byte: { //SEG149 [59] call print_str //SEG150 [36] phi from assert_byte::@5 to print_str [phi:assert_byte::@5->print_str] //SEG151 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_byte::@5->print_str#0] -- register_copy - //SEG152 [36] phi (byte*) print_str::str#11 = (const string) assert_byte::str [phi:assert_byte::@5->print_str#1] -- pbuz1=pbuc1 + //SEG152 [36] phi (byte*) print_str::str#11 = (const string) str [phi:assert_byte::@5->print_str#1] -- pbuz1=pbuc1 lda #str @@ -3136,7 +3125,7 @@ assert_byte: { //SEG157 [62] call print_str //SEG158 [36] phi from assert_byte::@3 to print_str [phi:assert_byte::@3->print_str] //SEG159 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_byte::@3->print_str#0] -- register_copy - //SEG160 [36] phi (byte*) print_str::str#11 = (const string) assert_byte::str2 [phi:assert_byte::@3->print_str#1] -- pbuz1=pbuc1 + //SEG160 [36] phi (byte*) print_str::str#11 = (const string) str2 [phi:assert_byte::@3->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -3160,16 +3149,13 @@ assert_byte: { //SEG170 [67] call print_str //SEG171 [36] phi from assert_byte::@1 to print_str [phi:assert_byte::@1->print_str] //SEG172 [36] phi (byte*) print_char_cursor#80 = (byte*) print_char_cursor#2 [phi:assert_byte::@1->print_str#0] -- register_copy - //SEG173 [36] phi (byte*) print_str::str#11 = (const string) assert_byte::str1 [phi:assert_byte::@1->print_str#1] -- pbuz1=pbuc1 + //SEG173 [36] phi (byte*) print_str::str#11 = (const string) str1 [phi:assert_byte::@1->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b2 - str: .text " @" - str1: .text "fail!@" - str2: .text "ok@" } //SEG174 print_cls // Clear the screen. Also resets current line/char cursor. @@ -3205,4 +3191,9 @@ print_cls: { //SEG184 [73] return rts } + str: .text " @" + str2: .text "ok@" + msg1: .text "0+2=2@" + msg: .text "0=0@" + str1: .text "fail!@" diff --git a/src/test/ref/constants.sym b/src/test/ref/constants.sym index b9a19b2ad..94d830f38 100644 --- a/src/test/ref/constants.sym +++ b/src/test/ref/constants.sym @@ -20,9 +20,6 @@ (byte) assert_byte::c#3 c zp ZP_BYTE:4 0.4 (byte*) assert_byte::msg (byte*) assert_byte::msg#3 msg zp ZP_WORD:2 2.0 -(const string) assert_byte::str str = (string) " @" -(const string) assert_byte::str1 str1 = (string) "fail!@" -(const string) assert_byte::str2 str2 = (string) "ok@" (void()) assert_sbyte((byte*) assert_sbyte::msg , (signed byte) assert_sbyte::b , (signed byte) assert_sbyte::c) (label) assert_sbyte::@1 (label) assert_sbyte::@2 @@ -36,13 +33,12 @@ (signed byte) assert_sbyte::c#5 c zp ZP_BYTE:4 0.3333333333333333 (byte*) assert_sbyte::msg (byte*) assert_sbyte::msg#5 msg zp ZP_WORD:2 2.0 -(const string) assert_sbyte::str str = (string) " @" -(const string) assert_sbyte::str1 str1 = (string) "fail!@" -(const string) assert_sbyte::str2 str2 = (string) "ok@" (void()) main() (label) main::@1 (label) main::@2 (label) main::@return +(const string) msg msg = (string) "0=0@" +(const string) msg1 msg1 = (string) "0+2=2@" (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:5 11.0 (byte*) print_char_cursor#2 print_char_cursor zp ZP_WORD:5 2.230769230769231 @@ -77,6 +73,9 @@ (byte*) print_str::str#10 str zp ZP_WORD:2 11.5 (byte*) print_str::str#11 str zp ZP_WORD:2 6.0 (byte*) print_str::str#5 str zp ZP_WORD:2 2.0 +(const string) str str = (string) " @" +(const string) str1 str1 = (string) "fail!@" +(const string) str2 str2 = (string) "ok@" (void()) test_bytes() (label) test_bytes::@1 (label) test_bytes::@2 @@ -87,8 +86,6 @@ (const byte) test_bytes::bc#0 bc = (const byte) test_bytes::bb#0+(byte/signed byte/word/signed word/dword/signed dword) 2 (byte) test_bytes::bd (const byte) test_bytes::bd#0 bd = ((byte))((signed byte))(const byte) test_bytes::bc#0-(byte/signed byte/word/signed word/dword/signed dword) 4 -(const string) test_bytes::msg msg = (string) "0=0@" -(const string) test_bytes::msg1 msg1 = (string) "0+2=2@" (const string) test_bytes::msg2 msg2 = (string) "0+2-4=254@" (void()) test_sbytes() (label) test_sbytes::@1 @@ -106,8 +103,6 @@ (const signed byte) test_sbytes::be#0 be = -(const signed byte) test_sbytes::bd#0 (signed byte) test_sbytes::bf (const signed byte) test_sbytes::bf#0 bf = ((signed byte))-(byte/signed byte/word/signed word/dword/signed dword) 127-(byte/signed byte/word/signed word/dword/signed dword) 127 -(const string) test_sbytes::msg msg = (string) "0=0@" -(const string) test_sbytes::msg1 msg1 = (string) "0+2=2@" (const string) test_sbytes::msg2 msg2 = (string) "0+2-4=-2@" (const string) test_sbytes::msg3 msg3 = (string) "-(0+2-4)=2@" (const string) test_sbytes::msg4 msg4 = (string) "-127-127=2@" diff --git a/src/test/ref/examples/3d/perspective.asm b/src/test/ref/examples/3d/perspective.asm index 8922b93e6..ea4b72ac0 100644 --- a/src/test/ref/examples/3d/perspective.asm +++ b/src/test/ref/examples/3d/perspective.asm @@ -53,9 +53,9 @@ do_perspective: { jsr print_str ldx #y jsr print_sbyte - lda #str2 + lda #>str1 sta print_str.str+1 jsr print_str ldx #z @@ -68,9 +68,9 @@ do_perspective: { jsr perspective ldx xr jsr print_byte - lda #str4 + lda #>str1 sta print_str.str+1 jsr print_str ldx yr @@ -84,9 +84,7 @@ do_perspective: { rts str: .text "(@" str1: .text ",@" - str2: .text ",@" str3: .text ") -> (@" - str4: .text ",@" str5: .text ")@" } // Print a newline diff --git a/src/test/ref/examples/3d/perspective.cfg b/src/test/ref/examples/3d/perspective.cfg index 5d3214a99..672ecfa0d 100644 --- a/src/test/ref/examples/3d/perspective.cfg +++ b/src/test/ref/examples/3d/perspective.cfg @@ -102,7 +102,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1 to:@return print_str: scope:[print_str] from do_perspective do_perspective::@11 do_perspective::@2 do_perspective::@4 do_perspective::@6 do_perspective::@9 [44] (byte*) print_char_cursor#74 ← phi( do_perspective/((byte*))(word/signed word/dword/signed dword) 1024 do_perspective::@11/(byte*) print_char_cursor#12 do_perspective::@2/(byte*) print_char_cursor#12 do_perspective::@4/(byte*) print_char_cursor#12 do_perspective::@6/(byte*) print_char_cursor#12 do_perspective::@9/(byte*) print_char_cursor#12 ) - [44] (byte*) print_str::str#9 ← phi( do_perspective/(const string) do_perspective::str do_perspective::@11/(const string) do_perspective::str5 do_perspective::@2/(const string) do_perspective::str1 do_perspective::@4/(const string) do_perspective::str2 do_perspective::@6/(const string) do_perspective::str3 do_perspective::@9/(const string) do_perspective::str4 ) + [44] (byte*) print_str::str#9 ← phi( do_perspective/(const string) do_perspective::str do_perspective::@11/(const string) do_perspective::str5 do_perspective::@2/(const string) do_perspective::str1 do_perspective::@4/(const string) do_perspective::str1 do_perspective::@6/(const string) do_perspective::str3 do_perspective::@9/(const string) do_perspective::str1 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [45] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#74 print_str::@2/(byte*) print_char_cursor#1 ) diff --git a/src/test/ref/examples/3d/perspective.log b/src/test/ref/examples/3d/perspective.log index f8dc76ed3..063452f50 100644 --- a/src/test/ref/examples/3d/perspective.log +++ b/src/test/ref/examples/3d/perspective.log @@ -1360,6 +1360,7 @@ Successful SSA optimization Pass2ConstantIdentification Consolidated array index constant in assignment *(mulf_sqr2#0+1 + mulf_init::$5) Consolidated array index constant in assignment *(mulf_init::$6+1 + mulf_init::$7) Successful SSA optimization Pass2ConstantAdditionElimination +Successful SSA optimization Pass2ConstantStringConsolidation Inferred type updated to byte in [73] (byte/signed word/word/dword/signed dword~) mulf_init::$5 ← (byte) mulf_init::i#2 Inferred type updated to byte in [75] (byte/signed word/word/dword/signed dword~) mulf_init::$7 ← (byte) mulf_init::i#2 Successful SSA optimization PassNEliminateUnusedVars @@ -1403,7 +1404,9 @@ Inlining constant with var siblings (const byte*) print_line_cursor#0 Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000 Constant inlined print_sbyte::b#1 = (const signed byte) do_perspective::x#0 Constant inlined print_sbyte::b#2 = (const signed byte) do_perspective::y#0 +Constant inlined do_perspective::str4 = (const string) do_perspective::str1 Constant inlined print_sbyte::b#3 = (const signed byte) do_perspective::z#0 +Constant inlined do_perspective::str2 = (const string) do_perspective::str1 Constant inlined mulf_init::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mulf_init::$1 = (const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 Constant inlined $0 = (const byte[]) print_hextab#0 @@ -1422,11 +1425,11 @@ Constant inlined main::$2 = ((word))(const byte[512]) mulf_sqr2#0 Constant inlined print_char::ch#1 = (byte) ' ' Constant inlined print_char::ch#0 = (byte) '-' Constant inlined print_str::str#4 = (const string) do_perspective::str3 -Constant inlined print_str::str#3 = (const string) do_perspective::str2 +Constant inlined print_str::str#3 = (const string) do_perspective::str1 Constant inlined print_str::str#2 = (const string) do_perspective::str1 Constant inlined print_str::str#1 = (const string) do_perspective::str Constant inlined print_str::str#6 = (const string) do_perspective::str5 -Constant inlined print_str::str#5 = (const string) do_perspective::str4 +Constant inlined print_str::str#5 = (const string) do_perspective::str1 Successful SSA optimization Pass2ConstantInlining Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1) Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1) @@ -1605,7 +1608,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1 to:@return print_str: scope:[print_str] from do_perspective do_perspective::@11 do_perspective::@2 do_perspective::@4 do_perspective::@6 do_perspective::@9 [44] (byte*) print_char_cursor#74 ← phi( do_perspective/((byte*))(word/signed word/dword/signed dword) 1024 do_perspective::@11/(byte*) print_char_cursor#12 do_perspective::@2/(byte*) print_char_cursor#12 do_perspective::@4/(byte*) print_char_cursor#12 do_perspective::@6/(byte*) print_char_cursor#12 do_perspective::@9/(byte*) print_char_cursor#12 ) - [44] (byte*) print_str::str#9 ← phi( do_perspective/(const string) do_perspective::str do_perspective::@11/(const string) do_perspective::str5 do_perspective::@2/(const string) do_perspective::str1 do_perspective::@4/(const string) do_perspective::str2 do_perspective::@6/(const string) do_perspective::str3 do_perspective::@9/(const string) do_perspective::str4 ) + [44] (byte*) print_str::str#9 ← phi( do_perspective/(const string) do_perspective::str do_perspective::@11/(const string) do_perspective::str5 do_perspective::@2/(const string) do_perspective::str1 do_perspective::@4/(const string) do_perspective::str1 do_perspective::@6/(const string) do_perspective::str3 do_perspective::@9/(const string) do_perspective::str1 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [45] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#74 print_str::@2/(byte*) print_char_cursor#1 ) @@ -2068,10 +2071,10 @@ do_perspective: { //SEG48 [44] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str] print_str_from_b4: //SEG49 [44] phi (byte*) print_char_cursor#74 = (byte*) print_char_cursor#12 [phi:do_perspective::@4->print_str#0] -- register_copy - //SEG50 [44] phi (byte*) print_str::str#9 = (const string) do_perspective::str2 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str2 + lda #>str1 sta print_str.str+1 jsr print_str //SEG51 [22] phi from do_perspective::@4 to do_perspective::@5 [phi:do_perspective::@4->do_perspective::@5] @@ -2129,10 +2132,10 @@ do_perspective: { //SEG74 [44] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str] print_str_from_b9: //SEG75 [44] phi (byte*) print_char_cursor#74 = (byte*) print_char_cursor#12 [phi:do_perspective::@9->print_str#0] -- register_copy - //SEG76 [44] phi (byte*) print_str::str#9 = (const string) do_perspective::str4 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str4 + lda #>str1 sta print_str.str+1 jsr print_str jmp b10 @@ -2178,9 +2181,7 @@ do_perspective: { rts str: .text "(@" str1: .text ",@" - str2: .text ",@" str3: .text ") -> (@" - str4: .text ",@" str5: .text ")@" } //SEG95 print_ln @@ -2887,10 +2888,10 @@ do_perspective: { //SEG48 [44] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str] print_str_from_b4: //SEG49 [44] phi (byte*) print_char_cursor#74 = (byte*) print_char_cursor#12 [phi:do_perspective::@4->print_str#0] -- register_copy - //SEG50 [44] phi (byte*) print_str::str#9 = (const string) do_perspective::str2 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str2 + lda #>str1 sta print_str.str+1 jsr print_str //SEG51 [22] phi from do_perspective::@4 to do_perspective::@5 [phi:do_perspective::@4->do_perspective::@5] @@ -2946,10 +2947,10 @@ do_perspective: { //SEG74 [44] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str] print_str_from_b9: //SEG75 [44] phi (byte*) print_char_cursor#74 = (byte*) print_char_cursor#12 [phi:do_perspective::@9->print_str#0] -- register_copy - //SEG76 [44] phi (byte*) print_str::str#9 = (const string) do_perspective::str4 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str4 + lda #>str1 sta print_str.str+1 jsr print_str jmp b10 @@ -2994,9 +2995,7 @@ do_perspective: { rts str: .text "(@" str1: .text ",@" - str2: .text ",@" str3: .text ") -> (@" - str4: .text ",@" str5: .text ")@" } //SEG95 print_ln @@ -3657,9 +3656,7 @@ FINAL SYMBOL TABLE (label) do_perspective::@return (const string) do_perspective::str str = (string) "(@" (const string) do_perspective::str1 str1 = (string) ",@" -(const string) do_perspective::str2 str2 = (string) ",@" (const string) do_perspective::str3 str3 = (string) ") -> (@" -(const string) do_perspective::str4 str4 = (string) ",@" (const string) do_perspective::str5 str5 = (string) ")@" (signed byte) do_perspective::x (const signed byte) do_perspective::x#0 x = (byte/signed byte/word/signed word/dword/signed dword) 57 @@ -3888,10 +3885,10 @@ do_perspective: { //SEG47 [21] call print_str //SEG48 [44] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str] //SEG49 [44] phi (byte*) print_char_cursor#74 = (byte*) print_char_cursor#12 [phi:do_perspective::@4->print_str#0] -- register_copy - //SEG50 [44] phi (byte*) print_str::str#9 = (const string) do_perspective::str2 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str2 + lda #>str1 sta print_str.str+1 jsr print_str //SEG51 [22] phi from do_perspective::@4 to do_perspective::@5 [phi:do_perspective::@4->do_perspective::@5] @@ -3929,10 +3926,10 @@ do_perspective: { //SEG73 [31] call print_str //SEG74 [44] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str] //SEG75 [44] phi (byte*) print_char_cursor#74 = (byte*) print_char_cursor#12 [phi:do_perspective::@9->print_str#0] -- register_copy - //SEG76 [44] phi (byte*) print_str::str#9 = (const string) do_perspective::str4 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str4 + lda #>str1 sta print_str.str+1 jsr print_str //SEG77 do_perspective::@10 @@ -3964,9 +3961,7 @@ do_perspective: { rts str: .text "(@" str1: .text ",@" - str2: .text ",@" str3: .text ") -> (@" - str4: .text ",@" str5: .text ")@" } //SEG95 print_ln diff --git a/src/test/ref/examples/3d/perspective.sym b/src/test/ref/examples/3d/perspective.sym index 35be20f7e..f9ffb0005 100644 --- a/src/test/ref/examples/3d/perspective.sym +++ b/src/test/ref/examples/3d/perspective.sym @@ -98,9 +98,7 @@ (label) do_perspective::@return (const string) do_perspective::str str = (string) "(@" (const string) do_perspective::str1 str1 = (string) ",@" -(const string) do_perspective::str2 str2 = (string) ",@" (const string) do_perspective::str3 str3 = (string) ") -> (@" -(const string) do_perspective::str4 str4 = (string) ",@" (const string) do_perspective::str5 str5 = (string) ")@" (signed byte) do_perspective::x (const signed byte) do_perspective::x#0 x = (byte/signed byte/word/signed word/dword/signed dword) 57 diff --git a/src/test/ref/linegen.asm b/src/test/ref/linegen.asm index 6cfb5814e..ee14b809d 100644 --- a/src/test/ref/linegen.asm +++ b/src/test/ref/linegen.asm @@ -71,9 +71,9 @@ main: { lda #>$79cb sta print_word.w+1 jsr print_word - lda #str2 + lda #>str1 sta print_str.str+1 jsr print_str lda #<0 @@ -94,9 +94,9 @@ main: { lda print_line_cursor+1 sta print_char_cursor+1 jsr print_byte - lda #str3 + lda #>str1 sta print_str.str+1 jsr print_str ldy i @@ -105,9 +105,9 @@ main: { lda lintab1+1,y sta print_word.w+1 jsr print_word - lda #str4 + lda #>str1 sta print_str.str+1 jsr print_str ldy i @@ -116,9 +116,9 @@ main: { lda lintab2+1,y sta print_word.w+1 jsr print_word - lda #str5 + lda #>str1 sta print_str.str+1 jsr print_str ldy i @@ -138,9 +138,9 @@ main: { sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - lda #str6 + lda #>str sta print_str.str+1 jsr print_str lda #<$7461 @@ -148,9 +148,9 @@ main: { lda #>$7461 sta print_word.w+1 jsr print_word - lda #str7 + lda #>str1 sta print_str.str+1 jsr print_str lda #<$f781 @@ -158,9 +158,9 @@ main: { lda #>$f781 sta print_word.w+1 jsr print_word - lda #str8 + lda #>str1 sta print_str.str+1 jsr print_str lda #<$6488 @@ -172,13 +172,6 @@ main: { rts str: .text " @" str1: .text " @" - str2: .text " @" - str3: .text " @" - str4: .text " @" - str5: .text " @" - str6: .text " @" - str7: .text " @" - str8: .text " @" lintab1: .fill 2*$14, 0 lintab2: .fill 2*$14, 0 lintab3: .fill 2*$14, 0 diff --git a/src/test/ref/linegen.cfg b/src/test/ref/linegen.cfg index bda4c8403..01fdf2363 100644 --- a/src/test/ref/linegen.cfg +++ b/src/test/ref/linegen.cfg @@ -169,7 +169,7 @@ print_char::@return: scope:[print_char] from print_char to:@return print_str: scope:[print_str] from main::@10 main::@14 main::@16 main::@18 main::@2 main::@23 main::@25 main::@6 main::@8 [84] (byte*) print_char_cursor#86 ← phi( main::@10/(byte*) print_char_cursor#11 main::@14/(byte*) print_char_cursor#11 main::@16/(byte*) print_char_cursor#11 main::@18/(byte*) print_char_cursor#11 main::@2/(byte*~) print_char_cursor#100 main::@23/(byte*) print_char_cursor#11 main::@25/(byte*) print_char_cursor#11 main::@6/((byte*))(word/signed word/dword/signed dword) 1024 main::@8/(byte*) print_char_cursor#11 ) - [84] (byte*) print_str::str#12 ← phi( main::@10/(const string) main::str2 main::@14/(const string) main::str3 main::@16/(const string) main::str4 main::@18/(const string) main::str5 main::@2/(const string) main::str6 main::@23/(const string) main::str7 main::@25/(const string) main::str8 main::@6/(const string) main::str main::@8/(const string) main::str1 ) + [84] (byte*) print_str::str#12 ← phi( main::@10/(const string) main::str1 main::@14/(const string) main::str1 main::@16/(const string) main::str1 main::@18/(const string) main::str1 main::@2/(const string) main::str main::@23/(const string) main::str1 main::@25/(const string) main::str1 main::@6/(const string) main::str main::@8/(const string) main::str1 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [85] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#86 print_str::@2/(byte*) print_char_cursor#1 ) diff --git a/src/test/ref/linegen.log b/src/test/ref/linegen.log index 2890d1ef1..4fa19d279 100644 --- a/src/test/ref/linegen.log +++ b/src/test/ref/linegen.log @@ -1293,6 +1293,7 @@ Constant (const word*) lin16u_gen::lintab#0 = main::lintab1#0 Constant (const word*) lin16u_gen::lintab#1 = main::lintab2#0 Constant (const word*) lin16u_gen::lintab#2 = main::lintab3#0 Successful SSA optimization Pass2ConstantIdentification +Successful SSA optimization Pass2ConstantStringConsolidation Fixing inline constructor with lin16u_gen::$9 ← lin16u_gen::stepi#0 dw= lin16u_gen::stepf#0 Fixing inline constructor with lin16u_gen::$10 ← lin16u_gen::min#3 dw= 0 Successful SSA optimization Pass2FixInlineConstructors @@ -1351,9 +1352,15 @@ Inlining constant with var siblings (const word*) lin16u_gen::lintab#0 Inlining constant with var siblings (const word*) lin16u_gen::lintab#1 Inlining constant with var siblings (const word*) lin16u_gen::lintab#2 Inlining constant with var siblings (const byte*) print_line_cursor#0 +Constant inlined main::str4 = (const string) main::str1 +Constant inlined main::str5 = (const string) main::str1 Constant inlined divr16u::rem#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined main::str6 = (const string) main::str +Constant inlined main::str7 = (const string) main::str1 Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000 Constant inlined divr16u::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined main::str2 = (const string) main::str1 +Constant inlined main::str3 = (const string) main::str1 Constant inlined lin16u_gen::max#0 = (word/signed word/dword/signed dword) 29793 Constant inlined lin16u_gen::max#2 = (word/signed word/dword/signed dword) 25736 Constant inlined lin16u_gen::max#1 = (word/dword/signed dword) 63361 @@ -1372,23 +1379,24 @@ Constant inlined print_word::w#7 = (word/dword/signed dword) 63361 Constant inlined print_word::w#6 = (word/signed word/dword/signed dword) 29793 Constant inlined print_word::w#8 = (word/signed word/dword/signed dword) 25736 Constant inlined lin16u_gen::length#2 = (byte/signed byte/word/signed word/dword/signed dword) 20 -Constant inlined print_str::str#9 = (const string) main::str8 +Constant inlined print_str::str#9 = (const string) main::str1 Constant inlined lin16u_gen::length#1 = (byte/signed byte/word/signed word/dword/signed dword) 20 Constant inlined lin16u_gen::length#0 = (byte/signed byte/word/signed word/dword/signed dword) 20 -Constant inlined print_str::str#4 = (const string) main::str3 -Constant inlined print_str::str#3 = (const string) main::str2 +Constant inlined print_str::str#4 = (const string) main::str1 +Constant inlined print_str::str#3 = (const string) main::str1 Constant inlined print_str::str#2 = (const string) main::str1 Constant inlined print_str::str#1 = (const string) main::str -Constant inlined print_str::str#8 = (const string) main::str7 +Constant inlined print_str::str#8 = (const string) main::str1 +Constant inlined main::str8 = (const string) main::str1 Constant inlined lin16u_gen::lintab#2 = (const word[20]) main::lintab3#0 Constant inlined lin16u_gen::min#1 = (word/signed word/dword/signed dword) 31179 Constant inlined lin16u_gen::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_str::str#7 = (const string) main::str6 +Constant inlined print_str::str#7 = (const string) main::str Constant inlined lin16u_gen::lintab#1 = (const word[20]) main::lintab2#0 Constant inlined lin16u_gen::min#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_str::str#6 = (const string) main::str5 +Constant inlined print_str::str#6 = (const string) main::str1 Constant inlined lin16u_gen::lintab#0 = (const word[20]) main::lintab1#0 -Constant inlined print_str::str#5 = (const string) main::str4 +Constant inlined print_str::str#5 = (const string) main::str1 Successful SSA optimization Pass2ConstantInlining Identical Phi Values (word) lin16u_gen::length#3 (byte/signed byte/word/signed word/dword/signed dword) 20 Successful SSA optimization Pass2IdenticalPhiElimination @@ -1687,7 +1695,7 @@ print_char::@return: scope:[print_char] from print_char to:@return print_str: scope:[print_str] from main::@10 main::@14 main::@16 main::@18 main::@2 main::@23 main::@25 main::@6 main::@8 [84] (byte*) print_char_cursor#86 ← phi( main::@10/(byte*) print_char_cursor#11 main::@14/(byte*) print_char_cursor#11 main::@16/(byte*) print_char_cursor#11 main::@18/(byte*) print_char_cursor#11 main::@2/(byte*~) print_char_cursor#100 main::@23/(byte*) print_char_cursor#11 main::@25/(byte*) print_char_cursor#11 main::@6/((byte*))(word/signed word/dword/signed dword) 1024 main::@8/(byte*) print_char_cursor#11 ) - [84] (byte*) print_str::str#12 ← phi( main::@10/(const string) main::str2 main::@14/(const string) main::str3 main::@16/(const string) main::str4 main::@18/(const string) main::str5 main::@2/(const string) main::str6 main::@23/(const string) main::str7 main::@25/(const string) main::str8 main::@6/(const string) main::str main::@8/(const string) main::str1 ) + [84] (byte*) print_str::str#12 ← phi( main::@10/(const string) main::str1 main::@14/(const string) main::str1 main::@16/(const string) main::str1 main::@18/(const string) main::str1 main::@2/(const string) main::str main::@23/(const string) main::str1 main::@25/(const string) main::str1 main::@6/(const string) main::str main::@8/(const string) main::str1 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [85] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#86 print_str::@2/(byte*) print_char_cursor#1 ) @@ -2175,10 +2183,10 @@ main: { //SEG59 [84] phi from main::@10 to print_str [phi:main::@10->print_str] print_str_from_b10: //SEG60 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@10->print_str#0] -- register_copy - //SEG61 [84] phi (byte*) print_str::str#12 = (const string) main::str2 [phi:main::@10->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str2 + lda #>str1 sta print_str.str+1 jsr print_str //SEG62 [22] phi from main::@10 to main::@11 [phi:main::@10->main::@11] @@ -2244,10 +2252,10 @@ main: { //SEG86 [84] phi from main::@14 to print_str [phi:main::@14->print_str] print_str_from_b14: //SEG87 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@14->print_str#0] -- register_copy - //SEG88 [84] phi (byte*) print_str::str#12 = (const string) main::str3 [phi:main::@14->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str3 + lda #>str1 sta print_str.str+1 jsr print_str jmp b15 @@ -2273,10 +2281,10 @@ main: { //SEG97 [84] phi from main::@16 to print_str [phi:main::@16->print_str] print_str_from_b16: //SEG98 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@16->print_str#0] -- register_copy - //SEG99 [84] phi (byte*) print_str::str#12 = (const string) main::str4 [phi:main::@16->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str4 + lda #>str1 sta print_str.str+1 jsr print_str jmp b17 @@ -2302,10 +2310,10 @@ main: { //SEG108 [84] phi from main::@18 to print_str [phi:main::@18->print_str] print_str_from_b18: //SEG109 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@18->print_str#0] -- register_copy - //SEG110 [84] phi (byte*) print_str::str#12 = (const string) main::str5 [phi:main::@18->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str5 + lda #>str1 sta print_str.str+1 jsr print_str jmp b19 @@ -2356,10 +2364,10 @@ main: { //SEG127 [84] phi from main::@2 to print_str [phi:main::@2->print_str] print_str_from_b2: //SEG128 [84] phi (byte*) print_char_cursor#86 = (byte*~) print_char_cursor#100 [phi:main::@2->print_str#0] -- register_copy - //SEG129 [84] phi (byte*) print_str::str#12 = (const string) main::str6 [phi:main::@2->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str6 + lda #>str sta print_str.str+1 jsr print_str //SEG130 [48] phi from main::@2 to main::@22 [phi:main::@2->main::@22] @@ -2385,10 +2393,10 @@ main: { //SEG138 [84] phi from main::@23 to print_str [phi:main::@23->print_str] print_str_from_b23: //SEG139 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@23->print_str#0] -- register_copy - //SEG140 [84] phi (byte*) print_str::str#12 = (const string) main::str7 [phi:main::@23->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str7 + lda #>str1 sta print_str.str+1 jsr print_str //SEG141 [52] phi from main::@23 to main::@24 [phi:main::@23->main::@24] @@ -2414,10 +2422,10 @@ main: { //SEG149 [84] phi from main::@25 to print_str [phi:main::@25->print_str] print_str_from_b25: //SEG150 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@25->print_str#0] -- register_copy - //SEG151 [84] phi (byte*) print_str::str#12 = (const string) main::str8 [phi:main::@25->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str8 + lda #>str1 sta print_str.str+1 jsr print_str //SEG152 [56] phi from main::@25 to main::@26 [phi:main::@25->main::@26] @@ -2451,13 +2459,6 @@ main: { rts str: .text " @" str1: .text " @" - str2: .text " @" - str3: .text " @" - str4: .text " @" - str5: .text " @" - str6: .text " @" - str7: .text " @" - str8: .text " @" lintab1: .fill 2*$14, 0 lintab2: .fill 2*$14, 0 lintab3: .fill 2*$14, 0 @@ -3316,10 +3317,10 @@ main: { //SEG59 [84] phi from main::@10 to print_str [phi:main::@10->print_str] print_str_from_b10: //SEG60 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@10->print_str#0] -- register_copy - //SEG61 [84] phi (byte*) print_str::str#12 = (const string) main::str2 [phi:main::@10->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str2 + lda #>str1 sta print_str.str+1 jsr print_str //SEG62 [22] phi from main::@10 to main::@11 [phi:main::@10->main::@11] @@ -3384,10 +3385,10 @@ main: { //SEG86 [84] phi from main::@14 to print_str [phi:main::@14->print_str] print_str_from_b14: //SEG87 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@14->print_str#0] -- register_copy - //SEG88 [84] phi (byte*) print_str::str#12 = (const string) main::str3 [phi:main::@14->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str3 + lda #>str1 sta print_str.str+1 jsr print_str jmp b15 @@ -3413,10 +3414,10 @@ main: { //SEG97 [84] phi from main::@16 to print_str [phi:main::@16->print_str] print_str_from_b16: //SEG98 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@16->print_str#0] -- register_copy - //SEG99 [84] phi (byte*) print_str::str#12 = (const string) main::str4 [phi:main::@16->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str4 + lda #>str1 sta print_str.str+1 jsr print_str jmp b17 @@ -3442,10 +3443,10 @@ main: { //SEG108 [84] phi from main::@18 to print_str [phi:main::@18->print_str] print_str_from_b18: //SEG109 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@18->print_str#0] -- register_copy - //SEG110 [84] phi (byte*) print_str::str#12 = (const string) main::str5 [phi:main::@18->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str5 + lda #>str1 sta print_str.str+1 jsr print_str jmp b19 @@ -3496,10 +3497,10 @@ main: { //SEG127 [84] phi from main::@2 to print_str [phi:main::@2->print_str] print_str_from_b2: //SEG128 [84] phi (byte*) print_char_cursor#86 = (byte*~) print_char_cursor#100 [phi:main::@2->print_str#0] -- register_copy - //SEG129 [84] phi (byte*) print_str::str#12 = (const string) main::str6 [phi:main::@2->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str6 + lda #>str sta print_str.str+1 jsr print_str //SEG130 [48] phi from main::@2 to main::@22 [phi:main::@2->main::@22] @@ -3525,10 +3526,10 @@ main: { //SEG138 [84] phi from main::@23 to print_str [phi:main::@23->print_str] print_str_from_b23: //SEG139 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@23->print_str#0] -- register_copy - //SEG140 [84] phi (byte*) print_str::str#12 = (const string) main::str7 [phi:main::@23->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str7 + lda #>str1 sta print_str.str+1 jsr print_str //SEG141 [52] phi from main::@23 to main::@24 [phi:main::@23->main::@24] @@ -3554,10 +3555,10 @@ main: { //SEG149 [84] phi from main::@25 to print_str [phi:main::@25->print_str] print_str_from_b25: //SEG150 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@25->print_str#0] -- register_copy - //SEG151 [84] phi (byte*) print_str::str#12 = (const string) main::str8 [phi:main::@25->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str8 + lda #>str1 sta print_str.str+1 jsr print_str //SEG152 [56] phi from main::@25 to main::@26 [phi:main::@25->main::@26] @@ -3591,13 +3592,6 @@ main: { rts str: .text " @" str1: .text " @" - str2: .text " @" - str3: .text " @" - str4: .text " @" - str5: .text " @" - str6: .text " @" - str7: .text " @" - str8: .text " @" lintab1: .fill 2*$14, 0 lintab2: .fill 2*$14, 0 lintab3: .fill 2*$14, 0 @@ -4393,13 +4387,6 @@ FINAL SYMBOL TABLE (const word[20]) main::lintab3#0 lintab3 = { fill( 20, 0) } (const string) main::str str = (string) " @" (const string) main::str1 str1 = (string) " @" -(const string) main::str2 str2 = (string) " @" -(const string) main::str3 str3 = (string) " @" -(const string) main::str4 str4 = (string) " @" -(const string) main::str5 str5 = (string) " @" -(const string) main::str6 str6 = (string) " @" -(const string) main::str7 str7 = (string) " @" -(const string) main::str8 str8 = (string) " @" (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 @@ -4619,10 +4606,10 @@ main: { //SEG58 [21] call print_str //SEG59 [84] phi from main::@10 to print_str [phi:main::@10->print_str] //SEG60 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@10->print_str#0] -- register_copy - //SEG61 [84] phi (byte*) print_str::str#12 = (const string) main::str2 [phi:main::@10->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str2 + lda #>str1 sta print_str.str+1 jsr print_str //SEG62 [22] phi from main::@10 to main::@11 [phi:main::@10->main::@11] @@ -4669,10 +4656,10 @@ main: { //SEG85 [31] call print_str //SEG86 [84] phi from main::@14 to print_str [phi:main::@14->print_str] //SEG87 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@14->print_str#0] -- register_copy - //SEG88 [84] phi (byte*) print_str::str#12 = (const string) main::str3 [phi:main::@14->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str3 + lda #>str1 sta print_str.str+1 jsr print_str //SEG89 main::@15 @@ -4691,10 +4678,10 @@ main: { //SEG96 [35] call print_str //SEG97 [84] phi from main::@16 to print_str [phi:main::@16->print_str] //SEG98 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@16->print_str#0] -- register_copy - //SEG99 [84] phi (byte*) print_str::str#12 = (const string) main::str4 [phi:main::@16->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str4 + lda #>str1 sta print_str.str+1 jsr print_str //SEG100 main::@17 @@ -4713,10 +4700,10 @@ main: { //SEG107 [39] call print_str //SEG108 [84] phi from main::@18 to print_str [phi:main::@18->print_str] //SEG109 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@18->print_str#0] -- register_copy - //SEG110 [84] phi (byte*) print_str::str#12 = (const string) main::str5 [phi:main::@18->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str5 + lda #>str1 sta print_str.str+1 jsr print_str //SEG111 main::@19 @@ -4754,10 +4741,10 @@ main: { //SEG126 [47] call print_str //SEG127 [84] phi from main::@2 to print_str [phi:main::@2->print_str] //SEG128 [84] phi (byte*) print_char_cursor#86 = (byte*~) print_char_cursor#100 [phi:main::@2->print_str#0] -- register_copy - //SEG129 [84] phi (byte*) print_str::str#12 = (const string) main::str6 [phi:main::@2->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str6 + lda #>str sta print_str.str+1 jsr print_str //SEG130 [48] phi from main::@2 to main::@22 [phi:main::@2->main::@22] @@ -4775,10 +4762,10 @@ main: { //SEG137 [51] call print_str //SEG138 [84] phi from main::@23 to print_str [phi:main::@23->print_str] //SEG139 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@23->print_str#0] -- register_copy - //SEG140 [84] phi (byte*) print_str::str#12 = (const string) main::str7 [phi:main::@23->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str7 + lda #>str1 sta print_str.str+1 jsr print_str //SEG141 [52] phi from main::@23 to main::@24 [phi:main::@23->main::@24] @@ -4796,10 +4783,10 @@ main: { //SEG148 [55] call print_str //SEG149 [84] phi from main::@25 to print_str [phi:main::@25->print_str] //SEG150 [84] phi (byte*) print_char_cursor#86 = (byte*) print_char_cursor#11 [phi:main::@25->print_str#0] -- register_copy - //SEG151 [84] phi (byte*) print_str::str#12 = (const string) main::str8 [phi:main::@25->print_str#1] -- pbuz1=pbuc1 - lda #print_str#1] -- pbuz1=pbuc1 + lda #str8 + lda #>str1 sta print_str.str+1 jsr print_str //SEG152 [56] phi from main::@25 to main::@26 [phi:main::@25->main::@26] @@ -4823,13 +4810,6 @@ main: { rts str: .text " @" str1: .text " @" - str2: .text " @" - str3: .text " @" - str4: .text " @" - str5: .text " @" - str6: .text " @" - str7: .text " @" - str8: .text " @" lintab1: .fill 2*$14, 0 lintab2: .fill 2*$14, 0 lintab3: .fill 2*$14, 0 diff --git a/src/test/ref/linegen.sym b/src/test/ref/linegen.sym index f87258d5f..31c8bd63a 100644 --- a/src/test/ref/linegen.sym +++ b/src/test/ref/linegen.sym @@ -107,13 +107,6 @@ (const word[20]) main::lintab3#0 lintab3 = { fill( 20, 0) } (const string) main::str str = (string) " @" (const string) main::str1 str1 = (string) " @" -(const string) main::str2 str2 = (string) " @" -(const string) main::str3 str3 = (string) " @" -(const string) main::str4 str4 = (string) " @" -(const string) main::str5 str5 = (string) " @" -(const string) main::str6 str6 = (string) " @" -(const string) main::str7 str7 = (string) " @" -(const string) main::str8 str8 = (string) " @" (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 diff --git a/src/test/ref/string-const-consolidation.log b/src/test/ref/string-const-consolidation.log index 7f2912ea7..0b67a95b1 100644 --- a/src/test/ref/string-const-consolidation.log +++ b/src/test/ref/string-const-consolidation.log @@ -6,7 +6,7 @@ CONTROL FLOW GRAPH SSA to:@2 main: scope:[main] from @2 (byte*) screen#15 ← phi( @2/(byte*) screen#17 ) - (byte[]) main::rex2#0 ← (byte[]) rex1#0 + (byte[]) main::rex2#0 ← (const string) main::$3 (byte*) print::string#0 ← (byte[]) rex1#0 call print to:main::@1 @@ -70,6 +70,7 @@ SYMBOL TABLE SSA (label) @begin (label) @end (void()) main() +(const string) main::$3 = (string) "rex@" (label) main::@1 (label) main::@2 (label) main::@3 @@ -131,11 +132,10 @@ Simple Condition (bool~) print::$0 [22] if(*((byte*) print::string#4)!=(byte) '@ Successful SSA optimization Pass2ConditionalJumpSimplification Constant (const byte[]) rex1#0 = $0 Constant (const byte*) screen#0 = ((byte*))1024 +Constant (const byte[]) main::rex2#0 = main::$3 Constant (const byte*) print::string#2 = main::string Successful SSA optimization Pass2ConstantIdentification -Constant (const byte[]) main::rex2#0 = rex1#0 Constant (const byte*) print::string#0 = rex1#0 -Successful SSA optimization Pass2ConstantIdentification Constant (const byte*) print::string#1 = main::rex2#0 Successful SSA optimization Pass2ConstantIdentification Successful SSA optimization Pass2ConstantStringConsolidation @@ -146,14 +146,15 @@ Inlining constant with var siblings (const byte*) print::string#2 Inlining constant with var siblings (const byte*) print::string#0 Inlining constant with var siblings (const byte*) print::string#1 Inlining constant with var siblings (const byte*) screen#0 +Constant inlined main::$3 = (const byte[]) main::rex2#0 Constant inlined print::string#0 = (const byte[]) rex1#0 -Constant inlined print::string#1 = (const byte[]) rex1#0 +Constant inlined print::string#1 = (const byte[]) main::rex2#0 Constant inlined $0 = (const byte[]) rex1#0 Constant inlined print::string#2 = (const string) main::string -Constant inlined main::rex2#0 = (const byte[]) rex1#0 Constant inlined screen#0 = ((byte*))(word/signed word/dword/signed dword) 1024 Successful SSA optimization Pass2ConstantInlining Successful SSA optimization Pass2ConstantStringConsolidation +Constant inlined main::rex2#0 = (const byte[]) rex1#0 Constant inlined main::string = (const byte[]) rex1#0 Successful SSA optimization Pass2ConstantInlining Identical Phi Values (byte*) print::string#6 (const byte[]) rex1#0 diff --git a/src/test/ref/test-comparisons.asm b/src/test/ref/test-comparisons.asm index 605b3135b..6285a2ada 100644 --- a/src/test/ref/test-comparisons.asm +++ b/src/test/ref/test-comparisons.asm @@ -50,9 +50,9 @@ main: { b3: lda #$37 sta printu.b - lda #op1 + lda #>op sta printu.op+1 jsr printu lda a @@ -67,9 +67,9 @@ main: { ldy i lda cs,y sta printu.b - lda #op2 + lda #>op sta printu.op+1 jsr printu lda a @@ -82,9 +82,9 @@ main: { b5: lda a sta printu.b - lda #op3 + lda #>op sta printu.op+1 jsr printu jsr print_ln @@ -117,9 +117,9 @@ main: { b7: lda #$37 sta printu.b - lda #op5 + lda #>op4 sta printu.op+1 jsr printu ldy i @@ -134,9 +134,9 @@ main: { ldy i lda cs,y sta printu.b - lda #op6 + lda #>op4 sta printu.op+1 jsr printu lda a @@ -149,9 +149,9 @@ main: { b9: lda a sta printu.b - lda #op7 + lda #>op4 sta printu.op+1 jsr printu jsr print_ln @@ -186,9 +186,9 @@ main: { b11: lda #$37 sta printu.b - lda #op9 + lda #>op8 sta printu.op+1 jsr printu ldy i @@ -203,9 +203,9 @@ main: { ldy i lda cs,y sta printu.b - lda #op10 + lda #>op8 sta printu.op+1 jsr printu lda a @@ -218,9 +218,9 @@ main: { b13: lda a sta printu.b - lda #op11 + lda #>op8 sta printu.op+1 jsr printu jsr print_ln @@ -253,9 +253,9 @@ main: { b15: lda #$37 sta printu.b - lda #op13 + lda #>op12 sta printu.op+1 jsr printu lda a @@ -270,9 +270,9 @@ main: { ldy i lda cs,y sta printu.b - lda #op14 + lda #>op12 sta printu.op+1 jsr printu lda a @@ -285,9 +285,9 @@ main: { b17: lda a sta printu.b - lda #op15 + lda #>op12 sta printu.op+1 jsr printu jsr print_ln @@ -320,9 +320,9 @@ main: { b19: lda #$37 sta printu.b - lda #op17 + lda #>op16 sta printu.op+1 jsr printu lda a @@ -337,9 +337,9 @@ main: { ldy i lda cs,y sta printu.b - lda #op18 + lda #>op16 sta printu.op+1 jsr printu lda a @@ -352,9 +352,9 @@ main: { b21: lda a sta printu.b - lda #op19 + lda #>op16 sta printu.op+1 jsr printu jsr print_ln @@ -375,25 +375,10 @@ main: { sta print_char_cursor+1 jmp b1 op: .text "< @" - op1: .text "< @" - op2: .text "< @" - op3: .text "< @" op4: .text "> @" - op5: .text "> @" - op6: .text "> @" - op7: .text "> @" op8: .text "<=@" - op9: .text "<=@" - op10: .text "<=@" - op11: .text "<=@" op12: .text ">=@" - op13: .text ">=@" - op14: .text ">=@" - op15: .text ">=@" op16: .text "==@" - op17: .text "==@" - op18: .text "==@" - op19: .text "==@" cs: .byte 7, $c7, $37, $97, $67 } // Print a newline diff --git a/src/test/ref/test-comparisons.cfg b/src/test/ref/test-comparisons.cfg index 42903d3f4..f7cd538a1 100644 --- a/src/test/ref/test-comparisons.cfg +++ b/src/test/ref/test-comparisons.cfg @@ -320,7 +320,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1 printu: scope:[printu] from main::@10 main::@11 main::@12 main::@13 main::@14 main::@15 main::@16 main::@17 main::@18 main::@19 main::@2 main::@20 main::@21 main::@3 main::@4 main::@5 main::@6 main::@7 main::@8 main::@9 [167] (byte) printu::res#20 ← phi( main::@10/(byte) printu::res#8 main::@11/(byte) printu::res#9 main::@12/(byte) printu::res#10 main::@13/(byte) printu::res#11 main::@14/(byte) printu::res#12 main::@15/(byte) printu::res#13 main::@16/(byte) printu::res#14 main::@17/(byte) printu::res#15 main::@18/(byte) printu::res#16 main::@19/(byte) printu::res#17 main::@2/(byte) printu::res#0 main::@20/(byte) printu::res#18 main::@21/(byte) printu::res#19 main::@3/(byte) printu::res#1 main::@4/(byte) printu::res#2 main::@5/(byte) printu::res#3 main::@6/(byte) printu::res#4 main::@7/(byte) printu::res#5 main::@8/(byte) printu::res#6 main::@9/(byte) printu::res#7 ) [167] (byte) printu::b#20 ← phi( main::@10/(byte) printu::b#8 main::@11/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@12/(byte) printu::b#10 main::@13/(byte) printu::b#11 main::@14/(byte) printu::b#12 main::@15/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@16/(byte) printu::b#14 main::@17/(byte) printu::b#15 main::@18/(byte) printu::b#16 main::@19/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@2/(byte) printu::b#0 main::@20/(byte) printu::b#18 main::@21/(byte) printu::b#19 main::@3/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@4/(byte) printu::b#2 main::@5/(byte) printu::b#3 main::@6/(byte) printu::b#4 main::@7/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@8/(byte) printu::b#6 main::@9/(byte) printu::b#7 ) - [167] (byte[]) printu::op#20 ← phi( main::@10/(const string) main::op8 main::@11/(const string) main::op9 main::@12/(const string) main::op10 main::@13/(const string) main::op11 main::@14/(const string) main::op12 main::@15/(const string) main::op13 main::@16/(const string) main::op14 main::@17/(const string) main::op15 main::@18/(const string) main::op16 main::@19/(const string) main::op17 main::@2/(const string) main::op main::@20/(const string) main::op18 main::@21/(const string) main::op19 main::@3/(const string) main::op1 main::@4/(const string) main::op2 main::@5/(const string) main::op3 main::@6/(const string) main::op4 main::@7/(const string) main::op5 main::@8/(const string) main::op6 main::@9/(const string) main::op7 ) + [167] (byte[]) printu::op#20 ← phi( main::@10/(const string) main::op8 main::@11/(const string) main::op8 main::@12/(const string) main::op8 main::@13/(const string) main::op8 main::@14/(const string) main::op12 main::@15/(const string) main::op12 main::@16/(const string) main::op12 main::@17/(const string) main::op12 main::@18/(const string) main::op16 main::@19/(const string) main::op16 main::@2/(const string) main::op main::@20/(const string) main::op16 main::@21/(const string) main::op16 main::@3/(const string) main::op main::@4/(const string) main::op main::@5/(const string) main::op main::@6/(const string) main::op4 main::@7/(const string) main::op4 main::@8/(const string) main::op4 main::@9/(const string) main::op4 ) [167] (byte) printu::a#20 ← phi( main::@10/(byte) printu::a#8 main::@11/(byte) printu::a#9 main::@12/(byte) printu::a#10 main::@13/(byte) printu::a#11 main::@14/(byte) printu::a#12 main::@15/(byte) printu::a#13 main::@16/(byte) printu::a#14 main::@17/(byte) printu::a#15 main::@18/(byte) printu::a#16 main::@19/(byte) printu::a#17 main::@2/(byte) printu::a#0 main::@20/(byte) printu::a#18 main::@21/(byte) printu::a#19 main::@3/(byte) printu::a#1 main::@4/(byte) printu::a#2 main::@5/(byte) printu::a#3 main::@6/(byte) printu::a#4 main::@7/(byte) printu::a#5 main::@8/(byte) printu::a#6 main::@9/(byte) printu::a#7 ) [167] (byte*) print_char_cursor#95 ← phi( main::@10/(byte*~) print_char_cursor#143 main::@11/(byte*) print_char_cursor#55 main::@12/(byte*) print_char_cursor#55 main::@13/(byte*) print_char_cursor#55 main::@14/(byte*~) print_char_cursor#147 main::@15/(byte*) print_char_cursor#55 main::@16/(byte*) print_char_cursor#55 main::@17/(byte*) print_char_cursor#55 main::@18/(byte*~) print_char_cursor#151 main::@19/(byte*) print_char_cursor#55 main::@2/(byte*) print_char_cursor#120 main::@20/(byte*) print_char_cursor#55 main::@21/(byte*) print_char_cursor#55 main::@3/(byte*) print_char_cursor#55 main::@4/(byte*) print_char_cursor#55 main::@5/(byte*) print_char_cursor#55 main::@6/(byte*~) print_char_cursor#159 main::@7/(byte*) print_char_cursor#55 main::@8/(byte*) print_char_cursor#55 main::@9/(byte*) print_char_cursor#55 ) [168] call print_char diff --git a/src/test/ref/test-comparisons.log b/src/test/ref/test-comparisons.log index 9553e10bc..517d11520 100644 --- a/src/test/ref/test-comparisons.log +++ b/src/test/ref/test-comparisons.log @@ -2076,6 +2076,7 @@ Constant (const byte*) print_cls::$0 = print_line_cursor#0+1000 Successful SSA optimization Pass2ConstantIdentification if() condition always true - replacing block destination [154] if(true) goto main::@22 Successful SSA optimization Pass2ConstantIfs +Successful SSA optimization Pass2ConstantStringConsolidation Removing unused block main::@return Successful SSA optimization Pass2EliminateUnusedBlocks Resolved ranged next value main::i#1 ← ++ main::i#10 to ++ @@ -2160,17 +2161,17 @@ Inlining constant with var siblings (const byte[]) printu::op#18 Inlining constant with var siblings (const byte[]) printu::op#19 Inlining constant with var siblings (const byte*) print_line_cursor#0 Constant inlined printu::op#0 = (const string) main::op -Constant inlined printu::op#1 = (const string) main::op1 +Constant inlined printu::op#1 = (const string) main::op Constant inlined printu::op#8 = (const string) main::op8 -Constant inlined printu::op#9 = (const string) main::op9 -Constant inlined printu::op#6 = (const string) main::op6 +Constant inlined printu::op#9 = (const string) main::op8 +Constant inlined printu::op#6 = (const string) main::op4 Constant inlined main::r#39 = (byte) '+' -Constant inlined printu::op#7 = (const string) main::op7 +Constant inlined printu::op#7 = (const string) main::op4 Constant inlined printu::op#4 = (const string) main::op4 Constant inlined $0 = (const byte[]) print_hextab#0 -Constant inlined printu::op#5 = (const string) main::op5 -Constant inlined printu::op#2 = (const string) main::op2 -Constant inlined printu::op#3 = (const string) main::op3 +Constant inlined printu::op#5 = (const string) main::op4 +Constant inlined printu::op#2 = (const string) main::op +Constant inlined printu::op#3 = (const string) main::op Constant inlined main::r#33 = (byte) '-' Constant inlined main::r#34 = (byte) '+' Constant inlined main::r#31 = (byte) '-' @@ -2180,14 +2181,19 @@ Constant inlined main::r#38 = (byte) '+' Constant inlined main::r#35 = (byte) '-' Constant inlined main::r#36 = (byte) '+' Constant inlined main::r#30 = (byte) '+' +Constant inlined main::op11 = (const string) main::op8 Constant inlined printu::b#17 = (byte/signed byte/word/signed word/dword/signed dword) 55 +Constant inlined main::op10 = (const string) main::op8 +Constant inlined main::op15 = (const string) main::op12 Constant inlined printu::b#13 = (byte/signed byte/word/signed word/dword/signed dword) 55 +Constant inlined main::op13 = (const string) main::op12 Constant inlined print_line_cursor#0 = ((byte*))(word/signed word/dword/signed dword) 1024 +Constant inlined main::op14 = (const string) main::op12 Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000 -Constant inlined printu::op#17 = (const string) main::op17 +Constant inlined printu::op#17 = (const string) main::op16 Constant inlined main::r#19 = (byte) '-' -Constant inlined printu::op#18 = (const string) main::op18 -Constant inlined printu::op#19 = (const string) main::op19 +Constant inlined printu::op#18 = (const string) main::op16 +Constant inlined printu::op#19 = (const string) main::op16 Constant inlined main::r#17 = (byte) '-' Constant inlined main::r#18 = (byte) '+' Constant inlined main::a#0 = (byte/signed byte/word/signed word/dword/signed dword) 7 @@ -2198,7 +2204,10 @@ Constant inlined main::r#15 = (byte) '-' Constant inlined main::r#16 = (byte) '+' Constant inlined main::r#13 = (byte) '-' Constant inlined main::r#14 = (byte) '+' +Constant inlined main::op19 = (const string) main::op16 Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined main::op17 = (const string) main::op16 +Constant inlined main::op18 = (const string) main::op16 Constant inlined main::r#0 = (byte) '-' Constant inlined main::r#1 = (byte) '-' Constant inlined main::r#8 = (byte) '+' @@ -2216,22 +2225,29 @@ Constant inlined main::r#3 = (byte) '-' Constant inlined print_char::ch#3 = (byte) ' ' Constant inlined main::r#22 = (byte) '+' Constant inlined printu::b#5 = (byte/signed byte/word/signed word/dword/signed dword) 55 -Constant inlined printu::op#10 = (const string) main::op10 +Constant inlined main::op1 = (const string) main::op +Constant inlined printu::op#10 = (const string) main::op8 Constant inlined print_char::ch#2 = (byte) ' ' Constant inlined main::r#23 = (byte) '-' -Constant inlined printu::op#11 = (const string) main::op11 +Constant inlined printu::op#11 = (const string) main::op8 Constant inlined main::r#20 = (byte) '+' Constant inlined printu::op#12 = (const string) main::op12 Constant inlined main::r#21 = (byte) '-' -Constant inlined printu::op#13 = (const string) main::op13 +Constant inlined printu::op#13 = (const string) main::op12 Constant inlined main::r#26 = (byte) '+' Constant inlined printu::b#1 = (byte/signed byte/word/signed word/dword/signed dword) 55 -Constant inlined printu::op#14 = (const string) main::op14 +Constant inlined printu::op#14 = (const string) main::op12 Constant inlined main::r#27 = (byte) '-' -Constant inlined printu::op#15 = (const string) main::op15 +Constant inlined printu::op#15 = (const string) main::op12 Constant inlined main::r#24 = (byte) '+' Constant inlined printu::op#16 = (const string) main::op16 Constant inlined main::r#25 = (byte) '-' +Constant inlined main::op9 = (const string) main::op8 +Constant inlined main::op6 = (const string) main::op4 +Constant inlined main::op7 = (const string) main::op4 +Constant inlined main::op5 = (const string) main::op4 +Constant inlined main::op2 = (const string) main::op +Constant inlined main::op3 = (const string) main::op Successful SSA optimization Pass2ConstantInlining Added new block during phi lifting main::@71(between main::@70 and main::@1) Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1) @@ -2732,7 +2748,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1 printu: scope:[printu] from main::@10 main::@11 main::@12 main::@13 main::@14 main::@15 main::@16 main::@17 main::@18 main::@19 main::@2 main::@20 main::@21 main::@3 main::@4 main::@5 main::@6 main::@7 main::@8 main::@9 [167] (byte) printu::res#20 ← phi( main::@10/(byte) printu::res#8 main::@11/(byte) printu::res#9 main::@12/(byte) printu::res#10 main::@13/(byte) printu::res#11 main::@14/(byte) printu::res#12 main::@15/(byte) printu::res#13 main::@16/(byte) printu::res#14 main::@17/(byte) printu::res#15 main::@18/(byte) printu::res#16 main::@19/(byte) printu::res#17 main::@2/(byte) printu::res#0 main::@20/(byte) printu::res#18 main::@21/(byte) printu::res#19 main::@3/(byte) printu::res#1 main::@4/(byte) printu::res#2 main::@5/(byte) printu::res#3 main::@6/(byte) printu::res#4 main::@7/(byte) printu::res#5 main::@8/(byte) printu::res#6 main::@9/(byte) printu::res#7 ) [167] (byte) printu::b#20 ← phi( main::@10/(byte) printu::b#8 main::@11/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@12/(byte) printu::b#10 main::@13/(byte) printu::b#11 main::@14/(byte) printu::b#12 main::@15/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@16/(byte) printu::b#14 main::@17/(byte) printu::b#15 main::@18/(byte) printu::b#16 main::@19/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@2/(byte) printu::b#0 main::@20/(byte) printu::b#18 main::@21/(byte) printu::b#19 main::@3/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@4/(byte) printu::b#2 main::@5/(byte) printu::b#3 main::@6/(byte) printu::b#4 main::@7/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@8/(byte) printu::b#6 main::@9/(byte) printu::b#7 ) - [167] (byte[]) printu::op#20 ← phi( main::@10/(const string) main::op8 main::@11/(const string) main::op9 main::@12/(const string) main::op10 main::@13/(const string) main::op11 main::@14/(const string) main::op12 main::@15/(const string) main::op13 main::@16/(const string) main::op14 main::@17/(const string) main::op15 main::@18/(const string) main::op16 main::@19/(const string) main::op17 main::@2/(const string) main::op main::@20/(const string) main::op18 main::@21/(const string) main::op19 main::@3/(const string) main::op1 main::@4/(const string) main::op2 main::@5/(const string) main::op3 main::@6/(const string) main::op4 main::@7/(const string) main::op5 main::@8/(const string) main::op6 main::@9/(const string) main::op7 ) + [167] (byte[]) printu::op#20 ← phi( main::@10/(const string) main::op8 main::@11/(const string) main::op8 main::@12/(const string) main::op8 main::@13/(const string) main::op8 main::@14/(const string) main::op12 main::@15/(const string) main::op12 main::@16/(const string) main::op12 main::@17/(const string) main::op12 main::@18/(const string) main::op16 main::@19/(const string) main::op16 main::@2/(const string) main::op main::@20/(const string) main::op16 main::@21/(const string) main::op16 main::@3/(const string) main::op main::@4/(const string) main::op main::@5/(const string) main::op main::@6/(const string) main::op4 main::@7/(const string) main::op4 main::@8/(const string) main::op4 main::@9/(const string) main::op4 ) [167] (byte) printu::a#20 ← phi( main::@10/(byte) printu::a#8 main::@11/(byte) printu::a#9 main::@12/(byte) printu::a#10 main::@13/(byte) printu::a#11 main::@14/(byte) printu::a#12 main::@15/(byte) printu::a#13 main::@16/(byte) printu::a#14 main::@17/(byte) printu::a#15 main::@18/(byte) printu::a#16 main::@19/(byte) printu::a#17 main::@2/(byte) printu::a#0 main::@20/(byte) printu::a#18 main::@21/(byte) printu::a#19 main::@3/(byte) printu::a#1 main::@4/(byte) printu::a#2 main::@5/(byte) printu::a#3 main::@6/(byte) printu::a#4 main::@7/(byte) printu::a#5 main::@8/(byte) printu::a#6 main::@9/(byte) printu::a#7 ) [167] (byte*) print_char_cursor#95 ← phi( main::@10/(byte*~) print_char_cursor#143 main::@11/(byte*) print_char_cursor#55 main::@12/(byte*) print_char_cursor#55 main::@13/(byte*) print_char_cursor#55 main::@14/(byte*~) print_char_cursor#147 main::@15/(byte*) print_char_cursor#55 main::@16/(byte*) print_char_cursor#55 main::@17/(byte*) print_char_cursor#55 main::@18/(byte*~) print_char_cursor#151 main::@19/(byte*) print_char_cursor#55 main::@2/(byte*) print_char_cursor#120 main::@20/(byte*) print_char_cursor#55 main::@21/(byte*) print_char_cursor#55 main::@3/(byte*) print_char_cursor#55 main::@4/(byte*) print_char_cursor#55 main::@5/(byte*) print_char_cursor#55 main::@6/(byte*~) print_char_cursor#159 main::@7/(byte*) print_char_cursor#55 main::@8/(byte*) print_char_cursor#55 main::@9/(byte*) print_char_cursor#55 ) [168] call print_char @@ -3226,10 +3242,10 @@ main: { //SEG52 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@3->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG53 [167] phi (byte[]) printu::op#20 = (const string) main::op1 [phi:main::@3->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op1 + lda #>op sta printu.op+1 //SEG54 [167] phi (byte) printu::a#20 = (byte) printu::a#1 [phi:main::@3->printu#3] -- register_copy //SEG55 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@3->printu#4] -- register_copy @@ -3276,10 +3292,10 @@ main: { printu_from_b4: //SEG70 [167] phi (byte) printu::res#20 = (byte) printu::res#2 [phi:main::@4->printu#0] -- register_copy //SEG71 [167] phi (byte) printu::b#20 = (byte) printu::b#2 [phi:main::@4->printu#1] -- register_copy - //SEG72 [167] phi (byte[]) printu::op#20 = (const string) main::op2 [phi:main::@4->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op2 + lda #>op sta printu.op+1 //SEG73 [167] phi (byte) printu::a#20 = (byte) printu::a#2 [phi:main::@4->printu#3] -- register_copy //SEG74 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@4->printu#4] -- register_copy @@ -3324,10 +3340,10 @@ main: { printu_from_b5: //SEG89 [167] phi (byte) printu::res#20 = (byte) printu::res#3 [phi:main::@5->printu#0] -- register_copy //SEG90 [167] phi (byte) printu::b#20 = (byte) printu::b#3 [phi:main::@5->printu#1] -- register_copy - //SEG91 [167] phi (byte[]) printu::op#20 = (const string) main::op3 [phi:main::@5->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op3 + lda #>op sta printu.op+1 //SEG92 [167] phi (byte) printu::a#20 = (byte) printu::a#3 [phi:main::@5->printu#3] -- register_copy //SEG93 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@5->printu#4] -- register_copy @@ -3434,10 +3450,10 @@ main: { //SEG133 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@7->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG134 [167] phi (byte[]) printu::op#20 = (const string) main::op5 [phi:main::@7->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op5 + lda #>op4 sta printu.op+1 //SEG135 [167] phi (byte) printu::a#20 = (byte) printu::a#5 [phi:main::@7->printu#3] -- register_copy //SEG136 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@7->printu#4] -- register_copy @@ -3484,10 +3500,10 @@ main: { printu_from_b8: //SEG151 [167] phi (byte) printu::res#20 = (byte) printu::res#6 [phi:main::@8->printu#0] -- register_copy //SEG152 [167] phi (byte) printu::b#20 = (byte) printu::b#6 [phi:main::@8->printu#1] -- register_copy - //SEG153 [167] phi (byte[]) printu::op#20 = (const string) main::op6 [phi:main::@8->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op6 + lda #>op4 sta printu.op+1 //SEG154 [167] phi (byte) printu::a#20 = (byte) printu::a#6 [phi:main::@8->printu#3] -- register_copy //SEG155 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@8->printu#4] -- register_copy @@ -3532,10 +3548,10 @@ main: { printu_from_b9: //SEG170 [167] phi (byte) printu::res#20 = (byte) printu::res#7 [phi:main::@9->printu#0] -- register_copy //SEG171 [167] phi (byte) printu::b#20 = (byte) printu::b#7 [phi:main::@9->printu#1] -- register_copy - //SEG172 [167] phi (byte[]) printu::op#20 = (const string) main::op7 [phi:main::@9->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op7 + lda #>op4 sta printu.op+1 //SEG173 [167] phi (byte) printu::a#20 = (byte) printu::a#7 [phi:main::@9->printu#3] -- register_copy //SEG174 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@9->printu#4] -- register_copy @@ -3644,10 +3660,10 @@ main: { //SEG214 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@11->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG215 [167] phi (byte[]) printu::op#20 = (const string) main::op9 [phi:main::@11->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op9 + lda #>op8 sta printu.op+1 //SEG216 [167] phi (byte) printu::a#20 = (byte) printu::a#9 [phi:main::@11->printu#3] -- register_copy //SEG217 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@11->printu#4] -- register_copy @@ -3694,10 +3710,10 @@ main: { printu_from_b12: //SEG232 [167] phi (byte) printu::res#20 = (byte) printu::res#10 [phi:main::@12->printu#0] -- register_copy //SEG233 [167] phi (byte) printu::b#20 = (byte) printu::b#10 [phi:main::@12->printu#1] -- register_copy - //SEG234 [167] phi (byte[]) printu::op#20 = (const string) main::op10 [phi:main::@12->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op10 + lda #>op8 sta printu.op+1 //SEG235 [167] phi (byte) printu::a#20 = (byte) printu::a#10 [phi:main::@12->printu#3] -- register_copy //SEG236 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@12->printu#4] -- register_copy @@ -3742,10 +3758,10 @@ main: { printu_from_b13: //SEG251 [167] phi (byte) printu::res#20 = (byte) printu::res#11 [phi:main::@13->printu#0] -- register_copy //SEG252 [167] phi (byte) printu::b#20 = (byte) printu::b#11 [phi:main::@13->printu#1] -- register_copy - //SEG253 [167] phi (byte[]) printu::op#20 = (const string) main::op11 [phi:main::@13->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op11 + lda #>op8 sta printu.op+1 //SEG254 [167] phi (byte) printu::a#20 = (byte) printu::a#11 [phi:main::@13->printu#3] -- register_copy //SEG255 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@13->printu#4] -- register_copy @@ -3852,10 +3868,10 @@ main: { //SEG295 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@15->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG296 [167] phi (byte[]) printu::op#20 = (const string) main::op13 [phi:main::@15->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op13 + lda #>op12 sta printu.op+1 //SEG297 [167] phi (byte) printu::a#20 = (byte) printu::a#13 [phi:main::@15->printu#3] -- register_copy //SEG298 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@15->printu#4] -- register_copy @@ -3902,10 +3918,10 @@ main: { printu_from_b16: //SEG313 [167] phi (byte) printu::res#20 = (byte) printu::res#14 [phi:main::@16->printu#0] -- register_copy //SEG314 [167] phi (byte) printu::b#20 = (byte) printu::b#14 [phi:main::@16->printu#1] -- register_copy - //SEG315 [167] phi (byte[]) printu::op#20 = (const string) main::op14 [phi:main::@16->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op14 + lda #>op12 sta printu.op+1 //SEG316 [167] phi (byte) printu::a#20 = (byte) printu::a#14 [phi:main::@16->printu#3] -- register_copy //SEG317 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@16->printu#4] -- register_copy @@ -3950,10 +3966,10 @@ main: { printu_from_b17: //SEG332 [167] phi (byte) printu::res#20 = (byte) printu::res#15 [phi:main::@17->printu#0] -- register_copy //SEG333 [167] phi (byte) printu::b#20 = (byte) printu::b#15 [phi:main::@17->printu#1] -- register_copy - //SEG334 [167] phi (byte[]) printu::op#20 = (const string) main::op15 [phi:main::@17->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op15 + lda #>op12 sta printu.op+1 //SEG335 [167] phi (byte) printu::a#20 = (byte) printu::a#15 [phi:main::@17->printu#3] -- register_copy //SEG336 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@17->printu#4] -- register_copy @@ -4060,10 +4076,10 @@ main: { //SEG376 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@19->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG377 [167] phi (byte[]) printu::op#20 = (const string) main::op17 [phi:main::@19->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op17 + lda #>op16 sta printu.op+1 //SEG378 [167] phi (byte) printu::a#20 = (byte) printu::a#17 [phi:main::@19->printu#3] -- register_copy //SEG379 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@19->printu#4] -- register_copy @@ -4110,10 +4126,10 @@ main: { printu_from_b20: //SEG394 [167] phi (byte) printu::res#20 = (byte) printu::res#18 [phi:main::@20->printu#0] -- register_copy //SEG395 [167] phi (byte) printu::b#20 = (byte) printu::b#18 [phi:main::@20->printu#1] -- register_copy - //SEG396 [167] phi (byte[]) printu::op#20 = (const string) main::op18 [phi:main::@20->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op18 + lda #>op16 sta printu.op+1 //SEG397 [167] phi (byte) printu::a#20 = (byte) printu::a#18 [phi:main::@20->printu#3] -- register_copy //SEG398 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@20->printu#4] -- register_copy @@ -4158,10 +4174,10 @@ main: { printu_from_b21: //SEG413 [167] phi (byte) printu::res#20 = (byte) printu::res#19 [phi:main::@21->printu#0] -- register_copy //SEG414 [167] phi (byte) printu::b#20 = (byte) printu::b#19 [phi:main::@21->printu#1] -- register_copy - //SEG415 [167] phi (byte[]) printu::op#20 = (const string) main::op19 [phi:main::@21->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op19 + lda #>op16 sta printu.op+1 //SEG416 [167] phi (byte) printu::a#20 = (byte) printu::a#19 [phi:main::@21->printu#3] -- register_copy //SEG417 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@21->printu#4] -- register_copy @@ -4212,25 +4228,10 @@ main: { //SEG435 [6] phi (byte) main::a#10 = (byte) main::a#1 [phi:main::@71->main::@1#3] -- register_copy jmp b1 op: .text "< @" - op1: .text "< @" - op2: .text "< @" - op3: .text "< @" op4: .text "> @" - op5: .text "> @" - op6: .text "> @" - op7: .text "> @" op8: .text "<=@" - op9: .text "<=@" - op10: .text "<=@" - op11: .text "<=@" op12: .text ">=@" - op13: .text ">=@" - op14: .text ">=@" - op15: .text ">=@" op16: .text "==@" - op17: .text "==@" - op18: .text "==@" - op19: .text "==@" cs: .byte 7, $c7, $37, $97, $67 } //SEG436 print_ln @@ -4863,10 +4864,10 @@ main: { //SEG52 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@3->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG53 [167] phi (byte[]) printu::op#20 = (const string) main::op1 [phi:main::@3->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op1 + lda #>op sta printu.op+1 //SEG54 [167] phi (byte) printu::a#20 = (byte) printu::a#1 [phi:main::@3->printu#3] -- register_copy //SEG55 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@3->printu#4] -- register_copy @@ -4907,10 +4908,10 @@ main: { printu_from_b4: //SEG70 [167] phi (byte) printu::res#20 = (byte) printu::res#2 [phi:main::@4->printu#0] -- register_copy //SEG71 [167] phi (byte) printu::b#20 = (byte) printu::b#2 [phi:main::@4->printu#1] -- register_copy - //SEG72 [167] phi (byte[]) printu::op#20 = (const string) main::op2 [phi:main::@4->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op2 + lda #>op sta printu.op+1 //SEG73 [167] phi (byte) printu::a#20 = (byte) printu::a#2 [phi:main::@4->printu#3] -- register_copy //SEG74 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@4->printu#4] -- register_copy @@ -4949,10 +4950,10 @@ main: { printu_from_b5: //SEG89 [167] phi (byte) printu::res#20 = (byte) printu::res#3 [phi:main::@5->printu#0] -- register_copy //SEG90 [167] phi (byte) printu::b#20 = (byte) printu::b#3 [phi:main::@5->printu#1] -- register_copy - //SEG91 [167] phi (byte[]) printu::op#20 = (const string) main::op3 [phi:main::@5->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op3 + lda #>op sta printu.op+1 //SEG92 [167] phi (byte) printu::a#20 = (byte) printu::a#3 [phi:main::@5->printu#3] -- register_copy //SEG93 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@5->printu#4] -- register_copy @@ -5047,10 +5048,10 @@ main: { //SEG133 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@7->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG134 [167] phi (byte[]) printu::op#20 = (const string) main::op5 [phi:main::@7->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op5 + lda #>op4 sta printu.op+1 //SEG135 [167] phi (byte) printu::a#20 = (byte) printu::a#5 [phi:main::@7->printu#3] -- register_copy //SEG136 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@7->printu#4] -- register_copy @@ -5091,10 +5092,10 @@ main: { printu_from_b8: //SEG151 [167] phi (byte) printu::res#20 = (byte) printu::res#6 [phi:main::@8->printu#0] -- register_copy //SEG152 [167] phi (byte) printu::b#20 = (byte) printu::b#6 [phi:main::@8->printu#1] -- register_copy - //SEG153 [167] phi (byte[]) printu::op#20 = (const string) main::op6 [phi:main::@8->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op6 + lda #>op4 sta printu.op+1 //SEG154 [167] phi (byte) printu::a#20 = (byte) printu::a#6 [phi:main::@8->printu#3] -- register_copy //SEG155 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@8->printu#4] -- register_copy @@ -5133,10 +5134,10 @@ main: { printu_from_b9: //SEG170 [167] phi (byte) printu::res#20 = (byte) printu::res#7 [phi:main::@9->printu#0] -- register_copy //SEG171 [167] phi (byte) printu::b#20 = (byte) printu::b#7 [phi:main::@9->printu#1] -- register_copy - //SEG172 [167] phi (byte[]) printu::op#20 = (const string) main::op7 [phi:main::@9->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op7 + lda #>op4 sta printu.op+1 //SEG173 [167] phi (byte) printu::a#20 = (byte) printu::a#7 [phi:main::@9->printu#3] -- register_copy //SEG174 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@9->printu#4] -- register_copy @@ -5233,10 +5234,10 @@ main: { //SEG214 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@11->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG215 [167] phi (byte[]) printu::op#20 = (const string) main::op9 [phi:main::@11->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op9 + lda #>op8 sta printu.op+1 //SEG216 [167] phi (byte) printu::a#20 = (byte) printu::a#9 [phi:main::@11->printu#3] -- register_copy //SEG217 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@11->printu#4] -- register_copy @@ -5277,10 +5278,10 @@ main: { printu_from_b12: //SEG232 [167] phi (byte) printu::res#20 = (byte) printu::res#10 [phi:main::@12->printu#0] -- register_copy //SEG233 [167] phi (byte) printu::b#20 = (byte) printu::b#10 [phi:main::@12->printu#1] -- register_copy - //SEG234 [167] phi (byte[]) printu::op#20 = (const string) main::op10 [phi:main::@12->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op10 + lda #>op8 sta printu.op+1 //SEG235 [167] phi (byte) printu::a#20 = (byte) printu::a#10 [phi:main::@12->printu#3] -- register_copy //SEG236 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@12->printu#4] -- register_copy @@ -5319,10 +5320,10 @@ main: { printu_from_b13: //SEG251 [167] phi (byte) printu::res#20 = (byte) printu::res#11 [phi:main::@13->printu#0] -- register_copy //SEG252 [167] phi (byte) printu::b#20 = (byte) printu::b#11 [phi:main::@13->printu#1] -- register_copy - //SEG253 [167] phi (byte[]) printu::op#20 = (const string) main::op11 [phi:main::@13->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op11 + lda #>op8 sta printu.op+1 //SEG254 [167] phi (byte) printu::a#20 = (byte) printu::a#11 [phi:main::@13->printu#3] -- register_copy //SEG255 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@13->printu#4] -- register_copy @@ -5417,10 +5418,10 @@ main: { //SEG295 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@15->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG296 [167] phi (byte[]) printu::op#20 = (const string) main::op13 [phi:main::@15->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op13 + lda #>op12 sta printu.op+1 //SEG297 [167] phi (byte) printu::a#20 = (byte) printu::a#13 [phi:main::@15->printu#3] -- register_copy //SEG298 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@15->printu#4] -- register_copy @@ -5461,10 +5462,10 @@ main: { printu_from_b16: //SEG313 [167] phi (byte) printu::res#20 = (byte) printu::res#14 [phi:main::@16->printu#0] -- register_copy //SEG314 [167] phi (byte) printu::b#20 = (byte) printu::b#14 [phi:main::@16->printu#1] -- register_copy - //SEG315 [167] phi (byte[]) printu::op#20 = (const string) main::op14 [phi:main::@16->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op14 + lda #>op12 sta printu.op+1 //SEG316 [167] phi (byte) printu::a#20 = (byte) printu::a#14 [phi:main::@16->printu#3] -- register_copy //SEG317 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@16->printu#4] -- register_copy @@ -5503,10 +5504,10 @@ main: { printu_from_b17: //SEG332 [167] phi (byte) printu::res#20 = (byte) printu::res#15 [phi:main::@17->printu#0] -- register_copy //SEG333 [167] phi (byte) printu::b#20 = (byte) printu::b#15 [phi:main::@17->printu#1] -- register_copy - //SEG334 [167] phi (byte[]) printu::op#20 = (const string) main::op15 [phi:main::@17->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op15 + lda #>op12 sta printu.op+1 //SEG335 [167] phi (byte) printu::a#20 = (byte) printu::a#15 [phi:main::@17->printu#3] -- register_copy //SEG336 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@17->printu#4] -- register_copy @@ -5601,10 +5602,10 @@ main: { //SEG376 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@19->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG377 [167] phi (byte[]) printu::op#20 = (const string) main::op17 [phi:main::@19->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op17 + lda #>op16 sta printu.op+1 //SEG378 [167] phi (byte) printu::a#20 = (byte) printu::a#17 [phi:main::@19->printu#3] -- register_copy //SEG379 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@19->printu#4] -- register_copy @@ -5645,10 +5646,10 @@ main: { printu_from_b20: //SEG394 [167] phi (byte) printu::res#20 = (byte) printu::res#18 [phi:main::@20->printu#0] -- register_copy //SEG395 [167] phi (byte) printu::b#20 = (byte) printu::b#18 [phi:main::@20->printu#1] -- register_copy - //SEG396 [167] phi (byte[]) printu::op#20 = (const string) main::op18 [phi:main::@20->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op18 + lda #>op16 sta printu.op+1 //SEG397 [167] phi (byte) printu::a#20 = (byte) printu::a#18 [phi:main::@20->printu#3] -- register_copy //SEG398 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@20->printu#4] -- register_copy @@ -5687,10 +5688,10 @@ main: { printu_from_b21: //SEG413 [167] phi (byte) printu::res#20 = (byte) printu::res#19 [phi:main::@21->printu#0] -- register_copy //SEG414 [167] phi (byte) printu::b#20 = (byte) printu::b#19 [phi:main::@21->printu#1] -- register_copy - //SEG415 [167] phi (byte[]) printu::op#20 = (const string) main::op19 [phi:main::@21->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op19 + lda #>op16 sta printu.op+1 //SEG416 [167] phi (byte) printu::a#20 = (byte) printu::a#19 [phi:main::@21->printu#3] -- register_copy //SEG417 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@21->printu#4] -- register_copy @@ -5741,25 +5742,10 @@ main: { //SEG435 [6] phi (byte) main::a#10 = (byte) main::a#1 [phi:main::@71->main::@1#3] -- register_copy jmp b1 op: .text "< @" - op1: .text "< @" - op2: .text "< @" - op3: .text "< @" op4: .text "> @" - op5: .text "> @" - op6: .text "> @" - op7: .text "> @" op8: .text "<=@" - op9: .text "<=@" - op10: .text "<=@" - op11: .text "<=@" op12: .text ">=@" - op13: .text ">=@" - op14: .text ">=@" - op15: .text ">=@" op16: .text "==@" - op17: .text "==@" - op18: .text "==@" - op19: .text "==@" cs: .byte 7, $c7, $37, $97, $67 } //SEG436 print_ln @@ -6373,25 +6359,10 @@ FINAL SYMBOL TABLE (byte) main::i#1 i zp ZP_BYTE:3 11.0 (byte) main::i#10 i zp ZP_BYTE:3 0.8684210526315792 (const string) main::op op = (string) "< @" -(const string) main::op1 op1 = (string) "< @" -(const string) main::op10 op10 = (string) "<=@" -(const string) main::op11 op11 = (string) "<=@" (const string) main::op12 op12 = (string) ">=@" -(const string) main::op13 op13 = (string) ">=@" -(const string) main::op14 op14 = (string) ">=@" -(const string) main::op15 op15 = (string) ">=@" (const string) main::op16 op16 = (string) "==@" -(const string) main::op17 op17 = (string) "==@" -(const string) main::op18 op18 = (string) "==@" -(const string) main::op19 op19 = (string) "==@" -(const string) main::op2 op2 = (string) "< @" -(const string) main::op3 op3 = (string) "< @" (const string) main::op4 op4 = (string) "> @" -(const string) main::op5 op5 = (string) "> @" -(const string) main::op6 op6 = (string) "> @" -(const string) main::op7 op7 = (string) "> @" (const string) main::op8 op8 = (string) "<=@" -(const string) main::op9 op9 = (string) "<=@" (byte) main::r (byte) main::r#40 reg byte x 3.6666666666666665 (byte) main::r#41 reg byte x 5.5 @@ -6680,10 +6651,10 @@ main: { //SEG52 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@3->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG53 [167] phi (byte[]) printu::op#20 = (const string) main::op1 [phi:main::@3->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op1 + lda #>op sta printu.op+1 //SEG54 [167] phi (byte) printu::a#20 = (byte) printu::a#1 [phi:main::@3->printu#3] -- register_copy //SEG55 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@3->printu#4] -- register_copy @@ -6716,10 +6687,10 @@ main: { //SEG69 [167] phi from main::@4 to printu [phi:main::@4->printu] //SEG70 [167] phi (byte) printu::res#20 = (byte) printu::res#2 [phi:main::@4->printu#0] -- register_copy //SEG71 [167] phi (byte) printu::b#20 = (byte) printu::b#2 [phi:main::@4->printu#1] -- register_copy - //SEG72 [167] phi (byte[]) printu::op#20 = (const string) main::op2 [phi:main::@4->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op2 + lda #>op sta printu.op+1 //SEG73 [167] phi (byte) printu::a#20 = (byte) printu::a#2 [phi:main::@4->printu#3] -- register_copy //SEG74 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@4->printu#4] -- register_copy @@ -6750,10 +6721,10 @@ main: { //SEG88 [167] phi from main::@5 to printu [phi:main::@5->printu] //SEG89 [167] phi (byte) printu::res#20 = (byte) printu::res#3 [phi:main::@5->printu#0] -- register_copy //SEG90 [167] phi (byte) printu::b#20 = (byte) printu::b#3 [phi:main::@5->printu#1] -- register_copy - //SEG91 [167] phi (byte[]) printu::op#20 = (const string) main::op3 [phi:main::@5->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op3 + lda #>op sta printu.op+1 //SEG92 [167] phi (byte) printu::a#20 = (byte) printu::a#3 [phi:main::@5->printu#3] -- register_copy //SEG93 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@5->printu#4] -- register_copy @@ -6828,10 +6799,10 @@ main: { //SEG133 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@7->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG134 [167] phi (byte[]) printu::op#20 = (const string) main::op5 [phi:main::@7->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op5 + lda #>op4 sta printu.op+1 //SEG135 [167] phi (byte) printu::a#20 = (byte) printu::a#5 [phi:main::@7->printu#3] -- register_copy //SEG136 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@7->printu#4] -- register_copy @@ -6864,10 +6835,10 @@ main: { //SEG150 [167] phi from main::@8 to printu [phi:main::@8->printu] //SEG151 [167] phi (byte) printu::res#20 = (byte) printu::res#6 [phi:main::@8->printu#0] -- register_copy //SEG152 [167] phi (byte) printu::b#20 = (byte) printu::b#6 [phi:main::@8->printu#1] -- register_copy - //SEG153 [167] phi (byte[]) printu::op#20 = (const string) main::op6 [phi:main::@8->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op6 + lda #>op4 sta printu.op+1 //SEG154 [167] phi (byte) printu::a#20 = (byte) printu::a#6 [phi:main::@8->printu#3] -- register_copy //SEG155 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@8->printu#4] -- register_copy @@ -6898,10 +6869,10 @@ main: { //SEG169 [167] phi from main::@9 to printu [phi:main::@9->printu] //SEG170 [167] phi (byte) printu::res#20 = (byte) printu::res#7 [phi:main::@9->printu#0] -- register_copy //SEG171 [167] phi (byte) printu::b#20 = (byte) printu::b#7 [phi:main::@9->printu#1] -- register_copy - //SEG172 [167] phi (byte[]) printu::op#20 = (const string) main::op7 [phi:main::@9->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op7 + lda #>op4 sta printu.op+1 //SEG173 [167] phi (byte) printu::a#20 = (byte) printu::a#7 [phi:main::@9->printu#3] -- register_copy //SEG174 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@9->printu#4] -- register_copy @@ -6978,10 +6949,10 @@ main: { //SEG214 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@11->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG215 [167] phi (byte[]) printu::op#20 = (const string) main::op9 [phi:main::@11->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op9 + lda #>op8 sta printu.op+1 //SEG216 [167] phi (byte) printu::a#20 = (byte) printu::a#9 [phi:main::@11->printu#3] -- register_copy //SEG217 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@11->printu#4] -- register_copy @@ -7014,10 +6985,10 @@ main: { //SEG231 [167] phi from main::@12 to printu [phi:main::@12->printu] //SEG232 [167] phi (byte) printu::res#20 = (byte) printu::res#10 [phi:main::@12->printu#0] -- register_copy //SEG233 [167] phi (byte) printu::b#20 = (byte) printu::b#10 [phi:main::@12->printu#1] -- register_copy - //SEG234 [167] phi (byte[]) printu::op#20 = (const string) main::op10 [phi:main::@12->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op10 + lda #>op8 sta printu.op+1 //SEG235 [167] phi (byte) printu::a#20 = (byte) printu::a#10 [phi:main::@12->printu#3] -- register_copy //SEG236 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@12->printu#4] -- register_copy @@ -7048,10 +7019,10 @@ main: { //SEG250 [167] phi from main::@13 to printu [phi:main::@13->printu] //SEG251 [167] phi (byte) printu::res#20 = (byte) printu::res#11 [phi:main::@13->printu#0] -- register_copy //SEG252 [167] phi (byte) printu::b#20 = (byte) printu::b#11 [phi:main::@13->printu#1] -- register_copy - //SEG253 [167] phi (byte[]) printu::op#20 = (const string) main::op11 [phi:main::@13->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op11 + lda #>op8 sta printu.op+1 //SEG254 [167] phi (byte) printu::a#20 = (byte) printu::a#11 [phi:main::@13->printu#3] -- register_copy //SEG255 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@13->printu#4] -- register_copy @@ -7126,10 +7097,10 @@ main: { //SEG295 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@15->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG296 [167] phi (byte[]) printu::op#20 = (const string) main::op13 [phi:main::@15->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op13 + lda #>op12 sta printu.op+1 //SEG297 [167] phi (byte) printu::a#20 = (byte) printu::a#13 [phi:main::@15->printu#3] -- register_copy //SEG298 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@15->printu#4] -- register_copy @@ -7162,10 +7133,10 @@ main: { //SEG312 [167] phi from main::@16 to printu [phi:main::@16->printu] //SEG313 [167] phi (byte) printu::res#20 = (byte) printu::res#14 [phi:main::@16->printu#0] -- register_copy //SEG314 [167] phi (byte) printu::b#20 = (byte) printu::b#14 [phi:main::@16->printu#1] -- register_copy - //SEG315 [167] phi (byte[]) printu::op#20 = (const string) main::op14 [phi:main::@16->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op14 + lda #>op12 sta printu.op+1 //SEG316 [167] phi (byte) printu::a#20 = (byte) printu::a#14 [phi:main::@16->printu#3] -- register_copy //SEG317 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@16->printu#4] -- register_copy @@ -7196,10 +7167,10 @@ main: { //SEG331 [167] phi from main::@17 to printu [phi:main::@17->printu] //SEG332 [167] phi (byte) printu::res#20 = (byte) printu::res#15 [phi:main::@17->printu#0] -- register_copy //SEG333 [167] phi (byte) printu::b#20 = (byte) printu::b#15 [phi:main::@17->printu#1] -- register_copy - //SEG334 [167] phi (byte[]) printu::op#20 = (const string) main::op15 [phi:main::@17->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op15 + lda #>op12 sta printu.op+1 //SEG335 [167] phi (byte) printu::a#20 = (byte) printu::a#15 [phi:main::@17->printu#3] -- register_copy //SEG336 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@17->printu#4] -- register_copy @@ -7274,10 +7245,10 @@ main: { //SEG376 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@19->printu#1] -- vbuz1=vbuc1 lda #$37 sta printu.b - //SEG377 [167] phi (byte[]) printu::op#20 = (const string) main::op17 [phi:main::@19->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op17 + lda #>op16 sta printu.op+1 //SEG378 [167] phi (byte) printu::a#20 = (byte) printu::a#17 [phi:main::@19->printu#3] -- register_copy //SEG379 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@19->printu#4] -- register_copy @@ -7310,10 +7281,10 @@ main: { //SEG393 [167] phi from main::@20 to printu [phi:main::@20->printu] //SEG394 [167] phi (byte) printu::res#20 = (byte) printu::res#18 [phi:main::@20->printu#0] -- register_copy //SEG395 [167] phi (byte) printu::b#20 = (byte) printu::b#18 [phi:main::@20->printu#1] -- register_copy - //SEG396 [167] phi (byte[]) printu::op#20 = (const string) main::op18 [phi:main::@20->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op18 + lda #>op16 sta printu.op+1 //SEG397 [167] phi (byte) printu::a#20 = (byte) printu::a#18 [phi:main::@20->printu#3] -- register_copy //SEG398 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@20->printu#4] -- register_copy @@ -7344,10 +7315,10 @@ main: { //SEG412 [167] phi from main::@21 to printu [phi:main::@21->printu] //SEG413 [167] phi (byte) printu::res#20 = (byte) printu::res#19 [phi:main::@21->printu#0] -- register_copy //SEG414 [167] phi (byte) printu::b#20 = (byte) printu::b#19 [phi:main::@21->printu#1] -- register_copy - //SEG415 [167] phi (byte[]) printu::op#20 = (const string) main::op19 [phi:main::@21->printu#2] -- pbuz1=pbuc1 - lda #printu#2] -- pbuz1=pbuc1 + lda #op19 + lda #>op16 sta printu.op+1 //SEG416 [167] phi (byte) printu::a#20 = (byte) printu::a#19 [phi:main::@21->printu#3] -- register_copy //SEG417 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@21->printu#4] -- register_copy @@ -7388,25 +7359,10 @@ main: { //SEG435 [6] phi (byte) main::a#10 = (byte) main::a#1 [phi:main::@71->main::@1#3] -- register_copy jmp b1 op: .text "< @" - op1: .text "< @" - op2: .text "< @" - op3: .text "< @" op4: .text "> @" - op5: .text "> @" - op6: .text "> @" - op7: .text "> @" op8: .text "<=@" - op9: .text "<=@" - op10: .text "<=@" - op11: .text "<=@" op12: .text ">=@" - op13: .text ">=@" - op14: .text ">=@" - op15: .text ">=@" op16: .text "==@" - op17: .text "==@" - op18: .text "==@" - op19: .text "==@" cs: .byte 7, $c7, $37, $97, $67 } //SEG436 print_ln diff --git a/src/test/ref/test-comparisons.sym b/src/test/ref/test-comparisons.sym index 5dc9973fc..bb550d01b 100644 --- a/src/test/ref/test-comparisons.sym +++ b/src/test/ref/test-comparisons.sym @@ -81,25 +81,10 @@ (byte) main::i#1 i zp ZP_BYTE:3 11.0 (byte) main::i#10 i zp ZP_BYTE:3 0.8684210526315792 (const string) main::op op = (string) "< @" -(const string) main::op1 op1 = (string) "< @" -(const string) main::op10 op10 = (string) "<=@" -(const string) main::op11 op11 = (string) "<=@" (const string) main::op12 op12 = (string) ">=@" -(const string) main::op13 op13 = (string) ">=@" -(const string) main::op14 op14 = (string) ">=@" -(const string) main::op15 op15 = (string) ">=@" (const string) main::op16 op16 = (string) "==@" -(const string) main::op17 op17 = (string) "==@" -(const string) main::op18 op18 = (string) "==@" -(const string) main::op19 op19 = (string) "==@" -(const string) main::op2 op2 = (string) "< @" -(const string) main::op3 op3 = (string) "< @" (const string) main::op4 op4 = (string) "> @" -(const string) main::op5 op5 = (string) "> @" -(const string) main::op6 op6 = (string) "> @" -(const string) main::op7 op7 = (string) "> @" (const string) main::op8 op8 = (string) "<=@" -(const string) main::op9 op9 = (string) "<=@" (byte) main::r (byte) main::r#40 reg byte x 3.6666666666666665 (byte) main::r#41 reg byte x 5.5 diff --git a/src/test/ref/test-division.asm b/src/test/ref/test-division.asm index e96748488..52800546f 100644 --- a/src/test/ref/test-division.asm +++ b/src/test/ref/test-division.asm @@ -75,9 +75,6 @@ test_16s: { cmp #$c bne b1 rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .word $7fff, $7fff, -$7fff, -$7fff, $7fff, -$7fff divisors: .word 5, -7, $b, -$d, -$11, $13 } @@ -398,9 +395,6 @@ test_8s: { cmp #6 bne b1 rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .byte $7f, -$7f, -$7f, $7f, $7f, $7f divisors: .byte 5, 7, -$b, -$d, $11, $13 } @@ -598,9 +592,6 @@ test_16u: { cmp #$c bne b1 rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .word $ffff, $ffff, $ffff, $ffff, $ffff, $ffff divisors: .word 5, 7, $b, $d, $11, $13 } @@ -684,9 +675,6 @@ test_8u: { lda print_line_cursor+1 sta print_char_cursor+1 jmp b1 - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .byte $ff, $ff, $ff, $ff, $ff, $ff divisors: .byte 5, 7, $b, $d, $11, $13 } @@ -714,3 +702,6 @@ print_cls: { rts } print_hextab: .text "0123456789abcdef" + str: .text " / @" + str2: .text " @" + str1: .text " = @" diff --git a/src/test/ref/test-division.cfg b/src/test/ref/test-division.cfg index 8786a0724..f56cb6daa 100644 --- a/src/test/ref/test-division.cfg +++ b/src/test/ref/test-division.cfg @@ -153,7 +153,7 @@ print_char::@return: scope:[print_char] from print_char [75] return to:@return print_str: scope:[print_str] from test_16s::@4 test_16s::@6 test_16s::@8 test_16u::@4 test_16u::@6 test_16u::@8 test_8s::@4 test_8s::@6 test_8s::@8 test_8u::@4 test_8u::@6 test_8u::@8 - [76] (byte*) print_str::str#15 ← phi( test_16s::@4/(const string) test_16s::str test_16s::@6/(const string) test_16s::str1 test_16s::@8/(const string) test_16s::str2 test_16u::@4/(const string) test_16u::str test_16u::@6/(const string) test_16u::str1 test_16u::@8/(const string) test_16u::str2 test_8s::@4/(const string) test_8s::str test_8s::@6/(const string) test_8s::str1 test_8s::@8/(const string) test_8s::str2 test_8u::@4/(const string) test_8u::str test_8u::@6/(const string) test_8u::str1 test_8u::@8/(const string) test_8u::str2 ) + [76] (byte*) print_str::str#15 ← phi( test_16s::@4/(const string) str test_16s::@6/(const string) str1 test_16s::@8/(const string) str2 test_16u::@4/(const string) str test_16u::@6/(const string) str1 test_16u::@8/(const string) str2 test_8s::@4/(const string) str test_8s::@6/(const string) str1 test_8s::@8/(const string) str2 test_8u::@4/(const string) str test_8u::@6/(const string) str1 test_8u::@8/(const string) str2 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [77] (byte*) print_char_cursor#128 ← phi( print_str/(byte*) print_char_cursor#18 print_str::@2/(byte*) print_char_cursor#1 ) diff --git a/src/test/ref/test-division.log b/src/test/ref/test-division.log index da19fe3e0..41116bb61 100644 --- a/src/test/ref/test-division.log +++ b/src/test/ref/test-division.log @@ -3007,6 +3007,7 @@ Constant (const word) divr16s::remu#1 = ((word))divr16s::$7 Successful SSA optimization Pass2ConstantIdentification if() condition always false - eliminating [256] if((const bool) divr16s::$1) goto divr16s::@1 Successful SSA optimization Pass2ConstantIfs +Successful SSA optimization Pass2ConstantStringConsolidation Successful SSA optimization PassNEliminateUnusedVars Successful SSA optimization PassNEliminateUnusedVars Successful SSA optimization PassNEliminateUnusedVars @@ -3095,50 +3096,62 @@ Inlining constant with var siblings (const byte) test_8s::i#0 Inlining constant with var siblings (const byte) test_16s::i#0 Inlining constant with var siblings (const byte*) print_line_cursor#0 Constant inlined divr16u::rem#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000 -Constant inlined divr16u::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_str::str#12 = (const string) test_16s::str2 -Constant inlined print_str::str#11 = (const string) test_16s::str1 -Constant inlined print_str::str#10 = (const string) test_16s::str +Constant inlined test_8s::str1 = (const string) str1 +Constant inlined test_8s::str2 = (const string) str2 Constant inlined $0 = (const byte[]) print_hextab#0 -Constant inlined divr16s::$7 = -(const signed word) divr16s::rem#0 -Constant inlined divr16s::neg#1 = (byte/signed byte/word/signed word/dword/signed dword) 1 Constant inlined divr8u::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined divr16s::neg#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined test_16u::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined divr16u::quotient#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined test_8u::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined test_8s::$3 = -(byte/signed byte/word/signed word/dword/signed dword) 13 Constant inlined test_8s::$2 = -(byte/signed byte/word/signed word/dword/signed dword) 11 Constant inlined test_8s::$1 = -(byte/signed byte/word/signed word/dword/signed dword) 127 Constant inlined test_8s::$0 = -(byte/signed byte/word/signed word/dword/signed dword) 127 +Constant inlined test_16s::str1 = (const string) str1 +Constant inlined print_line_cursor#0 = ((byte*))(word/signed word/dword/signed dword) 1024 +Constant inlined test_16s::str2 = (const string) str2 +Constant inlined test_16s::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined divr8u::rem#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined print_str::str#9 = (const string) str2 +Constant inlined print_str::str#4 = (const string) str +Constant inlined print_str::str#3 = (const string) str2 +Constant inlined div8s::neg#1 = (byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined print_str::str#2 = (const string) str1 +Constant inlined div8s::neg#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined print_str::str#1 = (const string) str +Constant inlined print_str::str#8 = (const string) str1 +Constant inlined print_str::str#7 = (const string) str +Constant inlined test_8u::str = (const string) str +Constant inlined print_str::str#6 = (const string) str2 +Constant inlined print_str::str#5 = (const string) str1 +Constant inlined test_16s::str = (const string) str +Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000 +Constant inlined divr16u::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined print_str::str#12 = (const string) str2 +Constant inlined print_str::str#11 = (const string) str1 +Constant inlined print_str::str#10 = (const string) str +Constant inlined divr16s::$7 = -(const signed word) divr16s::rem#0 +Constant inlined divr16s::neg#1 = (byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined divr16s::neg#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined test_8u::str2 = (const string) str2 +Constant inlined divr16u::quotient#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined test_8u::str1 = (const string) str1 +Constant inlined test_8s::str = (const string) str Constant inlined test_16s::$3 = -(byte/signed byte/word/signed word/dword/signed dword) 7 Constant inlined test_16s::$4 = -(byte/signed byte/word/signed word/dword/signed dword) 13 Constant inlined test_16s::$5 = -(byte/signed byte/word/signed word/dword/signed dword) 17 -Constant inlined print_line_cursor#0 = ((byte*))(word/signed word/dword/signed dword) 1024 -Constant inlined test_16s::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined print_cls::sc#0 = ((byte*))(word/signed word/dword/signed dword) 1024 -Constant inlined divr8u::rem#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined divr8u::quotient#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined test_16u::str1 = (const string) str1 Constant inlined print_char::ch#2 = (byte) ' ' -Constant inlined print_str::str#9 = (const string) test_8s::str2 +Constant inlined test_16u::str = (const string) str +Constant inlined test_16u::str2 = (const string) str2 Constant inlined print_char::ch#1 = (byte) '-' Constant inlined print_char::ch#0 = (byte) '-' -Constant inlined print_str::str#4 = (const string) test_16u::str -Constant inlined print_str::str#3 = (const string) test_8u::str2 -Constant inlined div8s::neg#1 = (byte/signed byte/word/signed word/dword/signed dword) 1 -Constant inlined print_str::str#2 = (const string) test_8u::str1 -Constant inlined div8s::neg#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_str::str#1 = (const string) test_8u::str -Constant inlined print_str::str#8 = (const string) test_8s::str1 Constant inlined test_16s::$0 = -(word/signed word/dword/signed dword) 32767 -Constant inlined print_str::str#7 = (const string) test_8s::str Constant inlined test_16s::$1 = -(word/signed word/dword/signed dword) 32767 -Constant inlined print_str::str#6 = (const string) test_16u::str2 Constant inlined divr16s::remu#1 = ((word))-(const signed word) divr16s::rem#0 Constant inlined test_8s::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined test_16s::$2 = -(word/signed word/dword/signed dword) 32767 -Constant inlined print_str::str#5 = (const string) test_16u::str1 Constant inlined divr16s::remu#2 = ((word))(const signed word) divr16s::rem#0 Successful SSA optimization Pass2ConstantInlining Added new block during phi lifting test_16s::@12(between test_16s::@11 and test_16s::@1) @@ -3517,7 +3530,7 @@ print_char::@return: scope:[print_char] from print_char [75] return to:@return print_str: scope:[print_str] from test_16s::@4 test_16s::@6 test_16s::@8 test_16u::@4 test_16u::@6 test_16u::@8 test_8s::@4 test_8s::@6 test_8s::@8 test_8u::@4 test_8u::@6 test_8u::@8 - [76] (byte*) print_str::str#15 ← phi( test_16s::@4/(const string) test_16s::str test_16s::@6/(const string) test_16s::str1 test_16s::@8/(const string) test_16s::str2 test_16u::@4/(const string) test_16u::str test_16u::@6/(const string) test_16u::str1 test_16u::@8/(const string) test_16u::str2 test_8s::@4/(const string) test_8s::str test_8s::@6/(const string) test_8s::str1 test_8s::@8/(const string) test_8s::str2 test_8u::@4/(const string) test_8u::str test_8u::@6/(const string) test_8u::str1 test_8u::@8/(const string) test_8u::str2 ) + [76] (byte*) print_str::str#15 ← phi( test_16s::@4/(const string) str test_16s::@6/(const string) str1 test_16s::@8/(const string) str2 test_16u::@4/(const string) str test_16u::@6/(const string) str1 test_16u::@8/(const string) str2 test_8s::@4/(const string) str test_8s::@6/(const string) str1 test_8s::@8/(const string) str2 test_8u::@4/(const string) str test_8u::@6/(const string) str1 test_8u::@8/(const string) str2 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [77] (byte*) print_char_cursor#128 ← phi( print_str/(byte*) print_char_cursor#18 print_str::@2/(byte*) print_char_cursor#1 ) @@ -4630,7 +4643,7 @@ test_16s: { //SEG53 [28] call print_str //SEG54 [76] phi from test_16s::@4 to print_str [phi:test_16s::@4->print_str] print_str_from_b4: - //SEG55 [76] phi (byte*) print_str::str#15 = (const string) test_16s::str [phi:test_16s::@4->print_str#0] -- pbuz1=pbuc1 + //SEG55 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_16s::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -4658,7 +4671,7 @@ test_16s: { //SEG64 [32] call print_str //SEG65 [76] phi from test_16s::@6 to print_str [phi:test_16s::@6->print_str] print_str_from_b6: - //SEG66 [76] phi (byte*) print_str::str#15 = (const string) test_16s::str1 [phi:test_16s::@6->print_str#0] -- pbuz1=pbuc1 + //SEG66 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_16s::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -4686,7 +4699,7 @@ test_16s: { //SEG75 [36] call print_str //SEG76 [76] phi from test_16s::@8 to print_str [phi:test_16s::@8->print_str] print_str_from_b8: - //SEG77 [76] phi (byte*) print_str::str#15 = (const string) test_16s::str2 [phi:test_16s::@8->print_str#0] -- pbuz1=pbuc1 + //SEG77 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_16s::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -4733,9 +4746,6 @@ test_16s: { breturn: //SEG93 [43] return rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .word $7fff, $7fff, -$7fff, -$7fff, $7fff, -$7fff divisors: .word 5, -7, $b, -$d, -$11, $13 } @@ -5408,7 +5418,7 @@ test_8s: { //SEG288 [144] call print_str //SEG289 [76] phi from test_8s::@4 to print_str [phi:test_8s::@4->print_str] print_str_from_b4: - //SEG290 [76] phi (byte*) print_str::str#15 = (const string) test_8s::str [phi:test_8s::@4->print_str#0] -- pbuz1=pbuc1 + //SEG290 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_8s::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -5434,7 +5444,7 @@ test_8s: { //SEG299 [148] call print_str //SEG300 [76] phi from test_8s::@6 to print_str [phi:test_8s::@6->print_str] print_str_from_b6: - //SEG301 [76] phi (byte*) print_str::str#15 = (const string) test_8s::str1 [phi:test_8s::@6->print_str#0] -- pbuz1=pbuc1 + //SEG301 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_8s::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -5460,7 +5470,7 @@ test_8s: { //SEG310 [152] call print_str //SEG311 [76] phi from test_8s::@8 to print_str [phi:test_8s::@8->print_str] print_str_from_b8: - //SEG312 [76] phi (byte*) print_str::str#15 = (const string) test_8s::str2 [phi:test_8s::@8->print_str#0] -- pbuz1=pbuc1 + //SEG312 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_8s::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -5502,9 +5512,6 @@ test_8s: { breturn: //SEG328 [159] return rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .byte $7f, -$7f, -$7f, $7f, $7f, $7f divisors: .byte 5, 7, -$b, -$d, $11, $13 } @@ -5943,7 +5950,7 @@ test_16u: { //SEG469 [231] call print_str //SEG470 [76] phi from test_16u::@4 to print_str [phi:test_16u::@4->print_str] print_str_from_b4: - //SEG471 [76] phi (byte*) print_str::str#15 = (const string) test_16u::str [phi:test_16u::@4->print_str#0] -- pbuz1=pbuc1 + //SEG471 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_16u::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -5971,7 +5978,7 @@ test_16u: { //SEG480 [235] call print_str //SEG481 [76] phi from test_16u::@6 to print_str [phi:test_16u::@6->print_str] print_str_from_b6: - //SEG482 [76] phi (byte*) print_str::str#15 = (const string) test_16u::str1 [phi:test_16u::@6->print_str#0] -- pbuz1=pbuc1 + //SEG482 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_16u::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -5999,7 +6006,7 @@ test_16u: { //SEG491 [239] call print_str //SEG492 [76] phi from test_16u::@8 to print_str [phi:test_16u::@8->print_str] print_str_from_b8: - //SEG493 [76] phi (byte*) print_str::str#15 = (const string) test_16u::str2 [phi:test_16u::@8->print_str#0] -- pbuz1=pbuc1 + //SEG493 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_16u::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -6046,9 +6053,6 @@ test_16u: { breturn: //SEG509 [246] return rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .word $ffff, $ffff, $ffff, $ffff, $ffff, $ffff divisors: .word 5, 7, $b, $d, $11, $13 } @@ -6173,7 +6177,7 @@ test_8u: { //SEG547 [265] call print_str //SEG548 [76] phi from test_8u::@4 to print_str [phi:test_8u::@4->print_str] print_str_from_b4: - //SEG549 [76] phi (byte*) print_str::str#15 = (const string) test_8u::str [phi:test_8u::@4->print_str#0] -- pbuz1=pbuc1 + //SEG549 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_8u::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -6199,7 +6203,7 @@ test_8u: { //SEG558 [269] call print_str //SEG559 [76] phi from test_8u::@6 to print_str [phi:test_8u::@6->print_str] print_str_from_b6: - //SEG560 [76] phi (byte*) print_str::str#15 = (const string) test_8u::str1 [phi:test_8u::@6->print_str#0] -- pbuz1=pbuc1 + //SEG560 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_8u::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -6225,7 +6229,7 @@ test_8u: { //SEG569 [273] call print_str //SEG570 [76] phi from test_8u::@8 to print_str [phi:test_8u::@8->print_str] print_str_from_b8: - //SEG571 [76] phi (byte*) print_str::str#15 = (const string) test_8u::str2 [phi:test_8u::@8->print_str#0] -- pbuz1=pbuc1 + //SEG571 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_8u::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -6280,9 +6284,6 @@ test_8u: { //SEG592 [254] phi (byte*) print_char_cursor#138 = (byte*~) print_char_cursor#188 [phi:test_8u::@12->test_8u::@1#1] -- register_copy //SEG593 [254] phi (byte) test_8u::i#10 = (byte) test_8u::i#1 [phi:test_8u::@12->test_8u::@1#2] -- register_copy jmp b1 - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .byte $ff, $ff, $ff, $ff, $ff, $ff divisors: .byte 5, 7, $b, $d, $11, $13 } @@ -6327,6 +6328,9 @@ print_cls: { rts } print_hextab: .text "0123456789abcdef" + str: .text " / @" + str2: .text " @" + str1: .text " = @" REGISTER UPLIFT POTENTIAL REGISTERS Statement [17] (signed word) test_16s::dividend#0 ← *((const signed word[]) test_16s::dividends#0 + (byte) test_16s::i#10) [ test_16s::i#10 test_16s::dividend#0 print_line_cursor#1 ] ( main:2::test_16s:13 [ test_16s::i#10 test_16s::dividend#0 print_line_cursor#1 ] ) always clobbers reg byte a @@ -6893,7 +6897,7 @@ test_16s: { //SEG53 [28] call print_str //SEG54 [76] phi from test_16s::@4 to print_str [phi:test_16s::@4->print_str] print_str_from_b4: - //SEG55 [76] phi (byte*) print_str::str#15 = (const string) test_16s::str [phi:test_16s::@4->print_str#0] -- pbuz1=pbuc1 + //SEG55 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_16s::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -6921,7 +6925,7 @@ test_16s: { //SEG64 [32] call print_str //SEG65 [76] phi from test_16s::@6 to print_str [phi:test_16s::@6->print_str] print_str_from_b6: - //SEG66 [76] phi (byte*) print_str::str#15 = (const string) test_16s::str1 [phi:test_16s::@6->print_str#0] -- pbuz1=pbuc1 + //SEG66 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_16s::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -6949,7 +6953,7 @@ test_16s: { //SEG75 [36] call print_str //SEG76 [76] phi from test_16s::@8 to print_str [phi:test_16s::@8->print_str] print_str_from_b8: - //SEG77 [76] phi (byte*) print_str::str#15 = (const string) test_16s::str2 [phi:test_16s::@8->print_str#0] -- pbuz1=pbuc1 + //SEG77 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_16s::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -6996,9 +7000,6 @@ test_16s: { breturn: //SEG93 [43] return rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .word $7fff, $7fff, -$7fff, -$7fff, $7fff, -$7fff divisors: .word 5, -7, $b, -$d, -$11, $13 } @@ -7578,7 +7579,7 @@ test_8s: { //SEG288 [144] call print_str //SEG289 [76] phi from test_8s::@4 to print_str [phi:test_8s::@4->print_str] print_str_from_b4: - //SEG290 [76] phi (byte*) print_str::str#15 = (const string) test_8s::str [phi:test_8s::@4->print_str#0] -- pbuz1=pbuc1 + //SEG290 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_8s::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -7604,7 +7605,7 @@ test_8s: { //SEG299 [148] call print_str //SEG300 [76] phi from test_8s::@6 to print_str [phi:test_8s::@6->print_str] print_str_from_b6: - //SEG301 [76] phi (byte*) print_str::str#15 = (const string) test_8s::str1 [phi:test_8s::@6->print_str#0] -- pbuz1=pbuc1 + //SEG301 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_8s::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -7630,7 +7631,7 @@ test_8s: { //SEG310 [152] call print_str //SEG311 [76] phi from test_8s::@8 to print_str [phi:test_8s::@8->print_str] print_str_from_b8: - //SEG312 [76] phi (byte*) print_str::str#15 = (const string) test_8s::str2 [phi:test_8s::@8->print_str#0] -- pbuz1=pbuc1 + //SEG312 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_8s::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -7671,9 +7672,6 @@ test_8s: { breturn: //SEG328 [159] return rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .byte $7f, -$7f, -$7f, $7f, $7f, $7f divisors: .byte 5, 7, -$b, -$d, $11, $13 } @@ -8043,7 +8041,7 @@ test_16u: { //SEG469 [231] call print_str //SEG470 [76] phi from test_16u::@4 to print_str [phi:test_16u::@4->print_str] print_str_from_b4: - //SEG471 [76] phi (byte*) print_str::str#15 = (const string) test_16u::str [phi:test_16u::@4->print_str#0] -- pbuz1=pbuc1 + //SEG471 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_16u::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -8071,7 +8069,7 @@ test_16u: { //SEG480 [235] call print_str //SEG481 [76] phi from test_16u::@6 to print_str [phi:test_16u::@6->print_str] print_str_from_b6: - //SEG482 [76] phi (byte*) print_str::str#15 = (const string) test_16u::str1 [phi:test_16u::@6->print_str#0] -- pbuz1=pbuc1 + //SEG482 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_16u::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -8099,7 +8097,7 @@ test_16u: { //SEG491 [239] call print_str //SEG492 [76] phi from test_16u::@8 to print_str [phi:test_16u::@8->print_str] print_str_from_b8: - //SEG493 [76] phi (byte*) print_str::str#15 = (const string) test_16u::str2 [phi:test_16u::@8->print_str#0] -- pbuz1=pbuc1 + //SEG493 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_16u::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -8146,9 +8144,6 @@ test_16u: { breturn: //SEG509 [246] return rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .word $ffff, $ffff, $ffff, $ffff, $ffff, $ffff divisors: .word 5, 7, $b, $d, $11, $13 } @@ -8253,7 +8248,7 @@ test_8u: { //SEG547 [265] call print_str //SEG548 [76] phi from test_8u::@4 to print_str [phi:test_8u::@4->print_str] print_str_from_b4: - //SEG549 [76] phi (byte*) print_str::str#15 = (const string) test_8u::str [phi:test_8u::@4->print_str#0] -- pbuz1=pbuc1 + //SEG549 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_8u::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -8279,7 +8274,7 @@ test_8u: { //SEG558 [269] call print_str //SEG559 [76] phi from test_8u::@6 to print_str [phi:test_8u::@6->print_str] print_str_from_b6: - //SEG560 [76] phi (byte*) print_str::str#15 = (const string) test_8u::str1 [phi:test_8u::@6->print_str#0] -- pbuz1=pbuc1 + //SEG560 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_8u::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -8305,7 +8300,7 @@ test_8u: { //SEG569 [273] call print_str //SEG570 [76] phi from test_8u::@8 to print_str [phi:test_8u::@8->print_str] print_str_from_b8: - //SEG571 [76] phi (byte*) print_str::str#15 = (const string) test_8u::str2 [phi:test_8u::@8->print_str#0] -- pbuz1=pbuc1 + //SEG571 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_8u::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -8359,9 +8354,6 @@ test_8u: { //SEG592 [254] phi (byte*) print_char_cursor#138 = (byte*~) print_char_cursor#188 [phi:test_8u::@12->test_8u::@1#1] -- register_copy //SEG593 [254] phi (byte) test_8u::i#10 = (byte) test_8u::i#1 [phi:test_8u::@12->test_8u::@1#2] -- register_copy jmp b1 - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .byte $ff, $ff, $ff, $ff, $ff, $ff divisors: .byte 5, 7, $b, $d, $11, $13 } @@ -8406,6 +8398,9 @@ print_cls: { rts } print_hextab: .text "0123456789abcdef" + str: .text " / @" + str2: .text " @" + str1: .text " = @" ASSEMBLER OPTIMIZATIONS Removing instruction jmp b32 @@ -9074,6 +9069,9 @@ FINAL SYMBOL TABLE (signed byte~) rem8s#33 reg byte x 4.0 (byte) rem8u (byte) rem8u#17 reg byte x 0.5 +(const string) str str = (string) " / @" +(const string) str1 str1 = (string) " = @" +(const string) str2 str2 = (string) " @" (void()) test_16s() (label) test_16s::@1 (label) test_16s::@10 @@ -9099,9 +9097,6 @@ FINAL SYMBOL TABLE (byte) test_16s::i#10 i zp ZP_BYTE:2 1.76 (signed word) test_16s::res (signed word) test_16s::res#0 res zp ZP_WORD:14 2.2 -(const string) test_16s::str str = (string) " / @" -(const string) test_16s::str1 str1 = (string) " = @" -(const string) test_16s::str2 str2 = (string) " @" (void()) test_16u() (label) test_16u::@1 (label) test_16u::@10 @@ -9127,9 +9122,6 @@ FINAL SYMBOL TABLE (byte) test_16u::i#10 i zp ZP_BYTE:2 1.76 (word) test_16u::res (word) test_16u::res#0 res zp ZP_WORD:14 2.2 -(const string) test_16u::str str = (string) " / @" -(const string) test_16u::str1 str1 = (string) " = @" -(const string) test_16u::str2 str2 = (string) " @" (void()) test_8s() (label) test_8s::@1 (label) test_8s::@10 @@ -9155,9 +9147,6 @@ FINAL SYMBOL TABLE (byte) test_8s::i#10 i zp ZP_BYTE:2 1.76 (signed byte) test_8s::res (signed byte) test_8s::res#0 res zp ZP_BYTE:16 2.2 -(const string) test_8s::str str = (string) " / @" -(const string) test_8s::str1 str1 = (string) " = @" -(const string) test_8s::str2 str2 = (string) " @" (void()) test_8u() (label) test_8u::@1 (label) test_8u::@10 @@ -9185,9 +9174,6 @@ FINAL SYMBOL TABLE (byte) test_8u::rem (byte) test_8u::res (byte) test_8u::res#0 res zp ZP_BYTE:17 2.4444444444444446 -(const string) test_8u::str str = (string) " / @" -(const string) test_8u::str1 str1 = (string) " = @" -(const string) test_8u::str2 str2 = (string) " @" zp ZP_BYTE:2 [ test_16s::i#10 test_16s::i#1 test_8s::i#10 test_8s::i#1 test_16u::i#10 test_16u::i#1 test_8u::i#10 test_8u::i#1 ] zp ZP_WORD:3 [ print_line_cursor#20 print_line_cursor#39 print_line_cursor#1 print_line_cursor#41 print_cls::sc#2 print_cls::sc#1 ] @@ -9329,7 +9315,7 @@ test_16s: { //SEG52 test_16s::@4 //SEG53 [28] call print_str //SEG54 [76] phi from test_16s::@4 to print_str [phi:test_16s::@4->print_str] - //SEG55 [76] phi (byte*) print_str::str#15 = (const string) test_16s::str [phi:test_16s::@4->print_str#0] -- pbuz1=pbuc1 + //SEG55 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_16s::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -9350,7 +9336,7 @@ test_16s: { //SEG63 test_16s::@6 //SEG64 [32] call print_str //SEG65 [76] phi from test_16s::@6 to print_str [phi:test_16s::@6->print_str] - //SEG66 [76] phi (byte*) print_str::str#15 = (const string) test_16s::str1 [phi:test_16s::@6->print_str#0] -- pbuz1=pbuc1 + //SEG66 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_16s::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -9371,7 +9357,7 @@ test_16s: { //SEG74 test_16s::@8 //SEG75 [36] call print_str //SEG76 [76] phi from test_16s::@8 to print_str [phi:test_16s::@8->print_str] - //SEG77 [76] phi (byte*) print_str::str#15 = (const string) test_16s::str2 [phi:test_16s::@8->print_str#0] -- pbuz1=pbuc1 + //SEG77 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_16s::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -9406,9 +9392,6 @@ test_16s: { //SEG92 test_16s::@return //SEG93 [43] return rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .word $7fff, $7fff, -$7fff, -$7fff, $7fff, -$7fff divisors: .word 5, -7, $b, -$d, -$11, $13 } @@ -9896,7 +9879,7 @@ test_8s: { //SEG287 test_8s::@4 //SEG288 [144] call print_str //SEG289 [76] phi from test_8s::@4 to print_str [phi:test_8s::@4->print_str] - //SEG290 [76] phi (byte*) print_str::str#15 = (const string) test_8s::str [phi:test_8s::@4->print_str#0] -- pbuz1=pbuc1 + //SEG290 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_8s::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -9915,7 +9898,7 @@ test_8s: { //SEG298 test_8s::@6 //SEG299 [148] call print_str //SEG300 [76] phi from test_8s::@6 to print_str [phi:test_8s::@6->print_str] - //SEG301 [76] phi (byte*) print_str::str#15 = (const string) test_8s::str1 [phi:test_8s::@6->print_str#0] -- pbuz1=pbuc1 + //SEG301 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_8s::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -9934,7 +9917,7 @@ test_8s: { //SEG309 test_8s::@8 //SEG310 [152] call print_str //SEG311 [76] phi from test_8s::@8 to print_str [phi:test_8s::@8->print_str] - //SEG312 [76] phi (byte*) print_str::str#15 = (const string) test_8s::str2 [phi:test_8s::@8->print_str#0] -- pbuz1=pbuc1 + //SEG312 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_8s::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -9964,9 +9947,6 @@ test_8s: { //SEG327 test_8s::@return //SEG328 [159] return rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .byte $7f, -$7f, -$7f, $7f, $7f, $7f divisors: .byte 5, 7, -$b, -$d, $11, $13 } @@ -10268,7 +10248,7 @@ test_16u: { //SEG468 test_16u::@4 //SEG469 [231] call print_str //SEG470 [76] phi from test_16u::@4 to print_str [phi:test_16u::@4->print_str] - //SEG471 [76] phi (byte*) print_str::str#15 = (const string) test_16u::str [phi:test_16u::@4->print_str#0] -- pbuz1=pbuc1 + //SEG471 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_16u::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -10289,7 +10269,7 @@ test_16u: { //SEG479 test_16u::@6 //SEG480 [235] call print_str //SEG481 [76] phi from test_16u::@6 to print_str [phi:test_16u::@6->print_str] - //SEG482 [76] phi (byte*) print_str::str#15 = (const string) test_16u::str1 [phi:test_16u::@6->print_str#0] -- pbuz1=pbuc1 + //SEG482 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_16u::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -10310,7 +10290,7 @@ test_16u: { //SEG490 test_16u::@8 //SEG491 [239] call print_str //SEG492 [76] phi from test_16u::@8 to print_str [phi:test_16u::@8->print_str] - //SEG493 [76] phi (byte*) print_str::str#15 = (const string) test_16u::str2 [phi:test_16u::@8->print_str#0] -- pbuz1=pbuc1 + //SEG493 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_16u::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -10345,9 +10325,6 @@ test_16u: { //SEG508 test_16u::@return //SEG509 [246] return rts - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .word $ffff, $ffff, $ffff, $ffff, $ffff, $ffff divisors: .word 5, 7, $b, $d, $11, $13 } @@ -10435,7 +10412,7 @@ test_8u: { //SEG546 test_8u::@4 //SEG547 [265] call print_str //SEG548 [76] phi from test_8u::@4 to print_str [phi:test_8u::@4->print_str] - //SEG549 [76] phi (byte*) print_str::str#15 = (const string) test_8u::str [phi:test_8u::@4->print_str#0] -- pbuz1=pbuc1 + //SEG549 [76] phi (byte*) print_str::str#15 = (const string) str [phi:test_8u::@4->print_str#0] -- pbuz1=pbuc1 lda #str @@ -10454,7 +10431,7 @@ test_8u: { //SEG557 test_8u::@6 //SEG558 [269] call print_str //SEG559 [76] phi from test_8u::@6 to print_str [phi:test_8u::@6->print_str] - //SEG560 [76] phi (byte*) print_str::str#15 = (const string) test_8u::str1 [phi:test_8u::@6->print_str#0] -- pbuz1=pbuc1 + //SEG560 [76] phi (byte*) print_str::str#15 = (const string) str1 [phi:test_8u::@6->print_str#0] -- pbuz1=pbuc1 lda #str1 @@ -10473,7 +10450,7 @@ test_8u: { //SEG568 test_8u::@8 //SEG569 [273] call print_str //SEG570 [76] phi from test_8u::@8 to print_str [phi:test_8u::@8->print_str] - //SEG571 [76] phi (byte*) print_str::str#15 = (const string) test_8u::str2 [phi:test_8u::@8->print_str#0] -- pbuz1=pbuc1 + //SEG571 [76] phi (byte*) print_str::str#15 = (const string) str2 [phi:test_8u::@8->print_str#0] -- pbuz1=pbuc1 lda #str2 @@ -10515,9 +10492,6 @@ test_8u: { //SEG592 [254] phi (byte*) print_char_cursor#138 = (byte*~) print_char_cursor#188 [phi:test_8u::@12->test_8u::@1#1] -- register_copy //SEG593 [254] phi (byte) test_8u::i#10 = (byte) test_8u::i#1 [phi:test_8u::@12->test_8u::@1#2] -- register_copy jmp b1 - str: .text " / @" - str1: .text " = @" - str2: .text " @" dividends: .byte $ff, $ff, $ff, $ff, $ff, $ff divisors: .byte 5, 7, $b, $d, $11, $13 } @@ -10556,4 +10530,7 @@ print_cls: { rts } print_hextab: .text "0123456789abcdef" + str: .text " / @" + str2: .text " @" + str1: .text " = @" diff --git a/src/test/ref/test-division.sym b/src/test/ref/test-division.sym index a9c04fd3c..f7f6fd013 100644 --- a/src/test/ref/test-division.sym +++ b/src/test/ref/test-division.sym @@ -299,6 +299,9 @@ (signed byte~) rem8s#33 reg byte x 4.0 (byte) rem8u (byte) rem8u#17 reg byte x 0.5 +(const string) str str = (string) " / @" +(const string) str1 str1 = (string) " = @" +(const string) str2 str2 = (string) " @" (void()) test_16s() (label) test_16s::@1 (label) test_16s::@10 @@ -324,9 +327,6 @@ (byte) test_16s::i#10 i zp ZP_BYTE:2 1.76 (signed word) test_16s::res (signed word) test_16s::res#0 res zp ZP_WORD:14 2.2 -(const string) test_16s::str str = (string) " / @" -(const string) test_16s::str1 str1 = (string) " = @" -(const string) test_16s::str2 str2 = (string) " @" (void()) test_16u() (label) test_16u::@1 (label) test_16u::@10 @@ -352,9 +352,6 @@ (byte) test_16u::i#10 i zp ZP_BYTE:2 1.76 (word) test_16u::res (word) test_16u::res#0 res zp ZP_WORD:14 2.2 -(const string) test_16u::str str = (string) " / @" -(const string) test_16u::str1 str1 = (string) " = @" -(const string) test_16u::str2 str2 = (string) " @" (void()) test_8s() (label) test_8s::@1 (label) test_8s::@10 @@ -380,9 +377,6 @@ (byte) test_8s::i#10 i zp ZP_BYTE:2 1.76 (signed byte) test_8s::res (signed byte) test_8s::res#0 res zp ZP_BYTE:16 2.2 -(const string) test_8s::str str = (string) " / @" -(const string) test_8s::str1 str1 = (string) " = @" -(const string) test_8s::str2 str2 = (string) " @" (void()) test_8u() (label) test_8u::@1 (label) test_8u::@10 @@ -410,9 +404,6 @@ (byte) test_8u::rem (byte) test_8u::res (byte) test_8u::res#0 res zp ZP_BYTE:17 2.4444444444444446 -(const string) test_8u::str str = (string) " / @" -(const string) test_8u::str1 str1 = (string) " = @" -(const string) test_8u::str2 str2 = (string) " @" zp ZP_BYTE:2 [ test_16s::i#10 test_16s::i#1 test_8s::i#10 test_8s::i#1 test_16u::i#10 test_16u::i#1 test_8u::i#10 test_8u::i#1 ] zp ZP_WORD:3 [ print_line_cursor#20 print_line_cursor#39 print_line_cursor#1 print_line_cursor#41 print_cls::sc#2 print_cls::sc#1 ] diff --git a/src/test/ref/test-multiply-16bit.asm b/src/test/ref/test-multiply-16bit.asm index c24b19540..92e99b9dd 100644 --- a/src/test/ref/test-multiply-16bit.asm +++ b/src/test/ref/test-multiply-16bit.asm @@ -123,7 +123,6 @@ mul16s_compare: { jsr print_str jsr print_ln jmp breturn - str: .text ".@" str1: .text "signed word multiply results match!@" } // Print a newline @@ -230,10 +229,6 @@ mul16s_error: { jsr print_ln rts str: .text "signed word multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } // Print a signed dword as HEX // print_sdword(signed dword zeropage($b) dw) @@ -880,7 +875,6 @@ mul16u_compare: { jsr print_str jsr print_ln jmp breturn - str: .text ".@" str1: .text "word multiply results match!@" } // mul16u_error(word zeropage(3) a, word zeropage($17) b, dword zeropage($b) ms, dword zeropage($19) mn, dword zeropage($11) mf) @@ -947,10 +941,6 @@ mul16u_error: { jsr print_ln rts str: .text "multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } // Slow multiplication of unsigned words // Calculate an unsigned multiplication by repeated addition @@ -1152,3 +1142,8 @@ print_cls: { // >g(x) = >((( x - 255) * ( x - 255 ))/4) .align $100 mulf_sqr2_hi: .fill $200, 0 + str: .text ".@" + str4: .text " / fast:@" + str3: .text " / normal:@" + str1: .text "*@" + str2: .text " slow:@" diff --git a/src/test/ref/test-multiply-16bit.cfg b/src/test/ref/test-multiply-16bit.cfg index 9407ca9b1..8cff2c457 100644 --- a/src/test/ref/test-multiply-16bit.cfg +++ b/src/test/ref/test-multiply-16bit.cfg @@ -125,7 +125,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1 to:@return print_str: scope:[print_str] from mul16s_compare::@1 mul16s_compare::@17 mul16s_error mul16s_error::@2 mul16s_error::@4 mul16s_error::@6 mul16s_error::@8 mul16u_compare::@1 mul16u_compare::@17 mul16u_error mul16u_error::@2 mul16u_error::@4 mul16u_error::@6 mul16u_error::@8 [64] (byte*) print_char_cursor#148 ← phi( mul16s_compare::@1/(byte*) print_char_cursor#143 mul16s_compare::@17/(byte*~) print_char_cursor#185 mul16s_error/(byte*) print_char_cursor#128 mul16s_error::@2/(byte*) print_char_cursor#20 mul16s_error::@4/(byte*) print_char_cursor#20 mul16s_error::@6/(byte*) print_char_cursor#20 mul16s_error::@8/(byte*) print_char_cursor#20 mul16u_compare::@1/(byte*) print_char_cursor#139 mul16u_compare::@17/(byte*~) print_char_cursor#192 mul16u_error/(byte*) print_char_cursor#128 mul16u_error::@2/(byte*) print_char_cursor#20 mul16u_error::@4/(byte*) print_char_cursor#20 mul16u_error::@6/(byte*) print_char_cursor#20 mul16u_error::@8/(byte*) print_char_cursor#20 ) - [64] (byte*) print_str::str#17 ← phi( mul16s_compare::@1/(const string) mul16s_compare::str mul16s_compare::@17/(const string) mul16s_compare::str1 mul16s_error/(const string) mul16s_error::str mul16s_error::@2/(const string) mul16s_error::str1 mul16s_error::@4/(const string) mul16s_error::str2 mul16s_error::@6/(const string) mul16s_error::str3 mul16s_error::@8/(const string) mul16s_error::str4 mul16u_compare::@1/(const string) mul16u_compare::str mul16u_compare::@17/(const string) mul16u_compare::str1 mul16u_error/(const string) mul16u_error::str mul16u_error::@2/(const string) mul16u_error::str1 mul16u_error::@4/(const string) mul16u_error::str2 mul16u_error::@6/(const string) mul16u_error::str3 mul16u_error::@8/(const string) mul16u_error::str4 ) + [64] (byte*) print_str::str#17 ← phi( mul16s_compare::@1/(const string) str mul16s_compare::@17/(const string) mul16s_compare::str1 mul16s_error/(const string) mul16s_error::str mul16s_error::@2/(const string) str1 mul16s_error::@4/(const string) str2 mul16s_error::@6/(const string) str3 mul16s_error::@8/(const string) str4 mul16u_compare::@1/(const string) str mul16u_compare::@17/(const string) mul16u_compare::str1 mul16u_error/(const string) mul16u_error::str mul16u_error::@2/(const string) str1 mul16u_error::@4/(const string) str2 mul16u_error::@6/(const string) str3 mul16u_error::@8/(const string) str4 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [65] (byte*) print_char_cursor#128 ← phi( print_str/(byte*) print_char_cursor#148 print_str::@2/(byte*) print_char_cursor#1 ) diff --git a/src/test/ref/test-multiply-16bit.log b/src/test/ref/test-multiply-16bit.log index f051ccf51..2e6f40e91 100644 --- a/src/test/ref/test-multiply-16bit.log +++ b/src/test/ref/test-multiply-16bit.log @@ -3092,6 +3092,7 @@ Constant (const byte*) mulf_init::$18 = mulf_sqr1_lo#0+256 Constant (const byte*) mulf_init::$19 = mulf_sqr2_hi#0+511 Constant (const byte*) mulf_init::$20 = mulf_sqr1_hi#0+256 Successful SSA optimization Pass2ConstantIdentification +Successful SSA optimization Pass2ConstantStringConsolidation Eliminating Noop Cast (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#4 Eliminating Noop Cast (word) mul16u::a#1 ← ((word)) (signed word) mul16s::a#0 Eliminating Noop Cast (word) mul16u::b#0 ← ((word)) (signed word) mul16s::b#0 @@ -3196,7 +3197,11 @@ Inlining constant with var siblings (const byte) mul16s_compare::ok#1 Inlining constant with var siblings (const byte) mul16s_compare::ok#2 Inlining constant with var siblings (const byte*) print_line_cursor#0 Constant inlined mulf_init::sqr2_lo#0 = (const byte[512]) mulf_sqr2_lo#0 +Constant inlined mul16u_error::str1 = (const string) str1 +Constant inlined mul16u_error::str3 = (const string) str3 Constant inlined mulf_init::sqr2_hi#0 = (const byte[512]) mulf_sqr2_hi#0 +Constant inlined mul16u_error::str2 = (const string) str2 +Constant inlined mul16u_error::str4 = (const string) str4 Constant inlined $0 = (const byte[]) print_hextab#0 Constant inlined muls16s::j#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mul16u_compare::ok#0 = (byte/signed byte/word/signed word/dword/signed dword) 1 @@ -3206,9 +3211,13 @@ Constant inlined muls16u::i#0 = (byte/signed byte/word/signed word/dword/signed Constant inlined mul16u_compare::ok#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mulf_init::$20 = (const byte[512]) mulf_sqr1_hi#0+(word/signed word/dword/signed dword) 256 Constant inlined mul16u_compare::ok#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mul16s_error::str1 = (const string) str1 Constant inlined muls16u::m#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mul16s_compare::a#0 = -(word/signed word/dword/signed dword) 32767 Constant inlined mulf_init::x_255#0 = ((byte))-(byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined mul16s_error::str4 = (const string) str4 +Constant inlined mul16s_error::str3 = (const string) str3 +Constant inlined mul16s_error::str2 = (const string) str2 Constant inlined mulf_init::x_2#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mul16u_compare::a#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mul16s_compare::j#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -3218,29 +3227,30 @@ Constant inlined print_str::str#9 = (const string) mul16s_compare::str1 Constant inlined mulf_init::sqr1_hi#0 = (const byte[512]) mulf_sqr1_hi#0+(byte/signed byte/word/signed word/dword/signed dword) 1 Constant inlined mulf_init::$10 = -(byte/signed byte/word/signed word/dword/signed dword) 1 Constant inlined mulf_init::sqr1_lo#0 = (const byte[512]) mulf_sqr1_lo#0+(byte/signed byte/word/signed word/dword/signed dword) 1 -Constant inlined print_str::str#4 = (const string) mul16u_error::str1 +Constant inlined print_str::str#4 = (const string) str1 Constant inlined mulf_init::$15 = (const byte[512]) mulf_sqr2_lo#0+(word/signed word/dword/signed dword) 511 Constant inlined print_str::str#3 = (const string) mul16u_error::str Constant inlined print_str::str#2 = (const string) mul16u_compare::str1 -Constant inlined print_str::str#1 = (const string) mul16u_compare::str +Constant inlined print_str::str#1 = (const string) str Constant inlined mulf_init::$18 = (const byte[512]) mulf_sqr1_lo#0+(word/signed word/dword/signed dword) 256 -Constant inlined print_str::str#8 = (const string) mul16s_compare::str +Constant inlined print_str::str#8 = (const string) str Constant inlined mulf_init::$19 = (const byte[512]) mulf_sqr2_hi#0+(word/signed word/dword/signed dword) 511 -Constant inlined print_str::str#7 = (const string) mul16u_error::str4 -Constant inlined print_str::str#6 = (const string) mul16u_error::str3 +Constant inlined print_str::str#7 = (const string) str4 +Constant inlined print_str::str#6 = (const string) str3 Constant inlined mulf_init::$17 = (const byte[512]) mulf_sqr2_lo#0+(word/signed word/dword/signed dword) 511 -Constant inlined print_str::str#5 = (const string) mul16u_error::str2 +Constant inlined print_str::str#5 = (const string) str2 Constant inlined mulf_init::c#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined muls16s::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000 -Constant inlined print_str::str#13 = (const string) mul16s_error::str3 -Constant inlined print_str::str#12 = (const string) mul16s_error::str2 -Constant inlined print_str::str#11 = (const string) mul16s_error::str1 +Constant inlined mul16s_compare::str = (const string) str +Constant inlined print_str::str#13 = (const string) str3 +Constant inlined print_str::str#12 = (const string) str2 +Constant inlined print_str::str#11 = (const string) str1 Constant inlined print_str::str#10 = (const string) mul16s_error::str Constant inlined muls16s::m#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mul16s_compare::ok#0 = (byte/signed byte/word/signed word/dword/signed dword) 1 Constant inlined mul16s_compare::ok#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_str::str#14 = (const string) mul16s_error::str4 +Constant inlined print_str::str#14 = (const string) str4 Constant inlined mul16s_compare::ok#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mul16u::res#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mul16s_compare::b#0 = -(word/signed word/dword/signed dword) 32767 @@ -3252,6 +3262,7 @@ Constant inlined print_cls::sc#0 = ((byte*))(word/signed word/dword/signed dword Constant inlined mulf_init::$8 = (const byte[512]) mulf_sqr1_lo#0+(word/signed word/dword/signed dword) 512 Constant inlined print_char::ch#1 = (byte) '-' Constant inlined print_char::ch#0 = (byte) '-' +Constant inlined mul16u_compare::str = (const string) str Successful SSA optimization Pass2ConstantInlining Added new block during phi lifting mul16s_compare::@20(between mul16s_compare::@10 and mul16s_compare::@1) Added new block during phi lifting mul16s_compare::@21(between mul16s_compare::@5 and mul16s_compare::@2) @@ -3629,7 +3640,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1 to:@return print_str: scope:[print_str] from mul16s_compare::@1 mul16s_compare::@17 mul16s_error mul16s_error::@2 mul16s_error::@4 mul16s_error::@6 mul16s_error::@8 mul16u_compare::@1 mul16u_compare::@17 mul16u_error mul16u_error::@2 mul16u_error::@4 mul16u_error::@6 mul16u_error::@8 [64] (byte*) print_char_cursor#148 ← phi( mul16s_compare::@1/(byte*) print_char_cursor#143 mul16s_compare::@17/(byte*~) print_char_cursor#185 mul16s_error/(byte*) print_char_cursor#128 mul16s_error::@2/(byte*) print_char_cursor#20 mul16s_error::@4/(byte*) print_char_cursor#20 mul16s_error::@6/(byte*) print_char_cursor#20 mul16s_error::@8/(byte*) print_char_cursor#20 mul16u_compare::@1/(byte*) print_char_cursor#139 mul16u_compare::@17/(byte*~) print_char_cursor#192 mul16u_error/(byte*) print_char_cursor#128 mul16u_error::@2/(byte*) print_char_cursor#20 mul16u_error::@4/(byte*) print_char_cursor#20 mul16u_error::@6/(byte*) print_char_cursor#20 mul16u_error::@8/(byte*) print_char_cursor#20 ) - [64] (byte*) print_str::str#17 ← phi( mul16s_compare::@1/(const string) mul16s_compare::str mul16s_compare::@17/(const string) mul16s_compare::str1 mul16s_error/(const string) mul16s_error::str mul16s_error::@2/(const string) mul16s_error::str1 mul16s_error::@4/(const string) mul16s_error::str2 mul16s_error::@6/(const string) mul16s_error::str3 mul16s_error::@8/(const string) mul16s_error::str4 mul16u_compare::@1/(const string) mul16u_compare::str mul16u_compare::@17/(const string) mul16u_compare::str1 mul16u_error/(const string) mul16u_error::str mul16u_error::@2/(const string) mul16u_error::str1 mul16u_error::@4/(const string) mul16u_error::str2 mul16u_error::@6/(const string) mul16u_error::str3 mul16u_error::@8/(const string) mul16u_error::str4 ) + [64] (byte*) print_str::str#17 ← phi( mul16s_compare::@1/(const string) str mul16s_compare::@17/(const string) mul16s_compare::str1 mul16s_error/(const string) mul16s_error::str mul16s_error::@2/(const string) str1 mul16s_error::@4/(const string) str2 mul16s_error::@6/(const string) str3 mul16s_error::@8/(const string) str4 mul16u_compare::@1/(const string) str mul16u_compare::@17/(const string) mul16u_compare::str1 mul16u_error/(const string) mul16u_error::str mul16u_error::@2/(const string) str1 mul16u_error::@4/(const string) str2 mul16u_error::@6/(const string) str3 mul16u_error::@8/(const string) str4 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [65] (byte*) print_char_cursor#128 ← phi( print_str/(byte*) print_char_cursor#148 print_str::@2/(byte*) print_char_cursor#1 ) @@ -4825,7 +4836,7 @@ mul16s_compare: { //SEG40 [64] phi from mul16s_compare::@1 to print_str [phi:mul16s_compare::@1->print_str] print_str_from_b1: //SEG41 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#143 [phi:mul16s_compare::@1->print_str#0] -- register_copy - //SEG42 [64] phi (byte*) print_str::str#17 = (const string) mul16s_compare::str [phi:mul16s_compare::@1->print_str#1] -- pbuz1=pbuc1 + //SEG42 [64] phi (byte*) print_str::str#17 = (const string) str [phi:mul16s_compare::@1->print_str#1] -- pbuz1=pbuc1 lda #str @@ -5140,7 +5151,6 @@ mul16s_compare: { b4_from_b22: //SEG123 [38] phi (byte) mul16s_compare::ok#3 = (byte) mul16s_compare::ok#4 [phi:mul16s_compare::@22->mul16s_compare::@4#0] -- register_copy jmp b4 - str: .text ".@" str1: .text "signed word multiply results match!@" } //SEG124 print_ln @@ -5258,7 +5268,7 @@ mul16s_error: { //SEG157 [64] phi from mul16s_error::@2 to print_str [phi:mul16s_error::@2->print_str] print_str_from_b2: //SEG158 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@2->print_str#0] -- register_copy - //SEG159 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str1 [phi:mul16s_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG159 [64] phi (byte*) print_str::str#17 = (const string) str1 [phi:mul16s_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -5286,7 +5296,7 @@ mul16s_error: { //SEG168 [64] phi from mul16s_error::@4 to print_str [phi:mul16s_error::@4->print_str] print_str_from_b4: //SEG169 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@4->print_str#0] -- register_copy - //SEG170 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str2 [phi:mul16s_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG170 [64] phi (byte*) print_str::str#17 = (const string) str2 [phi:mul16s_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -5318,7 +5328,7 @@ mul16s_error: { //SEG179 [64] phi from mul16s_error::@6 to print_str [phi:mul16s_error::@6->print_str] print_str_from_b6: //SEG180 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@6->print_str#0] -- register_copy - //SEG181 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str3 [phi:mul16s_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG181 [64] phi (byte*) print_str::str#17 = (const string) str3 [phi:mul16s_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -5350,7 +5360,7 @@ mul16s_error: { //SEG190 [64] phi from mul16s_error::@8 to print_str [phi:mul16s_error::@8->print_str] print_str_from_b8: //SEG191 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@8->print_str#0] -- register_copy - //SEG192 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str4 [phi:mul16s_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG192 [64] phi (byte*) print_str::str#17 = (const string) str4 [phi:mul16s_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -5390,10 +5400,6 @@ mul16s_error: { //SEG205 [93] return rts str: .text "signed word multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG206 print_sdword // Print a signed dword as HEX @@ -6373,7 +6379,7 @@ mul16u_compare: { //SEG434 [64] phi from mul16u_compare::@1 to print_str [phi:mul16u_compare::@1->print_str] print_str_from_b1: //SEG435 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#139 [phi:mul16u_compare::@1->print_str#0] -- register_copy - //SEG436 [64] phi (byte*) print_str::str#17 = (const string) mul16u_compare::str [phi:mul16u_compare::@1->print_str#1] -- pbuz1=pbuc1 + //SEG436 [64] phi (byte*) print_str::str#17 = (const string) str [phi:mul16u_compare::@1->print_str#1] -- pbuz1=pbuc1 lda #str @@ -6700,7 +6706,6 @@ mul16u_compare: { b4_from_b22: //SEG523 [228] phi (byte) mul16u_compare::ok#3 = (byte) mul16u_compare::ok#4 [phi:mul16u_compare::@22->mul16u_compare::@4#0] -- register_copy jmp b4 - str: .text ".@" str1: .text "word multiply results match!@" } //SEG524 mul16u_error @@ -6744,7 +6749,7 @@ mul16u_error: { //SEG538 [64] phi from mul16u_error::@2 to print_str [phi:mul16u_error::@2->print_str] print_str_from_b2: //SEG539 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@2->print_str#0] -- register_copy - //SEG540 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str1 [phi:mul16u_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG540 [64] phi (byte*) print_str::str#17 = (const string) str1 [phi:mul16u_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -6773,7 +6778,7 @@ mul16u_error: { //SEG550 [64] phi from mul16u_error::@4 to print_str [phi:mul16u_error::@4->print_str] print_str_from_b4: //SEG551 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@4->print_str#0] -- register_copy - //SEG552 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str2 [phi:mul16u_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG552 [64] phi (byte*) print_str::str#17 = (const string) str2 [phi:mul16u_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -6806,7 +6811,7 @@ mul16u_error: { //SEG562 [64] phi from mul16u_error::@6 to print_str [phi:mul16u_error::@6->print_str] print_str_from_b6: //SEG563 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@6->print_str#0] -- register_copy - //SEG564 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str3 [phi:mul16u_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG564 [64] phi (byte*) print_str::str#17 = (const string) str3 [phi:mul16u_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -6839,7 +6844,7 @@ mul16u_error: { //SEG574 [64] phi from mul16u_error::@8 to print_str [phi:mul16u_error::@8->print_str] print_str_from_b8: //SEG575 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@8->print_str#0] -- register_copy - //SEG576 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str4 [phi:mul16u_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG576 [64] phi (byte*) print_str::str#17 = (const string) str4 [phi:mul16u_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -6884,10 +6889,6 @@ mul16u_error: { //SEG590 [271] return rts str: .text "multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG591 muls16u // Slow multiplication of unsigned words @@ -7243,6 +7244,11 @@ print_cls: { // >g(x) = >((( x - 255) * ( x - 255 ))/4) .align $100 mulf_sqr2_hi: .fill $200, 0 + str: .text ".@" + str4: .text " / fast:@" + str3: .text " / normal:@" + str1: .text "*@" + str2: .text " slow:@" REGISTER UPLIFT POTENTIAL REGISTERS Statement [4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] ) always clobbers reg byte a @@ -7887,7 +7893,7 @@ mul16s_compare: { //SEG40 [64] phi from mul16s_compare::@1 to print_str [phi:mul16s_compare::@1->print_str] print_str_from_b1: //SEG41 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#143 [phi:mul16s_compare::@1->print_str#0] -- register_copy - //SEG42 [64] phi (byte*) print_str::str#17 = (const string) mul16s_compare::str [phi:mul16s_compare::@1->print_str#1] -- pbuz1=pbuc1 + //SEG42 [64] phi (byte*) print_str::str#17 = (const string) str [phi:mul16s_compare::@1->print_str#1] -- pbuz1=pbuc1 lda #str @@ -8092,7 +8098,6 @@ mul16s_compare: { b4_from_b22: //SEG123 [38] phi (byte) mul16s_compare::ok#3 = (byte) mul16s_compare::ok#4 [phi:mul16s_compare::@22->mul16s_compare::@4#0] -- register_copy jmp b4 - str: .text ".@" str1: .text "signed word multiply results match!@" } //SEG124 print_ln @@ -8206,7 +8211,7 @@ mul16s_error: { //SEG157 [64] phi from mul16s_error::@2 to print_str [phi:mul16s_error::@2->print_str] print_str_from_b2: //SEG158 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@2->print_str#0] -- register_copy - //SEG159 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str1 [phi:mul16s_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG159 [64] phi (byte*) print_str::str#17 = (const string) str1 [phi:mul16s_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -8234,7 +8239,7 @@ mul16s_error: { //SEG168 [64] phi from mul16s_error::@4 to print_str [phi:mul16s_error::@4->print_str] print_str_from_b4: //SEG169 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@4->print_str#0] -- register_copy - //SEG170 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str2 [phi:mul16s_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG170 [64] phi (byte*) print_str::str#17 = (const string) str2 [phi:mul16s_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -8258,7 +8263,7 @@ mul16s_error: { //SEG179 [64] phi from mul16s_error::@6 to print_str [phi:mul16s_error::@6->print_str] print_str_from_b6: //SEG180 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@6->print_str#0] -- register_copy - //SEG181 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str3 [phi:mul16s_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG181 [64] phi (byte*) print_str::str#17 = (const string) str3 [phi:mul16s_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -8290,7 +8295,7 @@ mul16s_error: { //SEG190 [64] phi from mul16s_error::@8 to print_str [phi:mul16s_error::@8->print_str] print_str_from_b8: //SEG191 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@8->print_str#0] -- register_copy - //SEG192 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str4 [phi:mul16s_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG192 [64] phi (byte*) print_str::str#17 = (const string) str4 [phi:mul16s_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -8330,10 +8335,6 @@ mul16s_error: { //SEG205 [93] return rts str: .text "signed word multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG206 print_sdword // Print a signed dword as HEX @@ -9231,7 +9232,7 @@ mul16u_compare: { //SEG434 [64] phi from mul16u_compare::@1 to print_str [phi:mul16u_compare::@1->print_str] print_str_from_b1: //SEG435 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#139 [phi:mul16u_compare::@1->print_str#0] -- register_copy - //SEG436 [64] phi (byte*) print_str::str#17 = (const string) mul16u_compare::str [phi:mul16u_compare::@1->print_str#1] -- pbuz1=pbuc1 + //SEG436 [64] phi (byte*) print_str::str#17 = (const string) str [phi:mul16u_compare::@1->print_str#1] -- pbuz1=pbuc1 lda #str @@ -9456,7 +9457,6 @@ mul16u_compare: { b4_from_b22: //SEG523 [228] phi (byte) mul16u_compare::ok#3 = (byte) mul16u_compare::ok#4 [phi:mul16u_compare::@22->mul16u_compare::@4#0] -- register_copy jmp b4 - str: .text ".@" str1: .text "word multiply results match!@" } //SEG524 mul16u_error @@ -9496,7 +9496,7 @@ mul16u_error: { //SEG538 [64] phi from mul16u_error::@2 to print_str [phi:mul16u_error::@2->print_str] print_str_from_b2: //SEG539 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@2->print_str#0] -- register_copy - //SEG540 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str1 [phi:mul16u_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG540 [64] phi (byte*) print_str::str#17 = (const string) str1 [phi:mul16u_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -9525,7 +9525,7 @@ mul16u_error: { //SEG550 [64] phi from mul16u_error::@4 to print_str [phi:mul16u_error::@4->print_str] print_str_from_b4: //SEG551 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@4->print_str#0] -- register_copy - //SEG552 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str2 [phi:mul16u_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG552 [64] phi (byte*) print_str::str#17 = (const string) str2 [phi:mul16u_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -9550,7 +9550,7 @@ mul16u_error: { //SEG562 [64] phi from mul16u_error::@6 to print_str [phi:mul16u_error::@6->print_str] print_str_from_b6: //SEG563 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@6->print_str#0] -- register_copy - //SEG564 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str3 [phi:mul16u_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG564 [64] phi (byte*) print_str::str#17 = (const string) str3 [phi:mul16u_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -9583,7 +9583,7 @@ mul16u_error: { //SEG574 [64] phi from mul16u_error::@8 to print_str [phi:mul16u_error::@8->print_str] print_str_from_b8: //SEG575 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@8->print_str#0] -- register_copy - //SEG576 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str4 [phi:mul16u_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG576 [64] phi (byte*) print_str::str#17 = (const string) str4 [phi:mul16u_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -9628,10 +9628,6 @@ mul16u_error: { //SEG590 [271] return rts str: .text "multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG591 muls16u // Slow multiplication of unsigned words @@ -9970,6 +9966,11 @@ print_cls: { // >g(x) = >((( x - 255) * ( x - 255 ))/4) .align $100 mulf_sqr2_hi: .fill $200, 0 + str: .text ".@" + str4: .text " / fast:@" + str3: .text " / normal:@" + str1: .text "*@" + str2: .text " slow:@" ASSEMBLER OPTIMIZATIONS Removing instruction jmp b40 @@ -10384,7 +10385,7 @@ Removing unreachable instruction jmp b4 Removing unreachable instruction jmp b4 Succesful ASM optimization Pass5UnreachableCodeElimination Fixing long branch [110] bne b1 to beq -Fixing long branch [863] bne b1 to beq +Fixing long branch [858] bne b1 to beq FINAL SYMBOL TABLE (label) @40 @@ -10463,7 +10464,6 @@ FINAL SYMBOL TABLE (byte) mul16s_compare::ok (byte) mul16s_compare::ok#3 reg byte x 202.0 (byte) mul16s_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul16s_compare::str str = (string) ".@" (const string) mul16s_compare::str1 str1 = (string) "signed word multiply results match!@" (void()) mul16s_error((signed word) mul16s_error::a , (signed word) mul16s_error::b , (signed dword) mul16s_error::ms , (signed dword) mul16s_error::mn , (signed dword) mul16s_error::mf) (label) mul16s_error::@1 @@ -10488,10 +10488,6 @@ FINAL SYMBOL TABLE (signed dword) mul16s_error::ms (signed dword) mul16s_error::ms#0 ms zp ZP_DWORD:11 0.3076923076923077 (const string) mul16s_error::str str = (string) "signed word multiply mismatch @" -(const string) mul16s_error::str1 str1 = (string) "*@" -(const string) mul16s_error::str2 str2 = (string) " slow:@" -(const string) mul16s_error::str3 str3 = (string) " / normal:@" -(const string) mul16s_error::str4 str4 = (string) " / fast:@" (dword()) mul16u((word) mul16u::a , (word) mul16u::b) (byte/word~) mul16u::$1 reg byte a 2002.0 (label) mul16u::@1 @@ -10560,7 +10556,6 @@ FINAL SYMBOL TABLE (byte) mul16u_compare::ok (byte) mul16u_compare::ok#3 reg byte x 202.0 (byte) mul16u_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul16u_compare::str str = (string) ".@" (const string) mul16u_compare::str1 str1 = (string) "word multiply results match!@" (void()) mul16u_error((word) mul16u_error::a , (word) mul16u_error::b , (dword) mul16u_error::ms , (dword) mul16u_error::mn , (dword) mul16u_error::mf) (label) mul16u_error::@1 @@ -10585,10 +10580,6 @@ FINAL SYMBOL TABLE (dword) mul16u_error::ms (dword) mul16u_error::ms#0 ms zp ZP_DWORD:11 0.3076923076923077 (const string) mul16u_error::str str = (string) "multiply mismatch @" -(const string) mul16u_error::str1 str1 = (string) "*@" -(const string) mul16u_error::str2 str2 = (string) " slow:@" -(const string) mul16u_error::str3 str3 = (string) " / normal:@" -(const string) mul16u_error::str4 str4 = (string) " / fast:@" (signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b) (word~) mulf16s::$11 $11 zp ZP_WORD:3 20.0 (word~) mulf16s::$12 $12 zp ZP_WORD:9 4.0 @@ -10824,6 +10815,11 @@ FINAL SYMBOL TABLE (word) print_word::w#3 w zp ZP_WORD:3 4.0 (word) print_word::w#4 w zp ZP_WORD:3 4.0 (word) print_word::w#5 w zp ZP_WORD:3 4.666666666666666 +(const string) str str = (string) ".@" +(const string) str1 str1 = (string) "*@" +(const string) str2 str2 = (string) " slow:@" +(const string) str3 str3 = (string) " / normal:@" +(const string) str4 str4 = (string) " / fast:@" zp ZP_BYTE:2 [ mul16s_compare::i#12 mul16s_compare::i#1 mul16u_compare::i#12 mul16u_compare::i#1 mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#6 mul16s_compare::a#1 muls16s::a#0 mul16s::a#0 mulf16s::a#0 mul16s_error::a#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 mul16u_error::a#0 muls16u::i#2 muls16u::i#1 mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 print_cls::sc#2 print_cls::sc#1 mulf16s::$5 mulf16s::$11 mul16s::$5 mul16s::$11 ] @@ -10936,7 +10932,7 @@ mul16s_compare: { //SEG39 [15] call print_str //SEG40 [64] phi from mul16s_compare::@1 to print_str [phi:mul16s_compare::@1->print_str] //SEG41 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#143 [phi:mul16s_compare::@1->print_str#0] -- register_copy - //SEG42 [64] phi (byte*) print_str::str#17 = (const string) mul16s_compare::str [phi:mul16s_compare::@1->print_str#1] -- pbuz1=pbuc1 + //SEG42 [64] phi (byte*) print_str::str#17 = (const string) str [phi:mul16s_compare::@1->print_str#1] -- pbuz1=pbuc1 lda #str @@ -11104,7 +11100,6 @@ mul16s_compare: { //SEG121 mul16s_compare::@22 //SEG122 [38] phi from mul16s_compare::@22 to mul16s_compare::@4 [phi:mul16s_compare::@22->mul16s_compare::@4] //SEG123 [38] phi (byte) mul16s_compare::ok#3 = (byte) mul16s_compare::ok#4 [phi:mul16s_compare::@22->mul16s_compare::@4#0] -- register_copy - str: .text ".@" str1: .text "signed word multiply results match!@" } //SEG124 print_ln @@ -11199,7 +11194,7 @@ mul16s_error: { //SEG156 [76] call print_str //SEG157 [64] phi from mul16s_error::@2 to print_str [phi:mul16s_error::@2->print_str] //SEG158 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@2->print_str#0] -- register_copy - //SEG159 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str1 [phi:mul16s_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG159 [64] phi (byte*) print_str::str#17 = (const string) str1 [phi:mul16s_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -11220,7 +11215,7 @@ mul16s_error: { //SEG167 [80] call print_str //SEG168 [64] phi from mul16s_error::@4 to print_str [phi:mul16s_error::@4->print_str] //SEG169 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@4->print_str#0] -- register_copy - //SEG170 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str2 [phi:mul16s_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG170 [64] phi (byte*) print_str::str#17 = (const string) str2 [phi:mul16s_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -11237,7 +11232,7 @@ mul16s_error: { //SEG178 [84] call print_str //SEG179 [64] phi from mul16s_error::@6 to print_str [phi:mul16s_error::@6->print_str] //SEG180 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@6->print_str#0] -- register_copy - //SEG181 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str3 [phi:mul16s_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG181 [64] phi (byte*) print_str::str#17 = (const string) str3 [phi:mul16s_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -11262,7 +11257,7 @@ mul16s_error: { //SEG189 [88] call print_str //SEG190 [64] phi from mul16s_error::@8 to print_str [phi:mul16s_error::@8->print_str] //SEG191 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16s_error::@8->print_str#0] -- register_copy - //SEG192 [64] phi (byte*) print_str::str#17 = (const string) mul16s_error::str4 [phi:mul16s_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG192 [64] phi (byte*) print_str::str#17 = (const string) str4 [phi:mul16s_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -11293,10 +11288,6 @@ mul16s_error: { //SEG205 [93] return rts str: .text "signed word multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG206 print_sdword // Print a signed dword as HEX @@ -12075,7 +12066,7 @@ mul16u_compare: { //SEG433 [205] call print_str //SEG434 [64] phi from mul16u_compare::@1 to print_str [phi:mul16u_compare::@1->print_str] //SEG435 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#139 [phi:mul16u_compare::@1->print_str#0] -- register_copy - //SEG436 [64] phi (byte*) print_str::str#17 = (const string) mul16u_compare::str [phi:mul16u_compare::@1->print_str#1] -- pbuz1=pbuc1 + //SEG436 [64] phi (byte*) print_str::str#17 = (const string) str [phi:mul16u_compare::@1->print_str#1] -- pbuz1=pbuc1 lda #str @@ -12261,7 +12252,6 @@ mul16u_compare: { //SEG521 mul16u_compare::@22 //SEG522 [228] phi from mul16u_compare::@22 to mul16u_compare::@4 [phi:mul16u_compare::@22->mul16u_compare::@4] //SEG523 [228] phi (byte) mul16u_compare::ok#3 = (byte) mul16u_compare::ok#4 [phi:mul16u_compare::@22->mul16u_compare::@4#0] -- register_copy - str: .text ".@" str1: .text "word multiply results match!@" } //SEG524 mul16u_error @@ -12293,7 +12283,7 @@ mul16u_error: { //SEG537 [254] call print_str //SEG538 [64] phi from mul16u_error::@2 to print_str [phi:mul16u_error::@2->print_str] //SEG539 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@2->print_str#0] -- register_copy - //SEG540 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str1 [phi:mul16u_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG540 [64] phi (byte*) print_str::str#17 = (const string) str1 [phi:mul16u_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -12315,7 +12305,7 @@ mul16u_error: { //SEG549 [258] call print_str //SEG550 [64] phi from mul16u_error::@4 to print_str [phi:mul16u_error::@4->print_str] //SEG551 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@4->print_str#0] -- register_copy - //SEG552 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str2 [phi:mul16u_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG552 [64] phi (byte*) print_str::str#17 = (const string) str2 [phi:mul16u_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -12333,7 +12323,7 @@ mul16u_error: { //SEG561 [262] call print_str //SEG562 [64] phi from mul16u_error::@6 to print_str [phi:mul16u_error::@6->print_str] //SEG563 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@6->print_str#0] -- register_copy - //SEG564 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str3 [phi:mul16u_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG564 [64] phi (byte*) print_str::str#17 = (const string) str3 [phi:mul16u_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -12359,7 +12349,7 @@ mul16u_error: { //SEG573 [266] call print_str //SEG574 [64] phi from mul16u_error::@8 to print_str [phi:mul16u_error::@8->print_str] //SEG575 [64] phi (byte*) print_char_cursor#148 = (byte*) print_char_cursor#20 [phi:mul16u_error::@8->print_str#0] -- register_copy - //SEG576 [64] phi (byte*) print_str::str#17 = (const string) mul16u_error::str4 [phi:mul16u_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG576 [64] phi (byte*) print_str::str#17 = (const string) str4 [phi:mul16u_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -12395,10 +12385,6 @@ mul16u_error: { //SEG590 [271] return rts str: .text "multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG591 muls16u // Slow multiplication of unsigned words @@ -12692,4 +12678,9 @@ print_cls: { // >g(x) = >((( x - 255) * ( x - 255 ))/4) .align $100 mulf_sqr2_hi: .fill $200, 0 + str: .text ".@" + str4: .text " / fast:@" + str3: .text " / normal:@" + str1: .text "*@" + str2: .text " slow:@" diff --git a/src/test/ref/test-multiply-16bit.sym b/src/test/ref/test-multiply-16bit.sym index 67e1193f3..3cae61476 100644 --- a/src/test/ref/test-multiply-16bit.sym +++ b/src/test/ref/test-multiply-16bit.sym @@ -74,7 +74,6 @@ (byte) mul16s_compare::ok (byte) mul16s_compare::ok#3 reg byte x 202.0 (byte) mul16s_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul16s_compare::str str = (string) ".@" (const string) mul16s_compare::str1 str1 = (string) "signed word multiply results match!@" (void()) mul16s_error((signed word) mul16s_error::a , (signed word) mul16s_error::b , (signed dword) mul16s_error::ms , (signed dword) mul16s_error::mn , (signed dword) mul16s_error::mf) (label) mul16s_error::@1 @@ -99,10 +98,6 @@ (signed dword) mul16s_error::ms (signed dword) mul16s_error::ms#0 ms zp ZP_DWORD:11 0.3076923076923077 (const string) mul16s_error::str str = (string) "signed word multiply mismatch @" -(const string) mul16s_error::str1 str1 = (string) "*@" -(const string) mul16s_error::str2 str2 = (string) " slow:@" -(const string) mul16s_error::str3 str3 = (string) " / normal:@" -(const string) mul16s_error::str4 str4 = (string) " / fast:@" (dword()) mul16u((word) mul16u::a , (word) mul16u::b) (byte/word~) mul16u::$1 reg byte a 2002.0 (label) mul16u::@1 @@ -171,7 +166,6 @@ (byte) mul16u_compare::ok (byte) mul16u_compare::ok#3 reg byte x 202.0 (byte) mul16u_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul16u_compare::str str = (string) ".@" (const string) mul16u_compare::str1 str1 = (string) "word multiply results match!@" (void()) mul16u_error((word) mul16u_error::a , (word) mul16u_error::b , (dword) mul16u_error::ms , (dword) mul16u_error::mn , (dword) mul16u_error::mf) (label) mul16u_error::@1 @@ -196,10 +190,6 @@ (dword) mul16u_error::ms (dword) mul16u_error::ms#0 ms zp ZP_DWORD:11 0.3076923076923077 (const string) mul16u_error::str str = (string) "multiply mismatch @" -(const string) mul16u_error::str1 str1 = (string) "*@" -(const string) mul16u_error::str2 str2 = (string) " slow:@" -(const string) mul16u_error::str3 str3 = (string) " / normal:@" -(const string) mul16u_error::str4 str4 = (string) " / fast:@" (signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b) (word~) mulf16s::$11 $11 zp ZP_WORD:3 20.0 (word~) mulf16s::$12 $12 zp ZP_WORD:9 4.0 @@ -435,6 +425,11 @@ (word) print_word::w#3 w zp ZP_WORD:3 4.0 (word) print_word::w#4 w zp ZP_WORD:3 4.0 (word) print_word::w#5 w zp ZP_WORD:3 4.666666666666666 +(const string) str str = (string) ".@" +(const string) str1 str1 = (string) "*@" +(const string) str2 str2 = (string) " slow:@" +(const string) str3 str3 = (string) " / normal:@" +(const string) str4 str4 = (string) " / fast:@" zp ZP_BYTE:2 [ mul16s_compare::i#12 mul16s_compare::i#1 mul16u_compare::i#12 mul16u_compare::i#1 mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#6 mul16s_compare::a#1 muls16s::a#0 mul16s::a#0 mulf16s::a#0 mul16s_error::a#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 mul16u_error::a#0 muls16u::i#2 muls16u::i#1 mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 print_cls::sc#2 print_cls::sc#1 mulf16s::$5 mulf16s::$11 mul16s::$5 mul16s::$11 ] diff --git a/src/test/ref/test-multiply-8bit.asm b/src/test/ref/test-multiply-8bit.asm index 590bcc04d..797276fc4 100644 --- a/src/test/ref/test-multiply-8bit.asm +++ b/src/test/ref/test-multiply-8bit.asm @@ -183,10 +183,6 @@ mul8s_error: { jsr print_ln rts str: .text "signed multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } // Print a signed word as HEX // print_sword(signed word zeropage(8) w) @@ -588,10 +584,6 @@ mul8u_error: { jsr print_ln rts str: .text "multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } // Fast multiply two unsigned bytes to a word result // mulf8u(byte register(A) a, byte register(X) b) @@ -931,3 +923,7 @@ print_cls: { // >((( x - 255) * ( x - 255 ))/4) .align $100 mula_sqr2_hi: .fill $200, 0 + str4: .text " / fast:@" + str3: .text " / normal:@" + str1: .text "*@" + str2: .text " slow:@" diff --git a/src/test/ref/test-multiply-8bit.cfg b/src/test/ref/test-multiply-8bit.cfg index 378fac4b3..11f3645c0 100644 --- a/src/test/ref/test-multiply-8bit.cfg +++ b/src/test/ref/test-multiply-8bit.cfg @@ -121,7 +121,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1 to:@return print_str: scope:[print_str] from mul8s_compare::@11 mul8s_error mul8s_error::@2 mul8s_error::@4 mul8s_error::@6 mul8s_error::@8 mul8u_compare::@11 mul8u_error mul8u_error::@2 mul8u_error::@4 mul8u_error::@6 mul8u_error::@8 mulf_tables_cmp::@3 mulf_tables_cmp::@5 mulf_tables_cmp::@7 [63] (byte*) print_char_cursor#152 ← phi( mul8s_compare::@11/(byte*~) print_char_cursor#192 mul8s_error/(byte*~) print_char_cursor#193 mul8s_error::@2/(byte*) print_char_cursor#18 mul8s_error::@4/(byte*) print_char_cursor#18 mul8s_error::@6/(byte*) print_char_cursor#18 mul8s_error::@8/(byte*) print_char_cursor#18 mul8u_compare::@11/(byte*) print_char_cursor#31 mul8u_error/(byte*) print_char_cursor#31 mul8u_error::@2/(byte*) print_char_cursor#18 mul8u_error::@4/(byte*) print_char_cursor#18 mul8u_error::@6/(byte*) print_char_cursor#18 mul8u_error::@8/(byte*) print_char_cursor#18 mulf_tables_cmp::@3/((byte*))(word/signed word/dword/signed dword) 1024 mulf_tables_cmp::@5/((byte*))(word/signed word/dword/signed dword) 1024 mulf_tables_cmp::@7/(byte*) print_char_cursor#18 ) - [63] (byte*) print_str::str#18 ← phi( mul8s_compare::@11/(const string) mul8s_compare::str mul8s_error/(const string) mul8s_error::str mul8s_error::@2/(const string) mul8s_error::str1 mul8s_error::@4/(const string) mul8s_error::str2 mul8s_error::@6/(const string) mul8s_error::str3 mul8s_error::@8/(const string) mul8s_error::str4 mul8u_compare::@11/(const string) mul8u_compare::str mul8u_error/(const string) mul8u_error::str mul8u_error::@2/(const string) mul8u_error::str1 mul8u_error::@4/(const string) mul8u_error::str2 mul8u_error::@6/(const string) mul8u_error::str3 mul8u_error::@8/(const string) mul8u_error::str4 mulf_tables_cmp::@3/(const string) mulf_tables_cmp::str mulf_tables_cmp::@5/(const string) mulf_tables_cmp::str2 mulf_tables_cmp::@7/(const string) mulf_tables_cmp::str1 ) + [63] (byte*) print_str::str#18 ← phi( mul8s_compare::@11/(const string) mul8s_compare::str mul8s_error/(const string) mul8s_error::str mul8s_error::@2/(const string) str1 mul8s_error::@4/(const string) str2 mul8s_error::@6/(const string) str3 mul8s_error::@8/(const string) str4 mul8u_compare::@11/(const string) mul8u_compare::str mul8u_error/(const string) mul8u_error::str mul8u_error::@2/(const string) str1 mul8u_error::@4/(const string) str2 mul8u_error::@6/(const string) str3 mul8u_error::@8/(const string) str4 mulf_tables_cmp::@3/(const string) mulf_tables_cmp::str mulf_tables_cmp::@5/(const string) mulf_tables_cmp::str2 mulf_tables_cmp::@7/(const string) mulf_tables_cmp::str1 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [64] (byte*) print_char_cursor#132 ← phi( print_str/(byte*) print_char_cursor#152 print_str::@2/(byte*) print_char_cursor#1 ) diff --git a/src/test/ref/test-multiply-8bit.log b/src/test/ref/test-multiply-8bit.log index a8bbca69d..7c5d9c27b 100644 --- a/src/test/ref/test-multiply-8bit.log +++ b/src/test/ref/test-multiply-8bit.log @@ -3235,6 +3235,7 @@ Constant (const byte*) mulf_tables_cmp::asm_sqr#0 = mula_sqr1_lo#0 Constant (const byte*) mulf_tables_cmp::kc_sqr#0 = mulf_sqr1_lo#0 Constant (const byte*) mulf_tables_cmp::$9 = mulf_sqr1_lo#0+mulf_tables_cmp::$8 Successful SSA optimization Pass2ConstantIdentification +Successful SSA optimization Pass2ConstantStringConsolidation Fixing inline constructor with mulf8u_prepared::$0 ← *(mulf8u_prepared::memB#0) w= *(mulf8u_prepared::resL#0) Successful SSA optimization Pass2FixInlineConstructors Eliminating Noop Cast (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#5 @@ -3370,7 +3371,7 @@ Constant inlined mul8s_compare::ok#0 = (byte/signed byte/word/signed word/dword/ Constant inlined mul8s_compare::ok#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined muls8s::m#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined muls8s::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_str::str#9 = (const string) mul8u_error::str4 +Constant inlined print_str::str#9 = (const string) str4 Constant inlined mul8u::res#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mulf_init::sqr1_hi#0 = (const byte[512]) mulf_sqr1_hi#0+(byte/signed byte/word/signed word/dword/signed dword) 1 Constant inlined mulf_init::$10 = -(byte/signed byte/word/signed word/dword/signed dword) 1 @@ -3382,27 +3383,31 @@ Constant inlined print_str::str#3 = (const string) mulf_tables_cmp::str2 Constant inlined print_str::str#2 = (const string) mulf_tables_cmp::str1 Constant inlined print_str::str#1 = (const string) mulf_tables_cmp::str Constant inlined mulf_init::$18 = (const byte[512]) mulf_sqr1_lo#0+(word/signed word/dword/signed dword) 256 -Constant inlined print_str::str#8 = (const string) mul8u_error::str3 +Constant inlined print_str::str#8 = (const string) str3 Constant inlined mulf_init::$19 = (const byte[512]) mulf_sqr2_hi#0+(word/signed word/dword/signed dword) 511 -Constant inlined print_str::str#7 = (const string) mul8u_error::str2 -Constant inlined print_str::str#6 = (const string) mul8u_error::str1 +Constant inlined print_str::str#7 = (const string) str2 +Constant inlined print_str::str#6 = (const string) str1 Constant inlined mulf_init::$17 = (const byte[512]) mulf_sqr2_lo#0+(word/signed word/dword/signed dword) 511 Constant inlined print_str::str#5 = (const string) mul8u_error::str Constant inlined mulf_init::c#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000 -Constant inlined print_str::str#13 = (const string) mul8s_error::str2 -Constant inlined print_str::str#12 = (const string) mul8s_error::str1 +Constant inlined print_str::str#13 = (const string) str2 +Constant inlined print_str::str#12 = (const string) str1 Constant inlined print_str::str#11 = (const string) mul8s_error::str Constant inlined print_str::str#10 = (const string) mul8s_compare::str -Constant inlined print_str::str#15 = (const string) mul8s_error::str4 -Constant inlined print_str::str#14 = (const string) mul8s_error::str3 +Constant inlined print_str::str#15 = (const string) str4 +Constant inlined print_str::str#14 = (const string) str3 Constant inlined mul8u_compare::a#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mul8s_compare::a#0 = -(byte/word/signed word/dword/signed dword) 128 Constant inlined mulf_tables_cmp::$9 = (const byte[512]) mulf_sqr1_lo#0+(word/signed word/dword/signed dword) 512*(byte/signed byte/word/signed word/dword/signed dword) 4 Constant inlined mulf_tables_cmp::$8 = (word/signed word/dword/signed dword) 512*(byte/signed byte/word/signed word/dword/signed dword) 4 Constant inlined mulf_init::sqr#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined muls8u::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mul8s_error::str1 = (const string) str1 +Constant inlined mul8s_error::str2 = (const string) str2 +Constant inlined mul8s_error::str3 = (const string) str3 Constant inlined muls8u::m#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mul8s_error::str4 = (const string) str4 Constant inlined print_cls::sc#0 = ((byte*))(word/signed word/dword/signed dword) 1024 Constant inlined mulf_init::$8 = (const byte[512]) mulf_sqr1_lo#0+(word/signed word/dword/signed dword) 512 Constant inlined print_char::ch#2 = (byte) ' ' @@ -3410,6 +3415,10 @@ Constant inlined muls8s::j#0 = (byte/signed byte/word/signed word/dword/signed d Constant inlined mulf_tables_cmp::asm_sqr#0 = (const byte[512]) mula_sqr1_lo#0 Constant inlined print_char::ch#1 = (byte) '-' Constant inlined print_char::ch#0 = (byte) '-' +Constant inlined mul8u_error::str1 = (const string) str1 +Constant inlined mul8u_error::str2 = (const string) str2 +Constant inlined mul8u_error::str3 = (const string) str3 +Constant inlined mul8u_error::str4 = (const string) str4 Successful SSA optimization Pass2ConstantInlining Added new block during phi lifting mul8s_compare::@18(between mul8s_compare::@10 and mul8s_compare::@1) Added new block during phi lifting mul8s_compare::@19(between mul8s_compare::@5 and mul8s_compare::@2) @@ -3782,7 +3791,7 @@ print_ln::@return: scope:[print_ln] from print_ln::@1 to:@return print_str: scope:[print_str] from mul8s_compare::@11 mul8s_error mul8s_error::@2 mul8s_error::@4 mul8s_error::@6 mul8s_error::@8 mul8u_compare::@11 mul8u_error mul8u_error::@2 mul8u_error::@4 mul8u_error::@6 mul8u_error::@8 mulf_tables_cmp::@3 mulf_tables_cmp::@5 mulf_tables_cmp::@7 [63] (byte*) print_char_cursor#152 ← phi( mul8s_compare::@11/(byte*~) print_char_cursor#192 mul8s_error/(byte*~) print_char_cursor#193 mul8s_error::@2/(byte*) print_char_cursor#18 mul8s_error::@4/(byte*) print_char_cursor#18 mul8s_error::@6/(byte*) print_char_cursor#18 mul8s_error::@8/(byte*) print_char_cursor#18 mul8u_compare::@11/(byte*) print_char_cursor#31 mul8u_error/(byte*) print_char_cursor#31 mul8u_error::@2/(byte*) print_char_cursor#18 mul8u_error::@4/(byte*) print_char_cursor#18 mul8u_error::@6/(byte*) print_char_cursor#18 mul8u_error::@8/(byte*) print_char_cursor#18 mulf_tables_cmp::@3/((byte*))(word/signed word/dword/signed dword) 1024 mulf_tables_cmp::@5/((byte*))(word/signed word/dword/signed dword) 1024 mulf_tables_cmp::@7/(byte*) print_char_cursor#18 ) - [63] (byte*) print_str::str#18 ← phi( mul8s_compare::@11/(const string) mul8s_compare::str mul8s_error/(const string) mul8s_error::str mul8s_error::@2/(const string) mul8s_error::str1 mul8s_error::@4/(const string) mul8s_error::str2 mul8s_error::@6/(const string) mul8s_error::str3 mul8s_error::@8/(const string) mul8s_error::str4 mul8u_compare::@11/(const string) mul8u_compare::str mul8u_error/(const string) mul8u_error::str mul8u_error::@2/(const string) mul8u_error::str1 mul8u_error::@4/(const string) mul8u_error::str2 mul8u_error::@6/(const string) mul8u_error::str3 mul8u_error::@8/(const string) mul8u_error::str4 mulf_tables_cmp::@3/(const string) mulf_tables_cmp::str mulf_tables_cmp::@5/(const string) mulf_tables_cmp::str2 mulf_tables_cmp::@7/(const string) mulf_tables_cmp::str1 ) + [63] (byte*) print_str::str#18 ← phi( mul8s_compare::@11/(const string) mul8s_compare::str mul8s_error/(const string) mul8s_error::str mul8s_error::@2/(const string) str1 mul8s_error::@4/(const string) str2 mul8s_error::@6/(const string) str3 mul8s_error::@8/(const string) str4 mul8u_compare::@11/(const string) mul8u_compare::str mul8u_error/(const string) mul8u_error::str mul8u_error::@2/(const string) str1 mul8u_error::@4/(const string) str2 mul8u_error::@6/(const string) str3 mul8u_error::@8/(const string) str4 mulf_tables_cmp::@3/(const string) mulf_tables_cmp::str mulf_tables_cmp::@5/(const string) mulf_tables_cmp::str2 mulf_tables_cmp::@7/(const string) mulf_tables_cmp::str1 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 [64] (byte*) print_char_cursor#132 ← phi( print_str/(byte*) print_char_cursor#152 print_str::@2/(byte*) print_char_cursor#1 ) @@ -5386,7 +5395,7 @@ mul8s_error: { //SEG143 [63] phi from mul8s_error::@2 to print_str [phi:mul8s_error::@2->print_str] print_str_from_b2: //SEG144 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@2->print_str#0] -- register_copy - //SEG145 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str1 [phi:mul8s_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG145 [63] phi (byte*) print_str::str#18 = (const string) str1 [phi:mul8s_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -5412,7 +5421,7 @@ mul8s_error: { //SEG154 [63] phi from mul8s_error::@4 to print_str [phi:mul8s_error::@4->print_str] print_str_from_b4: //SEG155 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@4->print_str#0] -- register_copy - //SEG156 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str2 [phi:mul8s_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG156 [63] phi (byte*) print_str::str#18 = (const string) str2 [phi:mul8s_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -5440,7 +5449,7 @@ mul8s_error: { //SEG165 [63] phi from mul8s_error::@6 to print_str [phi:mul8s_error::@6->print_str] print_str_from_b6: //SEG166 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@6->print_str#0] -- register_copy - //SEG167 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str3 [phi:mul8s_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG167 [63] phi (byte*) print_str::str#18 = (const string) str3 [phi:mul8s_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -5468,7 +5477,7 @@ mul8s_error: { //SEG176 [63] phi from mul8s_error::@8 to print_str [phi:mul8s_error::@8->print_str] print_str_from_b8: //SEG177 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@8->print_str#0] -- register_copy - //SEG178 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str4 [phi:mul8s_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG178 [63] phi (byte*) print_str::str#18 = (const string) str4 [phi:mul8s_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -5504,10 +5513,6 @@ mul8s_error: { //SEG191 [92] return rts str: .text "signed multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG192 print_sword // Print a signed word as HEX @@ -6515,7 +6520,7 @@ mul8u_error: { //SEG504 [63] phi from mul8u_error::@2 to print_str [phi:mul8u_error::@2->print_str] print_str_from_b2: //SEG505 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@2->print_str#0] -- register_copy - //SEG506 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str1 [phi:mul8u_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG506 [63] phi (byte*) print_str::str#18 = (const string) str1 [phi:mul8u_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -6542,7 +6547,7 @@ mul8u_error: { //SEG516 [63] phi from mul8u_error::@4 to print_str [phi:mul8u_error::@4->print_str] print_str_from_b4: //SEG517 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@4->print_str#0] -- register_copy - //SEG518 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str2 [phi:mul8u_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG518 [63] phi (byte*) print_str::str#18 = (const string) str2 [phi:mul8u_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -6571,7 +6576,7 @@ mul8u_error: { //SEG528 [63] phi from mul8u_error::@6 to print_str [phi:mul8u_error::@6->print_str] print_str_from_b6: //SEG529 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@6->print_str#0] -- register_copy - //SEG530 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str3 [phi:mul8u_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG530 [63] phi (byte*) print_str::str#18 = (const string) str3 [phi:mul8u_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -6600,7 +6605,7 @@ mul8u_error: { //SEG540 [63] phi from mul8u_error::@8 to print_str [phi:mul8u_error::@8->print_str] print_str_from_b8: //SEG541 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@8->print_str#0] -- register_copy - //SEG542 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str4 [phi:mul8u_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG542 [63] phi (byte*) print_str::str#18 = (const string) str4 [phi:mul8u_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -6637,10 +6642,6 @@ mul8u_error: { //SEG556 [269] return rts str: .text "multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG557 mulf8u // Fast multiply two unsigned bytes to a word result @@ -7275,6 +7276,10 @@ print_cls: { // >((( x - 255) * ( x - 255 ))/4) .align $100 mula_sqr2_hi: .fill $200, 0 + str4: .text " / fast:@" + str3: .text " / normal:@" + str1: .text "*@" + str2: .text " slow:@" REGISTER UPLIFT POTENTIAL REGISTERS Statement [4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] ) always clobbers reg byte a @@ -8155,7 +8160,7 @@ mul8s_error: { //SEG143 [63] phi from mul8s_error::@2 to print_str [phi:mul8s_error::@2->print_str] print_str_from_b2: //SEG144 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@2->print_str#0] -- register_copy - //SEG145 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str1 [phi:mul8s_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG145 [63] phi (byte*) print_str::str#18 = (const string) str1 [phi:mul8s_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -8180,7 +8185,7 @@ mul8s_error: { //SEG154 [63] phi from mul8s_error::@4 to print_str [phi:mul8s_error::@4->print_str] print_str_from_b4: //SEG155 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@4->print_str#0] -- register_copy - //SEG156 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str2 [phi:mul8s_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG156 [63] phi (byte*) print_str::str#18 = (const string) str2 [phi:mul8s_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -8204,7 +8209,7 @@ mul8s_error: { //SEG165 [63] phi from mul8s_error::@6 to print_str [phi:mul8s_error::@6->print_str] print_str_from_b6: //SEG166 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@6->print_str#0] -- register_copy - //SEG167 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str3 [phi:mul8s_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG167 [63] phi (byte*) print_str::str#18 = (const string) str3 [phi:mul8s_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -8232,7 +8237,7 @@ mul8s_error: { //SEG176 [63] phi from mul8s_error::@8 to print_str [phi:mul8s_error::@8->print_str] print_str_from_b8: //SEG177 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@8->print_str#0] -- register_copy - //SEG178 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str4 [phi:mul8s_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG178 [63] phi (byte*) print_str::str#18 = (const string) str4 [phi:mul8s_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -8268,10 +8273,6 @@ mul8s_error: { //SEG191 [92] return rts str: .text "signed multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG192 print_sword // Print a signed word as HEX @@ -9122,7 +9123,7 @@ mul8u_error: { //SEG504 [63] phi from mul8u_error::@2 to print_str [phi:mul8u_error::@2->print_str] print_str_from_b2: //SEG505 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@2->print_str#0] -- register_copy - //SEG506 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str1 [phi:mul8u_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG506 [63] phi (byte*) print_str::str#18 = (const string) str1 [phi:mul8u_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -9148,7 +9149,7 @@ mul8u_error: { //SEG516 [63] phi from mul8u_error::@4 to print_str [phi:mul8u_error::@4->print_str] print_str_from_b4: //SEG517 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@4->print_str#0] -- register_copy - //SEG518 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str2 [phi:mul8u_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG518 [63] phi (byte*) print_str::str#18 = (const string) str2 [phi:mul8u_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -9173,7 +9174,7 @@ mul8u_error: { //SEG528 [63] phi from mul8u_error::@6 to print_str [phi:mul8u_error::@6->print_str] print_str_from_b6: //SEG529 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@6->print_str#0] -- register_copy - //SEG530 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str3 [phi:mul8u_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG530 [63] phi (byte*) print_str::str#18 = (const string) str3 [phi:mul8u_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -9202,7 +9203,7 @@ mul8u_error: { //SEG540 [63] phi from mul8u_error::@8 to print_str [phi:mul8u_error::@8->print_str] print_str_from_b8: //SEG541 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@8->print_str#0] -- register_copy - //SEG542 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str4 [phi:mul8u_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG542 [63] phi (byte*) print_str::str#18 = (const string) str4 [phi:mul8u_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -9239,10 +9240,6 @@ mul8u_error: { //SEG556 [269] return rts str: .text "multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG557 mulf8u // Fast multiply two unsigned bytes to a word result @@ -9837,6 +9834,10 @@ print_cls: { // >((( x - 255) * ( x - 255 ))/4) .align $100 mula_sqr2_hi: .fill $200, 0 + str4: .text " / fast:@" + str3: .text " / normal:@" + str1: .text "*@" + str2: .text " slow:@" ASSEMBLER OPTIMIZATIONS Removing instruction jmp b42 @@ -10388,10 +10389,6 @@ FINAL SYMBOL TABLE (signed word) mul8s_error::ms (signed word) mul8s_error::ms#0 ms zp ZP_WORD:8 0.3076923076923077 (const string) mul8s_error::str str = (string) "signed multiply mismatch @" -(const string) mul8s_error::str1 str1 = (string) "*@" -(const string) mul8s_error::str2 str2 = (string) " slow:@" -(const string) mul8s_error::str3 str3 = (string) " / normal:@" -(const string) mul8s_error::str4 str4 = (string) " / fast:@" (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (byte~) mul8u::$1 reg byte a 2002.0 (label) mul8u::@1 @@ -10475,10 +10472,6 @@ FINAL SYMBOL TABLE (word) mul8u_error::ms (word) mul8u_error::ms#0 ms zp ZP_WORD:8 0.3076923076923077 (const string) mul8u_error::str str = (string) "multiply mismatch @" -(const string) mul8u_error::str1 str1 = (string) "*@" -(const string) mul8u_error::str2 str2 = (string) " slow:@" -(const string) mul8u_error::str3 str3 = (string) " / normal:@" -(const string) mul8u_error::str4 str4 = (string) " / fast:@" (byte[512]) mula_sqr1_hi (const byte[512]) mula_sqr1_hi#0 mula_sqr1_hi = { fill( 512, 0) } (byte[512]) mula_sqr1_lo @@ -10765,6 +10758,10 @@ FINAL SYMBOL TABLE (word) print_word::w#4 w zp ZP_WORD:8 4.0 (word) print_word::w#5 w zp ZP_WORD:8 4.0 (word) print_word::w#6 w zp ZP_WORD:8 5.333333333333333 +(const string) str1 str1 = (string) "*@" +(const string) str2 str2 = (string) " slow:@" +(const string) str3 str3 = (string) " / normal:@" +(const string) str4 str4 = (string) " / fast:@" zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 muls8s::a#0 mul8s::a#0 mul8u_compare::a#7 mul8u_compare::a#1 muls8u::a#0 mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 mul8s_error::b#0 mul8u_compare::b#10 mul8u_compare::b#1 mul8u_error::b#0 mulf8s_prepared::b#0 ] @@ -11114,7 +11111,7 @@ mul8s_error: { //SEG142 [75] call print_str //SEG143 [63] phi from mul8s_error::@2 to print_str [phi:mul8s_error::@2->print_str] //SEG144 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@2->print_str#0] -- register_copy - //SEG145 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str1 [phi:mul8s_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG145 [63] phi (byte*) print_str::str#18 = (const string) str1 [phi:mul8s_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -11132,7 +11129,7 @@ mul8s_error: { //SEG153 [79] call print_str //SEG154 [63] phi from mul8s_error::@4 to print_str [phi:mul8s_error::@4->print_str] //SEG155 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@4->print_str#0] -- register_copy - //SEG156 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str2 [phi:mul8s_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG156 [63] phi (byte*) print_str::str#18 = (const string) str2 [phi:mul8s_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -11149,7 +11146,7 @@ mul8s_error: { //SEG164 [83] call print_str //SEG165 [63] phi from mul8s_error::@6 to print_str [phi:mul8s_error::@6->print_str] //SEG166 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@6->print_str#0] -- register_copy - //SEG167 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str3 [phi:mul8s_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG167 [63] phi (byte*) print_str::str#18 = (const string) str3 [phi:mul8s_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -11170,7 +11167,7 @@ mul8s_error: { //SEG175 [87] call print_str //SEG176 [63] phi from mul8s_error::@8 to print_str [phi:mul8s_error::@8->print_str] //SEG177 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8s_error::@8->print_str#0] -- register_copy - //SEG178 [63] phi (byte*) print_str::str#18 = (const string) mul8s_error::str4 [phi:mul8s_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG178 [63] phi (byte*) print_str::str#18 = (const string) str4 [phi:mul8s_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -11197,10 +11194,6 @@ mul8s_error: { //SEG191 [92] return rts str: .text "signed multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG192 print_sword // Print a signed word as HEX @@ -11880,7 +11873,7 @@ mul8u_error: { //SEG503 [252] call print_str //SEG504 [63] phi from mul8u_error::@2 to print_str [phi:mul8u_error::@2->print_str] //SEG505 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@2->print_str#0] -- register_copy - //SEG506 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str1 [phi:mul8u_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG506 [63] phi (byte*) print_str::str#18 = (const string) str1 [phi:mul8u_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -11899,7 +11892,7 @@ mul8u_error: { //SEG515 [256] call print_str //SEG516 [63] phi from mul8u_error::@4 to print_str [phi:mul8u_error::@4->print_str] //SEG517 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@4->print_str#0] -- register_copy - //SEG518 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str2 [phi:mul8u_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG518 [63] phi (byte*) print_str::str#18 = (const string) str2 [phi:mul8u_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 @@ -11917,7 +11910,7 @@ mul8u_error: { //SEG527 [260] call print_str //SEG528 [63] phi from mul8u_error::@6 to print_str [phi:mul8u_error::@6->print_str] //SEG529 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@6->print_str#0] -- register_copy - //SEG530 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str3 [phi:mul8u_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG530 [63] phi (byte*) print_str::str#18 = (const string) str3 [phi:mul8u_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 @@ -11939,7 +11932,7 @@ mul8u_error: { //SEG539 [264] call print_str //SEG540 [63] phi from mul8u_error::@8 to print_str [phi:mul8u_error::@8->print_str] //SEG541 [63] phi (byte*) print_char_cursor#152 = (byte*) print_char_cursor#18 [phi:mul8u_error::@8->print_str#0] -- register_copy - //SEG542 [63] phi (byte*) print_str::str#18 = (const string) mul8u_error::str4 [phi:mul8u_error::@8->print_str#1] -- pbuz1=pbuc1 + //SEG542 [63] phi (byte*) print_str::str#18 = (const string) str4 [phi:mul8u_error::@8->print_str#1] -- pbuz1=pbuc1 lda #str4 @@ -11967,10 +11960,6 @@ mul8u_error: { //SEG556 [269] return rts str: .text "multiply mismatch @" - str1: .text "*@" - str2: .text " slow:@" - str3: .text " / normal:@" - str4: .text " / fast:@" } //SEG557 mulf8u // Fast multiply two unsigned bytes to a word result @@ -12483,4 +12472,8 @@ print_cls: { // >((( x - 255) * ( x - 255 ))/4) .align $100 mula_sqr2_hi: .fill $200, 0 + str4: .text " / fast:@" + str3: .text " / normal:@" + str1: .text "*@" + str2: .text " slow:@" diff --git a/src/test/ref/test-multiply-8bit.sym b/src/test/ref/test-multiply-8bit.sym index a46e65891..c35d4dbfd 100644 --- a/src/test/ref/test-multiply-8bit.sym +++ b/src/test/ref/test-multiply-8bit.sym @@ -90,10 +90,6 @@ (signed word) mul8s_error::ms (signed word) mul8s_error::ms#0 ms zp ZP_WORD:8 0.3076923076923077 (const string) mul8s_error::str str = (string) "signed multiply mismatch @" -(const string) mul8s_error::str1 str1 = (string) "*@" -(const string) mul8s_error::str2 str2 = (string) " slow:@" -(const string) mul8s_error::str3 str3 = (string) " / normal:@" -(const string) mul8s_error::str4 str4 = (string) " / fast:@" (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (byte~) mul8u::$1 reg byte a 2002.0 (label) mul8u::@1 @@ -177,10 +173,6 @@ (word) mul8u_error::ms (word) mul8u_error::ms#0 ms zp ZP_WORD:8 0.3076923076923077 (const string) mul8u_error::str str = (string) "multiply mismatch @" -(const string) mul8u_error::str1 str1 = (string) "*@" -(const string) mul8u_error::str2 str2 = (string) " slow:@" -(const string) mul8u_error::str3 str3 = (string) " / normal:@" -(const string) mul8u_error::str4 str4 = (string) " / fast:@" (byte[512]) mula_sqr1_hi (const byte[512]) mula_sqr1_hi#0 mula_sqr1_hi = { fill( 512, 0) } (byte[512]) mula_sqr1_lo @@ -467,6 +459,10 @@ (word) print_word::w#4 w zp ZP_WORD:8 4.0 (word) print_word::w#5 w zp ZP_WORD:8 4.0 (word) print_word::w#6 w zp ZP_WORD:8 5.333333333333333 +(const string) str1 str1 = (string) "*@" +(const string) str2 str2 = (string) " slow:@" +(const string) str3 str3 = (string) " / normal:@" +(const string) str4 str4 = (string) " / fast:@" zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 muls8s::a#0 mul8s::a#0 mul8u_compare::a#7 mul8u_compare::a#1 muls8u::a#0 mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 mul8s_error::b#0 mul8u_compare::b#10 mul8u_compare::b#1 mul8u_error::b#0 mulf8s_prepared::b#0 ]