mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-02-19 08:31:01 +00:00
Added a file data segment. Improved negate word fragment.
This commit is contained in:
parent
b461fcfa74
commit
3ae5f0981a
7
src/main/fragment/vwsz1=_neg_vwsz1.asm
Normal file
7
src/main/fragment/vwsz1=_neg_vwsz1.asm
Normal file
@ -0,0 +1,7 @@
|
||||
sec
|
||||
lda #0
|
||||
sbc {z1}
|
||||
sta {z1}
|
||||
lda #0
|
||||
sbc {z1}+1
|
||||
sta {z1}+1
|
@ -1,9 +1,7 @@
|
||||
sec
|
||||
lda {z2}
|
||||
eor #$ff
|
||||
adc #$0
|
||||
lda #0
|
||||
sbc {z2}
|
||||
sta {z1}
|
||||
lda {z2}+1
|
||||
eor #$ff
|
||||
adc #$0
|
||||
lda #0
|
||||
sbc {z2}+1
|
||||
sta {z1}+1
|
7
src/main/fragment/vwuz1=_neg_vwuz1.asm
Normal file
7
src/main/fragment/vwuz1=_neg_vwuz1.asm
Normal file
@ -0,0 +1,7 @@
|
||||
sec
|
||||
lda #0
|
||||
sbc {z1}
|
||||
sta {z1}
|
||||
lda #0
|
||||
sbc {z1}+1
|
||||
sta {z1}+1
|
7
src/main/fragment/vwuz1=_neg_vwuz2.asm
Normal file
7
src/main/fragment/vwuz1=_neg_vwuz2.asm
Normal file
@ -0,0 +1,7 @@
|
||||
sec
|
||||
lda #0
|
||||
sbc {z2}
|
||||
sta {z1}
|
||||
lda #0
|
||||
sbc {z2}+1
|
||||
sta {z1}+1
|
@ -97,7 +97,9 @@ public class Pass1PointerSizeofFix extends Pass1Base {
|
||||
if(variable.getType() instanceof SymbolTypePointer) {
|
||||
SymbolTypePointer pointerType = (SymbolTypePointer) variable.getType();
|
||||
if(SymbolType.VOID.equals(pointerType.getElementType())) {
|
||||
throw new CompileError("Void pointer math not allowed. ", assignment);
|
||||
if(Operators.PLUS.equals(assignment.getOperator()) || Operators.MINUS.equals(assignment.getOperator())) {
|
||||
throw new CompileError("Void pointer math not allowed. ", assignment);
|
||||
}
|
||||
}
|
||||
if(pointerType.getElementType().getSizeBytes() > 1) {
|
||||
// Binary operation on a non-byte pointer - sizeof()-handling is probably needed!
|
||||
@ -128,7 +130,9 @@ public class Pass1PointerSizeofFix extends Pass1Base {
|
||||
if(variable.getType() instanceof SymbolTypePointer) {
|
||||
SymbolTypePointer pointerType = (SymbolTypePointer) variable.getType();
|
||||
if(SymbolType.VOID.equals(pointerType.getElementType())) {
|
||||
throw new CompileError("Void pointer math not allowed. ", assignment);
|
||||
if(Operators.INCREMENT.equals(assignment.getOperator()) || Operators.DECREMENT.equals(assignment.getOperator())) {
|
||||
throw new CompileError("Void pointer math not allowed. ", assignment);
|
||||
}
|
||||
}
|
||||
if(pointerType.getElementType().getSizeBytes() > 1) {
|
||||
// Unary operation on non-byte pointer type - sizeof()-handling is needed!
|
||||
|
@ -146,6 +146,9 @@ public class Pass4CodeGeneration {
|
||||
}
|
||||
}
|
||||
generateScopeEnding(asm, currentScope);
|
||||
|
||||
currentScope = ScopeRef.ROOT;
|
||||
asm.startSegment(currentScope, null, "File Data");
|
||||
addData(asm, ScopeRef.ROOT);
|
||||
// Add all absolutely placed inline KickAsm
|
||||
for(ControlFlowBlock block : getGraph().getAllBlocks()) {
|
||||
|
@ -1,11 +1,10 @@
|
||||
// Fill the screen with a specific char
|
||||
void screen_fill(byte* screen, byte ch) {
|
||||
for( byte y: 0..24) {
|
||||
for(byte x:0..39) {
|
||||
*screen++ = ch;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Simple Singlecolor Bitmap Routines
|
||||
import "string"
|
||||
|
||||
// The adddress of the bitmap screen (used for colors)
|
||||
byte* bitmap_screen;
|
||||
// The adddress of the bitmap graphics (used for pixels)
|
||||
byte* bitmap_gfx;
|
||||
|
||||
// Tables for the plotter - initialized by calling bitmap_init();
|
||||
const byte[256] bitmap_plot_ylo;
|
||||
@ -13,7 +12,9 @@ const byte[256] bitmap_plot_yhi;
|
||||
const byte[256] bitmap_plot_bit;
|
||||
|
||||
// Initialize bitmap plotting tables
|
||||
void bitmap_init(byte* bitmap) {
|
||||
void bitmap_init(byte* gfx, byte* screen) {
|
||||
bitmap_gfx = gfx;
|
||||
bitmap_screen = screen;
|
||||
byte bits = $80;
|
||||
for(byte x : 0..255) {
|
||||
bitmap_plot_bit[x] = bits;
|
||||
@ -22,7 +23,7 @@ void bitmap_init(byte* bitmap) {
|
||||
bits = $80;
|
||||
}
|
||||
}
|
||||
byte* yoffs = bitmap;
|
||||
byte* yoffs = gfx;
|
||||
for(byte y : 0..255) {
|
||||
bitmap_plot_ylo[y] = y&$7 | <yoffs;
|
||||
bitmap_plot_yhi[y] = >yoffs;
|
||||
@ -33,13 +34,12 @@ void bitmap_init(byte* bitmap) {
|
||||
}
|
||||
|
||||
// Clear all graphics on the bitmap
|
||||
void bitmap_clear() {
|
||||
byte* bitmap = (byte*) { bitmap_plot_yhi[0], bitmap_plot_ylo[0] };
|
||||
for( byte y: 0..39 ) {
|
||||
for( byte x: 0..199 ) {
|
||||
*bitmap++ = 0;
|
||||
}
|
||||
}
|
||||
// bgcol - the background color to fill the screen with
|
||||
// fgcol - the foreground color to fill the screen with
|
||||
void bitmap_clear(byte bgcol, byte fgcol) {
|
||||
byte col = fgcol*0x10 + bgcol;
|
||||
memset(bitmap_screen, col, 1000uw);
|
||||
memset(bitmap_gfx, 0, 8000uw);
|
||||
}
|
||||
|
||||
// Plot a single dot in the bitmap
|
||||
|
@ -18,8 +18,8 @@ void* memmove( void* destination, void* source, size_t num ) {
|
||||
memcpy(destination, source, num);
|
||||
} else {
|
||||
// copy backwards
|
||||
byte* src = source+num;
|
||||
byte* dst = destination+num;
|
||||
byte* src = (byte*)source+num;
|
||||
byte* dst = (byte*)destination+num;
|
||||
for( size_t i=0; i<num; i++) *--dst = *--src;
|
||||
}
|
||||
return destination;
|
||||
@ -27,7 +27,7 @@ void* memmove( void* destination, void* source, size_t num ) {
|
||||
|
||||
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
|
||||
void *memset(void *str, byte c, size_t num) {
|
||||
byte* end = str + num;
|
||||
byte* end = (byte*)str + num;
|
||||
for(byte* dst = str; dst!=end; dst++)
|
||||
*dst = c;
|
||||
return str;
|
||||
|
@ -35,6 +35,11 @@ public class TestPrograms {
|
||||
public TestPrograms() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBitmapPlot() throws IOException, URISyntaxException {
|
||||
compileAndCompare("bitmap-plot", log());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCallParameterAutocast() throws IOException, URISyntaxException {
|
||||
compileAndCompare("call-parameter-autocast");
|
||||
|
58
src/test/kc/bitmap-plot.kc
Normal file
58
src/test/kc/bitmap-plot.kc
Normal file
@ -0,0 +1,58 @@
|
||||
// Tests the simple bitmap plotter - and counts plots per frame in an IRQ
|
||||
import "c64"
|
||||
import "bitmap2"
|
||||
|
||||
byte* BITMAP = 0x2000;
|
||||
byte* SCREEN = 0x0400;
|
||||
|
||||
byte[0x100] plots_per_frame;
|
||||
|
||||
void main() {
|
||||
bitmap_init(BITMAP, SCREEN);
|
||||
bitmap_clear(BLACK, WHITE);
|
||||
*D011 = VIC_BMM|VIC_DEN|VIC_RSEL|3;
|
||||
*D018 = toD018(SCREEN, BITMAP);
|
||||
init_irq();
|
||||
word x = 0;
|
||||
byte y = 0;
|
||||
word vx = 1;
|
||||
byte vy = 1;
|
||||
while(true) {
|
||||
bitmap_plot(x, y);
|
||||
x += vx;
|
||||
y += vy;
|
||||
if(x==319 || x==0) vx = -vx;
|
||||
if(y==199 || y==0) vy = -vy;
|
||||
plots_per_frame[frame_cnt]++;
|
||||
}
|
||||
}
|
||||
|
||||
// Counts frames - updated by the IRQ
|
||||
volatile byte frame_cnt = 1;
|
||||
|
||||
// Setup the IRQ
|
||||
void init_irq() {
|
||||
asm { sei }
|
||||
// Disable kernal & basic
|
||||
*PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK;
|
||||
*PROCPORT = PROCPORT_RAM_IO;
|
||||
// Disable CIA 1 Timer IRQ
|
||||
*CIA1_INTERRUPT = CIA_INTERRUPT_CLEAR;
|
||||
// Set raster line to $100
|
||||
*VIC_CONTROL |=$80;
|
||||
*RASTER = $00;
|
||||
// Enable Raster Interrupt
|
||||
*IRQ_ENABLE = IRQ_RASTER;
|
||||
// Set the IRQ routine
|
||||
*HARDWARE_IRQ = &irq;
|
||||
asm { cli }
|
||||
}
|
||||
|
||||
// Interrupt Routine counting frames
|
||||
interrupt(hardware_clobber) void irq() {
|
||||
*BGCOL = WHITE;
|
||||
if(frame_cnt) frame_cnt++;
|
||||
*BGCOL = BLACK;
|
||||
// Acknowledge the IRQ
|
||||
*IRQ_STATUS = IRQ_RASTER;
|
||||
}
|
@ -203,6 +203,7 @@ main: {
|
||||
//SEG19 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG20 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] (byte) main::b#0 ← (byte) 0 [ main::b#0 ] ( main:2 [ main::b#0 ] ) always clobbers reg byte a
|
||||
@ -276,6 +277,7 @@ main: {
|
||||
//SEG19 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG20 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -366,4 +368,5 @@ main: {
|
||||
//SEG19 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG20 File Data
|
||||
|
||||
|
@ -377,6 +377,7 @@ setByte: {
|
||||
//SEG38 [18] return
|
||||
rts
|
||||
}
|
||||
//SEG39 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] (byte) main::b1#0 ← (byte) 0 [ main::b1#0 ] ( main:2 [ main::b1#0 ] ) always clobbers reg byte a
|
||||
@ -523,6 +524,7 @@ setByte: {
|
||||
//SEG38 [18] return
|
||||
rts
|
||||
}
|
||||
//SEG39 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -678,4 +680,5 @@ setByte: {
|
||||
//SEG38 [18] return
|
||||
rts
|
||||
}
|
||||
//SEG39 File Data
|
||||
|
||||
|
@ -483,6 +483,7 @@ setv: {
|
||||
//SEG39 [25] return
|
||||
rts
|
||||
}
|
||||
//SEG40 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [0] (byte) val#0 ← (byte) 0 [ val#0 ] ( ) always clobbers reg byte a
|
||||
@ -637,6 +638,7 @@ setv: {
|
||||
//SEG39 [25] return
|
||||
rts
|
||||
}
|
||||
//SEG40 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -801,4 +803,5 @@ setv: {
|
||||
//SEG39 [25] return
|
||||
rts
|
||||
}
|
||||
//SEG40 File Data
|
||||
|
||||
|
@ -201,6 +201,7 @@ main: {
|
||||
//SEG20 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG21 File Data
|
||||
items: .fill SZ, 0
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
@ -266,6 +267,7 @@ main: {
|
||||
//SEG20 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG21 File Data
|
||||
items: .fill SZ, 0
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
@ -352,5 +354,6 @@ main: {
|
||||
//SEG20 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG21 File Data
|
||||
items: .fill SZ, 0
|
||||
|
||||
|
@ -395,6 +395,7 @@ main: {
|
||||
//SEG33 [15] return
|
||||
rts
|
||||
}
|
||||
//SEG34 File Data
|
||||
items: .byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
@ -515,6 +516,7 @@ main: {
|
||||
//SEG33 [15] return
|
||||
rts
|
||||
}
|
||||
//SEG34 File Data
|
||||
items: .byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
@ -660,5 +662,6 @@ main: {
|
||||
//SEG33 [15] return
|
||||
rts
|
||||
}
|
||||
//SEG34 File Data
|
||||
items: .byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
|
||||
|
@ -180,6 +180,7 @@ main: {
|
||||
//SEG15 [8] return
|
||||
rts
|
||||
}
|
||||
//SEG16 File Data
|
||||
b: .fill 3, 0
|
||||
c: .byte 'c', 'm', 'l'
|
||||
d: .text "cml"
|
||||
@ -239,6 +240,7 @@ main: {
|
||||
//SEG15 [8] return
|
||||
rts
|
||||
}
|
||||
//SEG16 File Data
|
||||
b: .fill 3, 0
|
||||
c: .byte 'c', 'm', 'l'
|
||||
d: .text "cml"
|
||||
@ -313,6 +315,7 @@ main: {
|
||||
//SEG15 [8] return
|
||||
rts
|
||||
}
|
||||
//SEG16 File Data
|
||||
b: .fill 3, 0
|
||||
c: .byte 'c', 'm', 'l'
|
||||
d: .text "cml"
|
||||
|
@ -203,6 +203,7 @@ main: {
|
||||
//SEG18 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::screen#0) ← (byte) 'c' [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -270,6 +271,7 @@ main: {
|
||||
//SEG18 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -347,4 +349,5 @@ main: {
|
||||
//SEG18 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
|
@ -980,6 +980,7 @@ test: {
|
||||
sta cols,y
|
||||
jmp breturn
|
||||
}
|
||||
//SEG87 File Data
|
||||
ref: .byte 3, 4, 3, $12, 9, 1, 4, 2, 4, 5, 1, 0
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
@ -1226,6 +1227,7 @@ test: {
|
||||
sta cols,x
|
||||
jmp breturn
|
||||
}
|
||||
//SEG87 File Data
|
||||
ref: .byte 3, 4, 3, $12, 9, 1, 4, 2, 4, 5, 1, 0
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
@ -1501,5 +1503,6 @@ test: {
|
||||
sta cols,x
|
||||
rts
|
||||
}
|
||||
//SEG87 File Data
|
||||
ref: .byte 3, 4, 3, $12, 9, 1, 4, 2, 4, 5, 1, 0
|
||||
|
||||
|
@ -167,6 +167,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) BGCOL#0) ← (const byte) BLACK#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -213,6 +214,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -272,4 +274,5 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
|
302
src/test/ref/bitmap-plot.asm
Normal file
302
src/test/ref/bitmap-plot.asm
Normal file
@ -0,0 +1,302 @@
|
||||
// Tests the simple bitmap plotter - and counts plots per frame in an IRQ
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(bbegin)
|
||||
.pc = $80d "Program"
|
||||
// Processor port data direction register
|
||||
.label PROCPORT_DDR = 0
|
||||
// Mask for PROCESSOR_PORT_DDR which allows only memory configuration to be written
|
||||
.const PROCPORT_DDR_MEMORY_MASK = 7
|
||||
// Processor Port Register controlling RAM/ROM configuration and the datasette
|
||||
.label PROCPORT = 1
|
||||
// RAM in $A000, $E000 I/O in $D000
|
||||
.const PROCPORT_RAM_IO = $35
|
||||
.label RASTER = $d012
|
||||
.label BGCOL = $d021
|
||||
.label VIC_CONTROL = $d011
|
||||
.label D011 = $d011
|
||||
.const VIC_BMM = $20
|
||||
.const VIC_DEN = $10
|
||||
.const VIC_RSEL = 8
|
||||
.label D018 = $d018
|
||||
// VIC II IRQ Status Register
|
||||
.label IRQ_STATUS = $d019
|
||||
// VIC II IRQ Enable Register
|
||||
.label IRQ_ENABLE = $d01a
|
||||
// Bits for the IRQ Status/Enable Registers
|
||||
.const IRQ_RASTER = 1
|
||||
// CIA#1 Interrupt Status & Control Register
|
||||
.label CIA1_INTERRUPT = $dc0d
|
||||
// Value that disables all CIA interrupts when stored to the CIA Interrupt registers
|
||||
.const CIA_INTERRUPT_CLEAR = $7f
|
||||
// The vector used when the HARDWARE serves IRQ interrupts
|
||||
.label HARDWARE_IRQ = $fffe
|
||||
// The colors of the C64
|
||||
.const BLACK = 0
|
||||
.const WHITE = 1
|
||||
.label BITMAP = $2000
|
||||
.label SCREEN = $400
|
||||
.label frame_cnt = $e
|
||||
bbegin:
|
||||
// Counts frames - updated by the IRQ
|
||||
lda #1
|
||||
sta frame_cnt
|
||||
jsr main
|
||||
rts
|
||||
main: {
|
||||
.const toD0181_return = (>(SCREEN&$3fff)*4)|(>BITMAP)/4&$f
|
||||
.label x = 2
|
||||
.label y = 4
|
||||
.label vx = 5
|
||||
.label vy = 7
|
||||
jsr bitmap_init
|
||||
jsr bitmap_clear
|
||||
lda #VIC_BMM|VIC_DEN|VIC_RSEL|3
|
||||
sta D011
|
||||
lda #toD0181_return
|
||||
sta D018
|
||||
jsr init_irq
|
||||
lda #1
|
||||
sta vy
|
||||
sta vx
|
||||
lda #0
|
||||
sta vx+1
|
||||
sta y
|
||||
sta x
|
||||
sta x+1
|
||||
b2:
|
||||
ldx y
|
||||
jsr bitmap_plot
|
||||
lda x
|
||||
clc
|
||||
adc vx
|
||||
sta x
|
||||
lda x+1
|
||||
adc vx+1
|
||||
sta x+1
|
||||
lda y
|
||||
clc
|
||||
adc vy
|
||||
sta y
|
||||
lda x
|
||||
cmp #<$13f
|
||||
bne !+
|
||||
lda x+1
|
||||
cmp #>$13f
|
||||
beq b5
|
||||
!:
|
||||
lda x
|
||||
bne b3
|
||||
lda x+1
|
||||
bne b3
|
||||
b5:
|
||||
sec
|
||||
lda #0
|
||||
sbc vx
|
||||
sta vx
|
||||
lda #0
|
||||
sbc vx+1
|
||||
sta vx+1
|
||||
b3:
|
||||
lda #$c7
|
||||
cmp y
|
||||
beq b6
|
||||
lda y
|
||||
cmp #0
|
||||
bne b4
|
||||
b6:
|
||||
lda vy
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
sta vy
|
||||
b4:
|
||||
ldx frame_cnt
|
||||
inc plots_per_frame,x
|
||||
jmp b2
|
||||
}
|
||||
// Plot a single dot in the bitmap
|
||||
// bitmap_plot(word zeropage(2) x, byte register(X) y)
|
||||
bitmap_plot: {
|
||||
.label _1 = $11
|
||||
.label plotter = $f
|
||||
.label x = 2
|
||||
.label _3 = $f
|
||||
lda bitmap_plot_yhi,x
|
||||
sta _3+1
|
||||
lda bitmap_plot_ylo,x
|
||||
sta _3
|
||||
lda x
|
||||
and #<$fff8
|
||||
sta _1
|
||||
lda x+1
|
||||
and #>$fff8
|
||||
sta _1+1
|
||||
lda plotter
|
||||
clc
|
||||
adc _1
|
||||
sta plotter
|
||||
lda plotter+1
|
||||
adc _1+1
|
||||
sta plotter+1
|
||||
lda x
|
||||
tay
|
||||
lda bitmap_plot_bit,y
|
||||
ldy #0
|
||||
ora (plotter),y
|
||||
sta (plotter),y
|
||||
rts
|
||||
}
|
||||
// Setup the IRQ
|
||||
init_irq: {
|
||||
sei
|
||||
// Disable kernal & basic
|
||||
lda #PROCPORT_DDR_MEMORY_MASK
|
||||
sta PROCPORT_DDR
|
||||
lda #PROCPORT_RAM_IO
|
||||
sta PROCPORT
|
||||
// Disable CIA 1 Timer IRQ
|
||||
lda #CIA_INTERRUPT_CLEAR
|
||||
sta CIA1_INTERRUPT
|
||||
// Set raster line to $100
|
||||
lda #$80
|
||||
ora VIC_CONTROL
|
||||
sta VIC_CONTROL
|
||||
lda #0
|
||||
sta RASTER
|
||||
// Enable Raster Interrupt
|
||||
lda #IRQ_RASTER
|
||||
sta IRQ_ENABLE
|
||||
// Set the IRQ routine
|
||||
lda #<irq
|
||||
sta HARDWARE_IRQ
|
||||
lda #>irq
|
||||
sta HARDWARE_IRQ+1
|
||||
cli
|
||||
rts
|
||||
}
|
||||
// Clear all graphics on the bitmap
|
||||
// bgcol - the background color to fill the screen with
|
||||
// fgcol - the foreground color to fill the screen with
|
||||
bitmap_clear: {
|
||||
.const col = WHITE*$10
|
||||
ldx #col
|
||||
lda #<$3e8
|
||||
sta memset.num
|
||||
lda #>$3e8
|
||||
sta memset.num+1
|
||||
lda #<SCREEN
|
||||
sta memset.str
|
||||
lda #>SCREEN
|
||||
sta memset.str+1
|
||||
jsr memset
|
||||
ldx #0
|
||||
lda #<$1f40
|
||||
sta memset.num
|
||||
lda #>$1f40
|
||||
sta memset.num+1
|
||||
lda #<BITMAP
|
||||
sta memset.str
|
||||
lda #>BITMAP
|
||||
sta memset.str+1
|
||||
jsr memset
|
||||
rts
|
||||
}
|
||||
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
|
||||
// memset(void* zeropage(8) str, byte register(X) c, word zeropage($a) num)
|
||||
memset: {
|
||||
.label end = $a
|
||||
.label dst = 8
|
||||
.label str = 8
|
||||
.label num = $a
|
||||
lda end
|
||||
clc
|
||||
adc str
|
||||
sta end
|
||||
lda end+1
|
||||
adc str+1
|
||||
sta end+1
|
||||
b1:
|
||||
txa
|
||||
ldy #0
|
||||
sta (dst),y
|
||||
inc dst
|
||||
bne !+
|
||||
inc dst+1
|
||||
!:
|
||||
lda dst+1
|
||||
cmp end+1
|
||||
bne b1
|
||||
lda dst
|
||||
cmp end
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
// Initialize bitmap plotting tables
|
||||
bitmap_init: {
|
||||
.label _7 = $13
|
||||
.label yoffs = $c
|
||||
ldx #0
|
||||
lda #$80
|
||||
b1:
|
||||
sta bitmap_plot_bit,x
|
||||
lsr
|
||||
cmp #0
|
||||
bne b2
|
||||
lda #$80
|
||||
b2:
|
||||
inx
|
||||
cpx #0
|
||||
bne b1
|
||||
lda #<BITMAP
|
||||
sta yoffs
|
||||
lda #>BITMAP
|
||||
sta yoffs+1
|
||||
ldx #0
|
||||
b3:
|
||||
lda #7
|
||||
sax _7
|
||||
lda yoffs
|
||||
ora _7
|
||||
sta bitmap_plot_ylo,x
|
||||
lda yoffs+1
|
||||
sta bitmap_plot_yhi,x
|
||||
lda #7
|
||||
cmp _7
|
||||
bne b4
|
||||
clc
|
||||
lda yoffs
|
||||
adc #<$28*8
|
||||
sta yoffs
|
||||
lda yoffs+1
|
||||
adc #>$28*8
|
||||
sta yoffs+1
|
||||
b4:
|
||||
inx
|
||||
cpx #0
|
||||
bne b3
|
||||
rts
|
||||
}
|
||||
// Interrupt Routine counting frames
|
||||
irq: {
|
||||
sta rega+1
|
||||
lda #WHITE
|
||||
sta BGCOL
|
||||
lda #0
|
||||
cmp frame_cnt
|
||||
beq b1
|
||||
inc frame_cnt
|
||||
b1:
|
||||
lda #BLACK
|
||||
sta BGCOL
|
||||
// Acknowledge the IRQ
|
||||
lda #IRQ_RASTER
|
||||
sta IRQ_STATUS
|
||||
rega:
|
||||
lda #00
|
||||
rti
|
||||
}
|
||||
// Tables for the plotter - initialized by calling bitmap_init();
|
||||
bitmap_plot_ylo: .fill $100, 0
|
||||
bitmap_plot_yhi: .fill $100, 0
|
||||
bitmap_plot_bit: .fill $100, 0
|
||||
plots_per_frame: .fill $100, 0
|
172
src/test/ref/bitmap-plot.cfg
Normal file
172
src/test/ref/bitmap-plot.cfg
Normal file
@ -0,0 +1,172 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi()
|
||||
to:@1
|
||||
@1: scope:[] from @begin
|
||||
[1] (byte) frame_cnt#0 ← (byte) 1
|
||||
to:@2
|
||||
@2: scope:[] from @1
|
||||
[2] phi()
|
||||
[3] call main
|
||||
to:@end
|
||||
@end: scope:[] from @2
|
||||
[4] phi()
|
||||
main: scope:[main] from @2
|
||||
[5] phi()
|
||||
[6] call bitmap_init
|
||||
to:main::@8
|
||||
main::@8: scope:[main] from main
|
||||
[7] phi()
|
||||
[8] call bitmap_clear
|
||||
to:main::@9
|
||||
main::@9: scope:[main] from main::@8
|
||||
[9] *((const byte*) D011#0) ← (const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte) 3
|
||||
to:main::toD0181
|
||||
main::toD0181: scope:[main] from main::@9
|
||||
[10] phi()
|
||||
to:main::@7
|
||||
main::@7: scope:[main] from main::toD0181
|
||||
[11] *((const byte*) D018#0) ← (const byte) main::toD0181_return#0
|
||||
[12] call init_irq
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main::@4 main::@7
|
||||
[13] (byte) main::vy#2 ← phi( main::@7/(byte) 1 main::@4/(byte) main::vy#8 )
|
||||
[13] (word) main::vx#2 ← phi( main::@7/(byte) 1 main::@4/(word) main::vx#6 )
|
||||
[13] (byte) main::y#2 ← phi( main::@7/(byte) 0 main::@4/(byte) main::y#1 )
|
||||
[13] (word) main::x#2 ← phi( main::@7/(byte) 0 main::@4/(word) main::x#1 )
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1
|
||||
[14] (word) bitmap_plot::x#0 ← (word) main::x#2
|
||||
[15] (byte) bitmap_plot::y#0 ← (byte) main::y#2
|
||||
[16] call bitmap_plot
|
||||
to:main::@10
|
||||
main::@10: scope:[main] from main::@2
|
||||
[17] (word) main::x#1 ← (word) main::x#2 + (word) main::vx#2
|
||||
[18] (byte) main::y#1 ← (byte) main::y#2 + (byte) main::vy#2
|
||||
[19] if((word) main::x#1==(word) $13f) goto main::@5
|
||||
to:main::@11
|
||||
main::@11: scope:[main] from main::@10
|
||||
[20] if((word) main::x#1!=(byte) 0) goto main::@3
|
||||
to:main::@5
|
||||
main::@5: scope:[main] from main::@10 main::@11
|
||||
[21] (word) main::vx#1 ← - (word) main::vx#2
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@11 main::@5
|
||||
[22] (word) main::vx#6 ← phi( main::@11/(word) main::vx#2 main::@5/(word) main::vx#1 )
|
||||
[23] if((byte) main::y#1==(byte) $c7) goto main::@6
|
||||
to:main::@12
|
||||
main::@12: scope:[main] from main::@3
|
||||
[24] if((byte) main::y#1!=(byte) 0) goto main::@4
|
||||
to:main::@6
|
||||
main::@6: scope:[main] from main::@12 main::@3
|
||||
[25] (byte) main::vy#1 ← - (byte) main::vy#2
|
||||
to:main::@4
|
||||
main::@4: scope:[main] from main::@12 main::@6
|
||||
[26] (byte) main::vy#8 ← phi( main::@12/(byte) main::vy#2 main::@6/(byte) main::vy#1 )
|
||||
[27] *((const byte[$100]) plots_per_frame#0 + (byte) frame_cnt#0) ← ++ *((const byte[$100]) plots_per_frame#0 + (byte) frame_cnt#0)
|
||||
to:main::@1
|
||||
bitmap_plot: scope:[bitmap_plot] from main::@2
|
||||
[28] (word~) bitmap_plot::$3 ← *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_plot::y#0) w= *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_plot::y#0)
|
||||
[29] (word~) bitmap_plot::$1 ← (word) bitmap_plot::x#0 & (word) $fff8
|
||||
[30] (byte*) bitmap_plot::plotter#1 ← (byte*)(word~) bitmap_plot::$3 + (word~) bitmap_plot::$1
|
||||
[31] (byte~) bitmap_plot::$2 ← < (word) bitmap_plot::x#0
|
||||
[32] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const byte[$100]) bitmap_plot_bit#0 + (byte~) bitmap_plot::$2)
|
||||
to:bitmap_plot::@return
|
||||
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
||||
[33] return
|
||||
to:@return
|
||||
init_irq: scope:[init_irq] from main::@7
|
||||
asm { sei }
|
||||
[35] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0
|
||||
[36] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
|
||||
[37] *((const byte*) CIA1_INTERRUPT#0) ← (const byte) CIA_INTERRUPT_CLEAR#0
|
||||
[38] *((const byte*) VIC_CONTROL#0) ← *((const byte*) VIC_CONTROL#0) | (byte) $80
|
||||
[39] *((const byte*) RASTER#0) ← (byte) 0
|
||||
[40] *((const byte*) IRQ_ENABLE#0) ← (const byte) IRQ_RASTER#0
|
||||
[41] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
asm { cli }
|
||||
to:init_irq::@return
|
||||
init_irq::@return: scope:[init_irq] from init_irq
|
||||
[43] return
|
||||
to:@return
|
||||
bitmap_clear: scope:[bitmap_clear] from main::@8
|
||||
[44] phi()
|
||||
[45] call memset
|
||||
to:bitmap_clear::@1
|
||||
bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear
|
||||
[46] phi()
|
||||
[47] call memset
|
||||
to:bitmap_clear::@return
|
||||
bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@1
|
||||
[48] return
|
||||
to:@return
|
||||
memset: scope:[memset] from bitmap_clear bitmap_clear::@1
|
||||
[49] (byte) memset::c#3 ← phi( bitmap_clear/(const byte) bitmap_clear::col#0 bitmap_clear::@1/(byte) 0 )
|
||||
[49] (word) memset::num#2 ← phi( bitmap_clear/(word) $3e8 bitmap_clear::@1/(word) $1f40 )
|
||||
[49] (void*) memset::str#2 ← phi( bitmap_clear/(void*)(const byte*) SCREEN#0 bitmap_clear::@1/(void*)(const byte*) BITMAP#0 )
|
||||
[50] (byte*) memset::end#0 ← (byte*)(void*) memset::str#2 + (word) memset::num#2
|
||||
[51] (byte*~) memset::dst#3 ← (byte*)(void*) memset::str#2
|
||||
to:memset::@1
|
||||
memset::@1: scope:[memset] from memset memset::@1
|
||||
[52] (byte*) memset::dst#2 ← phi( memset/(byte*~) memset::dst#3 memset::@1/(byte*) memset::dst#1 )
|
||||
[53] *((byte*) memset::dst#2) ← (byte) memset::c#3
|
||||
[54] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
|
||||
[55] if((byte*) memset::dst#1!=(byte*) memset::end#0) goto memset::@1
|
||||
to:memset::@return
|
||||
memset::@return: scope:[memset] from memset::@1
|
||||
[56] return
|
||||
to:@return
|
||||
bitmap_init: scope:[bitmap_init] from main
|
||||
[57] phi()
|
||||
to:bitmap_init::@1
|
||||
bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2
|
||||
[58] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) 0 bitmap_init::@2/(byte) bitmap_init::x#1 )
|
||||
[58] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 )
|
||||
[59] *((const byte[$100]) bitmap_plot_bit#0 + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3
|
||||
[60] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1
|
||||
[61] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6
|
||||
to:bitmap_init::@2
|
||||
bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1
|
||||
[62] phi()
|
||||
to:bitmap_init::@2
|
||||
bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6
|
||||
[63] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte) $80 )
|
||||
[64] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2
|
||||
[65] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1
|
||||
to:bitmap_init::@3
|
||||
bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4
|
||||
[66] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/(const byte*) BITMAP#0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 )
|
||||
[66] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte) 0 bitmap_init::@4/(byte) bitmap_init::y#1 )
|
||||
[67] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7
|
||||
[68] (byte~) bitmap_init::$4 ← < (byte*) bitmap_init::yoffs#2
|
||||
[69] (byte~) bitmap_init::$5 ← (byte~) bitmap_init::$7 | (byte~) bitmap_init::$4
|
||||
[70] *((const byte[$100]) bitmap_plot_ylo#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$5
|
||||
[71] (byte~) bitmap_init::$6 ← > (byte*) bitmap_init::yoffs#2
|
||||
[72] *((const byte[$100]) bitmap_plot_yhi#0 + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$6
|
||||
[73] if((byte~) bitmap_init::$7!=(byte) 7) goto bitmap_init::@4
|
||||
to:bitmap_init::@5
|
||||
bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3
|
||||
[74] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8
|
||||
to:bitmap_init::@4
|
||||
bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5
|
||||
[75] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 )
|
||||
[76] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2
|
||||
[77] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3
|
||||
to:bitmap_init::@return
|
||||
bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4
|
||||
[78] return
|
||||
to:@return
|
||||
irq: scope:[irq] from
|
||||
[79] *((const byte*) BGCOL#0) ← (const byte) WHITE#0
|
||||
[80] if((byte) 0==(byte) frame_cnt#0) goto irq::@1
|
||||
to:irq::@2
|
||||
irq::@2: scope:[irq] from irq
|
||||
[81] (byte) frame_cnt#1 ← ++ (byte) frame_cnt#0
|
||||
to:irq::@1
|
||||
irq::@1: scope:[irq] from irq irq::@2
|
||||
[82] (byte) frame_cnt#10 ← phi( irq/(byte) frame_cnt#0 irq::@2/(byte) frame_cnt#1 )
|
||||
[83] *((const byte*) BGCOL#0) ← (const byte) BLACK#0
|
||||
[84] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
to:irq::@return
|
||||
irq::@return: scope:[irq] from irq::@1
|
||||
[85] return
|
||||
to:@return
|
3917
src/test/ref/bitmap-plot.log
Normal file
3917
src/test/ref/bitmap-plot.log
Normal file
File diff suppressed because it is too large
Load Diff
192
src/test/ref/bitmap-plot.sym
Normal file
192
src/test/ref/bitmap-plot.sym
Normal file
@ -0,0 +1,192 @@
|
||||
(label) @1
|
||||
(label) @2
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
(const byte*) BGCOL#0 BGCOL = (byte*) 53281
|
||||
(byte*) BITMAP
|
||||
(const byte*) BITMAP#0 BITMAP = (byte*) 8192
|
||||
(byte) BLACK
|
||||
(const byte) BLACK#0 BLACK = (byte) 0
|
||||
(byte*) CIA1_INTERRUPT
|
||||
(const byte*) CIA1_INTERRUPT#0 CIA1_INTERRUPT = (byte*) 56333
|
||||
(byte) CIA_INTERRUPT_CLEAR
|
||||
(const byte) CIA_INTERRUPT_CLEAR#0 CIA_INTERRUPT_CLEAR = (byte) $7f
|
||||
(byte*) D011
|
||||
(const byte*) D011#0 D011 = (byte*) 53265
|
||||
(byte*) D018
|
||||
(const byte*) D018#0 D018 = (byte*) 53272
|
||||
(void()**) HARDWARE_IRQ
|
||||
(const void()**) HARDWARE_IRQ#0 HARDWARE_IRQ = (void()**) 65534
|
||||
(byte*) IRQ_ENABLE
|
||||
(const byte*) IRQ_ENABLE#0 IRQ_ENABLE = (byte*) 53274
|
||||
(byte) IRQ_RASTER
|
||||
(const byte) IRQ_RASTER#0 IRQ_RASTER = (byte) 1
|
||||
(byte*) IRQ_STATUS
|
||||
(const byte*) IRQ_STATUS#0 IRQ_STATUS = (byte*) 53273
|
||||
(byte*) PROCPORT
|
||||
(const byte*) PROCPORT#0 PROCPORT = (byte*) 1
|
||||
(byte*) PROCPORT_DDR
|
||||
(const byte*) PROCPORT_DDR#0 PROCPORT_DDR = (byte*) 0
|
||||
(byte) PROCPORT_DDR_MEMORY_MASK
|
||||
(const byte) PROCPORT_DDR_MEMORY_MASK#0 PROCPORT_DDR_MEMORY_MASK = (byte) 7
|
||||
(byte) PROCPORT_RAM_IO
|
||||
(const byte) PROCPORT_RAM_IO#0 PROCPORT_RAM_IO = (byte) $35
|
||||
(byte*) RASTER
|
||||
(const byte*) RASTER#0 RASTER = (byte*) 53266
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = (byte*) 1024
|
||||
(byte) VIC_BMM
|
||||
(const byte) VIC_BMM#0 VIC_BMM = (byte) $20
|
||||
(byte*) VIC_CONTROL
|
||||
(const byte*) VIC_CONTROL#0 VIC_CONTROL = (byte*) 53265
|
||||
(byte) VIC_DEN
|
||||
(const byte) VIC_DEN#0 VIC_DEN = (byte) $10
|
||||
(byte) VIC_RSEL
|
||||
(const byte) VIC_RSEL#0 VIC_RSEL = (byte) 8
|
||||
(byte) WHITE
|
||||
(const byte) WHITE#0 WHITE = (byte) 1
|
||||
(void()) bitmap_clear((byte) bitmap_clear::bgcol , (byte) bitmap_clear::fgcol)
|
||||
(label) bitmap_clear::@1
|
||||
(label) bitmap_clear::@return
|
||||
(byte) bitmap_clear::bgcol
|
||||
(byte) bitmap_clear::col
|
||||
(const byte) bitmap_clear::col#0 col = (const byte) WHITE#0*(byte) $10
|
||||
(byte) bitmap_clear::fgcol
|
||||
(byte*) bitmap_gfx
|
||||
(void()) bitmap_init((byte*) bitmap_init::gfx , (byte*) bitmap_init::screen)
|
||||
(byte~) bitmap_init::$4 reg byte a 22.0
|
||||
(byte~) bitmap_init::$5 reg byte a 22.0
|
||||
(byte~) bitmap_init::$6 reg byte a 22.0
|
||||
(byte~) bitmap_init::$7 $7 zp ZP_BYTE:19 5.5
|
||||
(label) bitmap_init::@1
|
||||
(label) bitmap_init::@2
|
||||
(label) bitmap_init::@3
|
||||
(label) bitmap_init::@4
|
||||
(label) bitmap_init::@5
|
||||
(label) bitmap_init::@6
|
||||
(label) bitmap_init::@return
|
||||
(byte) bitmap_init::bits
|
||||
(byte) bitmap_init::bits#1 reg byte a 11.0
|
||||
(byte) bitmap_init::bits#3 reg byte a 16.5
|
||||
(byte) bitmap_init::bits#4 reg byte a 7.333333333333333
|
||||
(byte*) bitmap_init::gfx
|
||||
(byte*) bitmap_init::screen
|
||||
(byte) bitmap_init::x
|
||||
(byte) bitmap_init::x#1 reg byte x 16.5
|
||||
(byte) bitmap_init::x#2 reg byte x 5.5
|
||||
(byte) bitmap_init::y
|
||||
(byte) bitmap_init::y#1 reg byte x 16.5
|
||||
(byte) bitmap_init::y#2 reg byte x 5.5
|
||||
(byte*) bitmap_init::yoffs
|
||||
(byte*) bitmap_init::yoffs#1 yoffs zp ZP_WORD:12 22.0
|
||||
(byte*) bitmap_init::yoffs#2 yoffs zp ZP_WORD:12 6.875
|
||||
(byte*) bitmap_init::yoffs#4 yoffs zp ZP_WORD:12 11.0
|
||||
(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
|
||||
(word~) bitmap_plot::$1 $1 zp ZP_WORD:17 4.0
|
||||
(byte~) bitmap_plot::$2 reg byte a 4.0
|
||||
(word~) bitmap_plot::$3 $3 zp ZP_WORD:15 1.0
|
||||
(label) bitmap_plot::@return
|
||||
(byte*) bitmap_plot::plotter
|
||||
(byte*) bitmap_plot::plotter#1 plotter zp ZP_WORD:15 3.0
|
||||
(word) bitmap_plot::x
|
||||
(word) bitmap_plot::x#0 x zp ZP_WORD:2 3.0
|
||||
(byte) bitmap_plot::y
|
||||
(byte) bitmap_plot::y#0 reg byte x 15.0
|
||||
(byte[$100]) bitmap_plot_bit
|
||||
(const byte[$100]) bitmap_plot_bit#0 bitmap_plot_bit = { fill( $100, 0) }
|
||||
(byte[$100]) bitmap_plot_yhi
|
||||
(const byte[$100]) bitmap_plot_yhi#0 bitmap_plot_yhi = { fill( $100, 0) }
|
||||
(byte[$100]) bitmap_plot_ylo
|
||||
(const byte[$100]) bitmap_plot_ylo#0 bitmap_plot_ylo = { fill( $100, 0) }
|
||||
(byte*) bitmap_screen
|
||||
(byte) frame_cnt
|
||||
(byte) frame_cnt#0 frame_cnt zp ZP_BYTE:14 1.1111111111111112
|
||||
(byte) frame_cnt#1 frame_cnt zp ZP_BYTE:14 4.0
|
||||
(byte) frame_cnt#10 frame_cnt zp ZP_BYTE:14 40.0
|
||||
(void()) init_irq()
|
||||
(label) init_irq::@return
|
||||
interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) irq::@1
|
||||
(label) irq::@2
|
||||
(label) irq::@return
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@10
|
||||
(label) main::@11
|
||||
(label) main::@12
|
||||
(label) main::@2
|
||||
(label) main::@3
|
||||
(label) main::@4
|
||||
(label) main::@5
|
||||
(label) main::@6
|
||||
(label) main::@7
|
||||
(label) main::@8
|
||||
(label) main::@9
|
||||
(label) main::toD0181
|
||||
(word~) main::toD0181_$0
|
||||
(number~) main::toD0181_$1
|
||||
(number~) main::toD0181_$2
|
||||
(number~) main::toD0181_$3
|
||||
(word~) main::toD0181_$4
|
||||
(byte~) main::toD0181_$5
|
||||
(number~) main::toD0181_$6
|
||||
(number~) main::toD0181_$7
|
||||
(number~) main::toD0181_$8
|
||||
(byte*) main::toD0181_gfx
|
||||
(byte) main::toD0181_return
|
||||
(const byte) main::toD0181_return#0 toD0181_return = >(word)(const byte*) SCREEN#0&(word) $3fff*(byte) 4|>(word)(const byte*) BITMAP#0/(byte) 4&(byte) $f
|
||||
(byte*) main::toD0181_screen
|
||||
(word) main::vx
|
||||
(word) main::vx#1 vx zp ZP_WORD:5 22.0
|
||||
(word) main::vx#2 vx zp ZP_WORD:5 5.5
|
||||
(word) main::vx#6 vx zp ZP_WORD:5 5.5
|
||||
(byte) main::vy
|
||||
(byte) main::vy#1 vy zp ZP_BYTE:7 22.0
|
||||
(byte) main::vy#2 vy zp ZP_BYTE:7 3.6666666666666665
|
||||
(byte) main::vy#8 vy zp ZP_BYTE:7 16.5
|
||||
(word) main::x
|
||||
(word) main::x#1 x zp ZP_WORD:2 4.0
|
||||
(word) main::x#2 x zp ZP_WORD:2 8.25
|
||||
(byte) main::y
|
||||
(byte) main::y#1 y zp ZP_BYTE:4 4.4
|
||||
(byte) main::y#2 y zp ZP_BYTE:4 6.6000000000000005
|
||||
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
||||
(label) memset::@1
|
||||
(label) memset::@return
|
||||
(byte) memset::c
|
||||
(byte) memset::c#3 reg byte x 1.5714285714285714
|
||||
(byte*) memset::dst
|
||||
(byte*) memset::dst#1 dst zp ZP_WORD:8 16.5
|
||||
(byte*) memset::dst#2 dst zp ZP_WORD:8 17.5
|
||||
(byte*~) memset::dst#3 dst zp ZP_WORD:8 4.0
|
||||
(byte*) memset::end
|
||||
(byte*) memset::end#0 end zp ZP_WORD:10 2.1666666666666665
|
||||
(word) memset::num
|
||||
(word) memset::num#2 num zp ZP_WORD:10 2.0
|
||||
(void*) memset::return
|
||||
(void*) memset::str
|
||||
(void*) memset::str#2 str zp ZP_WORD:8
|
||||
(byte[$100]) plots_per_frame
|
||||
(const byte[$100]) plots_per_frame#0 plots_per_frame = { fill( $100, 0) }
|
||||
|
||||
zp ZP_WORD:2 [ main::x#2 main::x#1 bitmap_plot::x#0 ]
|
||||
zp ZP_BYTE:4 [ main::y#2 main::y#1 ]
|
||||
zp ZP_WORD:5 [ main::vx#2 main::vx#6 main::vx#1 ]
|
||||
zp ZP_BYTE:7 [ main::vy#2 main::vy#8 main::vy#1 ]
|
||||
zp ZP_WORD:8 [ memset::str#2 memset::dst#2 memset::dst#3 memset::dst#1 ]
|
||||
zp ZP_WORD:10 [ memset::num#2 memset::end#0 ]
|
||||
reg byte x [ memset::c#3 ]
|
||||
reg byte a [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
|
||||
reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ]
|
||||
reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ]
|
||||
zp ZP_WORD:12 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
|
||||
zp ZP_BYTE:14 [ frame_cnt#10 frame_cnt#0 frame_cnt#1 ]
|
||||
reg byte x [ bitmap_plot::y#0 ]
|
||||
zp ZP_WORD:15 [ bitmap_plot::$3 bitmap_plot::plotter#1 ]
|
||||
zp ZP_WORD:17 [ bitmap_plot::$1 ]
|
||||
reg byte a [ bitmap_plot::$2 ]
|
||||
zp ZP_BYTE:19 [ bitmap_init::$7 ]
|
||||
reg byte a [ bitmap_init::$4 ]
|
||||
reg byte a [ bitmap_init::$5 ]
|
||||
reg byte a [ bitmap_init::$6 ]
|
@ -1443,6 +1443,7 @@ init_screen: {
|
||||
//SEG120 [69] return
|
||||
rts
|
||||
}
|
||||
//SEG121 File Data
|
||||
plots_x: .byte $3c, $50, $6e, $50, $3c, $28, $a, $28
|
||||
plots_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28
|
||||
plot_xlo: .fill $100, 0
|
||||
@ -1928,6 +1929,7 @@ init_screen: {
|
||||
//SEG120 [69] return
|
||||
rts
|
||||
}
|
||||
//SEG121 File Data
|
||||
plots_x: .byte $3c, $50, $6e, $50, $3c, $28, $a, $28
|
||||
plots_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28
|
||||
plot_xlo: .fill $100, 0
|
||||
@ -2452,6 +2454,7 @@ init_screen: {
|
||||
//SEG120 [69] return
|
||||
rts
|
||||
}
|
||||
//SEG121 File Data
|
||||
plots_x: .byte $3c, $50, $6e, $50, $3c, $28, $a, $28
|
||||
plots_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28
|
||||
plot_xlo: .fill $100, 0
|
||||
|
@ -185,6 +185,7 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::SCREEN#0) ← ~(byte) 1 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -256,6 +257,7 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -341,4 +343,5 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
|
@ -486,6 +486,7 @@ bool_const_if: {
|
||||
//SEG37 [19] return
|
||||
rts
|
||||
}
|
||||
//SEG38 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [12] *((const byte*) SCREEN#0+(byte) 2) ← (byte) 't' [ ] ( main:2::bool_const_inline:9 [ ] ) always clobbers reg byte a
|
||||
@ -605,6 +606,7 @@ bool_const_if: {
|
||||
//SEG37 [19] return
|
||||
rts
|
||||
}
|
||||
//SEG38 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -744,4 +746,5 @@ bool_const_if: {
|
||||
//SEG37 [19] return
|
||||
rts
|
||||
}
|
||||
//SEG38 File Data
|
||||
|
||||
|
@ -408,6 +408,7 @@ isSet: {
|
||||
//SEG38 [21] return
|
||||
rts
|
||||
}
|
||||
//SEG39 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [7] (bool) isSet::b#0 ← (byte~) main::$0 == (byte) 0 [ main::i#2 isSet::b#0 ] ( main:2 [ main::i#2 isSet::b#0 ] ) always clobbers reg byte a
|
||||
@ -551,6 +552,7 @@ isSet: {
|
||||
//SEG38 [21] return
|
||||
rts
|
||||
}
|
||||
//SEG39 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -712,4 +714,5 @@ isSet: {
|
||||
//SEG38 [21] return
|
||||
rts
|
||||
}
|
||||
//SEG39 File Data
|
||||
|
||||
|
@ -981,6 +981,7 @@ bool_and: {
|
||||
sta screen,y
|
||||
jmp b3
|
||||
}
|
||||
//SEG107 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [20] *((const byte*) bool_complex::screen#0 + (byte) bool_complex::i#2) ← (byte) '*' [ bool_complex::i#2 ] ( main:2::bool_complex:11 [ bool_complex::i#2 ] ) always clobbers reg byte a
|
||||
@ -1314,6 +1315,7 @@ bool_and: {
|
||||
sta screen,x
|
||||
jmp b3
|
||||
}
|
||||
//SEG107 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -1687,4 +1689,5 @@ bool_and: {
|
||||
sta screen,x
|
||||
jmp b3
|
||||
}
|
||||
//SEG107 File Data
|
||||
|
||||
|
@ -190,6 +190,7 @@ main: {
|
||||
bne b1_from_b2
|
||||
jmp b2
|
||||
}
|
||||
//SEG18 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Potential registers zp ZP_BOOL:2 [ framedone#2 ] : zp ZP_BOOL:2 , reg byte a ,
|
||||
@ -247,6 +248,7 @@ main: {
|
||||
bne b1_from_b2
|
||||
jmp b2
|
||||
}
|
||||
//SEG18 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -320,4 +322,5 @@ main: {
|
||||
bne b1
|
||||
jmp b2
|
||||
}
|
||||
//SEG18 File Data
|
||||
|
||||
|
@ -182,6 +182,7 @@ main: {
|
||||
//SEG17 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG18 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((bool*) 1024) ← true [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -246,6 +247,7 @@ main: {
|
||||
//SEG17 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG18 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -320,4 +322,5 @@ main: {
|
||||
//SEG17 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG18 File Data
|
||||
|
||||
|
@ -1051,6 +1051,7 @@ bool_and: {
|
||||
sta screen,y
|
||||
jmp b3
|
||||
}
|
||||
//SEG109 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [15] (bool) bool_complex::o1#0 ← (byte) bool_complex::i#2 < (byte) $a [ bool_complex::i#2 bool_complex::o1#0 ] ( main:2::bool_complex:11 [ bool_complex::i#2 bool_complex::o1#0 ] ) always clobbers reg byte a
|
||||
@ -1422,6 +1423,7 @@ bool_and: {
|
||||
sta screen,x
|
||||
jmp b3
|
||||
}
|
||||
//SEG109 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -1832,4 +1834,5 @@ bool_and: {
|
||||
sta screen,x
|
||||
jmp b3
|
||||
}
|
||||
//SEG109 File Data
|
||||
|
||||
|
@ -511,6 +511,7 @@ main: {
|
||||
//SEG38 [16] return
|
||||
rts
|
||||
}
|
||||
//SEG39 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] *((byte*) main::cursor#3) ← (const byte) STAR#0 [ main::cursor#3 main::x#2 main::e#3 main::y#2 ] ( main:2 [ main::cursor#3 main::x#2 main::e#3 main::y#2 ] ) always clobbers reg byte a reg byte y
|
||||
@ -661,6 +662,7 @@ main: {
|
||||
//SEG38 [16] return
|
||||
rts
|
||||
}
|
||||
//SEG39 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -837,4 +839,5 @@ main: {
|
||||
//SEG38 [16] return
|
||||
rts
|
||||
}
|
||||
//SEG39 File Data
|
||||
|
||||
|
@ -529,6 +529,7 @@ main: {
|
||||
//SEG39 [17] return
|
||||
rts
|
||||
}
|
||||
//SEG40 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] (byte*~) main::$15 ← (const byte[$28*$19]) main::screen#0 + (word) main::idx#3 [ main::idx#3 main::x#2 main::e#3 main::y#2 main::$15 ] ( main:2 [ main::idx#3 main::x#2 main::e#3 main::y#2 main::$15 ] ) always clobbers reg byte a
|
||||
@ -691,6 +692,7 @@ main: {
|
||||
//SEG39 [17] return
|
||||
rts
|
||||
}
|
||||
//SEG40 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -877,4 +879,5 @@ main: {
|
||||
//SEG39 [17] return
|
||||
rts
|
||||
}
|
||||
//SEG40 File Data
|
||||
|
||||
|
@ -234,13 +234,11 @@ print_sword: {
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
sec
|
||||
lda w
|
||||
eor #$ff
|
||||
adc #0
|
||||
lda #0
|
||||
sbc w
|
||||
sta w
|
||||
lda w+1
|
||||
eor #$ff
|
||||
adc #0
|
||||
lda #0
|
||||
sbc w+1
|
||||
sta w+1
|
||||
b1:
|
||||
jsr print_word
|
||||
|
@ -2676,13 +2676,11 @@ print_sword: {
|
||||
b3:
|
||||
//SEG208 [94] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#5 -- vwsz1=_neg_vwsz1
|
||||
sec
|
||||
lda w
|
||||
eor #$ff
|
||||
adc #0
|
||||
lda #0
|
||||
sbc w
|
||||
sta w
|
||||
lda w+1
|
||||
eor #$ff
|
||||
adc #0
|
||||
lda #0
|
||||
sbc w+1
|
||||
sta w+1
|
||||
//SEG209 [95] phi from print_sword print_sword::@3 to print_sword::@1 [phi:print_sword/print_sword::@3->print_sword::@1]
|
||||
b1_from_print_sword:
|
||||
@ -3023,6 +3021,7 @@ print_cls: {
|
||||
//SEG336 [145] return
|
||||
rts
|
||||
}
|
||||
//SEG337 File Data
|
||||
print_hextab: .text "0123456789abcdef"
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
@ -3107,22 +3106,22 @@ Uplift Scope [testShort]
|
||||
Uplift Scope [testInt]
|
||||
Uplift Scope [testLong]
|
||||
|
||||
Uplifting [] best 2675 combination zp ZP_WORD:16 [ print_char_cursor#90 print_char_cursor#143 print_char_cursor#139 print_char_cursor#140 print_char_cursor#24 print_char_cursor#132 print_char_cursor#150 print_char_cursor#155 print_char_cursor#156 print_char_cursor#157 print_char_cursor#1 ] zp ZP_WORD:2 [ print_line_cursor#20 print_line_cursor#39 print_line_cursor#1 ]
|
||||
Uplifting [print_str] best 2675 combination zp ZP_WORD:18 [ print_str::str#5 print_str::str#7 print_str::str#0 ]
|
||||
Uplifting [print_cls] best 2675 combination zp ZP_WORD:23 [ print_cls::sc#2 print_cls::sc#1 ]
|
||||
Uplifting [print_byte] best 2655 combination reg byte x [ print_byte::b#4 print_byte::b#6 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ]
|
||||
Uplifting [print_word] best 2655 combination zp ZP_WORD:12 [ print_word::w#5 print_word::w#1 print_word::w#2 print_word::w#9 ]
|
||||
Uplifting [print_char] best 2610 combination reg byte a [ print_char::ch#14 print_char::ch#4 print_char::ch#5 ]
|
||||
Uplifting [print_sword] best 2610 combination zp ZP_WORD:20 [ print_sword::w#6 print_sword::w#5 print_sword::w#0 ]
|
||||
Uplifting [print_sdword] best 2610 combination zp ZP_DWORD:4 [ print_sdword::dw#4 print_sdword::dw#3 print_sdword::dw#0 ]
|
||||
Uplifting [print_sbyte] best 2598 combination reg byte x [ print_sbyte::b#5 print_sbyte::b#0 print_sbyte::b#3 ]
|
||||
Uplifting [print_dword] best 2598 combination zp ZP_DWORD:8 [ print_dword::dw#2 print_dword::dw#0 ]
|
||||
Uplifting [print_ln] best 2598 combination
|
||||
Uplifting [main] best 2598 combination
|
||||
Uplifting [testChar] best 2598 combination
|
||||
Uplifting [testShort] best 2598 combination
|
||||
Uplifting [testInt] best 2598 combination
|
||||
Uplifting [testLong] best 2598 combination
|
||||
Uplifting [] best 2671 combination zp ZP_WORD:16 [ print_char_cursor#90 print_char_cursor#143 print_char_cursor#139 print_char_cursor#140 print_char_cursor#24 print_char_cursor#132 print_char_cursor#150 print_char_cursor#155 print_char_cursor#156 print_char_cursor#157 print_char_cursor#1 ] zp ZP_WORD:2 [ print_line_cursor#20 print_line_cursor#39 print_line_cursor#1 ]
|
||||
Uplifting [print_str] best 2671 combination zp ZP_WORD:18 [ print_str::str#5 print_str::str#7 print_str::str#0 ]
|
||||
Uplifting [print_cls] best 2671 combination zp ZP_WORD:23 [ print_cls::sc#2 print_cls::sc#1 ]
|
||||
Uplifting [print_byte] best 2651 combination reg byte x [ print_byte::b#4 print_byte::b#6 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ]
|
||||
Uplifting [print_word] best 2651 combination zp ZP_WORD:12 [ print_word::w#5 print_word::w#1 print_word::w#2 print_word::w#9 ]
|
||||
Uplifting [print_char] best 2606 combination reg byte a [ print_char::ch#14 print_char::ch#4 print_char::ch#5 ]
|
||||
Uplifting [print_sword] best 2606 combination zp ZP_WORD:20 [ print_sword::w#6 print_sword::w#5 print_sword::w#0 ]
|
||||
Uplifting [print_sdword] best 2606 combination zp ZP_DWORD:4 [ print_sdword::dw#4 print_sdword::dw#3 print_sdword::dw#0 ]
|
||||
Uplifting [print_sbyte] best 2594 combination reg byte x [ print_sbyte::b#5 print_sbyte::b#0 print_sbyte::b#3 ]
|
||||
Uplifting [print_dword] best 2594 combination zp ZP_DWORD:8 [ print_dword::dw#2 print_dword::dw#0 ]
|
||||
Uplifting [print_ln] best 2594 combination
|
||||
Uplifting [main] best 2594 combination
|
||||
Uplifting [testChar] best 2594 combination
|
||||
Uplifting [testShort] best 2594 combination
|
||||
Uplifting [testInt] best 2594 combination
|
||||
Uplifting [testLong] best 2594 combination
|
||||
Coalescing zero page register with common assignment [ zp ZP_DWORD:4 [ print_sdword::dw#4 print_sdword::dw#3 print_sdword::dw#0 ] ] with [ zp ZP_DWORD:8 [ print_dword::dw#2 print_dword::dw#0 ] ] - score: 1
|
||||
Coalescing zero page register with common assignment [ zp ZP_WORD:12 [ print_word::w#5 print_word::w#1 print_word::w#2 print_word::w#9 ] ] with [ zp ZP_WORD:20 [ print_sword::w#6 print_sword::w#5 print_sword::w#0 ] ] - score: 1
|
||||
Allocated (was zp ZP_WORD:12) zp ZP_WORD:8 [ print_word::w#5 print_word::w#1 print_word::w#2 print_word::w#9 print_sword::w#6 print_sword::w#5 print_sword::w#0 ]
|
||||
@ -3704,13 +3703,11 @@ print_sword: {
|
||||
b3:
|
||||
//SEG208 [94] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#5 -- vwsz1=_neg_vwsz1
|
||||
sec
|
||||
lda w
|
||||
eor #$ff
|
||||
adc #0
|
||||
lda #0
|
||||
sbc w
|
||||
sta w
|
||||
lda w+1
|
||||
eor #$ff
|
||||
adc #0
|
||||
lda #0
|
||||
sbc w+1
|
||||
sta w+1
|
||||
//SEG209 [95] phi from print_sword print_sword::@3 to print_sword::@1 [phi:print_sword/print_sword::@3->print_sword::@1]
|
||||
b1_from_print_sword:
|
||||
@ -4035,6 +4032,7 @@ print_cls: {
|
||||
//SEG336 [145] return
|
||||
rts
|
||||
}
|
||||
//SEG337 File Data
|
||||
print_hextab: .text "0123456789abcdef"
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
@ -4444,7 +4442,7 @@ reg byte x [ print_byte::$2 ]
|
||||
|
||||
|
||||
FINAL ASSEMBLER
|
||||
Score: 2161
|
||||
Score: 2157
|
||||
|
||||
//SEG0 File Comments
|
||||
// Tests the different standard C types
|
||||
@ -4891,13 +4889,11 @@ print_sword: {
|
||||
//SEG207 print_sword::@3
|
||||
//SEG208 [94] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#5 -- vwsz1=_neg_vwsz1
|
||||
sec
|
||||
lda w
|
||||
eor #$ff
|
||||
adc #0
|
||||
lda #0
|
||||
sbc w
|
||||
sta w
|
||||
lda w+1
|
||||
eor #$ff
|
||||
adc #0
|
||||
lda #0
|
||||
sbc w+1
|
||||
sta w+1
|
||||
//SEG209 [95] phi from print_sword print_sword::@3 to print_sword::@1 [phi:print_sword/print_sword::@3->print_sword::@1]
|
||||
//SEG210 [95] phi (signed word) print_sword::w#6 = (signed word) print_sword::w#5 [phi:print_sword/print_sword::@3->print_sword::@1#0] -- register_copy
|
||||
@ -5141,5 +5137,6 @@ print_cls: {
|
||||
//SEG336 [145] return
|
||||
rts
|
||||
}
|
||||
//SEG337 File Data
|
||||
print_hextab: .text "0123456789abcdef"
|
||||
|
||||
|
@ -2338,6 +2338,7 @@ gfx_init_screen0: {
|
||||
//SEG170 [91] return
|
||||
rts
|
||||
}
|
||||
//SEG171 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -3078,6 +3079,7 @@ gfx_init_screen0: {
|
||||
//SEG170 [91] return
|
||||
rts
|
||||
}
|
||||
//SEG171 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -3883,4 +3885,5 @@ gfx_init_screen0: {
|
||||
//SEG170 [91] return
|
||||
rts
|
||||
}
|
||||
//SEG171 File Data
|
||||
|
||||
|
@ -1693,6 +1693,7 @@ dtvSetCpuBankSegment1: {
|
||||
//SEG111 [61] return
|
||||
rts
|
||||
}
|
||||
//SEG112 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -2221,6 +2222,7 @@ dtvSetCpuBankSegment1: {
|
||||
//SEG111 [61] return
|
||||
rts
|
||||
}
|
||||
//SEG112 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -2807,4 +2809,5 @@ dtvSetCpuBankSegment1: {
|
||||
//SEG111 [61] return
|
||||
rts
|
||||
}
|
||||
//SEG112 File Data
|
||||
|
||||
|
@ -950,6 +950,7 @@ main: {
|
||||
//SEG46 [38] return
|
||||
rts
|
||||
}
|
||||
//SEG47 File Data
|
||||
SRCA: .text "camelot rules!@"
|
||||
SRCB: .byte $80
|
||||
|
||||
@ -1207,6 +1208,7 @@ main: {
|
||||
//SEG46 [38] return
|
||||
rts
|
||||
}
|
||||
//SEG47 File Data
|
||||
SRCA: .text "camelot rules!@"
|
||||
SRCB: .byte $80
|
||||
|
||||
@ -1532,6 +1534,7 @@ main: {
|
||||
//SEG46 [38] return
|
||||
rts
|
||||
}
|
||||
//SEG47 File Data
|
||||
SRCA: .text "camelot rules!@"
|
||||
SRCB: .byte $80
|
||||
|
||||
|
@ -1017,6 +1017,7 @@ main: {
|
||||
//SEG55 [42] return
|
||||
rts
|
||||
}
|
||||
//SEG56 File Data
|
||||
SRCA: .byte 'c', 'a', 'm', 'e', 'l', 'o', 't', '!', ' '
|
||||
SRCB: .byte $80
|
||||
|
||||
@ -1334,6 +1335,7 @@ main: {
|
||||
//SEG55 [42] return
|
||||
rts
|
||||
}
|
||||
//SEG56 File Data
|
||||
SRCA: .byte 'c', 'a', 'm', 'e', 'l', 'o', 't', '!', ' '
|
||||
SRCB: .byte $80
|
||||
|
||||
@ -1697,6 +1699,7 @@ main: {
|
||||
//SEG55 [42] return
|
||||
rts
|
||||
}
|
||||
//SEG56 File Data
|
||||
SRCA: .byte 'c', 'a', 'm', 'e', 'l', 'o', 't', '!', ' '
|
||||
SRCB: .byte $80
|
||||
|
||||
|
@ -558,6 +558,7 @@ main: {
|
||||
jmp b1
|
||||
palette: .byte 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $a, $b, $c, $d, $e, $f
|
||||
}
|
||||
//SEG35 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -708,6 +709,7 @@ main: {
|
||||
jmp b1
|
||||
palette: .byte 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $a, $b, $c, $d, $e, $f
|
||||
}
|
||||
//SEG35 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -889,4 +891,5 @@ main: {
|
||||
jmp b1
|
||||
palette: .byte 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $a, $b, $c, $d, $e, $f
|
||||
}
|
||||
//SEG35 File Data
|
||||
|
||||
|
@ -20914,6 +20914,7 @@ keyboard_init: {
|
||||
//SEG1753 [855] return
|
||||
rts
|
||||
}
|
||||
//SEG1754 File Data
|
||||
// Default vallues for the palette
|
||||
DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a
|
||||
print_hextab: .text "0123456789abcdef"
|
||||
@ -27680,6 +27681,7 @@ keyboard_init: {
|
||||
//SEG1753 [855] return
|
||||
rts
|
||||
}
|
||||
//SEG1754 File Data
|
||||
// Default vallues for the palette
|
||||
DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a
|
||||
print_hextab: .text "0123456789abcdef"
|
||||
@ -34659,6 +34661,7 @@ keyboard_init: {
|
||||
//SEG1753 [855] return
|
||||
rts
|
||||
}
|
||||
//SEG1754 File Data
|
||||
// Default vallues for the palette
|
||||
DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a
|
||||
print_hextab: .text "0123456789abcdef"
|
||||
|
@ -19476,6 +19476,7 @@ print_set_screen: {
|
||||
//SEG1660 [891] return
|
||||
rts
|
||||
}
|
||||
//SEG1661 File Data
|
||||
// Default vallues for the palette
|
||||
DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a
|
||||
// Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7)
|
||||
@ -25798,6 +25799,7 @@ print_set_screen: {
|
||||
//SEG1660 [891] return
|
||||
rts
|
||||
}
|
||||
//SEG1661 File Data
|
||||
// Default vallues for the palette
|
||||
DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a
|
||||
// Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7)
|
||||
@ -32133,6 +32135,7 @@ print_set_screen: {
|
||||
//SEG1660 [891] return
|
||||
rts
|
||||
}
|
||||
//SEG1661 File Data
|
||||
// Default vallues for the palette
|
||||
DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a
|
||||
// Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7)
|
||||
|
@ -361,6 +361,7 @@ print: {
|
||||
//SEG34 [15] return
|
||||
rts
|
||||
}
|
||||
//SEG35 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [12] (byte~) print::$0 ← (byte) idx#12 << (byte) 1 [ idx#12 print::w#3 print::$0 ] ( main:2::print:5 [ idx#12 print::w#3 print::$0 ] main:2::print:7 [ idx#12 print::w#3 print::$0 ] main:2::print:9 [ idx#12 print::w#3 print::$0 ] ) always clobbers reg byte a
|
||||
@ -478,6 +479,7 @@ print: {
|
||||
//SEG34 [15] return
|
||||
rts
|
||||
}
|
||||
//SEG35 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -611,4 +613,5 @@ print: {
|
||||
//SEG34 [15] return
|
||||
rts
|
||||
}
|
||||
//SEG35 File Data
|
||||
|
||||
|
@ -353,6 +353,7 @@ line: {
|
||||
//SEG35 [15] return
|
||||
rts
|
||||
}
|
||||
//SEG36 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [11] *((byte*) screen#10) ← (byte) line::x#2 [ line::x1#3 line::x#2 screen#10 ] ( main:2::line:5 [ line::x1#3 line::x#2 screen#10 ] main:2::line:7 [ line::x1#3 line::x#2 screen#10 ] ) always clobbers reg byte y
|
||||
@ -471,6 +472,7 @@ line: {
|
||||
//SEG35 [15] return
|
||||
rts
|
||||
}
|
||||
//SEG36 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -606,4 +608,5 @@ line: {
|
||||
//SEG35 [15] return
|
||||
rts
|
||||
}
|
||||
//SEG36 File Data
|
||||
|
||||
|
@ -193,6 +193,7 @@ main: {
|
||||
rts
|
||||
sbs: .byte -1, -2, -3, -4
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte)*((const signed byte[]) main::sbs#0 + (byte) main::i#2) [ main::i#2 ] ( main:2 [ main::i#2 ] ) always clobbers reg byte a
|
||||
@ -260,6 +261,7 @@ main: {
|
||||
rts
|
||||
sbs: .byte -1, -2, -3, -4
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -344,4 +346,5 @@ main: {
|
||||
rts
|
||||
sbs: .byte -1, -2, -3, -4
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
|
@ -285,6 +285,7 @@ main: {
|
||||
//SEG18 [8] return
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
screens: .word $400, $1400
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
@ -362,6 +363,7 @@ main: {
|
||||
//SEG18 [8] return
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
screens: .word $400, $1400
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
@ -459,5 +461,6 @@ main: {
|
||||
//SEG18 [8] return
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
screens: .word $400, $1400
|
||||
|
||||
|
@ -296,6 +296,7 @@ main: {
|
||||
//SEG19 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG20 File Data
|
||||
screens: .word $400, $1400
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
@ -376,6 +377,7 @@ main: {
|
||||
//SEG19 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG20 File Data
|
||||
screens: .word $400, $1400
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
@ -478,5 +480,6 @@ main: {
|
||||
//SEG19 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG20 File Data
|
||||
screens: .word $400, $1400
|
||||
|
||||
|
@ -157,6 +157,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::sprite_ptr#0) ← (byte)(const byte*) sprite#0/(byte) $40 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -204,6 +205,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -266,4 +268,5 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
|
@ -294,6 +294,7 @@ main: {
|
||||
sta BGCOL
|
||||
jmp breturn
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::SCREEN#0) ← (const byte) main::midw#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -369,6 +370,7 @@ main: {
|
||||
sta BGCOL
|
||||
jmp breturn
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -469,4 +471,5 @@ main: {
|
||||
sta BGCOL
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
|
@ -495,6 +495,7 @@ w: {
|
||||
//SEG40 [22] return
|
||||
rts
|
||||
}
|
||||
//SEG41 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] (byte) main::b2#0 ← (byte) $c8 - (byte) main::b#2 [ main::b#2 main::b2#0 ] ( main:2 [ main::b#2 main::b2#0 ] ) always clobbers reg byte a
|
||||
@ -635,6 +636,7 @@ w: {
|
||||
//SEG40 [22] return
|
||||
rts
|
||||
}
|
||||
//SEG41 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -805,4 +807,5 @@ w: {
|
||||
//SEG40 [22] return
|
||||
rts
|
||||
}
|
||||
//SEG41 File Data
|
||||
|
||||
|
@ -539,6 +539,7 @@ main: {
|
||||
//SEG51 [23] return
|
||||
rts
|
||||
}
|
||||
//SEG52 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) PROCPORT#0) ← (byte) $32 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -713,6 +714,7 @@ main: {
|
||||
//SEG51 [23] return
|
||||
rts
|
||||
}
|
||||
//SEG52 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -917,4 +919,5 @@ main: {
|
||||
//SEG51 [23] return
|
||||
rts
|
||||
}
|
||||
//SEG52 File Data
|
||||
|
||||
|
@ -415,6 +415,7 @@ main: {
|
||||
//SEG41 [17] return
|
||||
rts
|
||||
}
|
||||
//SEG42 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [7] *((byte*) main::screen#4 + (byte) main::column#2) ← (byte) $a0 [ main::screen#4 main::colors#4 main::row#4 main::column#2 main::color#3 ] ( main:2 [ main::screen#4 main::colors#4 main::row#4 main::column#2 main::color#3 ] ) always clobbers reg byte a
|
||||
@ -566,6 +567,7 @@ main: {
|
||||
//SEG41 [17] return
|
||||
rts
|
||||
}
|
||||
//SEG42 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -733,4 +735,5 @@ main: {
|
||||
//SEG41 [17] return
|
||||
rts
|
||||
}
|
||||
//SEG42 File Data
|
||||
|
||||
|
@ -349,6 +349,7 @@ irq: {
|
||||
ldy #00
|
||||
rti
|
||||
}
|
||||
//SEG31 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [1] (byte) irq_raster_next#0 ← (byte) 0 [ ] ( ) always clobbers reg byte a
|
||||
@ -471,6 +472,7 @@ irq: {
|
||||
ldx #00
|
||||
rti
|
||||
}
|
||||
//SEG31 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -613,4 +615,5 @@ irq: {
|
||||
ldx #00
|
||||
rti
|
||||
}
|
||||
//SEG31 File Data
|
||||
|
||||
|
@ -196,6 +196,7 @@ main: {
|
||||
//SEG23 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG24 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Potential registers zp ZP_BYTE:2 [ main::j#2 main::j#1 ] : zp ZP_BYTE:2 , reg byte a , reg byte x , reg byte y ,
|
||||
@ -265,6 +266,7 @@ main: {
|
||||
//SEG23 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG24 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -355,4 +357,5 @@ main: {
|
||||
//SEG23 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG24 File Data
|
||||
|
||||
|
@ -174,6 +174,7 @@ main: {
|
||||
//SEG14 [7] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::SCREEN#0) ← (const byte) main::b#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -230,6 +231,7 @@ main: {
|
||||
//SEG14 [7] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -301,4 +303,5 @@ main: {
|
||||
//SEG14 [7] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
|
@ -142,6 +142,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::SCREEN#0) ← (const byte) main::c#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -189,6 +190,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -251,4 +253,5 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
|
@ -128,6 +128,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::SCREEN#0) ← (const byte) main::c#1 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -174,6 +175,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -233,4 +235,5 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
|
@ -200,6 +200,7 @@ main: {
|
||||
//SEG23 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG24 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Potential registers zp ZP_BYTE:2 [ main::j#2 main::j#1 ] : zp ZP_BYTE:2 , reg byte a , reg byte x , reg byte y ,
|
||||
@ -269,6 +270,7 @@ main: {
|
||||
//SEG23 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG24 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -359,4 +361,5 @@ main: {
|
||||
//SEG23 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG24 File Data
|
||||
|
||||
|
@ -287,6 +287,7 @@ main: {
|
||||
//SEG28 [13] return
|
||||
rts
|
||||
}
|
||||
//SEG29 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] *((byte*) main::sc#2) ← (byte) 'a' [ main::sc#2 ] ( main:2 [ main::sc#2 ] ) always clobbers reg byte a reg byte y
|
||||
@ -405,6 +406,7 @@ main: {
|
||||
//SEG28 [13] return
|
||||
rts
|
||||
}
|
||||
//SEG29 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -545,4 +547,5 @@ main: {
|
||||
//SEG28 [13] return
|
||||
rts
|
||||
}
|
||||
//SEG29 File Data
|
||||
|
||||
|
@ -689,6 +689,7 @@ main: {
|
||||
rts
|
||||
header: .text " < <= == >= >@"
|
||||
}
|
||||
//SEG61 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] *((byte*) main::sc#2) ← (byte) ' ' [ main::sc#2 ] ( main:2 [ main::sc#2 ] ) always clobbers reg byte a reg byte y
|
||||
@ -919,6 +920,7 @@ main: {
|
||||
rts
|
||||
header: .text " < <= == >= >@"
|
||||
}
|
||||
//SEG61 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -1164,4 +1166,5 @@ main: {
|
||||
rts
|
||||
header: .text " < <= == >= >@"
|
||||
}
|
||||
//SEG61 File Data
|
||||
|
||||
|
@ -250,6 +250,7 @@ main: {
|
||||
sta SCREEN
|
||||
jmp b1
|
||||
}
|
||||
//SEG24 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Potential registers zp ZP_BYTE:2 [ main::key#2 main::key#0 ] : zp ZP_BYTE:2 , reg byte a , reg byte x , reg byte y ,
|
||||
@ -324,6 +325,7 @@ main: {
|
||||
sta SCREEN
|
||||
jmp b1
|
||||
}
|
||||
//SEG24 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -423,4 +425,5 @@ main: {
|
||||
sta SCREEN
|
||||
jmp b1
|
||||
}
|
||||
//SEG24 File Data
|
||||
|
||||
|
@ -6204,6 +6204,7 @@ irqTop: {
|
||||
ldy #00
|
||||
rti
|
||||
}
|
||||
//SEG437 File Data
|
||||
// Copy of the screen used for finding chars to process
|
||||
SCREEN_COPY: .fill $3e8, 0
|
||||
// SQUARES_X[i] = (i-20)*(i-20)
|
||||
@ -6715,130 +6716,130 @@ Uplift Scope [irqTop]
|
||||
Uplift Scope [irqBottom]
|
||||
Uplift Scope []
|
||||
|
||||
Uplifting [getCharToProcess] best 296666 combination zp ZP_WORD:22 [ getCharToProcess::return_dist#1 getCharToProcess::return_dist#5 getCharToProcess::return_dist#6 getCharToProcess::dist#0 ] zp ZP_WORD:18 [ getCharToProcess::closest_dist#2 getCharToProcess::closest_dist#8 getCharToProcess::closest_dist#10 getCharToProcess::closest_dist#12 ] zp ZP_BYTE:21 [ getCharToProcess::closest_y#7 getCharToProcess::closest_y#9 getCharToProcess::return_y#1 getCharToProcess::return_y#7 ] reg byte a [ getCharToProcess::$14 ] zp ZP_BYTE:20 [ getCharToProcess::closest_x#7 getCharToProcess::closest_x#9 getCharToProcess::return_x#1 getCharToProcess::return_x#7 ] zp ZP_BYTE:17 [ getCharToProcess::x#2 getCharToProcess::x#1 ] zp ZP_BYTE:109 [ getCharToProcess::$13 ] zp ZP_BYTE:16 [ getCharToProcess::y#7 getCharToProcess::y#1 ] zp ZP_WORD:14 [ getCharToProcess::screen_line#4 getCharToProcess::screen_line#1 ] zp ZP_BYTE:45 [ getCharToProcess::return_x#0 ] zp ZP_BYTE:46 [ getCharToProcess::return_y#0 ] zp ZP_WORD:47 [ getCharToProcess::return_dist#0 ] zp ZP_WORD:113 [ getCharToProcess::$15 ] zp ZP_WORD:115 [ getCharToProcess::$16 ] zp ZP_WORD:117 [ getCharToProcess::$10 ] zp ZP_WORD:119 [ getCharToProcess::$11 ] zp ZP_WORD:111 [ getCharToProcess::$9 ]
|
||||
Uplifting [getCharToProcess] best 301274 combination zp ZP_WORD:22 [ getCharToProcess::return_dist#1 getCharToProcess::return_dist#5 getCharToProcess::return_dist#6 getCharToProcess::dist#0 ] zp ZP_WORD:18 [ getCharToProcess::closest_dist#2 getCharToProcess::closest_dist#8 getCharToProcess::closest_dist#10 getCharToProcess::closest_dist#12 ] zp ZP_BYTE:21 [ getCharToProcess::closest_y#7 getCharToProcess::closest_y#9 getCharToProcess::return_y#1 getCharToProcess::return_y#7 ] reg byte a [ getCharToProcess::$14 ] zp ZP_BYTE:20 [ getCharToProcess::closest_x#7 getCharToProcess::closest_x#9 getCharToProcess::return_x#1 getCharToProcess::return_x#7 ] zp ZP_BYTE:17 [ getCharToProcess::x#2 getCharToProcess::x#1 ] zp ZP_BYTE:109 [ getCharToProcess::$13 ] zp ZP_BYTE:16 [ getCharToProcess::y#7 getCharToProcess::y#1 ] zp ZP_WORD:14 [ getCharToProcess::screen_line#4 getCharToProcess::screen_line#1 ] zp ZP_BYTE:45 [ getCharToProcess::return_x#0 ] zp ZP_BYTE:46 [ getCharToProcess::return_y#0 ] zp ZP_WORD:47 [ getCharToProcess::return_dist#0 ] zp ZP_WORD:113 [ getCharToProcess::$15 ] zp ZP_WORD:115 [ getCharToProcess::$16 ] zp ZP_WORD:117 [ getCharToProcess::$10 ] zp ZP_WORD:119 [ getCharToProcess::$11 ] zp ZP_WORD:111 [ getCharToProcess::$9 ]
|
||||
Limited combination testing to 100 combinations of 8748 possible.
|
||||
Uplifting [mul8u] best 295640 combination zp ZP_WORD:34 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:36 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#2 mul8u::a#1 mul8u::a#0 ] reg byte a [ mul8u::$1 ] reg byte a [ mul8u::b#1 ] reg byte a [ mul8u::b#0 ] zp ZP_WORD:121 [ mul8u::return#2 ] zp ZP_WORD:126 [ mul8u::return#3 ]
|
||||
Uplifting [mul8u] best 300248 combination zp ZP_WORD:34 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:36 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#2 mul8u::a#1 mul8u::a#0 ] reg byte a [ mul8u::$1 ] reg byte a [ mul8u::b#1 ] reg byte a [ mul8u::b#0 ] zp ZP_WORD:121 [ mul8u::return#2 ] zp ZP_WORD:126 [ mul8u::return#3 ]
|
||||
Limited combination testing to 100 combinations of 192 possible.
|
||||
Uplifting [initSquareTables] best 295480 combination reg byte a [ initSquareTables::x_dist#0 initSquareTables::$4 initSquareTables::$2 ] reg byte a [ initSquareTables::y_dist#0 initSquareTables::$12 initSquareTables::$10 ] zp ZP_BYTE:27 [ initSquareTables::x#2 initSquareTables::x#1 ] zp ZP_BYTE:29 [ initSquareTables::y#2 initSquareTables::y#1 ] zp ZP_BYTE:125 [ initSquareTables::$16 ] zp ZP_BYTE:130 [ initSquareTables::$17 ] zp ZP_WORD:123 [ initSquareTables::$6 ] zp ZP_WORD:128 [ initSquareTables::$14 ]
|
||||
Uplifting [initSquareTables] best 300088 combination reg byte a [ initSquareTables::x_dist#0 initSquareTables::$4 initSquareTables::$2 ] reg byte a [ initSquareTables::y_dist#0 initSquareTables::$12 initSquareTables::$10 ] zp ZP_BYTE:27 [ initSquareTables::x#2 initSquareTables::x#1 ] zp ZP_BYTE:29 [ initSquareTables::y#2 initSquareTables::y#1 ] zp ZP_BYTE:125 [ initSquareTables::$16 ] zp ZP_BYTE:130 [ initSquareTables::$17 ] zp ZP_WORD:123 [ initSquareTables::$6 ] zp ZP_WORD:128 [ initSquareTables::$14 ]
|
||||
Limited combination testing to 100 combinations of 2304 possible.
|
||||
Uplifting [main] best 295240 combination zp ZP_WORD:2 [ main::src#2 main::src#1 ] zp ZP_WORD:4 [ main::dst#2 main::dst#1 ] reg byte a [ main::$26 ] reg byte a [ main::$27 ] reg byte a [ main::$28 ] reg byte a [ main::$29 ] zp ZP_WORD:51 [ main::center_dist#0 ] zp ZP_BYTE:6 [ main::i#2 main::i#1 ] zp ZP_BYTE:44 [ main::$16 ] zp ZP_BYTE:49 [ main::center_x#0 ] zp ZP_BYTE:50 [ main::center_y#0 ]
|
||||
Uplifting [main] best 299848 combination zp ZP_WORD:2 [ main::src#2 main::src#1 ] zp ZP_WORD:4 [ main::dst#2 main::dst#1 ] reg byte a [ main::$26 ] reg byte a [ main::$27 ] reg byte a [ main::$28 ] reg byte a [ main::$29 ] zp ZP_WORD:51 [ main::center_dist#0 ] zp ZP_BYTE:6 [ main::i#2 main::i#1 ] zp ZP_BYTE:44 [ main::$16 ] zp ZP_BYTE:49 [ main::center_x#0 ] zp ZP_BYTE:50 [ main::center_y#0 ]
|
||||
Limited combination testing to 100 combinations of 20736 possible.
|
||||
Uplifting [initSprites] best 295120 combination zp ZP_WORD:24 [ initSprites::sp#2 initSprites::sp#1 ] reg byte x [ initSprites::i#2 initSprites::i#1 ]
|
||||
Uplifting [ProcessingChar] best 295120 combination
|
||||
Uplifting [ProcessingSprite] best 295120 combination
|
||||
Uplifting [ProcessingSprite::$0] best 295120 combination
|
||||
Uplifting [setupRasterIrq] best 295120 combination
|
||||
Uplifting [irqTop] best 295120 combination
|
||||
Uplifting [irqBottom] best 295120 combination
|
||||
Uplifting [] best 295120 combination
|
||||
Uplifting [initSprites] best 299728 combination zp ZP_WORD:24 [ initSprites::sp#2 initSprites::sp#1 ] reg byte x [ initSprites::i#2 initSprites::i#1 ]
|
||||
Uplifting [ProcessingChar] best 299728 combination
|
||||
Uplifting [ProcessingSprite] best 299728 combination
|
||||
Uplifting [ProcessingSprite::$0] best 299728 combination
|
||||
Uplifting [setupRasterIrq] best 299728 combination
|
||||
Uplifting [irqTop] best 299728 combination
|
||||
Uplifting [irqBottom] best 299728 combination
|
||||
Uplifting [] best 299728 combination
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:21 [ getCharToProcess::closest_y#7 getCharToProcess::closest_y#9 getCharToProcess::return_y#1 getCharToProcess::return_y#7 ]
|
||||
Uplifting [getCharToProcess] best 295120 combination zp ZP_BYTE:21 [ getCharToProcess::closest_y#7 getCharToProcess::closest_y#9 getCharToProcess::return_y#1 getCharToProcess::return_y#7 ]
|
||||
Uplifting [getCharToProcess] best 299728 combination zp ZP_BYTE:21 [ getCharToProcess::closest_y#7 getCharToProcess::closest_y#9 getCharToProcess::return_y#1 getCharToProcess::return_y#7 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:8 [ startProcessing::freeIdx#2 startProcessing::freeIdx#8 startProcessing::i#2 startProcessing::i#1 ]
|
||||
Uplifting [startProcessing] best 295120 combination zp ZP_BYTE:8 [ startProcessing::freeIdx#2 startProcessing::freeIdx#8 startProcessing::i#2 startProcessing::i#1 ]
|
||||
Uplifting [startProcessing] best 299728 combination zp ZP_BYTE:8 [ startProcessing::freeIdx#2 startProcessing::freeIdx#8 startProcessing::i#2 startProcessing::i#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:55 [ startProcessing::$42 ]
|
||||
Uplifting [startProcessing] best 289120 combination reg byte a [ startProcessing::$42 ]
|
||||
Uplifting [startProcessing] best 293728 combination reg byte a [ startProcessing::$42 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:56 [ startProcessing::$43 ]
|
||||
Uplifting [startProcessing] best 283120 combination reg byte a [ startProcessing::$43 ]
|
||||
Uplifting [startProcessing] best 287728 combination reg byte a [ startProcessing::$43 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:57 [ startProcessing::$44 ]
|
||||
Uplifting [startProcessing] best 277120 combination reg byte a [ startProcessing::$44 ]
|
||||
Uplifting [startProcessing] best 281728 combination reg byte a [ startProcessing::$44 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:58 [ startProcessing::$45 ]
|
||||
Uplifting [startProcessing] best 271120 combination reg byte a [ startProcessing::$45 ]
|
||||
Uplifting [startProcessing] best 275728 combination reg byte a [ startProcessing::$45 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:59 [ startProcessing::$30 ]
|
||||
Uplifting [startProcessing] best 267120 combination reg byte a [ startProcessing::$30 ]
|
||||
Uplifting [startProcessing] best 271728 combination reg byte a [ startProcessing::$30 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:20 [ getCharToProcess::closest_x#7 getCharToProcess::closest_x#9 getCharToProcess::return_x#1 getCharToProcess::return_x#7 ]
|
||||
Uplifting [getCharToProcess] best 267120 combination zp ZP_BYTE:20 [ getCharToProcess::closest_x#7 getCharToProcess::closest_x#9 getCharToProcess::return_x#1 getCharToProcess::return_x#7 ]
|
||||
Uplifting [getCharToProcess] best 271728 combination zp ZP_BYTE:20 [ getCharToProcess::closest_x#7 getCharToProcess::closest_x#9 getCharToProcess::return_x#1 getCharToProcess::return_x#7 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:17 [ getCharToProcess::x#2 getCharToProcess::x#1 ]
|
||||
Uplifting [getCharToProcess] best 267120 combination zp ZP_BYTE:17 [ getCharToProcess::x#2 getCharToProcess::x#1 ]
|
||||
Uplifting [getCharToProcess] best 271728 combination zp ZP_BYTE:17 [ getCharToProcess::x#2 getCharToProcess::x#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:109 [ getCharToProcess::$13 ]
|
||||
Uplifting [getCharToProcess] best 263120 combination reg byte x [ getCharToProcess::$13 ]
|
||||
Uplifting [getCharToProcess] best 267728 combination reg byte x [ getCharToProcess::$13 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:16 [ getCharToProcess::y#7 getCharToProcess::y#1 ]
|
||||
Uplifting [getCharToProcess] best 263120 combination zp ZP_BYTE:16 [ getCharToProcess::y#7 getCharToProcess::y#1 ]
|
||||
Uplifting [getCharToProcess] best 267728 combination zp ZP_BYTE:16 [ getCharToProcess::y#7 getCharToProcess::y#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ startProcessing::freeIdx#6 startProcessing::freeIdx#7 ]
|
||||
Uplifting [startProcessing] best 262220 combination reg byte x [ startProcessing::freeIdx#6 startProcessing::freeIdx#7 ]
|
||||
Uplifting [startProcessing] best 266828 combination reg byte x [ startProcessing::freeIdx#6 startProcessing::freeIdx#7 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ startProcessing::i1#2 startProcessing::i1#1 ]
|
||||
Uplifting [startProcessing] best 261320 combination reg byte x [ startProcessing::i1#2 startProcessing::i1#1 ]
|
||||
Uplifting [startProcessing] best 265928 combination reg byte x [ startProcessing::i1#2 startProcessing::i1#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:39 [ processChars::numActive#10 processChars::numActive#3 processChars::numActive#1 ]
|
||||
Uplifting [processChars] best 261320 combination zp ZP_BYTE:39 [ processChars::numActive#10 processChars::numActive#3 processChars::numActive#1 ]
|
||||
Uplifting [processChars] best 265928 combination zp ZP_BYTE:39 [ processChars::numActive#10 processChars::numActive#3 processChars::numActive#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:27 [ initSquareTables::x#2 initSquareTables::x#1 ]
|
||||
Uplifting [initSquareTables] best 261320 combination zp ZP_BYTE:27 [ initSquareTables::x#2 initSquareTables::x#1 ]
|
||||
Uplifting [initSquareTables] best 265928 combination zp ZP_BYTE:27 [ initSquareTables::x#2 initSquareTables::x#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:29 [ initSquareTables::y#2 initSquareTables::y#1 ]
|
||||
Uplifting [initSquareTables] best 261320 combination zp ZP_BYTE:29 [ initSquareTables::y#2 initSquareTables::y#1 ]
|
||||
Uplifting [initSquareTables] best 265928 combination zp ZP_BYTE:29 [ initSquareTables::y#2 initSquareTables::y#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:125 [ initSquareTables::$16 ]
|
||||
Uplifting [initSquareTables] best 261280 combination reg byte a [ initSquareTables::$16 ]
|
||||
Uplifting [initSquareTables] best 265888 combination reg byte a [ initSquareTables::$16 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:130 [ initSquareTables::$17 ]
|
||||
Uplifting [initSquareTables] best 261240 combination reg byte a [ initSquareTables::$17 ]
|
||||
Uplifting [initSquareTables] best 265848 combination reg byte a [ initSquareTables::$17 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:132 [ processChars::$67 ]
|
||||
Uplifting [processChars] best 261180 combination reg byte a [ processChars::$67 ]
|
||||
Uplifting [processChars] best 265788 combination reg byte a [ processChars::$67 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:133 [ processChars::$68 ]
|
||||
Uplifting [processChars] best 261120 combination reg byte a [ processChars::$68 ]
|
||||
Uplifting [processChars] best 265728 combination reg byte a [ processChars::$68 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:134 [ processChars::$69 ]
|
||||
Uplifting [processChars] best 261060 combination reg byte a [ processChars::$69 ]
|
||||
Uplifting [processChars] best 265668 combination reg byte a [ processChars::$69 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:135 [ processChars::$70 ]
|
||||
Uplifting [processChars] best 261000 combination reg byte a [ processChars::$70 ]
|
||||
Uplifting [processChars] best 265608 combination reg byte a [ processChars::$70 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:136 [ processChars::$37 ]
|
||||
Uplifting [processChars] best 260940 combination reg byte a [ processChars::$37 ]
|
||||
Uplifting [processChars] best 265548 combination reg byte a [ processChars::$37 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:142 [ processChars::$11 ]
|
||||
Uplifting [processChars] best 260880 combination reg byte a [ processChars::$11 ]
|
||||
Uplifting [processChars] best 265488 combination reg byte a [ processChars::$11 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:143 [ processChars::$12 ]
|
||||
Uplifting [processChars] best 260820 combination reg byte a [ processChars::$12 ]
|
||||
Uplifting [processChars] best 265428 combination reg byte a [ processChars::$12 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:145 [ processChars::$14 ]
|
||||
Uplifting [processChars] best 260760 combination reg byte a [ processChars::$14 ]
|
||||
Uplifting [processChars] best 265368 combination reg byte a [ processChars::$14 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:151 [ processChars::$26 ]
|
||||
Uplifting [processChars] best 260720 combination reg byte a [ processChars::$26 ]
|
||||
Uplifting [processChars] best 265328 combination reg byte a [ processChars::$26 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:152 [ processChars::xchar#0 ]
|
||||
Uplifting [processChars] best 260660 combination reg byte a [ processChars::xchar#0 ]
|
||||
Uplifting [processChars] best 265268 combination reg byte a [ processChars::xchar#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:153 [ processChars::$38 ]
|
||||
Uplifting [processChars] best 260620 combination reg byte a [ processChars::$38 ]
|
||||
Uplifting [processChars] best 265228 combination reg byte a [ processChars::$38 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:154 [ processChars::$30 ]
|
||||
Uplifting [processChars] best 260580 combination reg byte a [ processChars::$30 ]
|
||||
Uplifting [processChars] best 265188 combination reg byte a [ processChars::$30 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:155 [ processChars::ychar#0 ]
|
||||
Uplifting [processChars] best 260520 combination reg byte a [ processChars::ychar#0 ]
|
||||
Uplifting [processChars] best 265128 combination reg byte a [ processChars::ychar#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:156 [ processChars::$39 ]
|
||||
Uplifting [processChars] best 260480 combination reg byte a [ processChars::$39 ]
|
||||
Uplifting [processChars] best 265088 combination reg byte a [ processChars::$39 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:157 [ processChars::$33 ]
|
||||
Uplifting [processChars] best 260420 combination reg byte a [ processChars::$33 ]
|
||||
Uplifting [processChars] best 265028 combination reg byte a [ processChars::$33 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:6 [ main::i#2 main::i#1 ]
|
||||
Uplifting [main] best 260420 combination zp ZP_BYTE:6 [ main::i#2 main::i#1 ]
|
||||
Uplifting [main] best 265028 combination zp ZP_BYTE:6 [ main::i#2 main::i#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:38 [ processChars::i#10 processChars::i#1 ]
|
||||
Uplifting [processChars] best 260420 combination zp ZP_BYTE:38 [ processChars::i#10 processChars::i#1 ]
|
||||
Uplifting [processChars] best 265028 combination zp ZP_BYTE:38 [ processChars::i#10 processChars::i#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:44 [ main::$16 ]
|
||||
Uplifting [main] best 260260 combination reg byte x [ main::$16 ]
|
||||
Uplifting [main] best 264868 combination reg byte x [ main::$16 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:45 [ getCharToProcess::return_x#0 ]
|
||||
Uplifting [getCharToProcess] best 260200 combination reg byte x [ getCharToProcess::return_x#0 ]
|
||||
Uplifting [getCharToProcess] best 264808 combination reg byte x [ getCharToProcess::return_x#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:46 [ getCharToProcess::return_y#0 ]
|
||||
Uplifting [getCharToProcess] best 260140 combination reg byte y [ getCharToProcess::return_y#0 ]
|
||||
Uplifting [getCharToProcess] best 264748 combination reg byte y [ getCharToProcess::return_y#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:144 [ processChars::$17 ]
|
||||
Uplifting [processChars] best 260070 combination reg byte x [ processChars::$17 ]
|
||||
Uplifting [processChars] best 264678 combination reg byte x [ processChars::$17 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:49 [ main::center_x#0 ]
|
||||
Uplifting [main] best 260010 combination reg byte x [ main::center_x#0 ]
|
||||
Uplifting [main] best 264618 combination reg byte x [ main::center_x#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:50 [ main::center_y#0 ]
|
||||
Uplifting [main] best 259950 combination reg byte y [ main::center_y#0 ]
|
||||
Uplifting [main] best 264558 combination reg byte y [ main::center_y#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:104 [ startProcessing::$50 ]
|
||||
Uplifting [startProcessing] best 259944 combination reg byte a [ startProcessing::$50 ]
|
||||
Uplifting [startProcessing] best 264552 combination reg byte a [ startProcessing::$50 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:105 [ startProcessing::$51 ]
|
||||
Uplifting [startProcessing] best 259938 combination reg byte a [ startProcessing::$51 ]
|
||||
Uplifting [startProcessing] best 264546 combination reg byte a [ startProcessing::$51 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:106 [ startProcessing::$52 ]
|
||||
Uplifting [startProcessing] best 259932 combination reg byte a [ startProcessing::$52 ]
|
||||
Uplifting [startProcessing] best 264540 combination reg byte a [ startProcessing::$52 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:107 [ startProcessing::$53 ]
|
||||
Uplifting [startProcessing] best 259926 combination reg byte a [ startProcessing::$53 ]
|
||||
Uplifting [startProcessing] best 264534 combination reg byte a [ startProcessing::$53 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:148 [ processChars::ypos#0 ]
|
||||
Uplifting [processChars] best 259926 combination zp ZP_BYTE:148 [ processChars::ypos#0 ]
|
||||
Uplifting [processChars] best 264534 combination zp ZP_BYTE:148 [ processChars::ypos#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:108 [ startProcessing::$31 ]
|
||||
Uplifting [startProcessing] best 259901 combination reg byte x [ startProcessing::$31 ]
|
||||
Uplifting [startProcessing] best 264509 combination reg byte x [ startProcessing::$31 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:139 [ processChars::bitmask#0 ]
|
||||
Uplifting [processChars] best 259901 combination zp ZP_BYTE:139 [ processChars::bitmask#0 ]
|
||||
Uplifting [processChars] best 264509 combination zp ZP_BYTE:139 [ processChars::bitmask#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:79 [ startProcessing::ch#0 ]
|
||||
Uplifting [startProcessing] best 259895 combination reg byte a [ startProcessing::ch#0 ]
|
||||
Uplifting [startProcessing] best 264503 combination reg byte a [ startProcessing::ch#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:101 [ startProcessing::$22 ]
|
||||
Uplifting [startProcessing] best 259889 combination reg byte a [ startProcessing::$22 ]
|
||||
Uplifting [startProcessing] best 264497 combination reg byte a [ startProcessing::$22 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:53 [ startProcessing::center_x#0 ]
|
||||
Uplifting [startProcessing] best 259889 combination zp ZP_BYTE:53 [ startProcessing::center_x#0 ]
|
||||
Uplifting [startProcessing] best 264497 combination zp ZP_BYTE:53 [ startProcessing::center_x#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:100 [ startProcessing::spritePtr#0 ]
|
||||
Uplifting [startProcessing] best 259889 combination zp ZP_BYTE:100 [ startProcessing::spritePtr#0 ]
|
||||
Uplifting [startProcessing] best 264497 combination zp ZP_BYTE:100 [ startProcessing::spritePtr#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:54 [ startProcessing::center_y#0 ]
|
||||
Uplifting [startProcessing] best 259889 combination zp ZP_BYTE:54 [ startProcessing::center_y#0 ]
|
||||
Uplifting [startProcessing] best 264497 combination zp ZP_BYTE:54 [ startProcessing::center_y#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:72 [ startProcessing::spriteCol#0 ]
|
||||
Uplifting [startProcessing] best 259889 combination zp ZP_BYTE:72 [ startProcessing::spriteCol#0 ]
|
||||
Uplifting [startProcessing] best 264497 combination zp ZP_BYTE:72 [ startProcessing::spriteCol#0 ]
|
||||
Coalescing zero page register with common assignment [ zp ZP_WORD:9 [ startProcessing::chargenData#2 startProcessing::chargenData#0 startProcessing::chargenData#1 ] ] with [ zp ZP_WORD:82 [ startProcessing::$9 ] ] - score: 1
|
||||
Coalescing zero page register with common assignment [ zp ZP_WORD:11 [ startProcessing::spriteData#2 startProcessing::spriteData#0 startProcessing::spriteData#1 ] ] with [ zp ZP_WORD:77 [ startProcessing::$6 ] ] - score: 1
|
||||
Coalescing zero page register with common assignment [ zp ZP_WORD:22 [ getCharToProcess::return_dist#1 getCharToProcess::return_dist#5 getCharToProcess::return_dist#6 getCharToProcess::dist#0 ] ] with [ zp ZP_WORD:47 [ getCharToProcess::return_dist#0 ] ] - score: 1
|
||||
@ -8597,6 +8598,7 @@ irqTop: {
|
||||
ldy #00
|
||||
rti
|
||||
}
|
||||
//SEG437 File Data
|
||||
// Copy of the screen used for finding chars to process
|
||||
SCREEN_COPY: .fill $3e8, 0
|
||||
// SQUARES_X[i] = (i-20)*(i-20)
|
||||
@ -9381,7 +9383,7 @@ reg byte a [ processChars::$33 ]
|
||||
|
||||
|
||||
FINAL ASSEMBLER
|
||||
Score: 243658
|
||||
Score: 248266
|
||||
|
||||
//SEG0 File Comments
|
||||
// Clears start screen throwing around the letters (by turning them into sprites)
|
||||
@ -10917,6 +10919,7 @@ irqTop: {
|
||||
ldy #00
|
||||
rti
|
||||
}
|
||||
//SEG437 File Data
|
||||
// Copy of the screen used for finding chars to process
|
||||
SCREEN_COPY: .fill $3e8, 0
|
||||
// SQUARES_X[i] = (i-20)*(i-20)
|
||||
|
@ -44,9 +44,6 @@ Adding pointer type conversion cast (void()**) KERNEL_IRQ in (void()**) KERNEL_I
|
||||
Adding pointer type conversion cast (void()**) HARDWARE_IRQ in (void()**) HARDWARE_IRQ ← (number) $fffe
|
||||
Adding pointer type conversion cast to void pointer (byte*) memcpy::source in (byte*) memcpy::src ← (void*) memcpy::source
|
||||
Adding pointer type conversion cast to void pointer (byte*) memcpy::destination in (byte*) memcpy::dst ← (void*) memcpy::destination
|
||||
Adding pointer type conversion cast to void pointer (byte*) memmove::$3 in (byte*) memmove::src ← (void*~) memmove::$3
|
||||
Adding pointer type conversion cast to void pointer (byte*) memmove::$4 in (byte*) memmove::dst ← (void*~) memmove::$4
|
||||
Adding pointer type conversion cast to void pointer (byte*) memset::$0 in (byte*) memset::end ← (void*~) memset::$0
|
||||
Adding pointer type conversion cast to void pointer (byte*) memset::str in (byte*) memset::dst ← (void*) memset::str
|
||||
Adding pointer type conversion cast (byte*) MEDUSA_SCREEN in (byte*) MEDUSA_SCREEN ← (number) $1000
|
||||
Adding pointer type conversion cast (byte*) MEDUSA_COLORS in (byte*) MEDUSA_COLORS ← (number) $1400
|
||||
@ -600,6 +597,7 @@ memcpy: {
|
||||
//SEG44 [20] return
|
||||
rts
|
||||
}
|
||||
//SEG45 File Data
|
||||
.pc = MEDUSA_SCREEN "MEDUSA_SCREEN"
|
||||
.var fileScreen = LoadBinary("medusas.prg", BF_C64FILE)
|
||||
.fill fileScreen.getSize(), fileScreen.get(i)
|
||||
@ -627,9 +625,9 @@ Uplift Scope [memcpy] 27: zp ZP_WORD:8 [ memcpy::dst#2 memcpy::dst#3 memcpy::dst
|
||||
Uplift Scope [main]
|
||||
Uplift Scope []
|
||||
|
||||
Uplifting [memcpy] best 1673 combination zp ZP_WORD:8 [ memcpy::dst#2 memcpy::dst#3 memcpy::dst#1 ] zp ZP_WORD:10 [ memcpy::i#2 memcpy::i#1 ] zp ZP_WORD:6 [ memcpy::src#2 memcpy::src#3 memcpy::src#1 ] zp ZP_WORD:2 [ memcpy::source#2 ] zp ZP_WORD:4 [ memcpy::destination#2 ]
|
||||
Uplifting [main] best 1673 combination
|
||||
Uplifting [] best 1673 combination
|
||||
Uplifting [memcpy] best 6281 combination zp ZP_WORD:8 [ memcpy::dst#2 memcpy::dst#3 memcpy::dst#1 ] zp ZP_WORD:10 [ memcpy::i#2 memcpy::i#1 ] zp ZP_WORD:6 [ memcpy::src#2 memcpy::src#3 memcpy::src#1 ] zp ZP_WORD:2 [ memcpy::source#2 ] zp ZP_WORD:4 [ memcpy::destination#2 ]
|
||||
Uplifting [main] best 6281 combination
|
||||
Uplifting [] best 6281 combination
|
||||
Coalescing zero page register with common assignment [ zp ZP_WORD:2 [ memcpy::source#2 ] ] with [ zp ZP_WORD:6 [ memcpy::src#2 memcpy::src#3 memcpy::src#1 ] ] - score: 1
|
||||
Coalescing zero page register with common assignment [ zp ZP_WORD:4 [ memcpy::destination#2 ] ] with [ zp ZP_WORD:8 [ memcpy::dst#2 memcpy::dst#3 memcpy::dst#1 ] ] - score: 1
|
||||
Allocated (was zp ZP_WORD:10) zp ZP_WORD:6 [ memcpy::i#2 memcpy::i#1 ]
|
||||
@ -782,6 +780,7 @@ memcpy: {
|
||||
//SEG44 [20] return
|
||||
rts
|
||||
}
|
||||
//SEG45 File Data
|
||||
.pc = MEDUSA_SCREEN "MEDUSA_SCREEN"
|
||||
.var fileScreen = LoadBinary("medusas.prg", BF_C64FILE)
|
||||
.fill fileScreen.getSize(), fileScreen.get(i)
|
||||
@ -874,7 +873,7 @@ zp ZP_WORD:6 [ memcpy::i#2 memcpy::i#1 ]
|
||||
|
||||
|
||||
FINAL ASSEMBLER
|
||||
Score: 1471
|
||||
Score: 6079
|
||||
|
||||
//SEG0 File Comments
|
||||
// Display MEDUSA PETSCII by Buzz_clik
|
||||
@ -999,6 +998,7 @@ memcpy: {
|
||||
//SEG44 [20] return
|
||||
rts
|
||||
}
|
||||
//SEG45 File Data
|
||||
.pc = MEDUSA_SCREEN "MEDUSA_SCREEN"
|
||||
.var fileScreen = LoadBinary("medusas.prg", BF_C64FILE)
|
||||
.fill fileScreen.getSize(), fileScreen.get(i)
|
||||
|
@ -2850,6 +2850,7 @@ sprites_irq: {
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+3
|
||||
jmp b2
|
||||
}
|
||||
//SEG187 File Data
|
||||
.pc = PLAYFIELD_SPRITES "PLAYFIELD_SPRITES"
|
||||
.var sprites = LoadPicture("playfield-sprites.png", List().add($010101, $000000))
|
||||
// Put the sprites into memory
|
||||
@ -3029,42 +3030,42 @@ Uplift Scope [sprites_init] 25.3: zp ZP_BYTE:8 [ sprites_init::s#2 sprites_init:
|
||||
Uplift Scope [sprites_irq] 6.5: zp ZP_BYTE:10 [ sprites_irq::raster_sprite_gfx_modify#0 ] 4: zp ZP_BYTE:21 [ sprites_irq::$0 ] 4: zp ZP_BYTE:24 [ sprites_irq::ptr#4 ] 4: zp ZP_BYTE:26 [ sprites_irq::ptr#2 ] 2.67: zp ZP_BYTE:23 [ sprites_irq::ptr#3 ] 2.67: zp ZP_BYTE:25 [ sprites_irq::ptr#1 ] 2.5: zp ZP_BYTE:20 [ sprites_irq::ypos#0 ] 2.5: zp ZP_BYTE:22 [ sprites_irq::ptr#0 ]
|
||||
Uplift Scope [sprites_irq_init]
|
||||
|
||||
Uplifting [loop] best 9610 combination zp ZP_BYTE:6 [ loop::s#2 loop::s#1 ] reg byte a [ loop::$1 ] reg byte x [ loop::idx#2 loop::idx#0 loop::idx#1 ]
|
||||
Uplifting [] best 9610 combination zp ZP_BYTE:14 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ] zp ZP_BYTE:13 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ] zp ZP_BYTE:15 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ] zp ZP_BYTE:5 [ sin_idx#10 sin_idx#3 ] zp ZP_BYTE:12 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ] zp ZP_BYTE:11 [ render_screen_showing#0 ]
|
||||
Uplifting [main] best 9330 combination reg byte y [ main::s#2 main::s#1 ] reg byte a [ main::$6 ] reg byte x [ main::s2#0 ] zp ZP_BYTE:4 [ main::ypos#2 main::ypos#1 ] zp ZP_BYTE:3 [ main::xpos#2 main::xpos#1 ]
|
||||
Uplifting [loop] best 16522 combination zp ZP_BYTE:6 [ loop::s#2 loop::s#1 ] reg byte a [ loop::$1 ] reg byte x [ loop::idx#2 loop::idx#0 loop::idx#1 ]
|
||||
Uplifting [] best 16522 combination zp ZP_BYTE:14 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ] zp ZP_BYTE:13 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ] zp ZP_BYTE:15 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ] zp ZP_BYTE:5 [ sin_idx#10 sin_idx#3 ] zp ZP_BYTE:12 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ] zp ZP_BYTE:11 [ render_screen_showing#0 ]
|
||||
Uplifting [main] best 16242 combination reg byte y [ main::s#2 main::s#1 ] reg byte a [ main::$6 ] reg byte x [ main::s2#0 ] zp ZP_BYTE:4 [ main::ypos#2 main::ypos#1 ] zp ZP_BYTE:3 [ main::xpos#2 main::xpos#1 ]
|
||||
Limited combination testing to 100 combinations of 324 possible.
|
||||
Uplifting [sprites_init] best 9160 combination reg byte y [ sprites_init::s#2 sprites_init::s#1 ] reg byte x [ sprites_init::s2#0 ] zp ZP_BYTE:9 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Uplifting [sprites_irq] best 9136 combination zp ZP_BYTE:10 [ sprites_irq::raster_sprite_gfx_modify#0 ] reg byte x [ sprites_irq::$0 ] reg byte a [ sprites_irq::ptr#4 ] reg byte a [ sprites_irq::ptr#2 ] reg byte a [ sprites_irq::ptr#3 ] zp ZP_BYTE:25 [ sprites_irq::ptr#1 ] zp ZP_BYTE:20 [ sprites_irq::ypos#0 ] zp ZP_BYTE:22 [ sprites_irq::ptr#0 ]
|
||||
Uplifting [sprites_init] best 16072 combination reg byte y [ sprites_init::s#2 sprites_init::s#1 ] reg byte x [ sprites_init::s2#0 ] zp ZP_BYTE:9 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Uplifting [sprites_irq] best 16048 combination zp ZP_BYTE:10 [ sprites_irq::raster_sprite_gfx_modify#0 ] reg byte x [ sprites_irq::$0 ] reg byte a [ sprites_irq::ptr#4 ] reg byte a [ sprites_irq::ptr#2 ] reg byte a [ sprites_irq::ptr#3 ] zp ZP_BYTE:25 [ sprites_irq::ptr#1 ] zp ZP_BYTE:20 [ sprites_irq::ypos#0 ] zp ZP_BYTE:22 [ sprites_irq::ptr#0 ]
|
||||
Limited combination testing to 100 combinations of 12288 possible.
|
||||
Uplifting [sprites_irq_init] best 9136 combination
|
||||
Uplifting [sprites_irq_init] best 16048 combination
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:6 [ loop::s#2 loop::s#1 ]
|
||||
Uplifting [loop] best 9136 combination zp ZP_BYTE:6 [ loop::s#2 loop::s#1 ]
|
||||
Uplifting [loop] best 16048 combination zp ZP_BYTE:6 [ loop::s#2 loop::s#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:14 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ]
|
||||
Uplifting [] best 9136 combination zp ZP_BYTE:14 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ]
|
||||
Uplifting [] best 16048 combination zp ZP_BYTE:14 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ]
|
||||
Uplifting [] best 9136 combination zp ZP_BYTE:13 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ]
|
||||
Uplifting [] best 16048 combination zp ZP_BYTE:13 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:15 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ]
|
||||
Uplifting [] best 9136 combination zp ZP_BYTE:15 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ]
|
||||
Uplifting [] best 16048 combination zp ZP_BYTE:15 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ sin_idx#10 sin_idx#3 ]
|
||||
Uplifting [] best 9136 combination zp ZP_BYTE:5 [ sin_idx#10 sin_idx#3 ]
|
||||
Uplifting [] best 16048 combination zp ZP_BYTE:5 [ sin_idx#10 sin_idx#3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:9 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Uplifting [sprites_init] best 9136 combination zp ZP_BYTE:9 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Uplifting [sprites_init] best 16048 combination zp ZP_BYTE:9 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:12 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ]
|
||||
Uplifting [] best 9136 combination zp ZP_BYTE:12 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ]
|
||||
Uplifting [] best 16048 combination zp ZP_BYTE:12 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ main::ypos#2 main::ypos#1 ]
|
||||
Uplifting [main] best 9136 combination zp ZP_BYTE:4 [ main::ypos#2 main::ypos#1 ]
|
||||
Uplifting [main] best 16048 combination zp ZP_BYTE:4 [ main::ypos#2 main::ypos#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ main::xpos#2 main::xpos#1 ]
|
||||
Uplifting [main] best 9136 combination zp ZP_BYTE:3 [ main::xpos#2 main::xpos#1 ]
|
||||
Uplifting [main] best 16048 combination zp ZP_BYTE:3 [ main::xpos#2 main::xpos#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:10 [ sprites_irq::raster_sprite_gfx_modify#0 ]
|
||||
Uplifting [sprites_irq] best 9136 combination zp ZP_BYTE:10 [ sprites_irq::raster_sprite_gfx_modify#0 ]
|
||||
Uplifting [sprites_irq] best 16048 combination zp ZP_BYTE:10 [ sprites_irq::raster_sprite_gfx_modify#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ sprites_irq::ptr#1 ]
|
||||
Uplifting [sprites_irq] best 9124 combination reg byte x [ sprites_irq::ptr#1 ]
|
||||
Uplifting [sprites_irq] best 16036 combination reg byte x [ sprites_irq::ptr#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:20 [ sprites_irq::ypos#0 ]
|
||||
Uplifting [sprites_irq] best 9109 combination reg byte a [ sprites_irq::ypos#0 ]
|
||||
Uplifting [sprites_irq] best 16021 combination reg byte a [ sprites_irq::ypos#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:22 [ sprites_irq::ptr#0 ]
|
||||
Uplifting [sprites_irq] best 9094 combination reg byte x [ sprites_irq::ptr#0 ]
|
||||
Uplifting [sprites_irq] best 16006 combination reg byte x [ sprites_irq::ptr#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:11 [ render_screen_showing#0 ]
|
||||
Uplifting [] best 9094 combination zp ZP_BYTE:11 [ render_screen_showing#0 ]
|
||||
Uplifting [] best 16006 combination zp ZP_BYTE:11 [ render_screen_showing#0 ]
|
||||
Allocated (was zp ZP_BYTE:3) zp ZP_BYTE:2 [ main::xpos#2 main::xpos#1 ]
|
||||
Allocated (was zp ZP_BYTE:4) zp ZP_BYTE:3 [ main::ypos#2 main::ypos#1 ]
|
||||
Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:4 [ sin_idx#10 sin_idx#3 ]
|
||||
@ -3676,6 +3677,7 @@ sprites_irq: {
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+3
|
||||
jmp b2
|
||||
}
|
||||
//SEG187 File Data
|
||||
.pc = PLAYFIELD_SPRITES "PLAYFIELD_SPRITES"
|
||||
.var sprites = LoadPicture("playfield-sprites.png", List().add($010101, $000000))
|
||||
// Put the sprites into memory
|
||||
@ -4062,7 +4064,7 @@ reg byte a [ sprites_irq::ptr#2 ]
|
||||
|
||||
|
||||
FINAL ASSEMBLER
|
||||
Score: 7310
|
||||
Score: 14222
|
||||
|
||||
//SEG0 File Comments
|
||||
//SEG1 Basic Upstart
|
||||
@ -4565,6 +4567,7 @@ sprites_irq: {
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+3
|
||||
jmp b2
|
||||
}
|
||||
//SEG187 File Data
|
||||
.pc = PLAYFIELD_SPRITES "PLAYFIELD_SPRITES"
|
||||
.var sprites = LoadPicture("playfield-sprites.png", List().add($010101, $000000))
|
||||
// Put the sprites into memory
|
||||
|
@ -17871,6 +17871,7 @@ sprites_irq: {
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+3
|
||||
jmp b2
|
||||
}
|
||||
//SEG1270 File Data
|
||||
// Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7)
|
||||
keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f
|
||||
// Keyboard matrix column bitmasks for a specific keybooard matrix column when reading the keyboard. (columns are numbered 0-7)
|
||||
@ -18822,243 +18823,243 @@ Uplift Scope [sid_rnd_init]
|
||||
Uplift Scope [render_screen_swap]
|
||||
Uplift Scope [sprites_irq_init]
|
||||
|
||||
Uplifting [keyboard_event_scan] best 4699908 combination reg byte a [ keyboard_event_scan::$15 ] reg byte a [ keyboard_event_scan::$16 ] reg byte a [ keyboard_event_scan::event_type#0 ] reg byte a [ keyboard_event_scan::$23 ] zp ZP_BYTE:91 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:92 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] zp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:199 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:201 [ keyboard_event_scan::$0 ] zp ZP_BYTE:203 [ keyboard_event_scan::$3 ] zp ZP_BYTE:205 [ keyboard_event_scan::$6 ] zp ZP_BYTE:207 [ keyboard_event_scan::$9 ]
|
||||
Uplifting [keyboard_event_scan] best 4709124 combination reg byte a [ keyboard_event_scan::$15 ] reg byte a [ keyboard_event_scan::$16 ] reg byte a [ keyboard_event_scan::event_type#0 ] reg byte a [ keyboard_event_scan::$23 ] zp ZP_BYTE:91 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:92 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] zp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:199 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:201 [ keyboard_event_scan::$0 ] zp ZP_BYTE:203 [ keyboard_event_scan::$3 ] zp ZP_BYTE:205 [ keyboard_event_scan::$6 ] zp ZP_BYTE:207 [ keyboard_event_scan::$9 ]
|
||||
Limited combination testing to 100 combinations of 524288 possible.
|
||||
Uplifting [play_collision] best 4549908 combination zp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ] reg byte a [ play_collision::$5 ] zp ZP_BYTE:51 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ] reg byte x [ play_collision::c#2 play_collision::c#1 ] zp ZP_BYTE:156 [ play_collision::$14 ] zp ZP_BYTE:159 [ play_collision::i#1 ] zp ZP_BYTE:48 [ play_collision::yp#2 play_collision::yp#0 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 play_collision::yp#1 ] zp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ] zp ZP_WORD:157 [ play_collision::playfield_line#0 ] zp ZP_WORD:154 [ play_collision::piece_gfx#0 ] zp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ] zp ZP_BYTE:46 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ] zp ZP_BYTE:151 [ play_collision::return#14 ] zp ZP_BYTE:161 [ play_collision::return#13 ] zp ZP_BYTE:163 [ play_collision::return#1 ] zp ZP_BYTE:167 [ play_collision::return#0 ] zp ZP_BYTE:174 [ play_collision::return#10 ] zp ZP_BYTE:53 [ play_collision::return#15 ]
|
||||
Uplifting [play_collision] best 4559124 combination zp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ] reg byte a [ play_collision::$5 ] zp ZP_BYTE:51 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ] reg byte x [ play_collision::c#2 play_collision::c#1 ] zp ZP_BYTE:156 [ play_collision::$14 ] zp ZP_BYTE:159 [ play_collision::i#1 ] zp ZP_BYTE:48 [ play_collision::yp#2 play_collision::yp#0 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 play_collision::yp#1 ] zp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ] zp ZP_WORD:157 [ play_collision::playfield_line#0 ] zp ZP_WORD:154 [ play_collision::piece_gfx#0 ] zp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ] zp ZP_BYTE:46 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ] zp ZP_BYTE:151 [ play_collision::return#14 ] zp ZP_BYTE:161 [ play_collision::return#13 ] zp ZP_BYTE:163 [ play_collision::return#1 ] zp ZP_BYTE:167 [ play_collision::return#0 ] zp ZP_BYTE:174 [ play_collision::return#10 ] zp ZP_BYTE:53 [ play_collision::return#15 ]
|
||||
Limited combination testing to 100 combinations of 429981696 possible.
|
||||
Uplifting [play_lock_current] best 4455908 combination zp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ] zp ZP_BYTE:86 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ] reg byte x [ play_lock_current::c#2 play_lock_current::c#1 ] zp ZP_BYTE:192 [ play_lock_current::i#1 ] reg byte a [ play_lock_current::$4 ] zp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ] zp ZP_WORD:190 [ play_lock_current::playfield_line#0 ] zp ZP_BYTE:83 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
||||
Uplifting [play_lock_current] best 4465124 combination zp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ] zp ZP_BYTE:86 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ] reg byte x [ play_lock_current::c#2 play_lock_current::c#1 ] zp ZP_BYTE:192 [ play_lock_current::i#1 ] reg byte a [ play_lock_current::$4 ] zp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ] zp ZP_WORD:190 [ play_lock_current::playfield_line#0 ] zp ZP_BYTE:83 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
||||
Limited combination testing to 100 combinations of 2916 possible.
|
||||
Uplifting [play_remove_lines] best 4316908 combination reg byte y [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ] reg byte x [ play_remove_lines::w#6 play_remove_lines::w#3 play_remove_lines::w#4 play_remove_lines::w#12 play_remove_lines::w#11 play_remove_lines::w#1 play_remove_lines::w#2 ] zp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ] zp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ] zp ZP_BYTE:188 [ play_remove_lines::c#0 ] zp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#8 play_remove_lines::removed#1 ] zp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ] zp ZP_BYTE:169 [ play_remove_lines::return#0 ]
|
||||
Uplifting [play_remove_lines] best 4326124 combination reg byte y [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ] reg byte x [ play_remove_lines::w#6 play_remove_lines::w#3 play_remove_lines::w#4 play_remove_lines::w#12 play_remove_lines::w#11 play_remove_lines::w#1 play_remove_lines::w#2 ] zp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ] zp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ] zp ZP_BYTE:188 [ play_remove_lines::c#0 ] zp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#8 play_remove_lines::removed#1 ] zp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ] zp ZP_BYTE:169 [ play_remove_lines::return#0 ]
|
||||
Limited combination testing to 100 combinations of 20736 possible.
|
||||
Uplifting [] best 4316666 combination zp ZP_BYTE:93 [ keyboard_events_size#10 keyboard_events_size#30 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#29 keyboard_events_size#1 keyboard_events_size#2 ] zp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#30 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ] zp ZP_BYTE:4 [ render_screen_showing#13 render_screen_showing#1 render_screen_showing#0 ] zp ZP_WORD:70 [ current_piece_gfx#35 current_piece_gfx#13 current_piece_gfx#18 current_piece_gfx#124 current_piece_gfx#20 current_piece_gfx#21 current_piece_gfx#7 current_piece_gfx#117 ] zp ZP_BYTE:68 [ current_piece_char#29 current_piece_char#10 current_piece_char#16 current_piece_char#5 ] zp ZP_BYTE:29 [ current_piece_char#68 current_piece_char#100 current_piece_char#101 ] zp ZP_BYTE:120 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ] zp ZP_BYTE:119 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ] zp ZP_BYTE:121 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ] zp ZP_WORD:27 [ current_piece_gfx#64 current_piece_gfx#112 current_piece_gfx#113 ] zp ZP_BYTE:72 [ current_xpos#43 current_xpos#14 current_xpos#19 current_xpos#100 current_xpos#22 current_xpos#26 current_xpos#6 current_xpos#8 ] zp ZP_WORD:44 [ current_piece#17 current_piece#96 current_piece#97 current_piece#98 current_piece#99 current_piece#100 ] reg byte x [ render_screen_render#22 render_screen_render#64 ] reg byte x [ next_piece_idx#12 next_piece_idx#77 next_piece_idx#78 ] reg byte a [ render_screen_render#15 render_screen_render#66 ] reg byte x [ current_ypos#13 current_ypos#98 current_ypos#99 ] zp ZP_BYTE:65 [ level_bcd#31 level_bcd#11 level_bcd#17 level_bcd#19 level_bcd#62 level_bcd#21 level_bcd#8 ] zp ZP_BYTE:69 [ current_orientation#37 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ] zp ZP_BYTE:64 [ current_movedown_slow#37 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#23 current_movedown_slow#66 current_movedown_slow#10 ] zp ZP_BYTE:56 [ current_ypos#38 current_ypos#3 current_ypos#11 current_ypos#19 current_ypos#6 ] zp ZP_WORD:66 [ current_piece#28 current_piece#10 current_piece#15 current_piece#102 current_piece#93 ] zp ZP_BYTE:75 [ game_over#65 game_over#27 game_over#10 game_over#15 game_over#52 ] zp ZP_BYTE:26 [ current_xpos#59 current_xpos#119 current_xpos#120 ] zp ZP_DWORD:59 [ score_bcd#26 score_bcd#18 score_bcd#14 score_bcd#0 score_bcd#16 score_bcd#29 ] zp ZP_BYTE:63 [ level#33 level#10 level#17 level#19 level#21 ] zp ZP_WORD:57 [ lines_bcd#26 lines_bcd#19 lines_bcd#15 lines_bcd#17 lines_bcd#29 ] zp ZP_BYTE:5 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ] zp ZP_BYTE:118 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ] zp ZP_BYTE:25 [ render_screen_render#33 render_screen_render#65 ] zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ] zp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ]
|
||||
Uplifting [] best 4325882 combination zp ZP_BYTE:93 [ keyboard_events_size#10 keyboard_events_size#30 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#29 keyboard_events_size#1 keyboard_events_size#2 ] zp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#30 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ] zp ZP_BYTE:4 [ render_screen_showing#13 render_screen_showing#1 render_screen_showing#0 ] zp ZP_WORD:70 [ current_piece_gfx#35 current_piece_gfx#13 current_piece_gfx#18 current_piece_gfx#124 current_piece_gfx#20 current_piece_gfx#21 current_piece_gfx#7 current_piece_gfx#117 ] zp ZP_BYTE:68 [ current_piece_char#29 current_piece_char#10 current_piece_char#16 current_piece_char#5 ] zp ZP_BYTE:29 [ current_piece_char#68 current_piece_char#100 current_piece_char#101 ] zp ZP_BYTE:120 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ] zp ZP_BYTE:119 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ] zp ZP_BYTE:121 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ] zp ZP_WORD:27 [ current_piece_gfx#64 current_piece_gfx#112 current_piece_gfx#113 ] zp ZP_BYTE:72 [ current_xpos#43 current_xpos#14 current_xpos#19 current_xpos#100 current_xpos#22 current_xpos#26 current_xpos#6 current_xpos#8 ] zp ZP_WORD:44 [ current_piece#17 current_piece#96 current_piece#97 current_piece#98 current_piece#99 current_piece#100 ] reg byte x [ render_screen_render#22 render_screen_render#64 ] reg byte x [ next_piece_idx#12 next_piece_idx#77 next_piece_idx#78 ] reg byte a [ render_screen_render#15 render_screen_render#66 ] reg byte x [ current_ypos#13 current_ypos#98 current_ypos#99 ] zp ZP_BYTE:65 [ level_bcd#31 level_bcd#11 level_bcd#17 level_bcd#19 level_bcd#62 level_bcd#21 level_bcd#8 ] zp ZP_BYTE:69 [ current_orientation#37 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ] zp ZP_BYTE:64 [ current_movedown_slow#37 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#23 current_movedown_slow#66 current_movedown_slow#10 ] zp ZP_BYTE:56 [ current_ypos#38 current_ypos#3 current_ypos#11 current_ypos#19 current_ypos#6 ] zp ZP_WORD:66 [ current_piece#28 current_piece#10 current_piece#15 current_piece#102 current_piece#93 ] zp ZP_BYTE:75 [ game_over#65 game_over#27 game_over#10 game_over#15 game_over#52 ] zp ZP_BYTE:26 [ current_xpos#59 current_xpos#119 current_xpos#120 ] zp ZP_DWORD:59 [ score_bcd#26 score_bcd#18 score_bcd#14 score_bcd#0 score_bcd#16 score_bcd#29 ] zp ZP_BYTE:63 [ level#33 level#10 level#17 level#19 level#21 ] zp ZP_WORD:57 [ lines_bcd#26 lines_bcd#19 lines_bcd#15 lines_bcd#17 lines_bcd#29 ] zp ZP_BYTE:5 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ] zp ZP_BYTE:118 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ] zp ZP_BYTE:25 [ render_screen_render#33 render_screen_render#65 ] zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ] zp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ]
|
||||
Limited combination testing to 100 combinations of 1944 possible.
|
||||
Uplifting [render_moving] best 4301666 combination zp ZP_BYTE:32 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ] reg byte x [ render_moving::c#2 render_moving::c#1 ] zp ZP_BYTE:33 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ] reg byte a [ render_moving::current_cell#0 ] zp ZP_BYTE:134 [ render_moving::$1 ] zp ZP_BYTE:135 [ render_moving::$6 ] zp ZP_BYTE:31 [ render_moving::l#4 render_moving::l#1 ] zp ZP_WORD:136 [ render_moving::screen_line#0 ] zp ZP_BYTE:30 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
||||
Uplifting [render_moving] best 4310882 combination zp ZP_BYTE:32 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ] reg byte x [ render_moving::c#2 render_moving::c#1 ] zp ZP_BYTE:33 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ] reg byte a [ render_moving::current_cell#0 ] zp ZP_BYTE:134 [ render_moving::$1 ] zp ZP_BYTE:135 [ render_moving::$6 ] zp ZP_BYTE:31 [ render_moving::l#4 render_moving::l#1 ] zp ZP_WORD:136 [ render_moving::screen_line#0 ] zp ZP_BYTE:30 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
||||
Limited combination testing to 100 combinations of 15552 possible.
|
||||
Uplifting [render_next] best 4286662 combination zp ZP_WORD:19 [ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#1 render_next::next_piece_gfx#9 ] reg byte x [ render_next::c#2 render_next::c#1 ] zp ZP_WORD:21 [ render_next::screen_next_area#5 render_next::screen_next_area#10 render_next::screen_next_area#4 render_next::screen_next_area#11 render_next::screen_next_area#3 ] reg byte a [ render_next::cell#0 ] zp ZP_BYTE:18 [ render_next::l#7 render_next::l#1 ] zp ZP_BYTE:132 [ render_next::next_piece_char#0 ] reg byte y [ render_next::$6 ]
|
||||
Uplifting [render_next] best 4295878 combination zp ZP_WORD:19 [ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#1 render_next::next_piece_gfx#9 ] reg byte x [ render_next::c#2 render_next::c#1 ] zp ZP_WORD:21 [ render_next::screen_next_area#5 render_next::screen_next_area#10 render_next::screen_next_area#4 render_next::screen_next_area#11 render_next::screen_next_area#3 ] reg byte a [ render_next::cell#0 ] zp ZP_BYTE:18 [ render_next::l#7 render_next::l#1 ] zp ZP_BYTE:132 [ render_next::next_piece_char#0 ] reg byte y [ render_next::$6 ]
|
||||
Limited combination testing to 100 combinations of 128 possible.
|
||||
Uplifting [play_increase_level] best 4272656 combination reg byte a [ play_increase_level::$5 ] reg byte x [ play_increase_level::b#2 play_increase_level::b#1 ] reg byte a [ play_increase_level::$1 ]
|
||||
Uplifting [render_playfield] best 4271656 combination zp ZP_WORD:38 [ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ] zp ZP_BYTE:40 [ render_playfield::c#2 render_playfield::c#1 ] zp ZP_BYTE:37 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ] reg byte a [ render_playfield::$2 ] reg byte a [ render_playfield::$6 ] zp ZP_BYTE:36 [ render_playfield::l#2 render_playfield::l#1 ]
|
||||
Uplifting [play_increase_level] best 4281872 combination reg byte a [ play_increase_level::$5 ] reg byte x [ play_increase_level::b#2 play_increase_level::b#1 ] reg byte a [ play_increase_level::$1 ]
|
||||
Uplifting [render_playfield] best 4280872 combination zp ZP_WORD:38 [ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ] zp ZP_BYTE:40 [ render_playfield::c#2 render_playfield::c#1 ] zp ZP_BYTE:37 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ] reg byte a [ render_playfield::$2 ] reg byte a [ render_playfield::$6 ] zp ZP_BYTE:36 [ render_playfield::l#2 render_playfield::l#1 ]
|
||||
Limited combination testing to 100 combinations of 128 possible.
|
||||
Uplifting [keyboard_matrix_read] best 4259650 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#0 ]
|
||||
Uplifting [render_screen_original] best 4257550 combination zp ZP_WORD:112 [ render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ] reg byte x [ render_screen_original::x#6 render_screen_original::x#5 render_screen_original::x#4 render_screen_original::x#1 render_screen_original::x#2 render_screen_original::x#3 ] zp ZP_WORD:114 [ render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 ] zp ZP_WORD:108 [ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ] zp ZP_WORD:110 [ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ] zp ZP_BYTE:107 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
||||
Uplifting [play_spawn_current] best 4251531 combination reg byte a [ play_spawn_current::sid_rnd1_return#0 ] reg byte a [ play_spawn_current::$1 ] reg byte x [ play_spawn_current::current_piece_idx#0 ] zp ZP_BYTE:173 [ play_spawn_current::$7 ]
|
||||
Uplifting [main] best 4250331 combination reg byte a [ main::render#1 ] reg byte x [ main::key_event#0 ]
|
||||
Uplifting [play_movement] best 4249719 combination reg byte a [ play_movement::return#3 ] zp ZP_BYTE:41 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] zp ZP_BYTE:124 [ play_movement::key_event#0 ] reg byte a [ play_movement::$3 ] reg byte a [ play_movement::$4 ] zp ZP_BYTE:146 [ play_movement::render#2 ]
|
||||
Uplifting [keyboard_matrix_read] best 4268866 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#0 ]
|
||||
Uplifting [render_screen_original] best 4266766 combination zp ZP_WORD:112 [ render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ] reg byte x [ render_screen_original::x#6 render_screen_original::x#5 render_screen_original::x#4 render_screen_original::x#1 render_screen_original::x#2 render_screen_original::x#3 ] zp ZP_WORD:114 [ render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 ] zp ZP_WORD:108 [ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ] zp ZP_WORD:110 [ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ] zp ZP_BYTE:107 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
||||
Uplifting [play_spawn_current] best 4260747 combination reg byte a [ play_spawn_current::sid_rnd1_return#0 ] reg byte a [ play_spawn_current::$1 ] reg byte x [ play_spawn_current::current_piece_idx#0 ] zp ZP_BYTE:173 [ play_spawn_current::$7 ]
|
||||
Uplifting [main] best 4259547 combination reg byte a [ main::render#1 ] reg byte x [ main::key_event#0 ]
|
||||
Uplifting [play_movement] best 4258935 combination reg byte a [ play_movement::return#3 ] zp ZP_BYTE:41 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] zp ZP_BYTE:124 [ play_movement::key_event#0 ] reg byte a [ play_movement::$3 ] reg byte a [ play_movement::$4 ] zp ZP_BYTE:146 [ play_movement::render#2 ]
|
||||
Limited combination testing to 100 combinations of 576 possible.
|
||||
Uplifting [keyboard_event_get] best 4248813 combination reg byte x [ keyboard_event_get::return#3 ] reg byte x [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
||||
Uplifting [play_init] best 4248603 combination reg byte a [ play_init::$5 ] zp ZP_BYTE:99 [ play_init::b#2 play_init::b#1 ] reg byte y [ play_init::j#2 play_init::j#1 ] reg byte x [ play_init::$4 ] zp ZP_BYTE:98 [ play_init::idx#2 play_init::idx#1 ] zp ZP_WORD:96 [ play_init::pli#2 play_init::pli#1 ]
|
||||
Uplifting [keyboard_event_get] best 4258029 combination reg byte x [ keyboard_event_get::return#3 ] reg byte x [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
||||
Uplifting [play_init] best 4257819 combination reg byte a [ play_init::$5 ] zp ZP_BYTE:99 [ play_init::b#2 play_init::b#1 ] reg byte y [ play_init::j#2 play_init::j#1 ] reg byte x [ play_init::$4 ] zp ZP_BYTE:98 [ play_init::idx#2 play_init::idx#1 ] zp ZP_WORD:96 [ play_init::pli#2 play_init::pli#1 ]
|
||||
Limited combination testing to 100 combinations of 432 possible.
|
||||
Uplifting [render_bcd] best 4248573 combination zp ZP_WORD:8 [ render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 ] reg byte x [ render_bcd::bcd#6 render_bcd::bcd#0 render_bcd::bcd#1 render_bcd::bcd#2 render_bcd::bcd#3 render_bcd::bcd#4 render_bcd::bcd#5 ] zp ZP_WORD:14 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] reg byte a [ render_bcd::$5 ] reg byte a [ render_bcd::$6 ] reg byte a [ render_bcd::$3 ] zp ZP_BYTE:130 [ render_bcd::$4 ] zp ZP_WORD:10 [ render_bcd::offset#6 ] zp ZP_BYTE:12 [ render_bcd::only_low#6 ]
|
||||
Uplifting [render_bcd] best 4257789 combination zp ZP_WORD:8 [ render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 ] reg byte x [ render_bcd::bcd#6 render_bcd::bcd#0 render_bcd::bcd#1 render_bcd::bcd#2 render_bcd::bcd#3 render_bcd::bcd#4 render_bcd::bcd#5 ] zp ZP_WORD:14 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] reg byte a [ render_bcd::$5 ] reg byte a [ render_bcd::$6 ] reg byte a [ render_bcd::$3 ] zp ZP_BYTE:130 [ render_bcd::$4 ] zp ZP_WORD:10 [ render_bcd::offset#6 ] zp ZP_BYTE:12 [ render_bcd::only_low#6 ]
|
||||
Limited combination testing to 100 combinations of 1536 possible.
|
||||
Uplifting [render_init] best 4248403 combination reg byte y [ render_init::i#2 render_init::i#1 ] reg byte x [ render_init::$13 ] zp ZP_WORD:105 [ render_init::li_2#2 render_init::li_2#1 ] zp ZP_WORD:103 [ render_init::li_1#2 render_init::li_1#1 ]
|
||||
Uplifting [sprites_init] best 4248233 combination reg byte y [ sprites_init::s#2 sprites_init::s#1 ] reg byte x [ sprites_init::s2#0 ] zp ZP_BYTE:101 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Uplifting [play_move_down] best 4248200 combination reg byte x [ play_move_down::movedown#6 play_move_down::movedown#7 play_move_down::movedown#10 play_move_down::movedown#2 play_move_down::movedown#3 ] reg byte a [ play_move_down::return#0 ] reg byte a [ play_move_down::$2 ] reg byte a [ play_move_down::$12 ] zp ZP_BYTE:170 [ play_move_down::removed#0 ] zp ZP_BYTE:141 [ play_move_down::key_event#0 ] zp ZP_BYTE:73 [ play_move_down::return#3 ]
|
||||
Uplifting [render_init] best 4257619 combination reg byte y [ render_init::i#2 render_init::i#1 ] reg byte x [ render_init::$13 ] zp ZP_WORD:105 [ render_init::li_2#2 render_init::li_2#1 ] zp ZP_WORD:103 [ render_init::li_1#2 render_init::li_1#1 ]
|
||||
Uplifting [sprites_init] best 4257449 combination reg byte y [ sprites_init::s#2 sprites_init::s#1 ] reg byte x [ sprites_init::s2#0 ] zp ZP_BYTE:101 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Uplifting [play_move_down] best 4257416 combination reg byte x [ play_move_down::movedown#6 play_move_down::movedown#7 play_move_down::movedown#10 play_move_down::movedown#2 play_move_down::movedown#3 ] reg byte a [ play_move_down::return#0 ] reg byte a [ play_move_down::$2 ] reg byte a [ play_move_down::$12 ] zp ZP_BYTE:170 [ play_move_down::removed#0 ] zp ZP_BYTE:141 [ play_move_down::key_event#0 ] zp ZP_BYTE:73 [ play_move_down::return#3 ]
|
||||
Limited combination testing to 100 combinations of 12288 possible.
|
||||
Uplifting [keyboard_event_pressed] best 4248180 combination reg byte a [ keyboard_event_pressed::return#12 ] reg byte a [ keyboard_event_pressed::$0 ] reg byte a [ keyboard_event_pressed::$1 ] reg byte a [ keyboard_event_pressed::return#0 ] zp ZP_BYTE:202 [ keyboard_event_pressed::return#1 ] zp ZP_BYTE:204 [ keyboard_event_pressed::return#2 ] zp ZP_BYTE:206 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:194 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:196 [ keyboard_event_pressed::return#11 ] zp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
|
||||
Uplifting [keyboard_event_pressed] best 4257396 combination reg byte a [ keyboard_event_pressed::return#12 ] reg byte a [ keyboard_event_pressed::$0 ] reg byte a [ keyboard_event_pressed::$1 ] reg byte a [ keyboard_event_pressed::return#0 ] zp ZP_BYTE:202 [ keyboard_event_pressed::return#1 ] zp ZP_BYTE:204 [ keyboard_event_pressed::return#2 ] zp ZP_BYTE:206 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:194 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:196 [ keyboard_event_pressed::return#11 ] zp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
|
||||
Limited combination testing to 100 combinations of 589824 possible.
|
||||
Uplifting [sprites_irq] best 4248156 combination zp ZP_BYTE:117 [ sprites_irq::raster_sprite_gfx_modify#0 ] reg byte x [ sprites_irq::$0 ] reg byte a [ sprites_irq::ptr#4 ] reg byte a [ sprites_irq::ptr#2 ] reg byte a [ sprites_irq::ptr#3 ] zp ZP_BYTE:222 [ sprites_irq::ptr#1 ] zp ZP_BYTE:217 [ sprites_irq::ypos#0 ] zp ZP_BYTE:219 [ sprites_irq::ptr#0 ]
|
||||
Uplifting [sprites_irq] best 4257372 combination zp ZP_BYTE:117 [ sprites_irq::raster_sprite_gfx_modify#0 ] reg byte x [ sprites_irq::$0 ] reg byte a [ sprites_irq::ptr#4 ] reg byte a [ sprites_irq::ptr#2 ] reg byte a [ sprites_irq::ptr#3 ] zp ZP_BYTE:222 [ sprites_irq::ptr#1 ] zp ZP_BYTE:217 [ sprites_irq::ypos#0 ] zp ZP_BYTE:219 [ sprites_irq::ptr#0 ]
|
||||
Limited combination testing to 100 combinations of 12288 possible.
|
||||
Uplifting [play_move_rotate] best 4248138 combination zp ZP_BYTE:43 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ] reg byte a [ play_move_rotate::return#0 ] reg byte x [ play_move_rotate::$5 ] reg byte a [ play_move_rotate::$2 ] zp ZP_BYTE:153 [ play_move_rotate::$7 ] zp ZP_BYTE:147 [ play_move_rotate::key_event#0 ] zp ZP_BYTE:42 [ play_move_rotate::return#2 ]
|
||||
Uplifting [play_move_rotate] best 4257354 combination zp ZP_BYTE:43 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ] reg byte a [ play_move_rotate::return#0 ] reg byte x [ play_move_rotate::$5 ] reg byte a [ play_move_rotate::$2 ] zp ZP_BYTE:153 [ play_move_rotate::$7 ] zp ZP_BYTE:147 [ play_move_rotate::key_event#0 ] zp ZP_BYTE:42 [ play_move_rotate::return#2 ]
|
||||
Limited combination testing to 100 combinations of 12288 possible.
|
||||
Uplifting [play_update_score] best 4248116 combination reg byte a [ play_update_score::$2 ] reg byte a [ play_update_score::$9 ] reg byte a [ play_update_score::$4 ] reg byte a [ play_update_score::lines_after#0 ] zp ZP_DWORD:180 [ play_update_score::add_bcd#0 ] zp ZP_BYTE:171 [ play_update_score::removed#0 ] zp ZP_BYTE:178 [ play_update_score::lines_before#0 ]
|
||||
Uplifting [play_update_score] best 4257332 combination reg byte a [ play_update_score::$2 ] reg byte a [ play_update_score::$9 ] reg byte a [ play_update_score::$4 ] reg byte a [ play_update_score::lines_after#0 ] zp ZP_DWORD:180 [ play_update_score::add_bcd#0 ] zp ZP_BYTE:171 [ play_update_score::removed#0 ] zp ZP_BYTE:178 [ play_update_score::lines_before#0 ]
|
||||
Limited combination testing to 100 combinations of 2304 possible.
|
||||
Uplifting [play_move_leftright] best 4248089 combination reg byte a [ play_move_leftright::return#0 ] reg byte a [ play_move_leftright::$4 ] reg byte a [ play_move_leftright::$8 ] reg byte a [ play_move_leftright::key_event#0 ] zp ZP_BYTE:54 [ play_move_leftright::return#2 ]
|
||||
Uplifting [play_move_leftright] best 4257305 combination reg byte a [ play_move_leftright::return#0 ] reg byte a [ play_move_leftright::$4 ] reg byte a [ play_move_leftright::$8 ] reg byte a [ play_move_leftright::key_event#0 ] zp ZP_BYTE:54 [ play_move_leftright::return#2 ]
|
||||
Limited combination testing to 100 combinations of 1024 possible.
|
||||
Uplifting [render_show] best 4248080 combination reg byte a [ render_show::d018val#3 ]
|
||||
Uplifting [render_score] best 4248080 combination zp ZP_WORD:6 [ render_score::screen#3 ]
|
||||
Uplifting [sid_rnd_init] best 4248080 combination
|
||||
Uplifting [render_screen_swap] best 4248080 combination
|
||||
Uplifting [sprites_irq_init] best 4248080 combination
|
||||
Uplifting [render_show] best 4257296 combination reg byte a [ render_show::d018val#3 ]
|
||||
Uplifting [render_score] best 4257296 combination zp ZP_WORD:6 [ render_score::screen#3 ]
|
||||
Uplifting [sid_rnd_init] best 4257296 combination
|
||||
Uplifting [render_screen_swap] best 4257296 combination
|
||||
Uplifting [sprites_irq_init] best 4257296 combination
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:93 [ keyboard_events_size#10 keyboard_events_size#30 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#29 keyboard_events_size#1 keyboard_events_size#2 ]
|
||||
Uplifting [] best 4248080 combination zp ZP_BYTE:93 [ keyboard_events_size#10 keyboard_events_size#30 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#29 keyboard_events_size#1 keyboard_events_size#2 ]
|
||||
Uplifting [] best 4257296 combination zp ZP_BYTE:93 [ keyboard_events_size#10 keyboard_events_size#30 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#29 keyboard_events_size#1 keyboard_events_size#2 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
||||
Uplifting [play_collision] best 4248080 combination zp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
||||
Uplifting [play_collision] best 4257296 combination zp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
|
||||
Uplifting [play_lock_current] best 4248080 combination zp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
|
||||
Uplifting [play_lock_current] best 4257296 combination zp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:91 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
||||
Uplifting [keyboard_event_scan] best 4098080 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
||||
Uplifting [keyboard_event_scan] best 4107296 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ]
|
||||
Uplifting [play_remove_lines] best 4098080 combination zp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ]
|
||||
Uplifting [play_remove_lines] best 4107296 combination zp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:86 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ]
|
||||
Uplifting [play_lock_current] best 4098080 combination zp ZP_BYTE:86 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ]
|
||||
Uplifting [play_lock_current] best 4107296 combination zp ZP_BYTE:86 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:51 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ]
|
||||
Uplifting [play_collision] best 4098080 combination zp ZP_BYTE:51 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ]
|
||||
Uplifting [play_collision] best 4107296 combination zp ZP_BYTE:51 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:92 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ]
|
||||
Uplifting [keyboard_event_scan] best 4098080 combination zp ZP_BYTE:92 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ]
|
||||
Uplifting [keyboard_event_scan] best 4107296 combination zp ZP_BYTE:92 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ]
|
||||
Uplifting [play_remove_lines] best 4098080 combination zp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ]
|
||||
Uplifting [play_remove_lines] best 4107296 combination zp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:188 [ play_remove_lines::c#0 ]
|
||||
Uplifting [play_remove_lines] best 4098080 combination zp ZP_BYTE:188 [ play_remove_lines::c#0 ]
|
||||
Uplifting [play_remove_lines] best 4107296 combination zp ZP_BYTE:188 [ play_remove_lines::c#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:32 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
|
||||
Uplifting [render_moving] best 4098080 combination zp ZP_BYTE:32 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
|
||||
Uplifting [render_moving] best 4107296 combination zp ZP_BYTE:32 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#8 play_remove_lines::removed#1 ]
|
||||
Uplifting [play_remove_lines] best 4098080 combination zp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#8 play_remove_lines::removed#1 ]
|
||||
Uplifting [play_remove_lines] best 4107296 combination zp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#8 play_remove_lines::removed#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:192 [ play_lock_current::i#1 ]
|
||||
Uplifting [play_lock_current] best 4098080 combination zp ZP_BYTE:192 [ play_lock_current::i#1 ]
|
||||
Uplifting [play_lock_current] best 4107296 combination zp ZP_BYTE:192 [ play_lock_current::i#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#30 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ]
|
||||
Uplifting [] best 4098080 combination zp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#30 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ]
|
||||
Uplifting [] best 4107296 combination zp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#30 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
||||
Uplifting [keyboard_event_scan] best 4098080 combination zp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
||||
Uplifting [keyboard_event_scan] best 4107296 combination zp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:40 [ render_playfield::c#2 render_playfield::c#1 ]
|
||||
Uplifting [render_playfield] best 4098080 combination zp ZP_BYTE:40 [ render_playfield::c#2 render_playfield::c#1 ]
|
||||
Uplifting [render_playfield] best 4107296 combination zp ZP_BYTE:40 [ render_playfield::c#2 render_playfield::c#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:156 [ play_collision::$14 ]
|
||||
Uplifting [play_collision] best 4094080 combination reg byte a [ play_collision::$14 ]
|
||||
Uplifting [play_collision] best 4103296 combination reg byte a [ play_collision::$14 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
|
||||
Uplifting [play_remove_lines] best 4094080 combination zp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
|
||||
Uplifting [play_remove_lines] best 4103296 combination zp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:159 [ play_collision::i#1 ]
|
||||
Uplifting [play_collision] best 4094080 combination zp ZP_BYTE:159 [ play_collision::i#1 ]
|
||||
Uplifting [play_collision] best 4103296 combination zp ZP_BYTE:159 [ play_collision::i#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:37 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
||||
Uplifting [render_playfield] best 4094080 combination zp ZP_BYTE:37 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
||||
Uplifting [render_playfield] best 4103296 combination zp ZP_BYTE:37 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:33 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
||||
Uplifting [render_moving] best 4094080 combination zp ZP_BYTE:33 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
||||
Uplifting [render_moving] best 4103296 combination zp ZP_BYTE:33 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:48 [ play_collision::yp#2 play_collision::yp#0 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 play_collision::yp#1 ]
|
||||
Uplifting [play_collision] best 4094080 combination zp ZP_BYTE:48 [ play_collision::yp#2 play_collision::yp#0 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 play_collision::yp#1 ]
|
||||
Uplifting [play_collision] best 4103296 combination zp ZP_BYTE:48 [ play_collision::yp#2 play_collision::yp#0 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 play_collision::yp#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:199 [ keyboard_event_scan::row_scan#0 ]
|
||||
Uplifting [keyboard_event_scan] best 4094080 combination zp ZP_BYTE:199 [ keyboard_event_scan::row_scan#0 ]
|
||||
Uplifting [keyboard_event_scan] best 4103296 combination zp ZP_BYTE:199 [ keyboard_event_scan::row_scan#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ]
|
||||
Uplifting [play_lock_current] best 4094080 combination zp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ]
|
||||
Uplifting [play_lock_current] best 4103296 combination zp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ render_screen_showing#13 render_screen_showing#1 render_screen_showing#0 ]
|
||||
Uplifting [] best 4094080 combination zp ZP_BYTE:4 [ render_screen_showing#13 render_screen_showing#1 render_screen_showing#0 ]
|
||||
Uplifting [] best 4103296 combination zp ZP_BYTE:4 [ render_screen_showing#13 render_screen_showing#1 render_screen_showing#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ]
|
||||
Uplifting [play_collision] best 4094080 combination zp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ]
|
||||
Uplifting [play_collision] best 4103296 combination zp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:83 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
||||
Uplifting [play_lock_current] best 4094080 combination zp ZP_BYTE:83 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
||||
Uplifting [play_lock_current] best 4103296 combination zp ZP_BYTE:83 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:134 [ render_moving::$1 ]
|
||||
Uplifting [render_moving] best 4093480 combination reg byte a [ render_moving::$1 ]
|
||||
Uplifting [render_moving] best 4102696 combination reg byte a [ render_moving::$1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:135 [ render_moving::$6 ]
|
||||
Uplifting [render_moving] best 4093080 combination reg byte a [ render_moving::$6 ]
|
||||
Uplifting [render_moving] best 4102296 combination reg byte a [ render_moving::$6 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:68 [ current_piece_char#29 current_piece_char#10 current_piece_char#16 current_piece_char#5 ]
|
||||
Uplifting [] best 4093080 combination zp ZP_BYTE:68 [ current_piece_char#29 current_piece_char#10 current_piece_char#16 current_piece_char#5 ]
|
||||
Uplifting [] best 4102296 combination zp ZP_BYTE:68 [ current_piece_char#29 current_piece_char#10 current_piece_char#16 current_piece_char#5 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:36 [ render_playfield::l#2 render_playfield::l#1 ]
|
||||
Uplifting [render_playfield] best 4093080 combination zp ZP_BYTE:36 [ render_playfield::l#2 render_playfield::l#1 ]
|
||||
Uplifting [render_playfield] best 4102296 combination zp ZP_BYTE:36 [ render_playfield::l#2 render_playfield::l#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ render_next::l#7 render_next::l#1 ]
|
||||
Uplifting [render_next] best 4093080 combination zp ZP_BYTE:18 [ render_next::l#7 render_next::l#1 ]
|
||||
Uplifting [render_next] best 4102296 combination zp ZP_BYTE:18 [ render_next::l#7 render_next::l#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:31 [ render_moving::l#4 render_moving::l#1 ]
|
||||
Uplifting [render_moving] best 4093080 combination zp ZP_BYTE:31 [ render_moving::l#4 render_moving::l#1 ]
|
||||
Uplifting [render_moving] best 4102296 combination zp ZP_BYTE:31 [ render_moving::l#4 render_moving::l#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:30 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
||||
Uplifting [render_moving] best 4093080 combination zp ZP_BYTE:30 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
||||
Uplifting [render_moving] best 4102296 combination zp ZP_BYTE:30 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:29 [ current_piece_char#68 current_piece_char#100 current_piece_char#101 ]
|
||||
Uplifting [] best 4093080 combination zp ZP_BYTE:29 [ current_piece_char#68 current_piece_char#100 current_piece_char#101 ]
|
||||
Uplifting [] best 4102296 combination zp ZP_BYTE:29 [ current_piece_char#68 current_piece_char#100 current_piece_char#101 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:120 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ]
|
||||
Uplifting [] best 4093080 combination zp ZP_BYTE:120 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ]
|
||||
Uplifting [] best 4102296 combination zp ZP_BYTE:120 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:132 [ render_next::next_piece_char#0 ]
|
||||
Uplifting [render_next] best 4093080 combination zp ZP_BYTE:132 [ render_next::next_piece_char#0 ]
|
||||
Uplifting [render_next] best 4102296 combination zp ZP_BYTE:132 [ render_next::next_piece_char#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:119 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ]
|
||||
Uplifting [] best 4093080 combination zp ZP_BYTE:119 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ]
|
||||
Uplifting [] best 4102296 combination zp ZP_BYTE:119 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:121 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ]
|
||||
Uplifting [] best 4093080 combination zp ZP_BYTE:121 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ]
|
||||
Uplifting [] best 4102296 combination zp ZP_BYTE:121 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
|
||||
Uplifting [play_collision] best 4093080 combination zp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
|
||||
Uplifting [play_collision] best 4102296 combination zp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:72 [ current_xpos#43 current_xpos#14 current_xpos#19 current_xpos#100 current_xpos#22 current_xpos#26 current_xpos#6 current_xpos#8 ]
|
||||
Uplifting [] best 4093080 combination zp ZP_BYTE:72 [ current_xpos#43 current_xpos#14 current_xpos#19 current_xpos#100 current_xpos#22 current_xpos#26 current_xpos#6 current_xpos#8 ]
|
||||
Uplifting [] best 4102296 combination zp ZP_BYTE:72 [ current_xpos#43 current_xpos#14 current_xpos#19 current_xpos#100 current_xpos#22 current_xpos#26 current_xpos#6 current_xpos#8 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:41 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
|
||||
Uplifting [play_movement] best 4093080 combination zp ZP_BYTE:41 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
|
||||
Uplifting [play_movement] best 4102296 combination zp ZP_BYTE:41 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:99 [ play_init::b#2 play_init::b#1 ]
|
||||
Uplifting [play_init] best 4092980 combination reg byte x [ play_init::b#2 play_init::b#1 ]
|
||||
Uplifting [play_init] best 4102196 combination reg byte x [ play_init::b#2 play_init::b#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:65 [ level_bcd#31 level_bcd#11 level_bcd#17 level_bcd#19 level_bcd#62 level_bcd#21 level_bcd#8 ]
|
||||
Uplifting [] best 4092980 combination zp ZP_BYTE:65 [ level_bcd#31 level_bcd#11 level_bcd#17 level_bcd#19 level_bcd#62 level_bcd#21 level_bcd#8 ]
|
||||
Uplifting [] best 4102196 combination zp ZP_BYTE:65 [ level_bcd#31 level_bcd#11 level_bcd#17 level_bcd#19 level_bcd#62 level_bcd#21 level_bcd#8 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:46 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
||||
Uplifting [play_collision] best 4092964 combination reg byte x [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
||||
Uplifting [play_collision] best 4102180 combination reg byte x [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:107 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
||||
Uplifting [render_screen_original] best 4092964 combination zp ZP_BYTE:107 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
||||
Uplifting [render_screen_original] best 4102180 combination zp ZP_BYTE:107 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:69 [ current_orientation#37 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:69 [ current_orientation#37 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:69 [ current_orientation#37 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:64 [ current_movedown_slow#37 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#23 current_movedown_slow#66 current_movedown_slow#10 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:64 [ current_movedown_slow#37 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#23 current_movedown_slow#66 current_movedown_slow#10 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:64 [ current_movedown_slow#37 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#23 current_movedown_slow#66 current_movedown_slow#10 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:101 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Uplifting [sprites_init] best 4092964 combination zp ZP_BYTE:101 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Uplifting [sprites_init] best 4102180 combination zp ZP_BYTE:101 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:56 [ current_ypos#38 current_ypos#3 current_ypos#11 current_ypos#19 current_ypos#6 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:56 [ current_ypos#38 current_ypos#3 current_ypos#11 current_ypos#19 current_ypos#6 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:56 [ current_ypos#38 current_ypos#3 current_ypos#11 current_ypos#19 current_ypos#6 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:75 [ game_over#65 game_over#27 game_over#10 game_over#15 game_over#52 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:75 [ game_over#65 game_over#27 game_over#10 game_over#15 game_over#52 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:75 [ game_over#65 game_over#27 game_over#10 game_over#15 game_over#52 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:26 [ current_xpos#59 current_xpos#119 current_xpos#120 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:26 [ current_xpos#59 current_xpos#119 current_xpos#120 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:26 [ current_xpos#59 current_xpos#119 current_xpos#120 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:98 [ play_init::idx#2 play_init::idx#1 ]
|
||||
Uplifting [play_init] best 4092964 combination zp ZP_BYTE:98 [ play_init::idx#2 play_init::idx#1 ]
|
||||
Uplifting [play_init] best 4102180 combination zp ZP_BYTE:98 [ play_init::idx#2 play_init::idx#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:63 [ level#33 level#10 level#17 level#19 level#21 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:63 [ level#33 level#10 level#17 level#19 level#21 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:63 [ level#33 level#10 level#17 level#19 level#21 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:5 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:5 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:118 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:118 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:118 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ render_screen_render#33 render_screen_render#65 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:25 [ render_screen_render#33 render_screen_render#65 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:25 [ render_screen_render#33 render_screen_render#65 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:124 [ play_movement::key_event#0 ]
|
||||
Uplifting [play_movement] best 4092964 combination zp ZP_BYTE:124 [ play_movement::key_event#0 ]
|
||||
Uplifting [play_movement] best 4102180 combination zp ZP_BYTE:124 [ play_movement::key_event#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:43 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
|
||||
Uplifting [play_move_rotate] best 4092964 combination zp ZP_BYTE:43 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
|
||||
Uplifting [play_move_rotate] best 4102180 combination zp ZP_BYTE:43 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:117 [ sprites_irq::raster_sprite_gfx_modify#0 ]
|
||||
Uplifting [sprites_irq] best 4092964 combination zp ZP_BYTE:117 [ sprites_irq::raster_sprite_gfx_modify#0 ]
|
||||
Uplifting [sprites_irq] best 4102180 combination zp ZP_BYTE:117 [ sprites_irq::raster_sprite_gfx_modify#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ]
|
||||
Uplifting [] best 4092964 combination zp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ]
|
||||
Uplifting [] best 4102180 combination zp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:130 [ render_bcd::$4 ]
|
||||
Uplifting [render_bcd] best 4092958 combination reg byte a [ render_bcd::$4 ]
|
||||
Uplifting [render_bcd] best 4102174 combination reg byte a [ render_bcd::$4 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:151 [ play_collision::return#14 ]
|
||||
Uplifting [play_collision] best 4092952 combination reg byte a [ play_collision::return#14 ]
|
||||
Uplifting [play_collision] best 4102168 combination reg byte a [ play_collision::return#14 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:153 [ play_move_rotate::$7 ]
|
||||
Uplifting [play_move_rotate] best 4092946 combination reg byte x [ play_move_rotate::$7 ]
|
||||
Uplifting [play_move_rotate] best 4102162 combination reg byte x [ play_move_rotate::$7 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:161 [ play_collision::return#13 ]
|
||||
Uplifting [play_collision] best 4092940 combination reg byte a [ play_collision::return#13 ]
|
||||
Uplifting [play_collision] best 4102156 combination reg byte a [ play_collision::return#13 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:163 [ play_collision::return#1 ]
|
||||
Uplifting [play_collision] best 4092934 combination reg byte a [ play_collision::return#1 ]
|
||||
Uplifting [play_collision] best 4102150 combination reg byte a [ play_collision::return#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:167 [ play_collision::return#0 ]
|
||||
Uplifting [play_collision] best 4092928 combination reg byte a [ play_collision::return#0 ]
|
||||
Uplifting [play_collision] best 4102144 combination reg byte a [ play_collision::return#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:169 [ play_remove_lines::return#0 ]
|
||||
Uplifting [play_remove_lines] best 4092922 combination reg byte a [ play_remove_lines::return#0 ]
|
||||
Uplifting [play_remove_lines] best 4102138 combination reg byte a [ play_remove_lines::return#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:170 [ play_move_down::removed#0 ]
|
||||
Uplifting [play_move_down] best 4092916 combination reg byte a [ play_move_down::removed#0 ]
|
||||
Uplifting [play_move_down] best 4102132 combination reg byte a [ play_move_down::removed#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:174 [ play_collision::return#10 ]
|
||||
Uplifting [play_collision] best 4092910 combination reg byte a [ play_collision::return#10 ]
|
||||
Uplifting [play_collision] best 4102126 combination reg byte a [ play_collision::return#10 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:201 [ keyboard_event_scan::$0 ]
|
||||
Uplifting [keyboard_event_scan] best 4092904 combination reg byte a [ keyboard_event_scan::$0 ]
|
||||
Uplifting [keyboard_event_scan] best 4102120 combination reg byte a [ keyboard_event_scan::$0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:202 [ keyboard_event_pressed::return#1 ]
|
||||
Uplifting [keyboard_event_pressed] best 4092898 combination reg byte a [ keyboard_event_pressed::return#1 ]
|
||||
Uplifting [keyboard_event_pressed] best 4102114 combination reg byte a [ keyboard_event_pressed::return#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:203 [ keyboard_event_scan::$3 ]
|
||||
Uplifting [keyboard_event_scan] best 4092892 combination reg byte a [ keyboard_event_scan::$3 ]
|
||||
Uplifting [keyboard_event_scan] best 4102108 combination reg byte a [ keyboard_event_scan::$3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:204 [ keyboard_event_pressed::return#2 ]
|
||||
Uplifting [keyboard_event_pressed] best 4092886 combination reg byte a [ keyboard_event_pressed::return#2 ]
|
||||
Uplifting [keyboard_event_pressed] best 4102102 combination reg byte a [ keyboard_event_pressed::return#2 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:205 [ keyboard_event_scan::$6 ]
|
||||
Uplifting [keyboard_event_scan] best 4092880 combination reg byte a [ keyboard_event_scan::$6 ]
|
||||
Uplifting [keyboard_event_scan] best 4102096 combination reg byte a [ keyboard_event_scan::$6 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:206 [ keyboard_event_pressed::return#10 ]
|
||||
Uplifting [keyboard_event_pressed] best 4092874 combination reg byte a [ keyboard_event_pressed::return#10 ]
|
||||
Uplifting [keyboard_event_pressed] best 4102090 combination reg byte a [ keyboard_event_pressed::return#10 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:207 [ keyboard_event_scan::$9 ]
|
||||
Uplifting [keyboard_event_scan] best 4092868 combination reg byte a [ keyboard_event_scan::$9 ]
|
||||
Uplifting [keyboard_event_scan] best 4102084 combination reg byte a [ keyboard_event_scan::$9 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:147 [ play_move_rotate::key_event#0 ]
|
||||
Uplifting [play_move_rotate] best 4092859 combination reg byte a [ play_move_rotate::key_event#0 ]
|
||||
Uplifting [play_move_rotate] best 4102075 combination reg byte a [ play_move_rotate::key_event#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:222 [ sprites_irq::ptr#1 ]
|
||||
Uplifting [sprites_irq] best 4092847 combination reg byte x [ sprites_irq::ptr#1 ]
|
||||
Uplifting [sprites_irq] best 4102063 combination reg byte x [ sprites_irq::ptr#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:217 [ sprites_irq::ypos#0 ]
|
||||
Uplifting [sprites_irq] best 4092832 combination reg byte a [ sprites_irq::ypos#0 ]
|
||||
Uplifting [sprites_irq] best 4102048 combination reg byte a [ sprites_irq::ypos#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:219 [ sprites_irq::ptr#0 ]
|
||||
Uplifting [sprites_irq] best 4092817 combination reg byte x [ sprites_irq::ptr#0 ]
|
||||
Uplifting [sprites_irq] best 4102033 combination reg byte x [ sprites_irq::ptr#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:141 [ play_move_down::key_event#0 ]
|
||||
Uplifting [play_move_down] best 4092811 combination reg byte a [ play_move_down::key_event#0 ]
|
||||
Uplifting [play_move_down] best 4102027 combination reg byte a [ play_move_down::key_event#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:194 [ keyboard_event_pressed::row_bits#0 ]
|
||||
Uplifting [keyboard_event_pressed] best 4092811 combination zp ZP_BYTE:194 [ keyboard_event_pressed::row_bits#0 ]
|
||||
Uplifting [keyboard_event_pressed] best 4102027 combination zp ZP_BYTE:194 [ keyboard_event_pressed::row_bits#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:196 [ keyboard_event_pressed::return#11 ]
|
||||
Uplifting [keyboard_event_pressed] best 4092793 combination reg byte a [ keyboard_event_pressed::return#11 ]
|
||||
Uplifting [keyboard_event_pressed] best 4102009 combination reg byte a [ keyboard_event_pressed::return#11 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:53 [ play_collision::return#15 ]
|
||||
Uplifting [play_collision] best 4092763 combination reg byte a [ play_collision::return#15 ]
|
||||
Uplifting [play_collision] best 4101979 combination reg byte a [ play_collision::return#15 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
|
||||
Uplifting [keyboard_event_pressed] best 4092763 combination zp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
|
||||
Uplifting [keyboard_event_pressed] best 4101979 combination zp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:171 [ play_update_score::removed#0 ]
|
||||
Uplifting [play_update_score] best 4092757 combination reg byte x [ play_update_score::removed#0 ]
|
||||
Uplifting [play_update_score] best 4101973 combination reg byte x [ play_update_score::removed#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:12 [ render_bcd::only_low#6 ]
|
||||
Uplifting [render_bcd] best 4092736 combination reg byte y [ render_bcd::only_low#6 ]
|
||||
Uplifting [render_bcd] best 4101952 combination reg byte y [ render_bcd::only_low#6 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:146 [ play_movement::render#2 ]
|
||||
Uplifting [play_movement] best 4092736 combination zp ZP_BYTE:146 [ play_movement::render#2 ]
|
||||
Uplifting [play_movement] best 4101952 combination zp ZP_BYTE:146 [ play_movement::render#2 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:42 [ play_move_rotate::return#2 ]
|
||||
Uplifting [play_move_rotate] best 4092727 combination reg byte a [ play_move_rotate::return#2 ]
|
||||
Uplifting [play_move_rotate] best 4101943 combination reg byte a [ play_move_rotate::return#2 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:54 [ play_move_leftright::return#2 ]
|
||||
Uplifting [play_move_leftright] best 4092718 combination reg byte a [ play_move_leftright::return#2 ]
|
||||
Uplifting [play_move_leftright] best 4101934 combination reg byte a [ play_move_leftright::return#2 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:73 [ play_move_down::return#3 ]
|
||||
Uplifting [play_move_down] best 4092711 combination reg byte x [ play_move_down::return#3 ]
|
||||
Uplifting [play_move_down] best 4101927 combination reg byte x [ play_move_down::return#3 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:178 [ play_update_score::lines_before#0 ]
|
||||
Uplifting [play_update_score] best 4092711 combination zp ZP_BYTE:178 [ play_update_score::lines_before#0 ]
|
||||
Uplifting [play_update_score] best 4101927 combination zp ZP_BYTE:178 [ play_update_score::lines_before#0 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:173 [ play_spawn_current::$7 ]
|
||||
Uplifting [play_spawn_current] best 4092711 combination zp ZP_BYTE:173 [ play_spawn_current::$7 ]
|
||||
Uplifting [play_spawn_current] best 4101927 combination zp ZP_BYTE:173 [ play_spawn_current::$7 ]
|
||||
Coalescing zero page register with common assignment [ zp ZP_WORD:6 [ render_score::screen#3 ] ] with [ zp ZP_WORD:8 [ render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 ] ] - score: 6
|
||||
Coalescing zero page register with common assignment [ zp ZP_BYTE:41 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] ] with [ zp ZP_BYTE:146 [ play_movement::render#2 ] ] - score: 2
|
||||
Coalescing zero page register with common assignment [ zp ZP_WORD:10 [ render_bcd::offset#6 ] ] with [ zp ZP_WORD:14 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] ] - score: 1
|
||||
@ -22630,6 +22631,7 @@ sprites_irq: {
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+3
|
||||
jmp b2
|
||||
}
|
||||
//SEG1270 File Data
|
||||
// Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7)
|
||||
keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f
|
||||
// Keyboard matrix column bitmasks for a specific keybooard matrix column when reading the keyboard. (columns are numbered 0-7)
|
||||
@ -24640,7 +24642,7 @@ reg byte a [ sprites_irq::ptr#2 ]
|
||||
|
||||
|
||||
FINAL ASSEMBLER
|
||||
Score: 3344906
|
||||
Score: 3354122
|
||||
|
||||
//SEG0 File Comments
|
||||
// Tetris Game for the Commodore 64
|
||||
@ -27569,6 +27571,7 @@ sprites_irq: {
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+3
|
||||
jmp b2
|
||||
}
|
||||
//SEG1270 File Data
|
||||
// Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7)
|
||||
keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f
|
||||
// Keyboard matrix column bitmasks for a specific keybooard matrix column when reading the keyboard. (columns are numbered 0-7)
|
||||
|
@ -543,6 +543,7 @@ main: {
|
||||
//SEG51 [23] return
|
||||
rts
|
||||
}
|
||||
//SEG52 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) SCREEN#0) ← (byte) '+' [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -720,6 +721,7 @@ main: {
|
||||
//SEG51 [23] return
|
||||
rts
|
||||
}
|
||||
//SEG52 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -921,4 +923,5 @@ main: {
|
||||
//SEG51 [23] return
|
||||
rts
|
||||
}
|
||||
//SEG52 File Data
|
||||
|
||||
|
@ -544,6 +544,7 @@ main: {
|
||||
//SEG51 [23] return
|
||||
rts
|
||||
}
|
||||
//SEG52 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) SCREEN#0) ← (byte) '0' [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -720,6 +721,7 @@ main: {
|
||||
//SEG51 [23] return
|
||||
rts
|
||||
}
|
||||
//SEG52 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -921,4 +923,5 @@ main: {
|
||||
//SEG51 [23] return
|
||||
rts
|
||||
}
|
||||
//SEG52 File Data
|
||||
|
||||
|
@ -458,6 +458,7 @@ main: {
|
||||
//SEG52 [12] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@4->main::@3#1] -- register_copy
|
||||
jmp b3
|
||||
}
|
||||
//SEG53 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [10] *((const byte*) SCREEN#0 + (byte) idx#1) ← (byte) ' ' [ idx#1 ] ( main:2 [ idx#1 ] ) always clobbers reg byte a
|
||||
@ -603,6 +604,7 @@ main: {
|
||||
//SEG52 [12] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@4->main::@3#1] -- register_copy
|
||||
jmp b3
|
||||
}
|
||||
//SEG53 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -781,4 +783,5 @@ main: {
|
||||
//SEG52 [12] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@4->main::@3#1] -- register_copy
|
||||
jmp b3
|
||||
}
|
||||
//SEG53 File Data
|
||||
|
||||
|
@ -298,6 +298,7 @@ main: {
|
||||
//SEG31 [13] return
|
||||
rts
|
||||
}
|
||||
//SEG32 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Potential registers zp ZP_BYTE:2 [ main::i#2 main::i#1 ] : zp ZP_BYTE:2 , reg byte a , reg byte x , reg byte y ,
|
||||
@ -388,6 +389,7 @@ main: {
|
||||
//SEG31 [13] return
|
||||
rts
|
||||
}
|
||||
//SEG32 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -504,4 +506,5 @@ main: {
|
||||
//SEG31 [13] return
|
||||
rts
|
||||
}
|
||||
//SEG32 File Data
|
||||
|
||||
|
@ -571,6 +571,7 @@ main: {
|
||||
//SEG48 [25] return
|
||||
rts
|
||||
}
|
||||
//SEG49 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [8] *((const byte*) SCREEN#0 + (byte) main::idx#10) ← (byte) '+' [ main::i#10 main::idx#10 ] ( main:2 [ main::i#10 main::idx#10 ] ) always clobbers reg byte a
|
||||
@ -770,6 +771,7 @@ main: {
|
||||
//SEG48 [25] return
|
||||
rts
|
||||
}
|
||||
//SEG49 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -971,4 +973,5 @@ main: {
|
||||
//SEG48 [25] return
|
||||
rts
|
||||
}
|
||||
//SEG49 File Data
|
||||
|
||||
|
@ -151,6 +151,7 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) main::screen#0) ← (byte) 'a' [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -201,6 +202,7 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -264,4 +266,5 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
|
@ -225,6 +225,7 @@ main: {
|
||||
//SEG22 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG23 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [7] *((const byte*) main::screen#0 + (byte) main::y#0) ← (byte) 'a' [ main::x#2 main::y#0 ] ( main:2 [ main::x#2 main::y#0 ] ) always clobbers reg byte a
|
||||
@ -304,6 +305,7 @@ main: {
|
||||
//SEG22 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG23 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -400,4 +402,5 @@ main: {
|
||||
//SEG22 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG23 File Data
|
||||
|
||||
|
@ -276,6 +276,7 @@ main: {
|
||||
//SEG18 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) screen#0+(byte) $27) ← (byte) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -340,6 +341,7 @@ main: {
|
||||
//SEG18 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -417,4 +419,5 @@ main: {
|
||||
//SEG18 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
|
@ -142,6 +142,7 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) main::SCREEN#0) ← (byte) '!' [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -192,6 +193,7 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -254,4 +256,5 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
|
@ -253,6 +253,7 @@ sub: {
|
||||
//SEG22 [12] return
|
||||
rts
|
||||
}
|
||||
//SEG23 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [0] (byte) A#0 ← (byte) 'a' [ A#0 ] ( ) always clobbers reg byte a
|
||||
@ -340,6 +341,7 @@ sub: {
|
||||
//SEG22 [12] return
|
||||
rts
|
||||
}
|
||||
//SEG23 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -442,4 +444,5 @@ sub: {
|
||||
//SEG22 [12] return
|
||||
rts
|
||||
}
|
||||
//SEG23 File Data
|
||||
|
||||
|
@ -467,6 +467,7 @@ plot: {
|
||||
//SEG42 [22] return
|
||||
rts
|
||||
}
|
||||
//SEG43 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [7] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) 0 [ main::i#2 ] ( main:2 [ main::i#2 ] ) always clobbers reg byte a
|
||||
@ -602,6 +603,7 @@ plot: {
|
||||
//SEG42 [22] return
|
||||
rts
|
||||
}
|
||||
//SEG43 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -767,4 +769,5 @@ plot: {
|
||||
//SEG42 [22] return
|
||||
rts
|
||||
}
|
||||
//SEG43 File Data
|
||||
|
||||
|
@ -190,6 +190,7 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) SCREEN#0) ← (byte) 'a' [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -240,6 +241,7 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -303,4 +305,5 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
|
@ -193,6 +193,7 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] (byte~) main::$0 ← (byte) main::i#2 >> (byte) 4 [ main::i#2 main::$0 ] ( main:2 [ main::i#2 main::$0 ] ) always clobbers reg byte a
|
||||
@ -265,6 +266,7 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -353,4 +355,5 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
|
@ -125,6 +125,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::screen#0) ← (const byte) main::b#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -171,6 +172,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -230,4 +232,5 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
|
@ -370,6 +370,7 @@ sum: {
|
||||
//SEG37 [20] return
|
||||
rts
|
||||
}
|
||||
//SEG38 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Potential registers zp ZP_BYTE:2 [ sum::b#3 ] : zp ZP_BYTE:2 , reg byte a , reg byte x , reg byte y ,
|
||||
@ -478,6 +479,7 @@ sum: {
|
||||
//SEG37 [20] return
|
||||
rts
|
||||
}
|
||||
//SEG38 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -611,4 +613,5 @@ sum: {
|
||||
//SEG37 [20] return
|
||||
rts
|
||||
}
|
||||
//SEG38 File Data
|
||||
|
||||
|
@ -167,6 +167,7 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [5] *((const byte*) main::screen#0) ← (byte) '*' [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -217,6 +218,7 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -281,4 +283,5 @@ main: {
|
||||
//SEG14 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG15 File Data
|
||||
|
||||
|
@ -237,6 +237,7 @@ main: {
|
||||
//SEG23 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG24 File Data
|
||||
world: .fill 2*3, 0
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
@ -323,6 +324,7 @@ main: {
|
||||
//SEG23 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG24 File Data
|
||||
world: .fill 2*3, 0
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
@ -424,5 +426,6 @@ main: {
|
||||
//SEG23 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG24 File Data
|
||||
world: .fill 2*3, 0
|
||||
|
||||
|
@ -229,6 +229,7 @@ main: {
|
||||
//SEG21 [14] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] (word) main::w#0 ← (word) $d03 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -307,6 +308,7 @@ main: {
|
||||
//SEG21 [14] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -402,4 +404,5 @@ main: {
|
||||
//SEG21 [14] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
|
@ -111,6 +111,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) SCREEN#0) ← (byte) 1 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -155,6 +156,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -210,4 +212,5 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
|
@ -184,6 +184,7 @@ main: {
|
||||
rts
|
||||
msg: .text "camelot@"
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← *((const byte[]) main::msg#0 + (byte) main::i#2) [ main::i#2 ] ( main:2 [ main::i#2 ] ) always clobbers reg byte a
|
||||
@ -254,6 +255,7 @@ main: {
|
||||
rts
|
||||
msg: .text "camelot@"
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -339,4 +341,5 @@ main: {
|
||||
rts
|
||||
msg: .text "camelot@"
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
|
@ -182,6 +182,7 @@ main: {
|
||||
rts
|
||||
s: .text "camelot@"
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← *((const byte[]) main::s#0 + (byte) main::i#2) [ main::i#2 ] ( main:2 [ main::i#2 ] ) always clobbers reg byte a
|
||||
@ -249,6 +250,7 @@ main: {
|
||||
rts
|
||||
s: .text "camelot@"
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -333,4 +335,5 @@ main: {
|
||||
rts
|
||||
s: .text "camelot@"
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
|
@ -251,6 +251,7 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) SCREEN#0) ← (const byte) STAR#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -327,6 +328,7 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -421,4 +423,5 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
|
@ -2015,6 +2015,7 @@ print_cls: {
|
||||
//SEG184 [73] return
|
||||
rts
|
||||
}
|
||||
//SEG185 File Data
|
||||
msg: .text "0=0@"
|
||||
msg1: .text "0+2=2@"
|
||||
str: .text " @"
|
||||
@ -2634,6 +2635,7 @@ print_cls: {
|
||||
//SEG184 [73] return
|
||||
rts
|
||||
}
|
||||
//SEG185 File Data
|
||||
msg: .text "0=0@"
|
||||
msg1: .text "0+2=2@"
|
||||
str: .text " @"
|
||||
@ -3311,6 +3313,7 @@ print_cls: {
|
||||
//SEG184 [73] return
|
||||
rts
|
||||
}
|
||||
//SEG185 File Data
|
||||
msg: .text "0=0@"
|
||||
msg1: .text "0+2=2@"
|
||||
str: .text " @"
|
||||
|
@ -8517,6 +8517,7 @@ f100: {
|
||||
//SEG514 [306] return
|
||||
rts
|
||||
}
|
||||
//SEG515 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] *((const byte*) main::screen#0) ← (const byte) f1::return#1 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -10066,6 +10067,7 @@ f100: {
|
||||
//SEG514 [306] return
|
||||
rts
|
||||
}
|
||||
//SEG515 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -11926,4 +11928,5 @@ f100: {
|
||||
//SEG514 [306] return
|
||||
rts
|
||||
}
|
||||
//SEG515 File Data
|
||||
|
||||
|
@ -318,6 +318,7 @@ print: {
|
||||
//SEG28 [13] return
|
||||
rts
|
||||
}
|
||||
//SEG29 File Data
|
||||
msg1: .byte 'a', 'b', 'c', 'd'
|
||||
msg2: .byte '1', '2', '3', '4'
|
||||
|
||||
@ -427,6 +428,7 @@ print: {
|
||||
//SEG28 [13] return
|
||||
rts
|
||||
}
|
||||
//SEG29 File Data
|
||||
msg1: .byte 'a', 'b', 'c', 'd'
|
||||
msg2: .byte '1', '2', '3', '4'
|
||||
|
||||
@ -551,6 +553,7 @@ print: {
|
||||
//SEG28 [13] return
|
||||
rts
|
||||
}
|
||||
//SEG29 File Data
|
||||
msg1: .byte 'a', 'b', 'c', 'd'
|
||||
msg2: .byte '1', '2', '3', '4'
|
||||
|
||||
|
@ -292,6 +292,7 @@ print: {
|
||||
//SEG27 [12] return
|
||||
rts
|
||||
}
|
||||
//SEG28 File Data
|
||||
msg1: .byte 'a', 'b', 'c', 'd'
|
||||
msg2: .byte '1', '2', '3', '4'
|
||||
|
||||
@ -387,6 +388,7 @@ print: {
|
||||
//SEG27 [12] return
|
||||
rts
|
||||
}
|
||||
//SEG28 File Data
|
||||
msg1: .byte 'a', 'b', 'c', 'd'
|
||||
msg2: .byte '1', '2', '3', '4'
|
||||
|
||||
@ -500,6 +502,7 @@ print: {
|
||||
//SEG27 [12] return
|
||||
rts
|
||||
}
|
||||
//SEG28 File Data
|
||||
msg1: .byte 'a', 'b', 'c', 'd'
|
||||
msg2: .byte '1', '2', '3', '4'
|
||||
|
||||
|
@ -206,6 +206,7 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] (byte*~) main::$1 ← (const byte*) main::screen#0 + (word) main::i#2 [ main::i#2 main::$1 ] ( main:2 [ main::i#2 main::$1 ] ) always clobbers reg byte a
|
||||
@ -300,6 +301,7 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -411,4 +413,5 @@ main: {
|
||||
//SEG21 [10] return
|
||||
rts
|
||||
}
|
||||
//SEG22 File Data
|
||||
|
||||
|
@ -116,6 +116,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::screen#0+(word)(number) $28*(number) $a) ← (byte) 'a' [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -161,6 +162,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -217,4 +219,5 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
|
@ -189,6 +189,7 @@ main: {
|
||||
//SEG20 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] *((const byte*) main::screen#0+(word)(number) $28*(number) $a + (byte) main::i#2) ← (byte) 'a' [ main::i#2 ] ( main:2 [ main::i#2 ] ) always clobbers reg byte a
|
||||
@ -255,6 +256,7 @@ main: {
|
||||
//SEG20 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -336,4 +338,5 @@ main: {
|
||||
//SEG20 [9] return
|
||||
rts
|
||||
}
|
||||
//SEG21 File Data
|
||||
|
||||
|
@ -350,6 +350,7 @@ main: {
|
||||
//SEG29 [18] return
|
||||
rts
|
||||
}
|
||||
//SEG30 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [7] (byte~) main::$3 ← (byte) main::i#2 >> (byte) 1 [ main::i#2 main::$3 ] ( main:2 [ main::i#2 main::$3 ] ) always clobbers reg byte a
|
||||
@ -463,6 +464,7 @@ main: {
|
||||
//SEG29 [18] return
|
||||
rts
|
||||
}
|
||||
//SEG30 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -583,4 +585,5 @@ main: {
|
||||
//SEG29 [18] return
|
||||
rts
|
||||
}
|
||||
//SEG30 File Data
|
||||
|
||||
|
@ -149,6 +149,7 @@ main: {
|
||||
//SEG13 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG14 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) main::screen#0) ← (const byte) main::a#1 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -199,6 +200,7 @@ main: {
|
||||
//SEG13 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG14 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -263,4 +265,5 @@ main: {
|
||||
//SEG13 [6] return
|
||||
rts
|
||||
}
|
||||
//SEG14 File Data
|
||||
|
||||
|
@ -117,6 +117,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [4] *((const byte*) BGCOL#0) ← (const byte) RED#0 [ ] ( main:2 [ ] ) always clobbers reg byte a
|
||||
@ -162,6 +163,7 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -220,4 +222,5 @@ main: {
|
||||
//SEG12 [5] return
|
||||
rts
|
||||
}
|
||||
//SEG13 File Data
|
||||
|
||||
|
@ -420,6 +420,7 @@ main: {
|
||||
//SEG29 [18] return
|
||||
rts
|
||||
}
|
||||
//SEG30 File Data
|
||||
MAPDATA: .fill $3e8, 0
|
||||
COLORMAP1: .fill $100, 0
|
||||
COLORMAP2: .fill $100, 0
|
||||
@ -530,6 +531,7 @@ main: {
|
||||
//SEG29 [18] return
|
||||
rts
|
||||
}
|
||||
//SEG30 File Data
|
||||
MAPDATA: .fill $3e8, 0
|
||||
COLORMAP1: .fill $100, 0
|
||||
COLORMAP2: .fill $100, 0
|
||||
@ -655,6 +657,7 @@ main: {
|
||||
//SEG29 [18] return
|
||||
rts
|
||||
}
|
||||
//SEG30 File Data
|
||||
MAPDATA: .fill $3e8, 0
|
||||
COLORMAP1: .fill $100, 0
|
||||
COLORMAP2: .fill $100, 0
|
||||
|
@ -222,6 +222,7 @@ main: {
|
||||
b2:
|
||||
jmp b1
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Potential registers zp ZP_BYTE:2 [ key#1 ] : zp ZP_BYTE:2 , reg byte a , reg byte x , reg byte y ,
|
||||
@ -287,6 +288,7 @@ main: {
|
||||
b2:
|
||||
jmp b1
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -372,4 +374,5 @@ main: {
|
||||
//SEG18 main::@2
|
||||
jmp b1
|
||||
}
|
||||
//SEG19 File Data
|
||||
|
||||
|
@ -230,6 +230,7 @@ main: {
|
||||
//SEG22 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG23 File Data
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [6] (dword) main::b#0 ← (const dword) main::a#0 + (byte) main::i#2 [ main::i#2 main::b#0 ] ( main:2 [ main::i#2 main::b#0 ] ) always clobbers reg byte a
|
||||
@ -317,6 +318,7 @@ main: {
|
||||
//SEG22 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG23 File Data
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b1
|
||||
@ -422,4 +424,5 @@ main: {
|
||||
//SEG22 [11] return
|
||||
rts
|
||||
}
|
||||
//SEG23 File Data
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user