mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-02-18 01:30:56 +00:00
Optimized slightly
This commit is contained in:
parent
f82800dd67
commit
b336ba38df
4
src/test/kc/.vscode/tasks.json
vendored
4
src/test/kc/.vscode/tasks.json
vendored
@ -31,6 +31,8 @@
|
|||||||
"${file}",
|
"${file}",
|
||||||
"-showmem",
|
"-showmem",
|
||||||
"-vicesymbols",
|
"-vicesymbols",
|
||||||
|
"-libdir",
|
||||||
|
"~/c64/c64src/lib/",
|
||||||
"-execute",
|
"-execute",
|
||||||
"open -a x64sc"
|
"open -a x64sc"
|
||||||
]
|
]
|
||||||
@ -96,6 +98,7 @@
|
|||||||
"windows": {
|
"windows": {
|
||||||
"command": "c:/c64/kickc_local/bin/kickc.bat",
|
"command": "c:/c64/kickc_local/bin/kickc.bat",
|
||||||
"args": [
|
"args": [
|
||||||
|
"-vasmout",
|
||||||
"-Sc",
|
"-Sc",
|
||||||
"-odir",
|
"-odir",
|
||||||
"c:/c64/tmp/",
|
"c:/c64/tmp/",
|
||||||
@ -106,6 +109,7 @@
|
|||||||
"osx": {
|
"osx": {
|
||||||
"command": "~/c64/kickc_local/bin/kickc.sh",
|
"command": "~/c64/kickc_local/bin/kickc.sh",
|
||||||
"args": [
|
"args": [
|
||||||
|
"-vasmout",
|
||||||
"-Sc",
|
"-Sc",
|
||||||
"-odir",
|
"-odir",
|
||||||
"~/c64/tmp/",
|
"~/c64/tmp/",
|
||||||
|
@ -53,7 +53,7 @@ unsigned int x_pos_coarse;
|
|||||||
unsigned int y_pos_coarse;
|
unsigned int y_pos_coarse;
|
||||||
|
|
||||||
// The current screen displayed (0/1)
|
// The current screen displayed (0/1)
|
||||||
char screen = 0;
|
char screen_buffer = 0;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
// Stop the kernel IRQ
|
// Stop the kernel IRQ
|
||||||
@ -89,38 +89,37 @@ void main() {
|
|||||||
// If coarse scrolling is needed execute it
|
// If coarse scrolling is needed execute it
|
||||||
if(movement) {
|
if(movement) {
|
||||||
// Move chars from active screen to hidden screen - while applying any needed movement
|
// Move chars from active screen to hidden screen - while applying any needed movement
|
||||||
char * screen_active = (screen?MAIN_SCREEN1:MAIN_SCREEN0) + movement;
|
char * screen_active = (screen_buffer?MAIN_SCREEN1:MAIN_SCREEN0) + movement;
|
||||||
char * screen_hidden = screen?MAIN_SCREEN0:MAIN_SCREEN1;
|
char * screen_hidden = screen_buffer?MAIN_SCREEN0:MAIN_SCREEN1;
|
||||||
screencpy(screen_hidden, screen_active);
|
screencpy(screen_hidden, screen_active);
|
||||||
|
|
||||||
// Update any new row if needed
|
// Update any new row if needed
|
||||||
if(y_movement==-1) {
|
char* petscii;
|
||||||
// Update Bottom row
|
char* scrn;
|
||||||
char* petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse+12);
|
if(y_movement) {
|
||||||
char* scrn = screen_hidden+24*40;
|
if(y_movement==-1) {
|
||||||
for(char i=0;i<40;i++)
|
// Update Bottom row
|
||||||
scrn[i] = petscii[i];
|
petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse+12);
|
||||||
} else if(y_movement==1) {
|
scrn = screen_hidden+24*40;
|
||||||
// Update Top row
|
} else { // y_movement==1
|
||||||
char* petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse-12);
|
// Update Top row
|
||||||
char* scrn = screen_hidden;
|
petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse-12);
|
||||||
|
scrn = screen_hidden;
|
||||||
|
}
|
||||||
for(char i=0;i<40;i++)
|
for(char i=0;i<40;i++)
|
||||||
scrn[i] = petscii[i];
|
scrn[i] = petscii[i];
|
||||||
}
|
}
|
||||||
// Update any new column if needed
|
// Update any new column if needed
|
||||||
if(x_movement==-1) {
|
if(x_movement) {
|
||||||
// Update Right column
|
if(x_movement==-1) {
|
||||||
char* petscii = petscii_ptr(x_pos_coarse+19, y_pos_coarse-12);
|
// Update Right column
|
||||||
char* scrn = screen_hidden+39;
|
petscii = petscii_ptr(x_pos_coarse+19, y_pos_coarse-12);
|
||||||
for(char i=0;i<25;i++) {
|
scrn = screen_hidden+39;
|
||||||
*scrn = *petscii;
|
} else { // x_movement==1
|
||||||
scrn += 40;
|
// Update Left column
|
||||||
petscii += 140;
|
petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse-12);
|
||||||
|
scrn = screen_hidden;
|
||||||
}
|
}
|
||||||
} else if(x_movement==1) {
|
|
||||||
// Update Left column
|
|
||||||
char* petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse-12);
|
|
||||||
char* scrn = screen_hidden;
|
|
||||||
for(char i=0;i<25;i++) {
|
for(char i=0;i<25;i++) {
|
||||||
*scrn = *petscii;
|
*scrn = *petscii;
|
||||||
scrn += 40;
|
scrn += 40;
|
||||||
@ -129,7 +128,7 @@ void main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Change current screen
|
// Change current screen
|
||||||
screen ^=1;
|
screen_buffer ^=1;
|
||||||
|
|
||||||
}
|
}
|
||||||
//VICII->BORDER_COLOR = BLACK;
|
//VICII->BORDER_COLOR = BLACK;
|
||||||
@ -143,7 +142,7 @@ void main() {
|
|||||||
// X-scroll fine
|
// X-scroll fine
|
||||||
VICII->CONTROL2 = VICII->CONTROL2 & 0xf0 | (7-x_pos_fine);
|
VICII->CONTROL2 = VICII->CONTROL2 & 0xf0 | (7-x_pos_fine);
|
||||||
// Display current screen
|
// Display current screen
|
||||||
if(screen) {
|
if(screen_buffer) {
|
||||||
VICII->MEMORY = toD018(MAIN_SCREEN1, MAIN_CHARSET);
|
VICII->MEMORY = toD018(MAIN_SCREEN1, MAIN_CHARSET);
|
||||||
} else {
|
} else {
|
||||||
VICII->MEMORY = toD018(MAIN_SCREEN0, MAIN_CHARSET);
|
VICII->MEMORY = toD018(MAIN_SCREEN0, MAIN_CHARSET);
|
||||||
@ -202,7 +201,3 @@ void next_position() {
|
|||||||
y_pos_fine = (unsigned char)y_pos_u & 7;
|
y_pos_fine = (unsigned char)y_pos_u & 7;
|
||||||
y_pos_coarse = y_pos_u/8;
|
y_pos_coarse = y_pos_u/8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,10 +22,10 @@
|
|||||||
// Display charset
|
// Display charset
|
||||||
.label MAIN_CHARSET = $1000
|
.label MAIN_CHARSET = $1000
|
||||||
// The current screen displayed (0/1)
|
// The current screen displayed (0/1)
|
||||||
.label screen = 2
|
.label screen_buffer = 2
|
||||||
// Current index into the sinus
|
// Current index into the sinus
|
||||||
.label x_sin_idx = 9
|
.label x_sin_idx = $b
|
||||||
.label y_sin_idx = $b
|
.label y_sin_idx = $d
|
||||||
// Current x/y-position (the center of the screen)
|
// Current x/y-position (the center of the screen)
|
||||||
.label x_pos = $16
|
.label x_pos = $16
|
||||||
.label y_pos = $18
|
.label y_pos = $18
|
||||||
@ -39,24 +39,21 @@ main: {
|
|||||||
.const toD0181_return = (>(MAIN_SCREEN0&$3fff)*4)|(>MAIN_CHARSET)/4&$f
|
.const toD0181_return = (>(MAIN_SCREEN0&$3fff)*4)|(>MAIN_CHARSET)/4&$f
|
||||||
.const toD0182_return = (>(MAIN_SCREEN1&$3fff)*4)|(>MAIN_CHARSET)/4&$f
|
.const toD0182_return = (>(MAIN_SCREEN1&$3fff)*4)|(>MAIN_CHARSET)/4&$f
|
||||||
.const toD0183_return = (>(MAIN_SCREEN0&$3fff)*4)|(>MAIN_CHARSET)/4&$f
|
.const toD0183_return = (>(MAIN_SCREEN0&$3fff)*4)|(>MAIN_CHARSET)/4&$f
|
||||||
.label __5 = $f
|
.label __5 = $11
|
||||||
.label __9 = $d
|
.label __9 = $f
|
||||||
.label __13 = 3
|
.label __13 = 3
|
||||||
.label __45 = $13
|
.label __41 = $15
|
||||||
.label __48 = $1b
|
.label __44 = $1b
|
||||||
.label x_pos_coarse_old = $d
|
.label x_pos_coarse_old = $f
|
||||||
.label y_pos_coarse_old = $f
|
.label y_pos_coarse_old = $11
|
||||||
.label y_movement = $11
|
.label y_movement = $13
|
||||||
.label x_movement = $12
|
.label x_movement = $14
|
||||||
.label screen_active = 3
|
.label screen_active = 3
|
||||||
.label screen_hidden = 7
|
.label screen_hidden = 9
|
||||||
.label petscii1 = 5
|
// Update any new row if needed
|
||||||
.label scrn1 = $14
|
|
||||||
.label petscii = 5
|
.label petscii = 5
|
||||||
.label petscii3 = 5
|
.label scrn = 7
|
||||||
.label scrn3 = 7
|
.label scrn_1 = 9
|
||||||
.label petscii2 = 5
|
|
||||||
.label scrn2 = 7
|
|
||||||
// asm
|
// asm
|
||||||
sei
|
sei
|
||||||
// memset(MAIN_SCREEN0, ' ', 1000)
|
// memset(MAIN_SCREEN0, ' ', 1000)
|
||||||
@ -77,7 +74,7 @@ main: {
|
|||||||
sta.z x_sin_idx+1
|
sta.z x_sin_idx+1
|
||||||
jsr next_position
|
jsr next_position
|
||||||
lda #0
|
lda #0
|
||||||
sta.z screen
|
sta.z screen_buffer
|
||||||
__b1:
|
__b1:
|
||||||
// x_pos_coarse_old = x_pos_coarse
|
// x_pos_coarse_old = x_pos_coarse
|
||||||
// The old coarse values x/y-positions
|
// The old coarse values x/y-positions
|
||||||
@ -109,17 +106,17 @@ main: {
|
|||||||
// if(y_movement==1)
|
// if(y_movement==1)
|
||||||
lda #1
|
lda #1
|
||||||
cmp.z y_movement
|
cmp.z y_movement
|
||||||
beq __b20
|
beq __b18
|
||||||
// if(y_movement==-1)
|
// if(y_movement==-1)
|
||||||
lda #-1
|
lda #-1
|
||||||
cmp.z y_movement
|
cmp.z y_movement
|
||||||
bne __b19
|
bne __b17
|
||||||
ldx #$28
|
ldx #$28
|
||||||
jmp __b2
|
jmp __b2
|
||||||
__b19:
|
__b17:
|
||||||
ldx #0
|
ldx #0
|
||||||
jmp __b2
|
jmp __b2
|
||||||
__b20:
|
__b18:
|
||||||
ldx #-$28
|
ldx #-$28
|
||||||
__b2:
|
__b2:
|
||||||
// x_pos_coarse_old-x_pos_coarse
|
// x_pos_coarse_old-x_pos_coarse
|
||||||
@ -141,12 +138,12 @@ main: {
|
|||||||
tax
|
tax
|
||||||
// if(movement)
|
// if(movement)
|
||||||
cpx #0
|
cpx #0
|
||||||
bne !__b21+
|
bne !__b19+
|
||||||
jmp __b21
|
jmp __b19
|
||||||
!__b21:
|
!__b19:
|
||||||
// screen?MAIN_SCREEN1:MAIN_SCREEN0
|
// screen_buffer?MAIN_SCREEN1:MAIN_SCREEN0
|
||||||
lda #0
|
lda #0
|
||||||
cmp.z screen
|
cmp.z screen_buffer
|
||||||
bne __b3
|
bne __b3
|
||||||
lda #<MAIN_SCREEN0
|
lda #<MAIN_SCREEN0
|
||||||
sta.z __13
|
sta.z __13
|
||||||
@ -154,13 +151,13 @@ main: {
|
|||||||
sta.z __13+1
|
sta.z __13+1
|
||||||
jmp __b4
|
jmp __b4
|
||||||
__b3:
|
__b3:
|
||||||
// screen?MAIN_SCREEN1:MAIN_SCREEN0
|
// screen_buffer?MAIN_SCREEN1:MAIN_SCREEN0
|
||||||
lda #<MAIN_SCREEN1
|
lda #<MAIN_SCREEN1
|
||||||
sta.z __13
|
sta.z __13
|
||||||
lda #>MAIN_SCREEN1
|
lda #>MAIN_SCREEN1
|
||||||
sta.z __13+1
|
sta.z __13+1
|
||||||
__b4:
|
__b4:
|
||||||
// screen_active = (screen?MAIN_SCREEN1:MAIN_SCREEN0) + movement
|
// screen_active = (screen_buffer?MAIN_SCREEN1:MAIN_SCREEN0) + movement
|
||||||
txa
|
txa
|
||||||
pha
|
pha
|
||||||
clc
|
clc
|
||||||
@ -173,9 +170,9 @@ main: {
|
|||||||
!:
|
!:
|
||||||
adc.z screen_active+1
|
adc.z screen_active+1
|
||||||
sta.z screen_active+1
|
sta.z screen_active+1
|
||||||
// screen?MAIN_SCREEN0:MAIN_SCREEN1
|
// screen_buffer?MAIN_SCREEN0:MAIN_SCREEN1
|
||||||
lda #0
|
lda #0
|
||||||
cmp.z screen
|
cmp.z screen_buffer
|
||||||
bne __b5
|
bne __b5
|
||||||
lda #<MAIN_SCREEN1
|
lda #<MAIN_SCREEN1
|
||||||
sta.z screen_hidden
|
sta.z screen_hidden
|
||||||
@ -183,7 +180,7 @@ main: {
|
|||||||
sta.z screen_hidden+1
|
sta.z screen_hidden+1
|
||||||
jmp __b6
|
jmp __b6
|
||||||
__b5:
|
__b5:
|
||||||
// screen?MAIN_SCREEN0:MAIN_SCREEN1
|
// screen_buffer?MAIN_SCREEN0:MAIN_SCREEN1
|
||||||
lda #<MAIN_SCREEN0
|
lda #<MAIN_SCREEN0
|
||||||
sta.z screen_hidden
|
sta.z screen_hidden
|
||||||
lda #>MAIN_SCREEN0
|
lda #>MAIN_SCREEN0
|
||||||
@ -191,17 +188,16 @@ main: {
|
|||||||
__b6:
|
__b6:
|
||||||
// screencpy(screen_hidden, screen_active)
|
// screencpy(screen_hidden, screen_active)
|
||||||
jsr screencpy
|
jsr screencpy
|
||||||
|
// if(y_movement)
|
||||||
|
lda #0
|
||||||
|
cmp.z y_movement
|
||||||
|
beq __b7
|
||||||
// if(y_movement==-1)
|
// if(y_movement==-1)
|
||||||
// Update any new row if needed
|
|
||||||
lda #-1
|
lda #-1
|
||||||
cmp.z y_movement
|
cmp.z y_movement
|
||||||
bne !__b7+
|
bne !__b8+
|
||||||
jmp __b7
|
jmp __b8
|
||||||
!__b7:
|
!__b8:
|
||||||
// if(y_movement==1)
|
|
||||||
lda #1
|
|
||||||
cmp.z y_movement
|
|
||||||
bne __b10
|
|
||||||
// petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
// petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
||||||
sec
|
sec
|
||||||
lda.z x_pos_coarse
|
lda.z x_pos_coarse
|
||||||
@ -220,25 +216,29 @@ main: {
|
|||||||
jsr petscii_ptr
|
jsr petscii_ptr
|
||||||
// petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
// petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
||||||
// petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
// petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
||||||
|
lda.z screen_hidden
|
||||||
|
sta.z scrn
|
||||||
|
lda.z screen_hidden+1
|
||||||
|
sta.z scrn+1
|
||||||
|
__b9:
|
||||||
ldy #0
|
ldy #0
|
||||||
__b8:
|
__b10:
|
||||||
// for(char i=0;i<40;i++)
|
// for(char i=0;i<40;i++)
|
||||||
cpy #$28
|
cpy #$28
|
||||||
bcs !__b9+
|
bcs !__b11+
|
||||||
jmp __b9
|
jmp __b11
|
||||||
!__b9:
|
!__b11:
|
||||||
__b10:
|
__b7:
|
||||||
|
// if(x_movement)
|
||||||
|
lda #0
|
||||||
|
cmp.z x_movement
|
||||||
|
beq __b12
|
||||||
// if(x_movement==-1)
|
// if(x_movement==-1)
|
||||||
// Update any new column if needed
|
|
||||||
lda #-1
|
lda #-1
|
||||||
cmp.z x_movement
|
cmp.z x_movement
|
||||||
bne !__b13+
|
bne !__b13+
|
||||||
jmp __b13
|
jmp __b13
|
||||||
!__b13:
|
!__b13:
|
||||||
// if(x_movement==1)
|
|
||||||
lda #1
|
|
||||||
cmp.z x_movement
|
|
||||||
bne __b16
|
|
||||||
// petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
// petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
||||||
sec
|
sec
|
||||||
lda.z x_pos_coarse
|
lda.z x_pos_coarse
|
||||||
@ -257,99 +257,100 @@ main: {
|
|||||||
jsr petscii_ptr
|
jsr petscii_ptr
|
||||||
// petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
// petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
||||||
// petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
// petscii = petscii_ptr(x_pos_coarse-20, y_pos_coarse-12)
|
||||||
ldx #0
|
|
||||||
__b14:
|
__b14:
|
||||||
|
ldx #0
|
||||||
|
__b15:
|
||||||
// for(char i=0;i<25;i++)
|
// for(char i=0;i<25;i++)
|
||||||
cpx #$19
|
cpx #$19
|
||||||
bcc __b15
|
bcc __b16
|
||||||
__b16:
|
__b12:
|
||||||
// screen ^=1
|
// screen_buffer ^=1
|
||||||
// Change current screen
|
// Change current screen
|
||||||
lda #1
|
lda #1
|
||||||
eor.z screen
|
eor.z screen_buffer
|
||||||
sta.z screen
|
sta.z screen_buffer
|
||||||
__b21:
|
__b19:
|
||||||
// Update the display - wait for the raster
|
// Update the display - wait for the raster
|
||||||
// while(VICII->RASTER!=0xfe)
|
// while(VICII->RASTER!=0xfe)
|
||||||
lda #$fe
|
lda #$fe
|
||||||
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
||||||
bne __b21
|
bne __b19
|
||||||
__b24:
|
__b22:
|
||||||
// while(VICII->RASTER!=0xff)
|
// while(VICII->RASTER!=0xff)
|
||||||
lda #$ff
|
lda #$ff
|
||||||
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
||||||
bne __b24
|
bne __b22
|
||||||
// VICII->BORDER_COLOR = WHITE
|
// VICII->BORDER_COLOR = WHITE
|
||||||
lda #WHITE
|
lda #WHITE
|
||||||
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
||||||
// VICII->CONTROL1 & 0xf0
|
// VICII->CONTROL1 & 0xf0
|
||||||
lda #$f0
|
lda #$f0
|
||||||
and VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL1
|
and VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL1
|
||||||
sta.z __45
|
sta.z __41
|
||||||
// 7-y_pos_fine
|
// 7-y_pos_fine
|
||||||
lda #7
|
lda #7
|
||||||
sec
|
sec
|
||||||
sbc.z y_pos_fine
|
sbc.z y_pos_fine
|
||||||
// VICII->CONTROL1 & 0xf0 | (7-y_pos_fine)
|
// VICII->CONTROL1 & 0xf0 | (7-y_pos_fine)
|
||||||
ora.z __45
|
ora.z __41
|
||||||
// VICII->CONTROL1 = VICII->CONTROL1 & 0xf0 | (7-y_pos_fine)
|
// VICII->CONTROL1 = VICII->CONTROL1 & 0xf0 | (7-y_pos_fine)
|
||||||
// Y-scroll fine
|
// Y-scroll fine
|
||||||
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL1
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL1
|
||||||
// VICII->CONTROL2 & 0xf0
|
// VICII->CONTROL2 & 0xf0
|
||||||
lda #$f0
|
lda #$f0
|
||||||
and VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL2
|
and VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL2
|
||||||
sta.z __48
|
sta.z __44
|
||||||
// 7-x_pos_fine
|
// 7-x_pos_fine
|
||||||
lda #7
|
lda #7
|
||||||
sec
|
sec
|
||||||
sbc.z x_pos_fine
|
sbc.z x_pos_fine
|
||||||
// VICII->CONTROL2 & 0xf0 | (7-x_pos_fine)
|
// VICII->CONTROL2 & 0xf0 | (7-x_pos_fine)
|
||||||
ora.z __48
|
ora.z __44
|
||||||
// VICII->CONTROL2 = VICII->CONTROL2 & 0xf0 | (7-x_pos_fine)
|
// VICII->CONTROL2 = VICII->CONTROL2 & 0xf0 | (7-x_pos_fine)
|
||||||
// X-scroll fine
|
// X-scroll fine
|
||||||
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL2
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL2
|
||||||
// if(screen)
|
// if(screen_buffer)
|
||||||
// Display current screen
|
// Display current screen
|
||||||
lda #0
|
lda #0
|
||||||
cmp.z screen
|
cmp.z screen_buffer
|
||||||
bne __b32
|
bne __b30
|
||||||
// VICII->MEMORY = toD018(MAIN_SCREEN0, MAIN_CHARSET)
|
// VICII->MEMORY = toD018(MAIN_SCREEN0, MAIN_CHARSET)
|
||||||
lda #toD0183_return
|
lda #toD0183_return
|
||||||
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
|
||||||
__b26:
|
__b24:
|
||||||
// VICII->BORDER_COLOR = BLACK
|
// VICII->BORDER_COLOR = BLACK
|
||||||
lda #BLACK
|
lda #BLACK
|
||||||
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
||||||
jmp __b1
|
jmp __b1
|
||||||
__b32:
|
__b30:
|
||||||
// VICII->MEMORY = toD018(MAIN_SCREEN1, MAIN_CHARSET)
|
// VICII->MEMORY = toD018(MAIN_SCREEN1, MAIN_CHARSET)
|
||||||
lda #toD0182_return
|
lda #toD0182_return
|
||||||
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
|
||||||
jmp __b26
|
jmp __b24
|
||||||
__b15:
|
__b16:
|
||||||
// *scrn = *petscii
|
// *scrn = *petscii
|
||||||
ldy #0
|
ldy #0
|
||||||
lda (petscii2),y
|
lda (petscii),y
|
||||||
sta (scrn2),y
|
sta (scrn_1),y
|
||||||
// scrn += 40
|
// scrn += 40
|
||||||
lda #$28
|
lda #$28
|
||||||
clc
|
clc
|
||||||
adc.z scrn2
|
adc.z scrn_1
|
||||||
sta.z scrn2
|
sta.z scrn_1
|
||||||
bcc !+
|
bcc !+
|
||||||
inc.z scrn2+1
|
inc.z scrn_1+1
|
||||||
!:
|
!:
|
||||||
// petscii += 140
|
// petscii += 140
|
||||||
lda #$8c
|
lda #$8c
|
||||||
clc
|
clc
|
||||||
adc.z petscii2
|
adc.z petscii
|
||||||
sta.z petscii2
|
sta.z petscii
|
||||||
bcc !+
|
bcc !+
|
||||||
inc.z petscii2+1
|
inc.z petscii+1
|
||||||
!:
|
!:
|
||||||
// for(char i=0;i<25;i++)
|
// for(char i=0;i<25;i++)
|
||||||
inx
|
inx
|
||||||
jmp __b14
|
jmp __b15
|
||||||
__b13:
|
__b13:
|
||||||
// petscii_ptr(x_pos_coarse+19, y_pos_coarse-12)
|
// petscii_ptr(x_pos_coarse+19, y_pos_coarse-12)
|
||||||
lda #$13
|
lda #$13
|
||||||
@ -372,49 +373,20 @@ main: {
|
|||||||
// scrn = screen_hidden+39
|
// scrn = screen_hidden+39
|
||||||
lda #$27
|
lda #$27
|
||||||
clc
|
clc
|
||||||
adc.z scrn3
|
adc.z scrn_1
|
||||||
sta.z scrn3
|
sta.z scrn_1
|
||||||
bcc !+
|
bcc !+
|
||||||
inc.z scrn3+1
|
inc.z scrn_1+1
|
||||||
!:
|
!:
|
||||||
ldx #0
|
jmp __b14
|
||||||
__b17:
|
__b11:
|
||||||
// for(char i=0;i<25;i++)
|
|
||||||
cpx #$19
|
|
||||||
bcc __b18
|
|
||||||
jmp __b16
|
|
||||||
__b18:
|
|
||||||
// *scrn = *petscii
|
|
||||||
ldy #0
|
|
||||||
lda (petscii3),y
|
|
||||||
sta (scrn3),y
|
|
||||||
// scrn += 40
|
|
||||||
lda #$28
|
|
||||||
clc
|
|
||||||
adc.z scrn3
|
|
||||||
sta.z scrn3
|
|
||||||
bcc !+
|
|
||||||
inc.z scrn3+1
|
|
||||||
!:
|
|
||||||
// petscii += 140
|
|
||||||
lda #$8c
|
|
||||||
clc
|
|
||||||
adc.z petscii3
|
|
||||||
sta.z petscii3
|
|
||||||
bcc !+
|
|
||||||
inc.z petscii3+1
|
|
||||||
!:
|
|
||||||
// for(char i=0;i<25;i++)
|
|
||||||
inx
|
|
||||||
jmp __b17
|
|
||||||
__b9:
|
|
||||||
// scrn[i] = petscii[i]
|
// scrn[i] = petscii[i]
|
||||||
lda (petscii),y
|
lda (petscii),y
|
||||||
sta (screen_hidden),y
|
sta (scrn),y
|
||||||
// for(char i=0;i<40;i++)
|
// for(char i=0;i<40;i++)
|
||||||
iny
|
iny
|
||||||
jmp __b8
|
jmp __b10
|
||||||
__b7:
|
__b8:
|
||||||
// petscii_ptr(x_pos_coarse-20, y_pos_coarse+12)
|
// petscii_ptr(x_pos_coarse-20, y_pos_coarse+12)
|
||||||
sec
|
sec
|
||||||
lda.z x_pos_coarse
|
lda.z x_pos_coarse
|
||||||
@ -437,23 +409,11 @@ main: {
|
|||||||
lda.z screen_hidden
|
lda.z screen_hidden
|
||||||
clc
|
clc
|
||||||
adc #<$18*$28
|
adc #<$18*$28
|
||||||
sta.z scrn1
|
sta.z scrn
|
||||||
lda.z screen_hidden+1
|
lda.z screen_hidden+1
|
||||||
adc #>$18*$28
|
adc #>$18*$28
|
||||||
sta.z scrn1+1
|
sta.z scrn+1
|
||||||
ldy #0
|
jmp __b9
|
||||||
__b11:
|
|
||||||
// for(char i=0;i<40;i++)
|
|
||||||
cpy #$28
|
|
||||||
bcc __b12
|
|
||||||
jmp __b10
|
|
||||||
__b12:
|
|
||||||
// scrn[i] = petscii[i]
|
|
||||||
lda (petscii1),y
|
|
||||||
sta (scrn1),y
|
|
||||||
// for(char i=0;i<40;i++)
|
|
||||||
iny
|
|
||||||
jmp __b11
|
|
||||||
}
|
}
|
||||||
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
|
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
|
||||||
memset: {
|
memset: {
|
||||||
@ -461,7 +421,7 @@ memset: {
|
|||||||
.const num = $3e8
|
.const num = $3e8
|
||||||
.label str = MAIN_SCREEN0
|
.label str = MAIN_SCREEN0
|
||||||
.label end = str+num
|
.label end = str+num
|
||||||
.label dst = 9
|
.label dst = $b
|
||||||
lda #<str
|
lda #<str
|
||||||
sta.z dst
|
sta.z dst
|
||||||
lda #>str
|
lda #>str
|
||||||
@ -636,9 +596,9 @@ next_position: {
|
|||||||
// Copy an entire screen (40x25 = 1000 chars)
|
// Copy an entire screen (40x25 = 1000 chars)
|
||||||
// - dst - destination
|
// - dst - destination
|
||||||
// - src - source
|
// - src - source
|
||||||
// screencpy(byte* zp(7) dst, byte* zp(3) src)
|
// screencpy(byte* zp(9) dst, byte* zp(3) src)
|
||||||
screencpy: {
|
screencpy: {
|
||||||
.label dst = 7
|
.label dst = 9
|
||||||
.label src = 3
|
.label src = 3
|
||||||
.label src_250 = $26
|
.label src_250 = $26
|
||||||
.label dst_250 = $1c
|
.label dst_250 = $1c
|
||||||
@ -719,17 +679,17 @@ screencpy: {
|
|||||||
jmp __b1
|
jmp __b1
|
||||||
}
|
}
|
||||||
// Get a pointer to a specific x,y-position in the PETSCII art
|
// Get a pointer to a specific x,y-position in the PETSCII art
|
||||||
// petscii_ptr(word zp(5) row_x, word zp($d) row_y)
|
// petscii_ptr(word zp(5) row_x, word zp($f) row_y)
|
||||||
petscii_ptr: {
|
petscii_ptr: {
|
||||||
.label __0 = $d
|
.label __0 = $f
|
||||||
.label __1 = $d
|
.label __1 = $f
|
||||||
.label row_x = 5
|
.label row_x = 5
|
||||||
.label row_y = $d
|
.label row_y = $f
|
||||||
.label return = 5
|
.label return = 5
|
||||||
.label __3 = $26
|
.label __3 = $26
|
||||||
.label __4 = $26
|
.label __4 = $26
|
||||||
.label __5 = $26
|
.label __5 = $26
|
||||||
.label __6 = $d
|
.label __6 = $f
|
||||||
// row_y * 140
|
// row_y * 140
|
||||||
lda.z row_y
|
lda.z row_y
|
||||||
asl
|
asl
|
||||||
|
@ -5,52 +5,52 @@ main: scope:[main] from
|
|||||||
to:main::sei1
|
to:main::sei1
|
||||||
main::sei1: scope:[main] from main
|
main::sei1: scope:[main] from main
|
||||||
asm { sei }
|
asm { sei }
|
||||||
to:main::@30
|
to:main::@28
|
||||||
main::@30: scope:[main] from main::sei1
|
main::@28: scope:[main] from main::sei1
|
||||||
[2] phi()
|
[2] phi()
|
||||||
[3] call memset
|
[3] call memset
|
||||||
to:main::toD0181
|
to:main::toD0181
|
||||||
main::toD0181: scope:[main] from main::@30
|
main::toD0181: scope:[main] from main::@28
|
||||||
[4] phi()
|
[4] phi()
|
||||||
to:main::@31
|
to:main::@29
|
||||||
main::@31: scope:[main] from main::toD0181
|
main::@29: scope:[main] from main::toD0181
|
||||||
[5] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (const byte) main::toD0181_return#0
|
[5] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (const byte) main::toD0181_return#0
|
||||||
[6] call next_position
|
[6] call next_position
|
||||||
to:main::@1
|
to:main::@1
|
||||||
main::@1: scope:[main] from main::@26 main::@31
|
main::@1: scope:[main] from main::@24 main::@29
|
||||||
[7] (byte) screen#12 ← phi( main::@26/(byte) screen#28 main::@31/(byte) 0 )
|
[7] (byte) screen_buffer#12 ← phi( main::@24/(byte) screen_buffer#26 main::@29/(byte) 0 )
|
||||||
[8] (word) main::x_pos_coarse_old#0 ← (word) x_pos_coarse#17
|
[8] (word) main::x_pos_coarse_old#0 ← (word) x_pos_coarse#17
|
||||||
[9] (word) main::y_pos_coarse_old#0 ← (word) y_pos_coarse#16
|
[9] (word) main::y_pos_coarse_old#0 ← (word) y_pos_coarse#16
|
||||||
[10] call next_position
|
[10] call next_position
|
||||||
to:main::@34
|
to:main::@32
|
||||||
main::@34: scope:[main] from main::@1
|
main::@32: scope:[main] from main::@1
|
||||||
[11] (word~) main::$5 ← (word) main::y_pos_coarse_old#0 - (word) y_pos_coarse#16
|
[11] (word~) main::$5 ← (word) main::y_pos_coarse_old#0 - (word) y_pos_coarse#16
|
||||||
[12] (signed byte) main::y_movement#0 ← (signed byte)(word~) main::$5
|
[12] (signed byte) main::y_movement#0 ← (signed byte)(word~) main::$5
|
||||||
[13] if((signed byte) main::y_movement#0==(signed byte) 1) goto main::@2
|
[13] if((signed byte) main::y_movement#0==(signed byte) 1) goto main::@2
|
||||||
to:main::@27
|
to:main::@25
|
||||||
main::@27: scope:[main] from main::@34
|
main::@25: scope:[main] from main::@32
|
||||||
[14] if((signed byte) main::y_movement#0!=(signed byte) -1) goto main::@2
|
[14] if((signed byte) main::y_movement#0!=(signed byte) -1) goto main::@2
|
||||||
to:main::@28
|
to:main::@26
|
||||||
main::@28: scope:[main] from main::@27
|
main::@26: scope:[main] from main::@25
|
||||||
[15] phi()
|
[15] phi()
|
||||||
to:main::@2
|
to:main::@2
|
||||||
main::@2: scope:[main] from main::@27 main::@28 main::@34
|
main::@2: scope:[main] from main::@25 main::@26 main::@32
|
||||||
[16] (signed byte) main::movement#4 ← phi( main::@34/(signed byte) -$28 main::@27/(signed byte) 0 main::@28/(signed byte) $28 )
|
[16] (signed byte) main::movement#4 ← phi( main::@32/(signed byte) -$28 main::@25/(signed byte) 0 main::@26/(signed byte) $28 )
|
||||||
[17] (word~) main::$9 ← (word) main::x_pos_coarse_old#0 - (word) x_pos_coarse#17
|
[17] (word~) main::$9 ← (word) main::x_pos_coarse_old#0 - (word) x_pos_coarse#17
|
||||||
[18] (signed byte) main::x_movement#0 ← (signed byte)(word~) main::$9
|
[18] (signed byte) main::x_movement#0 ← (signed byte)(word~) main::$9
|
||||||
[19] (signed byte) main::movement#3 ← (signed byte) main::movement#4 - (signed byte) main::x_movement#0
|
[19] (signed byte) main::movement#3 ← (signed byte) main::movement#4 - (signed byte) main::x_movement#0
|
||||||
[20] if((signed byte) 0==(signed byte) main::movement#3) goto main::@23
|
[20] if((signed byte) 0==(signed byte) main::movement#3) goto main::@21
|
||||||
to:main::@29
|
to:main::@27
|
||||||
main::@29: scope:[main] from main::@2
|
main::@27: scope:[main] from main::@2
|
||||||
[21] if((byte) 0!=(byte) screen#12) goto main::@3
|
[21] if((byte) 0!=(byte) screen_buffer#12) goto main::@3
|
||||||
to:main::@4
|
to:main::@4
|
||||||
main::@3: scope:[main] from main::@29
|
main::@3: scope:[main] from main::@27
|
||||||
[22] phi()
|
[22] phi()
|
||||||
to:main::@4
|
to:main::@4
|
||||||
main::@4: scope:[main] from main::@29 main::@3
|
main::@4: scope:[main] from main::@27 main::@3
|
||||||
[23] (byte*~) main::$13 ← phi( main::@3/(const nomodify byte*) MAIN_SCREEN1 main::@29/(const nomodify byte*) MAIN_SCREEN0 )
|
[23] (byte*~) main::$13 ← phi( main::@3/(const nomodify byte*) MAIN_SCREEN1 main::@27/(const nomodify byte*) MAIN_SCREEN0 )
|
||||||
[24] (byte*) main::screen_active#0 ← (byte*~) main::$13 + (signed byte) main::movement#3
|
[24] (byte*) main::screen_active#0 ← (byte*~) main::$13 + (signed byte) main::movement#3
|
||||||
[25] if((byte) 0!=(byte) screen#12) goto main::@5
|
[25] if((byte) 0!=(byte) screen_buffer#12) goto main::@5
|
||||||
to:main::@6
|
to:main::@6
|
||||||
main::@5: scope:[main] from main::@4
|
main::@5: scope:[main] from main::@4
|
||||||
[26] phi()
|
[26] phi()
|
||||||
@ -60,228 +60,217 @@ main::@6: scope:[main] from main::@4 main::@5
|
|||||||
[28] (byte*) screencpy::dst#0 ← (byte*) main::screen_hidden#0
|
[28] (byte*) screencpy::dst#0 ← (byte*) main::screen_hidden#0
|
||||||
[29] (byte*) screencpy::src#0 ← (byte*) main::screen_active#0
|
[29] (byte*) screencpy::src#0 ← (byte*) main::screen_active#0
|
||||||
[30] call screencpy
|
[30] call screencpy
|
||||||
to:main::@35
|
to:main::@33
|
||||||
main::@35: scope:[main] from main::@6
|
main::@33: scope:[main] from main::@6
|
||||||
[31] if((signed byte) main::y_movement#0==(signed byte) -1) goto main::@7
|
[31] if((signed byte) 0==(signed byte) main::y_movement#0) goto main::@7
|
||||||
to:main::@19
|
to:main::@17
|
||||||
main::@19: scope:[main] from main::@35
|
main::@17: scope:[main] from main::@33
|
||||||
[32] if((signed byte) main::y_movement#0!=(signed byte) 1) goto main::@10
|
[32] if((signed byte) main::y_movement#0==(signed byte) -1) goto main::@8
|
||||||
to:main::@20
|
to:main::@18
|
||||||
main::@20: scope:[main] from main::@19
|
main::@18: scope:[main] from main::@17
|
||||||
[33] (word) petscii_ptr::row_x#1 ← (word) x_pos_coarse#17 - (byte) $14
|
[33] (word) petscii_ptr::row_x#1 ← (word) x_pos_coarse#17 - (byte) $14
|
||||||
[34] (word) petscii_ptr::row_y#1 ← (word) y_pos_coarse#16 - (byte) $c
|
[34] (word) petscii_ptr::row_y#1 ← (word) y_pos_coarse#16 - (byte) $c
|
||||||
[35] call petscii_ptr
|
[35] call petscii_ptr
|
||||||
[36] (byte*) petscii_ptr::return#1 ← (byte*) petscii_ptr::return#10
|
[36] (byte*) petscii_ptr::return#1 ← (byte*) petscii_ptr::return#10
|
||||||
|
to:main::@35
|
||||||
|
main::@35: scope:[main] from main::@18
|
||||||
|
[37] (byte*) main::petscii#2 ← (byte*) petscii_ptr::return#1
|
||||||
|
[38] (byte*) main::scrn#13 ← (byte*) main::screen_hidden#0
|
||||||
|
to:main::@9
|
||||||
|
main::@9: scope:[main] from main::@34 main::@35
|
||||||
|
[39] (byte*) main::scrn#10 ← phi( main::@34/(byte*) main::scrn#1 main::@35/(byte*) main::scrn#13 )
|
||||||
|
[39] (byte*) main::petscii#10 ← phi( main::@34/(byte*) main::petscii#1 main::@35/(byte*) main::petscii#2 )
|
||||||
|
to:main::@10
|
||||||
|
main::@10: scope:[main] from main::@11 main::@9
|
||||||
|
[40] (byte) main::i#2 ← phi( main::@9/(byte) 0 main::@11/(byte) main::i#1 )
|
||||||
|
[41] if((byte) main::i#2<(byte) $28) goto main::@11
|
||||||
|
to:main::@7
|
||||||
|
main::@7: scope:[main] from main::@10 main::@33
|
||||||
|
[42] if((signed byte) 0==(signed byte) main::x_movement#0) goto main::@12
|
||||||
|
to:main::@19
|
||||||
|
main::@19: scope:[main] from main::@7
|
||||||
|
[43] if((signed byte) main::x_movement#0==(signed byte) -1) goto main::@13
|
||||||
|
to:main::@20
|
||||||
|
main::@20: scope:[main] from main::@19
|
||||||
|
[44] (word) petscii_ptr::row_x#3 ← (word) x_pos_coarse#17 - (byte) $14
|
||||||
|
[45] (word) petscii_ptr::row_y#3 ← (word) y_pos_coarse#16 - (byte) $c
|
||||||
|
[46] call petscii_ptr
|
||||||
|
[47] (byte*) petscii_ptr::return#3 ← (byte*) petscii_ptr::return#10
|
||||||
to:main::@37
|
to:main::@37
|
||||||
main::@37: scope:[main] from main::@20
|
main::@37: scope:[main] from main::@20
|
||||||
[37] (byte*) main::petscii#0 ← (byte*) petscii_ptr::return#1
|
[48] (byte*) main::petscii#4 ← (byte*) petscii_ptr::return#3
|
||||||
to:main::@8
|
to:main::@14
|
||||||
main::@8: scope:[main] from main::@37 main::@9
|
main::@14: scope:[main] from main::@36 main::@37
|
||||||
[38] (byte) main::i#2 ← phi( main::@9/(byte) main::i#1 main::@37/(byte) 0 )
|
[49] (byte*) main::scrn#11 ← phi( main::@36/(byte*) main::scrn#3 main::@37/(byte*) main::screen_hidden#0 )
|
||||||
[39] if((byte) main::i#2<(byte) $28) goto main::@9
|
[49] (byte*) main::petscii#11 ← phi( main::@36/(byte*) main::petscii#3 main::@37/(byte*) main::petscii#4 )
|
||||||
to:main::@10
|
to:main::@15
|
||||||
main::@10: scope:[main] from main::@11 main::@19 main::@8
|
main::@15: scope:[main] from main::@14 main::@16
|
||||||
[40] if((signed byte) main::x_movement#0==(signed byte) -1) goto main::@13
|
[50] (byte*) main::scrn#7 ← phi( main::@14/(byte*) main::scrn#11 main::@16/(byte*) main::scrn#5 )
|
||||||
|
[50] (byte*) main::petscii#7 ← phi( main::@14/(byte*) main::petscii#11 main::@16/(byte*) main::petscii#5 )
|
||||||
|
[50] (byte) main::i1#2 ← phi( main::@14/(byte) 0 main::@16/(byte) main::i1#1 )
|
||||||
|
[51] if((byte) main::i1#2<(byte) $19) goto main::@16
|
||||||
|
to:main::@12
|
||||||
|
main::@12: scope:[main] from main::@15 main::@7
|
||||||
|
[52] (byte) screen_buffer#0 ← (byte) screen_buffer#12 ^ (byte) 1
|
||||||
to:main::@21
|
to:main::@21
|
||||||
main::@21: scope:[main] from main::@10
|
main::@21: scope:[main] from main::@12 main::@2 main::@21
|
||||||
[41] if((signed byte) main::x_movement#0!=(signed byte) 1) goto main::@16
|
[53] (byte) screen_buffer#26 ← phi( main::@12/(byte) screen_buffer#0 main::@21/(byte) screen_buffer#26 main::@2/(byte) screen_buffer#12 )
|
||||||
|
[54] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $fe) goto main::@21
|
||||||
to:main::@22
|
to:main::@22
|
||||||
main::@22: scope:[main] from main::@21
|
main::@22: scope:[main] from main::@21 main::@22
|
||||||
[42] (word) petscii_ptr::row_x#3 ← (word) x_pos_coarse#17 - (byte) $14
|
[55] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto main::@22
|
||||||
[43] (word) petscii_ptr::row_y#3 ← (word) y_pos_coarse#16 - (byte) $c
|
|
||||||
[44] call petscii_ptr
|
|
||||||
[45] (byte*) petscii_ptr::return#3 ← (byte*) petscii_ptr::return#10
|
|
||||||
to:main::@39
|
|
||||||
main::@39: scope:[main] from main::@22
|
|
||||||
[46] (byte*) main::petscii2#0 ← (byte*) petscii_ptr::return#3
|
|
||||||
to:main::@14
|
|
||||||
main::@14: scope:[main] from main::@15 main::@39
|
|
||||||
[47] (byte*) main::scrn2#2 ← phi( main::@15/(byte*) main::scrn2#1 main::@39/(byte*) main::screen_hidden#0 )
|
|
||||||
[47] (byte*) main::petscii2#2 ← phi( main::@15/(byte*) main::petscii2#1 main::@39/(byte*) main::petscii2#0 )
|
|
||||||
[47] (byte) main::i2#2 ← phi( main::@15/(byte) main::i2#1 main::@39/(byte) 0 )
|
|
||||||
[48] if((byte) main::i2#2<(byte) $19) goto main::@15
|
|
||||||
to:main::@16
|
|
||||||
main::@16: scope:[main] from main::@14 main::@17 main::@21
|
|
||||||
[49] (byte) screen#0 ← (byte) screen#12 ^ (byte) 1
|
|
||||||
to:main::@23
|
to:main::@23
|
||||||
main::@23: scope:[main] from main::@16 main::@2 main::@23
|
main::@23: scope:[main] from main::@22
|
||||||
[50] (byte) screen#28 ← phi( main::@16/(byte) screen#0 main::@23/(byte) screen#28 main::@2/(byte) screen#12 )
|
[56] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) WHITE
|
||||||
[51] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $fe) goto main::@23
|
[57] (byte~) main::$41 ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) & (byte) $f0
|
||||||
to:main::@24
|
[58] (byte~) main::$42 ← (byte) 7 - (byte) y_pos_fine#12
|
||||||
main::@24: scope:[main] from main::@23 main::@24
|
[59] (byte~) main::$43 ← (byte~) main::$41 | (byte~) main::$42
|
||||||
[52] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto main::@24
|
[60] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (byte~) main::$43
|
||||||
to:main::@25
|
[61] (byte~) main::$44 ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) & (byte) $f0
|
||||||
main::@25: scope:[main] from main::@24
|
[62] (byte~) main::$45 ← (byte) 7 - (byte) x_pos_fine#12
|
||||||
[53] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) WHITE
|
[63] (byte~) main::$46 ← (byte~) main::$44 | (byte~) main::$45
|
||||||
[54] (byte~) main::$45 ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) & (byte) $f0
|
[64] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) ← (byte~) main::$46
|
||||||
[55] (byte~) main::$46 ← (byte) 7 - (byte) y_pos_fine#12
|
[65] if((byte) 0!=(byte) screen_buffer#26) goto main::toD0182
|
||||||
[56] (byte~) main::$47 ← (byte~) main::$45 | (byte~) main::$46
|
|
||||||
[57] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (byte~) main::$47
|
|
||||||
[58] (byte~) main::$48 ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) & (byte) $f0
|
|
||||||
[59] (byte~) main::$49 ← (byte) 7 - (byte) x_pos_fine#12
|
|
||||||
[60] (byte~) main::$50 ← (byte~) main::$48 | (byte~) main::$49
|
|
||||||
[61] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) ← (byte~) main::$50
|
|
||||||
[62] if((byte) 0!=(byte) screen#28) goto main::toD0182
|
|
||||||
to:main::toD0183
|
to:main::toD0183
|
||||||
main::toD0183: scope:[main] from main::@25
|
main::toD0183: scope:[main] from main::@23
|
||||||
[63] phi()
|
|
||||||
to:main::@33
|
|
||||||
main::@33: scope:[main] from main::toD0183
|
|
||||||
[64] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (const byte) main::toD0183_return#0
|
|
||||||
to:main::@26
|
|
||||||
main::@26: scope:[main] from main::@32 main::@33
|
|
||||||
[65] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) BLACK
|
|
||||||
to:main::@1
|
|
||||||
main::toD0182: scope:[main] from main::@25
|
|
||||||
[66] phi()
|
[66] phi()
|
||||||
to:main::@32
|
to:main::@31
|
||||||
main::@32: scope:[main] from main::toD0182
|
main::@31: scope:[main] from main::toD0183
|
||||||
[67] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (const byte) main::toD0182_return#0
|
[67] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (const byte) main::toD0183_return#0
|
||||||
to:main::@26
|
to:main::@24
|
||||||
main::@15: scope:[main] from main::@14
|
main::@24: scope:[main] from main::@30 main::@31
|
||||||
[68] *((byte*) main::scrn2#2) ← *((byte*) main::petscii2#2)
|
[68] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) BLACK
|
||||||
[69] (byte*) main::scrn2#1 ← (byte*) main::scrn2#2 + (byte) $28
|
to:main::@1
|
||||||
[70] (byte*) main::petscii2#1 ← (byte*) main::petscii2#2 + (byte) $8c
|
main::toD0182: scope:[main] from main::@23
|
||||||
[71] (byte) main::i2#1 ← ++ (byte) main::i2#2
|
[69] phi()
|
||||||
to:main::@14
|
to:main::@30
|
||||||
main::@13: scope:[main] from main::@10
|
main::@30: scope:[main] from main::toD0182
|
||||||
[72] (word) petscii_ptr::row_x#2 ← (word) x_pos_coarse#17 + (byte) $13
|
[70] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (const byte) main::toD0182_return#0
|
||||||
[73] (word) petscii_ptr::row_y#2 ← (word) y_pos_coarse#16 - (byte) $c
|
to:main::@24
|
||||||
[74] call petscii_ptr
|
main::@16: scope:[main] from main::@15
|
||||||
[75] (byte*) petscii_ptr::return#2 ← (byte*) petscii_ptr::return#10
|
[71] *((byte*) main::scrn#7) ← *((byte*) main::petscii#7)
|
||||||
to:main::@38
|
[72] (byte*) main::scrn#5 ← (byte*) main::scrn#7 + (byte) $28
|
||||||
main::@38: scope:[main] from main::@13
|
[73] (byte*) main::petscii#5 ← (byte*) main::petscii#7 + (byte) $8c
|
||||||
[76] (byte*) main::petscii3#0 ← (byte*) petscii_ptr::return#2
|
[74] (byte) main::i1#1 ← ++ (byte) main::i1#2
|
||||||
[77] (byte*) main::scrn3#0 ← (byte*) main::screen_hidden#0 + (byte) $27
|
to:main::@15
|
||||||
to:main::@17
|
main::@13: scope:[main] from main::@19
|
||||||
main::@17: scope:[main] from main::@18 main::@38
|
[75] (word) petscii_ptr::row_x#2 ← (word) x_pos_coarse#17 + (byte) $13
|
||||||
[78] (byte*) main::scrn3#2 ← phi( main::@18/(byte*) main::scrn3#1 main::@38/(byte*) main::scrn3#0 )
|
[76] (word) petscii_ptr::row_y#2 ← (word) y_pos_coarse#16 - (byte) $c
|
||||||
[78] (byte*) main::petscii3#2 ← phi( main::@18/(byte*) main::petscii3#1 main::@38/(byte*) main::petscii3#0 )
|
[77] call petscii_ptr
|
||||||
[78] (byte) main::i3#2 ← phi( main::@18/(byte) main::i3#1 main::@38/(byte) 0 )
|
[78] (byte*) petscii_ptr::return#2 ← (byte*) petscii_ptr::return#10
|
||||||
[79] if((byte) main::i3#2<(byte) $19) goto main::@18
|
|
||||||
to:main::@16
|
|
||||||
main::@18: scope:[main] from main::@17
|
|
||||||
[80] *((byte*) main::scrn3#2) ← *((byte*) main::petscii3#2)
|
|
||||||
[81] (byte*) main::scrn3#1 ← (byte*) main::scrn3#2 + (byte) $28
|
|
||||||
[82] (byte*) main::petscii3#1 ← (byte*) main::petscii3#2 + (byte) $8c
|
|
||||||
[83] (byte) main::i3#1 ← ++ (byte) main::i3#2
|
|
||||||
to:main::@17
|
|
||||||
main::@9: scope:[main] from main::@8
|
|
||||||
[84] *((byte*) main::screen_hidden#0 + (byte) main::i#2) ← *((byte*) main::petscii#0 + (byte) main::i#2)
|
|
||||||
[85] (byte) main::i#1 ← ++ (byte) main::i#2
|
|
||||||
to:main::@8
|
|
||||||
main::@7: scope:[main] from main::@35
|
|
||||||
[86] (word) petscii_ptr::row_x#0 ← (word) x_pos_coarse#17 - (byte) $14
|
|
||||||
[87] (word) petscii_ptr::row_y#0 ← (word) y_pos_coarse#16 + (byte) $c
|
|
||||||
[88] call petscii_ptr
|
|
||||||
[89] (byte*) petscii_ptr::return#0 ← (byte*) petscii_ptr::return#10
|
|
||||||
to:main::@36
|
to:main::@36
|
||||||
main::@36: scope:[main] from main::@7
|
main::@36: scope:[main] from main::@13
|
||||||
[90] (byte*) main::petscii1#0 ← (byte*) petscii_ptr::return#0
|
[79] (byte*) main::petscii#3 ← (byte*) petscii_ptr::return#2
|
||||||
[91] (byte*) main::scrn1#0 ← (byte*) main::screen_hidden#0 + (word)(number) $18*(number) $28
|
[80] (byte*) main::scrn#3 ← (byte*) main::screen_hidden#0 + (byte) $27
|
||||||
to:main::@11
|
to:main::@14
|
||||||
main::@11: scope:[main] from main::@12 main::@36
|
main::@11: scope:[main] from main::@10
|
||||||
[92] (byte) main::i1#2 ← phi( main::@12/(byte) main::i1#1 main::@36/(byte) 0 )
|
[81] *((byte*) main::scrn#10 + (byte) main::i#2) ← *((byte*) main::petscii#10 + (byte) main::i#2)
|
||||||
[93] if((byte) main::i1#2<(byte) $28) goto main::@12
|
[82] (byte) main::i#1 ← ++ (byte) main::i#2
|
||||||
to:main::@10
|
to:main::@10
|
||||||
main::@12: scope:[main] from main::@11
|
main::@8: scope:[main] from main::@17
|
||||||
[94] *((byte*) main::scrn1#0 + (byte) main::i1#2) ← *((byte*) main::petscii1#0 + (byte) main::i1#2)
|
[83] (word) petscii_ptr::row_x#0 ← (word) x_pos_coarse#17 - (byte) $14
|
||||||
[95] (byte) main::i1#1 ← ++ (byte) main::i1#2
|
[84] (word) petscii_ptr::row_y#0 ← (word) y_pos_coarse#16 + (byte) $c
|
||||||
to:main::@11
|
[85] call petscii_ptr
|
||||||
|
[86] (byte*) petscii_ptr::return#0 ← (byte*) petscii_ptr::return#10
|
||||||
|
to:main::@34
|
||||||
|
main::@34: scope:[main] from main::@8
|
||||||
|
[87] (byte*) main::petscii#1 ← (byte*) petscii_ptr::return#0
|
||||||
|
[88] (byte*) main::scrn#1 ← (byte*) main::screen_hidden#0 + (word)(number) $18*(number) $28
|
||||||
|
to:main::@9
|
||||||
|
|
||||||
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
||||||
memset: scope:[memset] from main::@30
|
memset: scope:[memset] from main::@28
|
||||||
[96] phi()
|
[89] phi()
|
||||||
to:memset::@1
|
to:memset::@1
|
||||||
memset::@1: scope:[memset] from memset memset::@2
|
memset::@1: scope:[memset] from memset memset::@2
|
||||||
[97] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 )
|
[90] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 )
|
||||||
[98] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2
|
[91] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2
|
||||||
to:memset::@return
|
to:memset::@return
|
||||||
memset::@return: scope:[memset] from memset::@1
|
memset::@return: scope:[memset] from memset::@1
|
||||||
[99] return
|
[92] return
|
||||||
to:@return
|
to:@return
|
||||||
memset::@2: scope:[memset] from memset::@1
|
memset::@2: scope:[memset] from memset::@1
|
||||||
[100] *((byte*) memset::dst#2) ← (const byte) memset::c#0
|
[93] *((byte*) memset::dst#2) ← (const byte) memset::c#0
|
||||||
[101] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
|
[94] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
|
||||||
to:memset::@1
|
to:memset::@1
|
||||||
|
|
||||||
(void()) next_position()
|
(void()) next_position()
|
||||||
next_position: scope:[next_position] from main::@1 main::@31
|
next_position: scope:[next_position] from main::@1 main::@29
|
||||||
[102] (word) y_sin_idx#12 ← phi( main::@1/(word) y_sin_idx#13 main::@31/(const nomodify word) SINSIZE/(byte) 4 )
|
[95] (word) y_sin_idx#12 ← phi( main::@1/(word) y_sin_idx#13 main::@29/(const nomodify word) SINSIZE/(byte) 4 )
|
||||||
[102] (word) x_sin_idx#12 ← phi( main::@1/(word) x_sin_idx#14 main::@31/(word) 0 )
|
[95] (word) x_sin_idx#12 ← phi( main::@1/(word) x_sin_idx#14 main::@29/(word) 0 )
|
||||||
[103] (word) x_sin_idx#13 ← ++ (word) x_sin_idx#12
|
[96] (word) x_sin_idx#13 ← ++ (word) x_sin_idx#12
|
||||||
[104] if((word) x_sin_idx#13<(const nomodify word) SINSIZE) goto next_position::@1
|
[97] if((word) x_sin_idx#13<(const nomodify word) SINSIZE) goto next_position::@1
|
||||||
to:next_position::@3
|
to:next_position::@3
|
||||||
next_position::@3: scope:[next_position] from next_position
|
next_position::@3: scope:[next_position] from next_position
|
||||||
[105] (word) x_sin_idx#4 ← (word) x_sin_idx#13 - (const nomodify word) SINSIZE
|
[98] (word) x_sin_idx#4 ← (word) x_sin_idx#13 - (const nomodify word) SINSIZE
|
||||||
to:next_position::@1
|
to:next_position::@1
|
||||||
next_position::@1: scope:[next_position] from next_position next_position::@3
|
next_position::@1: scope:[next_position] from next_position next_position::@3
|
||||||
[106] (word) x_sin_idx#14 ← phi( next_position/(word) x_sin_idx#13 next_position::@3/(word) x_sin_idx#4 )
|
[99] (word) x_sin_idx#14 ← phi( next_position/(word) x_sin_idx#13 next_position::@3/(word) x_sin_idx#4 )
|
||||||
[107] (word) y_sin_idx#14 ← ++ (word) y_sin_idx#12
|
[100] (word) y_sin_idx#14 ← ++ (word) y_sin_idx#12
|
||||||
[108] if((word) y_sin_idx#14<(const nomodify word) SINSIZE) goto next_position::@2
|
[101] if((word) y_sin_idx#14<(const nomodify word) SINSIZE) goto next_position::@2
|
||||||
to:next_position::@4
|
to:next_position::@4
|
||||||
next_position::@4: scope:[next_position] from next_position::@1
|
next_position::@4: scope:[next_position] from next_position::@1
|
||||||
[109] (word) y_sin_idx#4 ← (word) y_sin_idx#14 - (const nomodify word) SINSIZE
|
[102] (word) y_sin_idx#4 ← (word) y_sin_idx#14 - (const nomodify word) SINSIZE
|
||||||
to:next_position::@2
|
to:next_position::@2
|
||||||
next_position::@2: scope:[next_position] from next_position::@1 next_position::@4
|
next_position::@2: scope:[next_position] from next_position::@1 next_position::@4
|
||||||
[110] (word) y_sin_idx#13 ← phi( next_position::@1/(word) y_sin_idx#14 next_position::@4/(word) y_sin_idx#4 )
|
[103] (word) y_sin_idx#13 ← phi( next_position::@1/(word) y_sin_idx#14 next_position::@4/(word) y_sin_idx#4 )
|
||||||
[111] (word~) next_position::$12 ← (word) x_sin_idx#14 << (byte) 1
|
[104] (word~) next_position::$12 ← (word) x_sin_idx#14 << (byte) 1
|
||||||
[112] (signed word*~) next_position::$18 ← (const signed word*) SINTAB + (word~) next_position::$12
|
[105] (signed word*~) next_position::$18 ← (const signed word*) SINTAB + (word~) next_position::$12
|
||||||
[113] (signed word) x_pos#11 ← *((signed word*~) next_position::$18)
|
[106] (signed word) x_pos#11 ← *((signed word*~) next_position::$18)
|
||||||
[114] (word~) next_position::$13 ← (word) y_sin_idx#13 << (byte) 1
|
[107] (word~) next_position::$13 ← (word) y_sin_idx#13 << (byte) 1
|
||||||
[115] (signed word*~) next_position::$19 ← (const signed word*) SINTAB + (word~) next_position::$13
|
[108] (signed word*~) next_position::$19 ← (const signed word*) SINTAB + (word~) next_position::$13
|
||||||
[116] (signed word) y_pos#11 ← *((signed word*~) next_position::$19)
|
[109] (signed word) y_pos#11 ← *((signed word*~) next_position::$19)
|
||||||
[117] (word~) next_position::$4 ← (word)(signed word) x_pos#11
|
[110] (word~) next_position::$4 ← (word)(signed word) x_pos#11
|
||||||
[118] (word) next_position::x_pos_u#0 ← (word~) next_position::$4 + (word) $190+(byte)(number) $14*(number) 8
|
[111] (word) next_position::x_pos_u#0 ← (word~) next_position::$4 + (word) $190+(byte)(number) $14*(number) 8
|
||||||
[119] (byte~) next_position::$15 ← (byte)(word) next_position::x_pos_u#0
|
[112] (byte~) next_position::$15 ← (byte)(word) next_position::x_pos_u#0
|
||||||
[120] (byte) x_pos_fine#12 ← (byte~) next_position::$15 & (byte) 7
|
[113] (byte) x_pos_fine#12 ← (byte~) next_position::$15 & (byte) 7
|
||||||
[121] (word) x_pos_coarse#17 ← (word) next_position::x_pos_u#0 >> (byte) 3
|
[114] (word) x_pos_coarse#17 ← (word) next_position::x_pos_u#0 >> (byte) 3
|
||||||
[122] (word~) next_position::$8 ← (word)(signed word) y_pos#11
|
[115] (word~) next_position::$8 ← (word)(signed word) y_pos#11
|
||||||
[123] (word) next_position::y_pos_u#0 ← (word~) next_position::$8 + (word) $190+(byte)(number) $c*(number) 8
|
[116] (word) next_position::y_pos_u#0 ← (word~) next_position::$8 + (word) $190+(byte)(number) $c*(number) 8
|
||||||
[124] (byte~) next_position::$17 ← (byte)(word) next_position::y_pos_u#0
|
[117] (byte~) next_position::$17 ← (byte)(word) next_position::y_pos_u#0
|
||||||
[125] (byte) y_pos_fine#12 ← (byte~) next_position::$17 & (byte) 7
|
[118] (byte) y_pos_fine#12 ← (byte~) next_position::$17 & (byte) 7
|
||||||
[126] (word) y_pos_coarse#16 ← (word) next_position::y_pos_u#0 >> (byte) 3
|
[119] (word) y_pos_coarse#16 ← (word) next_position::y_pos_u#0 >> (byte) 3
|
||||||
to:next_position::@return
|
to:next_position::@return
|
||||||
next_position::@return: scope:[next_position] from next_position::@2
|
next_position::@return: scope:[next_position] from next_position::@2
|
||||||
[127] return
|
[120] return
|
||||||
to:@return
|
to:@return
|
||||||
|
|
||||||
(void()) screencpy((byte*) screencpy::dst , (byte*) screencpy::src)
|
(void()) screencpy((byte*) screencpy::dst , (byte*) screencpy::src)
|
||||||
screencpy: scope:[screencpy] from main::@6
|
screencpy: scope:[screencpy] from main::@6
|
||||||
[128] (byte*) screencpy::src_250#0 ← (byte*) screencpy::src#0 + (byte) $fa
|
[121] (byte*) screencpy::src_250#0 ← (byte*) screencpy::src#0 + (byte) $fa
|
||||||
[129] (byte*) screencpy::dst_250#0 ← (byte*) screencpy::dst#0 + (byte) $fa
|
[122] (byte*) screencpy::dst_250#0 ← (byte*) screencpy::dst#0 + (byte) $fa
|
||||||
[130] (byte*) screencpy::src_500#0 ← (byte*) screencpy::src#0 + (word) $1f4
|
[123] (byte*) screencpy::src_500#0 ← (byte*) screencpy::src#0 + (word) $1f4
|
||||||
[131] (byte*) screencpy::dst_500#0 ← (byte*) screencpy::dst#0 + (word) $1f4
|
[124] (byte*) screencpy::dst_500#0 ← (byte*) screencpy::dst#0 + (word) $1f4
|
||||||
[132] (byte*) screencpy::src_750#0 ← (byte*) screencpy::src#0 + (word) $2ee
|
[125] (byte*) screencpy::src_750#0 ← (byte*) screencpy::src#0 + (word) $2ee
|
||||||
[133] (byte*) screencpy::dst_750#0 ← (byte*) screencpy::dst#0 + (word) $2ee
|
[126] (byte*) screencpy::dst_750#0 ← (byte*) screencpy::dst#0 + (word) $2ee
|
||||||
to:screencpy::@1
|
to:screencpy::@1
|
||||||
screencpy::@1: scope:[screencpy] from screencpy screencpy::@2
|
screencpy::@1: scope:[screencpy] from screencpy screencpy::@2
|
||||||
[134] (byte) screencpy::i#2 ← phi( screencpy/(byte) 0 screencpy::@2/(byte) screencpy::i#1 )
|
[127] (byte) screencpy::i#2 ← phi( screencpy/(byte) 0 screencpy::@2/(byte) screencpy::i#1 )
|
||||||
[135] if((byte) screencpy::i#2<(byte) $fa) goto screencpy::@2
|
[128] if((byte) screencpy::i#2<(byte) $fa) goto screencpy::@2
|
||||||
to:screencpy::@return
|
to:screencpy::@return
|
||||||
screencpy::@return: scope:[screencpy] from screencpy::@1
|
screencpy::@return: scope:[screencpy] from screencpy::@1
|
||||||
[136] return
|
[129] return
|
||||||
to:@return
|
to:@return
|
||||||
screencpy::@2: scope:[screencpy] from screencpy::@1
|
screencpy::@2: scope:[screencpy] from screencpy::@1
|
||||||
[137] *((byte*) screencpy::dst#0 + (byte) screencpy::i#2) ← *((byte*) screencpy::src#0 + (byte) screencpy::i#2)
|
[130] *((byte*) screencpy::dst#0 + (byte) screencpy::i#2) ← *((byte*) screencpy::src#0 + (byte) screencpy::i#2)
|
||||||
[138] *((byte*) screencpy::dst_250#0 + (byte) screencpy::i#2) ← *((byte*) screencpy::src_250#0 + (byte) screencpy::i#2)
|
[131] *((byte*) screencpy::dst_250#0 + (byte) screencpy::i#2) ← *((byte*) screencpy::src_250#0 + (byte) screencpy::i#2)
|
||||||
[139] *((byte*) screencpy::dst_500#0 + (byte) screencpy::i#2) ← *((byte*) screencpy::src_500#0 + (byte) screencpy::i#2)
|
[132] *((byte*) screencpy::dst_500#0 + (byte) screencpy::i#2) ← *((byte*) screencpy::src_500#0 + (byte) screencpy::i#2)
|
||||||
[140] *((byte*) screencpy::dst_750#0 + (byte) screencpy::i#2) ← *((byte*) screencpy::src_750#0 + (byte) screencpy::i#2)
|
[133] *((byte*) screencpy::dst_750#0 + (byte) screencpy::i#2) ← *((byte*) screencpy::src_750#0 + (byte) screencpy::i#2)
|
||||||
[141] (byte) screencpy::i#1 ← ++ (byte) screencpy::i#2
|
[134] (byte) screencpy::i#1 ← ++ (byte) screencpy::i#2
|
||||||
to:screencpy::@1
|
to:screencpy::@1
|
||||||
|
|
||||||
(byte*()) petscii_ptr((word) petscii_ptr::row_x , (word) petscii_ptr::row_y)
|
(byte*()) petscii_ptr((word) petscii_ptr::row_x , (word) petscii_ptr::row_y)
|
||||||
petscii_ptr: scope:[petscii_ptr] from main::@13 main::@20 main::@22 main::@7
|
petscii_ptr: scope:[petscii_ptr] from main::@13 main::@18 main::@20 main::@8
|
||||||
[142] (word) petscii_ptr::row_x#4 ← phi( main::@7/(word) petscii_ptr::row_x#0 main::@13/(word) petscii_ptr::row_x#2 main::@20/(word) petscii_ptr::row_x#1 main::@22/(word) petscii_ptr::row_x#3 )
|
[135] (word) petscii_ptr::row_x#4 ← phi( main::@8/(word) petscii_ptr::row_x#0 main::@13/(word) petscii_ptr::row_x#2 main::@18/(word) petscii_ptr::row_x#1 main::@20/(word) petscii_ptr::row_x#3 )
|
||||||
[142] (word) petscii_ptr::row_y#4 ← phi( main::@7/(word) petscii_ptr::row_y#0 main::@13/(word) petscii_ptr::row_y#2 main::@20/(word) petscii_ptr::row_y#1 main::@22/(word) petscii_ptr::row_y#3 )
|
[135] (word) petscii_ptr::row_y#4 ← phi( main::@8/(word) petscii_ptr::row_y#0 main::@13/(word) petscii_ptr::row_y#2 main::@18/(word) petscii_ptr::row_y#1 main::@20/(word) petscii_ptr::row_y#3 )
|
||||||
[143] (word~) petscii_ptr::$3 ← (word) petscii_ptr::row_y#4 << (byte) 4
|
[136] (word~) petscii_ptr::$3 ← (word) petscii_ptr::row_y#4 << (byte) 4
|
||||||
[144] (word~) petscii_ptr::$4 ← (word~) petscii_ptr::$3 + (word) petscii_ptr::row_y#4
|
[137] (word~) petscii_ptr::$4 ← (word~) petscii_ptr::$3 + (word) petscii_ptr::row_y#4
|
||||||
[145] (word~) petscii_ptr::$5 ← (word~) petscii_ptr::$4 << (byte) 1
|
[138] (word~) petscii_ptr::$5 ← (word~) petscii_ptr::$4 << (byte) 1
|
||||||
[146] (word~) petscii_ptr::$6 ← (word~) petscii_ptr::$5 + (word) petscii_ptr::row_y#4
|
[139] (word~) petscii_ptr::$6 ← (word~) petscii_ptr::$5 + (word) petscii_ptr::row_y#4
|
||||||
[147] (word~) petscii_ptr::$0 ← (word~) petscii_ptr::$6 << (byte) 2
|
[140] (word~) petscii_ptr::$0 ← (word~) petscii_ptr::$6 << (byte) 2
|
||||||
[148] (byte*~) petscii_ptr::$1 ← (const byte*) PETSCII_ART + (word~) petscii_ptr::$0
|
[141] (byte*~) petscii_ptr::$1 ← (const byte*) PETSCII_ART + (word~) petscii_ptr::$0
|
||||||
[149] (byte*) petscii_ptr::return#10 ← (byte*~) petscii_ptr::$1 + (word) petscii_ptr::row_x#4
|
[142] (byte*) petscii_ptr::return#10 ← (byte*~) petscii_ptr::$1 + (word) petscii_ptr::row_x#4
|
||||||
to:petscii_ptr::@return
|
to:petscii_ptr::@return
|
||||||
petscii_ptr::@return: scope:[petscii_ptr] from petscii_ptr
|
petscii_ptr::@return: scope:[petscii_ptr] from petscii_ptr
|
||||||
[150] return
|
[143] return
|
||||||
to:@return
|
to:@return
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -104,14 +104,14 @@
|
|||||||
(const nomodify byte) WHITE = (byte) 1
|
(const nomodify byte) WHITE = (byte) 1
|
||||||
(void()) main()
|
(void()) main()
|
||||||
(byte*~) main::$13 zp[2]:3 11.0
|
(byte*~) main::$13 zp[2]:3 11.0
|
||||||
(byte~) main::$45 zp[1]:19 11.0
|
(byte~) main::$41 zp[1]:21 11.0
|
||||||
|
(byte~) main::$42 reg byte a 22.0
|
||||||
|
(byte~) main::$43 reg byte a 22.0
|
||||||
|
(byte~) main::$44 zp[1]:27 11.0
|
||||||
|
(byte~) main::$45 reg byte a 22.0
|
||||||
(byte~) main::$46 reg byte a 22.0
|
(byte~) main::$46 reg byte a 22.0
|
||||||
(byte~) main::$47 reg byte a 22.0
|
(word~) main::$5 zp[2]:17 11.0
|
||||||
(byte~) main::$48 zp[1]:27 11.0
|
(word~) main::$9 zp[2]:15 11.0
|
||||||
(byte~) main::$49 reg byte a 22.0
|
|
||||||
(word~) main::$5 zp[2]:15 11.0
|
|
||||||
(byte~) main::$50 reg byte a 22.0
|
|
||||||
(word~) main::$9 zp[2]:13 11.0
|
|
||||||
(label) main::@1
|
(label) main::@1
|
||||||
(label) main::@10
|
(label) main::@10
|
||||||
(label) main::@11
|
(label) main::@11
|
||||||
@ -143,8 +143,6 @@
|
|||||||
(label) main::@35
|
(label) main::@35
|
||||||
(label) main::@36
|
(label) main::@36
|
||||||
(label) main::@37
|
(label) main::@37
|
||||||
(label) main::@38
|
|
||||||
(label) main::@39
|
|
||||||
(label) main::@4
|
(label) main::@4
|
||||||
(label) main::@5
|
(label) main::@5
|
||||||
(label) main::@6
|
(label) main::@6
|
||||||
@ -155,43 +153,32 @@
|
|||||||
(byte) main::i#1 reg byte y 202.0
|
(byte) main::i#1 reg byte y 202.0
|
||||||
(byte) main::i#2 reg byte y 168.33333333333331
|
(byte) main::i#2 reg byte y 168.33333333333331
|
||||||
(byte) main::i1
|
(byte) main::i1
|
||||||
(byte) main::i1#1 reg byte y 202.0
|
(byte) main::i1#1 reg byte x 202.0
|
||||||
(byte) main::i1#2 reg byte y 168.33333333333331
|
(byte) main::i1#2 reg byte x 60.599999999999994
|
||||||
(byte) main::i2
|
|
||||||
(byte) main::i2#1 reg byte x 202.0
|
|
||||||
(byte) main::i2#2 reg byte x 60.599999999999994
|
|
||||||
(byte) main::i3
|
|
||||||
(byte) main::i3#1 reg byte x 202.0
|
|
||||||
(byte) main::i3#2 reg byte x 60.599999999999994
|
|
||||||
(signed byte) main::movement
|
(signed byte) main::movement
|
||||||
(signed byte) main::movement#3 reg byte x 6.6000000000000005
|
(signed byte) main::movement#3 reg byte x 6.6000000000000005
|
||||||
(signed byte) main::movement#4 reg byte x 3.6666666666666665
|
(signed byte) main::movement#4 reg byte x 3.6666666666666665
|
||||||
(byte*) main::petscii
|
(byte*) main::petscii
|
||||||
(byte*) main::petscii#0 petscii zp[2]:5 22.4
|
(byte*) main::petscii#1 petscii zp[2]:5 11.0
|
||||||
(byte*) main::petscii1
|
(byte*) main::petscii#10 petscii zp[2]:5 24.6
|
||||||
(byte*) main::petscii1#0 petscii1 zp[2]:5 18.666666666666664
|
(byte*) main::petscii#11 petscii zp[2]:5 33.0
|
||||||
(byte*) main::petscii2
|
(byte*) main::petscii#2 petscii zp[2]:5 11.0
|
||||||
(byte*) main::petscii2#0 petscii2 zp[2]:5 22.0
|
(byte*) main::petscii#3 petscii zp[2]:5 11.0
|
||||||
(byte*) main::petscii2#1 petscii2 zp[2]:5 101.0
|
(byte*) main::petscii#4 petscii zp[2]:5 22.0
|
||||||
(byte*) main::petscii2#2 petscii2 zp[2]:5 78.5
|
(byte*) main::petscii#5 petscii zp[2]:5 101.0
|
||||||
(byte*) main::petscii3
|
(byte*) main::petscii#7 petscii zp[2]:5 78.5
|
||||||
(byte*) main::petscii3#0 petscii3 zp[2]:5 11.0
|
|
||||||
(byte*) main::petscii3#1 petscii3 zp[2]:5 101.0
|
|
||||||
(byte*) main::petscii3#2 petscii3 zp[2]:5 78.5
|
|
||||||
(byte*) main::screen_active
|
(byte*) main::screen_active
|
||||||
(byte*) main::screen_active#0 screen_active zp[2]:3 4.4
|
(byte*) main::screen_active#0 screen_active zp[2]:3 4.4
|
||||||
(byte*) main::screen_hidden
|
(byte*) main::screen_hidden
|
||||||
(byte*) main::screen_hidden#0 screen_hidden zp[2]:7 3.9189189189189193
|
(byte*) main::screen_hidden#0 screen_hidden zp[2]:9 1.5714285714285714
|
||||||
(byte*) main::scrn
|
(byte*) main::scrn
|
||||||
(byte*) main::scrn1
|
(byte*) main::scrn#1 scrn zp[2]:7 22.0
|
||||||
(byte*) main::scrn1#0 scrn1 zp[2]:20 22.4
|
(byte*) main::scrn#10 scrn zp[2]:7 24.6
|
||||||
(byte*) main::scrn2
|
(byte*) main::scrn#11 scrn_1 zp[2]:9 33.0
|
||||||
(byte*) main::scrn2#1 scrn2 zp[2]:7 67.33333333333333
|
(byte*) main::scrn#13 scrn zp[2]:7 22.0
|
||||||
(byte*) main::scrn2#2 scrn2 zp[2]:7 104.66666666666666
|
(byte*) main::scrn#3 scrn_1 zp[2]:9 22.0
|
||||||
(byte*) main::scrn3
|
(byte*) main::scrn#5 scrn_1 zp[2]:9 67.33333333333333
|
||||||
(byte*) main::scrn3#0 scrn3 zp[2]:7 22.0
|
(byte*) main::scrn#7 scrn_1 zp[2]:9 104.66666666666666
|
||||||
(byte*) main::scrn3#1 scrn3 zp[2]:7 67.33333333333333
|
|
||||||
(byte*) main::scrn3#2 scrn3 zp[2]:7 104.66666666666666
|
|
||||||
(label) main::sei1
|
(label) main::sei1
|
||||||
(label) main::toD0181
|
(label) main::toD0181
|
||||||
(byte*) main::toD0181_gfx
|
(byte*) main::toD0181_gfx
|
||||||
@ -209,13 +196,13 @@
|
|||||||
(const byte) main::toD0183_return#0 toD0183_return = >(word)(const nomodify byte*) MAIN_SCREEN0&(word) $3fff*(byte) 4|>(word)(const nomodify byte*) MAIN_CHARSET/(byte) 4&(byte) $f
|
(const byte) main::toD0183_return#0 toD0183_return = >(word)(const nomodify byte*) MAIN_SCREEN0&(word) $3fff*(byte) 4|>(word)(const nomodify byte*) MAIN_CHARSET/(byte) 4&(byte) $f
|
||||||
(byte*) main::toD0183_screen
|
(byte*) main::toD0183_screen
|
||||||
(signed byte) main::x_movement
|
(signed byte) main::x_movement
|
||||||
(signed byte) main::x_movement#0 x_movement zp[1]:18 1.2571428571428571
|
(signed byte) main::x_movement#0 x_movement zp[1]:20 1.3333333333333333
|
||||||
(word) main::x_pos_coarse_old
|
(word) main::x_pos_coarse_old
|
||||||
(word) main::x_pos_coarse_old#0 x_pos_coarse_old zp[2]:13 2.4444444444444446
|
(word) main::x_pos_coarse_old#0 x_pos_coarse_old zp[2]:15 2.4444444444444446
|
||||||
(signed byte) main::y_movement
|
(signed byte) main::y_movement
|
||||||
(signed byte) main::y_movement#0 y_movement zp[1]:17 2.75
|
(signed byte) main::y_movement#0 y_movement zp[1]:19 2.75
|
||||||
(word) main::y_pos_coarse_old
|
(word) main::y_pos_coarse_old
|
||||||
(word) main::y_pos_coarse_old#0 y_pos_coarse_old zp[2]:15 11.0
|
(word) main::y_pos_coarse_old#0 y_pos_coarse_old zp[2]:17 11.0
|
||||||
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
||||||
(label) memset::@1
|
(label) memset::@1
|
||||||
(label) memset::@2
|
(label) memset::@2
|
||||||
@ -223,8 +210,8 @@
|
|||||||
(byte) memset::c
|
(byte) memset::c
|
||||||
(const byte) memset::c#0 c = (byte) ' '
|
(const byte) memset::c#0 c = (byte) ' '
|
||||||
(byte*) memset::dst
|
(byte*) memset::dst
|
||||||
(byte*) memset::dst#1 dst zp[2]:9 202.0
|
(byte*) memset::dst#1 dst zp[2]:11 202.0
|
||||||
(byte*) memset::dst#2 dst zp[2]:9 134.66666666666666
|
(byte*) memset::dst#2 dst zp[2]:11 134.66666666666666
|
||||||
(byte*) memset::end
|
(byte*) memset::end
|
||||||
(const byte*) memset::end#0 end = (byte*)(const void*) memset::str#0+(const word) memset::num#0
|
(const byte*) memset::end#0 end = (byte*)(const void*) memset::str#0+(const word) memset::num#0
|
||||||
(word) memset::num
|
(word) memset::num
|
||||||
@ -251,12 +238,12 @@
|
|||||||
(word) next_position::y_pos_u
|
(word) next_position::y_pos_u
|
||||||
(word) next_position::y_pos_u#0 y_pos_u zp[2]:24 67.33333333333333
|
(word) next_position::y_pos_u#0 y_pos_u zp[2]:24 67.33333333333333
|
||||||
(byte*()) petscii_ptr((word) petscii_ptr::row_x , (word) petscii_ptr::row_y)
|
(byte*()) petscii_ptr((word) petscii_ptr::row_x , (word) petscii_ptr::row_y)
|
||||||
(word~) petscii_ptr::$0 zp[2]:13 202.0
|
(word~) petscii_ptr::$0 zp[2]:15 202.0
|
||||||
(byte*~) petscii_ptr::$1 zp[2]:13 202.0
|
(byte*~) petscii_ptr::$1 zp[2]:15 202.0
|
||||||
(word~) petscii_ptr::$3 zp[2]:38 202.0
|
(word~) petscii_ptr::$3 zp[2]:38 202.0
|
||||||
(word~) petscii_ptr::$4 zp[2]:38 202.0
|
(word~) petscii_ptr::$4 zp[2]:38 202.0
|
||||||
(word~) petscii_ptr::$5 zp[2]:38 202.0
|
(word~) petscii_ptr::$5 zp[2]:38 202.0
|
||||||
(word~) petscii_ptr::$6 zp[2]:13 202.0
|
(word~) petscii_ptr::$6 zp[2]:15 202.0
|
||||||
(label) petscii_ptr::@return
|
(label) petscii_ptr::@return
|
||||||
(byte*) petscii_ptr::return
|
(byte*) petscii_ptr::return
|
||||||
(byte*) petscii_ptr::return#0 return zp[2]:5 22.0
|
(byte*) petscii_ptr::return#0 return zp[2]:5 22.0
|
||||||
@ -271,21 +258,21 @@
|
|||||||
(word) petscii_ptr::row_x#3 row_x zp[2]:5 11.0
|
(word) petscii_ptr::row_x#3 row_x zp[2]:5 11.0
|
||||||
(word) petscii_ptr::row_x#4 row_x zp[2]:5 20.714285714285715
|
(word) petscii_ptr::row_x#4 row_x zp[2]:5 20.714285714285715
|
||||||
(word) petscii_ptr::row_y
|
(word) petscii_ptr::row_y
|
||||||
(word) petscii_ptr::row_y#0 row_y zp[2]:13 22.0
|
(word) petscii_ptr::row_y#0 row_y zp[2]:15 22.0
|
||||||
(word) petscii_ptr::row_y#1 row_y zp[2]:13 22.0
|
(word) petscii_ptr::row_y#1 row_y zp[2]:15 22.0
|
||||||
(word) petscii_ptr::row_y#2 row_y zp[2]:13 22.0
|
(word) petscii_ptr::row_y#2 row_y zp[2]:15 22.0
|
||||||
(word) petscii_ptr::row_y#3 row_y zp[2]:13 22.0
|
(word) petscii_ptr::row_y#3 row_y zp[2]:15 22.0
|
||||||
(word) petscii_ptr::row_y#4 row_y zp[2]:13 86.75
|
(word) petscii_ptr::row_y#4 row_y zp[2]:15 86.75
|
||||||
(byte) screen
|
(byte) screen_buffer
|
||||||
(byte) screen#0 screen zp[1]:2 22.0
|
(byte) screen_buffer#0 screen_buffer zp[1]:2 22.0
|
||||||
(byte) screen#12 screen zp[1]:2 0.7857142857142857
|
(byte) screen_buffer#12 screen_buffer zp[1]:2 0.873015873015873
|
||||||
(byte) screen#28 screen zp[1]:2 13.666666666666666
|
(byte) screen_buffer#26 screen_buffer zp[1]:2 13.666666666666666
|
||||||
(void()) screencpy((byte*) screencpy::dst , (byte*) screencpy::src)
|
(void()) screencpy((byte*) screencpy::dst , (byte*) screencpy::src)
|
||||||
(label) screencpy::@1
|
(label) screencpy::@1
|
||||||
(label) screencpy::@2
|
(label) screencpy::@2
|
||||||
(label) screencpy::@return
|
(label) screencpy::@return
|
||||||
(byte*) screencpy::dst
|
(byte*) screencpy::dst
|
||||||
(byte*) screencpy::dst#0 dst zp[2]:7 687.6666666666666
|
(byte*) screencpy::dst#0 dst zp[2]:9 687.6666666666666
|
||||||
(byte*) screencpy::dst_250
|
(byte*) screencpy::dst_250
|
||||||
(byte*) screencpy::dst_250#0 dst_250 zp[2]:28 841.8333333333333
|
(byte*) screencpy::dst_250#0 dst_250 zp[2]:28 841.8333333333333
|
||||||
(byte*) screencpy::dst_500
|
(byte*) screencpy::dst_500
|
||||||
@ -306,55 +293,53 @@
|
|||||||
(signed word) x_pos
|
(signed word) x_pos
|
||||||
(signed word) x_pos#11 x_pos zp[2]:22 25.25
|
(signed word) x_pos#11 x_pos zp[2]:22 25.25
|
||||||
(word) x_pos_coarse
|
(word) x_pos_coarse
|
||||||
(word) x_pos_coarse#17 x_pos_coarse zp[2]:22 1.7578947368421054
|
(word) x_pos_coarse#17 x_pos_coarse zp[2]:22 1.8977272727272727
|
||||||
(byte) x_pos_fine
|
(byte) x_pos_fine
|
||||||
(byte) x_pos_fine#12 x_pos_fine zp[1]:26 1.3176470588235294
|
(byte) x_pos_fine#12 x_pos_fine zp[1]:26 1.435897435897436
|
||||||
(word) x_sin_idx
|
(word) x_sin_idx
|
||||||
(word) x_sin_idx#12 x_sin_idx zp[2]:9 112.0
|
(word) x_sin_idx#12 x_sin_idx zp[2]:11 112.0
|
||||||
(word) x_sin_idx#13 x_sin_idx zp[2]:9 202.0
|
(word) x_sin_idx#13 x_sin_idx zp[2]:11 202.0
|
||||||
(word) x_sin_idx#14 x_sin_idx zp[2]:9 2.803571428571429
|
(word) x_sin_idx#14 x_sin_idx zp[2]:11 2.9904761904761905
|
||||||
(word) x_sin_idx#4 x_sin_idx zp[2]:9 202.0
|
(word) x_sin_idx#4 x_sin_idx zp[2]:11 202.0
|
||||||
(signed word) y_pos
|
(signed word) y_pos
|
||||||
(signed word) y_pos#11 y_pos zp[2]:24 16.833333333333332
|
(signed word) y_pos#11 y_pos zp[2]:24 16.833333333333332
|
||||||
(word) y_pos_coarse
|
(word) y_pos_coarse
|
||||||
(word) y_pos_coarse#16 y_pos_coarse zp[2]:24 1.8351648351648353
|
(word) y_pos_coarse#16 y_pos_coarse zp[2]:24 1.9880952380952381
|
||||||
(byte) y_pos_fine
|
(byte) y_pos_fine
|
||||||
(byte) y_pos_fine#12 y_pos_fine zp[1]:27 1.473684210526316
|
(byte) y_pos_fine#12 y_pos_fine zp[1]:27 1.6231884057971016
|
||||||
(word) y_sin_idx
|
(word) y_sin_idx
|
||||||
(word) y_sin_idx#12 y_sin_idx zp[2]:11 22.4
|
(word) y_sin_idx#12 y_sin_idx zp[2]:13 22.4
|
||||||
(word) y_sin_idx#13 y_sin_idx zp[2]:11 2.9074074074074074
|
(word) y_sin_idx#13 y_sin_idx zp[2]:13 3.108910891089109
|
||||||
(word) y_sin_idx#14 y_sin_idx zp[2]:11 202.0
|
(word) y_sin_idx#14 y_sin_idx zp[2]:13 202.0
|
||||||
(word) y_sin_idx#4 y_sin_idx zp[2]:11 202.0
|
(word) y_sin_idx#4 y_sin_idx zp[2]:13 202.0
|
||||||
|
|
||||||
zp[1]:2 [ screen#12 screen#28 screen#0 ]
|
zp[1]:2 [ screen_buffer#12 screen_buffer#26 screen_buffer#0 ]
|
||||||
reg byte x [ main::movement#4 ]
|
reg byte x [ main::movement#4 ]
|
||||||
zp[2]:3 [ main::$13 main::screen_active#0 screencpy::src#0 ]
|
zp[2]:3 [ main::$13 main::screen_active#0 screencpy::src#0 ]
|
||||||
|
zp[2]:5 [ main::petscii#10 main::petscii#1 main::petscii#2 petscii_ptr::return#1 petscii_ptr::return#0 petscii_ptr::row_x#4 petscii_ptr::row_x#0 petscii_ptr::row_x#2 petscii_ptr::row_x#1 petscii_ptr::row_x#3 petscii_ptr::return#10 main::petscii#7 main::petscii#11 main::petscii#3 main::petscii#4 main::petscii#5 petscii_ptr::return#3 petscii_ptr::return#2 ]
|
||||||
|
zp[2]:7 [ main::scrn#10 main::scrn#1 main::scrn#13 ]
|
||||||
reg byte y [ main::i#2 main::i#1 ]
|
reg byte y [ main::i#2 main::i#1 ]
|
||||||
reg byte x [ main::i2#2 main::i2#1 ]
|
reg byte x [ main::i1#2 main::i1#1 ]
|
||||||
zp[2]:5 [ main::petscii2#2 main::petscii2#1 main::petscii2#0 petscii_ptr::return#3 petscii_ptr::row_x#4 petscii_ptr::row_x#0 petscii_ptr::row_x#2 petscii_ptr::row_x#1 petscii_ptr::row_x#3 petscii_ptr::return#10 main::petscii3#2 main::petscii3#1 main::petscii3#0 petscii_ptr::return#2 petscii_ptr::return#1 main::petscii#0 petscii_ptr::return#0 main::petscii1#0 ]
|
zp[2]:9 [ main::scrn#7 main::scrn#11 main::scrn#3 main::screen_hidden#0 main::scrn#5 screencpy::dst#0 ]
|
||||||
zp[2]:7 [ main::scrn2#2 main::scrn2#1 main::screen_hidden#0 main::scrn3#2 main::scrn3#1 main::scrn3#0 screencpy::dst#0 ]
|
zp[2]:11 [ x_sin_idx#12 x_sin_idx#14 x_sin_idx#13 x_sin_idx#4 memset::dst#2 memset::dst#1 ]
|
||||||
reg byte x [ main::i3#2 main::i3#1 ]
|
zp[2]:13 [ y_sin_idx#12 y_sin_idx#13 y_sin_idx#14 y_sin_idx#4 ]
|
||||||
reg byte y [ main::i1#2 main::i1#1 ]
|
|
||||||
zp[2]:9 [ x_sin_idx#12 x_sin_idx#14 x_sin_idx#13 x_sin_idx#4 memset::dst#2 memset::dst#1 ]
|
|
||||||
zp[2]:11 [ y_sin_idx#12 y_sin_idx#13 y_sin_idx#14 y_sin_idx#4 ]
|
|
||||||
reg byte y [ screencpy::i#2 screencpy::i#1 ]
|
reg byte y [ screencpy::i#2 screencpy::i#1 ]
|
||||||
zp[2]:13 [ main::x_pos_coarse_old#0 main::$9 petscii_ptr::row_y#4 petscii_ptr::row_y#0 petscii_ptr::row_y#2 petscii_ptr::row_y#1 petscii_ptr::row_y#3 petscii_ptr::$6 petscii_ptr::$0 petscii_ptr::$1 ]
|
zp[2]:15 [ main::x_pos_coarse_old#0 main::$9 petscii_ptr::row_y#4 petscii_ptr::row_y#0 petscii_ptr::row_y#2 petscii_ptr::row_y#1 petscii_ptr::row_y#3 petscii_ptr::$6 petscii_ptr::$0 petscii_ptr::$1 ]
|
||||||
zp[2]:15 [ main::y_pos_coarse_old#0 main::$5 ]
|
zp[2]:17 [ main::y_pos_coarse_old#0 main::$5 ]
|
||||||
zp[1]:17 [ main::y_movement#0 ]
|
zp[1]:19 [ main::y_movement#0 ]
|
||||||
zp[1]:18 [ main::x_movement#0 ]
|
zp[1]:20 [ main::x_movement#0 ]
|
||||||
reg byte x [ main::movement#3 ]
|
reg byte x [ main::movement#3 ]
|
||||||
zp[1]:19 [ main::$45 ]
|
zp[1]:21 [ main::$41 ]
|
||||||
|
reg byte a [ main::$42 ]
|
||||||
|
reg byte a [ main::$43 ]
|
||||||
|
reg byte a [ main::$45 ]
|
||||||
reg byte a [ main::$46 ]
|
reg byte a [ main::$46 ]
|
||||||
reg byte a [ main::$47 ]
|
|
||||||
reg byte a [ main::$49 ]
|
|
||||||
reg byte a [ main::$50 ]
|
|
||||||
zp[2]:20 [ main::scrn1#0 ]
|
|
||||||
zp[2]:22 [ next_position::$12 next_position::$18 x_pos#11 next_position::$4 next_position::x_pos_u#0 x_pos_coarse#17 ]
|
zp[2]:22 [ next_position::$12 next_position::$18 x_pos#11 next_position::$4 next_position::x_pos_u#0 x_pos_coarse#17 ]
|
||||||
zp[2]:24 [ next_position::$13 next_position::$19 y_pos#11 next_position::$8 next_position::y_pos_u#0 y_pos_coarse#16 ]
|
zp[2]:24 [ next_position::$13 next_position::$19 y_pos#11 next_position::$8 next_position::y_pos_u#0 y_pos_coarse#16 ]
|
||||||
reg byte a [ next_position::$15 ]
|
reg byte a [ next_position::$15 ]
|
||||||
zp[1]:26 [ x_pos_fine#12 ]
|
zp[1]:26 [ x_pos_fine#12 ]
|
||||||
reg byte a [ next_position::$17 ]
|
reg byte a [ next_position::$17 ]
|
||||||
zp[1]:27 [ y_pos_fine#12 main::$48 ]
|
zp[1]:27 [ y_pos_fine#12 main::$44 ]
|
||||||
zp[2]:28 [ screencpy::dst_250#0 ]
|
zp[2]:28 [ screencpy::dst_250#0 ]
|
||||||
zp[2]:30 [ screencpy::src_500#0 ]
|
zp[2]:30 [ screencpy::src_500#0 ]
|
||||||
zp[2]:32 [ screencpy::dst_500#0 ]
|
zp[2]:32 [ screencpy::dst_500#0 ]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user