1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-03 07:29:37 +00:00

Reserved ved tmp zeropage addresses ($fc-$ff) on all target platforms. Closes #737

This commit is contained in:
jespergravgaard 2021-12-23 13:08:54 +01:00
parent da7e4a6e45
commit 73395870db
33 changed files with 13799 additions and 3470 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -792,3 +792,401 @@ iny
tax
//FRAGMENT vbuyy=vbuaa
tay
//FRAGMENT vbuz1=vbuz2_band_vbuc1
lda #{c1}
and {z2}
sta {z1}
//FRAGMENT _deref_pbuc1=_dec__deref_pbuc1
dec {c1}
//FRAGMENT pbuz1=pbuc1_plus_vbuz2
lda {z2}
clc
adc #<{c1}
sta {z1}
lda #>{c1}
adc #0
sta {z1}+1
//FRAGMENT pvoz1=pvoz2
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1
//FRAGMENT vbuz1=vbuz1_plus_2
lda {z1}
clc
adc #2
sta {z1}
//FRAGMENT vbuz1=pbuz2_derefidx_vbuc1
ldy #{c1}
lda ({z2}),y
sta {z1}
//FRAGMENT pbuz1=pbuz2_plus_vbuc1
lda #{c1}
clc
adc {z2}
sta {z1}
lda #0
adc {z2}+1
sta {z1}+1
//FRAGMENT pbuz1_neq_pbuc1_then_la1
lda {z1}+1
cmp #>{c1}
bne {la1}
lda {z1}
cmp #<{c1}
bne {la1}
//FRAGMENT _deref_pbuz1=_deref_pbuz2
ldy #0
lda ({z2}),y
ldy #0
sta ({z1}),y
//FRAGMENT vbuz1=vbuaa_band_vbuc1
and #{c1}
sta {z1}
//FRAGMENT vbuz1=vbuxx_band_vbuc1
lda #{c1}
sax {z1}
//FRAGMENT vbuz1=vbuyy_band_vbuc1
tya
and #{c1}
sta {z1}
//FRAGMENT vbuaa=vbuz1_band_vbuc1
lda #{c1}
and {z1}
//FRAGMENT vbuaa=vbuaa_band_vbuc1
and #{c1}
//FRAGMENT vbuaa=vbuxx_band_vbuc1
txa
and #{c1}
//FRAGMENT vbuaa=vbuyy_band_vbuc1
tya
and #{c1}
//FRAGMENT vbuxx=vbuz1_band_vbuc1
lda #{c1}
and {z1}
tax
//FRAGMENT vbuxx=vbuaa_band_vbuc1
ldx #{c1}
axs #0
//FRAGMENT vbuyy=vbuz1_band_vbuc1
lda #{c1}
and {z1}
tay
//FRAGMENT pbuz1=pbuc1_plus_vbuaa
clc
adc #<{c1}
sta {z1}
lda #>{c1}
adc #0
sta {z1}+1
//FRAGMENT pbuz1=pbuc1_plus_vbuxx
txa
clc
adc #<{c1}
sta {z1}
lda #>{c1}
adc #0
sta {z1}+1
//FRAGMENT pbuz1=pbuc1_plus_vbuyy
tya
clc
adc #<{c1}
sta {z1}
lda #>{c1}
adc #0
sta {z1}+1
//FRAGMENT vbuxx=vbuxx_plus_2
inx
inx
//FRAGMENT vbuaa=pbuz1_derefidx_vbuc1
ldy #{c1}
lda ({z1}),y
//FRAGMENT vbuxx=pbuz1_derefidx_vbuc1
ldy #{c1}
lda ({z1}),y
tax
//FRAGMENT vbuyy=pbuz1_derefidx_vbuc1
ldy #{c1}
lda ({z1}),y
tay
//FRAGMENT pbuz1=pbuz1_plus_vbuc1
lda #{c1}
clc
adc {z1}
sta {z1}
bcc !+
inc {z1}+1
!:
//FRAGMENT vbuz1=_dec_vbuz1
dec {z1}
//FRAGMENT pbuz1=pbuz2
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuz2
ldy {z2}
lda {c1},y
ldy #0
sta ({z1}),y
//FRAGMENT pbuz1=_inc_pbuz2
clc
lda {z2}
adc #1
sta {z1}
lda {z2}+1
adc #0
sta {z1}+1
//FRAGMENT _deref_pbuz1=vbuc1
lda #{c1}
ldy #0
sta ({z1}),y
//FRAGMENT vbuz1=pbuc1_derefidx_vbuz2
ldy {z2}
lda {c1},y
sta {z1}
//FRAGMENT vbuz1_ge_vbuz2_then_la1
lda {z1}
cmp {z2}
bcs {la1}
//FRAGMENT vbuz1=vbuz1_minus_vbuz2
lda {z1}
sec
sbc {z2}
sta {z1}
//FRAGMENT vwuz1=_word_vbuz2
lda {z2}
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vwuz1=vwuz2_rol_5
lda {z2}
asl
sta {z1}
lda {z2}+1
rol
sta {z1}+1
asl {z1}
rol {z1}+1
asl {z1}
rol {z1}+1
asl {z1}
rol {z1}+1
asl {z1}
rol {z1}+1
//FRAGMENT pbuz1=pbuc1_plus_vwuz2
lda {z2}
clc
adc #<{c1}
sta {z1}
lda {z2}+1
adc #>{c1}
sta {z1}+1
//FRAGMENT pbuz1=pbuz2_plus_vbuz3
lda {z3}
clc
adc {z2}
sta {z1}
lda #0
adc {z2}+1
sta {z1}+1
//FRAGMENT pbuz1=pbuz1_minus_vbuc1
sec
lda {z1}
sbc #{c1}
sta {z1}
lda {z1}+1
sbc #0
sta {z1}+1
//FRAGMENT vbuz1=_deref_pbuc1
lda {c1}
sta {z1}
//FRAGMENT _deref_pbuz1=vbuz2
lda {z2}
ldy #0
sta ({z1}),y
//FRAGMENT vbuxx=vbuxx_band_vbuc1
lda #{c1}
axs #0
//FRAGMENT vbuyy=vbuxx_band_vbuc1
txa
and #{c1}
tay
//FRAGMENT vbuxx=vbuyy_band_vbuc1
ldx #{c1}
tya
axs #0
//FRAGMENT vbuyy=vbuyy_band_vbuc1
tya
and #{c1}
tay
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuaa
tay
lda {c1},y
ldy #0
sta ({z1}),y
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuxx
lda {c1},x
ldy #0
sta ({z1}),y
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuyy
lda {c1},y
ldy #0
sta ({z1}),y
//FRAGMENT vbuaa=pbuc1_derefidx_vbuz1
ldy {z1}
lda {c1},y
//FRAGMENT vbuxx=pbuc1_derefidx_vbuz1
ldy {z1}
ldx {c1},y
//FRAGMENT vbuyy=pbuc1_derefidx_vbuz1
ldx {z1}
ldy {c1},x
//FRAGMENT vbuz1=pbuc1_derefidx_vbuaa
tay
lda {c1},y
sta {z1}
//FRAGMENT vbuaa=pbuc1_derefidx_vbuaa
tay
lda {c1},y
//FRAGMENT vbuxx=pbuc1_derefidx_vbuaa
tay
ldx {c1},y
//FRAGMENT vbuyy=pbuc1_derefidx_vbuaa
tax
ldy {c1},x
//FRAGMENT vbuz1=pbuc1_derefidx_vbuxx
lda {c1},x
sta {z1}
//FRAGMENT 0_neq_vbuaa_then_la1
cmp #0
bne {la1}
//FRAGMENT vbuaa_ge_vbuz1_then_la1
cmp {z1}
bcs {la1}
//FRAGMENT vbuxx=vbuxx_minus_vbuz1
txa
sec
sbc {z1}
tax
//FRAGMENT vbuz1=vbuz1_minus_vbuaa
eor #$ff
sec
adc {z1}
sta {z1}
//FRAGMENT vbuxx=vbuxx_minus_vbuaa
sta $ff
txa
sec
sbc $ff
tax
//FRAGMENT vbuz1=vbuz1_minus_vbuxx
txa
eor #$ff
sec
adc {z1}
sta {z1}
//FRAGMENT vbuxx=vbuxx_minus_vbuxx
lda #0
tax
//FRAGMENT vbuz1=vbuz1_minus_vbuyy
tya
eor #$ff
sec
adc {z1}
sta {z1}
//FRAGMENT vbuxx=vbuxx_minus_vbuyy
txa
sty $ff
sec
sbc $ff
tax
//FRAGMENT vwuz1=_word_vbuaa
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vwuz1=_word_vbuxx
txa
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vwuz1=_word_vbuyy
tya
sta {z1}
lda #0
sta {z1}+1
//FRAGMENT vbuaa_eq_vbuc1_then_la1
cmp #{c1}
beq {la1}
//FRAGMENT vbuaa=_deref_pbuc1
lda {c1}
//FRAGMENT vbuxx=_deref_pbuc1
ldx {c1}
//FRAGMENT _deref_pbuz1=vbuaa
ldy #0
sta ({z1}),y
//FRAGMENT _deref_pbuz1=vbuxx
txa
ldy #0
sta ({z1}),y
//FRAGMENT _deref_pbuz1=vbuyy
tya
ldy #0
sta ({z1}),y
//FRAGMENT vbuxx_ge_vbuz1_then_la1
cpx {z1}
bcs {la1}
//FRAGMENT vbuxx_eq_vbuc1_then_la1
cpx #{c1}
beq {la1}
//FRAGMENT vbuyy=_deref_pbuc1
ldy {c1}
//FRAGMENT vbuz1_ge_vbuxx_then_la1
lda {z1}
stx $ff
cmp $ff
bcs {la1}
//FRAGMENT vbuz1_ge_vbuyy_then_la1
lda {z1}
sty $ff
cmp $ff
bcs {la1}
//FRAGMENT vbuxx_ge_vbuyy_then_la1
sty $ff
cpx $ff
bcs {la1}
//FRAGMENT vbuaa=vbuxx
txa
//FRAGMENT vbuyy=vbuxx
txa
tay
//FRAGMENT vbuyy_eq_vbuc1_then_la1
cpy #{c1}
beq {la1}
//FRAGMENT vbuaa=vbuyy
tya
//FRAGMENT vbuxx=vbuyy
tya
tax
//FRAGMENT vbuyy_ge_vbuz1_then_la1
cpy {z1}
bcs {la1}
//FRAGMENT vwuz1=vwuz1_rol_5
asl {z1}
rol {z1}+1
asl {z1}
rol {z1}+1
asl {z1}
rol {z1}+1
asl {z1}
rol {z1}+1
asl {z1}
rol {z1}+1
//FRAGMENT pbuz1=pbuc1_plus_vwuz1
lda {z1}
clc
adc #<{c1}
sta {z1}
lda {z1}+1
adc #>{c1}
sta {z1}+1

File diff suppressed because it is too large Load Diff

View File

@ -5,6 +5,7 @@
"start_address": "0x080d",
"cpu": "MOS6502X",
"interrupt": "rom_min_c64",
"zp_reserve": [ "0xfc..0xff" ],
"emulator": "x64sc",
"defines": {
"__C64__": 1

View File

@ -5,6 +5,7 @@
"start_address": "0x080d",
"cpu": "WDC65C02",
"interrupt": "rom_min_cx16",
"zp_reserve": [ "0xfc..0xff" ],
"emulator": "x16emu -debug -run -prg",
"defines": {
"__CX16__": 1

View File

@ -5,6 +5,7 @@
"start_address": "0x2017",
"cpu": "MEGA45GS02",
"interrupt": "rom_min_mega65",
"zp_reserve": [ "0xfc..0xff" ],
"emulator": "xmega65 -prg",
"defines": {
"__MEGA65__": 1

View File

@ -5,6 +5,7 @@
"start_address": "0x080d",
"cpu": "MEGA45GS02",
"interrupt": "rom_min_c64",
"zp_reserve": [ "0xfc..0xff" ],
"emulator": "xmega65 -prg",
"defines": {
"__MEGA65__": 1,

View File

@ -5,6 +5,7 @@
"start_address": "0x2017",
"cpu": "MEGA45GS02",
"interrupt": "rom_min_mega65",
"zp_reserve": [ "0xfc..0xff" ],
"emulator": "m65.osx -l /dev/cu.usbserial-251633005A061 -F -r",
"defines": {
"__MEGA65__": 1

View File

@ -4,7 +4,7 @@
"link": "nes.ld",
"cpu": "ROM6502X",
"interrupt": "hardware_all",
"zp_reserve": [ ],
"zp_reserve": [ "0xfc..0xff" ],
"defines": {
"__NES__": 1
},

View File

@ -5,6 +5,7 @@
"start_address": "0x100d",
"cpu": "MOS6502X",
"interrupt": "rom_min_plus4",
"zp_reserve": [ "0xfc..0xff" ],
"emulator": "xplus4",
"defines": {
"__PLUS4__": 1

View File

@ -5,6 +5,7 @@
"start_address": "0x100d",
"cpu": "MOS6502X",
"interrupt": "rom_min_vic20",
"zp_reserve": [ "0xfc..0xff" ],
"emulator": "xvic",
"defines": {
"__VIC20__": 1

View File

@ -4,7 +4,7 @@
#pragma var_model(ssa_zp)
// Start by reserving most of zeropage (254 bytes)
#pragma zp_reserve(1..250)
#pragma zp_reserve(1..246)
// And then allocate a bunch of variables
void main() {

View File

@ -217,7 +217,7 @@
.label form_VICII_bg2_lo = form_fields_val+$21
.label form_VICII_bg3_hi = form_fields_val+$22
.label form_VICII_bg3_lo = form_fields_val+$23
.label print_char_cursor = $11
.label print_char_cursor = 6
.label print_line_cursor = 8
.label print_screen = 8
// Keyboard event buffer size. The number of events currently in the event buffer
@ -450,16 +450,16 @@ form_mode: {
gfx_mode: {
.label __20 = $26
.label __31 = $26
.label __41 = $2a
.label __42 = $2a
.label __44 = $2c
.label __46 = $32
.label __76 = $2a
.label __77 = $2c
.label __41 = $2c
.label __42 = $2c
.label __44 = $2e
.label __46 = $34
.label __76 = $2c
.label __77 = $2e
.label plane_a = $26
.label plane_b = $26
.label VICII_colors = 8
.label col = 6
.label VICII_colors = 6
.label col = $11
.label cy = $1d
// if(*form_ctrl_line!=0)
lda form_ctrl_line
@ -849,7 +849,7 @@ gfx_mode: {
// Initialize VIC screen 0 ( value is %yyyyxxxx where yyyy is ypos and xxxx is xpos)
gfx_init_screen0: {
.label __1 = 5
.label ch = 8
.label ch = 6
.label cy = $1a
lda #<VICII_SCREEN0
sta.z ch
@ -896,7 +896,7 @@ gfx_init_screen0: {
}
// Initialize VIC screen 1 ( value is %0000cccc where cccc is (x+y mod $f))
gfx_init_screen1: {
.label ch = 6
.label ch = $11
.label cy = $19
lda #<VICII_SCREEN1
sta.z ch
@ -936,7 +936,7 @@ gfx_init_screen1: {
// Initialize VIC screen 2 ( value is %ccccrrrr where cccc is (x+y mod $f) and rrrr is %1111-%cccc)
gfx_init_screen2: {
.label col2 = 4
.label ch = 8
.label ch = 6
.label cy = $1d
lda #<VICII_SCREEN2
sta.z ch
@ -991,7 +991,7 @@ gfx_init_screen2: {
// Initialize VIC screen 3 ( value is %00xx00yy where xx is xpos and yy is ypos
gfx_init_screen3: {
.label __1 = 4
.label ch = 8
.label ch = 6
.label cy = $1d
lda #<VICII_SCREEN3
sta.z ch
@ -1038,7 +1038,7 @@ gfx_init_screen3: {
}
// Initialize VIC screen 4 - all chars are 00
gfx_init_screen4: {
.label ch = 6
.label ch = $11
.label cy = $1a
lda #0
sta.z cy
@ -1071,8 +1071,8 @@ gfx_init_screen4: {
rts
}
gfx_init_charset: {
.label charset = 8
.label chargen = 6
.label charset = 6
.label chargen = $11
.label c = $1a
// *PROCPORT = $32
lda #$32
@ -1166,8 +1166,8 @@ gfx_init_VICII_bitmap: {
// Initialize 8BPP Chunky Bitmap (contains 8bpp pixels)
gfx_init_plane_8bppchunky: {
.label __5 = $13
.label gfxb = 6
.label x = 8
.label gfxb = $11
.label x = 6
.label y = $19
// dtvSetCpuBankSegment1(gfxbCpuBank++)
lda #PLANE_8BPP_CHUNKY/$4000
@ -1247,8 +1247,8 @@ gfx_init_plane_charset8: {
// 8bpp cells for Plane B (charset) - ROM charset with 256 colors
.const gfxbCpuBank = PLANE_CHARSET8/$4000
.label bits = 5
.label chargen = 6
.label gfxa = 8
.label chargen = $11
.label gfxa = 6
.label col = 4
.label cr = 2
.label ch = 3
@ -1332,7 +1332,7 @@ gfx_init_plane_charset8: {
// Initialize Plane with Horizontal Stripes
gfx_init_plane_horisontal: {
.const gfxbCpuBank = PLANE_HORISONTAL/$4000
.label gfxa = 8
.label gfxa = 6
.label ay = 3
// dtvSetCpuBankSegment1(gfxbCpuBank++)
lda #gfxbCpuBank
@ -1392,7 +1392,7 @@ gfx_init_plane_horisontal: {
// Initialize Plane with Vertical Stripes
gfx_init_plane_vertical: {
.const gfxbCpuBank = PLANE_VERTICAL/$4000
.label gfxb = 6
.label gfxb = $11
.label by = 2
// dtvSetCpuBankSegment1(gfxbCpuBank++)
lda #gfxbCpuBank
@ -1434,7 +1434,7 @@ gfx_init_plane_vertical: {
// Initialize Plane with Horizontal Stripes every 2 pixels
gfx_init_plane_horisontal2: {
.const gfxbCpuBank = PLANE_HORISONTAL2/$4000
.label gfxa = 6
.label gfxa = $11
.label ay = 5
// dtvSetCpuBankSegment1(gfxbCpuBank++)
lda #gfxbCpuBank
@ -1534,10 +1534,14 @@ gfx_init_plane_full: {
rts
}
// Set the screen to print on. Also resets current line/char cursor.
// void print_set_screen(__zp(8) char *screen)
// void print_set_screen(__zp($2a) char *screen)
print_set_screen: {
.label screen = 8
.label screen = $2a
// print_screen = screen
lda.z screen
sta.z print_screen
lda.z screen+1
sta.z print_screen+1
// }
rts
}
@ -1559,9 +1563,9 @@ print_cls: {
}
// Print a number of zero-terminated strings, each followed by a newline.
// The sequence of lines is terminated by another zero.
// void print_str_lines(__zp(6) char *str)
// void print_str_lines(__zp($11) char *str)
print_str_lines: {
.label str = 6
.label str = $11
lda.z print_screen
sta.z print_char_cursor
lda.z print_screen+1
@ -1603,7 +1607,7 @@ print_str_lines: {
// screen is the start address of the screen to use
// void form_set_screen(char *screen)
form_set_screen: {
.label line = 8
.label line = $11
ldx #0
lda #<FORM_SCREEN
sta.z line
@ -2246,9 +2250,9 @@ get_plane: {
rts
}
// Get the VIC screen address from the screen index
// __zp($2a) char * get_VICII_screen(__register(A) char idx)
// __zp($2c) char * get_VICII_screen(__register(A) char idx)
get_VICII_screen: {
.label return = $2a
.label return = $2c
// if(idx==0)
cmp #0
beq __b1
@ -2296,9 +2300,9 @@ get_VICII_screen: {
rts
}
// Get the VIC charset/bitmap address from the index
// __zp($2c) char * get_VICII_charset(__register(A) char idx)
// __zp($2e) char * get_VICII_charset(__register(A) char idx)
get_VICII_charset: {
.label return = $2c
.label return = $2e
// if(idx==0)
cmp #0
beq __b1
@ -2479,7 +2483,7 @@ keyboard_event_get: {
// void bitmap_init(char *gfx, char *screen)
bitmap_init: {
.label __7 = 5
.label yoffs = 8
.label yoffs = $11
ldx #0
lda #$80
__b1:
@ -2567,18 +2571,18 @@ bitmap_clear: {
rts
}
// Draw a line on the bitmap using bresenhams algorithm
// void bitmap_line(__zp(6) unsigned int x1, __zp($11) unsigned int y1, __zp($f) unsigned int x2, __zp($20) unsigned int y2)
// void bitmap_line(__zp($11) unsigned int x1, __zp($17) unsigned int y1, __zp($f) unsigned int x2, __zp($20) unsigned int y2)
bitmap_line: {
.label dx = $1b
.label dy = $a
.label sx = $1e
.label sy = $d
.label e1 = $17
.label e = 8
.label y = $11
.label x = 6
.label x1 = 6
.label y1 = $11
.label e1 = 8
.label e = 6
.label y = $17
.label x = $11
.label x1 = $11
.label y1 = $17
.label x2 = $f
.label y2 = $20
// unsigned int dx = abs_u16(x2-x1)
@ -2799,14 +2803,14 @@ dtvSetCpuBankSegment1: {
rts
}
// Initialize 320*200 1bpp pixel ($2000) plane with identical bytes
// void gfx_init_plane_fill(__zp($2e) unsigned long plane_addr, __zp(3) char fill)
// void gfx_init_plane_fill(__zp($30) unsigned long plane_addr, __zp(3) char fill)
gfx_init_plane_fill: {
.label __0 = $22
.label __3 = 6
.label __4 = 6
.label gfxb = 6
.label by = 2
.label plane_addr = $2e
.label plane_addr = $30
.label fill = 3
// plane_addr*4
lda.z plane_addr
@ -3112,11 +3116,11 @@ sgn_u16: {
rts
}
// Plot a single dot in the bitmap
// void bitmap_plot(__zp(6) unsigned int x, __register(X) char y)
// void bitmap_plot(__zp($11) unsigned int x, __register(X) char y)
bitmap_plot: {
.label __1 = $15
.label plotter = $13
.label x = 6
.label x = $11
// MAKEWORD( bitmap_plot_yhi[y], bitmap_plot_ylo[y] )
lda bitmap_plot_yhi,x
sta.z plotter+1

File diff suppressed because it is too large Load Diff

View File

@ -137,50 +137,50 @@ char bitmap_init::y
char bitmap_init::y#1 // reg byte x 15001.5
char bitmap_init::y#2 // reg byte x 5000.5
char *bitmap_init::yoffs
char *bitmap_init::yoffs#1 // yoffs zp[2]:8 20002.0
char *bitmap_init::yoffs#2 // yoffs zp[2]:8 6250.625
char *bitmap_init::yoffs#4 // yoffs zp[2]:8 10001.0
char *bitmap_init::yoffs#1 // yoffs zp[2]:17 20002.0
char *bitmap_init::yoffs#2 // yoffs zp[2]:17 6250.625
char *bitmap_init::yoffs#4 // yoffs zp[2]:17 10001.0
void bitmap_line(unsigned int x1 , unsigned int y1 , unsigned int x2 , unsigned int y2)
unsigned int bitmap_line::dx
unsigned int bitmap_line::dx#0 // dx zp[2]:27 76000.175
unsigned int bitmap_line::dy
unsigned int bitmap_line::dy#0 // dy zp[2]:10 84444.63888888889
unsigned int bitmap_line::e
unsigned int bitmap_line::e#0 // e zp[2]:8 20002.0
unsigned int bitmap_line::e#1 // e zp[2]:8 1333334.6666666667
unsigned int bitmap_line::e#2 // e zp[2]:8 2000002.0
unsigned int bitmap_line::e#3 // e zp[2]:8 402000.60000000003
unsigned int bitmap_line::e#6 // e zp[2]:8 1500001.5
unsigned int bitmap_line::e#0 // e zp[2]:6 20002.0
unsigned int bitmap_line::e#1 // e zp[2]:6 1333334.6666666667
unsigned int bitmap_line::e#2 // e zp[2]:6 2000002.0
unsigned int bitmap_line::e#3 // e zp[2]:6 402000.60000000003
unsigned int bitmap_line::e#6 // e zp[2]:6 1500001.5
unsigned int bitmap_line::e1
unsigned int bitmap_line::e1#0 // e1 zp[2]:23 20002.0
unsigned int bitmap_line::e1#1 // e1 zp[2]:23 1333334.6666666667
unsigned int bitmap_line::e1#2 // e1 zp[2]:23 2000002.0
unsigned int bitmap_line::e1#3 // e1 zp[2]:23 402000.60000000003
unsigned int bitmap_line::e1#6 // e1 zp[2]:23 1500001.5
unsigned int bitmap_line::e1#0 // e1 zp[2]:8 20002.0
unsigned int bitmap_line::e1#1 // e1 zp[2]:8 1333334.6666666667
unsigned int bitmap_line::e1#2 // e1 zp[2]:8 2000002.0
unsigned int bitmap_line::e1#3 // e1 zp[2]:8 402000.60000000003
unsigned int bitmap_line::e1#6 // e1 zp[2]:8 1500001.5
unsigned int bitmap_line::sx
unsigned int bitmap_line::sx#0 // sx zp[2]:30 67000.1
unsigned int bitmap_line::sy
unsigned int bitmap_line::sy#0 // sy zp[2]:13 77307.80769230769
unsigned int bitmap_line::x
unsigned int bitmap_line::x#1 // x zp[2]:6 1000001.0
unsigned int bitmap_line::x#12 // x zp[2]:6 2000002.0
unsigned int bitmap_line::x#13 // x zp[2]:6 572857.857142857
unsigned int bitmap_line::x#15 // x zp[2]:6 571429.1428571428
unsigned int bitmap_line::x#6 // x zp[2]:6 2010003.0
unsigned int bitmap_line::x#7 // x zp[2]:6 752501.0
unsigned int bitmap_line::x#1 // x zp[2]:17 1000001.0
unsigned int bitmap_line::x#12 // x zp[2]:17 2000002.0
unsigned int bitmap_line::x#13 // x zp[2]:17 572857.857142857
unsigned int bitmap_line::x#15 // x zp[2]:17 571429.1428571428
unsigned int bitmap_line::x#6 // x zp[2]:17 2010003.0
unsigned int bitmap_line::x#7 // x zp[2]:17 752501.0
unsigned int bitmap_line::x1
unsigned int bitmap_line::x1#0 // x1 zp[2]:6 2040.24
unsigned int bitmap_line::x1#0 // x1 zp[2]:17 2040.24
unsigned int bitmap_line::x2
unsigned int bitmap_line::x2#0 // x2 zp[2]:15 30939.515151515152
unsigned int bitmap_line::y
unsigned int bitmap_line::y#1 // y zp[2]:17 571429.1428571428
unsigned int bitmap_line::y#13 // y zp[2]:17 2000002.0
unsigned int bitmap_line::y#15 // y zp[2]:17 430000.57142857136
unsigned int bitmap_line::y#2 // y zp[2]:17 1000001.0
unsigned int bitmap_line::y#4 // y zp[2]:17 502500.75
unsigned int bitmap_line::y#7 // y zp[2]:17 1000001.0
unsigned int bitmap_line::y#1 // y zp[2]:23 571429.1428571428
unsigned int bitmap_line::y#13 // y zp[2]:23 2000002.0
unsigned int bitmap_line::y#15 // y zp[2]:23 430000.57142857136
unsigned int bitmap_line::y#2 // y zp[2]:23 1000001.0
unsigned int bitmap_line::y#4 // y zp[2]:23 502500.75
unsigned int bitmap_line::y#7 // y zp[2]:23 1000001.0
unsigned int bitmap_line::y1
unsigned int bitmap_line::y1#0 // y1 zp[2]:17 1640.2
unsigned int bitmap_line::y1#0 // y1 zp[2]:23 1640.2
unsigned int bitmap_line::y2
unsigned int bitmap_line::y2#0 // y2 zp[2]:32 31906.375
void bitmap_plot(unsigned int x , char y)
@ -190,11 +190,11 @@ char *bitmap_plot::plotter
unsigned int bitmap_plot::plotter#0 // plotter zp[2]:19 5000000.5
char *bitmap_plot::plotter#1 // plotter zp[2]:19 1.50000015E7
unsigned int bitmap_plot::x
unsigned int bitmap_plot::x#0 // x zp[2]:6 10001.0
unsigned int bitmap_plot::x#1 // x zp[2]:6 1000001.0
unsigned int bitmap_plot::x#2 // x zp[2]:6 10001.0
unsigned int bitmap_plot::x#3 // x zp[2]:6 1000001.0
unsigned int bitmap_plot::x#4 // x zp[2]:6 5505001.5
unsigned int bitmap_plot::x#0 // x zp[2]:17 10001.0
unsigned int bitmap_plot::x#1 // x zp[2]:17 1000001.0
unsigned int bitmap_plot::x#2 // x zp[2]:17 10001.0
unsigned int bitmap_plot::x#3 // x zp[2]:17 1000001.0
unsigned int bitmap_plot::x#4 // x zp[2]:17 5505001.5
char bitmap_plot::y
char bitmap_plot::y#0 // reg byte x 20002.0
char bitmap_plot::y#1 // reg byte x 2000002.0
@ -312,8 +312,8 @@ void form_set_screen(char *screen)
char form_set_screen::$0 // reg byte a 200002.0
char form_set_screen::$1 // reg byte a 200002.0
char *form_set_screen::line
char *form_set_screen::line#1 // line zp[2]:8 66667.33333333333
char *form_set_screen::line#2 // line zp[2]:8 80000.8
char *form_set_screen::line#1 // line zp[2]:17 66667.33333333333
char *form_set_screen::line#2 // line zp[2]:17 80000.8
char *form_set_screen::screen
char form_set_screen::y
char form_set_screen::y#1 // reg byte x 150001.5
@ -322,17 +322,17 @@ char * get_VICII_charset(char idx)
char get_VICII_charset::idx
char get_VICII_charset::idx#0 // reg byte a 1051.5
char *get_VICII_charset::return
char *get_VICII_charset::return#2 // return zp[2]:44 33.666666666666664
char *get_VICII_charset::return#4 // return zp[2]:44 202.0
char *get_VICII_charset::return#2 // return zp[2]:46 33.666666666666664
char *get_VICII_charset::return#4 // return zp[2]:46 202.0
char * get_VICII_screen(char idx)
char get_VICII_screen::idx
char get_VICII_screen::idx#0 // reg byte a 202.0
char get_VICII_screen::idx#1 // reg byte a 202.0
char get_VICII_screen::idx#2 // reg byte a 1041.4
char *get_VICII_screen::return
char *get_VICII_screen::return#10 // return zp[2]:42 202.0
char *get_VICII_screen::return#11 // return zp[2]:42 202.0
char *get_VICII_screen::return#5 // return zp[2]:42 50.5
char *get_VICII_screen::return#10 // return zp[2]:44 202.0
char *get_VICII_screen::return#11 // return zp[2]:44 202.0
char *get_VICII_screen::return#5 // return zp[2]:44 50.5
unsigned long get_plane(char idx)
char get_plane::idx
char get_plane::idx#0 // reg byte a 202.0
@ -355,13 +355,13 @@ char gfx_init_charset::c
char gfx_init_charset::c#1 // c zp[1]:26 1501.5
char gfx_init_charset::c#4 // c zp[1]:26 286.0
char *gfx_init_charset::chargen
char *gfx_init_charset::chargen#1 // chargen zp[2]:6 4200.6
char *gfx_init_charset::chargen#2 // chargen zp[2]:6 10334.666666666666
char *gfx_init_charset::chargen#3 // chargen zp[2]:6 2002.0
char *gfx_init_charset::chargen#1 // chargen zp[2]:17 4200.6
char *gfx_init_charset::chargen#2 // chargen zp[2]:17 10334.666666666666
char *gfx_init_charset::chargen#3 // chargen zp[2]:17 2002.0
char *gfx_init_charset::charset
char *gfx_init_charset::charset#1 // charset zp[2]:8 3500.5
char *gfx_init_charset::charset#2 // charset zp[2]:8 15502.0
char *gfx_init_charset::charset#3 // charset zp[2]:8 2002.0
char *gfx_init_charset::charset#1 // charset zp[2]:6 3500.5
char *gfx_init_charset::charset#2 // charset zp[2]:6 15502.0
char *gfx_init_charset::charset#3 // charset zp[2]:6 2002.0
char gfx_init_charset::l
char gfx_init_charset::l#1 // reg byte x 15001.5
char gfx_init_charset::l#2 // reg byte x 5000.5
@ -370,18 +370,18 @@ unsigned int gfx_init_plane_8bppchunky::$5 // zp[2]:19 10001.0
char gfx_init_plane_8bppchunky::c
char gfx_init_plane_8bppchunky::c#0 // reg byte a 20002.0
char *gfx_init_plane_8bppchunky::gfxb
char *gfx_init_plane_8bppchunky::gfxb#1 // gfxb zp[2]:6 4200.6
char *gfx_init_plane_8bppchunky::gfxb#3 // gfxb zp[2]:6 15502.0
char *gfx_init_plane_8bppchunky::gfxb#4 // gfxb zp[2]:6 7500.75
char *gfx_init_plane_8bppchunky::gfxb#5 // gfxb zp[2]:6 2002.0
char *gfx_init_plane_8bppchunky::gfxb#1 // gfxb zp[2]:17 4200.6
char *gfx_init_plane_8bppchunky::gfxb#3 // gfxb zp[2]:17 15502.0
char *gfx_init_plane_8bppchunky::gfxb#4 // gfxb zp[2]:17 7500.75
char *gfx_init_plane_8bppchunky::gfxb#5 // gfxb zp[2]:17 2002.0
char gfx_init_plane_8bppchunky::gfxbCpuBank
char gfx_init_plane_8bppchunky::gfxbCpuBank#2 // reg byte x 20002.0
char gfx_init_plane_8bppchunky::gfxbCpuBank#4 // reg byte x 10251.25
char gfx_init_plane_8bppchunky::gfxbCpuBank#7 // reg byte x 2002.0
char gfx_init_plane_8bppchunky::gfxbCpuBank#8 // reg byte x 3444.8888888888887
unsigned int gfx_init_plane_8bppchunky::x
unsigned int gfx_init_plane_8bppchunky::x#1 // x zp[2]:8 15001.5
unsigned int gfx_init_plane_8bppchunky::x#2 // x zp[2]:8 3000.3
unsigned int gfx_init_plane_8bppchunky::x#1 // x zp[2]:6 15001.5
unsigned int gfx_init_plane_8bppchunky::x#2 // x zp[2]:6 3000.3
char gfx_init_plane_8bppchunky::y
char gfx_init_plane_8bppchunky::y#1 // y zp[1]:25 1501.5
char gfx_init_plane_8bppchunky::y#6 // y zp[1]:25 923.3076923076923
@ -399,9 +399,9 @@ char gfx_init_plane_charset8::ch
char gfx_init_plane_charset8::ch#1 // ch zp[1]:3 1501.5
char gfx_init_plane_charset8::ch#8 // ch zp[1]:3 117.76470588235294
char *gfx_init_plane_charset8::chargen
char *gfx_init_plane_charset8::chargen#1 // chargen zp[2]:6 1312.6875
char *gfx_init_plane_charset8::chargen#2 // chargen zp[2]:6 15502.0
char *gfx_init_plane_charset8::chargen#3 // chargen zp[2]:6 2002.0
char *gfx_init_plane_charset8::chargen#1 // chargen zp[2]:17 1312.6875
char *gfx_init_plane_charset8::chargen#2 // chargen zp[2]:17 15502.0
char *gfx_init_plane_charset8::chargen#3 // chargen zp[2]:17 2002.0
char gfx_init_plane_charset8::col
char gfx_init_plane_charset8::col#1 // col zp[1]:4 30143.428571428572
char gfx_init_plane_charset8::col#2 // col zp[1]:4 38750.5
@ -414,10 +414,10 @@ char gfx_init_plane_charset8::cr
char gfx_init_plane_charset8::cr#1 // cr zp[1]:2 15001.5
char gfx_init_plane_charset8::cr#6 // cr zp[1]:2 1428.7142857142858
char *gfx_init_plane_charset8::gfxa
char *gfx_init_plane_charset8::gfxa#1 // gfxa zp[2]:8 23444.88888888889
char *gfx_init_plane_charset8::gfxa#2 // gfxa zp[2]:8 51667.33333333333
char *gfx_init_plane_charset8::gfxa#5 // gfxa zp[2]:8 7001.0
char *gfx_init_plane_charset8::gfxa#6 // gfxa zp[2]:8 2002.0
char *gfx_init_plane_charset8::gfxa#1 // gfxa zp[2]:6 23444.88888888889
char *gfx_init_plane_charset8::gfxa#2 // gfxa zp[2]:6 51667.33333333333
char *gfx_init_plane_charset8::gfxa#5 // gfxa zp[2]:6 7001.0
char *gfx_init_plane_charset8::gfxa#6 // gfxa zp[2]:6 2002.0
char gfx_init_plane_charset8::gfxbCpuBank
__constant char gfx_init_plane_charset8::gfxbCpuBank#0 = (char)PLANE_CHARSET8/$4000 // gfxbCpuBank
void gfx_init_plane_fill(unsigned long plane_addr , char fill)
@ -440,7 +440,7 @@ char *gfx_init_plane_fill::gfxb#3 // gfxb zp[2]:6 21003.0
char gfx_init_plane_fill::gfxbCpuBank
char gfx_init_plane_fill::gfxbCpuBank#0 // reg byte a 2002.0
unsigned long gfx_init_plane_fill::plane_addr
unsigned long gfx_init_plane_fill::plane_addr#3 // plane_addr zp[4]:46 400.4
unsigned long gfx_init_plane_fill::plane_addr#3 // plane_addr zp[4]:48 400.4
void gfx_init_plane_full()
void gfx_init_plane_horisontal()
char gfx_init_plane_horisontal::$2 // reg byte a 20002.0
@ -451,11 +451,11 @@ char gfx_init_plane_horisontal::ay
char gfx_init_plane_horisontal::ay#1 // ay zp[1]:3 1501.5
char gfx_init_plane_horisontal::ay#4 // ay zp[1]:3 1091.181818181818
char *gfx_init_plane_horisontal::gfxa
char *gfx_init_plane_horisontal::gfxa#1 // gfxa zp[2]:8 20002.0
char *gfx_init_plane_horisontal::gfxa#2 // gfxa zp[2]:8 20002.0
char *gfx_init_plane_horisontal::gfxa#3 // gfxa zp[2]:8 10201.2
char *gfx_init_plane_horisontal::gfxa#6 // gfxa zp[2]:8 2002.0
char *gfx_init_plane_horisontal::gfxa#7 // gfxa zp[2]:8 6200.8
char *gfx_init_plane_horisontal::gfxa#1 // gfxa zp[2]:6 20002.0
char *gfx_init_plane_horisontal::gfxa#2 // gfxa zp[2]:6 20002.0
char *gfx_init_plane_horisontal::gfxa#3 // gfxa zp[2]:6 10201.2
char *gfx_init_plane_horisontal::gfxa#6 // gfxa zp[2]:6 2002.0
char *gfx_init_plane_horisontal::gfxa#7 // gfxa zp[2]:6 6200.8
char gfx_init_plane_horisontal::gfxbCpuBank
__constant char gfx_init_plane_horisontal::gfxbCpuBank#0 = (char)PLANE_HORISONTAL/$4000 // gfxbCpuBank
void gfx_init_plane_horisontal2()
@ -467,9 +467,9 @@ char gfx_init_plane_horisontal2::ay
char gfx_init_plane_horisontal2::ay#1 // ay zp[1]:5 1501.5
char gfx_init_plane_horisontal2::ay#4 // ay zp[1]:5 1500.375
char *gfx_init_plane_horisontal2::gfxa
char *gfx_init_plane_horisontal2::gfxa#1 // gfxa zp[2]:6 4200.6
char *gfx_init_plane_horisontal2::gfxa#2 // gfxa zp[2]:6 7751.0
char *gfx_init_plane_horisontal2::gfxa#3 // gfxa zp[2]:6 2002.0
char *gfx_init_plane_horisontal2::gfxa#1 // gfxa zp[2]:17 4200.6
char *gfx_init_plane_horisontal2::gfxa#2 // gfxa zp[2]:17 7751.0
char *gfx_init_plane_horisontal2::gfxa#3 // gfxa zp[2]:17 2002.0
char gfx_init_plane_horisontal2::gfxbCpuBank
__constant char gfx_init_plane_horisontal2::gfxbCpuBank#0 = (char)PLANE_HORISONTAL2/$4000 // gfxbCpuBank
char gfx_init_plane_horisontal2::row
@ -483,9 +483,9 @@ char gfx_init_plane_vertical::by
char gfx_init_plane_vertical::by#1 // by zp[1]:2 1501.5
char gfx_init_plane_vertical::by#4 // by zp[1]:2 333.6666666666667
char *gfx_init_plane_vertical::gfxb
char *gfx_init_plane_vertical::gfxb#1 // gfxb zp[2]:6 4200.6
char *gfx_init_plane_vertical::gfxb#2 // gfxb zp[2]:6 15502.0
char *gfx_init_plane_vertical::gfxb#3 // gfxb zp[2]:6 2002.0
char *gfx_init_plane_vertical::gfxb#1 // gfxb zp[2]:17 4200.6
char *gfx_init_plane_vertical::gfxb#2 // gfxb zp[2]:17 15502.0
char *gfx_init_plane_vertical::gfxb#3 // gfxb zp[2]:17 2002.0
char gfx_init_plane_vertical::gfxbCpuBank
__constant char gfx_init_plane_vertical::gfxbCpuBank#0 = (char)PLANE_VERTICAL/$4000 // gfxbCpuBank
void gfx_init_plane_vertical2()
@ -495,9 +495,9 @@ char gfx_init_screen0::$1 // zp[1]:5 10001.0
char gfx_init_screen0::$2 // reg byte a 20002.0
char gfx_init_screen0::$3 // reg byte a 20002.0
char *gfx_init_screen0::ch
char *gfx_init_screen0::ch#1 // ch zp[2]:8 4200.6
char *gfx_init_screen0::ch#2 // ch zp[2]:8 5167.333333333333
char *gfx_init_screen0::ch#3 // ch zp[2]:8 2002.0
char *gfx_init_screen0::ch#1 // ch zp[2]:6 4200.6
char *gfx_init_screen0::ch#2 // ch zp[2]:6 5167.333333333333
char *gfx_init_screen0::ch#3 // ch zp[2]:6 2002.0
char gfx_init_screen0::cx
char gfx_init_screen0::cx#1 // reg byte x 15001.5
char gfx_init_screen0::cx#2 // reg byte x 4286.142857142857
@ -508,9 +508,9 @@ void gfx_init_screen1()
char gfx_init_screen1::$0 // reg byte a 20002.0
char gfx_init_screen1::$1 // reg byte a 20002.0
char *gfx_init_screen1::ch
char *gfx_init_screen1::ch#1 // ch zp[2]:6 4200.6
char *gfx_init_screen1::ch#2 // ch zp[2]:6 7751.0
char *gfx_init_screen1::ch#3 // ch zp[2]:6 2002.0
char *gfx_init_screen1::ch#1 // ch zp[2]:17 4200.6
char *gfx_init_screen1::ch#2 // ch zp[2]:17 7751.0
char *gfx_init_screen1::ch#3 // ch zp[2]:17 2002.0
char gfx_init_screen1::cx
char gfx_init_screen1::cx#1 // reg byte x 15001.5
char gfx_init_screen1::cx#2 // reg byte x 6000.6
@ -522,9 +522,9 @@ char gfx_init_screen2::$0 // reg byte a 20002.0
char gfx_init_screen2::$3 // reg byte a 20002.0
char gfx_init_screen2::$4 // reg byte a 20002.0
char *gfx_init_screen2::ch
char *gfx_init_screen2::ch#1 // ch zp[2]:8 4200.6
char *gfx_init_screen2::ch#2 // ch zp[2]:8 4429.142857142857
char *gfx_init_screen2::ch#3 // ch zp[2]:8 2002.0
char *gfx_init_screen2::ch#1 // ch zp[2]:6 4200.6
char *gfx_init_screen2::ch#2 // ch zp[2]:6 4429.142857142857
char *gfx_init_screen2::ch#3 // ch zp[2]:6 2002.0
char gfx_init_screen2::col
char gfx_init_screen2::col#0 // reg byte y 15001.5
char gfx_init_screen2::col2
@ -541,9 +541,9 @@ char gfx_init_screen3::$1 // zp[1]:4 10001.0
char gfx_init_screen3::$2 // reg byte a 20002.0
char gfx_init_screen3::$3 // reg byte a 20002.0
char *gfx_init_screen3::ch
char *gfx_init_screen3::ch#1 // ch zp[2]:8 4200.6
char *gfx_init_screen3::ch#2 // ch zp[2]:8 5167.333333333333
char *gfx_init_screen3::ch#3 // ch zp[2]:8 2002.0
char *gfx_init_screen3::ch#1 // ch zp[2]:6 4200.6
char *gfx_init_screen3::ch#2 // ch zp[2]:6 5167.333333333333
char *gfx_init_screen3::ch#3 // ch zp[2]:6 2002.0
char gfx_init_screen3::cx
char gfx_init_screen3::cx#1 // reg byte x 15001.5
char gfx_init_screen3::cx#2 // reg byte x 4286.142857142857
@ -552,9 +552,9 @@ char gfx_init_screen3::cy#1 // cy zp[1]:29 1501.5
char gfx_init_screen3::cy#4 // cy zp[1]:29 1200.3
void gfx_init_screen4()
char *gfx_init_screen4::ch
char *gfx_init_screen4::ch#1 // ch zp[2]:6 4200.6
char *gfx_init_screen4::ch#2 // ch zp[2]:6 15502.0
char *gfx_init_screen4::ch#3 // ch zp[2]:6 2002.0
char *gfx_init_screen4::ch#1 // ch zp[2]:17 4200.6
char *gfx_init_screen4::ch#2 // ch zp[2]:17 15502.0
char *gfx_init_screen4::ch#3 // ch zp[2]:17 2002.0
char gfx_init_screen4::cx
char gfx_init_screen4::cx#1 // reg byte x 15001.5
char gfx_init_screen4::cx#2 // reg byte x 6667.333333333333
@ -580,11 +580,11 @@ char gfx_mode::$36 // reg byte a 202.0
char gfx_mode::$37 // reg byte a 202.0
char gfx_mode::$38 // reg byte a 202.0
char gfx_mode::$39 // reg byte a 202.0
unsigned int gfx_mode::$41 // zp[2]:42 202.0
unsigned int gfx_mode::$42 // zp[2]:42 12.625
unsigned int gfx_mode::$44 // zp[2]:44 202.0
unsigned int gfx_mode::$41 // zp[2]:44 202.0
unsigned int gfx_mode::$42 // zp[2]:44 12.625
unsigned int gfx_mode::$44 // zp[2]:46 202.0
char gfx_mode::$45 // reg byte a 202.0
char gfx_mode::$46 // zp[1]:50 101.0
char gfx_mode::$46 // zp[1]:52 101.0
char gfx_mode::$47 // reg byte a 202.0
char gfx_mode::$49 // reg byte a 202.0
char gfx_mode::$50 // reg byte a 202.0
@ -594,14 +594,14 @@ char gfx_mode::$53 // reg byte a 202.0
char gfx_mode::$54 // reg byte a 202.0
char gfx_mode::$55 // reg byte a 202.0
char gfx_mode::$56 // reg byte a 202.0
char *gfx_mode::$76 // zp[2]:42 101.0
char *gfx_mode::$77 // zp[2]:44 101.0
char *gfx_mode::$76 // zp[2]:44 101.0
char *gfx_mode::$77 // zp[2]:46 101.0
char gfx_mode::$78 // reg byte a 202.0
char *gfx_mode::VICII_colors
char *gfx_mode::VICII_colors#0 // VICII_colors zp[2]:8 202.0
char *gfx_mode::VICII_colors#1 // VICII_colors zp[2]:8 42000.600000000006
char *gfx_mode::VICII_colors#2 // VICII_colors zp[2]:8 103334.66666666666
char *gfx_mode::VICII_colors#3 // VICII_colors zp[2]:8 20103.0
char *gfx_mode::VICII_colors#0 // VICII_colors zp[2]:6 202.0
char *gfx_mode::VICII_colors#1 // VICII_colors zp[2]:6 42000.600000000006
char *gfx_mode::VICII_colors#2 // VICII_colors zp[2]:6 103334.66666666666
char *gfx_mode::VICII_colors#3 // VICII_colors zp[2]:6 20103.0
char gfx_mode::VICII_control
char gfx_mode::VICII_control#2 // reg byte x 202.0
char gfx_mode::VICII_control#4 // reg byte x 303.0
@ -609,9 +609,9 @@ char gfx_mode::VICII_control#5 // reg byte x 101.0
char gfx_mode::VICII_control2
char gfx_mode::VICII_control2#2 // reg byte a 101.0
char *gfx_mode::col
char *gfx_mode::col#1 // col zp[2]:6 35000.5
char *gfx_mode::col#2 // col zp[2]:6 155002.0
char *gfx_mode::col#3 // col zp[2]:6 20002.0
char *gfx_mode::col#1 // col zp[2]:17 35000.5
char *gfx_mode::col#2 // col zp[2]:17 155002.0
char *gfx_mode::col#3 // col zp[2]:17 20002.0
char gfx_mode::cx
char gfx_mode::cx#1 // reg byte x 150001.5
char gfx_mode::cx#2 // reg byte x 50000.5
@ -752,12 +752,12 @@ void print_char(char ch)
char print_char::ch
char print_char::ch#0 // reg byte a 1.1000002E7
char *print_char_cursor
char *print_char_cursor#2 // print_char_cursor zp[2]:17 100501.5
char *print_char_cursor#29 // print_char_cursor zp[2]:17 3666667.333333333
char *print_char_cursor#43 // print_char_cursor zp[2]:17 3683334.1666666665
char *print_char_cursor#44 // print_char_cursor zp[2]:17 1.4328571485714287E8
char *print_char_cursor#72 // print_char_cursor zp[2]:17 2002.0
char *print_char_cursor#73 // print_char_cursor zp[2]:17 200002.0
char *print_char_cursor#2 // print_char_cursor zp[2]:6 100501.5
char *print_char_cursor#29 // print_char_cursor zp[2]:6 3666667.333333333
char *print_char_cursor#43 // print_char_cursor zp[2]:6 3683334.1666666665
char *print_char_cursor#44 // print_char_cursor zp[2]:6 1.4328571485714287E8
char *print_char_cursor#72 // print_char_cursor zp[2]:6 2002.0
char *print_char_cursor#73 // print_char_cursor zp[2]:6 200002.0
void print_cls()
__constant const char print_hextab[] = "0123456789abcdef"z
char *print_line_cursor
@ -769,7 +769,7 @@ char *print_screen
char *print_screen#0 // print_screen zp[2]:8 200.2
void print_set_screen(char *screen)
char *print_set_screen::screen
char *print_set_screen::screen#2 // screen zp[2]:8 1001.0
char *print_set_screen::screen#2 // screen zp[2]:42 1001.0
void print_str_at(char *str , char *at)
char *print_str_at::at
char *print_str_at::at#0 // at zp[2]:10 1.000000001E9
@ -782,10 +782,10 @@ void print_str_lines(char *str)
char print_str_lines::ch
char print_str_lines::ch#0 // reg byte a 666667.3333333334
char *print_str_lines::str
char *print_str_lines::str#0 // str zp[2]:6 233333.66666666666
char *print_str_lines::str#3 // str zp[2]:6 150502.0
char *print_str_lines::str#4 // str zp[2]:6 1550002.0
char *print_str_lines::str#5 // str zp[2]:6 500.5
char *print_str_lines::str#0 // str zp[2]:17 233333.66666666666
char *print_str_lines::str#3 // str zp[2]:17 150502.0
char *print_str_lines::str#4 // str zp[2]:17 1550002.0
char *print_str_lines::str#5 // str zp[2]:17 500.5
void render_preset_name(char idx)
char render_preset_name::idx
char render_preset_name::idx#0 // reg byte a 202.0
@ -838,6 +838,7 @@ reg byte a [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ]
reg byte x [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ]
reg byte x [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ]
reg byte x [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ]
zp[2]:42 [ print_set_screen::screen#2 ]
reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ]
reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ]
reg byte a [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ]
@ -846,24 +847,24 @@ reg byte y [ apply_preset::i#2 apply_preset::i#1 ]
reg byte a [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ]
zp[4]:38 [ get_plane::return#14 get_plane::return#16 get_plane::return#17 gfx_mode::$20 gfx_mode::plane_a#0 gfx_mode::$31 gfx_mode::plane_b#0 ]
reg byte a [ get_VICII_screen::idx#2 get_VICII_screen::idx#0 get_VICII_screen::idx#1 ]
zp[2]:42 [ get_VICII_screen::return#5 get_VICII_screen::return#10 get_VICII_screen::return#11 gfx_mode::$76 gfx_mode::$41 gfx_mode::$42 ]
zp[2]:44 [ get_VICII_charset::return#2 get_VICII_charset::return#4 gfx_mode::$77 gfx_mode::$44 ]
zp[2]:44 [ get_VICII_screen::return#5 get_VICII_screen::return#10 get_VICII_screen::return#11 gfx_mode::$76 gfx_mode::$41 gfx_mode::$42 ]
zp[2]:46 [ get_VICII_charset::return#2 get_VICII_charset::return#4 gfx_mode::$77 gfx_mode::$44 ]
reg byte x [ keyboard_modifiers#22 keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#2 keyboard_modifiers#3 keyboard_modifiers#4 ]
reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
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[2]:8 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 form_set_screen::line#2 form_set_screen::line#1 print_set_screen::screen#2 print_line_cursor#22 print_line_cursor#1 print_screen#0 print_line_cursor#2 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::VICII_colors#2 gfx_mode::VICII_colors#3 gfx_mode::VICII_colors#1 gfx_mode::VICII_colors#0 ]
reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ]
zp[4]:46 [ gfx_init_plane_fill::plane_addr#3 ]
zp[4]:48 [ gfx_init_plane_fill::plane_addr#3 ]
zp[1]:3 [ gfx_init_plane_fill::fill#6 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 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ]
zp[1]:2 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ]
zp[2]:6 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$3 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 ]
zp[2]:6 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$3 bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::VICII_colors#2 gfx_mode::VICII_colors#3 gfx_mode::VICII_colors#1 gfx_mode::VICII_colors#0 ]
reg byte x [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ]
zp[2]:17 [ memset::num#3 memset::end#0 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 apply_preset::preset#15 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ]
zp[2]:23 [ memset::str#4 memset::str#0 memset::dst#2 memset::dst#4 memset::dst#1 bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ]
zp[2]:17 [ memset::num#3 memset::end#0 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 apply_preset::preset#15 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 ]
zp[2]:23 [ memset::str#4 memset::str#0 memset::dst#2 memset::dst#4 memset::dst#1 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ]
reg byte x [ memset::c#5 ]
zp[2]:8 [ print_line_cursor#22 print_line_cursor#1 print_screen#0 print_line_cursor#2 bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ]
reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ]
zp[2]:10 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 bitmap_line::dy#0 print_str_at::at#2 print_str_at::at#0 ]
reg byte x [ bitmap_plot::y#4 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 bitmap_plot::y#3 ]
@ -890,7 +891,7 @@ reg byte a [ gfx_mode::$38 ]
reg byte a [ gfx_mode::$39 ]
reg byte a [ get_VICII_charset::idx#0 ]
reg byte a [ gfx_mode::$45 ]
zp[1]:50 [ gfx_mode::$46 ]
zp[1]:52 [ gfx_mode::$46 ]
reg byte a [ gfx_mode::$78 ]
reg byte a [ gfx_mode::$47 ]
reg byte a [ gfx_mode::$49 ]

View File

@ -155,9 +155,9 @@
.label print_char_cursor = $a
.label print_line_cursor = $e
// The adddress of the bitmap graphics (used for pixels)
.label bitmap_gfx = $2f
.label bitmap_gfx = $33
// The adddress of the bitmap screen (used for colors)
.label bitmap_screen = $31
.label bitmap_screen = $35
.segment Code
main: {
// asm
@ -188,7 +188,7 @@ main: {
menu: {
.label SCREEN = $8000
.label CHARSET = $9800
.label c = $2d
.label c = $31
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000)
// Charset ROM
// DTV Graphics Bank
@ -939,7 +939,7 @@ mode_stdbitmap: {
.label col2 = $10
// Bitmap Colors
.label ch = $1d
.label cy = $21
.label cy = $25
.label l = $20
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)BITMAP/$10000)
// DTV Graphics Bank
@ -1092,7 +1092,7 @@ mode_hicolstdchar: {
// Char Colors and screen chars
.label col = $1d
.label ch = $a
.label cy = $23
.label cy = $27
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000)
// DTV Graphics Bank
lda #0
@ -1222,7 +1222,7 @@ mode_hicolecmchar: {
// Char Colors and screen chars
.label col = $a
.label ch = $1d
.label cy = $24
.label cy = $28
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000)
// DTV Graphics Bank
lda #0
@ -1363,7 +1363,7 @@ mode_hicolmcchar: {
// Char Colors and screen chars
.label col = $1d
.label ch = $a
.label cy = $25
.label cy = $29
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000)
// DTV Graphics Bank
lda #0
@ -1493,13 +1493,13 @@ mode_sixsfred2: {
.label __3 = $1c
// Colors for high 4 bits of 8bpp
.label col = $a
.label cy = $20
.label cy = $22
// Graphics for Plane A () - horizontal stripes every 2 pixels
.label gfxa = $e
.label ay = $1f
// Graphics for Plane B - vertical stripes every 2 pixels
.label gfxb = 8
.label by = $27
.label by = $2b
// *DTV_CONTROL = DTV_LINEAR
lda #DTV_LINEAR
sta DTV_CONTROL
@ -1693,13 +1693,13 @@ mode_twoplanebitmap: {
// Color for bits 11
// Colors for bits 01 / 10
.label col = $e
.label cy = $20
.label cy = $23
// Graphics for Plane A - horizontal stripes
.label gfxa = 8
.label ay = $22
.label ay = $26
// Graphics for Plane B - vertical stripes
.label gfxb = $a
.label by = $28
.label by = $2c
// *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR
lda #DTV_HIGHCOLOR|DTV_LINEAR
sta DTV_CONTROL
@ -1907,10 +1907,10 @@ mode_sixsfred: {
.label cy = $1f
// Graphics for Plane A () - horizontal stripes every 2 pixels
.label gfxa = $e
.label ay = $20
.label ay = $21
// Graphics for Plane B - vertical stripes every 2 pixels
.label gfxb = 8
.label by = $29
.label by = $2d
// *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR
lda #DTV_HIGHCOLOR|DTV_LINEAR
sta DTV_CONTROL
@ -2097,13 +2097,13 @@ mode_8bpppixelcell: {
.label __3 = $17
// Screen Chars for Plane A (screen) - 16x16 repeating
.label gfxa = $e
.label ay = $20
.label ay = $24
.label bits = $10
.label chargen = 8
.label gfxb = $a
.label col = $1c
.label cr = $1f
.label ch = $2a
.label ch = $2e
// *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR | DTV_CHUNKY
lda #DTV_HIGHCOLOR|DTV_LINEAR|DTV_CHUNKY
sta DTV_CONTROL
@ -2287,7 +2287,7 @@ mode_8bppchunkybmm: {
.label __7 = $c
.label gfxb = $e
.label x = $a
.label y = $26
.label y = $2a
// *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR | DTV_CHUNKY | DTV_COLORRAM_OFF
lda #DTV_HIGHCOLOR|DTV_LINEAR|DTV_CHUNKY|DTV_COLORRAM_OFF
sta DTV_CONTROL
@ -2406,12 +2406,12 @@ mode_8bppchunkybmm: {
rts
}
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// void * memset(__zp($33) void *str, __register(X) char c, __zp($2b) unsigned int num)
// void * memset(__zp($37) void *str, __register(X) char c, __zp($2f) unsigned int num)
memset: {
.label end = 6
.label dst = $e
.label num = $2b
.label str = $33
.label num = $2f
.label str = $37
// if(num>0)
lda.z num
bne !+

File diff suppressed because it is too large Load Diff

View File

@ -96,8 +96,8 @@ char bitmap_clear::col
__constant char bitmap_clear::col#0 = WHITE*$10 // col
char bitmap_clear::fgcol
char *bitmap_gfx
char *bitmap_gfx#14 // bitmap_gfx zp[2]:47 10.485981308411215
char *bitmap_gfx#15 // bitmap_gfx zp[2]:47 374.0
char *bitmap_gfx#14 // bitmap_gfx zp[2]:51 10.485981308411215
char *bitmap_gfx#15 // bitmap_gfx zp[2]:51 374.0
void bitmap_init(char *gfx , char *screen)
char bitmap_init::$4 // reg byte a 2000002.0
char bitmap_init::$5 // reg byte a 2000002.0
@ -184,8 +184,8 @@ __constant const char bitmap_plot_bit[$100] = { fill( $100, 0) }
__constant const char bitmap_plot_yhi[$100] = { fill( $100, 0) }
__constant const char bitmap_plot_ylo[$100] = { fill( $100, 0) }
char *bitmap_screen
char *bitmap_screen#14 // bitmap_screen zp[2]:49 10.485981308411215
char *bitmap_screen#15 // bitmap_screen zp[2]:49 374.0
char *bitmap_screen#14 // bitmap_screen zp[2]:53 10.485981308411215
char *bitmap_screen#15 // bitmap_screen zp[2]:53 374.0
void dtvSetCpuBankSegment1(char cpuBankIdx)
__constant char *dtvSetCpuBankSegment1::cpuBank = (char *) 255
char dtvSetCpuBankSegment1::cpuBankIdx
@ -245,10 +245,10 @@ char *memset::dst#4 // dst zp[2]:14 200002.0
char *memset::end
char *memset::end#0 // end zp[2]:6 1683333.6666666665
unsigned int memset::num
unsigned int memset::num#3 // num zp[2]:43 100001.0
unsigned int memset::num#3 // num zp[2]:47 100001.0
void *memset::return
void *memset::str
void *memset::str#4 // str zp[2]:51
void *memset::str#4 // str zp[2]:55
void menu()
char menu::$13 // reg byte a 20002.0
char menu::$17 // reg byte a 20002.0
@ -265,8 +265,8 @@ char menu::$9 // reg byte a 20002.0
__constant char * const menu::CHARSET = (char *) 38912
__constant char * const menu::SCREEN = (char *) 32768
char *menu::c
char *menu::c#1 // c zp[2]:45 20002.0
char *menu::c#2 // c zp[2]:45 13334.666666666666
char *menu::c#1 // c zp[2]:49 20002.0
char *menu::c#2 // c zp[2]:49 13334.666666666666
char menu::i
char menu::i#1 // reg byte x 15001.5
char menu::i#2 // reg byte x 20002.0
@ -292,8 +292,8 @@ unsigned int mode_8bppchunkybmm::x
unsigned int mode_8bppchunkybmm::x#1 // x zp[2]:10 1500001.5
unsigned int mode_8bppchunkybmm::x#2 // x zp[2]:10 300000.30000000005
char mode_8bppchunkybmm::y
char mode_8bppchunkybmm::y#1 // y zp[1]:38 150001.5
char mode_8bppchunkybmm::y#6 // y zp[1]:38 92307.92307692306
char mode_8bppchunkybmm::y#1 // y zp[1]:42 150001.5
char mode_8bppchunkybmm::y#6 // y zp[1]:42 92307.92307692306
void mode_8bpppixelcell()
char mode_8bpppixelcell::$2 // reg byte a 2000002.0
char mode_8bpppixelcell::$3 // zp[1]:23 1000001.0
@ -307,8 +307,8 @@ char mode_8bpppixelcell::ax
char mode_8bpppixelcell::ax#1 // reg byte x 1500001.5
char mode_8bpppixelcell::ax#2 // reg byte x 428571.85714285716
char mode_8bpppixelcell::ay
char mode_8bpppixelcell::ay#1 // ay zp[1]:32 150001.5
char mode_8bpppixelcell::ay#4 // ay zp[1]:32 120000.30000000002
char mode_8bpppixelcell::ay#1 // ay zp[1]:36 150001.5
char mode_8bpppixelcell::ay#4 // ay zp[1]:36 120000.30000000002
char mode_8bpppixelcell::bits
char mode_8bpppixelcell::bits#0 // bits zp[1]:16 1000001.0
char mode_8bpppixelcell::bits#1 // bits zp[1]:16 5000000.5
@ -317,8 +317,8 @@ char mode_8bpppixelcell::c
char mode_8bpppixelcell::c#2 // reg byte a 2.0000002E7
char mode_8bpppixelcell::c#3 // reg byte a 2.0000002E7
char mode_8bpppixelcell::ch
char mode_8bpppixelcell::ch#1 // ch zp[1]:42 150001.5
char mode_8bpppixelcell::ch#8 // ch zp[1]:42 11764.823529411764
char mode_8bpppixelcell::ch#1 // ch zp[1]:46 150001.5
char mode_8bpppixelcell::ch#8 // ch zp[1]:46 11764.823529411764
char *mode_8bpppixelcell::chargen
char *mode_8bpppixelcell::chargen#1 // chargen zp[2]:8 131250.1875
char *mode_8bpppixelcell::chargen#2 // chargen zp[2]:8 1550002.0
@ -416,8 +416,8 @@ char mode_hicolecmchar::cx
char mode_hicolecmchar::cx#1 // reg byte x 1500001.5
char mode_hicolecmchar::cx#2 // reg byte x 333333.6666666666
char mode_hicolecmchar::cy
char mode_hicolecmchar::cy#1 // cy zp[1]:36 150001.5
char mode_hicolecmchar::cy#4 // cy zp[1]:36 100000.25000000001
char mode_hicolecmchar::cy#1 // cy zp[1]:40 150001.5
char mode_hicolecmchar::cy#4 // cy zp[1]:40 100000.25000000001
char mode_hicolecmchar::i
char mode_hicolecmchar::i#1 // reg byte x 150001.5
char mode_hicolecmchar::i#2 // reg byte x 200002.0
@ -442,8 +442,8 @@ char mode_hicolmcchar::cx
char mode_hicolmcchar::cx#1 // reg byte x 1500001.5
char mode_hicolmcchar::cx#2 // reg byte x 333333.6666666666
char mode_hicolmcchar::cy
char mode_hicolmcchar::cy#1 // cy zp[1]:37 150001.5
char mode_hicolmcchar::cy#4 // cy zp[1]:37 100000.25000000001
char mode_hicolmcchar::cy#1 // cy zp[1]:41 150001.5
char mode_hicolmcchar::cy#4 // cy zp[1]:41 100000.25000000001
char mode_hicolmcchar::i
char mode_hicolmcchar::i#1 // reg byte x 150001.5
char mode_hicolmcchar::i#2 // reg byte x 200002.0
@ -468,8 +468,8 @@ char mode_hicolstdchar::cx
char mode_hicolstdchar::cx#1 // reg byte x 1500001.5
char mode_hicolstdchar::cx#2 // reg byte x 333333.6666666666
char mode_hicolstdchar::cy
char mode_hicolstdchar::cy#1 // cy zp[1]:35 150001.5
char mode_hicolstdchar::cy#4 // cy zp[1]:35 100000.25000000001
char mode_hicolstdchar::cy#1 // cy zp[1]:39 150001.5
char mode_hicolstdchar::cy#4 // cy zp[1]:39 100000.25000000001
char mode_hicolstdchar::i
char mode_hicolstdchar::i#1 // reg byte x 150001.5
char mode_hicolstdchar::i#2 // reg byte x 200002.0
@ -513,14 +513,14 @@ char mode_sixsfred::ax
char mode_sixsfred::ax#1 // reg byte x 1500001.5
char mode_sixsfred::ax#2 // reg byte x 400000.4
char mode_sixsfred::ay
char mode_sixsfred::ay#1 // ay zp[1]:32 150001.5
char mode_sixsfred::ay#4 // ay zp[1]:32 150000.375
char mode_sixsfred::ay#1 // ay zp[1]:33 150001.5
char mode_sixsfred::ay#4 // ay zp[1]:33 150000.375
char mode_sixsfred::bx
char mode_sixsfred::bx#1 // reg byte x 1500001.5
char mode_sixsfred::bx#2 // reg byte x 666667.3333333334
char mode_sixsfred::by
char mode_sixsfred::by#1 // by zp[1]:41 150001.5
char mode_sixsfred::by#4 // by zp[1]:41 33333.666666666664
char mode_sixsfred::by#1 // by zp[1]:45 150001.5
char mode_sixsfred::by#4 // by zp[1]:45 33333.666666666664
char *mode_sixsfred::col
char *mode_sixsfred::col#1 // col zp[2]:10 420000.60000000003
char *mode_sixsfred::col#2 // col zp[2]:10 775001.0
@ -564,8 +564,8 @@ char mode_sixsfred2::bx
char mode_sixsfred2::bx#1 // reg byte x 1500001.5
char mode_sixsfred2::bx#2 // reg byte x 666667.3333333334
char mode_sixsfred2::by
char mode_sixsfred2::by#1 // by zp[1]:39 150001.5
char mode_sixsfred2::by#4 // by zp[1]:39 33333.666666666664
char mode_sixsfred2::by#1 // by zp[1]:43 150001.5
char mode_sixsfred2::by#4 // by zp[1]:43 33333.666666666664
char *mode_sixsfred2::col
char *mode_sixsfred2::col#1 // col zp[2]:10 420000.60000000003
char *mode_sixsfred2::col#2 // col zp[2]:10 516667.3333333334
@ -574,8 +574,8 @@ char mode_sixsfred2::cx
char mode_sixsfred2::cx#1 // reg byte x 1500001.5
char mode_sixsfred2::cx#2 // reg byte x 428571.85714285716
char mode_sixsfred2::cy
char mode_sixsfred2::cy#1 // cy zp[1]:32 150001.5
char mode_sixsfred2::cy#4 // cy zp[1]:32 120000.30000000002
char mode_sixsfred2::cy#1 // cy zp[1]:34 150001.5
char mode_sixsfred2::cy#4 // cy zp[1]:34 120000.30000000002
char *mode_sixsfred2::gfxa
char *mode_sixsfred2::gfxa#1 // gfxa zp[2]:14 420000.60000000003
char *mode_sixsfred2::gfxa#2 // gfxa zp[2]:14 775001.0
@ -608,8 +608,8 @@ char mode_stdbitmap::cx
char mode_stdbitmap::cx#1 // reg byte x 1500001.5
char mode_stdbitmap::cx#2 // reg byte x 375000.375
char mode_stdbitmap::cy
char mode_stdbitmap::cy#1 // cy zp[1]:33 150001.5
char mode_stdbitmap::cy#4 // cy zp[1]:33 109091.18181818182
char mode_stdbitmap::cy#1 // cy zp[1]:37 150001.5
char mode_stdbitmap::cy#4 // cy zp[1]:37 109091.18181818182
char mode_stdbitmap::i
char mode_stdbitmap::i#1 // reg byte x 150001.5
char mode_stdbitmap::i#2 // reg byte x 200002.0
@ -659,14 +659,14 @@ char mode_twoplanebitmap::ax
char mode_twoplanebitmap::ax#1 // reg byte x 1500001.5
char mode_twoplanebitmap::ax#2 // reg byte x 250000.25
char mode_twoplanebitmap::ay
char mode_twoplanebitmap::ay#1 // ay zp[1]:34 150001.5
char mode_twoplanebitmap::ay#5 // ay zp[1]:34 109091.18181818182
char mode_twoplanebitmap::ay#1 // ay zp[1]:38 150001.5
char mode_twoplanebitmap::ay#5 // ay zp[1]:38 109091.18181818182
char mode_twoplanebitmap::bx
char mode_twoplanebitmap::bx#1 // reg byte x 1500001.5
char mode_twoplanebitmap::bx#2 // reg byte x 666667.3333333334
char mode_twoplanebitmap::by
char mode_twoplanebitmap::by#1 // by zp[1]:40 150001.5
char mode_twoplanebitmap::by#4 // by zp[1]:40 33333.666666666664
char mode_twoplanebitmap::by#1 // by zp[1]:44 150001.5
char mode_twoplanebitmap::by#4 // by zp[1]:44 33333.666666666664
char *mode_twoplanebitmap::col
char *mode_twoplanebitmap::col#1 // col zp[2]:14 420000.60000000003
char *mode_twoplanebitmap::col#2 // col zp[2]:14 516667.3333333334
@ -675,8 +675,8 @@ char mode_twoplanebitmap::cx
char mode_twoplanebitmap::cx#1 // reg byte x 1500001.5
char mode_twoplanebitmap::cx#2 // reg byte x 428571.85714285716
char mode_twoplanebitmap::cy
char mode_twoplanebitmap::cy#1 // cy zp[1]:32 150001.5
char mode_twoplanebitmap::cy#4 // cy zp[1]:32 120000.30000000002
char mode_twoplanebitmap::cy#1 // cy zp[1]:35 150001.5
char mode_twoplanebitmap::cy#4 // cy zp[1]:35 120000.30000000002
char *mode_twoplanebitmap::gfxa
char *mode_twoplanebitmap::gfxa#1 // gfxa zp[2]:8 2000002.0
char *mode_twoplanebitmap::gfxa#2 // gfxa zp[2]:8 2000002.0
@ -725,10 +725,10 @@ unsigned int sgn_u16::w#0 // w zp[2]:2 2000002.0
unsigned int sgn_u16::w#1 // w zp[2]:2 2000002.0
unsigned int sgn_u16::w#2 // w zp[2]:2 1.2000003E7
zp[2]:47 [ bitmap_gfx#14 bitmap_gfx#15 ]
zp[2]:49 [ bitmap_screen#14 bitmap_screen#15 ]
zp[2]:51 [ bitmap_gfx#14 bitmap_gfx#15 ]
zp[2]:53 [ bitmap_screen#14 bitmap_screen#15 ]
reg byte x [ menu::i#2 menu::i#1 ]
zp[2]:45 [ menu::c#2 menu::c#1 ]
zp[2]:49 [ menu::c#2 menu::c#1 ]
reg byte y [ keyboard_key_pressed::key#20 ]
reg byte x [ mode_stdchar::i#2 mode_stdchar::i#1 ]
reg byte x [ mode_stdchar::cx#2 mode_stdchar::cx#1 ]
@ -737,45 +737,49 @@ reg byte x [ mode_ecmchar::cx#2 mode_ecmchar::cx#1 ]
reg byte x [ mode_mcchar::i#2 mode_mcchar::i#1 ]
reg byte x [ mode_mcchar::cx#2 mode_mcchar::cx#1 ]
reg byte x [ mode_stdbitmap::i#2 mode_stdbitmap::i#1 ]
zp[1]:33 [ mode_stdbitmap::cy#4 mode_stdbitmap::cy#1 ]
zp[1]:37 [ mode_stdbitmap::cy#4 mode_stdbitmap::cy#1 ]
reg byte x [ mode_stdbitmap::cx#2 mode_stdbitmap::cx#1 ]
zp[1]:32 [ mode_stdbitmap::l#2 mode_stdbitmap::l#1 mode_mcchar::cy#4 mode_mcchar::cy#1 mode_ecmchar::cy#4 mode_ecmchar::cy#1 mode_stdchar::cy#4 mode_stdchar::cy#1 ]
reg byte x [ mode_hicolstdchar::i#2 mode_hicolstdchar::i#1 ]
zp[1]:35 [ mode_hicolstdchar::cy#4 mode_hicolstdchar::cy#1 ]
zp[1]:39 [ mode_hicolstdchar::cy#4 mode_hicolstdchar::cy#1 ]
reg byte x [ mode_hicolstdchar::cx#2 mode_hicolstdchar::cx#1 ]
reg byte x [ mode_hicolecmchar::i#2 mode_hicolecmchar::i#1 ]
zp[1]:36 [ mode_hicolecmchar::cy#4 mode_hicolecmchar::cy#1 ]
zp[1]:40 [ mode_hicolecmchar::cy#4 mode_hicolecmchar::cy#1 ]
reg byte x [ mode_hicolecmchar::cx#2 mode_hicolecmchar::cx#1 ]
reg byte x [ mode_hicolmcchar::i#2 mode_hicolmcchar::i#1 ]
zp[1]:37 [ mode_hicolmcchar::cy#4 mode_hicolmcchar::cy#1 ]
zp[1]:41 [ mode_hicolmcchar::cy#4 mode_hicolmcchar::cy#1 ]
reg byte x [ mode_hicolmcchar::cx#2 mode_hicolmcchar::cx#1 ]
zp[2]:29 [ mode_hicolmcchar::col#2 mode_hicolmcchar::col#3 mode_hicolmcchar::col#1 mode_hicolecmchar::ch#2 mode_hicolecmchar::ch#3 mode_hicolecmchar::ch#1 mode_hicolstdchar::col#2 mode_hicolstdchar::col#3 mode_hicolstdchar::col#1 mode_stdbitmap::ch#2 mode_stdbitmap::ch#3 mode_stdbitmap::ch#1 mode_mcchar::col#2 mode_mcchar::col#3 mode_mcchar::col#1 mode_ecmchar::col#2 mode_ecmchar::col#3 mode_ecmchar::col#1 mode_stdchar::col#2 mode_stdchar::col#3 mode_stdchar::col#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ]
reg byte x [ mode_sixsfred2::i#2 mode_sixsfred2::i#1 ]
zp[1]:34 [ mode_sixsfred2::cy#4 mode_sixsfred2::cy#1 ]
reg byte x [ mode_sixsfred2::cx#2 mode_sixsfred2::cx#1 ]
reg byte x [ mode_sixsfred2::ax#2 mode_sixsfred2::ax#1 ]
zp[1]:39 [ mode_sixsfred2::by#4 mode_sixsfred2::by#1 ]
zp[1]:43 [ mode_sixsfred2::by#4 mode_sixsfred2::by#1 ]
reg byte x [ mode_sixsfred2::bx#2 mode_sixsfred2::bx#1 ]
reg byte x [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ]
zp[1]:35 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ]
reg byte x [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ]
zp[1]:34 [ mode_twoplanebitmap::ay#5 mode_twoplanebitmap::ay#1 ]
zp[1]:38 [ mode_twoplanebitmap::ay#5 mode_twoplanebitmap::ay#1 ]
reg byte x [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ]
zp[1]:40 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ]
zp[1]:44 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ]
reg byte x [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ]
reg byte x [ mode_sixsfred::i#2 mode_sixsfred::i#1 ]
reg byte x [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ]
zp[1]:33 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ]
reg byte x [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ]
zp[1]:41 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ]
zp[1]:45 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ]
reg byte x [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ]
reg byte x [ mode_8bpppixelcell::i#2 mode_8bpppixelcell::i#1 ]
zp[1]:32 [ mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 mode_sixsfred::ay#4 mode_sixsfred::ay#1 mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 mode_sixsfred2::cy#4 mode_sixsfred2::cy#1 mode_stdbitmap::l#2 mode_stdbitmap::l#1 mode_mcchar::cy#4 mode_mcchar::cy#1 mode_ecmchar::cy#4 mode_ecmchar::cy#1 mode_stdchar::cy#4 mode_stdchar::cy#1 ]
zp[1]:36 [ mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 ]
reg byte x [ mode_8bpppixelcell::ax#2 mode_8bpppixelcell::ax#1 ]
zp[1]:42 [ mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 ]
zp[1]:46 [ mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 ]
reg byte x [ mode_8bpppixelcell::cp#2 mode_8bpppixelcell::cp#1 ]
reg byte a [ mode_8bpppixelcell::c#2 mode_8bpppixelcell::c#3 ]
reg byte x [ mode_8bppchunkybmm::i#2 mode_8bppchunkybmm::i#1 ]
zp[1]:38 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 ]
zp[1]:42 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 ]
reg byte x [ mode_8bppchunkybmm::gfxbCpuBank#4 mode_8bppchunkybmm::gfxbCpuBank#7 mode_8bppchunkybmm::gfxbCpuBank#8 mode_8bppchunkybmm::gfxbCpuBank#2 ]
zp[2]:43 [ memset::num#3 ]
zp[2]:51 [ memset::str#4 ]
zp[2]:47 [ memset::num#3 ]
zp[2]:55 [ memset::str#4 ]
reg byte x [ memset::c#5 ]
reg byte x [ dtv_control#116 dtv_control#146 dtv_control#16 ]
reg byte a [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]

View File

@ -13236,10 +13236,14 @@ Allocated zp[1]:248 [ game_logic::$34 ]
Allocated zp[1]:249 [ game_logic::$35 ]
Allocated zp[1]:250 [ game_logic::$37 ]
Allocated zp[1]:251 [ game_logic::$38 ]
Allocated zp[1]:252 [ game_logic::$40 ]
Allocated zp[1]:253 [ game_logic::$41 ]
Allocated zp[1]:254 [ game_logic::$43 ]
Allocated zp[1]:255 [ game_logic::$44 ]
Zero-page exhausted. Moving allocation to main memory game_logic::$40
Allocated mem[1] [ game_logic::$40 ]
Zero-page exhausted. Moving allocation to main memory game_logic::$41
Allocated mem[1] [ game_logic::$41 ]
Zero-page exhausted. Moving allocation to main memory game_logic::$43
Allocated mem[1] [ game_logic::$43 ]
Zero-page exhausted. Moving allocation to main memory game_logic::$44
Allocated mem[1] [ game_logic::$44 ]
Zero-page exhausted. Moving allocation to main memory game_logic::$46
Allocated mem[1] [ game_logic::$46 ]
Zero-page exhausted. Moving allocation to main memory game_logic::$47
@ -14971,11 +14975,11 @@ Potential registers mem[1] [ game_logic::ghost3_bob_xfine#0 ] : mem[1] , reg byt
Potential registers zp[1]:250 [ game_logic::$37 ] : zp[1]:250 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:251 [ game_logic::$38 ] : zp[1]:251 , reg byte a , reg byte x , reg byte y ,
Potential registers mem[1] [ game_logic::$39 ] : mem[1] , reg byte x , reg byte y ,
Potential registers zp[1]:252 [ game_logic::$40 ] : zp[1]:252 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:253 [ game_logic::$41 ] : zp[1]:253 , reg byte a , reg byte x , reg byte y ,
Potential registers mem[1] [ game_logic::$40 ] : mem[1] , reg byte a , reg byte x , reg byte y ,
Potential registers mem[1] [ game_logic::$41 ] : mem[1] , reg byte a , reg byte x , reg byte y ,
Potential registers mem[1] [ game_logic::ghost4_bob_xfine#0 ] : mem[1] , reg byte x , reg byte y ,
Potential registers zp[1]:254 [ game_logic::$43 ] : zp[1]:254 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:255 [ game_logic::$44 ] : zp[1]:255 , reg byte a , reg byte x , reg byte y ,
Potential registers mem[1] [ game_logic::$43 ] : mem[1] , reg byte a , reg byte x , reg byte y ,
Potential registers mem[1] [ game_logic::$44 ] : mem[1] , reg byte a , reg byte x , reg byte y ,
Potential registers mem[1] [ game_logic::$45 ] : mem[1] , reg byte x , reg byte y ,
Potential registers mem[1] [ game_logic::$46 ] : mem[1] , reg byte a , reg byte x , reg byte y ,
Potential registers mem[1] [ game_logic::$47 ] : mem[1] , reg byte a , reg byte x , reg byte y ,
@ -15131,7 +15135,7 @@ Uplift Scope [memcpy] 30,003: zp[2]:131 [ memcpy::src#2 memcpy::src#1 ] 20,002:
Uplift Scope [memset] 35,672.33: zp[2]:128 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 1,833.67: zp[2]:169 [ memset::end#0 ] 1,001: zp[2]:174 [ memset::num#5 ] 0: mem[2] [ memset::str#6 ]
Uplift Scope [splash_run] 20,002: zp[1]:140 [ splash_run::$30 ] 4,679.75: zp[1]:158 [ splash_run::msb#10 splash_run::msb#8 splash_run::msb#1 splash_run::msb#2 ] 3,336.67: zp[1]:160 [ splash_run::i1#2 splash_run::i1#1 ] 3,203.2: zp[1]:161 [ splash_run::i2#2 splash_run::i2#1 ] 2,366: zp[1]:162 [ splash_run::i#2 splash_run::i#1 ] 2,002: zp[1]:164 [ splash_run::$25 ] 1,334.67: zp[1]:171 [ splash_run::$34 ] 667.33: zp[2]:177 [ splash_run::xpos#0 ]
Uplift Scope [choose_direction] 676.7: zp[1]:176 [ choose_direction::dist_min#10 choose_direction::dist_min#13 choose_direction::dist_min#14 choose_direction::dist_down#0 ] 656.5: zp[1]:179 [ choose_direction::dist_min#11 choose_direction::dist_left#0 choose_direction::dist_min#17 choose_direction::dist_min#18 ] 202: zp[1]:197 [ choose_direction::$2 ] 202: zp[1]:198 [ choose_direction::$4 ] 202: zp[1]:199 [ choose_direction::$6 ] 202: zp[1]:200 [ choose_direction::$8 ] 202: zp[1]:201 [ choose_direction::dist_right#0 ] 194.9: zp[1]:203 [ choose_direction::return#10 choose_direction::direction#6 choose_direction::direction#8 choose_direction::direction#10 ] 189: zp[1]:204 [ choose_direction::target_xtile#4 choose_direction::target_xtile#2 choose_direction::target_xtile#3 choose_direction::target_xtile#0 choose_direction::target_xtile#1 ] 181.8: zp[1]:205 [ choose_direction::dist_min#6 choose_direction::dist_up#0 ] 167: zp[1]:206 [ choose_direction::ghost_xtile#4 choose_direction::ghost_xtile#2 choose_direction::ghost_xtile#3 choose_direction::ghost_xtile#0 choose_direction::ghost_xtile#1 ] 160.5: zp[1]:207 [ choose_direction::target_ytile#4 choose_direction::target_ytile#2 choose_direction::target_ytile#3 choose_direction::target_ytile#0 choose_direction::target_ytile#1 ] 101.83: zp[1]:212 [ choose_direction::ghost_ytile#4 choose_direction::ghost_ytile#2 choose_direction::ghost_ytile#3 choose_direction::ghost_ytile#0 choose_direction::ghost_ytile#1 ] 37.08: zp[1]:229 [ choose_direction::open_directions#10 choose_direction::open_directions#2 choose_direction::open_directions#3 choose_direction::open_directions#0 choose_direction::open_directions#1 ] 22: mem[1] [ choose_direction::return#0 ] 22: mem[1] [ choose_direction::return#1 ] 22: mem[1] [ choose_direction::return#2 ] 22: mem[1] [ choose_direction::return#3 ] 21.96: mem[1] [ choose_direction::ydiff#0 ] 21.04: mem[1] [ choose_direction::xdiff#0 ]
Uplift Scope [game_logic] 40.5: zp[1]:228 [ game_logic::ghost_frame_idx#2 game_logic::ghost_frame_idx#0 game_logic::ghost_frame_idx#1 ] 26.4: zp[1]:230 [ game_logic::target_ytile#3 game_logic::target_ytile#2 ] 26.4: zp[1]:231 [ game_logic::target_ytile1#3 game_logic::target_ytile1#2 ] 26.4: zp[1]:232 [ game_logic::target_ytile2#3 game_logic::target_ytile2#2 ] 26.4: zp[1]:233 [ game_logic::target_ytile3#3 game_logic::target_ytile3#2 ] 22: zp[1]:234 [ game_logic::$2 ] 22: zp[1]:235 [ game_logic::$3 ] 22: zp[1]:236 [ game_logic::$14 ] 22: zp[1]:237 [ game_logic::$15 ] 22: zp[1]:238 [ game_logic::$17 ] 22: zp[1]:239 [ game_logic::$18 ] 22: zp[1]:240 [ game_logic::$20 ] 22: zp[1]:241 [ game_logic::$21 ] 22: zp[1]:242 [ game_logic::$25 ] 22: zp[1]:243 [ game_logic::$26 ] 22: zp[1]:244 [ game_logic::$28 ] 22: zp[1]:245 [ game_logic::$29 ] 22: zp[1]:246 [ game_logic::$31 ] 22: zp[1]:247 [ game_logic::$32 ] 22: zp[1]:248 [ game_logic::$34 ] 22: zp[1]:249 [ game_logic::$35 ] 22: zp[1]:250 [ game_logic::$37 ] 22: zp[1]:251 [ game_logic::$38 ] 22: zp[1]:252 [ game_logic::$40 ] 22: zp[1]:253 [ game_logic::$41 ] 22: zp[1]:254 [ game_logic::$43 ] 22: zp[1]:255 [ game_logic::$44 ] 22: mem[1] [ game_logic::$46 ] 22: mem[1] [ game_logic::$47 ] 22: mem[1] [ game_logic::pacman_ytile#0 ] 22: mem[1] [ game_logic::$65 ] 22: mem[1] [ game_logic::$66 ] 22: mem[2] [ game_logic::$67 ] 22: mem[1] [ game_logic::$68 ] 22: mem[1] [ game_logic::$69 ] 22: mem[1] [ game_logic::$70 ] 22: mem[2] [ game_logic::$71 ] 22: mem[1] [ game_logic::$72 ] 22: mem[1] [ game_logic::open_directions#0 ] 22: mem[1] [ game_logic::$119 ] 22: mem[1] [ game_logic::open_directions1#0 ] 22: mem[1] [ game_logic::$140 ] 22: mem[1] [ game_logic::open_directions2#0 ] 22: mem[1] [ game_logic::$161 ] 22: mem[1] [ game_logic::open_directions3#0 ] 22: mem[1] [ game_logic::$182 ] 22: mem[1] [ game_logic::$199 ] 22: mem[1] [ game_logic::$200 ] 22: mem[1] [ game_logic::$204 ] 16.5: mem[1] [ game_logic::target_xtile#3 game_logic::target_xtile#2 ] 16.5: mem[1] [ game_logic::target_xtile1#3 game_logic::target_xtile1#2 ] 16.5: mem[1] [ game_logic::target_xtile2#3 game_logic::target_xtile2#2 ] 16.5: mem[1] [ game_logic::target_xtile3#3 game_logic::target_xtile3#2 ] 16.5: mem[1] [ game_logic::tile_id#0 ] 16.5: mem[1] [ game_logic::joy_directions#0 ] 16.5: mem[1] [ game_logic::new_direction#0 ] 11: mem[1] [ game_logic::do_reverse#4 ] 11: mem[1] [ game_logic::$19 ] 11: mem[1] [ game_logic::$27 ] 11: mem[1] [ game_logic::$33 ] 11: mem[1] [ game_logic::$39 ] 11: mem[1] [ game_logic::$45 ] 11: mem[1] [ game_logic::$75 ] 11: mem[1] [ game_logic::$77 ] 11: mem[1] [ game_logic::$80 ] 11: mem[1] [ game_logic::$82 ] 11: mem[1] [ game_logic::$85 ] 11: mem[1] [ game_logic::$87 ] 11: mem[1] [ game_logic::$90 ] 11: mem[1] [ game_logic::$92 ] 11: mem[1] [ game_logic::$220 ] 11: mem[1] [ game_logic::$223 ] 11: mem[1] [ game_logic::$226 ] 11: mem[1] [ game_logic::$229 ] 11: mem[1] [ game_logic::$232 ] 11: mem[1] [ game_logic::pacman_xtile1#0 ] 11: mem[1] [ game_logic::pacman_ytile1#0 ] 6.77: mem[1] [ game_logic::pacman_xtile#0 ] 5.5: mem[1] [ game_logic::pacman_bob_xfine#0 ] 5.5: mem[1] [ game_logic::ghost1_bob_xfine#0 ] 5.5: mem[1] [ game_logic::ghost2_bob_xfine#0 ] 5.5: mem[1] [ game_logic::ghost3_bob_xfine#0 ] 5.5: mem[1] [ game_logic::ghost4_bob_xfine#0 ] 5.5: mem[2] [ game_logic::ytiles#0 ] 5.5: mem[1] [ game_logic::open_directions#1 ] 5.5: mem[1] [ game_logic::open_directions1#1 ] 5.5: mem[1] [ game_logic::open_directions2#1 ] 5.5: mem[1] [ game_logic::open_directions3#1 ] 3.67: mem[1] [ game_logic::open_directions4#0 ] 2.59: mem[1] [ game_logic::$210 ] 2.36: mem[1] [ game_logic::ghost4_xtile#0 ] 2.36: mem[1] [ game_logic::ghost4_ytile#0 ] 2.36: mem[1] [ game_logic::ghost3_xtile#0 ] 2.36: mem[1] [ game_logic::ghost3_ytile#0 ] 2.36: mem[1] [ game_logic::ghost2_xtile#0 ] 2.36: mem[1] [ game_logic::ghost2_ytile#0 ] 2.36: mem[1] [ game_logic::ghost1_xtile#0 ] 2.36: mem[1] [ game_logic::ghost1_ytile#0 ]
Uplift Scope [game_logic] 40.5: zp[1]:228 [ game_logic::ghost_frame_idx#2 game_logic::ghost_frame_idx#0 game_logic::ghost_frame_idx#1 ] 26.4: zp[1]:230 [ game_logic::target_ytile#3 game_logic::target_ytile#2 ] 26.4: zp[1]:231 [ game_logic::target_ytile1#3 game_logic::target_ytile1#2 ] 26.4: zp[1]:232 [ game_logic::target_ytile2#3 game_logic::target_ytile2#2 ] 26.4: zp[1]:233 [ game_logic::target_ytile3#3 game_logic::target_ytile3#2 ] 22: zp[1]:234 [ game_logic::$2 ] 22: zp[1]:235 [ game_logic::$3 ] 22: zp[1]:236 [ game_logic::$14 ] 22: zp[1]:237 [ game_logic::$15 ] 22: zp[1]:238 [ game_logic::$17 ] 22: zp[1]:239 [ game_logic::$18 ] 22: zp[1]:240 [ game_logic::$20 ] 22: zp[1]:241 [ game_logic::$21 ] 22: zp[1]:242 [ game_logic::$25 ] 22: zp[1]:243 [ game_logic::$26 ] 22: zp[1]:244 [ game_logic::$28 ] 22: zp[1]:245 [ game_logic::$29 ] 22: zp[1]:246 [ game_logic::$31 ] 22: zp[1]:247 [ game_logic::$32 ] 22: zp[1]:248 [ game_logic::$34 ] 22: zp[1]:249 [ game_logic::$35 ] 22: zp[1]:250 [ game_logic::$37 ] 22: zp[1]:251 [ game_logic::$38 ] 22: mem[1] [ game_logic::$40 ] 22: mem[1] [ game_logic::$41 ] 22: mem[1] [ game_logic::$43 ] 22: mem[1] [ game_logic::$44 ] 22: mem[1] [ game_logic::$46 ] 22: mem[1] [ game_logic::$47 ] 22: mem[1] [ game_logic::pacman_ytile#0 ] 22: mem[1] [ game_logic::$65 ] 22: mem[1] [ game_logic::$66 ] 22: mem[2] [ game_logic::$67 ] 22: mem[1] [ game_logic::$68 ] 22: mem[1] [ game_logic::$69 ] 22: mem[1] [ game_logic::$70 ] 22: mem[2] [ game_logic::$71 ] 22: mem[1] [ game_logic::$72 ] 22: mem[1] [ game_logic::open_directions#0 ] 22: mem[1] [ game_logic::$119 ] 22: mem[1] [ game_logic::open_directions1#0 ] 22: mem[1] [ game_logic::$140 ] 22: mem[1] [ game_logic::open_directions2#0 ] 22: mem[1] [ game_logic::$161 ] 22: mem[1] [ game_logic::open_directions3#0 ] 22: mem[1] [ game_logic::$182 ] 22: mem[1] [ game_logic::$199 ] 22: mem[1] [ game_logic::$200 ] 22: mem[1] [ game_logic::$204 ] 16.5: mem[1] [ game_logic::target_xtile#3 game_logic::target_xtile#2 ] 16.5: mem[1] [ game_logic::target_xtile1#3 game_logic::target_xtile1#2 ] 16.5: mem[1] [ game_logic::target_xtile2#3 game_logic::target_xtile2#2 ] 16.5: mem[1] [ game_logic::target_xtile3#3 game_logic::target_xtile3#2 ] 16.5: mem[1] [ game_logic::tile_id#0 ] 16.5: mem[1] [ game_logic::joy_directions#0 ] 16.5: mem[1] [ game_logic::new_direction#0 ] 11: mem[1] [ game_logic::do_reverse#4 ] 11: mem[1] [ game_logic::$19 ] 11: mem[1] [ game_logic::$27 ] 11: mem[1] [ game_logic::$33 ] 11: mem[1] [ game_logic::$39 ] 11: mem[1] [ game_logic::$45 ] 11: mem[1] [ game_logic::$75 ] 11: mem[1] [ game_logic::$77 ] 11: mem[1] [ game_logic::$80 ] 11: mem[1] [ game_logic::$82 ] 11: mem[1] [ game_logic::$85 ] 11: mem[1] [ game_logic::$87 ] 11: mem[1] [ game_logic::$90 ] 11: mem[1] [ game_logic::$92 ] 11: mem[1] [ game_logic::$220 ] 11: mem[1] [ game_logic::$223 ] 11: mem[1] [ game_logic::$226 ] 11: mem[1] [ game_logic::$229 ] 11: mem[1] [ game_logic::$232 ] 11: mem[1] [ game_logic::pacman_xtile1#0 ] 11: mem[1] [ game_logic::pacman_ytile1#0 ] 6.77: mem[1] [ game_logic::pacman_xtile#0 ] 5.5: mem[1] [ game_logic::pacman_bob_xfine#0 ] 5.5: mem[1] [ game_logic::ghost1_bob_xfine#0 ] 5.5: mem[1] [ game_logic::ghost2_bob_xfine#0 ] 5.5: mem[1] [ game_logic::ghost3_bob_xfine#0 ] 5.5: mem[1] [ game_logic::ghost4_bob_xfine#0 ] 5.5: mem[2] [ game_logic::ytiles#0 ] 5.5: mem[1] [ game_logic::open_directions#1 ] 5.5: mem[1] [ game_logic::open_directions1#1 ] 5.5: mem[1] [ game_logic::open_directions2#1 ] 5.5: mem[1] [ game_logic::open_directions3#1 ] 3.67: mem[1] [ game_logic::open_directions4#0 ] 2.59: mem[1] [ game_logic::$210 ] 2.36: mem[1] [ game_logic::ghost4_xtile#0 ] 2.36: mem[1] [ game_logic::ghost4_ytile#0 ] 2.36: mem[1] [ game_logic::ghost3_xtile#0 ] 2.36: mem[1] [ game_logic::ghost3_ytile#0 ] 2.36: mem[1] [ game_logic::ghost2_xtile#0 ] 2.36: mem[1] [ game_logic::ghost2_ytile#0 ] 2.36: mem[1] [ game_logic::ghost1_xtile#0 ] 2.36: mem[1] [ game_logic::ghost1_ytile#0 ]
Uplift Scope [level_tile_directions] 224.29: zp[1]:189 [ level_tile_directions::return#2 level_tile_directions::return#0 ] 202: zp[1]:194 [ level_tile_directions::$5 ] 202: zp[2]:195 [ level_tile_directions::ytiles#0 ] 195.67: zp[1]:202 [ level_tile_directions::ytile#5 level_tile_directions::ytile#1 level_tile_directions::ytile#2 level_tile_directions::ytile#3 level_tile_directions::ytile#4 level_tile_directions::ytile#0 ] 106.4: zp[1]:211 [ level_tile_directions::xtile#5 level_tile_directions::xtile#1 level_tile_directions::xtile#2 level_tile_directions::xtile#3 level_tile_directions::xtile#4 level_tile_directions::xtile#0 ] 22: mem[1] [ level_tile_directions::return#3 ] 22: mem[1] [ level_tile_directions::return#10 ] 22: mem[1] [ level_tile_directions::return#11 ] 22: mem[1] [ level_tile_directions::return#12 ] 22: mem[1] [ level_tile_directions::return#13 ]
Uplift Scope [byteboozer_decrunch] 438.5: zp[2]:181 [ byteboozer_decrunch::crunched ]
Uplift Scope [irq_screen_top] 4: mem[1] [ irq_screen_top::$1 ] 4: mem[1] [ irq_screen_top::$2 ]
@ -15148,280 +15152,280 @@ Uplift Scope [GHOSTS_MODE]
Uplift Scope [spawn_all]
Uplift Scope [__start]
Uplifting [render_tiles] best 2567932 combination zp[1]:2 [ render_tiles::y#2 render_tiles::y#1 ] reg byte x [ render_tiles::ypos_inc_offset#2 render_tiles::ypos_inc_offset#0 render_tiles::ypos_inc_offset#1 ] reg byte a [ render_tiles::pixels#0 ] zp[2]:5 [ render_tiles::canvas2#2 render_tiles::canvas2#0 render_tiles::canvas2#1 ] zp[2]:7 [ render_tiles::canvas1#2 render_tiles::canvas1#0 render_tiles::canvas1#1 ] zp[2]:15 [ render_tiles::tile_right_pixels#0 ] zp[2]:17 [ render_tiles::tile_left_pixels#0 ] reg byte a [ render_tiles::$0 ] reg byte a [ render_tiles::$2 ] zp[1]:26 [ render_tiles::$5 ] zp[2]:27 [ render_tiles::canvas_offset#0 ] zp[1]:32 [ render_tiles::$4 ] zp[1]:35 [ render_tiles::tile_left#0 ] zp[1]:36 [ render_tiles::tile_right#0 ] zp[2]:38 [ render_tiles::render_index_xcol#0 ] zp[1]:56 [ render_tiles::xcol#0 ] zp[1]:57 [ render_tiles::ytile#0 ]
Uplifting [render_tiles] best 2567940 combination zp[1]:2 [ render_tiles::y#2 render_tiles::y#1 ] reg byte x [ render_tiles::ypos_inc_offset#2 render_tiles::ypos_inc_offset#0 render_tiles::ypos_inc_offset#1 ] reg byte a [ render_tiles::pixels#0 ] zp[2]:5 [ render_tiles::canvas2#2 render_tiles::canvas2#0 render_tiles::canvas2#1 ] zp[2]:7 [ render_tiles::canvas1#2 render_tiles::canvas1#0 render_tiles::canvas1#1 ] zp[2]:15 [ render_tiles::tile_right_pixels#0 ] zp[2]:17 [ render_tiles::tile_left_pixels#0 ] reg byte a [ render_tiles::$0 ] reg byte a [ render_tiles::$2 ] zp[1]:26 [ render_tiles::$5 ] zp[2]:27 [ render_tiles::canvas_offset#0 ] zp[1]:32 [ render_tiles::$4 ] zp[1]:35 [ render_tiles::tile_left#0 ] zp[1]:36 [ render_tiles::tile_right#0 ] zp[2]:38 [ render_tiles::render_index_xcol#0 ] zp[1]:56 [ render_tiles::xcol#0 ] zp[1]:57 [ render_tiles::ytile#0 ]
Limited combination testing to 100 combinations of 248832 possible.
Uplifting [render] best 2387925 combination reg byte y [ render::i#2 render::i#1 ] reg byte x [ render::ypos_inc_offset#2 render::ypos_inc_offset#0 render::ypos_inc_offset#1 ] zp[2]:11 [ render::canvas1#2 render::canvas1#0 render::canvas1#1 ] zp[2]:13 [ render::canvas2#2 render::canvas2#0 render::canvas2#1 ] zp[1]:19 [ render::ypix#0 ] reg byte a [ render::$2 ] zp[2]:54 [ render::canvas_offset#0 ] zp[1]:59 [ render::ytile#0 ] zp[1]:60 [ render::$1 ] zp[1]:61 [ render::xcol#2 render::xcol#0 render::xcol#1 ] zp[1]:64 [ render::ypos#2 render::ypos#0 render::ypos#1 ] zp[1]:65 [ render::pixels#4 render::pixels#0 render::pixels#1 ] zp[2]:73 [ render::render_index_xcol#0 ]
Uplifting [render] best 2387933 combination reg byte y [ render::i#2 render::i#1 ] reg byte x [ render::ypos_inc_offset#2 render::ypos_inc_offset#0 render::ypos_inc_offset#1 ] zp[2]:11 [ render::canvas1#2 render::canvas1#0 render::canvas1#1 ] zp[2]:13 [ render::canvas2#2 render::canvas2#0 render::canvas2#1 ] zp[1]:19 [ render::ypix#0 ] reg byte a [ render::$2 ] zp[2]:54 [ render::canvas_offset#0 ] zp[1]:59 [ render::ytile#0 ] zp[1]:60 [ render::$1 ] zp[1]:61 [ render::xcol#2 render::xcol#0 render::xcol#1 ] zp[1]:64 [ render::ypos#2 render::ypos#0 render::ypos#1 ] zp[1]:65 [ render::pixels#4 render::pixels#0 render::pixels#1 ] zp[2]:73 [ render::render_index_xcol#0 ]
Limited combination testing to 100 combinations of 11664 possible.
Uplifting [level_tile_get] best 2355907 combination reg byte a [ level_tile_get::return#2 level_tile_get::return#0 ] reg byte a [ level_tile_get::$5 ] zp[2]:22 [ level_tile_get::ytiles#0 ] reg byte a [ level_tile_get::ytile#4 level_tile_get::ytile#0 level_tile_get::ytile#1 level_tile_get::ytile#2 level_tile_get::ytile#3 ] reg byte x [ level_tile_get::xtile#4 level_tile_get::xtile#0 level_tile_get::xtile#1 level_tile_get::xtile#2 level_tile_get::xtile#3 ] zp[1]:44 [ level_tile_get::return#3 ] zp[1]:46 [ level_tile_get::return#4 ] zp[1]:48 [ level_tile_get::return#10 ] zp[1]:50 [ level_tile_get::return#11 ]
Uplifting [level_tile_get] best 2355915 combination reg byte a [ level_tile_get::return#2 level_tile_get::return#0 ] reg byte a [ level_tile_get::$5 ] zp[2]:22 [ level_tile_get::ytiles#0 ] reg byte a [ level_tile_get::ytile#4 level_tile_get::ytile#0 level_tile_get::ytile#1 level_tile_get::ytile#2 level_tile_get::ytile#3 ] reg byte x [ level_tile_get::xtile#4 level_tile_get::xtile#0 level_tile_get::xtile#1 level_tile_get::xtile#2 level_tile_get::xtile#3 ] zp[1]:44 [ level_tile_get::return#3 ] zp[1]:46 [ level_tile_get::return#4 ] zp[1]:48 [ level_tile_get::return#10 ] zp[1]:50 [ level_tile_get::return#11 ]
Limited combination testing to 100 combinations of 49152 possible.
Uplifting [init_level_tile_directions] best 2343907 combination zp[1]:31 [ init_level_tile_directions::open_directions#8 init_level_tile_directions::open_directions#4 init_level_tile_directions::open_directions#13 init_level_tile_directions::open_directions#3 init_level_tile_directions::open_directions#12 init_level_tile_directions::open_directions#2 init_level_tile_directions::open_directions#11 ] zp[1]:41 [ init_level_tile_directions::xtile#10 init_level_tile_directions::xtile#1 ] reg byte x [ init_level_tile_directions::$3 ] reg byte x [ init_level_tile_directions::$7 ] zp[1]:49 [ init_level_tile_directions::$11 ] zp[1]:51 [ init_level_tile_directions::$15 ] zp[1]:69 [ init_level_tile_directions::ytile#15 init_level_tile_directions::ytile#1 ] zp[2]:85 [ init_level_tile_directions::directions#7 init_level_tile_directions::directions#1 ]
Uplifting [init_level_tile_directions] best 2343915 combination zp[1]:31 [ init_level_tile_directions::open_directions#8 init_level_tile_directions::open_directions#4 init_level_tile_directions::open_directions#13 init_level_tile_directions::open_directions#3 init_level_tile_directions::open_directions#12 init_level_tile_directions::open_directions#2 init_level_tile_directions::open_directions#11 ] zp[1]:41 [ init_level_tile_directions::xtile#10 init_level_tile_directions::xtile#1 ] reg byte x [ init_level_tile_directions::$3 ] reg byte x [ init_level_tile_directions::$7 ] zp[1]:49 [ init_level_tile_directions::$11 ] zp[1]:51 [ init_level_tile_directions::$15 ] zp[1]:69 [ init_level_tile_directions::ytile#15 init_level_tile_directions::ytile#1 ] zp[2]:85 [ init_level_tile_directions::directions#7 init_level_tile_directions::directions#1 ]
Limited combination testing to 100 combinations of 6912 possible.
Uplifting [level_show] best 2327907 combination zp[2]:33 [ level_show::count#5 level_show::count#12 level_show::count#10 level_show::count#11 level_show::count#1 level_show::count#2 ] zp[1]:40 [ level_show::xcol#2 level_show::xcol#1 ] zp[1]:58 [ level_show::xtile#3 level_show::xtile#2 ] reg byte y [ level_show::xtile#1 ] zp[1]:63 [ level_show::tile_right#0 ] zp[1]:70 [ level_show::ytile#2 level_show::ytile#1 ] reg byte x [ level_show::tile_left#0 ] zp[2]:79 [ level_show::level#8 level_show::level#1 ] zp[2]:165 [ level_show::return#0 ]
Uplifting [level_show] best 2327915 combination zp[2]:33 [ level_show::count#5 level_show::count#12 level_show::count#10 level_show::count#11 level_show::count#1 level_show::count#2 ] zp[1]:40 [ level_show::xcol#2 level_show::xcol#1 ] zp[1]:58 [ level_show::xtile#3 level_show::xtile#2 ] reg byte y [ level_show::xtile#1 ] zp[1]:63 [ level_show::tile_right#0 ] zp[1]:70 [ level_show::ytile#2 level_show::ytile#1 ] reg byte x [ level_show::tile_left#0 ] zp[2]:79 [ level_show::level#8 level_show::level#1 ] zp[2]:165 [ level_show::return#0 ]
Limited combination testing to 100 combinations of 216 possible.
Uplifting [init_sprite_pointers] best 2295007 combination reg byte y [ init_sprite_pointers::sprite#2 init_sprite_pointers::sprite#1 ] reg byte a [ init_sprite_pointers::$2 ] reg byte a [ init_sprite_pointers::sprite_id#0 ] reg byte x [ init_sprite_pointers::screen#2 init_sprite_pointers::screen#1 ] zp[2]:77 [ init_sprite_pointers::sprites_ptr_2#5 init_sprite_pointers::sprites_ptr_2#1 ] zp[2]:83 [ init_sprite_pointers::sprites_ptr_1#5 init_sprite_pointers::sprites_ptr_1#1 ]
Uplifting [init_sprite_pointers] best 2295015 combination reg byte y [ init_sprite_pointers::sprite#2 init_sprite_pointers::sprite#1 ] reg byte a [ init_sprite_pointers::$2 ] reg byte a [ init_sprite_pointers::sprite_id#0 ] reg byte x [ init_sprite_pointers::screen#2 init_sprite_pointers::screen#1 ] zp[2]:77 [ init_sprite_pointers::sprites_ptr_2#5 init_sprite_pointers::sprites_ptr_2#1 ] zp[2]:83 [ init_sprite_pointers::sprites_ptr_1#5 init_sprite_pointers::sprites_ptr_1#1 ]
Limited combination testing to 100 combinations of 144 possible.
Uplifting [joyfire] best 2285097 combination reg byte a [ joyfire::$0 ] reg byte a [ joyfire::return#0 ] reg byte a [ joyfire::return#4 ] reg byte a [ joyfire::return#1 ]
Uplifting [joyfire] best 2285105 combination reg byte a [ joyfire::$0 ] reg byte a [ joyfire::return#0 ] reg byte a [ joyfire::return#4 ] reg byte a [ joyfire::return#1 ]
Limited combination testing to 100 combinations of 256 possible.
Uplifting [done_run] best 2275897 combination zp[1]:71 [ done_run::ypos#2 done_run::ypos#1 ] reg byte a [ done_run::$8 ] zp[2]:87 [ done_run::gfx#4 done_run::gfx#2 done_run::gfx#1 ] reg byte x [ done_run::pixels#0 ] reg byte x [ done_run::i#2 done_run::i#1 ] zp[1]:99 [ done_run::i1#2 done_run::i1#1 ] zp[1]:100 [ done_run::xcol#2 done_run::xcol#1 ]
Uplifting [done_run] best 2275905 combination zp[1]:71 [ done_run::ypos#2 done_run::ypos#1 ] reg byte a [ done_run::$8 ] zp[2]:87 [ done_run::gfx#4 done_run::gfx#2 done_run::gfx#1 ] reg byte x [ done_run::pixels#0 ] reg byte x [ done_run::i#2 done_run::i#1 ] zp[1]:99 [ done_run::i1#2 done_run::i1#1 ] zp[1]:100 [ done_run::xcol#2 done_run::xcol#1 ]
Limited combination testing to 100 combinations of 576 possible.
Uplifting [merge_code] best 2273407 combination zp[2]:66 [ merge_code::logic_code#10 merge_code::logic_code#1 merge_code::logic_code#0 ] zp[2]:75 [ merge_code::dest_code#21 merge_code::dest_code#12 merge_code::dest_code#13 merge_code::dest_code#14 merge_code::dest_code#10 merge_code::dest_code#0 merge_code::dest_code#6 merge_code::dest_code#15 merge_code::dest_code#3 merge_code::dest_code#4 merge_code::dest_code#1 ] reg byte x [ merge_code::cycle_budget#10 merge_code::cycle_budget#2 merge_code::cycle_budget#3 merge_code::cycle_budget#13 merge_code::cycle_budget#0 merge_code::cycle_budget#1 ] zp[2]:97 [ merge_code::logic_code#14 merge_code::logic_code#3 merge_code::logic_code#4 ] zp[2]:112 [ merge_code::logic_code#12 merge_code::logic_code#5 merge_code::logic_code#18 merge_code::logic_code#17 merge_code::logic_code#2 ] zp[2]:116 [ merge_code::dest_code#2 ] reg byte y [ merge_code::$5 ] zp[2]:124 [ merge_code::raster_code#4 merge_code::raster_code#2 merge_code::raster_code#0 ] zp[1]:127 [ merge_code::logic_cycles#0 ] zp[2]:142 [ merge_code::raster_code#1 ]
Uplifting [init_render_index] best 2270707 combination reg byte x [ init_render_index::ypos_inc_offset#4 init_render_index::ypos_inc_offset#7 init_render_index::ypos_inc_offset#8 init_render_index::ypos_inc_offset#2 init_render_index::ypos_inc_offset#3 ] zp[1]:103 [ init_render_index::y_pos#2 init_render_index::y_pos#1 ] zp[2]:104 [ init_render_index::$11 ] zp[2]:106 [ init_render_index::$10 ] zp[2]:108 [ init_render_index::$12 ] reg byte a [ init_render_index::$5 ] reg byte a [ init_render_index::$6 ] zp[2]:114 [ init_render_index::render_index_xcol#2 init_render_index::render_index_xcol#7 init_render_index::render_index_xcol#1 ] zp[2]:121 [ init_render_index::canvas#0 ] zp[1]:136 [ init_render_index::x_col#2 init_render_index::x_col#1 ] reg byte a [ init_render_index::$9 ] zp[2]:144 [ init_render_index::render_index_xcol#0 init_render_index::render_index#1 ] zp[2]:154 [ init_render_index::canvas_xcol#0 ] zp[2]:156 [ init_render_index::render_ypos_table#4 ]
Uplifting [merge_code] best 2273415 combination zp[2]:66 [ merge_code::logic_code#10 merge_code::logic_code#1 merge_code::logic_code#0 ] zp[2]:75 [ merge_code::dest_code#21 merge_code::dest_code#12 merge_code::dest_code#13 merge_code::dest_code#14 merge_code::dest_code#10 merge_code::dest_code#0 merge_code::dest_code#6 merge_code::dest_code#15 merge_code::dest_code#3 merge_code::dest_code#4 merge_code::dest_code#1 ] reg byte x [ merge_code::cycle_budget#10 merge_code::cycle_budget#2 merge_code::cycle_budget#3 merge_code::cycle_budget#13 merge_code::cycle_budget#0 merge_code::cycle_budget#1 ] zp[2]:97 [ merge_code::logic_code#14 merge_code::logic_code#3 merge_code::logic_code#4 ] zp[2]:112 [ merge_code::logic_code#12 merge_code::logic_code#5 merge_code::logic_code#18 merge_code::logic_code#17 merge_code::logic_code#2 ] zp[2]:116 [ merge_code::dest_code#2 ] reg byte y [ merge_code::$5 ] zp[2]:124 [ merge_code::raster_code#4 merge_code::raster_code#2 merge_code::raster_code#0 ] zp[1]:127 [ merge_code::logic_cycles#0 ] zp[2]:142 [ merge_code::raster_code#1 ]
Uplifting [init_render_index] best 2270715 combination reg byte x [ init_render_index::ypos_inc_offset#4 init_render_index::ypos_inc_offset#7 init_render_index::ypos_inc_offset#8 init_render_index::ypos_inc_offset#2 init_render_index::ypos_inc_offset#3 ] zp[1]:103 [ init_render_index::y_pos#2 init_render_index::y_pos#1 ] zp[2]:104 [ init_render_index::$11 ] zp[2]:106 [ init_render_index::$10 ] zp[2]:108 [ init_render_index::$12 ] reg byte a [ init_render_index::$5 ] reg byte a [ init_render_index::$6 ] zp[2]:114 [ init_render_index::render_index_xcol#2 init_render_index::render_index_xcol#7 init_render_index::render_index_xcol#1 ] zp[2]:121 [ init_render_index::canvas#0 ] zp[1]:136 [ init_render_index::x_col#2 init_render_index::x_col#1 ] reg byte a [ init_render_index::$9 ] zp[2]:144 [ init_render_index::render_index_xcol#0 init_render_index::render_index#1 ] zp[2]:154 [ init_render_index::canvas_xcol#0 ] zp[2]:156 [ init_render_index::render_ypos_table#4 ]
Limited combination testing to 100 combinations of 128 possible.
Uplifting [gameplay_run] best 2267107 combination reg byte x [ gameplay_run::i#2 gameplay_run::i#1 ] reg byte x [ gameplay_run::i1#2 gameplay_run::i1#1 ] reg byte x [ gameplay_run::i2#2 gameplay_run::i2#1 ] zp[2]:167 [ gameplay_run::$4 ]
Uplifting [splash_show] best 2266707 combination zp[1]:102 [ splash_show::ypos#2 splash_show::ypos#1 ] zp[2]:118 [ splash_show::splash#4 splash_show::splash#2 splash_show::splash#1 ] reg byte x [ splash_show::pixels#0 ] zp[1]:130 [ splash_show::xcol#2 splash_show::xcol#1 ]
Uplifting [init_bobs_restore] best 2265417 combination reg byte y [ init_bobs_restore::i#2 init_bobs_restore::i#1 ] zp[2]:133 [ init_bobs_restore::bob_restore#5 init_bobs_restore::bob_restore#1 ] reg byte x [ init_bobs_restore::bob#2 init_bobs_restore::bob#1 ]
Uplifting [] best 2265417 combination zp[1]:123 [ music_play_next ] zp[1]:146 [ side_sprites_color ] zp[1]:147 [ side_sprites_mc ] zp[1]:148 [ bottom_sprites_color ] zp[1]:149 [ bottom_sprites_mc ] zp[2]:150 [ logic_tile_ptr ] zp[1]:152 [ logic_tile_xcol ] zp[1]:153 [ logic_tile_yfine ] zp[1]:159 [ top_sprites_color ] zp[1]:163 [ pacman_wins ] zp[1]:172 [ canvas_base_hi ] zp[1]:173 [ bobs_restore_base ] zp[1]:180 [ pacman_lives ] zp[1]:183 [ ghost1_respawn ] zp[1]:184 [ ghost2_respawn ] zp[1]:185 [ ghost3_respawn ] zp[1]:186 [ ghost4_respawn ] zp[1]:187 [ ghosts_mode_count ] zp[1]:188 [ pacman_substep ] zp[1]:190 [ ghost1_substep ] zp[1]:191 [ ghost2_substep ] zp[1]:192 [ ghost3_substep ] zp[1]:193 [ ghost4_substep ] zp[1]:208 [ pacman_direction ] zp[1]:209 [ ghost1_direction ] zp[1]:210 [ ghost2_direction ] zp[1]:213 [ ghost3_direction ] zp[1]:214 [ ghost4_direction ] zp[1]:215 [ top_sprites_mc ] zp[1]:216 [ ghost1_xfine ] zp[1]:217 [ ghost1_yfine ] zp[1]:218 [ phase ] zp[1]:219 [ ghost2_xfine ] zp[1]:220 [ ghost2_yfine ] zp[1]:221 [ ghost3_xfine ] zp[1]:222 [ game_playable ] zp[1]:223 [ ghost3_yfine ] zp[1]:224 [ ghost4_xfine ] zp[1]:225 [ ghost4_yfine ] zp[1]:226 [ pacman_xfine ] zp[1]:227 [ pacman_yfine ] mem[1] [ logic_tile_left_idx ] mem[1] [ logic_tile_right_idx ] mem[2] [ left_render_index_xcol ] mem[2] [ left_canvas ] mem[1] [ left_ypos_inc_offset ] mem[2] [ rigt_render_index_xcol ] mem[2] [ rigt_canvas ] mem[1] [ rigt_ypos_inc_offset ] mem[2] [ pill_count ] mem[1] [ game_logic_substep ] mem[1] [ pacman_ch1_idx ] mem[1] [ ghosts_mode ] mem[1] [ anim_frame_idx ] mem[1] [ ghost1_reverse ] mem[1] [ ghost2_reverse ] mem[1] [ ghost3_reverse ] mem[1] [ ghost4_reverse ] mem[1] [ frame ] mem[1] [ pacman_ch1_enabled ]
Uplifting [memcpy] best 2265417 combination zp[2]:131 [ memcpy::src#2 memcpy::src#1 ] zp[2]:137 [ memcpy::dst#2 memcpy::dst#1 ]
Uplifting [memset] best 2265417 combination zp[2]:128 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:169 [ memset::end#0 ] zp[2]:174 [ memset::num#5 ] mem[2] [ memset::str#6 ]
Uplifting [splash_run] best 2264674 combination reg byte a [ splash_run::$30 ] reg byte x [ splash_run::msb#10 splash_run::msb#8 splash_run::msb#1 splash_run::msb#2 ] reg byte x [ splash_run::i1#2 splash_run::i1#1 ] reg byte x [ splash_run::i2#2 splash_run::i2#1 ] zp[1]:162 [ splash_run::i#2 splash_run::i#1 ] zp[1]:164 [ splash_run::$25 ] zp[1]:171 [ splash_run::$34 ] zp[2]:177 [ splash_run::xpos#0 ]
Uplifting [gameplay_run] best 2267115 combination reg byte x [ gameplay_run::i#2 gameplay_run::i#1 ] reg byte x [ gameplay_run::i1#2 gameplay_run::i1#1 ] reg byte x [ gameplay_run::i2#2 gameplay_run::i2#1 ] zp[2]:167 [ gameplay_run::$4 ]
Uplifting [splash_show] best 2266715 combination zp[1]:102 [ splash_show::ypos#2 splash_show::ypos#1 ] zp[2]:118 [ splash_show::splash#4 splash_show::splash#2 splash_show::splash#1 ] reg byte x [ splash_show::pixels#0 ] zp[1]:130 [ splash_show::xcol#2 splash_show::xcol#1 ]
Uplifting [init_bobs_restore] best 2265425 combination reg byte y [ init_bobs_restore::i#2 init_bobs_restore::i#1 ] zp[2]:133 [ init_bobs_restore::bob_restore#5 init_bobs_restore::bob_restore#1 ] reg byte x [ init_bobs_restore::bob#2 init_bobs_restore::bob#1 ]
Uplifting [] best 2265425 combination zp[1]:123 [ music_play_next ] zp[1]:146 [ side_sprites_color ] zp[1]:147 [ side_sprites_mc ] zp[1]:148 [ bottom_sprites_color ] zp[1]:149 [ bottom_sprites_mc ] zp[2]:150 [ logic_tile_ptr ] zp[1]:152 [ logic_tile_xcol ] zp[1]:153 [ logic_tile_yfine ] zp[1]:159 [ top_sprites_color ] zp[1]:163 [ pacman_wins ] zp[1]:172 [ canvas_base_hi ] zp[1]:173 [ bobs_restore_base ] zp[1]:180 [ pacman_lives ] zp[1]:183 [ ghost1_respawn ] zp[1]:184 [ ghost2_respawn ] zp[1]:185 [ ghost3_respawn ] zp[1]:186 [ ghost4_respawn ] zp[1]:187 [ ghosts_mode_count ] zp[1]:188 [ pacman_substep ] zp[1]:190 [ ghost1_substep ] zp[1]:191 [ ghost2_substep ] zp[1]:192 [ ghost3_substep ] zp[1]:193 [ ghost4_substep ] zp[1]:208 [ pacman_direction ] zp[1]:209 [ ghost1_direction ] zp[1]:210 [ ghost2_direction ] zp[1]:213 [ ghost3_direction ] zp[1]:214 [ ghost4_direction ] zp[1]:215 [ top_sprites_mc ] zp[1]:216 [ ghost1_xfine ] zp[1]:217 [ ghost1_yfine ] zp[1]:218 [ phase ] zp[1]:219 [ ghost2_xfine ] zp[1]:220 [ ghost2_yfine ] zp[1]:221 [ ghost3_xfine ] zp[1]:222 [ game_playable ] zp[1]:223 [ ghost3_yfine ] zp[1]:224 [ ghost4_xfine ] zp[1]:225 [ ghost4_yfine ] zp[1]:226 [ pacman_xfine ] zp[1]:227 [ pacman_yfine ] mem[1] [ logic_tile_left_idx ] mem[1] [ logic_tile_right_idx ] mem[2] [ left_render_index_xcol ] mem[2] [ left_canvas ] mem[1] [ left_ypos_inc_offset ] mem[2] [ rigt_render_index_xcol ] mem[2] [ rigt_canvas ] mem[1] [ rigt_ypos_inc_offset ] mem[2] [ pill_count ] mem[1] [ game_logic_substep ] mem[1] [ pacman_ch1_idx ] mem[1] [ ghosts_mode ] mem[1] [ anim_frame_idx ] mem[1] [ ghost1_reverse ] mem[1] [ ghost2_reverse ] mem[1] [ ghost3_reverse ] mem[1] [ ghost4_reverse ] mem[1] [ frame ] mem[1] [ pacman_ch1_enabled ]
Uplifting [memcpy] best 2265425 combination zp[2]:131 [ memcpy::src#2 memcpy::src#1 ] zp[2]:137 [ memcpy::dst#2 memcpy::dst#1 ]
Uplifting [memset] best 2265425 combination zp[2]:128 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:169 [ memset::end#0 ] zp[2]:174 [ memset::num#5 ] mem[2] [ memset::str#6 ]
Uplifting [splash_run] best 2264682 combination reg byte a [ splash_run::$30 ] reg byte x [ splash_run::msb#10 splash_run::msb#8 splash_run::msb#1 splash_run::msb#2 ] reg byte x [ splash_run::i1#2 splash_run::i1#1 ] reg byte x [ splash_run::i2#2 splash_run::i2#1 ] zp[1]:162 [ splash_run::i#2 splash_run::i#1 ] zp[1]:164 [ splash_run::$25 ] zp[1]:171 [ splash_run::$34 ] zp[2]:177 [ splash_run::xpos#0 ]
Limited combination testing to 100 combinations of 3888 possible.
Uplifting [choose_direction] best 2264653 combination reg byte x [ choose_direction::dist_min#10 choose_direction::dist_min#13 choose_direction::dist_min#14 choose_direction::dist_down#0 ] zp[1]:179 [ choose_direction::dist_min#11 choose_direction::dist_left#0 choose_direction::dist_min#17 choose_direction::dist_min#18 ] reg byte a [ choose_direction::$2 ] reg byte a [ choose_direction::$4 ] zp[1]:199 [ choose_direction::$6 ] zp[1]:200 [ choose_direction::$8 ] zp[1]:201 [ choose_direction::dist_right#0 ] zp[1]:203 [ choose_direction::return#10 choose_direction::direction#6 choose_direction::direction#8 choose_direction::direction#10 ] zp[1]:204 [ choose_direction::target_xtile#4 choose_direction::target_xtile#2 choose_direction::target_xtile#3 choose_direction::target_xtile#0 choose_direction::target_xtile#1 ] zp[1]:205 [ choose_direction::dist_min#6 choose_direction::dist_up#0 ] zp[1]:206 [ choose_direction::ghost_xtile#4 choose_direction::ghost_xtile#2 choose_direction::ghost_xtile#3 choose_direction::ghost_xtile#0 choose_direction::ghost_xtile#1 ] zp[1]:207 [ choose_direction::target_ytile#4 choose_direction::target_ytile#2 choose_direction::target_ytile#3 choose_direction::target_ytile#0 choose_direction::target_ytile#1 ] zp[1]:212 [ choose_direction::ghost_ytile#4 choose_direction::ghost_ytile#2 choose_direction::ghost_ytile#3 choose_direction::ghost_ytile#0 choose_direction::ghost_ytile#1 ] zp[1]:229 [ choose_direction::open_directions#10 choose_direction::open_directions#2 choose_direction::open_directions#3 choose_direction::open_directions#0 choose_direction::open_directions#1 ] mem[1] [ choose_direction::return#0 ] mem[1] [ choose_direction::return#1 ] mem[1] [ choose_direction::return#2 ] mem[1] [ choose_direction::return#3 ] mem[1] [ choose_direction::ydiff#0 ] mem[1] [ choose_direction::xdiff#0 ]
Uplifting [choose_direction] best 2264661 combination reg byte x [ choose_direction::dist_min#10 choose_direction::dist_min#13 choose_direction::dist_min#14 choose_direction::dist_down#0 ] zp[1]:179 [ choose_direction::dist_min#11 choose_direction::dist_left#0 choose_direction::dist_min#17 choose_direction::dist_min#18 ] reg byte a [ choose_direction::$2 ] reg byte a [ choose_direction::$4 ] zp[1]:199 [ choose_direction::$6 ] zp[1]:200 [ choose_direction::$8 ] zp[1]:201 [ choose_direction::dist_right#0 ] zp[1]:203 [ choose_direction::return#10 choose_direction::direction#6 choose_direction::direction#8 choose_direction::direction#10 ] zp[1]:204 [ choose_direction::target_xtile#4 choose_direction::target_xtile#2 choose_direction::target_xtile#3 choose_direction::target_xtile#0 choose_direction::target_xtile#1 ] zp[1]:205 [ choose_direction::dist_min#6 choose_direction::dist_up#0 ] zp[1]:206 [ choose_direction::ghost_xtile#4 choose_direction::ghost_xtile#2 choose_direction::ghost_xtile#3 choose_direction::ghost_xtile#0 choose_direction::ghost_xtile#1 ] zp[1]:207 [ choose_direction::target_ytile#4 choose_direction::target_ytile#2 choose_direction::target_ytile#3 choose_direction::target_ytile#0 choose_direction::target_ytile#1 ] zp[1]:212 [ choose_direction::ghost_ytile#4 choose_direction::ghost_ytile#2 choose_direction::ghost_ytile#3 choose_direction::ghost_ytile#0 choose_direction::ghost_ytile#1 ] zp[1]:229 [ choose_direction::open_directions#10 choose_direction::open_directions#2 choose_direction::open_directions#3 choose_direction::open_directions#0 choose_direction::open_directions#1 ] mem[1] [ choose_direction::return#0 ] mem[1] [ choose_direction::return#1 ] mem[1] [ choose_direction::return#2 ] mem[1] [ choose_direction::return#3 ] mem[1] [ choose_direction::ydiff#0 ] mem[1] [ choose_direction::xdiff#0 ]
Limited combination testing to 100 combinations of 952107008 possible.
Uplifting [level_tile_directions] best 2264590 combination reg byte a [ level_tile_directions::return#2 level_tile_directions::return#0 ] reg byte a [ level_tile_directions::$5 ] zp[2]:195 [ level_tile_directions::ytiles#0 ] reg byte a [ level_tile_directions::ytile#5 level_tile_directions::ytile#1 level_tile_directions::ytile#2 level_tile_directions::ytile#3 level_tile_directions::ytile#4 level_tile_directions::ytile#0 ] reg byte x [ level_tile_directions::xtile#5 level_tile_directions::xtile#1 level_tile_directions::xtile#2 level_tile_directions::xtile#3 level_tile_directions::xtile#4 level_tile_directions::xtile#0 ] mem[1] [ level_tile_directions::return#3 ] mem[1] [ level_tile_directions::return#10 ] mem[1] [ level_tile_directions::return#11 ] mem[1] [ level_tile_directions::return#12 ] mem[1] [ level_tile_directions::return#13 ]
Uplifting [level_tile_directions] best 2264598 combination reg byte a [ level_tile_directions::return#2 level_tile_directions::return#0 ] reg byte a [ level_tile_directions::$5 ] zp[2]:195 [ level_tile_directions::ytiles#0 ] reg byte a [ level_tile_directions::ytile#5 level_tile_directions::ytile#1 level_tile_directions::ytile#2 level_tile_directions::ytile#3 level_tile_directions::ytile#4 level_tile_directions::ytile#0 ] reg byte x [ level_tile_directions::xtile#5 level_tile_directions::xtile#1 level_tile_directions::xtile#2 level_tile_directions::xtile#3 level_tile_directions::xtile#4 level_tile_directions::xtile#0 ] mem[1] [ level_tile_directions::return#3 ] mem[1] [ level_tile_directions::return#10 ] mem[1] [ level_tile_directions::return#11 ] mem[1] [ level_tile_directions::return#12 ] mem[1] [ level_tile_directions::return#13 ]
Limited combination testing to 100 combinations of 196608 possible.
Uplifting [byteboozer_decrunch] best 2264590 combination zp[2]:181 [ byteboozer_decrunch::crunched ]
Uplifting [irq_screen_top] best 2264576 combination reg byte a [ irq_screen_top::$1 ] reg byte a [ irq_screen_top::$2 ]
Uplifting [MOS6526_CIA] best 2264576 combination
Uplifting [MOS6569_VICII] best 2264576 combination
Uplifting [MOS6581_SID] best 2264576 combination
Uplifting [pacman_sound_init] best 2264576 combination
Uplifting [pacman_sound_play] best 2264576 combination
Uplifting [TILE_TYPE] best 2264576 combination
Uplifting [main] best 2264576 combination
Uplifting [joyinit] best 2264576 combination
Uplifting [DIRECTION] best 2264576 combination
Uplifting [GHOSTS_MODE] best 2264576 combination
Uplifting [spawn_all] best 2264576 combination
Uplifting [__start] best 2264576 combination
Uplifting [byteboozer_decrunch] best 2264598 combination zp[2]:181 [ byteboozer_decrunch::crunched ]
Uplifting [irq_screen_top] best 2264584 combination reg byte a [ irq_screen_top::$1 ] reg byte a [ irq_screen_top::$2 ]
Uplifting [MOS6526_CIA] best 2264584 combination
Uplifting [MOS6569_VICII] best 2264584 combination
Uplifting [MOS6581_SID] best 2264584 combination
Uplifting [pacman_sound_init] best 2264584 combination
Uplifting [pacman_sound_play] best 2264584 combination
Uplifting [TILE_TYPE] best 2264584 combination
Uplifting [main] best 2264584 combination
Uplifting [joyinit] best 2264584 combination
Uplifting [DIRECTION] best 2264584 combination
Uplifting [GHOSTS_MODE] best 2264584 combination
Uplifting [spawn_all] best 2264584 combination
Uplifting [__start] best 2264584 combination
Attempting to uplift remaining variables inzp[1]:2 [ render_tiles::y#2 render_tiles::y#1 ]
Uplifting [render_tiles] best 2264576 combination zp[1]:2 [ render_tiles::y#2 render_tiles::y#1 ]
Uplifting [render_tiles] best 2264584 combination zp[1]:2 [ render_tiles::y#2 render_tiles::y#1 ]
Attempting to uplift remaining variables inzp[1]:19 [ render::ypix#0 ]
Uplifting [render] best 2264576 combination zp[1]:19 [ render::ypix#0 ]
Uplifting [render] best 2264584 combination zp[1]:19 [ render::ypix#0 ]
Attempting to uplift remaining variables inzp[1]:26 [ render_tiles::$5 ]
Uplifting [render_tiles] best 2264570 combination reg byte a [ render_tiles::$5 ]
Uplifting [render_tiles] best 2264578 combination reg byte a [ render_tiles::$5 ]
Attempting to uplift remaining variables inzp[1]:31 [ init_level_tile_directions::open_directions#8 init_level_tile_directions::open_directions#4 init_level_tile_directions::open_directions#13 init_level_tile_directions::open_directions#3 init_level_tile_directions::open_directions#12 init_level_tile_directions::open_directions#2 init_level_tile_directions::open_directions#11 ]
Uplifting [init_level_tile_directions] best 2264570 combination zp[1]:31 [ init_level_tile_directions::open_directions#8 init_level_tile_directions::open_directions#4 init_level_tile_directions::open_directions#13 init_level_tile_directions::open_directions#3 init_level_tile_directions::open_directions#12 init_level_tile_directions::open_directions#2 init_level_tile_directions::open_directions#11 ]
Uplifting [init_level_tile_directions] best 2264578 combination zp[1]:31 [ init_level_tile_directions::open_directions#8 init_level_tile_directions::open_directions#4 init_level_tile_directions::open_directions#13 init_level_tile_directions::open_directions#3 init_level_tile_directions::open_directions#12 init_level_tile_directions::open_directions#2 init_level_tile_directions::open_directions#11 ]
Attempting to uplift remaining variables inzp[1]:32 [ render_tiles::$4 ]
Uplifting [render_tiles] best 2264564 combination reg byte x [ render_tiles::$4 ]
Uplifting [render_tiles] best 2264572 combination reg byte x [ render_tiles::$4 ]
Attempting to uplift remaining variables inzp[1]:35 [ render_tiles::tile_left#0 ]
Uplifting [render_tiles] best 2261563 combination reg byte x [ render_tiles::tile_left#0 ]
Uplifting [render_tiles] best 2261571 combination reg byte x [ render_tiles::tile_left#0 ]
Attempting to uplift remaining variables inzp[1]:36 [ render_tiles::tile_right#0 ]
Uplifting [render_tiles] best 2258562 combination reg byte y [ render_tiles::tile_right#0 ]
Uplifting [render_tiles] best 2258570 combination reg byte y [ render_tiles::tile_right#0 ]
Attempting to uplift remaining variables inzp[1]:40 [ level_show::xcol#2 level_show::xcol#1 ]
Uplifting [level_show] best 2258562 combination zp[1]:40 [ level_show::xcol#2 level_show::xcol#1 ]
Uplifting [level_show] best 2258570 combination zp[1]:40 [ level_show::xcol#2 level_show::xcol#1 ]
Attempting to uplift remaining variables inzp[1]:41 [ init_level_tile_directions::xtile#10 init_level_tile_directions::xtile#1 ]
Uplifting [init_level_tile_directions] best 2258562 combination zp[1]:41 [ init_level_tile_directions::xtile#10 init_level_tile_directions::xtile#1 ]
Uplifting [init_level_tile_directions] best 2258570 combination zp[1]:41 [ init_level_tile_directions::xtile#10 init_level_tile_directions::xtile#1 ]
Attempting to uplift remaining variables inzp[1]:44 [ level_tile_get::return#3 ]
Uplifting [level_tile_get] best 2254562 combination reg byte a [ level_tile_get::return#3 ]
Uplifting [level_tile_get] best 2254570 combination reg byte a [ level_tile_get::return#3 ]
Attempting to uplift remaining variables inzp[1]:46 [ level_tile_get::return#4 ]
Uplifting [level_tile_get] best 2250562 combination reg byte a [ level_tile_get::return#4 ]
Uplifting [level_tile_get] best 2250570 combination reg byte a [ level_tile_get::return#4 ]
Attempting to uplift remaining variables inzp[1]:48 [ level_tile_get::return#10 ]
Uplifting [level_tile_get] best 2244562 combination reg byte a [ level_tile_get::return#10 ]
Uplifting [level_tile_get] best 2244570 combination reg byte a [ level_tile_get::return#10 ]
Attempting to uplift remaining variables inzp[1]:49 [ init_level_tile_directions::$11 ]
Uplifting [init_level_tile_directions] best 2240562 combination reg byte a [ init_level_tile_directions::$11 ]
Uplifting [init_level_tile_directions] best 2240570 combination reg byte a [ init_level_tile_directions::$11 ]
Attempting to uplift remaining variables inzp[1]:50 [ level_tile_get::return#11 ]
Uplifting [level_tile_get] best 2234562 combination reg byte a [ level_tile_get::return#11 ]
Uplifting [level_tile_get] best 2234570 combination reg byte a [ level_tile_get::return#11 ]
Attempting to uplift remaining variables inzp[1]:51 [ init_level_tile_directions::$15 ]
Uplifting [init_level_tile_directions] best 2230562 combination reg byte a [ init_level_tile_directions::$15 ]
Uplifting [init_level_tile_directions] best 2230570 combination reg byte a [ init_level_tile_directions::$15 ]
Attempting to uplift remaining variables inzp[1]:56 [ render_tiles::xcol#0 ]
Uplifting [render_tiles] best 2230562 combination zp[1]:56 [ render_tiles::xcol#0 ]
Uplifting [render_tiles] best 2230570 combination zp[1]:56 [ render_tiles::xcol#0 ]
Attempting to uplift remaining variables inzp[1]:57 [ render_tiles::ytile#0 ]
Uplifting [render_tiles] best 2230562 combination zp[1]:57 [ render_tiles::ytile#0 ]
Uplifting [render_tiles] best 2230570 combination zp[1]:57 [ render_tiles::ytile#0 ]
Attempting to uplift remaining variables inzp[1]:58 [ level_show::xtile#3 level_show::xtile#2 ]
Uplifting [level_show] best 2230562 combination zp[1]:58 [ level_show::xtile#3 level_show::xtile#2 ]
Uplifting [level_show] best 2230570 combination zp[1]:58 [ level_show::xtile#3 level_show::xtile#2 ]
Attempting to uplift remaining variables inzp[1]:59 [ render::ytile#0 ]
Uplifting [render] best 2230560 combination reg byte y [ render::ytile#0 ]
Uplifting [render] best 2230568 combination reg byte y [ render::ytile#0 ]
Attempting to uplift remaining variables inzp[1]:60 [ render::$1 ]
Uplifting [render] best 2230554 combination reg byte x [ render::$1 ]
Uplifting [render] best 2230562 combination reg byte x [ render::$1 ]
Attempting to uplift remaining variables inzp[1]:61 [ render::xcol#2 render::xcol#0 render::xcol#1 ]
Uplifting [render] best 2230554 combination zp[1]:61 [ render::xcol#2 render::xcol#0 render::xcol#1 ]
Uplifting [render] best 2230562 combination zp[1]:61 [ render::xcol#2 render::xcol#0 render::xcol#1 ]
Attempting to uplift remaining variables inzp[1]:63 [ level_show::tile_right#0 ]
Uplifting [level_show] best 2230554 combination zp[1]:63 [ level_show::tile_right#0 ]
Uplifting [level_show] best 2230562 combination zp[1]:63 [ level_show::tile_right#0 ]
Attempting to uplift remaining variables inzp[1]:64 [ render::ypos#2 render::ypos#0 render::ypos#1 ]
Uplifting [render] best 2230554 combination zp[1]:64 [ render::ypos#2 render::ypos#0 render::ypos#1 ]
Uplifting [render] best 2230562 combination zp[1]:64 [ render::ypos#2 render::ypos#0 render::ypos#1 ]
Attempting to uplift remaining variables inzp[1]:65 [ render::pixels#4 render::pixels#0 render::pixels#1 ]
Uplifting [render] best 2230554 combination zp[1]:65 [ render::pixels#4 render::pixels#0 render::pixels#1 ]
Uplifting [render] best 2230562 combination zp[1]:65 [ render::pixels#4 render::pixels#0 render::pixels#1 ]
Attempting to uplift remaining variables inzp[1]:69 [ init_level_tile_directions::ytile#15 init_level_tile_directions::ytile#1 ]
Uplifting [init_level_tile_directions] best 2230554 combination zp[1]:69 [ init_level_tile_directions::ytile#15 init_level_tile_directions::ytile#1 ]
Uplifting [init_level_tile_directions] best 2230562 combination zp[1]:69 [ init_level_tile_directions::ytile#15 init_level_tile_directions::ytile#1 ]
Attempting to uplift remaining variables inzp[1]:70 [ level_show::ytile#2 level_show::ytile#1 ]
Uplifting [level_show] best 2230554 combination zp[1]:70 [ level_show::ytile#2 level_show::ytile#1 ]
Uplifting [level_show] best 2230562 combination zp[1]:70 [ level_show::ytile#2 level_show::ytile#1 ]
Attempting to uplift remaining variables inzp[1]:71 [ done_run::ypos#2 done_run::ypos#1 ]
Uplifting [done_run] best 2230554 combination zp[1]:71 [ done_run::ypos#2 done_run::ypos#1 ]
Uplifting [done_run] best 2230562 combination zp[1]:71 [ done_run::ypos#2 done_run::ypos#1 ]
Attempting to uplift remaining variables inzp[1]:99 [ done_run::i1#2 done_run::i1#1 ]
Uplifting [done_run] best 2228754 combination reg byte x [ done_run::i1#2 done_run::i1#1 ]
Uplifting [done_run] best 2228762 combination reg byte x [ done_run::i1#2 done_run::i1#1 ]
Attempting to uplift remaining variables inzp[1]:100 [ done_run::xcol#2 done_run::xcol#1 ]
Uplifting [done_run] best 2228754 combination zp[1]:100 [ done_run::xcol#2 done_run::xcol#1 ]
Uplifting [done_run] best 2228762 combination zp[1]:100 [ done_run::xcol#2 done_run::xcol#1 ]
Attempting to uplift remaining variables inzp[1]:102 [ splash_show::ypos#2 splash_show::ypos#1 ]
Uplifting [splash_show] best 2228754 combination zp[1]:102 [ splash_show::ypos#2 splash_show::ypos#1 ]
Uplifting [splash_show] best 2228762 combination zp[1]:102 [ splash_show::ypos#2 splash_show::ypos#1 ]
Attempting to uplift remaining variables inzp[1]:103 [ init_render_index::y_pos#2 init_render_index::y_pos#1 ]
Uplifting [init_render_index] best 2228754 combination zp[1]:103 [ init_render_index::y_pos#2 init_render_index::y_pos#1 ]
Uplifting [init_render_index] best 2228762 combination zp[1]:103 [ init_render_index::y_pos#2 init_render_index::y_pos#1 ]
Attempting to uplift remaining variables inzp[1]:123 [ music_play_next ]
Uplifting [] best 2228754 combination zp[1]:123 [ music_play_next ]
Uplifting [] best 2228762 combination zp[1]:123 [ music_play_next ]
Attempting to uplift remaining variables inzp[1]:127 [ merge_code::logic_cycles#0 ]
Uplifting [merge_code] best 2228754 combination zp[1]:127 [ merge_code::logic_cycles#0 ]
Uplifting [merge_code] best 2228762 combination zp[1]:127 [ merge_code::logic_cycles#0 ]
Attempting to uplift remaining variables inzp[1]:130 [ splash_show::xcol#2 splash_show::xcol#1 ]
Uplifting [splash_show] best 2228754 combination zp[1]:130 [ splash_show::xcol#2 splash_show::xcol#1 ]
Uplifting [splash_show] best 2228762 combination zp[1]:130 [ splash_show::xcol#2 splash_show::xcol#1 ]
Attempting to uplift remaining variables inzp[1]:136 [ init_render_index::x_col#2 init_render_index::x_col#1 ]
Uplifting [init_render_index] best 2228754 combination zp[1]:136 [ init_render_index::x_col#2 init_render_index::x_col#1 ]
Uplifting [init_render_index] best 2228762 combination zp[1]:136 [ init_render_index::x_col#2 init_render_index::x_col#1 ]
Attempting to uplift remaining variables inzp[1]:146 [ side_sprites_color ]
Uplifting [] best 2228754 combination zp[1]:146 [ side_sprites_color ]
Uplifting [] best 2228762 combination zp[1]:146 [ side_sprites_color ]
Attempting to uplift remaining variables inzp[1]:147 [ side_sprites_mc ]
Uplifting [] best 2228754 combination zp[1]:147 [ side_sprites_mc ]
Uplifting [] best 2228762 combination zp[1]:147 [ side_sprites_mc ]
Attempting to uplift remaining variables inzp[1]:148 [ bottom_sprites_color ]
Uplifting [] best 2228754 combination zp[1]:148 [ bottom_sprites_color ]
Uplifting [] best 2228762 combination zp[1]:148 [ bottom_sprites_color ]
Attempting to uplift remaining variables inzp[1]:149 [ bottom_sprites_mc ]
Uplifting [] best 2228754 combination zp[1]:149 [ bottom_sprites_mc ]
Uplifting [] best 2228762 combination zp[1]:149 [ bottom_sprites_mc ]
Attempting to uplift remaining variables inzp[1]:152 [ logic_tile_xcol ]
Uplifting [] best 2228754 combination zp[1]:152 [ logic_tile_xcol ]
Uplifting [] best 2228762 combination zp[1]:152 [ logic_tile_xcol ]
Attempting to uplift remaining variables inzp[1]:153 [ logic_tile_yfine ]
Uplifting [] best 2228754 combination zp[1]:153 [ logic_tile_yfine ]
Uplifting [] best 2228762 combination zp[1]:153 [ logic_tile_yfine ]
Attempting to uplift remaining variables inzp[1]:159 [ top_sprites_color ]
Uplifting [] best 2228754 combination zp[1]:159 [ top_sprites_color ]
Uplifting [] best 2228762 combination zp[1]:159 [ top_sprites_color ]
Attempting to uplift remaining variables inzp[1]:162 [ splash_run::i#2 splash_run::i#1 ]
Uplifting [splash_run] best 2228754 combination zp[1]:162 [ splash_run::i#2 splash_run::i#1 ]
Uplifting [splash_run] best 2228762 combination zp[1]:162 [ splash_run::i#2 splash_run::i#1 ]
Attempting to uplift remaining variables inzp[1]:163 [ pacman_wins ]
Uplifting [] best 2228754 combination zp[1]:163 [ pacman_wins ]
Uplifting [] best 2228762 combination zp[1]:163 [ pacman_wins ]
Attempting to uplift remaining variables inzp[1]:164 [ splash_run::$25 ]
Uplifting [splash_run] best 2228714 combination reg byte a [ splash_run::$25 ]
Uplifting [splash_run] best 2228722 combination reg byte a [ splash_run::$25 ]
Attempting to uplift remaining variables inzp[1]:171 [ splash_run::$34 ]
Uplifting [splash_run] best 2228614 combination reg byte y [ splash_run::$34 ]
Uplifting [splash_run] best 2228622 combination reg byte y [ splash_run::$34 ]
Attempting to uplift remaining variables inzp[1]:172 [ canvas_base_hi ]
Uplifting [] best 2228614 combination zp[1]:172 [ canvas_base_hi ]
Uplifting [] best 2228622 combination zp[1]:172 [ canvas_base_hi ]
Attempting to uplift remaining variables inzp[1]:173 [ bobs_restore_base ]
Uplifting [] best 2228614 combination zp[1]:173 [ bobs_restore_base ]
Uplifting [] best 2228622 combination zp[1]:173 [ bobs_restore_base ]
Attempting to uplift remaining variables inzp[1]:179 [ choose_direction::dist_min#11 choose_direction::dist_left#0 choose_direction::dist_min#17 choose_direction::dist_min#18 ]
Uplifting [choose_direction] best 2228614 combination zp[1]:179 [ choose_direction::dist_min#11 choose_direction::dist_left#0 choose_direction::dist_min#17 choose_direction::dist_min#18 ]
Uplifting [choose_direction] best 2228622 combination zp[1]:179 [ choose_direction::dist_min#11 choose_direction::dist_left#0 choose_direction::dist_min#17 choose_direction::dist_min#18 ]
Attempting to uplift remaining variables inzp[1]:180 [ pacman_lives ]
Uplifting [] best 2228614 combination zp[1]:180 [ pacman_lives ]
Uplifting [] best 2228622 combination zp[1]:180 [ pacman_lives ]
Attempting to uplift remaining variables inzp[1]:183 [ ghost1_respawn ]
Uplifting [] best 2228614 combination zp[1]:183 [ ghost1_respawn ]
Uplifting [] best 2228622 combination zp[1]:183 [ ghost1_respawn ]
Attempting to uplift remaining variables inzp[1]:184 [ ghost2_respawn ]
Uplifting [] best 2228614 combination zp[1]:184 [ ghost2_respawn ]
Uplifting [] best 2228622 combination zp[1]:184 [ ghost2_respawn ]
Attempting to uplift remaining variables inzp[1]:185 [ ghost3_respawn ]
Uplifting [] best 2228614 combination zp[1]:185 [ ghost3_respawn ]
Uplifting [] best 2228622 combination zp[1]:185 [ ghost3_respawn ]
Attempting to uplift remaining variables inzp[1]:186 [ ghost4_respawn ]
Uplifting [] best 2228614 combination zp[1]:186 [ ghost4_respawn ]
Uplifting [] best 2228622 combination zp[1]:186 [ ghost4_respawn ]
Attempting to uplift remaining variables inzp[1]:187 [ ghosts_mode_count ]
Uplifting [] best 2228614 combination zp[1]:187 [ ghosts_mode_count ]
Uplifting [] best 2228622 combination zp[1]:187 [ ghosts_mode_count ]
Attempting to uplift remaining variables inzp[1]:188 [ pacman_substep ]
Uplifting [] best 2228614 combination zp[1]:188 [ pacman_substep ]
Uplifting [] best 2228622 combination zp[1]:188 [ pacman_substep ]
Attempting to uplift remaining variables inzp[1]:190 [ ghost1_substep ]
Uplifting [] best 2228614 combination zp[1]:190 [ ghost1_substep ]
Uplifting [] best 2228622 combination zp[1]:190 [ ghost1_substep ]
Attempting to uplift remaining variables inzp[1]:191 [ ghost2_substep ]
Uplifting [] best 2228614 combination zp[1]:191 [ ghost2_substep ]
Uplifting [] best 2228622 combination zp[1]:191 [ ghost2_substep ]
Attempting to uplift remaining variables inzp[1]:192 [ ghost3_substep ]
Uplifting [] best 2228614 combination zp[1]:192 [ ghost3_substep ]
Uplifting [] best 2228622 combination zp[1]:192 [ ghost3_substep ]
Attempting to uplift remaining variables inzp[1]:193 [ ghost4_substep ]
Uplifting [] best 2228614 combination zp[1]:193 [ ghost4_substep ]
Uplifting [] best 2228622 combination zp[1]:193 [ ghost4_substep ]
Attempting to uplift remaining variables inzp[1]:199 [ choose_direction::$6 ]
Uplifting [choose_direction] best 2228610 combination reg byte a [ choose_direction::$6 ]
Uplifting [choose_direction] best 2228618 combination reg byte a [ choose_direction::$6 ]
Attempting to uplift remaining variables inzp[1]:200 [ choose_direction::$8 ]
Uplifting [choose_direction] best 2228606 combination reg byte a [ choose_direction::$8 ]
Uplifting [choose_direction] best 2228614 combination reg byte a [ choose_direction::$8 ]
Attempting to uplift remaining variables inzp[1]:201 [ choose_direction::dist_right#0 ]
Uplifting [choose_direction] best 2228600 combination reg byte a [ choose_direction::dist_right#0 ]
Uplifting [choose_direction] best 2228608 combination reg byte a [ choose_direction::dist_right#0 ]
Attempting to uplift remaining variables inzp[1]:203 [ choose_direction::return#10 choose_direction::direction#6 choose_direction::direction#8 choose_direction::direction#10 ]
Uplifting [choose_direction] best 2228600 combination zp[1]:203 [ choose_direction::return#10 choose_direction::direction#6 choose_direction::direction#8 choose_direction::direction#10 ]
Uplifting [choose_direction] best 2228608 combination zp[1]:203 [ choose_direction::return#10 choose_direction::direction#6 choose_direction::direction#8 choose_direction::direction#10 ]
Attempting to uplift remaining variables inzp[1]:204 [ choose_direction::target_xtile#4 choose_direction::target_xtile#2 choose_direction::target_xtile#3 choose_direction::target_xtile#0 choose_direction::target_xtile#1 ]
Uplifting [choose_direction] best 2228589 combination reg byte x [ choose_direction::target_xtile#4 choose_direction::target_xtile#2 choose_direction::target_xtile#3 choose_direction::target_xtile#0 choose_direction::target_xtile#1 ]
Uplifting [choose_direction] best 2228597 combination reg byte x [ choose_direction::target_xtile#4 choose_direction::target_xtile#2 choose_direction::target_xtile#3 choose_direction::target_xtile#0 choose_direction::target_xtile#1 ]
Attempting to uplift remaining variables inzp[1]:205 [ choose_direction::dist_min#6 choose_direction::dist_up#0 ]
Uplifting [choose_direction] best 2228587 combination reg byte y [ choose_direction::dist_min#6 choose_direction::dist_up#0 ]
Uplifting [choose_direction] best 2228595 combination reg byte y [ choose_direction::dist_min#6 choose_direction::dist_up#0 ]
Attempting to uplift remaining variables inzp[1]:206 [ choose_direction::ghost_xtile#4 choose_direction::ghost_xtile#2 choose_direction::ghost_xtile#3 choose_direction::ghost_xtile#0 choose_direction::ghost_xtile#1 ]
Uplifting [choose_direction] best 2228576 combination reg byte y [ choose_direction::ghost_xtile#4 choose_direction::ghost_xtile#2 choose_direction::ghost_xtile#3 choose_direction::ghost_xtile#0 choose_direction::ghost_xtile#1 ]
Uplifting [choose_direction] best 2228584 combination reg byte y [ choose_direction::ghost_xtile#4 choose_direction::ghost_xtile#2 choose_direction::ghost_xtile#3 choose_direction::ghost_xtile#0 choose_direction::ghost_xtile#1 ]
Attempting to uplift remaining variables inzp[1]:207 [ choose_direction::target_ytile#4 choose_direction::target_ytile#2 choose_direction::target_ytile#3 choose_direction::target_ytile#0 choose_direction::target_ytile#1 ]
Uplifting [choose_direction] best 2228576 combination zp[1]:207 [ choose_direction::target_ytile#4 choose_direction::target_ytile#2 choose_direction::target_ytile#3 choose_direction::target_ytile#0 choose_direction::target_ytile#1 ]
Uplifting [choose_direction] best 2228584 combination zp[1]:207 [ choose_direction::target_ytile#4 choose_direction::target_ytile#2 choose_direction::target_ytile#3 choose_direction::target_ytile#0 choose_direction::target_ytile#1 ]
Attempting to uplift remaining variables inzp[1]:208 [ pacman_direction ]
Uplifting [] best 2228576 combination zp[1]:208 [ pacman_direction ]
Uplifting [] best 2228584 combination zp[1]:208 [ pacman_direction ]
Attempting to uplift remaining variables inzp[1]:209 [ ghost1_direction ]
Uplifting [] best 2228576 combination zp[1]:209 [ ghost1_direction ]
Uplifting [] best 2228584 combination zp[1]:209 [ ghost1_direction ]
Attempting to uplift remaining variables inzp[1]:210 [ ghost2_direction ]
Uplifting [] best 2228576 combination zp[1]:210 [ ghost2_direction ]
Uplifting [] best 2228584 combination zp[1]:210 [ ghost2_direction ]
Attempting to uplift remaining variables inzp[1]:212 [ choose_direction::ghost_ytile#4 choose_direction::ghost_ytile#2 choose_direction::ghost_ytile#3 choose_direction::ghost_ytile#0 choose_direction::ghost_ytile#1 ]
Uplifting [choose_direction] best 2228576 combination zp[1]:212 [ choose_direction::ghost_ytile#4 choose_direction::ghost_ytile#2 choose_direction::ghost_ytile#3 choose_direction::ghost_ytile#0 choose_direction::ghost_ytile#1 ]
Uplifting [choose_direction] best 2228584 combination zp[1]:212 [ choose_direction::ghost_ytile#4 choose_direction::ghost_ytile#2 choose_direction::ghost_ytile#3 choose_direction::ghost_ytile#0 choose_direction::ghost_ytile#1 ]
Attempting to uplift remaining variables inzp[1]:213 [ ghost3_direction ]
Uplifting [] best 2228576 combination zp[1]:213 [ ghost3_direction ]
Uplifting [] best 2228584 combination zp[1]:213 [ ghost3_direction ]
Attempting to uplift remaining variables inzp[1]:214 [ ghost4_direction ]
Uplifting [] best 2228576 combination zp[1]:214 [ ghost4_direction ]
Uplifting [] best 2228584 combination zp[1]:214 [ ghost4_direction ]
Attempting to uplift remaining variables inzp[1]:215 [ top_sprites_mc ]
Uplifting [] best 2228576 combination zp[1]:215 [ top_sprites_mc ]
Uplifting [] best 2228584 combination zp[1]:215 [ top_sprites_mc ]
Attempting to uplift remaining variables inzp[1]:216 [ ghost1_xfine ]
Uplifting [] best 2228576 combination zp[1]:216 [ ghost1_xfine ]
Uplifting [] best 2228584 combination zp[1]:216 [ ghost1_xfine ]
Attempting to uplift remaining variables inzp[1]:217 [ ghost1_yfine ]
Uplifting [] best 2228576 combination zp[1]:217 [ ghost1_yfine ]
Uplifting [] best 2228584 combination zp[1]:217 [ ghost1_yfine ]
Attempting to uplift remaining variables inzp[1]:218 [ phase ]
Uplifting [] best 2228576 combination zp[1]:218 [ phase ]
Uplifting [] best 2228584 combination zp[1]:218 [ phase ]
Attempting to uplift remaining variables inzp[1]:219 [ ghost2_xfine ]
Uplifting [] best 2228576 combination zp[1]:219 [ ghost2_xfine ]
Uplifting [] best 2228584 combination zp[1]:219 [ ghost2_xfine ]
Attempting to uplift remaining variables inzp[1]:220 [ ghost2_yfine ]
Uplifting [] best 2228576 combination zp[1]:220 [ ghost2_yfine ]
Uplifting [] best 2228584 combination zp[1]:220 [ ghost2_yfine ]
Attempting to uplift remaining variables inzp[1]:221 [ ghost3_xfine ]
Uplifting [] best 2228576 combination zp[1]:221 [ ghost3_xfine ]
Uplifting [] best 2228584 combination zp[1]:221 [ ghost3_xfine ]
Attempting to uplift remaining variables inzp[1]:222 [ game_playable ]
Uplifting [] best 2228576 combination zp[1]:222 [ game_playable ]
Uplifting [] best 2228584 combination zp[1]:222 [ game_playable ]
Attempting to uplift remaining variables inzp[1]:223 [ ghost3_yfine ]
Uplifting [] best 2228576 combination zp[1]:223 [ ghost3_yfine ]
Uplifting [] best 2228584 combination zp[1]:223 [ ghost3_yfine ]
Attempting to uplift remaining variables inzp[1]:224 [ ghost4_xfine ]
Uplifting [] best 2228576 combination zp[1]:224 [ ghost4_xfine ]
Uplifting [] best 2228584 combination zp[1]:224 [ ghost4_xfine ]
Attempting to uplift remaining variables inzp[1]:225 [ ghost4_yfine ]
Uplifting [] best 2228576 combination zp[1]:225 [ ghost4_yfine ]
Uplifting [] best 2228584 combination zp[1]:225 [ ghost4_yfine ]
Attempting to uplift remaining variables inzp[1]:226 [ pacman_xfine ]
Uplifting [] best 2228576 combination zp[1]:226 [ pacman_xfine ]
Uplifting [] best 2228584 combination zp[1]:226 [ pacman_xfine ]
Attempting to uplift remaining variables inzp[1]:227 [ pacman_yfine ]
Uplifting [] best 2228576 combination zp[1]:227 [ pacman_yfine ]
Uplifting [] best 2228584 combination zp[1]:227 [ pacman_yfine ]
Attempting to uplift remaining variables inzp[1]:228 [ game_logic::ghost_frame_idx#2 game_logic::ghost_frame_idx#0 game_logic::ghost_frame_idx#1 ]
Uplifting [game_logic] best 2228576 combination zp[1]:228 [ game_logic::ghost_frame_idx#2 game_logic::ghost_frame_idx#0 game_logic::ghost_frame_idx#1 ]
Uplifting [game_logic] best 2228584 combination zp[1]:228 [ game_logic::ghost_frame_idx#2 game_logic::ghost_frame_idx#0 game_logic::ghost_frame_idx#1 ]
Attempting to uplift remaining variables inzp[1]:229 [ choose_direction::open_directions#10 choose_direction::open_directions#2 choose_direction::open_directions#3 choose_direction::open_directions#0 choose_direction::open_directions#1 ]
Uplifting [choose_direction] best 2228576 combination zp[1]:229 [ choose_direction::open_directions#10 choose_direction::open_directions#2 choose_direction::open_directions#3 choose_direction::open_directions#0 choose_direction::open_directions#1 ]
Uplifting [choose_direction] best 2228584 combination zp[1]:229 [ choose_direction::open_directions#10 choose_direction::open_directions#2 choose_direction::open_directions#3 choose_direction::open_directions#0 choose_direction::open_directions#1 ]
Attempting to uplift remaining variables inzp[1]:230 [ game_logic::target_ytile#3 game_logic::target_ytile#2 ]
Uplifting [game_logic] best 2228576 combination zp[1]:230 [ game_logic::target_ytile#3 game_logic::target_ytile#2 ]
Uplifting [game_logic] best 2228584 combination zp[1]:230 [ game_logic::target_ytile#3 game_logic::target_ytile#2 ]
Attempting to uplift remaining variables inzp[1]:231 [ game_logic::target_ytile1#3 game_logic::target_ytile1#2 ]
Uplifting [game_logic] best 2228576 combination zp[1]:231 [ game_logic::target_ytile1#3 game_logic::target_ytile1#2 ]
Uplifting [game_logic] best 2228584 combination zp[1]:231 [ game_logic::target_ytile1#3 game_logic::target_ytile1#2 ]
Attempting to uplift remaining variables inzp[1]:232 [ game_logic::target_ytile2#3 game_logic::target_ytile2#2 ]
Uplifting [game_logic] best 2228576 combination zp[1]:232 [ game_logic::target_ytile2#3 game_logic::target_ytile2#2 ]
Uplifting [game_logic] best 2228584 combination zp[1]:232 [ game_logic::target_ytile2#3 game_logic::target_ytile2#2 ]
Attempting to uplift remaining variables inzp[1]:233 [ game_logic::target_ytile3#3 game_logic::target_ytile3#2 ]
Uplifting [game_logic] best 2228576 combination zp[1]:233 [ game_logic::target_ytile3#3 game_logic::target_ytile3#2 ]
Uplifting [game_logic] best 2228584 combination zp[1]:233 [ game_logic::target_ytile3#3 game_logic::target_ytile3#2 ]
Attempting to uplift remaining variables inzp[1]:234 [ game_logic::$2 ]
Uplifting [game_logic] best 2228570 combination reg byte x [ game_logic::$2 ]
Uplifting [game_logic] best 2228578 combination reg byte x [ game_logic::$2 ]
Attempting to uplift remaining variables inzp[1]:235 [ game_logic::$3 ]
Uplifting [game_logic] best 2228566 combination reg byte a [ game_logic::$3 ]
Uplifting [game_logic] best 2228574 combination reg byte a [ game_logic::$3 ]
Attempting to uplift remaining variables inzp[1]:236 [ game_logic::$14 ]
Uplifting [game_logic] best 2228560 combination reg byte x [ game_logic::$14 ]
Uplifting [game_logic] best 2228568 combination reg byte x [ game_logic::$14 ]
Attempting to uplift remaining variables inzp[1]:237 [ game_logic::$15 ]
Uplifting [game_logic] best 2228556 combination reg byte a [ game_logic::$15 ]
Uplifting [game_logic] best 2228564 combination reg byte a [ game_logic::$15 ]
Attempting to uplift remaining variables inzp[1]:238 [ game_logic::$17 ]
Uplifting [game_logic] best 2228550 combination reg byte a [ game_logic::$17 ]
Uplifting [game_logic] best 2228558 combination reg byte a [ game_logic::$17 ]
Attempting to uplift remaining variables inzp[1]:239 [ game_logic::$18 ]
Uplifting [game_logic] best 2228544 combination reg byte x [ game_logic::$18 ]
Uplifting [game_logic] best 2228552 combination reg byte x [ game_logic::$18 ]
Attempting to uplift remaining variables inzp[1]:240 [ game_logic::$20 ]
Uplifting [game_logic] best 2228538 combination reg byte a [ game_logic::$20 ]
Uplifting [game_logic] best 2228546 combination reg byte a [ game_logic::$20 ]
Attempting to uplift remaining variables inzp[1]:241 [ game_logic::$21 ]
Uplifting [game_logic] best 2228532 combination reg byte a [ game_logic::$21 ]
Uplifting [game_logic] best 2228540 combination reg byte a [ game_logic::$21 ]
Attempting to uplift remaining variables inzp[1]:242 [ game_logic::$25 ]
Uplifting [game_logic] best 2228526 combination reg byte a [ game_logic::$25 ]
Uplifting [game_logic] best 2228534 combination reg byte a [ game_logic::$25 ]
Attempting to uplift remaining variables inzp[1]:243 [ game_logic::$26 ]
Uplifting [game_logic] best 2228520 combination reg byte x [ game_logic::$26 ]
Uplifting [game_logic] best 2228528 combination reg byte x [ game_logic::$26 ]
Attempting to uplift remaining variables inzp[1]:244 [ game_logic::$28 ]
Uplifting [game_logic] best 2228514 combination reg byte a [ game_logic::$28 ]
Uplifting [game_logic] best 2228522 combination reg byte a [ game_logic::$28 ]
Attempting to uplift remaining variables inzp[1]:245 [ game_logic::$29 ]
Uplifting [game_logic] best 2228508 combination reg byte a [ game_logic::$29 ]
Uplifting [game_logic] best 2228516 combination reg byte a [ game_logic::$29 ]
Attempting to uplift remaining variables inzp[1]:246 [ game_logic::$31 ]
Uplifting [game_logic] best 2228502 combination reg byte a [ game_logic::$31 ]
Uplifting [game_logic] best 2228510 combination reg byte a [ game_logic::$31 ]
Attempting to uplift remaining variables inzp[1]:247 [ game_logic::$32 ]
Uplifting [game_logic] best 2228496 combination reg byte x [ game_logic::$32 ]
Uplifting [game_logic] best 2228504 combination reg byte x [ game_logic::$32 ]
Attempting to uplift remaining variables inzp[1]:248 [ game_logic::$34 ]
Uplifting [game_logic] best 2228490 combination reg byte a [ game_logic::$34 ]
Uplifting [game_logic] best 2228498 combination reg byte a [ game_logic::$34 ]
Attempting to uplift remaining variables inzp[1]:249 [ game_logic::$35 ]
Uplifting [game_logic] best 2228484 combination reg byte a [ game_logic::$35 ]
Uplifting [game_logic] best 2228492 combination reg byte a [ game_logic::$35 ]
Attempting to uplift remaining variables inzp[1]:250 [ game_logic::$37 ]
Uplifting [game_logic] best 2228478 combination reg byte a [ game_logic::$37 ]
Uplifting [game_logic] best 2228486 combination reg byte a [ game_logic::$37 ]
Attempting to uplift remaining variables inzp[1]:251 [ game_logic::$38 ]
Uplifting [game_logic] best 2228472 combination reg byte x [ game_logic::$38 ]
Attempting to uplift remaining variables inzp[1]:252 [ game_logic::$40 ]
Uplifting [game_logic] best 2228466 combination reg byte a [ game_logic::$40 ]
Attempting to uplift remaining variables inzp[1]:253 [ game_logic::$41 ]
Uplifting [game_logic] best 2228460 combination reg byte a [ game_logic::$41 ]
Attempting to uplift remaining variables inzp[1]:254 [ game_logic::$43 ]
Uplifting [game_logic] best 2228454 combination reg byte a [ game_logic::$43 ]
Attempting to uplift remaining variables inzp[1]:255 [ game_logic::$44 ]
Uplifting [game_logic] best 2228480 combination reg byte x [ game_logic::$38 ]
Attempting to uplift remaining variables inmem[1] [ game_logic::$40 ]
Uplifting [game_logic] best 2228472 combination reg byte a [ game_logic::$40 ]
Attempting to uplift remaining variables inmem[1] [ game_logic::$41 ]
Uplifting [game_logic] best 2228464 combination reg byte a [ game_logic::$41 ]
Attempting to uplift remaining variables inmem[1] [ game_logic::$43 ]
Uplifting [game_logic] best 2228456 combination reg byte a [ game_logic::$43 ]
Attempting to uplift remaining variables inmem[1] [ game_logic::$44 ]
Uplifting [game_logic] best 2228448 combination reg byte x [ game_logic::$44 ]
Attempting to uplift remaining variables inmem[1] [ game_logic::$46 ]
Uplifting [game_logic] best 2228440 combination reg byte a [ game_logic::$46 ]

File diff suppressed because one or more lines are too long

View File

@ -84,21 +84,21 @@
/// Bit 0: Tile Width (0:8 pixels, 1:16 pixels)
.label VERA_L1_TILEBASE = $9f36
// Variable holding the screen width;
.label conio_screen_width = $22
.label conio_screen_width = $24
// Variable holding the screen height;
.label conio_screen_height = $2f
.label conio_screen_height = $31
// Variable holding the screen layer on the VERA card with which conio interacts;
.label conio_screen_layer = $2e
.label conio_screen_layer = $30
// Variables holding the current map width and map height of the layer.
.label conio_width = $a1
.label conio_width = $a5
.label conio_height = $33
.label conio_rowshift = $2b
.label conio_rowskip = $2c
.label __bitmap_address = $a8
.label __bitmap_layer = $92
.label __bitmap_hscale = $ac
.label __bitmap_vscale = $ad
.label __bitmap_color_depth = $a3
.label conio_rowshift = $2d
.label conio_rowskip = $2e
.label __bitmap_address = $ac
.label __bitmap_layer = $96
.label __bitmap_hscale = $b0
.label __bitmap_vscale = $b1
.label __bitmap_color_depth = $a7
// The random state variable
.label rand_state = $35
// Remainder after unsigned 16-bit division
@ -117,9 +117,9 @@
// based on the values of VERA_L0_MAPBASE or VERA_L1_MAPBASE, mapping the base address of the selected layer.
// The function setscreenlayermapbase(layer,mapbase) allows to configure bit 16:9 of the
// mapbase address of the time map in VRAM of the selected layer VERA_L0_MAPBASE or VERA_L1_MAPBASE.
.label CONIO_SCREEN_TEXT = $29
.label CONIO_SCREEN_BANK = $84
.label CONIO_SCREEN_BANK_1 = $a7
.label CONIO_SCREEN_TEXT = $2b
.label CONIO_SCREEN_BANK = $88
.label CONIO_SCREEN_BANK_1 = $ab
// The screen width
// The screen height
// The text screen base address, which is a 16:0 bit value in VERA VRAM.
@ -134,7 +134,7 @@
// based on the values of VERA_L0_MAPBASE or VERA_L1_MAPBASE, mapping the base address of the selected layer.
// The function setscreenlayermapbase(layer,mapbase) allows to configure bit 16:9 of the
// mapbase address of the time map in VRAM of the selected layer VERA_L0_MAPBASE or VERA_L1_MAPBASE.
.label CONIO_SCREEN_TEXT_1 = $ae
.label CONIO_SCREEN_TEXT_1 = $b2
.segment Code
__start: {
// __ma unsigned byte conio_screen_width = 0
@ -182,7 +182,7 @@ __start: {
conio_x16_init: {
// Position cursor at current line
.label BASIC_CURSOR_LINE = $d6
.label line = $a4
.label line = $a8
// char line = *BASIC_CURSOR_LINE
lda BASIC_CURSOR_LINE
sta.z line
@ -225,12 +225,12 @@ conio_x16_init: {
}
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__zp($65) char c)
// void cputc(__zp($69) char c)
cputc: {
.const OFFSET_STACK_C = 0
.label __16 = $27
.label c = $65
.label conio_addr = $1c
.label __16 = $29
.label c = $69
.label conio_addr = $1e
tsx
lda STACK_BASE+OFFSET_STACK_C,x
sta.z c
@ -329,9 +329,9 @@ cputc: {
rts
}
main: {
.label __40 = $6a
.label color = $7a
.label x = $74
.label __40 = $6e
.label color = $7e
.label x = $78
// memcpy_in_vram(1, (char*)0xF000, VERA_INC_1, 0, (char*)0xF800, VERA_INC_1, 256*8)
// Before we configure the bitmap pane into vera memory we need to re-arrange a few things!
// It is better to load all in bank 0, but then there is an issue.
@ -771,13 +771,13 @@ screensize: {
// - layer: value of 0 or 1.
// void screenlayer(char layer)
screenlayer: {
.label __2 = $85
.label __4 = $7b
.label __5 = $87
.label vera_layer_get_width1_config = $93
.label vera_layer_get_width1_return = $85
.label vera_layer_get_height1_config = $95
.label vera_layer_get_height1_return = $87
.label __2 = $89
.label __4 = $7f
.label __5 = $8b
.label vera_layer_get_width1_config = $97
.label vera_layer_get_width1_return = $89
.label vera_layer_get_height1_config = $99
.label vera_layer_get_height1_return = $8b
// conio_screen_layer = layer
lda #1
sta.z conio_screen_layer
@ -903,7 +903,7 @@ vera_layer_set_backcolor: {
// so the resulting address in the VERA VRAM is always aligned to a multiple of 512 bytes.
// void vera_layer_set_mapbase(__register(A) char layer, __register(X) char mapbase)
vera_layer_set_mapbase: {
.label addr = $23
.label addr = $25
// byte* addr = vera_layer_mapbase[layer]
asl
tay
@ -921,8 +921,8 @@ vera_layer_set_mapbase: {
// Set the cursor to the specified position
// void gotoxy(char x, __register(X) char y)
gotoxy: {
.label __6 = $23
.label line_offset = $23
.label __6 = $25
.label line_offset = $25
// if(y>CONIO_HEIGHT)
lda.z conio_screen_height
stx.z $ff
@ -970,7 +970,7 @@ gotoxy: {
// Note that on the VERA, the transparent color has value 0.
// __register(A) char vera_layer_get_color(__register(X) char layer)
vera_layer_get_color: {
.label addr = 8
.label addr = 6
// byte* addr = vera_layer_config[layer]
txa
asl
@ -1003,7 +1003,7 @@ vera_layer_get_color: {
}
// Print a newline
cputln: {
.label temp = 8
.label temp = 6
// word temp = conio_line_text[conio_screen_layer]
lda.z conio_screen_layer
asl
@ -1137,19 +1137,19 @@ memcpy_in_vram: {
// - tilewidth: The width of a tile, which can be 8 or 16 pixels.
// - tileheight: The height of a tile, which can be 8 or 16 pixels.
// - color_depth: The color depth in bits per pixel (BPP), which can be 1, 2, 4 or 8.
// void vera_layer_mode_tile(__zp($90) char layer, __zp($43) unsigned long mapbase_address, __zp($47) unsigned long tilebase_address, __zp($76) unsigned int mapwidth, __zp($9b) unsigned int mapheight, __zp($a5) char tilewidth, __zp($a6) char tileheight, char color_depth)
// void vera_layer_mode_tile(__zp($94) char layer, __zp($43) unsigned long mapbase_address, __zp($49) unsigned long tilebase_address, __zp($7a) unsigned int mapwidth, __zp($9f) unsigned int mapheight, __zp($a9) char tilewidth, __zp($aa) char tileheight, char color_depth)
vera_layer_mode_tile: {
.label __1 = $78
.label __6 = $4b
.label __17 = $91
.label __18 = $8f
.label __1 = $7c
.label __6 = $4f
.label __17 = $95
.label __18 = $93
.label mapbase_address = $43
.label tilebase_address = $47
.label mapwidth = $76
.label layer = $90
.label mapheight = $9b
.label tilewidth = $a5
.label tileheight = $a6
.label tilebase_address = $49
.label mapwidth = $7a
.label layer = $94
.label mapheight = $9f
.label tilewidth = $a9
.label tileheight = $aa
// case 32:
// config |= VERA_LAYER_WIDTH_32;
// vera_layer_rowshift[layer] = 6;
@ -1500,9 +1500,9 @@ vera_layer_mode_bitmap: {
}
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: {
.label __1 = $83
.label line_text = $6c
.label color = $83
.label __1 = $87
.label line_text = $70
.label color = $87
// char* line_text = CONIO_SCREEN_TEXT
lda.z CONIO_SCREEN_TEXT_1
sta.z line_text
@ -1595,9 +1595,9 @@ clrscr: {
jmp __b4
}
/// Print a NUL-terminated string
// void printf_str(void (*putc)(char), __zp($31) const char *s)
// void printf_str(void (*putc)(char), __zp($4d) const char *s)
printf_str: {
.label s = $31
.label s = $4d
__b1:
// while(c=*s++)
ldy #0
@ -1622,33 +1622,33 @@ printf_str: {
bitmap_init: {
.const layer = 0
.const address = 0
.label __7 = $7d
.label __10 = $7f
.label __13 = $81
.label __7 = $81
.label __10 = $83
.label __13 = $85
.label __23 = $37
.label __24 = $39
.label __25 = $3b
.label __26 = $3d
.label __28 = $3f
.label vera_layer_get_color_depth1_config = $97
.label bitmask = $1f
.label bitshift = $1e
.label x = $63
.label hdelta = $9f
.label yoffs = $66
.label y = 6
.label vera_layer_get_color_depth1_config = $9b
.label bitmask = $21
.label bitshift = $20
.label x = $67
.label hdelta = $a3
.label yoffs = $6a
.label y = $47
.label __29 = $37
.label __30 = $4d
.label __31 = $4f
.label __30 = $51
.label __31 = $53
.label __32 = $39
.label __33 = $51
.label __34 = $53
.label __33 = $55
.label __34 = $57
.label __35 = $3b
.label __36 = $55
.label __37 = $57
.label __36 = $59
.label __37 = $5b
.label __38 = $3d
.label __39 = $59
.label __40 = $5b
.label __39 = $5d
.label __40 = $5f
.label __41 = $3f
// __bitmap_address = address
lda #<address
@ -2054,10 +2054,10 @@ bitmap_init: {
}
// Clear all graphics on the bitmap
bitmap_clear: {
.label vdelta = $9d
.label hdelta = $99
.label count = $6e
.label vdest = $8d
.label vdelta = $a1
.label hdelta = $9d
.label count = $72
.label vdest = $91
// word vdelta = vdeltas[__bitmap_vscale]
lda.z __bitmap_vscale
asl
@ -2112,7 +2112,7 @@ kbhit: {
.label IN_DEV = $28a
// Current input device number
.label GETIN = $ffe4
.label ch = $30
.label ch = $32
// char ch = 0
lda #0
sta.z ch
@ -2153,15 +2153,15 @@ kbhit: {
rts
}
// Draw a line on the bitmap
// void bitmap_line(__zp($a) unsigned int x0, __zp(8) unsigned int x1, __zp(2) unsigned int y0, __zp($31) unsigned int y1, __register(X) char c)
// void bitmap_line(__zp(6) unsigned int x0, __zp($a) unsigned int x1, __zp(8) unsigned int y0, __zp(2) unsigned int y1, __register(X) char c)
bitmap_line: {
.label xd = $20
.label yd = $27
.label yd_1 = $25
.label x0 = $a
.label x1 = 8
.label y0 = 2
.label y1 = $31
.label xd = $22
.label yd = $29
.label yd_1 = $27
.label x0 = 6
.label x1 = $a
.label y0 = 8
.label y1 = 2
// if(x0<x1)
lda.z x0+1
cmp.z x1+1
@ -2383,10 +2383,10 @@ bitmap_line: {
// Information https://en.wikipedia.org/wiki/Xorshift
// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html
rand: {
.label __0 = $5d
.label __1 = $5f
.label __2 = $61
.label return = $6a
.label __0 = $61
.label __1 = $63
.label __2 = $65
.label return = $6e
// rand_state << 7
lda.z rand_state+1
lsr
@ -2438,11 +2438,11 @@ rand: {
// Performs modulo on two 16 bit unsigned ints and an initial remainder
// Returns the remainder.
// Implemented using simple binary division
// __zp($72) unsigned int modr16u(__zp(6) unsigned int dividend, __zp($8b) unsigned int divisor, unsigned int rem)
// __zp($76) unsigned int modr16u(__zp(2) unsigned int dividend, __zp($8f) unsigned int divisor, unsigned int rem)
modr16u: {
.label return = $72
.label dividend = 6
.label divisor = $8b
.label return = $76
.label dividend = 2
.label divisor = $8f
// divr16u(dividend, divisor, rem)
lda.z divisor
sta.z divr16u.divisor
@ -2462,7 +2462,7 @@ modr16u: {
// - color_mode: Specifies the color mode to be VERA_LAYER_CONFIG_16 or VERA_LAYER_CONFIG_256 for text mode.
// void vera_layer_set_text_color_mode(char layer, char color_mode)
vera_layer_set_text_color_mode: {
.label addr = $23
.label addr = $25
// byte* addr = vera_layer_config[layer]
lda vera_layer_config+vera_layer_mode_text.layer*SIZEOF_POINTER
sta.z addr
@ -2492,9 +2492,9 @@ vera_layer_get_mapbase_bank: {
// Get the map base lower 16-bit address (offset) of the tiles for the layer.
// - layer: Value of 0 or 1.
// - return: Offset in vera vram of the specified bank.
// __zp($89) unsigned int vera_layer_get_mapbase_offset(__register(A) char layer)
// __zp($8d) unsigned int vera_layer_get_mapbase_offset(__register(A) char layer)
vera_layer_get_mapbase_offset: {
.label return = $89
.label return = $8d
// return vera_mapbase_offset[layer];
asl
tay
@ -2518,9 +2518,9 @@ vera_layer_get_rowshift: {
// Get the value required to skip a whole line fast.
// - layer: Value of 0 or 1.
// - return: Skip value to calculate fast from a y value to line offset in tile mode.
// __zp($7b) unsigned int vera_layer_get_rowskip(__register(A) char layer)
// __zp($7f) unsigned int vera_layer_get_rowskip(__register(A) char layer)
vera_layer_get_rowskip: {
.label return = $7b
.label return = $7f
// return vera_layer_rowskip[layer];
asl
tay
@ -2564,7 +2564,7 @@ cscroll: {
// - config: Specifies the modes which are specified using T256C / 'Bitmap Mode' / 'Color Depth'.
// void vera_layer_set_config(__register(A) char layer, __register(X) char config)
vera_layer_set_config: {
.label addr = $23
.label addr = $25
// byte* addr = vera_layer_config[layer]
asl
tay
@ -2586,7 +2586,7 @@ vera_layer_set_config: {
// so the resulting address in the VERA VRAM is always aligned to a multiple of 2048 bytes!
// void vera_layer_set_tilebase(__register(A) char layer, __register(X) char tilebase)
vera_layer_set_tilebase: {
.label addr = $23
.label addr = $25
// byte* addr = vera_layer_tilebase[layer]
asl
tay
@ -2668,12 +2668,12 @@ vera_display_get_vscale: {
}
.segment Code
// Perform binary multiplication of two unsigned 16-bit unsigned ints into a 32-bit unsigned long
// __zp($6e) unsigned long mul16u(__zp(6) unsigned int a, __zp($9d) unsigned int b)
// __zp($72) unsigned long mul16u(__zp(2) unsigned int a, __zp($a1) unsigned int b)
mul16u: {
.label a = 6
.label b = $9d
.label return = $6e
.label mb = $18
.label a = 2
.label b = $a1
.label return = $72
.label mb = $1a
.label res = $10
// unsigned long mb = b
lda.z b
@ -2734,12 +2734,12 @@ mul16u: {
// - vdest: The destination address in VRAM
// - data: The value to set the vram with.
// - num: The number of bytes to set
// void memset_vram(__register(X) char vbank, __zp($8d) void *vdest, char data, __zp($6e) unsigned long num)
// void memset_vram(__register(X) char vbank, __zp($91) void *vdest, char data, __zp($72) unsigned long num)
memset_vram: {
.const data = 0
.label i = $10
.label vdest = $8d
.label num = $6e
.label vdest = $91
.label num = $72
// *VERA_CTRL &= ~VERA_ADDRSEL
// Select DATA0
lda #VERA_ADDRSEL^$ff
@ -2802,16 +2802,16 @@ memset_vram: {
!:
jmp __b1
}
// void bitmap_line_ydxi(__zp(4) unsigned int y, __zp($a) unsigned int x, __zp(2) unsigned int y1, __zp($25) unsigned int yd, __zp($20) unsigned int xd, __zp($1e) char c)
// void bitmap_line_ydxi(__zp(4) unsigned int y, __zp(6) unsigned int x, __zp(8) unsigned int y1, __zp($27) unsigned int yd, __zp($22) unsigned int xd, __zp($20) char c)
bitmap_line_ydxi: {
.label __6 = $1c
.label __6 = $1e
.label y = 4
.label x = $a
.label y1 = 2
.label yd = $25
.label xd = $20
.label c = $1e
.label e = 6
.label x = 6
.label y1 = 8
.label yd = $27
.label xd = $22
.label c = $20
.label e = $18
// word e = xd>>1
lda.z xd+1
lsr
@ -2880,16 +2880,16 @@ bitmap_line_ydxi: {
// }
rts
}
// void bitmap_line_xdyi(__zp($1c) unsigned int x, __zp(2) unsigned int y, __zp($a) unsigned int x1, __zp($20) unsigned int xd, __zp($25) unsigned int yd, __zp($1f) char c)
// void bitmap_line_xdyi(__zp($1e) unsigned int x, __zp(8) unsigned int y, __zp(6) unsigned int x1, __zp($22) unsigned int xd, __zp($27) unsigned int yd, __zp($21) char c)
bitmap_line_xdyi: {
.label __6 = $e
.label x = $1c
.label y = 2
.label x1 = $a
.label xd = $20
.label yd = $25
.label c = $1f
.label e = 6
.label x = $1e
.label y = 8
.label x1 = 6
.label xd = $22
.label yd = $27
.label c = $21
.label e = $18
// word e = yd>>1
lda.z yd+1
lsr
@ -2958,16 +2958,16 @@ bitmap_line_xdyi: {
// }
rts
}
// void bitmap_line_ydxd(__zp(4) unsigned int y, __zp($a) unsigned int x, __zp(2) unsigned int y1, __zp($27) unsigned int yd, __zp($20) unsigned int xd, __zp($1e) char c)
// void bitmap_line_ydxd(__zp(4) unsigned int y, __zp(6) unsigned int x, __zp(8) unsigned int y1, __zp($29) unsigned int yd, __zp($22) unsigned int xd, __zp($20) char c)
bitmap_line_ydxd: {
.label __6 = $e
.label y = 4
.label x = $a
.label y1 = 2
.label yd = $27
.label xd = $20
.label c = $1e
.label e = 6
.label x = 6
.label y1 = 8
.label yd = $29
.label xd = $22
.label c = $20
.label e = $18
// word e = xd>>1
lda.z xd+1
lsr
@ -3037,16 +3037,16 @@ bitmap_line_ydxd: {
// }
rts
}
// void bitmap_line_xdyd(__zp($1c) unsigned int x, __zp(2) unsigned int y, __zp($a) unsigned int x1, __zp($20) unsigned int xd, __zp($27) unsigned int yd, __zp($1e) char c)
// void bitmap_line_xdyd(__zp($1e) unsigned int x, __zp(8) unsigned int y, __zp(6) unsigned int x1, __zp($22) unsigned int xd, __zp($29) unsigned int yd, __zp($20) char c)
bitmap_line_xdyd: {
.label __6 = $e
.label x = $1c
.label y = 2
.label x1 = $a
.label xd = $20
.label yd = $27
.label c = $1e
.label e = 6
.label x = $1e
.label y = 8
.label x1 = 6
.label xd = $22
.label yd = $29
.label c = $20
.label e = $18
// word e = yd>>1
lda.z yd+1
lsr
@ -3120,13 +3120,13 @@ bitmap_line_xdyd: {
// Returns the quotient dividend/divisor.
// The final remainder will be set into the global variable rem16u
// Implemented using simple binary division
// __zp($25) unsigned int divr16u(__zp(6) unsigned int dividend, __zp($1c) unsigned int divisor, __zp($20) unsigned int rem)
// __zp($27) unsigned int divr16u(__zp(2) unsigned int dividend, __zp($1e) unsigned int divisor, __zp($22) unsigned int rem)
divr16u: {
.label rem = $20
.label dividend = 6
.label quotient = $25
.label return = $25
.label divisor = $1c
.label rem = $22
.label dividend = 2
.label quotient = $27
.label return = $27
.label divisor = $1e
ldx #0
txa
sta.z quotient
@ -3192,8 +3192,8 @@ divr16u: {
}
// Insert a new line, and scroll the upper part of the screen up.
insertup: {
.label cy = $1f
.label width = $1e
.label cy = $21
.label width = $20
.label line = $a
.label start = $a
// unsigned byte cy = conio_cursor_y[conio_screen_layer]
@ -3261,14 +3261,14 @@ insertup: {
inx
jmp __b1
}
// void bitmap_plot(__zp($1c) unsigned int x, __zp(4) unsigned int y, __register(X) char c)
// void bitmap_plot(__zp($1e) unsigned int x, __zp(4) unsigned int y, __register(X) char c)
bitmap_plot: {
.label __9 = $e
.label __10 = $c
.label plot_x = $18
.label plot_x = $1a
.label plot_y = $10
.label vera_vram_address01_bankaddr = $18
.label x = $1c
.label vera_vram_address01_bankaddr = $1a
.label x = $1e
.label y = 4
.label __12 = $e
.label __13 = $c

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -89,7 +89,7 @@
// Variable holding the screen layer on the VERA card with which conio interacts;
.label conio_screen_layer = $1d
// Variables holding the current map width and map height of the layer.
.label conio_width = $48
.label conio_width = $46
.label conio_height = $26
.label conio_rowshift = $18
.label conio_rowskip = $19
@ -108,7 +108,7 @@
// The function setscreenlayermapbase(layer,mapbase) allows to configure bit 16:9 of the
// mapbase address of the time map in VRAM of the selected layer VERA_L0_MAPBASE or VERA_L1_MAPBASE.
.label CONIO_SCREEN_TEXT = $12
.label CONIO_SCREEN_BANK = $3b
.label CONIO_SCREEN_BANK = $39
// The screen width
// The screen height
// The text screen base address, which is a 16:0 bit value in VERA VRAM.
@ -123,7 +123,7 @@
// based on the values of VERA_L0_MAPBASE or VERA_L1_MAPBASE, mapping the base address of the selected layer.
// The function setscreenlayermapbase(layer,mapbase) allows to configure bit 16:9 of the
// mapbase address of the time map in VRAM of the selected layer VERA_L0_MAPBASE or VERA_L1_MAPBASE.
.label CONIO_SCREEN_TEXT_1 = $58
.label CONIO_SCREEN_TEXT_1 = $56
.segment Code
__start: {
// __ma unsigned byte conio_screen_width = 0
@ -155,7 +155,7 @@ __start: {
conio_x16_init: {
// Position cursor at current line
.label BASIC_CURSOR_LINE = $d6
.label line = $54
.label line = $52
// char line = *BASIC_CURSOR_LINE
lda BASIC_CURSOR_LINE
sta.z line
@ -301,17 +301,17 @@ cputc: {
rts
}
main: {
.label tilebase = $4a
.label t = $41
.label tilebase = $48
.label t = $3f
.label tile = $24
.label c = $39
.label c = $37
// Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters.
.label row = $42
.label r = $44
.label row = $40
.label r = $42
.label column1 = $29
// Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters.
.label row_1 = $43
.label r1 = $45
.label row_1 = $41
.label r1 = $43
// memcpy_in_vram(1, (char*)0xF000, VERA_INC_1, 0, (char*)0xF800, VERA_INC_1, 256*8)
// Before we can load the tiles into memory we need to re-arrange a few things!
// The amount of tiles is 256, the color depth is 256, so each tile is 256 bytes!
@ -884,12 +884,12 @@ screensize: {
// void screenlayer(char layer)
screenlayer: {
.label __2 = $10
.label __4 = $37
.label __5 = $3f
.label __4 = $35
.label __5 = $3a
.label vera_layer_get_width1_config = $22
.label vera_layer_get_width1_return = $10
.label vera_layer_get_height1_config = $2d
.label vera_layer_get_height1_return = $2b
.label vera_layer_get_height1_config = $2b
.label vera_layer_get_height1_return = $3a
// conio_screen_layer = layer
lda #1
sta.z conio_screen_layer
@ -975,10 +975,6 @@ screenlayer: {
sta.z vera_layer_get_height1_return+1
// }
// vera_layer_get_height(conio_screen_layer)
lda.z vera_layer_get_height1_return
sta.z __5
lda.z vera_layer_get_height1_return+1
sta.z __5+1
// conio_height = vera_layer_get_height(conio_screen_layer)
lda.z __5
sta.z conio_height
@ -1256,21 +1252,21 @@ memcpy_in_vram: {
// - tilewidth: The width of a tile, which can be 8 or 16 pixels.
// - tileheight: The height of a tile, which can be 8 or 16 pixels.
// - color_depth: The color depth in bits per pixel (BPP), which can be 1, 2, 4 or 8.
// void vera_layer_mode_tile(__zp($3e) char layer, __zp($2f) unsigned long mapbase_address, __zp($33) unsigned long tilebase_address, __zp($10) unsigned int mapwidth, __zp($46) unsigned int mapheight, __zp($56) char tilewidth, __zp($57) char tileheight, __register(X) char color_depth)
// void vera_layer_mode_tile(__zp($3e) char layer, __zp($2d) unsigned long mapbase_address, __zp($31) unsigned long tilebase_address, __zp($10) unsigned int mapwidth, __zp($44) unsigned int mapheight, __zp($54) char tilewidth, __zp($55) char tileheight, __register(X) char color_depth)
vera_layer_mode_tile: {
.label __1 = $37
.label __6 = $2d
.label __1 = $35
.label __6 = $2b
.label __17 = $3d
.label __18 = $3c
.label mapbase_address = $2f
.label tilebase_address = $33
.label mapbase_address = $2d
.label tilebase_address = $31
.label layer = $3e
.label mapwidth = $10
.label mapheight = $46
.label mapbase_address_1 = $4c
.label tileheight = $57
.label tilebase_address_1 = $50
.label tilewidth = $56
.label mapheight = $44
.label mapbase_address_1 = $4a
.label tileheight = $55
.label tilebase_address_1 = $4e
.label tilewidth = $54
// case 1:
// config |= VERA_LAYER_COLOR_DEPTH_1BPP;
// break;
@ -1619,7 +1615,7 @@ vera_layer_mode_tile: {
}
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: {
.label __1 = $55
.label __1 = $53
.label line_text = 6
.label color = $20
.label l = $a
@ -1964,7 +1960,7 @@ kbhit: {
.label IN_DEV = $28a
// Current input device number
.label GETIN = $ffe4
.label ch = $3a
.label ch = $38
// char ch = 0
lda #0
sta.z ch
@ -2009,7 +2005,7 @@ kbhit: {
// - color_mode: Specifies the color mode to be VERA_LAYER_CONFIG_16 or VERA_LAYER_CONFIG_256 for text mode.
// void vera_layer_set_text_color_mode(char layer, char color_mode)
vera_layer_set_text_color_mode: {
.label addr = $2b
.label addr = $22
// byte* addr = vera_layer_config[layer]
lda vera_layer_config+vera_layer_mode_text.layer*SIZEOF_POINTER
sta.z addr
@ -2065,9 +2061,9 @@ vera_layer_get_rowshift: {
// Get the value required to skip a whole line fast.
// - layer: Value of 0 or 1.
// - return: Skip value to calculate fast from a y value to line offset in tile mode.
// __zp($37) unsigned int vera_layer_get_rowskip(__register(A) char layer)
// __zp($35) unsigned int vera_layer_get_rowskip(__register(A) char layer)
vera_layer_get_rowskip: {
.label return = $37
.label return = $35
// return vera_layer_rowskip[layer];
asl
tay

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,11 @@
__constant const char BLACK = 0
__constant const char BLUE = 6
char CONIO_SCREEN_BANK
char CONIO_SCREEN_BANK#12 // CONIO_SCREEN_BANK zp[1]:59 625.0625
char CONIO_SCREEN_BANK#12 // CONIO_SCREEN_BANK zp[1]:57 625.0625
char CONIO_SCREEN_BANK#15 // reg byte x 14.693333333333332
char *CONIO_SCREEN_TEXT
char *CONIO_SCREEN_TEXT#12 // CONIO_SCREEN_TEXT zp[2]:18 2.000018187272727E7
unsigned int CONIO_SCREEN_TEXT#17 // CONIO_SCREEN_TEXT_1 zp[2]:88 2.2954545454545454
unsigned int CONIO_SCREEN_TEXT#17 // CONIO_SCREEN_TEXT_1 zp[2]:86 2.2954545454545454
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
@ -64,7 +64,7 @@ char clearline::color
char clearline::color#0 // reg byte x 1.6833333336666665E9
void clrscr()
char clrscr::$0 // reg byte a 202.0
char clrscr::$1 // zp[1]:85 40.4
char clrscr::$1 // zp[1]:83 40.4
char clrscr::$2 // reg byte a 202.0
char clrscr::$5 // reg byte a 2002.0
char clrscr::$6 // reg byte a 2002.0
@ -93,13 +93,13 @@ __loadstore volatile char conio_screen_height // zp[1]:33 75000.16875000001
__loadstore char conio_screen_layer // zp[1]:29 1357989.2490118577
__loadstore volatile char conio_screen_width // zp[1]:15 5.1122500030612245E7
__constant char conio_scroll_enable[2] = { 1, 1 }
__loadstore unsigned int conio_width // zp[2]:72 128.87820512820514
__loadstore unsigned int conio_width // zp[2]:70 128.87820512820514
void conio_x16_init()
__constant char * const conio_x16_init::BASIC_CURSOR_LINE = (char *) 214
char conio_x16_init::line
char conio_x16_init::line#0 // line zp[1]:84 2.1999999999999997
char conio_x16_init::line#1 // line zp[1]:84 22.0
char conio_x16_init::line#3 // line zp[1]:84 33.0
char conio_x16_init::line#0 // line zp[1]:82 2.1999999999999997
char conio_x16_init::line#1 // line zp[1]:82 22.0
char conio_x16_init::line#3 // line zp[1]:82 33.0
__stackcall void cputc(char c)
char cputc::$15 // reg byte a 20002.0
unsigned int cputc::$16 // zp[2]:6 20002.0
@ -151,7 +151,7 @@ char insertup::width#0 // width zp[1]:11 8.416666683333334E7
char kbhit()
__constant char * const kbhit::GETIN = (char *) 65508
__constant char * const kbhit::IN_DEV = (char *) 650
__loadstore volatile char kbhit::ch // zp[1]:58 1001.0
__loadstore volatile char kbhit::ch // zp[1]:56 1001.0
__constant char * const kbhit::chptr = &kbhit::ch
char kbhit::return
char kbhit::return#0 // reg byte a 2002.0
@ -164,8 +164,8 @@ char main::$40 // reg byte a 202.0
char main::bgcolor1_color
char main::bgcolor2_color
char main::c
char main::c#1 // c zp[1]:57 1501.5
char main::c#2 // c zp[1]:57 250.25
char main::c#1 // c zp[1]:55 1501.5
char main::c#2 // c zp[1]:55 250.25
char main::c1
char main::c1#1 // reg byte x 1501.5
char main::c1#2 // reg byte x 250.25
@ -179,16 +179,16 @@ char main::p
char main::p#1 // reg byte x 1501.5
char main::p#2 // reg byte x 2002.0
char main::r
char main::r#1 // r zp[1]:68 151.5
char main::r#5 // r zp[1]:68 16.833333333333332
char main::r#1 // r zp[1]:66 151.5
char main::r#5 // r zp[1]:66 16.833333333333332
char main::r1
char main::r1#1 // r1 zp[1]:69 151.5
char main::r1#5 // r1 zp[1]:69 16.833333333333332
char main::r1#1 // r1 zp[1]:67 151.5
char main::r1#5 // r1 zp[1]:67 16.833333333333332
char main::row
char main::row#1 // row zp[1]:66 67.33333333333333
char main::row#10 // row_1 zp[1]:67 109.36363636363637
char main::row#3 // row_1 zp[1]:67 67.33333333333333
char main::row#9 // row zp[1]:66 109.36363636363637
char main::row#1 // row zp[1]:64 67.33333333333333
char main::row#10 // row_1 zp[1]:65 109.36363636363637
char main::row#3 // row_1 zp[1]:65 67.33333333333333
char main::row#9 // row zp[1]:64 109.36363636363637
__constant char main::s[$38] = "vera in tile mode 8 x 8, color depth 8 bits per pixel.
"
__constant char main::s1[$3a] = "in this mode, tiles are 8 pixels wide and 8 pixels tall.
@ -206,8 +206,8 @@ __constant char main::s6[$3f] = "each offset aligns to multiples of 16 colors in
__constant char main::s7[$3e] = "however, the first color will always be transparent (black).
"
char main::t
char main::t#1 // t zp[1]:65 151.5
char main::t#5 // t zp[1]:65 25.25
char main::t#1 // t zp[1]:63 151.5
char main::t#5 // t zp[1]:63 25.25
char main::textcolor1_color
char main::textcolor2_color
unsigned int main::tile
@ -220,8 +220,8 @@ unsigned int main::tile#4 // tile zp[2]:36 2002.0
unsigned int main::tile#6 // tile zp[2]:36 517.3333333333334
unsigned int main::tile#8 // tile zp[2]:36 517.3333333333334
char *main::tilebase
char *main::tilebase#2 // tilebase zp[2]:74 67.33333333333333
char *main::tilebase#7 // tilebase zp[2]:74 28.857142857142858
char *main::tilebase#2 // tilebase zp[2]:72 67.33333333333333
char *main::tilebase#7 // tilebase zp[2]:72 28.857142857142858
__constant char main::tiles[$100] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
char main::vera_layer_hide1_$0 // reg byte a 22.0
char main::vera_layer_hide1_layer
@ -277,20 +277,20 @@ const char *printf_str::s#9 // s zp[2]:30 1552.0
void screenlayer(char layer)
unsigned int screenlayer::$2 // zp[2]:16 202.0
char screenlayer::$3 // reg byte a 202.0
unsigned int screenlayer::$4 // zp[2]:55 202.0
unsigned int screenlayer::$5 // zp[2]:63 202.0
unsigned int screenlayer::$4 // zp[2]:53 202.0
unsigned int screenlayer::$5 // zp[2]:58 202.0
char screenlayer::layer
char screenlayer::vera_layer_get_height1_$0 // reg byte a 202.0
char screenlayer::vera_layer_get_height1_$1 // reg byte a 202.0
char screenlayer::vera_layer_get_height1_$2 // reg byte a 202.0
char screenlayer::vera_layer_get_height1_$3 // reg byte a 202.0
char *screenlayer::vera_layer_get_height1_config
char *screenlayer::vera_layer_get_height1_config#0 // vera_layer_get_height1_config zp[2]:45 202.0
char *screenlayer::vera_layer_get_height1_config#0 // vera_layer_get_height1_config zp[2]:43 202.0
char screenlayer::vera_layer_get_height1_layer
char screenlayer::vera_layer_get_height1_layer#0 // reg byte a 202.0
unsigned int screenlayer::vera_layer_get_height1_return
unsigned int screenlayer::vera_layer_get_height1_return#0 // vera_layer_get_height1_return zp[2]:43 202.0
unsigned int screenlayer::vera_layer_get_height1_return#1 // vera_layer_get_height1_return zp[2]:43 202.0
unsigned int screenlayer::vera_layer_get_height1_return#0 // vera_layer_get_height1_return zp[2]:58 202.0
unsigned int screenlayer::vera_layer_get_height1_return#1 // vera_layer_get_height1_return zp[2]:58 202.0
char screenlayer::vera_layer_get_width1_$0 // reg byte a 202.0
char screenlayer::vera_layer_get_width1_$1 // reg byte a 202.0
char screenlayer::vera_layer_get_width1_$2 // reg byte a 202.0
@ -362,8 +362,8 @@ char vera_layer_get_rowskip::$0 // reg byte a 2002.0
char vera_layer_get_rowskip::layer
char vera_layer_get_rowskip::layer#0 // reg byte a 1102.0
unsigned int vera_layer_get_rowskip::return
unsigned int vera_layer_get_rowskip::return#0 // return zp[2]:55 367.33333333333337
unsigned int vera_layer_get_rowskip::return#2 // return zp[2]:55 202.0
unsigned int vera_layer_get_rowskip::return#0 // return zp[2]:53 367.33333333333337
unsigned int vera_layer_get_rowskip::return#2 // return zp[2]:53 202.0
char vera_layer_get_textcolor(char layer)
char vera_layer_get_textcolor::layer
char vera_layer_get_textcolor::layer#0 // reg byte y 1102.0
@ -389,7 +389,7 @@ __constant char vera_layer_mode_text::tileheight#0 = 8 // tileheight
char vera_layer_mode_text::tilewidth
__constant char vera_layer_mode_text::tilewidth#0 = 8 // tilewidth
void vera_layer_mode_tile(char layer , unsigned long mapbase_address , unsigned long tilebase_address , unsigned int mapwidth , unsigned int mapheight , char tilewidth , char tileheight , char color_depth)
unsigned int vera_layer_mode_tile::$1 // zp[2]:55 1001.0
unsigned int vera_layer_mode_tile::$1 // zp[2]:53 1001.0
char vera_layer_mode_tile::$11 // reg byte a 2002.0
char vera_layer_mode_tile::$12 // reg byte a 2002.0
char vera_layer_mode_tile::$13 // reg byte a 2002.0
@ -397,7 +397,7 @@ char vera_layer_mode_tile::$14 // reg byte a 2002.0
char vera_layer_mode_tile::$17 // zp[1]:61 250.25
char vera_layer_mode_tile::$18 // zp[1]:60 273.0
char vera_layer_mode_tile::$2 // reg byte a 2002.0
unsigned int vera_layer_mode_tile::$6 // zp[2]:45 2002.0
unsigned int vera_layer_mode_tile::$6 // zp[2]:43 2002.0
char vera_layer_mode_tile::$7 // reg byte a 2002.0
char vera_layer_mode_tile::color_depth
char vera_layer_mode_tile::color_depth#5 // reg byte x 1001.0
@ -416,10 +416,10 @@ char vera_layer_mode_tile::layer#10 // layer zp[1]:62 227.49999999999994
char vera_layer_mode_tile::mapbase
char vera_layer_mode_tile::mapbase#0 // reg byte x 1001.0
unsigned long vera_layer_mode_tile::mapbase_address
unsigned long vera_layer_mode_tile::mapbase_address#0 // mapbase_address zp[4]:47 2002.0
unsigned long vera_layer_mode_tile::mapbase_address#10 // mapbase_address_1 zp[4]:76 88.97777777777777
unsigned long vera_layer_mode_tile::mapbase_address#0 // mapbase_address zp[4]:45 2002.0
unsigned long vera_layer_mode_tile::mapbase_address#10 // mapbase_address_1 zp[4]:74 88.97777777777777
unsigned int vera_layer_mode_tile::mapheight
unsigned int vera_layer_mode_tile::mapheight#10 // mapheight zp[2]:70 133.46666666666667
unsigned int vera_layer_mode_tile::mapheight#10 // mapheight zp[2]:68 133.46666666666667
unsigned int vera_layer_mode_tile::mapwidth
unsigned int vera_layer_mode_tile::mapwidth#10 // mapwidth zp[2]:16 400.4
char vera_layer_mode_tile::tilebase
@ -430,12 +430,12 @@ char vera_layer_mode_tile::tilebase#12 // reg byte x 2002.0000000000002
char vera_layer_mode_tile::tilebase#3 // reg byte x 2002.0
char vera_layer_mode_tile::tilebase#5 // reg byte x 2002.0
unsigned long vera_layer_mode_tile::tilebase_address
unsigned long vera_layer_mode_tile::tilebase_address#0 // tilebase_address zp[4]:51 2002.0
unsigned long vera_layer_mode_tile::tilebase_address#10 // tilebase_address_1 zp[4]:80 72.8
unsigned long vera_layer_mode_tile::tilebase_address#0 // tilebase_address zp[4]:49 2002.0
unsigned long vera_layer_mode_tile::tilebase_address#10 // tilebase_address_1 zp[4]:78 72.8
char vera_layer_mode_tile::tileheight
char vera_layer_mode_tile::tileheight#10 // tileheight zp[1]:87 31.77777777777778
char vera_layer_mode_tile::tileheight#10 // tileheight zp[1]:85 31.77777777777778
char vera_layer_mode_tile::tilewidth
char vera_layer_mode_tile::tilewidth#10 // tilewidth zp[1]:86 33.932203389830505
char vera_layer_mode_tile::tilewidth#10 // tilewidth zp[1]:84 33.932203389830505
__constant char vera_layer_rowshift[2] = { 0, 0 }
__constant unsigned int vera_layer_rowskip[2] = { 0, 0 }
char vera_layer_set_backcolor(char layer , char color)
@ -467,7 +467,7 @@ char vera_layer_set_mapbase::mapbase#0 // reg byte x 2002.0
char vera_layer_set_mapbase::mapbase#3 // reg byte x 3667.333333333333
void vera_layer_set_text_color_mode(char layer , char color_mode)
char *vera_layer_set_text_color_mode::addr
char *vera_layer_set_text_color_mode::addr#0 // addr zp[2]:43 2502.5
char *vera_layer_set_text_color_mode::addr#0 // addr zp[2]:34 2502.5
char vera_layer_set_text_color_mode::color_mode
char vera_layer_set_text_color_mode::layer
char vera_layer_set_textcolor(char layer , char color)
@ -550,19 +550,19 @@ __constant unsigned long vera_tilebase_address[2] = { 0, 0 }
__constant char vera_tilebase_bank[2] = { 0, 0 }
__constant unsigned int vera_tilebase_offset[2] = { 0, 0 }
zp[1]:84 [ conio_x16_init::line#3 conio_x16_init::line#1 conio_x16_init::line#0 ]
zp[1]:82 [ conio_x16_init::line#3 conio_x16_init::line#1 conio_x16_init::line#0 ]
zp[2]:18 [ CONIO_SCREEN_TEXT#12 ]
zp[1]:59 [ CONIO_SCREEN_BANK#12 ]
zp[2]:74 [ main::tilebase#7 main::tilebase#2 ]
zp[1]:65 [ main::t#5 main::t#1 ]
zp[1]:57 [ CONIO_SCREEN_BANK#12 ]
zp[2]:72 [ main::tilebase#7 main::tilebase#2 ]
zp[1]:63 [ main::t#5 main::t#1 ]
reg byte x [ main::p#2 main::p#1 ]
zp[1]:66 [ main::row#9 main::row#1 ]
zp[1]:68 [ main::r#5 main::r#1 ]
zp[1]:64 [ main::row#9 main::row#1 ]
zp[1]:66 [ main::r#5 main::r#1 ]
zp[2]:36 [ main::tile#6 main::tile#10 main::tile#12 main::tile#1 vera_tile_area::tileindex#5 vera_tile_area::tileindex#3 vera_tile_area::tileindex#1 main::tile#8 main::tile#11 main::tile#13 main::tile#4 ]
reg byte x [ main::column#2 main::column#1 ]
zp[1]:57 [ main::c#2 main::c#1 ]
zp[1]:67 [ main::row#10 main::row#3 ]
zp[1]:69 [ main::r1#5 main::r1#1 ]
zp[1]:55 [ main::c#2 main::c#1 ]
zp[1]:65 [ main::row#10 main::row#3 ]
zp[1]:67 [ main::r1#5 main::r1#1 ]
zp[1]:41 [ main::column1#2 main::column1#1 vera_tile_area::x#5 vera_tile_area::x#3 vera_tile_area::x#1 ]
reg byte x [ main::c1#2 main::c1#1 ]
reg byte y [ vera_layer_set_textcolor::layer#3 vera_layer_set_textcolor::layer#1 vera_layer_set_textcolor::layer#2 ]
@ -576,11 +576,11 @@ reg byte a [ vera_layer_get_color::return#3 vera_layer_get_color::return#1 vera_
reg byte y [ memcpy_in_vram::src_bank#3 ]
reg byte x [ vera_layer_mode_tile::color_depth#5 ]
zp[1]:62 [ vera_layer_mode_tile::layer#10 ]
zp[2]:70 [ vera_layer_mode_tile::mapheight#10 ]
zp[4]:76 [ vera_layer_mode_tile::mapbase_address#10 ]
zp[4]:80 [ vera_layer_mode_tile::tilebase_address#10 ]
zp[1]:86 [ vera_layer_mode_tile::tilewidth#10 ]
zp[1]:87 [ vera_layer_mode_tile::tileheight#10 ]
zp[2]:68 [ vera_layer_mode_tile::mapheight#10 ]
zp[4]:74 [ vera_layer_mode_tile::mapbase_address#10 ]
zp[4]:78 [ vera_layer_mode_tile::tilebase_address#10 ]
zp[1]:84 [ vera_layer_mode_tile::tilewidth#10 ]
zp[1]:85 [ vera_layer_mode_tile::tileheight#10 ]
reg byte x [ vera_layer_mode_tile::config#25 vera_layer_mode_tile::config#21 vera_layer_mode_tile::config#17 vera_layer_mode_tile::config#6 vera_layer_mode_tile::config#7 vera_layer_mode_tile::config#8 vera_layer_mode_tile::config#10 vera_layer_mode_tile::config#11 vera_layer_mode_tile::config#12 ]
reg byte x [ vera_layer_mode_tile::tilebase#10 vera_layer_mode_tile::tilebase#12 vera_layer_mode_tile::tilebase#1 vera_layer_mode_tile::tilebase#3 vera_layer_mode_tile::tilebase#5 ]
reg byte y [ clrscr::c#2 clrscr::c#1 ]
@ -591,7 +591,7 @@ zp[2]:2 [ clearline::c#2 clearline::c#1 memcpy_in_vram::i#2 memcpy_in_vram::i#1
zp[1]:15 [ conio_screen_width ]
zp[1]:33 [ conio_screen_height ]
zp[1]:29 [ conio_screen_layer ]
zp[2]:72 [ conio_width ]
zp[2]:70 [ conio_width ]
zp[2]:38 [ conio_height ]
zp[1]:24 [ conio_rowshift ]
zp[2]:25 [ conio_rowskip ]
@ -618,7 +618,7 @@ reg byte y [ vera_layer_get_mapbase_bank::layer#0 ]
reg byte x [ vera_layer_get_mapbase_bank::return#2 ]
reg byte x [ CONIO_SCREEN_BANK#15 ]
reg byte a [ vera_layer_get_mapbase_offset::layer#0 ]
zp[2]:88 [ CONIO_SCREEN_TEXT#17 ]
zp[2]:86 [ CONIO_SCREEN_TEXT#17 ]
reg byte a [ screenlayer::vera_layer_get_width1_layer#0 ]
reg byte a [ screenlayer::vera_layer_get_width1_$2 ]
reg byte a [ screenlayer::vera_layer_get_width1_$0 ]
@ -633,7 +633,7 @@ reg byte a [ screenlayer::vera_layer_get_height1_$2 ]
reg byte a [ screenlayer::vera_layer_get_height1_$0 ]
reg byte a [ screenlayer::vera_layer_get_height1_$1 ]
reg byte a [ screenlayer::vera_layer_get_height1_$3 ]
zp[2]:63 [ screenlayer::$5 ]
zp[2]:58 [ screenlayer::vera_layer_get_height1_return#0 screenlayer::vera_layer_get_height1_return#1 screenlayer::$5 ]
reg byte a [ vera_layer_set_mapbase::$0 ]
zp[2]:16 [ gotoxy::$6 gotoxy::line_offset#0 screenlayer::vera_layer_get_width1_return#0 screenlayer::vera_layer_get_width1_return#1 screenlayer::$2 vera_layer_get_mapbase_offset::return#2 vera_layer_get_mapbase_offset::return#0 vera_layer_mode_tile::mapwidth#10 ]
reg byte a [ gotoxy::$5 ]
@ -652,15 +652,15 @@ reg byte a [ memcpy_in_vram::$5 ]
reg byte a [ vera_layer_mode_tile::$14 ]
reg byte a [ vera_layer_set_config::layer#0 ]
reg byte x [ vera_layer_set_config::config#0 ]
zp[2]:55 [ vera_layer_mode_tile::$1 vera_layer_get_rowskip::return#2 screenlayer::$4 vera_layer_get_rowskip::return#0 ]
zp[2]:53 [ vera_layer_mode_tile::$1 vera_layer_get_rowskip::return#2 screenlayer::$4 vera_layer_get_rowskip::return#0 ]
zp[1]:61 [ vera_layer_mode_tile::$17 ]
reg byte a [ vera_layer_mode_tile::$2 ]
zp[1]:60 [ vera_layer_mode_tile::$18 ]
zp[4]:47 [ vera_layer_mode_tile::mapbase_address#0 ]
zp[4]:45 [ vera_layer_mode_tile::mapbase_address#0 ]
reg byte x [ vera_layer_mode_tile::mapbase#0 ]
zp[2]:45 [ vera_layer_mode_tile::$6 screenlayer::vera_layer_get_height1_config#0 ]
zp[2]:43 [ vera_layer_mode_tile::$6 screenlayer::vera_layer_get_height1_config#0 ]
reg byte a [ vera_layer_mode_tile::$7 ]
zp[4]:51 [ vera_layer_mode_tile::tilebase_address#0 ]
zp[4]:49 [ vera_layer_mode_tile::tilebase_address#0 ]
reg byte a [ vera_layer_mode_tile::tilebase#0 ]
reg byte a [ vera_layer_set_tilebase::layer#0 ]
reg byte x [ vera_layer_set_tilebase::tilebase#0 ]
@ -670,7 +670,7 @@ reg byte a [ vera_layer_mode_tile::$11 ]
reg byte y [ vera_layer_get_backcolor::layer#0 ]
reg byte a [ vera_layer_get_backcolor::return#0 ]
reg byte a [ clrscr::$0 ]
zp[1]:85 [ clrscr::$1 ]
zp[1]:83 [ clrscr::$1 ]
reg byte y [ vera_layer_get_textcolor::layer#0 ]
reg byte a [ vera_layer_get_textcolor::return#0 ]
reg byte a [ clrscr::$2 ]
@ -695,17 +695,16 @@ reg byte a [ vera_tile_area::vera_vram_address01_$1 ]
reg byte a [ vera_tile_area::vera_vram_address01_$2 ]
reg byte a [ vera_tile_area::vera_vram_address01_$3 ]
reg byte a [ printf_str::c#1 ]
zp[1]:58 [ kbhit::ch ]
zp[1]:56 [ kbhit::ch ]
reg byte a [ kbhit::return#0 ]
reg byte a [ kbhit::return#1 ]
zp[2]:43 [ vera_layer_set_text_color_mode::addr#0 screenlayer::vera_layer_get_height1_return#0 screenlayer::vera_layer_get_height1_return#1 ]
reg byte x [ vera_layer_get_mapbase_bank::return#0 ]
reg byte a [ vera_layer_get_mapbase_offset::$0 ]
reg byte a [ vera_layer_get_rowshift::return#0 ]
reg byte a [ vera_layer_get_rowskip::$0 ]
reg byte a [ vera_layer_set_config::$0 ]
reg byte a [ vera_layer_set_tilebase::$0 ]
zp[2]:34 [ vera_layer_set_tilebase::addr#0 vera_layer_set_config::addr#0 vera_layer_set_mapbase::addr#0 screenlayer::vera_layer_get_width1_config#0 ]
zp[2]:34 [ vera_layer_set_tilebase::addr#0 vera_layer_set_config::addr#0 vera_layer_set_text_color_mode::addr#0 vera_layer_set_mapbase::addr#0 screenlayer::vera_layer_get_width1_config#0 ]
reg byte a [ vera_layer_get_backcolor::return#1 ]
reg byte a [ vera_layer_get_textcolor::return#1 ]
zp[1]:14 [ insertup::cy#0 vera_tile_area::w#11 ]

View File

@ -85,15 +85,15 @@
// Variable holding the screen width;
.label conio_screen_width = $e
// Variable holding the screen height;
.label conio_screen_height = $21
.label conio_screen_height = $20
// Variable holding the screen layer on the VERA card with which conio interacts;
.label conio_screen_layer = $1d
.label conio_screen_layer = $1c
// Variables holding the current map width and map height of the layer.
.label conio_width = $45
.label conio_width = $46
.label conio_height = $26
.label conio_rowshift = $17
.label conio_rowskip = $18
.label CONIO_SCREEN_BANK = $55
.label CONIO_SCREEN_BANK = $56
// The screen width
// The screen height
// The text screen base address, which is a 16:0 bit value in VERA VRAM.
@ -108,7 +108,7 @@
// based on the values of VERA_L0_MAPBASE or VERA_L1_MAPBASE, mapping the base address of the selected layer.
// The function setscreenlayermapbase(layer,mapbase) allows to configure bit 16:9 of the
// mapbase address of the time map in VRAM of the selected layer VERA_L0_MAPBASE or VERA_L1_MAPBASE.
.label CONIO_SCREEN_TEXT = $56
.label CONIO_SCREEN_TEXT = $57
// The screen width
// The screen height
// The text screen base address, which is a 16:0 bit value in VERA VRAM.
@ -156,7 +156,7 @@ __start: {
conio_x16_init: {
// Position cursor at current line
.label BASIC_CURSOR_LINE = $d6
.label line = $51
.label line = $52
// char line = *BASIC_CURSOR_LINE
lda BASIC_CURSOR_LINE
sta.z line
@ -198,11 +198,11 @@ conio_x16_init: {
}
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__zp($20) char c)
// void cputc(__zp($25) char c)
cputc: {
.const OFFSET_STACK_C = 0
.label __16 = 2
.label c = $20
.label c = $25
.label conio_addr = 8
tsx
lda STACK_BASE+OFFSET_STACK_C,x
@ -302,17 +302,17 @@ cputc: {
rts
}
main: {
.label tilebase = $47
.label tilebase = $48
.label t = $3f
.label tile = $24
.label tile = $23
.label c = $39
// Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters.
.label row = $29
.label r = $41
.label column1 = $2a
.label row = $40
.label r = $42
.label column1 = $29
// Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters.
.label row_1 = $40
.label r1 = $42
.label row_1 = $41
.label r1 = $43
// vera_layer_set_textcolor(conio_screen_layer, color)
ldx.z conio_screen_layer
jsr vera_layer_set_textcolor
@ -421,6 +421,8 @@ main: {
__b6:
// vera_tile_area(0, tile, column, row, 1, 1, 0, 0, 0)
stx.z vera_tile_area.x
lda.z row
sta.z vera_tile_area.y
lda #1
sta.z vera_tile_area.w
sta.z vera_tile_area.h
@ -705,7 +707,7 @@ screenlayer: {
.label __2 = $f
.label __4 = $37
.label __5 = $2b
.label vera_layer_get_width1_config = $22
.label vera_layer_get_width1_config = $21
.label vera_layer_get_width1_return = $f
.label vera_layer_get_height1_config = $2d
.label vera_layer_get_height1_return = $2b
@ -835,7 +837,7 @@ vera_layer_set_backcolor: {
// so the resulting address in the VERA VRAM is always aligned to a multiple of 512 bytes.
// void vera_layer_set_mapbase(__register(A) char layer, __register(X) char mapbase)
vera_layer_set_mapbase: {
.label addr = $22
.label addr = $21
// byte* addr = vera_layer_mapbase[layer]
asl
tay
@ -975,9 +977,9 @@ cputln: {
}
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: {
.label __1 = $52
.label __1 = $53
.label line_text = 2
.label color = $1c
.label color = $1f
// char* line_text = CONIO_SCREEN_TEXT
lda.z CONIO_SCREEN_TEXT
sta.z line_text
@ -1086,7 +1088,7 @@ clrscr: {
// - tilewidth: The width of a tile, which can be 8 or 16 pixels.
// - tileheight: The height of a tile, which can be 8 or 16 pixels.
// - color_depth: The color depth in bits per pixel (BPP), which can be 1, 2, 4 or 8.
// void vera_layer_mode_tile(__zp($3e) char layer, __zp($2f) unsigned long mapbase_address, __zp($33) unsigned long tilebase_address, __zp($f) unsigned int mapwidth, __zp($43) unsigned int mapheight, __zp($53) char tilewidth, __zp($54) char tileheight, __register(X) char color_depth)
// void vera_layer_mode_tile(__zp($3e) char layer, __zp($2f) unsigned long mapbase_address, __zp($33) unsigned long tilebase_address, __zp($f) unsigned int mapwidth, __zp($44) unsigned int mapheight, __zp($54) char tilewidth, __zp($55) char tileheight, __register(X) char color_depth)
vera_layer_mode_tile: {
.label __1 = $37
.label __6 = $2d
@ -1096,11 +1098,11 @@ vera_layer_mode_tile: {
.label tilebase_address = $33
.label mapwidth = $f
.label layer = $3e
.label mapheight = $43
.label mapbase_address_1 = $49
.label tilebase_address_1 = $4d
.label tilewidth = $53
.label tileheight = $54
.label mapheight = $44
.label mapbase_address_1 = $4a
.label tilebase_address_1 = $4e
.label tilewidth = $54
.label tileheight = $55
// case 1:
// config |= VERA_LAYER_COLOR_DEPTH_1BPP;
// break;
@ -1457,7 +1459,7 @@ vera_layer_mode_tile: {
memcpy_to_vram: {
// Transfer the data
.label end = main.tiles+$40
.label s = $1e
.label s = $1d
.label vdest = 2
// *VERA_CTRL &= ~VERA_ADDRSEL
// Select DATA0
@ -1503,23 +1505,23 @@ memcpy_to_vram: {
jmp __b1
}
// --- TILE FUNCTIONS ---
// void vera_tile_area(char layer, __zp($24) unsigned int tileindex, __zp($2a) char x, __zp($29) char y, __zp($1c) char w, __zp($20) char h, __zp($28) char hflip, __zp($1a) char vflip, char offset)
// void vera_tile_area(char layer, __zp($23) unsigned int tileindex, __zp($29) char x, __zp($25) char y, __zp($d) char w, __zp($1f) char h, __zp($28) char hflip, __zp($1a) char vflip, char offset)
vera_tile_area: {
.label __4 = 2
.label __10 = 2
.label mapbase = $13
.label shift = $d
.label shift = $2a
.label rowskip = 8
.label hflip = $28
.label vflip = $1a
.label index_l = $1b
.label index_h = $1a
.label r = $c
.label tileindex = $24
.label x = $2a
.label y = $29
.label h = $20
.label w = $1c
.label tileindex = $23
.label x = $29
.label y = $25
.label h = $1f
.label w = $d
// dword mapbase = vera_mapbase_address[layer]
lda vera_mapbase_address
sta.z mapbase
@ -1667,9 +1669,9 @@ vera_tile_area: {
jmp __b2
}
/// Print a NUL-terminated string
// void printf_str(void (*putc)(char), __zp($1e) const char *s)
// void printf_str(void (*putc)(char), __zp($1d) const char *s)
printf_str: {
.label s = $1e
.label s = $1d
__b1:
// while(c=*s++)
ldy #0
@ -1866,7 +1868,7 @@ vera_layer_get_textcolor: {
// - config: Specifies the modes which are specified using T256C / 'Bitmap Mode' / 'Color Depth'.
// void vera_layer_set_config(__register(A) char layer, __register(X) char config)
vera_layer_set_config: {
.label addr = $22
.label addr = $21
// byte* addr = vera_layer_config[layer]
asl
tay
@ -1888,7 +1890,7 @@ vera_layer_set_config: {
// so the resulting address in the VERA VRAM is always aligned to a multiple of 2048 bytes!
// void vera_layer_set_tilebase(__register(A) char layer, __register(X) char tilebase)
vera_layer_set_tilebase: {
.label addr = $22
.label addr = $21
// byte* addr = vera_layer_tilebase[layer]
asl
tay
@ -1905,8 +1907,8 @@ vera_layer_set_tilebase: {
}
// Insert a new line, and scroll the upper part of the screen up.
insertup: {
.label cy = $c
.label width = $d
.label cy = $d
.label width = $c
.label line = 6
.label start = 6
// unsigned byte cy = conio_cursor_y[conio_screen_layer]

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,10 @@
__constant const char BLACK = 0
__constant const char BLUE = 6
char CONIO_SCREEN_BANK
char CONIO_SCREEN_BANK#11 // CONIO_SCREEN_BANK zp[1]:85 12.813953488372093
char CONIO_SCREEN_BANK#11 // CONIO_SCREEN_BANK zp[1]:86 12.813953488372093
char CONIO_SCREEN_BANK#15 // CONIO_SCREEN_BANK_1 zp[1]:59 625.0625
char *CONIO_SCREEN_TEXT
unsigned int CONIO_SCREEN_TEXT#13 // CONIO_SCREEN_TEXT zp[2]:86 1.8363636363636364
unsigned int CONIO_SCREEN_TEXT#13 // CONIO_SCREEN_TEXT zp[2]:87 1.8363636363636364
char *CONIO_SCREEN_TEXT#17 // CONIO_SCREEN_TEXT_1 zp[2]:17 2.0370555611111112E7
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
@ -64,7 +64,7 @@ char clearline::color
char clearline::color#0 // reg byte x 1.6833333336666665E9
void clrscr()
char clrscr::$0 // reg byte a 202.0
char clrscr::$1 // zp[1]:82 40.4
char clrscr::$1 // zp[1]:83 40.4
char clrscr::$2 // reg byte a 202.0
char clrscr::$5 // reg byte a 2002.0
char clrscr::$6 // reg byte a 2002.0
@ -75,7 +75,7 @@ char clrscr::c#1 // reg byte y 20002.0
char clrscr::c#2 // reg byte y 7500.75
char *clrscr::ch
char clrscr::color
char clrscr::color#0 // color zp[1]:28 594.2352941176471
char clrscr::color#0 // color zp[1]:31 594.2352941176471
char clrscr::l
char clrscr::l#1 // reg byte x 2002.0
char clrscr::l#2 // reg byte x 200.2
@ -89,17 +89,17 @@ __loadstore unsigned int conio_height // zp[2]:38 5561.694444444444
__constant unsigned int conio_line_text[2] = { 0, 0 }
__loadstore char conio_rowshift // zp[1]:23 5287958.664921466
__loadstore unsigned int conio_rowskip // zp[2]:24 4878541.980487805
__loadstore volatile char conio_screen_height // zp[1]:33 70588.39411764707
__loadstore char conio_screen_layer // zp[1]:29 1296495.313207547
__loadstore volatile char conio_screen_height // zp[1]:32 70588.39411764707
__loadstore char conio_screen_layer // zp[1]:28 1296495.313207547
__loadstore volatile char conio_screen_width // zp[1]:14 4.8878097590243906E7
__constant char conio_scroll_enable[2] = { 1, 1 }
__loadstore unsigned int conio_width // zp[2]:69 110.46703296703298
__loadstore unsigned int conio_width // zp[2]:70 110.46703296703298
void conio_x16_init()
__constant char * const conio_x16_init::BASIC_CURSOR_LINE = (char *) 214
char conio_x16_init::line
char conio_x16_init::line#0 // line zp[1]:81 2.1999999999999997
char conio_x16_init::line#1 // line zp[1]:81 22.0
char conio_x16_init::line#3 // line zp[1]:81 33.0
char conio_x16_init::line#0 // line zp[1]:82 2.1999999999999997
char conio_x16_init::line#1 // line zp[1]:82 22.0
char conio_x16_init::line#3 // line zp[1]:82 33.0
__stackcall void cputc(char c)
char cputc::$15 // reg byte a 20002.0
unsigned int cputc::$16 // zp[2]:2 20002.0
@ -109,7 +109,7 @@ char cputc::$5 // reg byte a 20002.0
char cputc::$6 // reg byte a 20002.0
__constant char cputc::OFFSET_STACK_C = 0
char cputc::c
char cputc::c#0 // c zp[1]:32 1764.8823529411764
char cputc::c#0 // c zp[1]:37 1764.8823529411764
char cputc::color
char cputc::color#0 // reg byte x 1428.7142857142858
char *cputc::conio_addr
@ -138,7 +138,7 @@ char gotoxy::y#5 // reg byte x 4000000.4
void insertup()
char insertup::$3 // reg byte a 2.000000002E9
char insertup::cy
char insertup::cy#0 // cy zp[1]:12 8.416666683333334E7
char insertup::cy#0 // cy zp[1]:13 8.416666683333334E7
char insertup::i
char insertup::i#1 // reg byte x 2.000000002E9
char insertup::i#2 // reg byte x 4.444444448888889E8
@ -147,7 +147,7 @@ unsigned int insertup::line#0 // line zp[2]:6 2.000000002E9
char *insertup::start
char *insertup::start#0 // start zp[2]:6 1.000000001E9
char insertup::width
char insertup::width#0 // width zp[1]:13 9.1818182E7
char insertup::width#0 // width zp[1]:12 9.1818182E7
char kbhit()
__constant char * const kbhit::GETIN = (char *) 65508
__constant char * const kbhit::IN_DEV = (char *) 650
@ -170,22 +170,22 @@ char main::column
char main::column#1 // reg byte x 400.4
char main::column#2 // reg byte x 600.5999999999999
char main::column1
char main::column1#1 // column1 zp[1]:42 400.4
char main::column1#2 // column1 zp[1]:42 600.5999999999999
char main::column1#1 // column1 zp[1]:41 400.4
char main::column1#2 // column1 zp[1]:41 600.5999999999999
char main::p
char main::p#1 // reg byte x 1501.5
char main::p#2 // reg byte x 2002.0
char main::r
char main::r#1 // r zp[1]:65 151.5
char main::r#5 // r zp[1]:65 16.833333333333332
char main::r#1 // r zp[1]:66 151.5
char main::r#5 // r zp[1]:66 16.833333333333332
char main::r1
char main::r1#1 // r1 zp[1]:66 151.5
char main::r1#5 // r1 zp[1]:66 16.833333333333332
char main::r1#1 // r1 zp[1]:67 151.5
char main::r1#5 // r1 zp[1]:67 16.833333333333332
char main::row
char main::row#1 // row zp[1]:41 67.33333333333333
char main::row#11 // row_1 zp[1]:64 109.36363636363637
char main::row#3 // row_1 zp[1]:64 67.33333333333333
char main::row#9 // row zp[1]:41 109.36363636363637
char main::row#1 // row zp[1]:64 67.33333333333333
char main::row#11 // row_1 zp[1]:65 109.36363636363637
char main::row#3 // row_1 zp[1]:65 67.33333333333333
char main::row#9 // row zp[1]:64 109.36363636363637
__constant char main::s[$38] = "vera in tile mode 8 x 8, color depth 8 bits per pixel.
"
__constant char main::s1[$3a] = "in this mode, tiles are 8 pixels wide and 8 pixels tall.
@ -207,17 +207,17 @@ char main::t#1 // t zp[1]:63 151.5
char main::t#5 // t zp[1]:63 25.25
char main::textcolor1_color
unsigned int main::tile
unsigned int main::tile#1 // tile zp[2]:36 2002.0
unsigned int main::tile#10 // tile zp[2]:36 202.0
unsigned int main::tile#11 // tile zp[2]:36 202.0
unsigned int main::tile#12 // tile zp[2]:36 350.5
unsigned int main::tile#13 // tile zp[2]:36 350.5
unsigned int main::tile#4 // tile zp[2]:36 2002.0
unsigned int main::tile#6 // tile zp[2]:36 517.3333333333334
unsigned int main::tile#8 // tile zp[2]:36 517.3333333333334
unsigned int main::tile#1 // tile zp[2]:35 2002.0
unsigned int main::tile#10 // tile zp[2]:35 202.0
unsigned int main::tile#11 // tile zp[2]:35 202.0
unsigned int main::tile#12 // tile zp[2]:35 350.5
unsigned int main::tile#13 // tile zp[2]:35 350.5
unsigned int main::tile#4 // tile zp[2]:35 2002.0
unsigned int main::tile#6 // tile zp[2]:35 517.3333333333334
unsigned int main::tile#8 // tile zp[2]:35 517.3333333333334
char *main::tilebase
char *main::tilebase#2 // tilebase zp[2]:71 67.33333333333333
char *main::tilebase#7 // tilebase zp[2]:71 28.857142857142858
char *main::tilebase#2 // tilebase zp[2]:72 67.33333333333333
char *main::tilebase#7 // tilebase zp[2]:72 28.857142857142858
__constant char main::tiles[$40] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
char main::vera_layer_show1_layer
void memcpy_in_vram(char dest_bank , void *dest , char dest_increment , char src_bank , void *src , char src_increment , unsigned int num)
@ -245,8 +245,8 @@ char *memcpy_to_vram::end
__constant char *memcpy_to_vram::end#0 = (char *)(void *)main::tiles+$40 // end
unsigned int memcpy_to_vram::num
char *memcpy_to_vram::s
char *memcpy_to_vram::s#1 // s zp[2]:30 200002.0
char *memcpy_to_vram::s#2 // s zp[2]:30 133334.66666666666
char *memcpy_to_vram::s#1 // s zp[2]:29 200002.0
char *memcpy_to_vram::s#2 // s zp[2]:29 133334.66666666666
void *memcpy_to_vram::src
char memcpy_to_vram::vbank
void *memcpy_to_vram::vdest
@ -257,9 +257,9 @@ char printf_str::c
char printf_str::c#1 // reg byte a 1001.0
void (*printf_str::putc)(char)
const char *printf_str::s
const char *printf_str::s#0 // s zp[2]:30 400.4
const char *printf_str::s#10 // s zp[2]:30 101.0
const char *printf_str::s#9 // s zp[2]:30 1552.0
const char *printf_str::s#0 // s zp[2]:29 400.4
const char *printf_str::s#10 // s zp[2]:29 101.0
const char *printf_str::s#9 // s zp[2]:29 1552.0
void screenlayer(char layer)
unsigned int screenlayer::$2 // zp[2]:15 202.0
char screenlayer::$3 // reg byte a 202.0
@ -283,7 +283,7 @@ char screenlayer::vera_layer_get_width1_$1 // reg byte a 202.0
char screenlayer::vera_layer_get_width1_$2 // reg byte a 202.0
char screenlayer::vera_layer_get_width1_$3 // reg byte a 202.0
char *screenlayer::vera_layer_get_width1_config
char *screenlayer::vera_layer_get_width1_config#0 // vera_layer_get_width1_config zp[2]:34 202.0
char *screenlayer::vera_layer_get_width1_config#0 // vera_layer_get_width1_config zp[2]:33 202.0
char screenlayer::vera_layer_get_width1_layer
char screenlayer::vera_layer_get_width1_layer#0 // reg byte a 202.0
unsigned int screenlayer::vera_layer_get_width1_return
@ -404,9 +404,9 @@ char vera_layer_mode_tile::mapbase
char vera_layer_mode_tile::mapbase#0 // reg byte x 1001.0
unsigned long vera_layer_mode_tile::mapbase_address
unsigned long vera_layer_mode_tile::mapbase_address#0 // mapbase_address zp[4]:47 2002.0
unsigned long vera_layer_mode_tile::mapbase_address#10 // mapbase_address_1 zp[4]:73 88.97777777777777
unsigned long vera_layer_mode_tile::mapbase_address#10 // mapbase_address_1 zp[4]:74 88.97777777777777
unsigned int vera_layer_mode_tile::mapheight
unsigned int vera_layer_mode_tile::mapheight#10 // mapheight zp[2]:67 133.46666666666667
unsigned int vera_layer_mode_tile::mapheight#10 // mapheight zp[2]:68 133.46666666666667
unsigned int vera_layer_mode_tile::mapwidth
unsigned int vera_layer_mode_tile::mapwidth#10 // mapwidth zp[2]:15 400.4
char vera_layer_mode_tile::tilebase
@ -418,11 +418,11 @@ char vera_layer_mode_tile::tilebase#3 // reg byte x 2002.0
char vera_layer_mode_tile::tilebase#5 // reg byte x 2002.0
unsigned long vera_layer_mode_tile::tilebase_address
unsigned long vera_layer_mode_tile::tilebase_address#0 // tilebase_address zp[4]:51 2002.0
unsigned long vera_layer_mode_tile::tilebase_address#10 // tilebase_address_1 zp[4]:77 72.8
unsigned long vera_layer_mode_tile::tilebase_address#10 // tilebase_address_1 zp[4]:78 72.8
char vera_layer_mode_tile::tileheight
char vera_layer_mode_tile::tileheight#10 // tileheight zp[1]:84 31.77777777777778
char vera_layer_mode_tile::tileheight#10 // tileheight zp[1]:85 31.77777777777778
char vera_layer_mode_tile::tilewidth
char vera_layer_mode_tile::tilewidth#10 // tilewidth zp[1]:83 33.932203389830505
char vera_layer_mode_tile::tilewidth#10 // tilewidth zp[1]:84 33.932203389830505
__constant char vera_layer_rowshift[2] = { 0, 0 }
__constant unsigned int vera_layer_rowskip[2] = { 0, 0 }
char vera_layer_set_backcolor(char layer , char color)
@ -436,7 +436,7 @@ char vera_layer_set_backcolor::return
void vera_layer_set_config(char layer , char config)
char vera_layer_set_config::$0 // reg byte a 20002.0
char *vera_layer_set_config::addr
char *vera_layer_set_config::addr#0 // addr zp[2]:34 20002.0
char *vera_layer_set_config::addr#0 // addr zp[2]:33 20002.0
char vera_layer_set_config::config
char vera_layer_set_config::config#0 // reg byte x 3667.333333333333
char vera_layer_set_config::layer
@ -444,7 +444,7 @@ char vera_layer_set_config::layer#0 // reg byte a 5501.0
void vera_layer_set_mapbase(char layer , char mapbase)
char vera_layer_set_mapbase::$0 // reg byte a 20002.0
char *vera_layer_set_mapbase::addr
char *vera_layer_set_mapbase::addr#0 // addr zp[2]:34 20002.0
char *vera_layer_set_mapbase::addr#0 // addr zp[2]:33 20002.0
char vera_layer_set_mapbase::layer
char vera_layer_set_mapbase::layer#0 // reg byte a 1001.0
char vera_layer_set_mapbase::layer#3 // reg byte a 11002.0
@ -466,7 +466,7 @@ char vera_layer_set_textcolor::return
void vera_layer_set_tilebase(char layer , char tilebase)
char vera_layer_set_tilebase::$0 // reg byte a 20002.0
char *vera_layer_set_tilebase::addr
char *vera_layer_set_tilebase::addr#0 // addr zp[2]:34 20002.0
char *vera_layer_set_tilebase::addr#0 // addr zp[2]:33 20002.0
char vera_layer_set_tilebase::layer
char vera_layer_set_tilebase::layer#0 // reg byte a 5501.0
char vera_layer_set_tilebase::tilebase
@ -485,7 +485,7 @@ char vera_tile_area::c
char vera_tile_area::c#1 // reg byte y 2.00000002E8
char vera_tile_area::c#2 // reg byte y 7.500000075E7
char vera_tile_area::h
char vera_tile_area::h#4 // h zp[1]:32 312500.03125
char vera_tile_area::h#4 // h zp[1]:31 312500.03125
char vera_tile_area::hflip
char vera_tile_area::hflip#0 // hflip zp[1]:40 5000.5
char vera_tile_area::index_h
@ -508,11 +508,11 @@ char vera_tile_area::r#2 // r zp[1]:12 1875000.1875
unsigned int vera_tile_area::rowskip
unsigned int vera_tile_area::rowskip#0 // rowskip zp[2]:8 345172.4827586207
char vera_tile_area::shift
char vera_tile_area::shift#0 // shift zp[1]:13 3333.6666666666665
char vera_tile_area::shift#0 // shift zp[1]:42 3333.6666666666665
unsigned int vera_tile_area::tileindex
unsigned int vera_tile_area::tileindex#1 // tileindex zp[2]:36 667.3333333333334
unsigned int vera_tile_area::tileindex#2 // tileindex zp[2]:36 667.3333333333334
unsigned int vera_tile_area::tileindex#3 // tileindex zp[2]:36 3143.4285714285716
unsigned int vera_tile_area::tileindex#1 // tileindex zp[2]:35 667.3333333333334
unsigned int vera_tile_area::tileindex#2 // tileindex zp[2]:35 667.3333333333334
unsigned int vera_tile_area::tileindex#3 // tileindex zp[2]:35 3143.4285714285716
char vera_tile_area::vera_vram_address01_$0 // reg byte a 2.0000002E7
char vera_tile_area::vera_vram_address01_$1 // reg byte a 2.0000002E7
char vera_tile_area::vera_vram_address01_$2 // reg byte a 2.0000002E7
@ -522,33 +522,33 @@ char vera_tile_area::vera_vram_address01_incr
char vera_tile_area::vflip
char vera_tile_area::vflip#0 // vflip zp[1]:26 5000.5
char vera_tile_area::w
char vera_tile_area::w#9 // w zp[1]:28 3125000.03125
char vera_tile_area::w#9 // w zp[1]:13 3125000.03125
char vera_tile_area::x
char vera_tile_area::x#1 // x zp[1]:42 1001.0
char vera_tile_area::x#2 // x zp[1]:42 1001.0
char vera_tile_area::x#3 // x zp[1]:42 923.3076923076923
char vera_tile_area::x#1 // x zp[1]:41 1001.0
char vera_tile_area::x#2 // x zp[1]:41 1001.0
char vera_tile_area::x#3 // x zp[1]:41 923.3076923076923
char vera_tile_area::y
char vera_tile_area::y#1 // y zp[1]:41 2002.0
char vera_tile_area::y#2 // y zp[1]:41 2002.0
char vera_tile_area::y#3 // y zp[1]:41 200.2
char vera_tile_area::y#1 // y zp[1]:37 2002.0
char vera_tile_area::y#2 // y zp[1]:37 2002.0
char vera_tile_area::y#3 // y zp[1]:37 200.2
__constant unsigned long vera_tilebase_address[2] = { 0, 0 }
__constant char vera_tilebase_bank[2] = { 0, 0 }
__constant unsigned int vera_tilebase_offset[2] = { 0, 0 }
zp[1]:81 [ conio_x16_init::line#3 conio_x16_init::line#1 conio_x16_init::line#0 ]
zp[1]:82 [ conio_x16_init::line#3 conio_x16_init::line#1 conio_x16_init::line#0 ]
zp[2]:17 [ CONIO_SCREEN_TEXT#17 ]
zp[1]:59 [ CONIO_SCREEN_BANK#15 ]
zp[2]:71 [ main::tilebase#7 main::tilebase#2 ]
zp[2]:72 [ main::tilebase#7 main::tilebase#2 ]
zp[1]:63 [ main::t#5 main::t#1 ]
reg byte x [ main::p#2 main::p#1 ]
zp[1]:41 [ main::row#9 main::row#1 vera_tile_area::y#3 vera_tile_area::y#2 vera_tile_area::y#1 ]
zp[1]:65 [ main::r#5 main::r#1 ]
zp[2]:36 [ main::tile#6 main::tile#10 main::tile#12 main::tile#1 vera_tile_area::tileindex#3 vera_tile_area::tileindex#2 vera_tile_area::tileindex#1 main::tile#8 main::tile#11 main::tile#13 main::tile#4 ]
zp[1]:64 [ main::row#9 main::row#1 ]
zp[1]:66 [ main::r#5 main::r#1 ]
zp[2]:35 [ main::tile#6 main::tile#10 main::tile#12 main::tile#1 vera_tile_area::tileindex#3 vera_tile_area::tileindex#2 vera_tile_area::tileindex#1 main::tile#8 main::tile#11 main::tile#13 main::tile#4 ]
reg byte x [ main::column#2 main::column#1 ]
zp[1]:57 [ main::c#2 main::c#1 ]
zp[1]:64 [ main::row#11 main::row#3 ]
zp[1]:66 [ main::r1#5 main::r1#1 ]
zp[1]:42 [ main::column1#2 main::column1#1 vera_tile_area::x#3 vera_tile_area::x#2 vera_tile_area::x#1 ]
zp[1]:65 [ main::row#11 main::row#3 ]
zp[1]:67 [ main::r1#5 main::r1#1 ]
zp[1]:41 [ main::column1#2 main::column1#1 vera_tile_area::x#3 vera_tile_area::x#2 vera_tile_area::x#1 ]
reg byte x [ main::c1#2 main::c1#1 ]
reg byte x [ vera_layer_set_textcolor::layer#2 vera_layer_set_textcolor::layer#1 ]
reg byte x [ vera_layer_set_backcolor::layer#2 vera_layer_set_backcolor::layer#1 ]
@ -562,25 +562,25 @@ reg byte x [ clrscr::l#2 clrscr::l#1 ]
reg byte y [ clrscr::c#2 clrscr::c#1 ]
reg byte x [ vera_layer_mode_tile::color_depth#2 ]
zp[1]:62 [ vera_layer_mode_tile::layer#10 ]
zp[2]:67 [ vera_layer_mode_tile::mapheight#10 ]
zp[4]:73 [ vera_layer_mode_tile::mapbase_address#10 ]
zp[4]:77 [ vera_layer_mode_tile::tilebase_address#10 ]
zp[1]:83 [ vera_layer_mode_tile::tilewidth#10 ]
zp[1]:84 [ vera_layer_mode_tile::tileheight#10 ]
zp[2]:68 [ vera_layer_mode_tile::mapheight#10 ]
zp[4]:74 [ vera_layer_mode_tile::mapbase_address#10 ]
zp[4]:78 [ vera_layer_mode_tile::tilebase_address#10 ]
zp[1]:84 [ vera_layer_mode_tile::tilewidth#10 ]
zp[1]:85 [ vera_layer_mode_tile::tileheight#10 ]
reg byte x [ vera_layer_mode_tile::config#25 vera_layer_mode_tile::config#21 vera_layer_mode_tile::config#17 vera_layer_mode_tile::config#6 vera_layer_mode_tile::config#7 vera_layer_mode_tile::config#8 vera_layer_mode_tile::config#10 vera_layer_mode_tile::config#11 vera_layer_mode_tile::config#12 ]
reg byte x [ vera_layer_mode_tile::tilebase#10 vera_layer_mode_tile::tilebase#12 vera_layer_mode_tile::tilebase#1 vera_layer_mode_tile::tilebase#3 vera_layer_mode_tile::tilebase#5 ]
zp[4]:19 [ vera_tile_area::mapbase#10 vera_tile_area::mapbase#2 vera_tile_area::mapbase#3 vera_tile_area::mapbase#1 vera_tile_area::mapbase#0 ]
reg byte y [ vera_tile_area::c#2 vera_tile_area::c#1 ]
zp[2]:30 [ printf_str::s#9 printf_str::s#10 printf_str::s#0 memcpy_to_vram::s#2 memcpy_to_vram::s#1 ]
zp[2]:29 [ printf_str::s#9 printf_str::s#10 printf_str::s#0 memcpy_to_vram::s#2 memcpy_to_vram::s#1 ]
reg byte x [ insertup::i#2 insertup::i#1 ]
zp[1]:14 [ conio_screen_width ]
zp[1]:33 [ conio_screen_height ]
zp[1]:29 [ conio_screen_layer ]
zp[2]:69 [ conio_width ]
zp[1]:32 [ conio_screen_height ]
zp[1]:28 [ conio_screen_layer ]
zp[2]:70 [ conio_width ]
zp[2]:38 [ conio_height ]
zp[1]:23 [ conio_rowshift ]
zp[2]:24 [ conio_rowskip ]
zp[1]:32 [ cputc::c#0 vera_tile_area::h#4 ]
zp[1]:37 [ cputc::c#0 vera_tile_area::y#3 vera_tile_area::y#2 vera_tile_area::y#1 ]
reg byte a [ vera_layer_get_color::return#3 ]
reg byte x [ cputc::color#0 ]
reg byte a [ cputc::$15 ]
@ -597,9 +597,9 @@ reg byte a [ screensize::vscale#0 ]
reg byte a [ screensize::$3 ]
reg byte x [ vera_layer_get_mapbase_bank::layer#0 ]
reg byte a [ vera_layer_get_mapbase_bank::return#2 ]
zp[1]:85 [ CONIO_SCREEN_BANK#11 ]
zp[1]:86 [ CONIO_SCREEN_BANK#11 ]
reg byte a [ vera_layer_get_mapbase_offset::layer#0 ]
zp[2]:86 [ CONIO_SCREEN_TEXT#13 ]
zp[2]:87 [ CONIO_SCREEN_TEXT#13 ]
reg byte a [ screenlayer::vera_layer_get_width1_layer#0 ]
reg byte a [ screenlayer::vera_layer_get_width1_$2 ]
reg byte a [ screenlayer::vera_layer_get_width1_$0 ]
@ -625,11 +625,11 @@ reg byte a [ cputln::$3 ]
reg byte x [ vera_layer_get_backcolor::layer#0 ]
reg byte a [ vera_layer_get_backcolor::return#2 ]
reg byte a [ clrscr::$0 ]
zp[1]:82 [ clrscr::$1 ]
zp[1]:83 [ clrscr::$1 ]
reg byte x [ vera_layer_get_textcolor::layer#0 ]
reg byte a [ vera_layer_get_textcolor::return#2 ]
reg byte a [ clrscr::$2 ]
zp[1]:28 [ clrscr::color#0 vera_tile_area::w#9 ]
zp[1]:31 [ clrscr::color#0 vera_tile_area::h#4 ]
reg byte a [ clrscr::$9 ]
reg byte a [ clrscr::$5 ]
reg byte a [ clrscr::$6 ]
@ -654,6 +654,7 @@ reg byte a [ vera_layer_mode_tile::$12 ]
reg byte a [ vera_layer_mode_tile::$11 ]
reg byte a [ memcpy_to_vram::$0 ]
reg byte a [ memcpy_to_vram::$1 ]
zp[1]:42 [ vera_tile_area::shift#0 ]
zp[2]:8 [ vera_tile_area::rowskip#0 cputc::conio_addr#0 cputc::conio_addr#1 cputln::temp#0 cputln::temp#1 vera_layer_get_color::addr#0 ]
zp[1]:40 [ vera_tile_area::hflip#0 ]
zp[1]:26 [ vera_tile_area::vflip#0 vera_tile_area::index_h#2 ]
@ -679,9 +680,9 @@ reg byte a [ vera_layer_get_backcolor::return#0 ]
reg byte a [ vera_layer_get_textcolor::return#0 ]
reg byte a [ vera_layer_set_config::$0 ]
reg byte a [ vera_layer_set_tilebase::$0 ]
zp[2]:34 [ vera_layer_set_tilebase::addr#0 vera_layer_set_config::addr#0 vera_layer_set_mapbase::addr#0 screenlayer::vera_layer_get_width1_config#0 ]
zp[1]:12 [ insertup::cy#0 vera_tile_area::r#2 vera_tile_area::r#1 ]
zp[1]:13 [ insertup::width#0 vera_tile_area::shift#0 ]
zp[2]:33 [ vera_layer_set_tilebase::addr#0 vera_layer_set_config::addr#0 vera_layer_set_mapbase::addr#0 screenlayer::vera_layer_get_width1_config#0 ]
zp[1]:13 [ insertup::cy#0 vera_tile_area::w#9 ]
zp[1]:12 [ insertup::width#0 vera_tile_area::r#2 vera_tile_area::r#1 ]
reg byte a [ insertup::$3 ]
zp[2]:6 [ insertup::line#0 insertup::start#0 memcpy_in_vram::dest#0 ]
zp[2]:4 [ memcpy_in_vram::num#0 ]

View File

@ -11,8 +11,8 @@
// And then allocate a bunch of variables
main: {
.label SCREEN = $400
.label a = $fd
.label a_1 = $fb
.label a = $f9
.label a_1 = $f7
lda #<0
sta h
sta h+1

View File

@ -337,9 +337,9 @@ Complete equivalence classes
[ main::$2 ]
[ main::a#1 ]
[ main::a#2 ]
Allocated zp[1]:251 [ main::i#2 main::i#1 ]
Allocated zp[2]:252 [ main::a#4 main::a#3 ]
Allocated zp[2]:254 [ main::h#2 main::h#1 ]
Allocated zp[1]:247 [ main::i#2 main::i#1 ]
Allocated zp[2]:248 [ main::a#4 main::a#3 ]
Allocated zp[2]:250 [ main::h#2 main::h#1 ]
Zero-page exhausted. Moving allocation to main memory main::b#2
Allocated mem[2] [ main::b#2 main::b#1 ]
Zero-page exhausted. Moving allocation to main memory main::$2
@ -360,7 +360,7 @@ Zero-page exhausted. Moving allocation to main memory main::a#2
Allocated mem[2] [ main::a#2 ]
REGISTER UPLIFT POTENTIAL REGISTERS
Statement [4] main::$2 = main::i#2 << 1 [ main::i#2 main::a#4 main::b#2 main::c#2 main::d#2 main::e#2 main::f#2 main::g#2 main::h#2 main::$2 ] ( [ main::i#2 main::a#4 main::b#2 main::c#2 main::d#2 main::e#2 main::f#2 main::g#2 main::h#2 main::$2 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:251 [ main::i#2 main::i#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:247 [ main::i#2 main::i#1 ]
Statement [5] main::SCREEN[main::$2] = main::a#4 [ main::i#2 main::a#4 main::b#2 main::c#2 main::d#2 main::e#2 main::f#2 main::g#2 main::h#2 main::$2 ] ( [ main::i#2 main::a#4 main::b#2 main::c#2 main::d#2 main::e#2 main::f#2 main::g#2 main::h#2 main::$2 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for mem[1] [ main::$2 ]
Statement [6] main::a#1 = ++ main::a#4 [ main::i#2 main::b#2 main::c#2 main::d#2 main::e#2 main::f#2 main::g#2 main::h#2 main::$2 main::a#1 ] ( [ main::i#2 main::b#2 main::c#2 main::d#2 main::e#2 main::f#2 main::g#2 main::h#2 main::$2 main::a#1 ] { } ) always clobbers reg byte a
@ -389,30 +389,30 @@ Statement [19] main::SCREEN[main::$2] = main::g#2 [ main::i#2 main::g#2 main::h#
Statement [21] main::SCREEN[main::$2] = main::h#2 [ main::i#2 main::h#2 main::b#1 main::c#1 main::d#1 main::e#1 main::f#1 main::g#1 main::$2 main::a#2 ] ( [ main::i#2 main::h#2 main::b#1 main::c#1 main::d#1 main::e#1 main::f#1 main::g#1 main::$2 main::a#2 ] { } ) always clobbers reg byte a
Statement [23] main::SCREEN[main::$2] = main::a#2 [ main::i#2 main::b#1 main::c#1 main::d#1 main::e#1 main::f#1 main::g#1 main::h#1 main::a#2 ] ( [ main::i#2 main::b#1 main::c#1 main::d#1 main::e#1 main::f#1 main::g#1 main::h#1 main::a#2 ] { } ) always clobbers reg byte a
Statement [24] main::a#3 = ++ main::a#2 [ main::i#2 main::a#3 main::b#1 main::c#1 main::d#1 main::e#1 main::f#1 main::g#1 main::h#1 ] ( [ main::i#2 main::a#3 main::b#1 main::c#1 main::d#1 main::e#1 main::f#1 main::g#1 main::h#1 ] { } ) always clobbers reg byte a
Potential registers zp[1]:251 [ main::i#2 main::i#1 ] : zp[1]:251 , reg byte x , reg byte y ,
Potential registers zp[2]:252 [ main::a#4 main::a#3 ] : zp[2]:252 ,
Potential registers zp[1]:247 [ main::i#2 main::i#1 ] : zp[1]:247 , reg byte x , reg byte y ,
Potential registers zp[2]:248 [ main::a#4 main::a#3 ] : zp[2]:248 ,
Potential registers mem[2] [ main::b#2 main::b#1 ] : mem[2] ,
Potential registers mem[2] [ main::c#2 main::c#1 ] : mem[2] ,
Potential registers mem[2] [ main::d#2 main::d#1 ] : mem[2] ,
Potential registers mem[2] [ main::e#2 main::e#1 ] : mem[2] ,
Potential registers mem[2] [ main::f#2 main::f#1 ] : mem[2] ,
Potential registers mem[2] [ main::g#2 main::g#1 ] : mem[2] ,
Potential registers zp[2]:254 [ main::h#2 main::h#1 ] : zp[2]:254 ,
Potential registers zp[2]:250 [ main::h#2 main::h#1 ] : zp[2]:250 ,
Potential registers mem[1] [ main::$2 ] : mem[1] , reg byte x , reg byte y ,
Potential registers mem[2] [ main::a#1 ] : mem[2] ,
Potential registers mem[2] [ main::a#2 ] : mem[2] ,
REGISTER UPLIFT SCOPES
Uplift Scope [main] 23.91: zp[1]:251 [ main::i#2 main::i#1 ] 19.25: zp[2]:252 [ main::a#4 main::a#3 ] 7.15: zp[2]:254 [ main::h#2 main::h#1 ] 6.72: mem[2] [ main::b#2 main::b#1 ] 6.37: mem[1] [ main::$2 ] 5.5: mem[2] [ main::c#2 main::c#1 ] 5.5: mem[2] [ main::g#2 main::g#1 ] 4.87: mem[2] [ main::d#2 main::d#1 ] 4.81: mem[2] [ main::f#2 main::f#1 ] 4.56: mem[2] [ main::e#2 main::e#1 ] 4.12: mem[2] [ main::a#1 ] 3.3: mem[2] [ main::a#2 ]
Uplift Scope [main] 23.91: zp[1]:247 [ main::i#2 main::i#1 ] 19.25: zp[2]:248 [ main::a#4 main::a#3 ] 7.15: zp[2]:250 [ main::h#2 main::h#1 ] 6.72: mem[2] [ main::b#2 main::b#1 ] 6.37: mem[1] [ main::$2 ] 5.5: mem[2] [ main::c#2 main::c#1 ] 5.5: mem[2] [ main::g#2 main::g#1 ] 4.87: mem[2] [ main::d#2 main::d#1 ] 4.81: mem[2] [ main::f#2 main::f#1 ] 4.56: mem[2] [ main::e#2 main::e#1 ] 4.12: mem[2] [ main::a#1 ] 3.3: mem[2] [ main::a#2 ]
Uplift Scope []
Uplifting [main] best 4536 combination reg byte y [ main::i#2 main::i#1 ] zp[2]:252 [ main::a#4 main::a#3 ] zp[2]:254 [ main::h#2 main::h#1 ] mem[2] [ main::b#2 main::b#1 ] reg byte x [ main::$2 ] mem[2] [ main::c#2 main::c#1 ] mem[2] [ main::g#2 main::g#1 ] mem[2] [ main::d#2 main::d#1 ] mem[2] [ main::f#2 main::f#1 ] mem[2] [ main::e#2 main::e#1 ] mem[2] [ main::a#1 ] mem[2] [ main::a#2 ]
Uplifting [main] best 4536 combination reg byte y [ main::i#2 main::i#1 ] zp[2]:248 [ main::a#4 main::a#3 ] zp[2]:250 [ main::h#2 main::h#1 ] mem[2] [ main::b#2 main::b#1 ] reg byte x [ main::$2 ] mem[2] [ main::c#2 main::c#1 ] mem[2] [ main::g#2 main::g#1 ] mem[2] [ main::d#2 main::d#1 ] mem[2] [ main::f#2 main::f#1 ] mem[2] [ main::e#2 main::e#1 ] mem[2] [ main::a#1 ] mem[2] [ main::a#2 ]
Uplifting [] best 4536 combination
Coalescing zero page register [ mem[2] [ main::a#1 ] ] with [ mem[2] [ main::a#2 ] ] - score: 1
Allocated (was zp[2]:252) zp[2]:251 [ main::a#4 main::a#3 ]
Allocated (was mem[2]) zp[2]:253 [ main::a#1 main::a#2 ]
Allocated (was zp[2]:248) zp[2]:247 [ main::a#4 main::a#3 ]
Allocated (was mem[2]) zp[2]:249 [ main::a#1 main::a#2 ]
Zero-page exhausted. Moving allocation to main memory main::h#2
Allocated (was zp[2]:254) mem[2] [ main::h#2 main::h#1 ]
Allocated (was zp[2]:250) mem[2] [ main::h#2 main::h#1 ]
Zero-page exhausted. Moving allocation to main memory main::b#2
Zero-page exhausted. Moving allocation to main memory main::c#2
Zero-page exhausted. Moving allocation to main memory main::g#2
@ -438,8 +438,8 @@ ASSEMBLER BEFORE OPTIMIZATION
// And then allocate a bunch of variables
main: {
.label SCREEN = $400
.label a = $fd
.label a_1 = $fb
.label a = $f9
.label a_1 = $f7
// [1] phi from main to main::@1 [phi:main->main::@1]
__b1_from_main:
// [1] phi main::h#2 = 0 [phi:main->main::@1#0] -- vwsm1=vwsc1
@ -663,10 +663,10 @@ void main()
char main::$2 // reg byte x 6.3684210526315805
__constant int * const main::SCREEN = (int *) 1024
int main::a
int main::a#1 // a zp[2]:253 4.125
int main::a#2 // a zp[2]:253 3.3000000000000003
int main::a#3 // a_1 zp[2]:251 11.0
int main::a#4 // a_1 zp[2]:251 8.25
int main::a#1 // a zp[2]:249 4.125
int main::a#2 // a zp[2]:249 3.3000000000000003
int main::a#3 // a_1 zp[2]:247 11.0
int main::a#4 // a_1 zp[2]:247 8.25
int main::b
int main::b#1 // b mem[2] 1.2222222222222223
int main::b#2 // b mem[2] 5.5
@ -693,7 +693,7 @@ char main::i#1 // reg byte y 22.0
char main::i#2 // reg byte y 1.9130434782608696
reg byte y [ main::i#2 main::i#1 ]
zp[2]:251 [ main::a#4 main::a#3 ]
zp[2]:247 [ main::a#4 main::a#3 ]
mem[2] [ main::b#2 main::b#1 ]
mem[2] [ main::c#2 main::c#1 ]
mem[2] [ main::d#2 main::d#1 ]
@ -702,7 +702,7 @@ mem[2] [ main::f#2 main::f#1 ]
mem[2] [ main::g#2 main::g#1 ]
mem[2] [ main::h#2 main::h#1 ]
reg byte x [ main::$2 ]
zp[2]:253 [ main::a#1 main::a#2 ]
zp[2]:249 [ main::a#1 main::a#2 ]
FINAL ASSEMBLER
@ -725,8 +725,8 @@ Score: 4061
// And then allocate a bunch of variables
main: {
.label SCREEN = $400
.label a = $fd
.label a_1 = $fb
.label a = $f9
.label a_1 = $f7
// [1] phi from main to main::@1 [phi:main->main::@1]
// [1] phi main::h#2 = 0 [phi:main->main::@1#0] -- vwsm1=vwsc1
lda #<0

View File

@ -2,10 +2,10 @@ void main()
char main::$2 // reg byte x 6.3684210526315805
__constant int * const main::SCREEN = (int *) 1024
int main::a
int main::a#1 // a zp[2]:253 4.125
int main::a#2 // a zp[2]:253 3.3000000000000003
int main::a#3 // a_1 zp[2]:251 11.0
int main::a#4 // a_1 zp[2]:251 8.25
int main::a#1 // a zp[2]:249 4.125
int main::a#2 // a zp[2]:249 3.3000000000000003
int main::a#3 // a_1 zp[2]:247 11.0
int main::a#4 // a_1 zp[2]:247 8.25
int main::b
int main::b#1 // b mem[2] 1.2222222222222223
int main::b#2 // b mem[2] 5.5
@ -32,7 +32,7 @@ char main::i#1 // reg byte y 22.0
char main::i#2 // reg byte y 1.9130434782608696
reg byte y [ main::i#2 main::i#1 ]
zp[2]:251 [ main::a#4 main::a#3 ]
zp[2]:247 [ main::a#4 main::a#3 ]
mem[2] [ main::b#2 main::b#1 ]
mem[2] [ main::c#2 main::c#1 ]
mem[2] [ main::d#2 main::d#1 ]
@ -41,4 +41,4 @@ mem[2] [ main::f#2 main::f#1 ]
mem[2] [ main::g#2 main::g#1 ]
mem[2] [ main::h#2 main::h#1 ]
reg byte x [ main::$2 ]
zp[2]:253 [ main::a#1 main::a#2 ]
zp[2]:249 [ main::a#1 main::a#2 ]