1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-26 12:49:21 +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 tax
//FRAGMENT vbuyy=vbuaa //FRAGMENT vbuyy=vbuaa
tay 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", "start_address": "0x080d",
"cpu": "MOS6502X", "cpu": "MOS6502X",
"interrupt": "rom_min_c64", "interrupt": "rom_min_c64",
"zp_reserve": [ "0xfc..0xff" ],
"emulator": "x64sc", "emulator": "x64sc",
"defines": { "defines": {
"__C64__": 1 "__C64__": 1

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,7 +4,7 @@
#pragma var_model(ssa_zp) #pragma var_model(ssa_zp)
// Start by reserving most of zeropage (254 bytes) // 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 // And then allocate a bunch of variables
void main() { void main() {

View File

@ -217,7 +217,7 @@
.label form_VICII_bg2_lo = form_fields_val+$21 .label form_VICII_bg2_lo = form_fields_val+$21
.label form_VICII_bg3_hi = form_fields_val+$22 .label form_VICII_bg3_hi = form_fields_val+$22
.label form_VICII_bg3_lo = form_fields_val+$23 .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_line_cursor = 8
.label print_screen = 8 .label print_screen = 8
// Keyboard event buffer size. The number of events currently in the event buffer // Keyboard event buffer size. The number of events currently in the event buffer
@ -450,16 +450,16 @@ form_mode: {
gfx_mode: { gfx_mode: {
.label __20 = $26 .label __20 = $26
.label __31 = $26 .label __31 = $26
.label __41 = $2a .label __41 = $2c
.label __42 = $2a .label __42 = $2c
.label __44 = $2c .label __44 = $2e
.label __46 = $32 .label __46 = $34
.label __76 = $2a .label __76 = $2c
.label __77 = $2c .label __77 = $2e
.label plane_a = $26 .label plane_a = $26
.label plane_b = $26 .label plane_b = $26
.label VICII_colors = 8 .label VICII_colors = 6
.label col = 6 .label col = $11
.label cy = $1d .label cy = $1d
// if(*form_ctrl_line!=0) // if(*form_ctrl_line!=0)
lda form_ctrl_line 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) // Initialize VIC screen 0 ( value is %yyyyxxxx where yyyy is ypos and xxxx is xpos)
gfx_init_screen0: { gfx_init_screen0: {
.label __1 = 5 .label __1 = 5
.label ch = 8 .label ch = 6
.label cy = $1a .label cy = $1a
lda #<VICII_SCREEN0 lda #<VICII_SCREEN0
sta.z ch sta.z ch
@ -896,7 +896,7 @@ gfx_init_screen0: {
} }
// Initialize VIC screen 1 ( value is %0000cccc where cccc is (x+y mod $f)) // Initialize VIC screen 1 ( value is %0000cccc where cccc is (x+y mod $f))
gfx_init_screen1: { gfx_init_screen1: {
.label ch = 6 .label ch = $11
.label cy = $19 .label cy = $19
lda #<VICII_SCREEN1 lda #<VICII_SCREEN1
sta.z ch 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) // Initialize VIC screen 2 ( value is %ccccrrrr where cccc is (x+y mod $f) and rrrr is %1111-%cccc)
gfx_init_screen2: { gfx_init_screen2: {
.label col2 = 4 .label col2 = 4
.label ch = 8 .label ch = 6
.label cy = $1d .label cy = $1d
lda #<VICII_SCREEN2 lda #<VICII_SCREEN2
sta.z ch 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 // Initialize VIC screen 3 ( value is %00xx00yy where xx is xpos and yy is ypos
gfx_init_screen3: { gfx_init_screen3: {
.label __1 = 4 .label __1 = 4
.label ch = 8 .label ch = 6
.label cy = $1d .label cy = $1d
lda #<VICII_SCREEN3 lda #<VICII_SCREEN3
sta.z ch sta.z ch
@ -1038,7 +1038,7 @@ gfx_init_screen3: {
} }
// Initialize VIC screen 4 - all chars are 00 // Initialize VIC screen 4 - all chars are 00
gfx_init_screen4: { gfx_init_screen4: {
.label ch = 6 .label ch = $11
.label cy = $1a .label cy = $1a
lda #0 lda #0
sta.z cy sta.z cy
@ -1071,8 +1071,8 @@ gfx_init_screen4: {
rts rts
} }
gfx_init_charset: { gfx_init_charset: {
.label charset = 8 .label charset = 6
.label chargen = 6 .label chargen = $11
.label c = $1a .label c = $1a
// *PROCPORT = $32 // *PROCPORT = $32
lda #$32 lda #$32
@ -1166,8 +1166,8 @@ gfx_init_VICII_bitmap: {
// Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels)
gfx_init_plane_8bppchunky: { gfx_init_plane_8bppchunky: {
.label __5 = $13 .label __5 = $13
.label gfxb = 6 .label gfxb = $11
.label x = 8 .label x = 6
.label y = $19 .label y = $19
// dtvSetCpuBankSegment1(gfxbCpuBank++) // dtvSetCpuBankSegment1(gfxbCpuBank++)
lda #PLANE_8BPP_CHUNKY/$4000 lda #PLANE_8BPP_CHUNKY/$4000
@ -1247,8 +1247,8 @@ gfx_init_plane_charset8: {
// 8bpp cells for Plane B (charset) - ROM charset with 256 colors // 8bpp cells for Plane B (charset) - ROM charset with 256 colors
.const gfxbCpuBank = PLANE_CHARSET8/$4000 .const gfxbCpuBank = PLANE_CHARSET8/$4000
.label bits = 5 .label bits = 5
.label chargen = 6 .label chargen = $11
.label gfxa = 8 .label gfxa = 6
.label col = 4 .label col = 4
.label cr = 2 .label cr = 2
.label ch = 3 .label ch = 3
@ -1332,7 +1332,7 @@ gfx_init_plane_charset8: {
// Initialize Plane with Horizontal Stripes // Initialize Plane with Horizontal Stripes
gfx_init_plane_horisontal: { gfx_init_plane_horisontal: {
.const gfxbCpuBank = PLANE_HORISONTAL/$4000 .const gfxbCpuBank = PLANE_HORISONTAL/$4000
.label gfxa = 8 .label gfxa = 6
.label ay = 3 .label ay = 3
// dtvSetCpuBankSegment1(gfxbCpuBank++) // dtvSetCpuBankSegment1(gfxbCpuBank++)
lda #gfxbCpuBank lda #gfxbCpuBank
@ -1392,7 +1392,7 @@ gfx_init_plane_horisontal: {
// Initialize Plane with Vertical Stripes // Initialize Plane with Vertical Stripes
gfx_init_plane_vertical: { gfx_init_plane_vertical: {
.const gfxbCpuBank = PLANE_VERTICAL/$4000 .const gfxbCpuBank = PLANE_VERTICAL/$4000
.label gfxb = 6 .label gfxb = $11
.label by = 2 .label by = 2
// dtvSetCpuBankSegment1(gfxbCpuBank++) // dtvSetCpuBankSegment1(gfxbCpuBank++)
lda #gfxbCpuBank lda #gfxbCpuBank
@ -1434,7 +1434,7 @@ gfx_init_plane_vertical: {
// Initialize Plane with Horizontal Stripes every 2 pixels // Initialize Plane with Horizontal Stripes every 2 pixels
gfx_init_plane_horisontal2: { gfx_init_plane_horisontal2: {
.const gfxbCpuBank = PLANE_HORISONTAL2/$4000 .const gfxbCpuBank = PLANE_HORISONTAL2/$4000
.label gfxa = 6 .label gfxa = $11
.label ay = 5 .label ay = 5
// dtvSetCpuBankSegment1(gfxbCpuBank++) // dtvSetCpuBankSegment1(gfxbCpuBank++)
lda #gfxbCpuBank lda #gfxbCpuBank
@ -1534,10 +1534,14 @@ gfx_init_plane_full: {
rts rts
} }
// Set the screen to print on. Also resets current line/char cursor. // 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: { print_set_screen: {
.label screen = 8 .label screen = $2a
// print_screen = screen // print_screen = screen
lda.z screen
sta.z print_screen
lda.z screen+1
sta.z print_screen+1
// } // }
rts rts
} }
@ -1559,9 +1563,9 @@ print_cls: {
} }
// Print a number of zero-terminated strings, each followed by a newline. // Print a number of zero-terminated strings, each followed by a newline.
// The sequence of lines is terminated by another zero. // 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: { print_str_lines: {
.label str = 6 .label str = $11
lda.z print_screen lda.z print_screen
sta.z print_char_cursor sta.z print_char_cursor
lda.z print_screen+1 lda.z print_screen+1
@ -1603,7 +1607,7 @@ print_str_lines: {
// screen is the start address of the screen to use // screen is the start address of the screen to use
// void form_set_screen(char *screen) // void form_set_screen(char *screen)
form_set_screen: { form_set_screen: {
.label line = 8 .label line = $11
ldx #0 ldx #0
lda #<FORM_SCREEN lda #<FORM_SCREEN
sta.z line sta.z line
@ -2246,9 +2250,9 @@ get_plane: {
rts rts
} }
// Get the VIC screen address from the screen index // 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: { get_VICII_screen: {
.label return = $2a .label return = $2c
// if(idx==0) // if(idx==0)
cmp #0 cmp #0
beq __b1 beq __b1
@ -2296,9 +2300,9 @@ get_VICII_screen: {
rts rts
} }
// Get the VIC charset/bitmap address from the index // 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: { get_VICII_charset: {
.label return = $2c .label return = $2e
// if(idx==0) // if(idx==0)
cmp #0 cmp #0
beq __b1 beq __b1
@ -2479,7 +2483,7 @@ keyboard_event_get: {
// void bitmap_init(char *gfx, char *screen) // void bitmap_init(char *gfx, char *screen)
bitmap_init: { bitmap_init: {
.label __7 = 5 .label __7 = 5
.label yoffs = 8 .label yoffs = $11
ldx #0 ldx #0
lda #$80 lda #$80
__b1: __b1:
@ -2567,18 +2571,18 @@ bitmap_clear: {
rts rts
} }
// Draw a line on the bitmap using bresenhams algorithm // 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: { bitmap_line: {
.label dx = $1b .label dx = $1b
.label dy = $a .label dy = $a
.label sx = $1e .label sx = $1e
.label sy = $d .label sy = $d
.label e1 = $17 .label e1 = 8
.label e = 8 .label e = 6
.label y = $11 .label y = $17
.label x = 6 .label x = $11
.label x1 = 6 .label x1 = $11
.label y1 = $11 .label y1 = $17
.label x2 = $f .label x2 = $f
.label y2 = $20 .label y2 = $20
// unsigned int dx = abs_u16(x2-x1) // unsigned int dx = abs_u16(x2-x1)
@ -2799,14 +2803,14 @@ dtvSetCpuBankSegment1: {
rts rts
} }
// Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // 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: { gfx_init_plane_fill: {
.label __0 = $22 .label __0 = $22
.label __3 = 6 .label __3 = 6
.label __4 = 6 .label __4 = 6
.label gfxb = 6 .label gfxb = 6
.label by = 2 .label by = 2
.label plane_addr = $2e .label plane_addr = $30
.label fill = 3 .label fill = 3
// plane_addr*4 // plane_addr*4
lda.z plane_addr lda.z plane_addr
@ -3112,11 +3116,11 @@ sgn_u16: {
rts rts
} }
// Plot a single dot in the bitmap // 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: { bitmap_plot: {
.label __1 = $15 .label __1 = $15
.label plotter = $13 .label plotter = $13
.label x = 6 .label x = $11
// MAKEWORD( bitmap_plot_yhi[y], bitmap_plot_ylo[y] ) // MAKEWORD( bitmap_plot_yhi[y], bitmap_plot_ylo[y] )
lda bitmap_plot_yhi,x lda bitmap_plot_yhi,x
sta.z plotter+1 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#1 // reg byte x 15001.5
char bitmap_init::y#2 // reg byte x 5000.5 char bitmap_init::y#2 // reg byte x 5000.5
char *bitmap_init::yoffs char *bitmap_init::yoffs
char *bitmap_init::yoffs#1 // yoffs zp[2]:8 20002.0 char *bitmap_init::yoffs#1 // yoffs zp[2]:17 20002.0
char *bitmap_init::yoffs#2 // yoffs zp[2]:8 6250.625 char *bitmap_init::yoffs#2 // yoffs zp[2]:17 6250.625
char *bitmap_init::yoffs#4 // yoffs zp[2]:8 10001.0 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) 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
unsigned int bitmap_line::dx#0 // dx zp[2]:27 76000.175 unsigned int bitmap_line::dx#0 // dx zp[2]:27 76000.175
unsigned int bitmap_line::dy unsigned int bitmap_line::dy
unsigned int bitmap_line::dy#0 // dy zp[2]:10 84444.63888888889 unsigned int bitmap_line::dy#0 // dy zp[2]:10 84444.63888888889
unsigned int bitmap_line::e unsigned int bitmap_line::e
unsigned int bitmap_line::e#0 // e zp[2]:8 20002.0 unsigned int bitmap_line::e#0 // e zp[2]:6 20002.0
unsigned int bitmap_line::e#1 // e zp[2]:8 1333334.6666666667 unsigned int bitmap_line::e#1 // e zp[2]:6 1333334.6666666667
unsigned int bitmap_line::e#2 // e zp[2]:8 2000002.0 unsigned int bitmap_line::e#2 // e zp[2]:6 2000002.0
unsigned int bitmap_line::e#3 // e zp[2]:8 402000.60000000003 unsigned int bitmap_line::e#3 // e zp[2]:6 402000.60000000003
unsigned int bitmap_line::e#6 // e zp[2]:8 1500001.5 unsigned int bitmap_line::e#6 // e zp[2]:6 1500001.5
unsigned int bitmap_line::e1 unsigned int bitmap_line::e1
unsigned int bitmap_line::e1#0 // e1 zp[2]:23 20002.0 unsigned int bitmap_line::e1#0 // e1 zp[2]:8 20002.0
unsigned int bitmap_line::e1#1 // e1 zp[2]:23 1333334.6666666667 unsigned int bitmap_line::e1#1 // e1 zp[2]:8 1333334.6666666667
unsigned int bitmap_line::e1#2 // e1 zp[2]:23 2000002.0 unsigned int bitmap_line::e1#2 // e1 zp[2]:8 2000002.0
unsigned int bitmap_line::e1#3 // e1 zp[2]:23 402000.60000000003 unsigned int bitmap_line::e1#3 // e1 zp[2]:8 402000.60000000003
unsigned int bitmap_line::e1#6 // e1 zp[2]:23 1500001.5 unsigned int bitmap_line::e1#6 // e1 zp[2]:8 1500001.5
unsigned int bitmap_line::sx unsigned int bitmap_line::sx
unsigned int bitmap_line::sx#0 // sx zp[2]:30 67000.1 unsigned int bitmap_line::sx#0 // sx zp[2]:30 67000.1
unsigned int bitmap_line::sy unsigned int bitmap_line::sy
unsigned int bitmap_line::sy#0 // sy zp[2]:13 77307.80769230769 unsigned int bitmap_line::sy#0 // sy zp[2]:13 77307.80769230769
unsigned int bitmap_line::x unsigned int bitmap_line::x
unsigned int bitmap_line::x#1 // x zp[2]:6 1000001.0 unsigned int bitmap_line::x#1 // x zp[2]:17 1000001.0
unsigned int bitmap_line::x#12 // x zp[2]:6 2000002.0 unsigned int bitmap_line::x#12 // x zp[2]:17 2000002.0
unsigned int bitmap_line::x#13 // x zp[2]:6 572857.857142857 unsigned int bitmap_line::x#13 // x zp[2]:17 572857.857142857
unsigned int bitmap_line::x#15 // x zp[2]:6 571429.1428571428 unsigned int bitmap_line::x#15 // x zp[2]:17 571429.1428571428
unsigned int bitmap_line::x#6 // x zp[2]:6 2010003.0 unsigned int bitmap_line::x#6 // x zp[2]:17 2010003.0
unsigned int bitmap_line::x#7 // x zp[2]:6 752501.0 unsigned int bitmap_line::x#7 // x zp[2]:17 752501.0
unsigned int bitmap_line::x1 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
unsigned int bitmap_line::x2#0 // x2 zp[2]:15 30939.515151515152 unsigned int bitmap_line::x2#0 // x2 zp[2]:15 30939.515151515152
unsigned int bitmap_line::y unsigned int bitmap_line::y
unsigned int bitmap_line::y#1 // y zp[2]:17 571429.1428571428 unsigned int bitmap_line::y#1 // y zp[2]:23 571429.1428571428
unsigned int bitmap_line::y#13 // y zp[2]:17 2000002.0 unsigned int bitmap_line::y#13 // y zp[2]:23 2000002.0
unsigned int bitmap_line::y#15 // y zp[2]:17 430000.57142857136 unsigned int bitmap_line::y#15 // y zp[2]:23 430000.57142857136
unsigned int bitmap_line::y#2 // y zp[2]:17 1000001.0 unsigned int bitmap_line::y#2 // y zp[2]:23 1000001.0
unsigned int bitmap_line::y#4 // y zp[2]:17 502500.75 unsigned int bitmap_line::y#4 // y zp[2]:23 502500.75
unsigned int bitmap_line::y#7 // y zp[2]:17 1000001.0 unsigned int bitmap_line::y#7 // y zp[2]:23 1000001.0
unsigned int bitmap_line::y1 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
unsigned int bitmap_line::y2#0 // y2 zp[2]:32 31906.375 unsigned int bitmap_line::y2#0 // y2 zp[2]:32 31906.375
void bitmap_plot(unsigned int x , char y) 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 unsigned int bitmap_plot::plotter#0 // plotter zp[2]:19 5000000.5
char *bitmap_plot::plotter#1 // plotter zp[2]:19 1.50000015E7 char *bitmap_plot::plotter#1 // plotter zp[2]:19 1.50000015E7
unsigned int bitmap_plot::x unsigned int bitmap_plot::x
unsigned int bitmap_plot::x#0 // x zp[2]:6 10001.0 unsigned int bitmap_plot::x#0 // x zp[2]:17 10001.0
unsigned int bitmap_plot::x#1 // x zp[2]:6 1000001.0 unsigned int bitmap_plot::x#1 // x zp[2]:17 1000001.0
unsigned int bitmap_plot::x#2 // x zp[2]:6 10001.0 unsigned int bitmap_plot::x#2 // x zp[2]:17 10001.0
unsigned int bitmap_plot::x#3 // x zp[2]:6 1000001.0 unsigned int bitmap_plot::x#3 // x zp[2]:17 1000001.0
unsigned int bitmap_plot::x#4 // x zp[2]:6 5505001.5 unsigned int bitmap_plot::x#4 // x zp[2]:17 5505001.5
char bitmap_plot::y char bitmap_plot::y
char bitmap_plot::y#0 // reg byte x 20002.0 char bitmap_plot::y#0 // reg byte x 20002.0
char bitmap_plot::y#1 // reg byte x 2000002.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::$0 // reg byte a 200002.0
char form_set_screen::$1 // 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
char *form_set_screen::line#1 // line zp[2]:8 66667.33333333333 char *form_set_screen::line#1 // line zp[2]:17 66667.33333333333
char *form_set_screen::line#2 // line zp[2]:8 80000.8 char *form_set_screen::line#2 // line zp[2]:17 80000.8
char *form_set_screen::screen char *form_set_screen::screen
char form_set_screen::y char form_set_screen::y
char form_set_screen::y#1 // reg byte x 150001.5 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
char get_VICII_charset::idx#0 // reg byte a 1051.5 char get_VICII_charset::idx#0 // reg byte a 1051.5
char *get_VICII_charset::return char *get_VICII_charset::return
char *get_VICII_charset::return#2 // return zp[2]:44 33.666666666666664 char *get_VICII_charset::return#2 // return zp[2]:46 33.666666666666664
char *get_VICII_charset::return#4 // return zp[2]:44 202.0 char *get_VICII_charset::return#4 // return zp[2]:46 202.0
char * get_VICII_screen(char idx) char * get_VICII_screen(char idx)
char get_VICII_screen::idx char get_VICII_screen::idx
char get_VICII_screen::idx#0 // reg byte a 202.0 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#1 // reg byte a 202.0
char get_VICII_screen::idx#2 // reg byte a 1041.4 char get_VICII_screen::idx#2 // reg byte a 1041.4
char *get_VICII_screen::return char *get_VICII_screen::return
char *get_VICII_screen::return#10 // return zp[2]:42 202.0 char *get_VICII_screen::return#10 // return zp[2]:44 202.0
char *get_VICII_screen::return#11 // return zp[2]:42 202.0 char *get_VICII_screen::return#11 // return zp[2]:44 202.0
char *get_VICII_screen::return#5 // return zp[2]:42 50.5 char *get_VICII_screen::return#5 // return zp[2]:44 50.5
unsigned long get_plane(char idx) unsigned long get_plane(char idx)
char get_plane::idx char get_plane::idx
char get_plane::idx#0 // reg byte a 202.0 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#1 // c zp[1]:26 1501.5
char gfx_init_charset::c#4 // c zp[1]:26 286.0 char gfx_init_charset::c#4 // c zp[1]:26 286.0
char *gfx_init_charset::chargen char *gfx_init_charset::chargen
char *gfx_init_charset::chargen#1 // chargen zp[2]:6 4200.6 char *gfx_init_charset::chargen#1 // chargen zp[2]:17 4200.6
char *gfx_init_charset::chargen#2 // chargen zp[2]:6 10334.666666666666 char *gfx_init_charset::chargen#2 // chargen zp[2]:17 10334.666666666666
char *gfx_init_charset::chargen#3 // chargen zp[2]:6 2002.0 char *gfx_init_charset::chargen#3 // chargen zp[2]:17 2002.0
char *gfx_init_charset::charset char *gfx_init_charset::charset
char *gfx_init_charset::charset#1 // charset zp[2]:8 3500.5 char *gfx_init_charset::charset#1 // charset zp[2]:6 3500.5
char *gfx_init_charset::charset#2 // charset zp[2]:8 15502.0 char *gfx_init_charset::charset#2 // charset zp[2]:6 15502.0
char *gfx_init_charset::charset#3 // charset zp[2]:8 2002.0 char *gfx_init_charset::charset#3 // charset zp[2]:6 2002.0
char gfx_init_charset::l char gfx_init_charset::l
char gfx_init_charset::l#1 // reg byte x 15001.5 char gfx_init_charset::l#1 // reg byte x 15001.5
char gfx_init_charset::l#2 // reg byte x 5000.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
char gfx_init_plane_8bppchunky::c#0 // reg byte a 20002.0 char gfx_init_plane_8bppchunky::c#0 // reg byte a 20002.0
char *gfx_init_plane_8bppchunky::gfxb 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#1 // gfxb zp[2]:17 4200.6
char *gfx_init_plane_8bppchunky::gfxb#3 // gfxb zp[2]:6 15502.0 char *gfx_init_plane_8bppchunky::gfxb#3 // gfxb zp[2]:17 15502.0
char *gfx_init_plane_8bppchunky::gfxb#4 // gfxb zp[2]:6 7500.75 char *gfx_init_plane_8bppchunky::gfxb#4 // gfxb zp[2]:17 7500.75
char *gfx_init_plane_8bppchunky::gfxb#5 // gfxb zp[2]:6 2002.0 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
char gfx_init_plane_8bppchunky::gfxbCpuBank#2 // reg byte x 20002.0 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#4 // reg byte x 10251.25
char gfx_init_plane_8bppchunky::gfxbCpuBank#7 // reg byte x 2002.0 char gfx_init_plane_8bppchunky::gfxbCpuBank#7 // reg byte x 2002.0
char gfx_init_plane_8bppchunky::gfxbCpuBank#8 // reg byte x 3444.8888888888887 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
unsigned int gfx_init_plane_8bppchunky::x#1 // x zp[2]:8 15001.5 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]:8 3000.3 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
char gfx_init_plane_8bppchunky::y#1 // y zp[1]:25 1501.5 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 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#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::ch#8 // ch zp[1]:3 117.76470588235294
char *gfx_init_plane_charset8::chargen 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#1 // chargen zp[2]:17 1312.6875
char *gfx_init_plane_charset8::chargen#2 // chargen zp[2]:6 15502.0 char *gfx_init_plane_charset8::chargen#2 // chargen zp[2]:17 15502.0
char *gfx_init_plane_charset8::chargen#3 // chargen zp[2]:6 2002.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
char gfx_init_plane_charset8::col#1 // col zp[1]:4 30143.428571428572 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 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#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::cr#6 // cr zp[1]:2 1428.7142857142858
char *gfx_init_plane_charset8::gfxa 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#1 // gfxa zp[2]:6 23444.88888888889
char *gfx_init_plane_charset8::gfxa#2 // gfxa zp[2]:8 51667.33333333333 char *gfx_init_plane_charset8::gfxa#2 // gfxa zp[2]:6 51667.33333333333
char *gfx_init_plane_charset8::gfxa#5 // gfxa zp[2]:8 7001.0 char *gfx_init_plane_charset8::gfxa#5 // gfxa zp[2]:6 7001.0
char *gfx_init_plane_charset8::gfxa#6 // gfxa zp[2]:8 2002.0 char *gfx_init_plane_charset8::gfxa#6 // gfxa zp[2]:6 2002.0
char gfx_init_plane_charset8::gfxbCpuBank char gfx_init_plane_charset8::gfxbCpuBank
__constant char gfx_init_plane_charset8::gfxbCpuBank#0 = (char)PLANE_CHARSET8/$4000 // 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) 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
char gfx_init_plane_fill::gfxbCpuBank#0 // reg byte a 2002.0 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
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_full()
void gfx_init_plane_horisontal() void gfx_init_plane_horisontal()
char gfx_init_plane_horisontal::$2 // reg byte a 20002.0 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#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::ay#4 // ay zp[1]:3 1091.181818181818
char *gfx_init_plane_horisontal::gfxa 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#1 // gfxa zp[2]:6 20002.0
char *gfx_init_plane_horisontal::gfxa#2 // gfxa zp[2]:8 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]:8 10201.2 char *gfx_init_plane_horisontal::gfxa#3 // gfxa zp[2]:6 10201.2
char *gfx_init_plane_horisontal::gfxa#6 // gfxa zp[2]:8 2002.0 char *gfx_init_plane_horisontal::gfxa#6 // gfxa zp[2]:6 2002.0
char *gfx_init_plane_horisontal::gfxa#7 // gfxa zp[2]:8 6200.8 char *gfx_init_plane_horisontal::gfxa#7 // gfxa zp[2]:6 6200.8
char gfx_init_plane_horisontal::gfxbCpuBank char gfx_init_plane_horisontal::gfxbCpuBank
__constant char gfx_init_plane_horisontal::gfxbCpuBank#0 = (char)PLANE_HORISONTAL/$4000 // gfxbCpuBank __constant char gfx_init_plane_horisontal::gfxbCpuBank#0 = (char)PLANE_HORISONTAL/$4000 // gfxbCpuBank
void gfx_init_plane_horisontal2() 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#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::ay#4 // ay zp[1]:5 1500.375
char *gfx_init_plane_horisontal2::gfxa 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#1 // gfxa zp[2]:17 4200.6
char *gfx_init_plane_horisontal2::gfxa#2 // gfxa zp[2]:6 7751.0 char *gfx_init_plane_horisontal2::gfxa#2 // gfxa zp[2]:17 7751.0
char *gfx_init_plane_horisontal2::gfxa#3 // gfxa zp[2]:6 2002.0 char *gfx_init_plane_horisontal2::gfxa#3 // gfxa zp[2]:17 2002.0
char gfx_init_plane_horisontal2::gfxbCpuBank char gfx_init_plane_horisontal2::gfxbCpuBank
__constant char gfx_init_plane_horisontal2::gfxbCpuBank#0 = (char)PLANE_HORISONTAL2/$4000 // gfxbCpuBank __constant char gfx_init_plane_horisontal2::gfxbCpuBank#0 = (char)PLANE_HORISONTAL2/$4000 // gfxbCpuBank
char gfx_init_plane_horisontal2::row 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#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::by#4 // by zp[1]:2 333.6666666666667
char *gfx_init_plane_vertical::gfxb 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#1 // gfxb zp[2]:17 4200.6
char *gfx_init_plane_vertical::gfxb#2 // gfxb zp[2]:6 15502.0 char *gfx_init_plane_vertical::gfxb#2 // gfxb zp[2]:17 15502.0
char *gfx_init_plane_vertical::gfxb#3 // gfxb zp[2]:6 2002.0 char *gfx_init_plane_vertical::gfxb#3 // gfxb zp[2]:17 2002.0
char gfx_init_plane_vertical::gfxbCpuBank char gfx_init_plane_vertical::gfxbCpuBank
__constant char gfx_init_plane_vertical::gfxbCpuBank#0 = (char)PLANE_VERTICAL/$4000 // gfxbCpuBank __constant char gfx_init_plane_vertical::gfxbCpuBank#0 = (char)PLANE_VERTICAL/$4000 // gfxbCpuBank
void gfx_init_plane_vertical2() 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::$2 // reg byte a 20002.0
char gfx_init_screen0::$3 // 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
char *gfx_init_screen0::ch#1 // ch zp[2]:8 4200.6 char *gfx_init_screen0::ch#1 // ch zp[2]:6 4200.6
char *gfx_init_screen0::ch#2 // ch zp[2]:8 5167.333333333333 char *gfx_init_screen0::ch#2 // ch zp[2]:6 5167.333333333333
char *gfx_init_screen0::ch#3 // ch zp[2]:8 2002.0 char *gfx_init_screen0::ch#3 // ch zp[2]:6 2002.0
char gfx_init_screen0::cx char gfx_init_screen0::cx
char gfx_init_screen0::cx#1 // reg byte x 15001.5 char gfx_init_screen0::cx#1 // reg byte x 15001.5
char gfx_init_screen0::cx#2 // reg byte x 4286.142857142857 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::$0 // reg byte a 20002.0
char gfx_init_screen1::$1 // 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
char *gfx_init_screen1::ch#1 // ch zp[2]:6 4200.6 char *gfx_init_screen1::ch#1 // ch zp[2]:17 4200.6
char *gfx_init_screen1::ch#2 // ch zp[2]:6 7751.0 char *gfx_init_screen1::ch#2 // ch zp[2]:17 7751.0
char *gfx_init_screen1::ch#3 // ch zp[2]:6 2002.0 char *gfx_init_screen1::ch#3 // ch zp[2]:17 2002.0
char gfx_init_screen1::cx char gfx_init_screen1::cx
char gfx_init_screen1::cx#1 // reg byte x 15001.5 char gfx_init_screen1::cx#1 // reg byte x 15001.5
char gfx_init_screen1::cx#2 // reg byte x 6000.6 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::$3 // reg byte a 20002.0
char gfx_init_screen2::$4 // 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
char *gfx_init_screen2::ch#1 // ch zp[2]:8 4200.6 char *gfx_init_screen2::ch#1 // ch zp[2]:6 4200.6
char *gfx_init_screen2::ch#2 // ch zp[2]:8 4429.142857142857 char *gfx_init_screen2::ch#2 // ch zp[2]:6 4429.142857142857
char *gfx_init_screen2::ch#3 // ch zp[2]:8 2002.0 char *gfx_init_screen2::ch#3 // ch zp[2]:6 2002.0
char gfx_init_screen2::col char gfx_init_screen2::col
char gfx_init_screen2::col#0 // reg byte y 15001.5 char gfx_init_screen2::col#0 // reg byte y 15001.5
char gfx_init_screen2::col2 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::$2 // reg byte a 20002.0
char gfx_init_screen3::$3 // 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
char *gfx_init_screen3::ch#1 // ch zp[2]:8 4200.6 char *gfx_init_screen3::ch#1 // ch zp[2]:6 4200.6
char *gfx_init_screen3::ch#2 // ch zp[2]:8 5167.333333333333 char *gfx_init_screen3::ch#2 // ch zp[2]:6 5167.333333333333
char *gfx_init_screen3::ch#3 // ch zp[2]:8 2002.0 char *gfx_init_screen3::ch#3 // ch zp[2]:6 2002.0
char gfx_init_screen3::cx char gfx_init_screen3::cx
char gfx_init_screen3::cx#1 // reg byte x 15001.5 char gfx_init_screen3::cx#1 // reg byte x 15001.5
char gfx_init_screen3::cx#2 // reg byte x 4286.142857142857 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 char gfx_init_screen3::cy#4 // cy zp[1]:29 1200.3
void gfx_init_screen4() void gfx_init_screen4()
char *gfx_init_screen4::ch char *gfx_init_screen4::ch
char *gfx_init_screen4::ch#1 // ch zp[2]:6 4200.6 char *gfx_init_screen4::ch#1 // ch zp[2]:17 4200.6
char *gfx_init_screen4::ch#2 // ch zp[2]:6 15502.0 char *gfx_init_screen4::ch#2 // ch zp[2]:17 15502.0
char *gfx_init_screen4::ch#3 // ch zp[2]:6 2002.0 char *gfx_init_screen4::ch#3 // ch zp[2]:17 2002.0
char gfx_init_screen4::cx char gfx_init_screen4::cx
char gfx_init_screen4::cx#1 // reg byte x 15001.5 char gfx_init_screen4::cx#1 // reg byte x 15001.5
char gfx_init_screen4::cx#2 // reg byte x 6667.333333333333 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::$37 // reg byte a 202.0
char gfx_mode::$38 // reg byte a 202.0 char gfx_mode::$38 // reg byte a 202.0
char gfx_mode::$39 // 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::$41 // zp[2]:44 202.0
unsigned int gfx_mode::$42 // zp[2]:42 12.625 unsigned int gfx_mode::$42 // zp[2]:44 12.625
unsigned int gfx_mode::$44 // zp[2]:44 202.0 unsigned int gfx_mode::$44 // zp[2]:46 202.0
char gfx_mode::$45 // reg byte a 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::$47 // reg byte a 202.0
char gfx_mode::$49 // reg byte a 202.0 char gfx_mode::$49 // reg byte a 202.0
char gfx_mode::$50 // 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::$54 // reg byte a 202.0
char gfx_mode::$55 // 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::$56 // reg byte a 202.0
char *gfx_mode::$76 // zp[2]:42 101.0 char *gfx_mode::$76 // zp[2]:44 101.0
char *gfx_mode::$77 // 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::$78 // reg byte a 202.0
char *gfx_mode::VICII_colors char *gfx_mode::VICII_colors
char *gfx_mode::VICII_colors#0 // VICII_colors zp[2]:8 202.0 char *gfx_mode::VICII_colors#0 // VICII_colors zp[2]:6 202.0
char *gfx_mode::VICII_colors#1 // VICII_colors zp[2]:8 42000.600000000006 char *gfx_mode::VICII_colors#1 // VICII_colors zp[2]:6 42000.600000000006
char *gfx_mode::VICII_colors#2 // VICII_colors zp[2]:8 103334.66666666666 char *gfx_mode::VICII_colors#2 // VICII_colors zp[2]:6 103334.66666666666
char *gfx_mode::VICII_colors#3 // VICII_colors zp[2]:8 20103.0 char *gfx_mode::VICII_colors#3 // VICII_colors zp[2]:6 20103.0
char gfx_mode::VICII_control char gfx_mode::VICII_control
char gfx_mode::VICII_control#2 // reg byte x 202.0 char gfx_mode::VICII_control#2 // reg byte x 202.0
char gfx_mode::VICII_control#4 // reg byte x 303.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
char gfx_mode::VICII_control2#2 // reg byte a 101.0 char gfx_mode::VICII_control2#2 // reg byte a 101.0
char *gfx_mode::col char *gfx_mode::col
char *gfx_mode::col#1 // col zp[2]:6 35000.5 char *gfx_mode::col#1 // col zp[2]:17 35000.5
char *gfx_mode::col#2 // col zp[2]:6 155002.0 char *gfx_mode::col#2 // col zp[2]:17 155002.0
char *gfx_mode::col#3 // col zp[2]:6 20002.0 char *gfx_mode::col#3 // col zp[2]:17 20002.0
char gfx_mode::cx char gfx_mode::cx
char gfx_mode::cx#1 // reg byte x 150001.5 char gfx_mode::cx#1 // reg byte x 150001.5
char gfx_mode::cx#2 // reg byte x 50000.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
char print_char::ch#0 // reg byte a 1.1000002E7 char print_char::ch#0 // reg byte a 1.1000002E7
char *print_char_cursor char *print_char_cursor
char *print_char_cursor#2 // print_char_cursor zp[2]:17 100501.5 char *print_char_cursor#2 // print_char_cursor zp[2]:6 100501.5
char *print_char_cursor#29 // print_char_cursor zp[2]:17 3666667.333333333 char *print_char_cursor#29 // print_char_cursor zp[2]:6 3666667.333333333
char *print_char_cursor#43 // print_char_cursor zp[2]:17 3683334.1666666665 char *print_char_cursor#43 // print_char_cursor zp[2]:6 3683334.1666666665
char *print_char_cursor#44 // print_char_cursor zp[2]:17 1.4328571485714287E8 char *print_char_cursor#44 // print_char_cursor zp[2]:6 1.4328571485714287E8
char *print_char_cursor#72 // print_char_cursor zp[2]:17 2002.0 char *print_char_cursor#72 // print_char_cursor zp[2]:6 2002.0
char *print_char_cursor#73 // print_char_cursor zp[2]:17 200002.0 char *print_char_cursor#73 // print_char_cursor zp[2]:6 200002.0
void print_cls() void print_cls()
__constant const char print_hextab[] = "0123456789abcdef"z __constant const char print_hextab[] = "0123456789abcdef"z
char *print_line_cursor char *print_line_cursor
@ -769,7 +769,7 @@ char *print_screen
char *print_screen#0 // print_screen zp[2]:8 200.2 char *print_screen#0 // print_screen zp[2]:8 200.2
void print_set_screen(char *screen) void print_set_screen(char *screen)
char *print_set_screen::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) void print_str_at(char *str , char *at)
char *print_str_at::at char *print_str_at::at
char *print_str_at::at#0 // at zp[2]:10 1.000000001E9 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
char print_str_lines::ch#0 // reg byte a 666667.3333333334 char print_str_lines::ch#0 // reg byte a 666667.3333333334
char *print_str_lines::str char *print_str_lines::str
char *print_str_lines::str#0 // str zp[2]:6 233333.66666666666 char *print_str_lines::str#0 // str zp[2]:17 233333.66666666666
char *print_str_lines::str#3 // str zp[2]:6 150502.0 char *print_str_lines::str#3 // str zp[2]:17 150502.0
char *print_str_lines::str#4 // str zp[2]:6 1550002.0 char *print_str_lines::str#4 // str zp[2]:17 1550002.0
char *print_str_lines::str#5 // str zp[2]:6 500.5 char *print_str_lines::str#5 // str zp[2]:17 500.5
void render_preset_name(char idx) void render_preset_name(char idx)
char render_preset_name::idx char render_preset_name::idx
char render_preset_name::idx#0 // reg byte a 202.0 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_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_vertical::bx#2 gfx_init_plane_vertical::bx#1 ]
reg byte x [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#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_set_screen::y#2 form_set_screen::y#1 ]
reg byte x [ form_render_values::idx#2 form_render_values::idx#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 ] 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 ] 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 ] 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 ] 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_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]: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_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 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 [ 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 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::x#2 bitmap_init::x#1 ]
reg byte x [ bitmap_init::y#2 bitmap_init::y#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 ] 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]: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[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 ] 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]: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::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#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 ] 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 ] 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 ] 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 ] 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 [ gfx_mode::$39 ]
reg byte a [ get_VICII_charset::idx#0 ] reg byte a [ get_VICII_charset::idx#0 ]
reg byte a [ gfx_mode::$45 ] 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::$78 ]
reg byte a [ gfx_mode::$47 ] reg byte a [ gfx_mode::$47 ]
reg byte a [ gfx_mode::$49 ] reg byte a [ gfx_mode::$49 ]

View File

@ -155,9 +155,9 @@
.label print_char_cursor = $a .label print_char_cursor = $a
.label print_line_cursor = $e .label print_line_cursor = $e
// The adddress of the bitmap graphics (used for pixels) // 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) // The adddress of the bitmap screen (used for colors)
.label bitmap_screen = $31 .label bitmap_screen = $35
.segment Code .segment Code
main: { main: {
// asm // asm
@ -188,7 +188,7 @@ main: {
menu: { menu: {
.label SCREEN = $8000 .label SCREEN = $8000
.label CHARSET = $9800 .label CHARSET = $9800
.label c = $2d .label c = $31
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000) // *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000)
// Charset ROM // Charset ROM
// DTV Graphics Bank // DTV Graphics Bank
@ -939,7 +939,7 @@ mode_stdbitmap: {
.label col2 = $10 .label col2 = $10
// Bitmap Colors // Bitmap Colors
.label ch = $1d .label ch = $1d
.label cy = $21 .label cy = $25
.label l = $20 .label l = $20
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)BITMAP/$10000) // *DTV_GRAPHICS_VIC_BANK = (byte)((dword)BITMAP/$10000)
// DTV Graphics Bank // DTV Graphics Bank
@ -1092,7 +1092,7 @@ mode_hicolstdchar: {
// Char Colors and screen chars // Char Colors and screen chars
.label col = $1d .label col = $1d
.label ch = $a .label ch = $a
.label cy = $23 .label cy = $27
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000) // *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000)
// DTV Graphics Bank // DTV Graphics Bank
lda #0 lda #0
@ -1222,7 +1222,7 @@ mode_hicolecmchar: {
// Char Colors and screen chars // Char Colors and screen chars
.label col = $a .label col = $a
.label ch = $1d .label ch = $1d
.label cy = $24 .label cy = $28
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000) // *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000)
// DTV Graphics Bank // DTV Graphics Bank
lda #0 lda #0
@ -1363,7 +1363,7 @@ mode_hicolmcchar: {
// Char Colors and screen chars // Char Colors and screen chars
.label col = $1d .label col = $1d
.label ch = $a .label ch = $a
.label cy = $25 .label cy = $29
// *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000) // *DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000)
// DTV Graphics Bank // DTV Graphics Bank
lda #0 lda #0
@ -1493,13 +1493,13 @@ mode_sixsfred2: {
.label __3 = $1c .label __3 = $1c
// Colors for high 4 bits of 8bpp // Colors for high 4 bits of 8bpp
.label col = $a .label col = $a
.label cy = $20 .label cy = $22
// Graphics for Plane A () - horizontal stripes every 2 pixels // Graphics for Plane A () - horizontal stripes every 2 pixels
.label gfxa = $e .label gfxa = $e
.label ay = $1f .label ay = $1f
// Graphics for Plane B - vertical stripes every 2 pixels // Graphics for Plane B - vertical stripes every 2 pixels
.label gfxb = 8 .label gfxb = 8
.label by = $27 .label by = $2b
// *DTV_CONTROL = DTV_LINEAR // *DTV_CONTROL = DTV_LINEAR
lda #DTV_LINEAR lda #DTV_LINEAR
sta DTV_CONTROL sta DTV_CONTROL
@ -1693,13 +1693,13 @@ mode_twoplanebitmap: {
// Color for bits 11 // Color for bits 11
// Colors for bits 01 / 10 // Colors for bits 01 / 10
.label col = $e .label col = $e
.label cy = $20 .label cy = $23
// Graphics for Plane A - horizontal stripes // Graphics for Plane A - horizontal stripes
.label gfxa = 8 .label gfxa = 8
.label ay = $22 .label ay = $26
// Graphics for Plane B - vertical stripes // Graphics for Plane B - vertical stripes
.label gfxb = $a .label gfxb = $a
.label by = $28 .label by = $2c
// *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR // *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR
lda #DTV_HIGHCOLOR|DTV_LINEAR lda #DTV_HIGHCOLOR|DTV_LINEAR
sta DTV_CONTROL sta DTV_CONTROL
@ -1907,10 +1907,10 @@ mode_sixsfred: {
.label cy = $1f .label cy = $1f
// Graphics for Plane A () - horizontal stripes every 2 pixels // Graphics for Plane A () - horizontal stripes every 2 pixels
.label gfxa = $e .label gfxa = $e
.label ay = $20 .label ay = $21
// Graphics for Plane B - vertical stripes every 2 pixels // Graphics for Plane B - vertical stripes every 2 pixels
.label gfxb = 8 .label gfxb = 8
.label by = $29 .label by = $2d
// *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR // *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR
lda #DTV_HIGHCOLOR|DTV_LINEAR lda #DTV_HIGHCOLOR|DTV_LINEAR
sta DTV_CONTROL sta DTV_CONTROL
@ -2097,13 +2097,13 @@ mode_8bpppixelcell: {
.label __3 = $17 .label __3 = $17
// Screen Chars for Plane A (screen) - 16x16 repeating // Screen Chars for Plane A (screen) - 16x16 repeating
.label gfxa = $e .label gfxa = $e
.label ay = $20 .label ay = $24
.label bits = $10 .label bits = $10
.label chargen = 8 .label chargen = 8
.label gfxb = $a .label gfxb = $a
.label col = $1c .label col = $1c
.label cr = $1f .label cr = $1f
.label ch = $2a .label ch = $2e
// *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR | DTV_CHUNKY // *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR | DTV_CHUNKY
lda #DTV_HIGHCOLOR|DTV_LINEAR|DTV_CHUNKY lda #DTV_HIGHCOLOR|DTV_LINEAR|DTV_CHUNKY
sta DTV_CONTROL sta DTV_CONTROL
@ -2287,7 +2287,7 @@ mode_8bppchunkybmm: {
.label __7 = $c .label __7 = $c
.label gfxb = $e .label gfxb = $e
.label x = $a .label x = $a
.label y = $26 .label y = $2a
// *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR | DTV_CHUNKY | DTV_COLORRAM_OFF // *DTV_CONTROL = DTV_HIGHCOLOR | DTV_LINEAR | DTV_CHUNKY | DTV_COLORRAM_OFF
lda #DTV_HIGHCOLOR|DTV_LINEAR|DTV_CHUNKY|DTV_COLORRAM_OFF lda #DTV_HIGHCOLOR|DTV_LINEAR|DTV_CHUNKY|DTV_COLORRAM_OFF
sta DTV_CONTROL sta DTV_CONTROL
@ -2406,12 +2406,12 @@ mode_8bppchunkybmm: {
rts rts
} }
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str. // Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// 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: { memset: {
.label end = 6 .label end = 6
.label dst = $e .label dst = $e
.label num = $2b .label num = $2f
.label str = $33 .label str = $37
// if(num>0) // if(num>0)
lda.z num lda.z num
bne !+ 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 __constant char bitmap_clear::col#0 = WHITE*$10 // col
char bitmap_clear::fgcol char bitmap_clear::fgcol
char *bitmap_gfx char *bitmap_gfx
char *bitmap_gfx#14 // bitmap_gfx zp[2]:47 10.485981308411215 char *bitmap_gfx#14 // bitmap_gfx zp[2]:51 10.485981308411215
char *bitmap_gfx#15 // bitmap_gfx zp[2]:47 374.0 char *bitmap_gfx#15 // bitmap_gfx zp[2]:51 374.0
void bitmap_init(char *gfx , char *screen) void bitmap_init(char *gfx , char *screen)
char bitmap_init::$4 // reg byte a 2000002.0 char bitmap_init::$4 // reg byte a 2000002.0
char bitmap_init::$5 // 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_yhi[$100] = { fill( $100, 0) }
__constant const char bitmap_plot_ylo[$100] = { fill( $100, 0) } __constant const char bitmap_plot_ylo[$100] = { fill( $100, 0) }
char *bitmap_screen char *bitmap_screen
char *bitmap_screen#14 // bitmap_screen zp[2]:49 10.485981308411215 char *bitmap_screen#14 // bitmap_screen zp[2]:53 10.485981308411215
char *bitmap_screen#15 // bitmap_screen zp[2]:49 374.0 char *bitmap_screen#15 // bitmap_screen zp[2]:53 374.0
void dtvSetCpuBankSegment1(char cpuBankIdx) void dtvSetCpuBankSegment1(char cpuBankIdx)
__constant char *dtvSetCpuBankSegment1::cpuBank = (char *) 255 __constant char *dtvSetCpuBankSegment1::cpuBank = (char *) 255
char dtvSetCpuBankSegment1::cpuBankIdx char dtvSetCpuBankSegment1::cpuBankIdx
@ -245,10 +245,10 @@ char *memset::dst#4 // dst zp[2]:14 200002.0
char *memset::end char *memset::end
char *memset::end#0 // end zp[2]:6 1683333.6666666665 char *memset::end#0 // end zp[2]:6 1683333.6666666665
unsigned int memset::num 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::return
void *memset::str void *memset::str
void *memset::str#4 // str zp[2]:51 void *memset::str#4 // str zp[2]:55
void menu() void menu()
char menu::$13 // reg byte a 20002.0 char menu::$13 // reg byte a 20002.0
char menu::$17 // 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::CHARSET = (char *) 38912
__constant char * const menu::SCREEN = (char *) 32768 __constant char * const menu::SCREEN = (char *) 32768
char *menu::c char *menu::c
char *menu::c#1 // c zp[2]:45 20002.0 char *menu::c#1 // c zp[2]:49 20002.0
char *menu::c#2 // c zp[2]:45 13334.666666666666 char *menu::c#2 // c zp[2]:49 13334.666666666666
char menu::i char menu::i
char menu::i#1 // reg byte x 15001.5 char menu::i#1 // reg byte x 15001.5
char menu::i#2 // reg byte x 20002.0 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#1 // x zp[2]:10 1500001.5
unsigned int mode_8bppchunkybmm::x#2 // x zp[2]:10 300000.30000000005 unsigned int mode_8bppchunkybmm::x#2 // x zp[2]:10 300000.30000000005
char mode_8bppchunkybmm::y char mode_8bppchunkybmm::y
char mode_8bppchunkybmm::y#1 // y zp[1]:38 150001.5 char mode_8bppchunkybmm::y#1 // y zp[1]:42 150001.5
char mode_8bppchunkybmm::y#6 // y zp[1]:38 92307.92307692306 char mode_8bppchunkybmm::y#6 // y zp[1]:42 92307.92307692306
void mode_8bpppixelcell() void mode_8bpppixelcell()
char mode_8bpppixelcell::$2 // reg byte a 2000002.0 char mode_8bpppixelcell::$2 // reg byte a 2000002.0
char mode_8bpppixelcell::$3 // zp[1]:23 1000001.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#1 // reg byte x 1500001.5
char mode_8bpppixelcell::ax#2 // reg byte x 428571.85714285716 char mode_8bpppixelcell::ax#2 // reg byte x 428571.85714285716
char mode_8bpppixelcell::ay char mode_8bpppixelcell::ay
char mode_8bpppixelcell::ay#1 // ay zp[1]:32 150001.5 char mode_8bpppixelcell::ay#1 // ay zp[1]:36 150001.5
char mode_8bpppixelcell::ay#4 // ay zp[1]:32 120000.30000000002 char mode_8bpppixelcell::ay#4 // ay zp[1]:36 120000.30000000002
char mode_8bpppixelcell::bits char mode_8bpppixelcell::bits
char mode_8bpppixelcell::bits#0 // bits zp[1]:16 1000001.0 char mode_8bpppixelcell::bits#0 // bits zp[1]:16 1000001.0
char mode_8bpppixelcell::bits#1 // bits zp[1]:16 5000000.5 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#2 // reg byte a 2.0000002E7
char mode_8bpppixelcell::c#3 // reg byte a 2.0000002E7 char mode_8bpppixelcell::c#3 // reg byte a 2.0000002E7
char mode_8bpppixelcell::ch char mode_8bpppixelcell::ch
char mode_8bpppixelcell::ch#1 // ch zp[1]:42 150001.5 char mode_8bpppixelcell::ch#1 // ch zp[1]:46 150001.5
char mode_8bpppixelcell::ch#8 // ch zp[1]:42 11764.823529411764 char mode_8bpppixelcell::ch#8 // ch zp[1]:46 11764.823529411764
char *mode_8bpppixelcell::chargen char *mode_8bpppixelcell::chargen
char *mode_8bpppixelcell::chargen#1 // chargen zp[2]:8 131250.1875 char *mode_8bpppixelcell::chargen#1 // chargen zp[2]:8 131250.1875
char *mode_8bpppixelcell::chargen#2 // chargen zp[2]:8 1550002.0 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#1 // reg byte x 1500001.5
char mode_hicolecmchar::cx#2 // reg byte x 333333.6666666666 char mode_hicolecmchar::cx#2 // reg byte x 333333.6666666666
char mode_hicolecmchar::cy char mode_hicolecmchar::cy
char mode_hicolecmchar::cy#1 // cy zp[1]:36 150001.5 char mode_hicolecmchar::cy#1 // cy zp[1]:40 150001.5
char mode_hicolecmchar::cy#4 // cy zp[1]:36 100000.25000000001 char mode_hicolecmchar::cy#4 // cy zp[1]:40 100000.25000000001
char mode_hicolecmchar::i char mode_hicolecmchar::i
char mode_hicolecmchar::i#1 // reg byte x 150001.5 char mode_hicolecmchar::i#1 // reg byte x 150001.5
char mode_hicolecmchar::i#2 // reg byte x 200002.0 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#1 // reg byte x 1500001.5
char mode_hicolmcchar::cx#2 // reg byte x 333333.6666666666 char mode_hicolmcchar::cx#2 // reg byte x 333333.6666666666
char mode_hicolmcchar::cy char mode_hicolmcchar::cy
char mode_hicolmcchar::cy#1 // cy zp[1]:37 150001.5 char mode_hicolmcchar::cy#1 // cy zp[1]:41 150001.5
char mode_hicolmcchar::cy#4 // cy zp[1]:37 100000.25000000001 char mode_hicolmcchar::cy#4 // cy zp[1]:41 100000.25000000001
char mode_hicolmcchar::i char mode_hicolmcchar::i
char mode_hicolmcchar::i#1 // reg byte x 150001.5 char mode_hicolmcchar::i#1 // reg byte x 150001.5
char mode_hicolmcchar::i#2 // reg byte x 200002.0 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#1 // reg byte x 1500001.5
char mode_hicolstdchar::cx#2 // reg byte x 333333.6666666666 char mode_hicolstdchar::cx#2 // reg byte x 333333.6666666666
char mode_hicolstdchar::cy char mode_hicolstdchar::cy
char mode_hicolstdchar::cy#1 // cy zp[1]:35 150001.5 char mode_hicolstdchar::cy#1 // cy zp[1]:39 150001.5
char mode_hicolstdchar::cy#4 // cy zp[1]:35 100000.25000000001 char mode_hicolstdchar::cy#4 // cy zp[1]:39 100000.25000000001
char mode_hicolstdchar::i char mode_hicolstdchar::i
char mode_hicolstdchar::i#1 // reg byte x 150001.5 char mode_hicolstdchar::i#1 // reg byte x 150001.5
char mode_hicolstdchar::i#2 // reg byte x 200002.0 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#1 // reg byte x 1500001.5
char mode_sixsfred::ax#2 // reg byte x 400000.4 char mode_sixsfred::ax#2 // reg byte x 400000.4
char mode_sixsfred::ay char mode_sixsfred::ay
char mode_sixsfred::ay#1 // ay zp[1]:32 150001.5 char mode_sixsfred::ay#1 // ay zp[1]:33 150001.5
char mode_sixsfred::ay#4 // ay zp[1]:32 150000.375 char mode_sixsfred::ay#4 // ay zp[1]:33 150000.375
char mode_sixsfred::bx char mode_sixsfred::bx
char mode_sixsfred::bx#1 // reg byte x 1500001.5 char mode_sixsfred::bx#1 // reg byte x 1500001.5
char mode_sixsfred::bx#2 // reg byte x 666667.3333333334 char mode_sixsfred::bx#2 // reg byte x 666667.3333333334
char mode_sixsfred::by char mode_sixsfred::by
char mode_sixsfred::by#1 // by zp[1]:41 150001.5 char mode_sixsfred::by#1 // by zp[1]:45 150001.5
char mode_sixsfred::by#4 // by zp[1]:41 33333.666666666664 char mode_sixsfred::by#4 // by zp[1]:45 33333.666666666664
char *mode_sixsfred::col char *mode_sixsfred::col
char *mode_sixsfred::col#1 // col zp[2]:10 420000.60000000003 char *mode_sixsfred::col#1 // col zp[2]:10 420000.60000000003
char *mode_sixsfred::col#2 // col zp[2]:10 775001.0 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#1 // reg byte x 1500001.5
char mode_sixsfred2::bx#2 // reg byte x 666667.3333333334 char mode_sixsfred2::bx#2 // reg byte x 666667.3333333334
char mode_sixsfred2::by char mode_sixsfred2::by
char mode_sixsfred2::by#1 // by zp[1]:39 150001.5 char mode_sixsfred2::by#1 // by zp[1]:43 150001.5
char mode_sixsfred2::by#4 // by zp[1]:39 33333.666666666664 char mode_sixsfred2::by#4 // by zp[1]:43 33333.666666666664
char *mode_sixsfred2::col char *mode_sixsfred2::col
char *mode_sixsfred2::col#1 // col zp[2]:10 420000.60000000003 char *mode_sixsfred2::col#1 // col zp[2]:10 420000.60000000003
char *mode_sixsfred2::col#2 // col zp[2]:10 516667.3333333334 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#1 // reg byte x 1500001.5
char mode_sixsfred2::cx#2 // reg byte x 428571.85714285716 char mode_sixsfred2::cx#2 // reg byte x 428571.85714285716
char mode_sixsfred2::cy char mode_sixsfred2::cy
char mode_sixsfred2::cy#1 // cy zp[1]:32 150001.5 char mode_sixsfred2::cy#1 // cy zp[1]:34 150001.5
char mode_sixsfred2::cy#4 // cy zp[1]:32 120000.30000000002 char mode_sixsfred2::cy#4 // cy zp[1]:34 120000.30000000002
char *mode_sixsfred2::gfxa char *mode_sixsfred2::gfxa
char *mode_sixsfred2::gfxa#1 // gfxa zp[2]:14 420000.60000000003 char *mode_sixsfred2::gfxa#1 // gfxa zp[2]:14 420000.60000000003
char *mode_sixsfred2::gfxa#2 // gfxa zp[2]:14 775001.0 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#1 // reg byte x 1500001.5
char mode_stdbitmap::cx#2 // reg byte x 375000.375 char mode_stdbitmap::cx#2 // reg byte x 375000.375
char mode_stdbitmap::cy char mode_stdbitmap::cy
char mode_stdbitmap::cy#1 // cy zp[1]:33 150001.5 char mode_stdbitmap::cy#1 // cy zp[1]:37 150001.5
char mode_stdbitmap::cy#4 // cy zp[1]:33 109091.18181818182 char mode_stdbitmap::cy#4 // cy zp[1]:37 109091.18181818182
char mode_stdbitmap::i char mode_stdbitmap::i
char mode_stdbitmap::i#1 // reg byte x 150001.5 char mode_stdbitmap::i#1 // reg byte x 150001.5
char mode_stdbitmap::i#2 // reg byte x 200002.0 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#1 // reg byte x 1500001.5
char mode_twoplanebitmap::ax#2 // reg byte x 250000.25 char mode_twoplanebitmap::ax#2 // reg byte x 250000.25
char mode_twoplanebitmap::ay char mode_twoplanebitmap::ay
char mode_twoplanebitmap::ay#1 // ay zp[1]:34 150001.5 char mode_twoplanebitmap::ay#1 // ay zp[1]:38 150001.5
char mode_twoplanebitmap::ay#5 // ay zp[1]:34 109091.18181818182 char mode_twoplanebitmap::ay#5 // ay zp[1]:38 109091.18181818182
char mode_twoplanebitmap::bx char mode_twoplanebitmap::bx
char mode_twoplanebitmap::bx#1 // reg byte x 1500001.5 char mode_twoplanebitmap::bx#1 // reg byte x 1500001.5
char mode_twoplanebitmap::bx#2 // reg byte x 666667.3333333334 char mode_twoplanebitmap::bx#2 // reg byte x 666667.3333333334
char mode_twoplanebitmap::by char mode_twoplanebitmap::by
char mode_twoplanebitmap::by#1 // by zp[1]:40 150001.5 char mode_twoplanebitmap::by#1 // by zp[1]:44 150001.5
char mode_twoplanebitmap::by#4 // by zp[1]:40 33333.666666666664 char mode_twoplanebitmap::by#4 // by zp[1]:44 33333.666666666664
char *mode_twoplanebitmap::col char *mode_twoplanebitmap::col
char *mode_twoplanebitmap::col#1 // col zp[2]:14 420000.60000000003 char *mode_twoplanebitmap::col#1 // col zp[2]:14 420000.60000000003
char *mode_twoplanebitmap::col#2 // col zp[2]:14 516667.3333333334 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#1 // reg byte x 1500001.5
char mode_twoplanebitmap::cx#2 // reg byte x 428571.85714285716 char mode_twoplanebitmap::cx#2 // reg byte x 428571.85714285716
char mode_twoplanebitmap::cy char mode_twoplanebitmap::cy
char mode_twoplanebitmap::cy#1 // cy zp[1]:32 150001.5 char mode_twoplanebitmap::cy#1 // cy zp[1]:35 150001.5
char mode_twoplanebitmap::cy#4 // cy zp[1]:32 120000.30000000002 char mode_twoplanebitmap::cy#4 // cy zp[1]:35 120000.30000000002
char *mode_twoplanebitmap::gfxa char *mode_twoplanebitmap::gfxa
char *mode_twoplanebitmap::gfxa#1 // gfxa zp[2]:8 2000002.0 char *mode_twoplanebitmap::gfxa#1 // gfxa zp[2]:8 2000002.0
char *mode_twoplanebitmap::gfxa#2 // 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#1 // w zp[2]:2 2000002.0
unsigned int sgn_u16::w#2 // w zp[2]:2 1.2000003E7 unsigned int sgn_u16::w#2 // w zp[2]:2 1.2000003E7
zp[2]:47 [ bitmap_gfx#14 bitmap_gfx#15 ] zp[2]:51 [ bitmap_gfx#14 bitmap_gfx#15 ]
zp[2]:49 [ bitmap_screen#14 bitmap_screen#15 ] zp[2]:53 [ bitmap_screen#14 bitmap_screen#15 ]
reg byte x [ menu::i#2 menu::i#1 ] 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 y [ keyboard_key_pressed::key#20 ]
reg byte x [ mode_stdchar::i#2 mode_stdchar::i#1 ] reg byte x [ mode_stdchar::i#2 mode_stdchar::i#1 ]
reg byte x [ mode_stdchar::cx#2 mode_stdchar::cx#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::i#2 mode_mcchar::i#1 ]
reg byte x [ mode_mcchar::cx#2 mode_mcchar::cx#1 ] reg byte x [ mode_mcchar::cx#2 mode_mcchar::cx#1 ]
reg byte x [ mode_stdbitmap::i#2 mode_stdbitmap::i#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 ] 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 ] 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_hicolstdchar::cx#2 mode_hicolstdchar::cx#1 ]
reg byte x [ mode_hicolecmchar::i#2 mode_hicolecmchar::i#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_hicolecmchar::cx#2 mode_hicolecmchar::cx#1 ]
reg byte x [ mode_hicolmcchar::i#2 mode_hicolmcchar::i#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 ] 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 ] 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 ] 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::cx#2 mode_sixsfred2::cx#1 ]
reg byte x [ mode_sixsfred2::ax#2 mode_sixsfred2::ax#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_sixsfred2::bx#2 mode_sixsfred2::bx#1 ]
reg byte x [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#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 ] 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 ] 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_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ]
reg byte x [ mode_sixsfred::i#2 mode_sixsfred::i#1 ] reg byte x [ mode_sixsfred::i#2 mode_sixsfred::i#1 ]
reg byte x [ mode_sixsfred::cx#2 mode_sixsfred::cx#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 ] 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_sixsfred::bx#2 mode_sixsfred::bx#1 ]
reg byte x [ mode_8bpppixelcell::i#2 mode_8bpppixelcell::i#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 ] 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 x [ mode_8bpppixelcell::cp#2 mode_8bpppixelcell::cp#1 ]
reg byte a [ mode_8bpppixelcell::c#2 mode_8bpppixelcell::c#3 ] reg byte a [ mode_8bpppixelcell::c#2 mode_8bpppixelcell::c#3 ]
reg byte x [ mode_8bppchunkybmm::i#2 mode_8bppchunkybmm::i#1 ] 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 ] 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]:47 [ memset::num#3 ]
zp[2]:51 [ memset::str#4 ] zp[2]:55 [ memset::str#4 ]
reg byte x [ memset::c#5 ] reg byte x [ memset::c#5 ]
reg byte x [ dtv_control#116 dtv_control#146 dtv_control#16 ] 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 ] 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]:249 [ game_logic::$35 ]
Allocated zp[1]:250 [ game_logic::$37 ] Allocated zp[1]:250 [ game_logic::$37 ]
Allocated zp[1]:251 [ game_logic::$38 ] Allocated zp[1]:251 [ game_logic::$38 ]
Allocated zp[1]:252 [ game_logic::$40 ] Zero-page exhausted. Moving allocation to main memory game_logic::$40
Allocated zp[1]:253 [ game_logic::$41 ] Allocated mem[1] [ game_logic::$40 ]
Allocated zp[1]:254 [ game_logic::$43 ] Zero-page exhausted. Moving allocation to main memory game_logic::$41
Allocated zp[1]:255 [ game_logic::$44 ] 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 Zero-page exhausted. Moving allocation to main memory game_logic::$46
Allocated mem[1] [ game_logic::$46 ] Allocated mem[1] [ game_logic::$46 ]
Zero-page exhausted. Moving allocation to main memory game_logic::$47 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]: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 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 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 mem[1] [ game_logic::$40 ] : mem[1] , 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::$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 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 mem[1] [ game_logic::$43 ] : mem[1] , 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::$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::$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::$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 , 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 [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 [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 [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 [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 [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 ] 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 [spawn_all]
Uplift Scope [__start] 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. 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. 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. 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. 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. 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. 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. 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. 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 [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 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 [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. 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 [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 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 [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 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 [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 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 [] 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 2265417 combination zp[2]:131 [ memcpy::src#2 memcpy::src#1 ] zp[2]:137 [ memcpy::dst#2 memcpy::dst#1 ] 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 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 [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 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 [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. 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. 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. Limited combination testing to 100 combinations of 196608 possible.
Uplifting [byteboozer_decrunch] best 2264590 combination zp[2]:181 [ byteboozer_decrunch::crunched ] Uplifting [byteboozer_decrunch] best 2264598 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 [irq_screen_top] best 2264584 combination reg byte a [ irq_screen_top::$1 ] reg byte a [ irq_screen_top::$2 ]
Uplifting [MOS6526_CIA] best 2264576 combination Uplifting [MOS6526_CIA] best 2264584 combination
Uplifting [MOS6569_VICII] best 2264576 combination Uplifting [MOS6569_VICII] best 2264584 combination
Uplifting [MOS6581_SID] best 2264576 combination Uplifting [MOS6581_SID] best 2264584 combination
Uplifting [pacman_sound_init] best 2264576 combination Uplifting [pacman_sound_init] best 2264584 combination
Uplifting [pacman_sound_play] best 2264576 combination Uplifting [pacman_sound_play] best 2264584 combination
Uplifting [TILE_TYPE] best 2264576 combination Uplifting [TILE_TYPE] best 2264584 combination
Uplifting [main] best 2264576 combination Uplifting [main] best 2264584 combination
Uplifting [joyinit] best 2264576 combination Uplifting [joyinit] best 2264584 combination
Uplifting [DIRECTION] best 2264576 combination Uplifting [DIRECTION] best 2264584 combination
Uplifting [GHOSTS_MODE] best 2264576 combination Uplifting [GHOSTS_MODE] best 2264584 combination
Uplifting [spawn_all] best 2264576 combination Uplifting [spawn_all] best 2264584 combination
Uplifting [__start] best 2264576 combination Uplifting [__start] best 2264584 combination
Attempting to uplift remaining variables inzp[1]:2 [ render_tiles::y#2 render_tiles::y#1 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] 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 ] Attempting to uplift remaining variables inzp[1]:251 [ game_logic::$38 ]
Uplifting [game_logic] best 2228472 combination reg byte x [ game_logic::$38 ] Uplifting [game_logic] best 2228480 combination reg byte x [ game_logic::$38 ]
Attempting to uplift remaining variables inzp[1]:252 [ game_logic::$40 ] Attempting to uplift remaining variables inmem[1] [ game_logic::$40 ]
Uplifting [game_logic] best 2228466 combination reg byte a [ game_logic::$40 ] Uplifting [game_logic] best 2228472 combination reg byte a [ game_logic::$40 ]
Attempting to uplift remaining variables inzp[1]:253 [ game_logic::$41 ] Attempting to uplift remaining variables inmem[1] [ game_logic::$41 ]
Uplifting [game_logic] best 2228460 combination reg byte a [ game_logic::$41 ] Uplifting [game_logic] best 2228464 combination reg byte a [ game_logic::$41 ]
Attempting to uplift remaining variables inzp[1]:254 [ game_logic::$43 ] Attempting to uplift remaining variables inmem[1] [ game_logic::$43 ]
Uplifting [game_logic] best 2228454 combination reg byte a [ game_logic::$43 ] Uplifting [game_logic] best 2228456 combination reg byte a [ game_logic::$43 ]
Attempting to uplift remaining variables inzp[1]:255 [ game_logic::$44 ] Attempting to uplift remaining variables inmem[1] [ game_logic::$44 ]
Uplifting [game_logic] best 2228448 combination reg byte x [ 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 ] Attempting to uplift remaining variables inmem[1] [ game_logic::$46 ]
Uplifting [game_logic] best 2228440 combination reg byte a [ 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) /// Bit 0: Tile Width (0:8 pixels, 1:16 pixels)
.label VERA_L1_TILEBASE = $9f36 .label VERA_L1_TILEBASE = $9f36
// Variable holding the screen width; // Variable holding the screen width;
.label conio_screen_width = $22 .label conio_screen_width = $24
// Variable holding the screen height; // 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; // 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. // 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_height = $33
.label conio_rowshift = $2b .label conio_rowshift = $2d
.label conio_rowskip = $2c .label conio_rowskip = $2e
.label __bitmap_address = $a8 .label __bitmap_address = $ac
.label __bitmap_layer = $92 .label __bitmap_layer = $96
.label __bitmap_hscale = $ac .label __bitmap_hscale = $b0
.label __bitmap_vscale = $ad .label __bitmap_vscale = $b1
.label __bitmap_color_depth = $a3 .label __bitmap_color_depth = $a7
// The random state variable // The random state variable
.label rand_state = $35 .label rand_state = $35
// Remainder after unsigned 16-bit division // 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. // 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 // 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. // 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_TEXT = $2b
.label CONIO_SCREEN_BANK = $84 .label CONIO_SCREEN_BANK = $88
.label CONIO_SCREEN_BANK_1 = $a7 .label CONIO_SCREEN_BANK_1 = $ab
// The screen width // The screen width
// The screen height // The screen height
// The text screen base address, which is a 16:0 bit value in VERA VRAM. // 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. // 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 // 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. // 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 .segment Code
__start: { __start: {
// __ma unsigned byte conio_screen_width = 0 // __ma unsigned byte conio_screen_width = 0
@ -182,7 +182,7 @@ __start: {
conio_x16_init: { conio_x16_init: {
// Position cursor at current line // Position cursor at current line
.label BASIC_CURSOR_LINE = $d6 .label BASIC_CURSOR_LINE = $d6
.label line = $a4 .label line = $a8
// char line = *BASIC_CURSOR_LINE // char line = *BASIC_CURSOR_LINE
lda BASIC_CURSOR_LINE lda BASIC_CURSOR_LINE
sta.z line sta.z line
@ -225,12 +225,12 @@ conio_x16_init: {
} }
// Output one character at the current cursor position // Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed // Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__zp($65) char c) // void cputc(__zp($69) char c)
cputc: { cputc: {
.const OFFSET_STACK_C = 0 .const OFFSET_STACK_C = 0
.label __16 = $27 .label __16 = $29
.label c = $65 .label c = $69
.label conio_addr = $1c .label conio_addr = $1e
tsx tsx
lda STACK_BASE+OFFSET_STACK_C,x lda STACK_BASE+OFFSET_STACK_C,x
sta.z c sta.z c
@ -329,9 +329,9 @@ cputc: {
rts rts
} }
main: { main: {
.label __40 = $6a .label __40 = $6e
.label color = $7a .label color = $7e
.label x = $74 .label x = $78
// memcpy_in_vram(1, (char*)0xF000, VERA_INC_1, 0, (char*)0xF800, VERA_INC_1, 256*8) // 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! // 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. // 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. // - layer: value of 0 or 1.
// void screenlayer(char layer) // void screenlayer(char layer)
screenlayer: { screenlayer: {
.label __2 = $85 .label __2 = $89
.label __4 = $7b .label __4 = $7f
.label __5 = $87 .label __5 = $8b
.label vera_layer_get_width1_config = $93 .label vera_layer_get_width1_config = $97
.label vera_layer_get_width1_return = $85 .label vera_layer_get_width1_return = $89
.label vera_layer_get_height1_config = $95 .label vera_layer_get_height1_config = $99
.label vera_layer_get_height1_return = $87 .label vera_layer_get_height1_return = $8b
// conio_screen_layer = layer // conio_screen_layer = layer
lda #1 lda #1
sta.z conio_screen_layer 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. // 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) // void vera_layer_set_mapbase(__register(A) char layer, __register(X) char mapbase)
vera_layer_set_mapbase: { vera_layer_set_mapbase: {
.label addr = $23 .label addr = $25
// byte* addr = vera_layer_mapbase[layer] // byte* addr = vera_layer_mapbase[layer]
asl asl
tay tay
@ -921,8 +921,8 @@ vera_layer_set_mapbase: {
// Set the cursor to the specified position // Set the cursor to the specified position
// void gotoxy(char x, __register(X) char y) // void gotoxy(char x, __register(X) char y)
gotoxy: { gotoxy: {
.label __6 = $23 .label __6 = $25
.label line_offset = $23 .label line_offset = $25
// if(y>CONIO_HEIGHT) // if(y>CONIO_HEIGHT)
lda.z conio_screen_height lda.z conio_screen_height
stx.z $ff stx.z $ff
@ -970,7 +970,7 @@ gotoxy: {
// Note that on the VERA, the transparent color has value 0. // Note that on the VERA, the transparent color has value 0.
// __register(A) char vera_layer_get_color(__register(X) char layer) // __register(A) char vera_layer_get_color(__register(X) char layer)
vera_layer_get_color: { vera_layer_get_color: {
.label addr = 8 .label addr = 6
// byte* addr = vera_layer_config[layer] // byte* addr = vera_layer_config[layer]
txa txa
asl asl
@ -1003,7 +1003,7 @@ vera_layer_get_color: {
} }
// Print a newline // Print a newline
cputln: { cputln: {
.label temp = 8 .label temp = 6
// word temp = conio_line_text[conio_screen_layer] // word temp = conio_line_text[conio_screen_layer]
lda.z conio_screen_layer lda.z conio_screen_layer
asl asl
@ -1137,19 +1137,19 @@ memcpy_in_vram: {
// - tilewidth: The width of a tile, which can be 8 or 16 pixels. // - 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. // - 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. // - 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: { vera_layer_mode_tile: {
.label __1 = $78 .label __1 = $7c
.label __6 = $4b .label __6 = $4f
.label __17 = $91 .label __17 = $95
.label __18 = $8f .label __18 = $93
.label mapbase_address = $43 .label mapbase_address = $43
.label tilebase_address = $47 .label tilebase_address = $49
.label mapwidth = $76 .label mapwidth = $7a
.label layer = $90 .label layer = $94
.label mapheight = $9b .label mapheight = $9f
.label tilewidth = $a5 .label tilewidth = $a9
.label tileheight = $a6 .label tileheight = $aa
// case 32: // case 32:
// config |= VERA_LAYER_WIDTH_32; // config |= VERA_LAYER_WIDTH_32;
// vera_layer_rowshift[layer] = 6; // 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. // clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: { clrscr: {
.label __1 = $83 .label __1 = $87
.label line_text = $6c .label line_text = $70
.label color = $83 .label color = $87
// char* line_text = CONIO_SCREEN_TEXT // char* line_text = CONIO_SCREEN_TEXT
lda.z CONIO_SCREEN_TEXT_1 lda.z CONIO_SCREEN_TEXT_1
sta.z line_text sta.z line_text
@ -1595,9 +1595,9 @@ clrscr: {
jmp __b4 jmp __b4
} }
/// Print a NUL-terminated string /// 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: { printf_str: {
.label s = $31 .label s = $4d
__b1: __b1:
// while(c=*s++) // while(c=*s++)
ldy #0 ldy #0
@ -1622,33 +1622,33 @@ printf_str: {
bitmap_init: { bitmap_init: {
.const layer = 0 .const layer = 0
.const address = 0 .const address = 0
.label __7 = $7d .label __7 = $81
.label __10 = $7f .label __10 = $83
.label __13 = $81 .label __13 = $85
.label __23 = $37 .label __23 = $37
.label __24 = $39 .label __24 = $39
.label __25 = $3b .label __25 = $3b
.label __26 = $3d .label __26 = $3d
.label __28 = $3f .label __28 = $3f
.label vera_layer_get_color_depth1_config = $97 .label vera_layer_get_color_depth1_config = $9b
.label bitmask = $1f .label bitmask = $21
.label bitshift = $1e .label bitshift = $20
.label x = $63 .label x = $67
.label hdelta = $9f .label hdelta = $a3
.label yoffs = $66 .label yoffs = $6a
.label y = 6 .label y = $47
.label __29 = $37 .label __29 = $37
.label __30 = $4d .label __30 = $51
.label __31 = $4f .label __31 = $53
.label __32 = $39 .label __32 = $39
.label __33 = $51 .label __33 = $55
.label __34 = $53 .label __34 = $57
.label __35 = $3b .label __35 = $3b
.label __36 = $55 .label __36 = $59
.label __37 = $57 .label __37 = $5b
.label __38 = $3d .label __38 = $3d
.label __39 = $59 .label __39 = $5d
.label __40 = $5b .label __40 = $5f
.label __41 = $3f .label __41 = $3f
// __bitmap_address = address // __bitmap_address = address
lda #<address lda #<address
@ -2054,10 +2054,10 @@ bitmap_init: {
} }
// Clear all graphics on the bitmap // Clear all graphics on the bitmap
bitmap_clear: { bitmap_clear: {
.label vdelta = $9d .label vdelta = $a1
.label hdelta = $99 .label hdelta = $9d
.label count = $6e .label count = $72
.label vdest = $8d .label vdest = $91
// word vdelta = vdeltas[__bitmap_vscale] // word vdelta = vdeltas[__bitmap_vscale]
lda.z __bitmap_vscale lda.z __bitmap_vscale
asl asl
@ -2112,7 +2112,7 @@ kbhit: {
.label IN_DEV = $28a .label IN_DEV = $28a
// Current input device number // Current input device number
.label GETIN = $ffe4 .label GETIN = $ffe4
.label ch = $30 .label ch = $32
// char ch = 0 // char ch = 0
lda #0 lda #0
sta.z ch sta.z ch
@ -2153,15 +2153,15 @@ kbhit: {
rts rts
} }
// Draw a line on the bitmap // 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: { bitmap_line: {
.label xd = $20 .label xd = $22
.label yd = $27 .label yd = $29
.label yd_1 = $25 .label yd_1 = $27
.label x0 = $a .label x0 = 6
.label x1 = 8 .label x1 = $a
.label y0 = 2 .label y0 = 8
.label y1 = $31 .label y1 = 2
// if(x0<x1) // if(x0<x1)
lda.z x0+1 lda.z x0+1
cmp.z x1+1 cmp.z x1+1
@ -2383,10 +2383,10 @@ bitmap_line: {
// Information https://en.wikipedia.org/wiki/Xorshift // Information https://en.wikipedia.org/wiki/Xorshift
// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html // Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html
rand: { rand: {
.label __0 = $5d .label __0 = $61
.label __1 = $5f .label __1 = $63
.label __2 = $61 .label __2 = $65
.label return = $6a .label return = $6e
// rand_state << 7 // rand_state << 7
lda.z rand_state+1 lda.z rand_state+1
lsr lsr
@ -2438,11 +2438,11 @@ rand: {
// Performs modulo on two 16 bit unsigned ints and an initial remainder // Performs modulo on two 16 bit unsigned ints and an initial remainder
// Returns the remainder. // Returns the remainder.
// Implemented using simple binary division // 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: { modr16u: {
.label return = $72 .label return = $76
.label dividend = 6 .label dividend = 2
.label divisor = $8b .label divisor = $8f
// divr16u(dividend, divisor, rem) // divr16u(dividend, divisor, rem)
lda.z divisor lda.z divisor
sta.z divr16u.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. // - 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) // void vera_layer_set_text_color_mode(char layer, char color_mode)
vera_layer_set_text_color_mode: { vera_layer_set_text_color_mode: {
.label addr = $23 .label addr = $25
// byte* addr = vera_layer_config[layer] // byte* addr = vera_layer_config[layer]
lda vera_layer_config+vera_layer_mode_text.layer*SIZEOF_POINTER lda vera_layer_config+vera_layer_mode_text.layer*SIZEOF_POINTER
sta.z addr 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. // Get the map base lower 16-bit address (offset) of the tiles for the layer.
// - layer: Value of 0 or 1. // - layer: Value of 0 or 1.
// - return: Offset in vera vram of the specified bank. // - 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: { vera_layer_get_mapbase_offset: {
.label return = $89 .label return = $8d
// return vera_mapbase_offset[layer]; // return vera_mapbase_offset[layer];
asl asl
tay tay
@ -2518,9 +2518,9 @@ vera_layer_get_rowshift: {
// Get the value required to skip a whole line fast. // Get the value required to skip a whole line fast.
// - layer: Value of 0 or 1. // - layer: Value of 0 or 1.
// - return: Skip value to calculate fast from a y value to line offset in tile mode. // - 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: { vera_layer_get_rowskip: {
.label return = $7b .label return = $7f
// return vera_layer_rowskip[layer]; // return vera_layer_rowskip[layer];
asl asl
tay tay
@ -2564,7 +2564,7 @@ cscroll: {
// - config: Specifies the modes which are specified using T256C / 'Bitmap Mode' / 'Color Depth'. // - 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) // void vera_layer_set_config(__register(A) char layer, __register(X) char config)
vera_layer_set_config: { vera_layer_set_config: {
.label addr = $23 .label addr = $25
// byte* addr = vera_layer_config[layer] // byte* addr = vera_layer_config[layer]
asl asl
tay 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! // 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) // void vera_layer_set_tilebase(__register(A) char layer, __register(X) char tilebase)
vera_layer_set_tilebase: { vera_layer_set_tilebase: {
.label addr = $23 .label addr = $25
// byte* addr = vera_layer_tilebase[layer] // byte* addr = vera_layer_tilebase[layer]
asl asl
tay tay
@ -2668,12 +2668,12 @@ vera_display_get_vscale: {
} }
.segment Code .segment Code
// Perform binary multiplication of two unsigned 16-bit unsigned ints into a 32-bit unsigned long // 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: { mul16u: {
.label a = 6 .label a = 2
.label b = $9d .label b = $a1
.label return = $6e .label return = $72
.label mb = $18 .label mb = $1a
.label res = $10 .label res = $10
// unsigned long mb = b // unsigned long mb = b
lda.z b lda.z b
@ -2734,12 +2734,12 @@ mul16u: {
// - vdest: The destination address in VRAM // - vdest: The destination address in VRAM
// - data: The value to set the vram with. // - data: The value to set the vram with.
// - num: The number of bytes to set // - 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: { memset_vram: {
.const data = 0 .const data = 0
.label i = $10 .label i = $10
.label vdest = $8d .label vdest = $91
.label num = $6e .label num = $72
// *VERA_CTRL &= ~VERA_ADDRSEL // *VERA_CTRL &= ~VERA_ADDRSEL
// Select DATA0 // Select DATA0
lda #VERA_ADDRSEL^$ff lda #VERA_ADDRSEL^$ff
@ -2802,16 +2802,16 @@ memset_vram: {
!: !:
jmp __b1 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: { bitmap_line_ydxi: {
.label __6 = $1c .label __6 = $1e
.label y = 4 .label y = 4
.label x = $a .label x = 6
.label y1 = 2 .label y1 = 8
.label yd = $25 .label yd = $27
.label xd = $20 .label xd = $22
.label c = $1e .label c = $20
.label e = 6 .label e = $18
// word e = xd>>1 // word e = xd>>1
lda.z xd+1 lda.z xd+1
lsr lsr
@ -2880,16 +2880,16 @@ bitmap_line_ydxi: {
// } // }
rts 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: { bitmap_line_xdyi: {
.label __6 = $e .label __6 = $e
.label x = $1c .label x = $1e
.label y = 2 .label y = 8
.label x1 = $a .label x1 = 6
.label xd = $20 .label xd = $22
.label yd = $25 .label yd = $27
.label c = $1f .label c = $21
.label e = 6 .label e = $18
// word e = yd>>1 // word e = yd>>1
lda.z yd+1 lda.z yd+1
lsr lsr
@ -2958,16 +2958,16 @@ bitmap_line_xdyi: {
// } // }
rts 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: { bitmap_line_ydxd: {
.label __6 = $e .label __6 = $e
.label y = 4 .label y = 4
.label x = $a .label x = 6
.label y1 = 2 .label y1 = 8
.label yd = $27 .label yd = $29
.label xd = $20 .label xd = $22
.label c = $1e .label c = $20
.label e = 6 .label e = $18
// word e = xd>>1 // word e = xd>>1
lda.z xd+1 lda.z xd+1
lsr lsr
@ -3037,16 +3037,16 @@ bitmap_line_ydxd: {
// } // }
rts 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: { bitmap_line_xdyd: {
.label __6 = $e .label __6 = $e
.label x = $1c .label x = $1e
.label y = 2 .label y = 8
.label x1 = $a .label x1 = 6
.label xd = $20 .label xd = $22
.label yd = $27 .label yd = $29
.label c = $1e .label c = $20
.label e = 6 .label e = $18
// word e = yd>>1 // word e = yd>>1
lda.z yd+1 lda.z yd+1
lsr lsr
@ -3120,13 +3120,13 @@ bitmap_line_xdyd: {
// Returns the quotient dividend/divisor. // Returns the quotient dividend/divisor.
// The final remainder will be set into the global variable rem16u // The final remainder will be set into the global variable rem16u
// Implemented using simple binary division // 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: { divr16u: {
.label rem = $20 .label rem = $22
.label dividend = 6 .label dividend = 2
.label quotient = $25 .label quotient = $27
.label return = $25 .label return = $27
.label divisor = $1c .label divisor = $1e
ldx #0 ldx #0
txa txa
sta.z quotient sta.z quotient
@ -3192,8 +3192,8 @@ divr16u: {
} }
// Insert a new line, and scroll the upper part of the screen up. // Insert a new line, and scroll the upper part of the screen up.
insertup: { insertup: {
.label cy = $1f .label cy = $21
.label width = $1e .label width = $20
.label line = $a .label line = $a
.label start = $a .label start = $a
// unsigned byte cy = conio_cursor_y[conio_screen_layer] // unsigned byte cy = conio_cursor_y[conio_screen_layer]
@ -3261,14 +3261,14 @@ insertup: {
inx inx
jmp __b1 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: { bitmap_plot: {
.label __9 = $e .label __9 = $e
.label __10 = $c .label __10 = $c
.label plot_x = $18 .label plot_x = $1a
.label plot_y = $10 .label plot_y = $10
.label vera_vram_address01_bankaddr = $18 .label vera_vram_address01_bankaddr = $1a
.label x = $1c .label x = $1e
.label y = 4 .label y = 4
.label __12 = $e .label __12 = $e
.label __13 = $c .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; // Variable holding the screen layer on the VERA card with which conio interacts;
.label conio_screen_layer = $1d .label conio_screen_layer = $1d
// Variables holding the current map width and map height of the layer. // 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_height = $26
.label conio_rowshift = $18 .label conio_rowshift = $18
.label conio_rowskip = $19 .label conio_rowskip = $19
@ -108,7 +108,7 @@
// The function setscreenlayermapbase(layer,mapbase) allows to configure bit 16:9 of the // 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. // 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_TEXT = $12
.label CONIO_SCREEN_BANK = $3b .label CONIO_SCREEN_BANK = $39
// The screen width // The screen width
// The screen height // The screen height
// The text screen base address, which is a 16:0 bit value in VERA VRAM. // 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. // 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 // 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. // 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 .segment Code
__start: { __start: {
// __ma unsigned byte conio_screen_width = 0 // __ma unsigned byte conio_screen_width = 0
@ -155,7 +155,7 @@ __start: {
conio_x16_init: { conio_x16_init: {
// Position cursor at current line // Position cursor at current line
.label BASIC_CURSOR_LINE = $d6 .label BASIC_CURSOR_LINE = $d6
.label line = $54 .label line = $52
// char line = *BASIC_CURSOR_LINE // char line = *BASIC_CURSOR_LINE
lda BASIC_CURSOR_LINE lda BASIC_CURSOR_LINE
sta.z line sta.z line
@ -301,17 +301,17 @@ cputc: {
rts rts
} }
main: { main: {
.label tilebase = $4a .label tilebase = $48
.label t = $41 .label t = $3f
.label tile = $24 .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. // Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters.
.label row = $42 .label row = $40
.label r = $44 .label r = $42
.label column1 = $29 .label column1 = $29
// Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters. // Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters.
.label row_1 = $43 .label row_1 = $41
.label r1 = $45 .label r1 = $43
// memcpy_in_vram(1, (char*)0xF000, VERA_INC_1, 0, (char*)0xF800, VERA_INC_1, 256*8) // 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! // 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! // 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) // void screenlayer(char layer)
screenlayer: { screenlayer: {
.label __2 = $10 .label __2 = $10
.label __4 = $37 .label __4 = $35
.label __5 = $3f .label __5 = $3a
.label vera_layer_get_width1_config = $22 .label vera_layer_get_width1_config = $22
.label vera_layer_get_width1_return = $10 .label vera_layer_get_width1_return = $10
.label vera_layer_get_height1_config = $2d .label vera_layer_get_height1_config = $2b
.label vera_layer_get_height1_return = $2b .label vera_layer_get_height1_return = $3a
// conio_screen_layer = layer // conio_screen_layer = layer
lda #1 lda #1
sta.z conio_screen_layer sta.z conio_screen_layer
@ -975,10 +975,6 @@ screenlayer: {
sta.z vera_layer_get_height1_return+1 sta.z vera_layer_get_height1_return+1
// } // }
// vera_layer_get_height(conio_screen_layer) // 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) // conio_height = vera_layer_get_height(conio_screen_layer)
lda.z __5 lda.z __5
sta.z conio_height sta.z conio_height
@ -1256,21 +1252,21 @@ memcpy_in_vram: {
// - tilewidth: The width of a tile, which can be 8 or 16 pixels. // - 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. // - 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. // - 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: { vera_layer_mode_tile: {
.label __1 = $37 .label __1 = $35
.label __6 = $2d .label __6 = $2b
.label __17 = $3d .label __17 = $3d
.label __18 = $3c .label __18 = $3c
.label mapbase_address = $2f .label mapbase_address = $2d
.label tilebase_address = $33 .label tilebase_address = $31
.label layer = $3e .label layer = $3e
.label mapwidth = $10 .label mapwidth = $10
.label mapheight = $46 .label mapheight = $44
.label mapbase_address_1 = $4c .label mapbase_address_1 = $4a
.label tileheight = $57 .label tileheight = $55
.label tilebase_address_1 = $50 .label tilebase_address_1 = $4e
.label tilewidth = $56 .label tilewidth = $54
// case 1: // case 1:
// config |= VERA_LAYER_COLOR_DEPTH_1BPP; // config |= VERA_LAYER_COLOR_DEPTH_1BPP;
// break; // 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. // clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: { clrscr: {
.label __1 = $55 .label __1 = $53
.label line_text = 6 .label line_text = 6
.label color = $20 .label color = $20
.label l = $a .label l = $a
@ -1964,7 +1960,7 @@ kbhit: {
.label IN_DEV = $28a .label IN_DEV = $28a
// Current input device number // Current input device number
.label GETIN = $ffe4 .label GETIN = $ffe4
.label ch = $3a .label ch = $38
// char ch = 0 // char ch = 0
lda #0 lda #0
sta.z ch 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. // - 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) // void vera_layer_set_text_color_mode(char layer, char color_mode)
vera_layer_set_text_color_mode: { vera_layer_set_text_color_mode: {
.label addr = $2b .label addr = $22
// byte* addr = vera_layer_config[layer] // byte* addr = vera_layer_config[layer]
lda vera_layer_config+vera_layer_mode_text.layer*SIZEOF_POINTER lda vera_layer_config+vera_layer_mode_text.layer*SIZEOF_POINTER
sta.z addr sta.z addr
@ -2065,9 +2061,9 @@ vera_layer_get_rowshift: {
// Get the value required to skip a whole line fast. // Get the value required to skip a whole line fast.
// - layer: Value of 0 or 1. // - layer: Value of 0 or 1.
// - return: Skip value to calculate fast from a y value to line offset in tile mode. // - 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: { vera_layer_get_rowskip: {
.label return = $37 .label return = $35
// return vera_layer_rowskip[layer]; // return vera_layer_rowskip[layer];
asl asl
tay 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 BLACK = 0
__constant const char BLUE = 6 __constant const char BLUE = 6
char CONIO_SCREEN_BANK 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_BANK#15 // reg byte x 14.693333333333332
char *CONIO_SCREEN_TEXT char *CONIO_SCREEN_TEXT
char *CONIO_SCREEN_TEXT#12 // CONIO_SCREEN_TEXT zp[2]:18 2.000018187272727E7 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::BINARY = 2
__constant char RADIX::DECIMAL = $a __constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10 __constant char RADIX::HEXADECIMAL = $10
@ -64,7 +64,7 @@ char clearline::color
char clearline::color#0 // reg byte x 1.6833333336666665E9 char clearline::color#0 // reg byte x 1.6833333336666665E9
void clrscr() void clrscr()
char clrscr::$0 // reg byte a 202.0 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::$2 // reg byte a 202.0
char clrscr::$5 // reg byte a 2002.0 char clrscr::$5 // reg byte a 2002.0
char clrscr::$6 // 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 char conio_screen_layer // zp[1]:29 1357989.2490118577
__loadstore volatile char conio_screen_width // zp[1]:15 5.1122500030612245E7 __loadstore volatile char conio_screen_width // zp[1]:15 5.1122500030612245E7
__constant char conio_scroll_enable[2] = { 1, 1 } __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() void conio_x16_init()
__constant char * const conio_x16_init::BASIC_CURSOR_LINE = (char *) 214 __constant char * const conio_x16_init::BASIC_CURSOR_LINE = (char *) 214
char conio_x16_init::line char conio_x16_init::line
char conio_x16_init::line#0 // line zp[1]:84 2.1999999999999997 char conio_x16_init::line#0 // line zp[1]:82 2.1999999999999997
char conio_x16_init::line#1 // line zp[1]:84 22.0 char conio_x16_init::line#1 // line zp[1]:82 22.0
char conio_x16_init::line#3 // line zp[1]:84 33.0 char conio_x16_init::line#3 // line zp[1]:82 33.0
__stackcall void cputc(char c) __stackcall void cputc(char c)
char cputc::$15 // reg byte a 20002.0 char cputc::$15 // reg byte a 20002.0
unsigned int cputc::$16 // zp[2]:6 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() char kbhit()
__constant char * const kbhit::GETIN = (char *) 65508 __constant char * const kbhit::GETIN = (char *) 65508
__constant char * const kbhit::IN_DEV = (char *) 650 __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 __constant char * const kbhit::chptr = &kbhit::ch
char kbhit::return char kbhit::return
char kbhit::return#0 // reg byte a 2002.0 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::bgcolor1_color
char main::bgcolor2_color char main::bgcolor2_color
char main::c char main::c
char main::c#1 // c zp[1]:57 1501.5 char main::c#1 // c zp[1]:55 1501.5
char main::c#2 // c zp[1]:57 250.25 char main::c#2 // c zp[1]:55 250.25
char main::c1 char main::c1
char main::c1#1 // reg byte x 1501.5 char main::c1#1 // reg byte x 1501.5
char main::c1#2 // reg byte x 250.25 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#1 // reg byte x 1501.5
char main::p#2 // reg byte x 2002.0 char main::p#2 // reg byte x 2002.0
char main::r char main::r
char main::r#1 // r zp[1]:68 151.5 char main::r#1 // r zp[1]:66 151.5
char main::r#5 // r zp[1]:68 16.833333333333332 char main::r#5 // r zp[1]:66 16.833333333333332
char main::r1 char main::r1
char main::r1#1 // r1 zp[1]:69 151.5 char main::r1#1 // r1 zp[1]:67 151.5
char main::r1#5 // r1 zp[1]:69 16.833333333333332 char main::r1#5 // r1 zp[1]:67 16.833333333333332
char main::row char main::row
char main::row#1 // row zp[1]:66 67.33333333333333 char main::row#1 // row zp[1]:64 67.33333333333333
char main::row#10 // row_1 zp[1]:67 109.36363636363637 char main::row#10 // row_1 zp[1]:65 109.36363636363637
char main::row#3 // row_1 zp[1]:67 67.33333333333333 char main::row#3 // row_1 zp[1]:65 67.33333333333333
char main::row#9 // row zp[1]:66 109.36363636363637 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::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. __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). __constant char main::s7[$3e] = "however, the first color will always be transparent (black).
" "
char main::t char main::t
char main::t#1 // t zp[1]:65 151.5 char main::t#1 // t zp[1]:63 151.5
char main::t#5 // t zp[1]:65 25.25 char main::t#5 // t zp[1]:63 25.25
char main::textcolor1_color char main::textcolor1_color
char main::textcolor2_color char main::textcolor2_color
unsigned int main::tile 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#6 // tile zp[2]:36 517.3333333333334
unsigned int main::tile#8 // tile zp[2]:36 517.3333333333334 unsigned int main::tile#8 // tile zp[2]:36 517.3333333333334
char *main::tilebase char *main::tilebase
char *main::tilebase#2 // tilebase zp[2]:74 67.33333333333333 char *main::tilebase#2 // tilebase zp[2]:72 67.33333333333333
char *main::tilebase#7 // tilebase zp[2]:74 28.857142857142858 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 } __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_$0 // reg byte a 22.0
char main::vera_layer_hide1_layer 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) void screenlayer(char layer)
unsigned int screenlayer::$2 // zp[2]:16 202.0 unsigned int screenlayer::$2 // zp[2]:16 202.0
char screenlayer::$3 // reg byte a 202.0 char screenlayer::$3 // reg byte a 202.0
unsigned int screenlayer::$4 // zp[2]:55 202.0 unsigned int screenlayer::$4 // zp[2]:53 202.0
unsigned int screenlayer::$5 // zp[2]:63 202.0 unsigned int screenlayer::$5 // zp[2]:58 202.0
char screenlayer::layer char screenlayer::layer
char screenlayer::vera_layer_get_height1_$0 // reg byte a 202.0 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_$1 // reg byte a 202.0
char screenlayer::vera_layer_get_height1_$2 // 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_$3 // reg byte a 202.0
char *screenlayer::vera_layer_get_height1_config 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
char screenlayer::vera_layer_get_height1_layer#0 // reg byte a 202.0 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
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#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]:43 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_$0 // reg byte a 202.0
char screenlayer::vera_layer_get_width1_$1 // 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 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
char vera_layer_get_rowskip::layer#0 // reg byte a 1102.0 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
unsigned int vera_layer_get_rowskip::return#0 // return zp[2]:55 367.33333333333337 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]:55 202.0 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(char layer)
char vera_layer_get_textcolor::layer char vera_layer_get_textcolor::layer
char vera_layer_get_textcolor::layer#0 // reg byte y 1102.0 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 char vera_layer_mode_text::tilewidth
__constant char vera_layer_mode_text::tilewidth#0 = 8 // 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) 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::$11 // reg byte a 2002.0
char vera_layer_mode_tile::$12 // 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 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::$17 // zp[1]:61 250.25
char vera_layer_mode_tile::$18 // zp[1]:60 273.0 char vera_layer_mode_tile::$18 // zp[1]:60 273.0
char vera_layer_mode_tile::$2 // reg byte a 2002.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::$7 // reg byte a 2002.0
char vera_layer_mode_tile::color_depth char vera_layer_mode_tile::color_depth
char vera_layer_mode_tile::color_depth#5 // reg byte x 1001.0 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
char vera_layer_mode_tile::mapbase#0 // reg byte x 1001.0 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
unsigned long vera_layer_mode_tile::mapbase_address#0 // mapbase_address zp[4]:47 2002.0 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]:76 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
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
unsigned int vera_layer_mode_tile::mapwidth#10 // mapwidth zp[2]:16 400.4 unsigned int vera_layer_mode_tile::mapwidth#10 // mapwidth zp[2]:16 400.4
char vera_layer_mode_tile::tilebase 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#3 // reg byte x 2002.0
char vera_layer_mode_tile::tilebase#5 // 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
unsigned long vera_layer_mode_tile::tilebase_address#0 // tilebase_address zp[4]:51 2002.0 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]:80 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
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
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 char vera_layer_rowshift[2] = { 0, 0 }
__constant unsigned int vera_layer_rowskip[2] = { 0, 0 } __constant unsigned int vera_layer_rowskip[2] = { 0, 0 }
char vera_layer_set_backcolor(char layer , char color) 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 char vera_layer_set_mapbase::mapbase#3 // reg byte x 3667.333333333333
void vera_layer_set_text_color_mode(char layer , char color_mode) 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
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::color_mode
char vera_layer_set_text_color_mode::layer char vera_layer_set_text_color_mode::layer
char vera_layer_set_textcolor(char layer , char color) 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 char vera_tilebase_bank[2] = { 0, 0 }
__constant unsigned int vera_tilebase_offset[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[2]:18 [ CONIO_SCREEN_TEXT#12 ]
zp[1]:59 [ CONIO_SCREEN_BANK#12 ] zp[1]:57 [ CONIO_SCREEN_BANK#12 ]
zp[2]:74 [ main::tilebase#7 main::tilebase#2 ] zp[2]:72 [ main::tilebase#7 main::tilebase#2 ]
zp[1]:65 [ main::t#5 main::t#1 ] zp[1]:63 [ main::t#5 main::t#1 ]
reg byte x [ main::p#2 main::p#1 ] reg byte x [ main::p#2 main::p#1 ]
zp[1]:66 [ main::row#9 main::row#1 ] zp[1]:64 [ main::row#9 main::row#1 ]
zp[1]:68 [ main::r#5 main::r#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 ] 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 ] reg byte x [ main::column#2 main::column#1 ]
zp[1]:57 [ main::c#2 main::c#1 ] zp[1]:55 [ main::c#2 main::c#1 ]
zp[1]:67 [ main::row#10 main::row#3 ] zp[1]:65 [ main::row#10 main::row#3 ]
zp[1]:69 [ main::r1#5 main::r1#1 ] 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 ] 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 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 ] 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 y [ memcpy_in_vram::src_bank#3 ]
reg byte x [ vera_layer_mode_tile::color_depth#5 ] reg byte x [ vera_layer_mode_tile::color_depth#5 ]
zp[1]:62 [ vera_layer_mode_tile::layer#10 ] zp[1]:62 [ vera_layer_mode_tile::layer#10 ]
zp[2]:70 [ vera_layer_mode_tile::mapheight#10 ] zp[2]:68 [ vera_layer_mode_tile::mapheight#10 ]
zp[4]:76 [ vera_layer_mode_tile::mapbase_address#10 ] zp[4]:74 [ vera_layer_mode_tile::mapbase_address#10 ]
zp[4]:80 [ vera_layer_mode_tile::tilebase_address#10 ] zp[4]:78 [ vera_layer_mode_tile::tilebase_address#10 ]
zp[1]:86 [ vera_layer_mode_tile::tilewidth#10 ] zp[1]:84 [ vera_layer_mode_tile::tilewidth#10 ]
zp[1]:87 [ vera_layer_mode_tile::tileheight#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::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 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 ] 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]:15 [ conio_screen_width ]
zp[1]:33 [ conio_screen_height ] zp[1]:33 [ conio_screen_height ]
zp[1]:29 [ conio_screen_layer ] zp[1]:29 [ conio_screen_layer ]
zp[2]:72 [ conio_width ] zp[2]:70 [ conio_width ]
zp[2]:38 [ conio_height ] zp[2]:38 [ conio_height ]
zp[1]:24 [ conio_rowshift ] zp[1]:24 [ conio_rowshift ]
zp[2]:25 [ conio_rowskip ] 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 [ vera_layer_get_mapbase_bank::return#2 ]
reg byte x [ CONIO_SCREEN_BANK#15 ] reg byte x [ CONIO_SCREEN_BANK#15 ]
reg byte a [ vera_layer_get_mapbase_offset::layer#0 ] 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_layer#0 ]
reg byte a [ screenlayer::vera_layer_get_width1_$2 ] reg byte a [ screenlayer::vera_layer_get_width1_$2 ]
reg byte a [ screenlayer::vera_layer_get_width1_$0 ] 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_$0 ]
reg byte a [ screenlayer::vera_layer_get_height1_$1 ] reg byte a [ screenlayer::vera_layer_get_height1_$1 ]
reg byte a [ screenlayer::vera_layer_get_height1_$3 ] 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 ] 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 ] 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 ] 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_mode_tile::$14 ]
reg byte a [ vera_layer_set_config::layer#0 ] reg byte a [ vera_layer_set_config::layer#0 ]
reg byte x [ vera_layer_set_config::config#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 ] zp[1]:61 [ vera_layer_mode_tile::$17 ]
reg byte a [ vera_layer_mode_tile::$2 ] reg byte a [ vera_layer_mode_tile::$2 ]
zp[1]:60 [ vera_layer_mode_tile::$18 ] 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 ] 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 ] 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_mode_tile::tilebase#0 ]
reg byte a [ vera_layer_set_tilebase::layer#0 ] reg byte a [ vera_layer_set_tilebase::layer#0 ]
reg byte x [ vera_layer_set_tilebase::tilebase#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 y [ vera_layer_get_backcolor::layer#0 ]
reg byte a [ vera_layer_get_backcolor::return#0 ] reg byte a [ vera_layer_get_backcolor::return#0 ]
reg byte a [ clrscr::$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 y [ vera_layer_get_textcolor::layer#0 ]
reg byte a [ vera_layer_get_textcolor::return#0 ] reg byte a [ vera_layer_get_textcolor::return#0 ]
reg byte a [ clrscr::$2 ] 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_$2 ]
reg byte a [ vera_tile_area::vera_vram_address01_$3 ] reg byte a [ vera_tile_area::vera_vram_address01_$3 ]
reg byte a [ printf_str::c#1 ] 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#0 ]
reg byte a [ kbhit::return#1 ] 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 x [ vera_layer_get_mapbase_bank::return#0 ]
reg byte a [ vera_layer_get_mapbase_offset::$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_rowshift::return#0 ]
reg byte a [ vera_layer_get_rowskip::$0 ] reg byte a [ vera_layer_get_rowskip::$0 ]
reg byte a [ vera_layer_set_config::$0 ] reg byte a [ vera_layer_set_config::$0 ]
reg byte a [ vera_layer_set_tilebase::$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_backcolor::return#1 ]
reg byte a [ vera_layer_get_textcolor::return#1 ] reg byte a [ vera_layer_get_textcolor::return#1 ]
zp[1]:14 [ insertup::cy#0 vera_tile_area::w#11 ] zp[1]:14 [ insertup::cy#0 vera_tile_area::w#11 ]

View File

@ -85,15 +85,15 @@
// Variable holding the screen width; // Variable holding the screen width;
.label conio_screen_width = $e .label conio_screen_width = $e
// Variable holding the screen height; // 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; // 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. // 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_height = $26
.label conio_rowshift = $17 .label conio_rowshift = $17
.label conio_rowskip = $18 .label conio_rowskip = $18
.label CONIO_SCREEN_BANK = $55 .label CONIO_SCREEN_BANK = $56
// The screen width // The screen width
// The screen height // The screen height
// The text screen base address, which is a 16:0 bit value in VERA VRAM. // 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. // 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 // 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. // 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 width
// The screen height // The screen height
// The text screen base address, which is a 16:0 bit value in VERA VRAM. // The text screen base address, which is a 16:0 bit value in VERA VRAM.
@ -156,7 +156,7 @@ __start: {
conio_x16_init: { conio_x16_init: {
// Position cursor at current line // Position cursor at current line
.label BASIC_CURSOR_LINE = $d6 .label BASIC_CURSOR_LINE = $d6
.label line = $51 .label line = $52
// char line = *BASIC_CURSOR_LINE // char line = *BASIC_CURSOR_LINE
lda BASIC_CURSOR_LINE lda BASIC_CURSOR_LINE
sta.z line sta.z line
@ -198,11 +198,11 @@ conio_x16_init: {
} }
// Output one character at the current cursor position // Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed // Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__zp($20) char c) // void cputc(__zp($25) char c)
cputc: { cputc: {
.const OFFSET_STACK_C = 0 .const OFFSET_STACK_C = 0
.label __16 = 2 .label __16 = 2
.label c = $20 .label c = $25
.label conio_addr = 8 .label conio_addr = 8
tsx tsx
lda STACK_BASE+OFFSET_STACK_C,x lda STACK_BASE+OFFSET_STACK_C,x
@ -302,17 +302,17 @@ cputc: {
rts rts
} }
main: { main: {
.label tilebase = $47 .label tilebase = $48
.label t = $3f .label t = $3f
.label tile = $24 .label tile = $23
.label c = $39 .label c = $39
// Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters. // Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters.
.label row = $29 .label row = $40
.label r = $41 .label r = $42
.label column1 = $2a .label column1 = $29
// Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters. // Draw 4 squares with each tile, starting from row 4, width 1, height 1, separated by 2 characters.
.label row_1 = $40 .label row_1 = $41
.label r1 = $42 .label r1 = $43
// vera_layer_set_textcolor(conio_screen_layer, color) // vera_layer_set_textcolor(conio_screen_layer, color)
ldx.z conio_screen_layer ldx.z conio_screen_layer
jsr vera_layer_set_textcolor jsr vera_layer_set_textcolor
@ -421,6 +421,8 @@ main: {
__b6: __b6:
// vera_tile_area(0, tile, column, row, 1, 1, 0, 0, 0) // vera_tile_area(0, tile, column, row, 1, 1, 0, 0, 0)
stx.z vera_tile_area.x stx.z vera_tile_area.x
lda.z row
sta.z vera_tile_area.y
lda #1 lda #1
sta.z vera_tile_area.w sta.z vera_tile_area.w
sta.z vera_tile_area.h sta.z vera_tile_area.h
@ -705,7 +707,7 @@ screenlayer: {
.label __2 = $f .label __2 = $f
.label __4 = $37 .label __4 = $37
.label __5 = $2b .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_width1_return = $f
.label vera_layer_get_height1_config = $2d .label vera_layer_get_height1_config = $2d
.label vera_layer_get_height1_return = $2b .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. // 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) // void vera_layer_set_mapbase(__register(A) char layer, __register(X) char mapbase)
vera_layer_set_mapbase: { vera_layer_set_mapbase: {
.label addr = $22 .label addr = $21
// byte* addr = vera_layer_mapbase[layer] // byte* addr = vera_layer_mapbase[layer]
asl asl
tay tay
@ -975,9 +977,9 @@ cputln: {
} }
// clears the screen and moves the cursor to the upper left-hand corner of the screen. // clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: { clrscr: {
.label __1 = $52 .label __1 = $53
.label line_text = 2 .label line_text = 2
.label color = $1c .label color = $1f
// char* line_text = CONIO_SCREEN_TEXT // char* line_text = CONIO_SCREEN_TEXT
lda.z CONIO_SCREEN_TEXT lda.z CONIO_SCREEN_TEXT
sta.z line_text sta.z line_text
@ -1086,7 +1088,7 @@ clrscr: {
// - tilewidth: The width of a tile, which can be 8 or 16 pixels. // - 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. // - 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. // - 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: { vera_layer_mode_tile: {
.label __1 = $37 .label __1 = $37
.label __6 = $2d .label __6 = $2d
@ -1096,11 +1098,11 @@ vera_layer_mode_tile: {
.label tilebase_address = $33 .label tilebase_address = $33
.label mapwidth = $f .label mapwidth = $f
.label layer = $3e .label layer = $3e
.label mapheight = $43 .label mapheight = $44
.label mapbase_address_1 = $49 .label mapbase_address_1 = $4a
.label tilebase_address_1 = $4d .label tilebase_address_1 = $4e
.label tilewidth = $53 .label tilewidth = $54
.label tileheight = $54 .label tileheight = $55
// case 1: // case 1:
// config |= VERA_LAYER_COLOR_DEPTH_1BPP; // config |= VERA_LAYER_COLOR_DEPTH_1BPP;
// break; // break;
@ -1457,7 +1459,7 @@ vera_layer_mode_tile: {
memcpy_to_vram: { memcpy_to_vram: {
// Transfer the data // Transfer the data
.label end = main.tiles+$40 .label end = main.tiles+$40
.label s = $1e .label s = $1d
.label vdest = 2 .label vdest = 2
// *VERA_CTRL &= ~VERA_ADDRSEL // *VERA_CTRL &= ~VERA_ADDRSEL
// Select DATA0 // Select DATA0
@ -1503,23 +1505,23 @@ memcpy_to_vram: {
jmp __b1 jmp __b1
} }
// --- TILE FUNCTIONS --- // --- 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: { vera_tile_area: {
.label __4 = 2 .label __4 = 2
.label __10 = 2 .label __10 = 2
.label mapbase = $13 .label mapbase = $13
.label shift = $d .label shift = $2a
.label rowskip = 8 .label rowskip = 8
.label hflip = $28 .label hflip = $28
.label vflip = $1a .label vflip = $1a
.label index_l = $1b .label index_l = $1b
.label index_h = $1a .label index_h = $1a
.label r = $c .label r = $c
.label tileindex = $24 .label tileindex = $23
.label x = $2a .label x = $29
.label y = $29 .label y = $25
.label h = $20 .label h = $1f
.label w = $1c .label w = $d
// dword mapbase = vera_mapbase_address[layer] // dword mapbase = vera_mapbase_address[layer]
lda vera_mapbase_address lda vera_mapbase_address
sta.z mapbase sta.z mapbase
@ -1667,9 +1669,9 @@ vera_tile_area: {
jmp __b2 jmp __b2
} }
/// Print a NUL-terminated string /// 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: { printf_str: {
.label s = $1e .label s = $1d
__b1: __b1:
// while(c=*s++) // while(c=*s++)
ldy #0 ldy #0
@ -1866,7 +1868,7 @@ vera_layer_get_textcolor: {
// - config: Specifies the modes which are specified using T256C / 'Bitmap Mode' / 'Color Depth'. // - 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) // void vera_layer_set_config(__register(A) char layer, __register(X) char config)
vera_layer_set_config: { vera_layer_set_config: {
.label addr = $22 .label addr = $21
// byte* addr = vera_layer_config[layer] // byte* addr = vera_layer_config[layer]
asl asl
tay 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! // 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) // void vera_layer_set_tilebase(__register(A) char layer, __register(X) char tilebase)
vera_layer_set_tilebase: { vera_layer_set_tilebase: {
.label addr = $22 .label addr = $21
// byte* addr = vera_layer_tilebase[layer] // byte* addr = vera_layer_tilebase[layer]
asl asl
tay tay
@ -1905,8 +1907,8 @@ vera_layer_set_tilebase: {
} }
// Insert a new line, and scroll the upper part of the screen up. // Insert a new line, and scroll the upper part of the screen up.
insertup: { insertup: {
.label cy = $c .label cy = $d
.label width = $d .label width = $c
.label line = 6 .label line = 6
.label start = 6 .label start = 6
// unsigned byte cy = conio_cursor_y[conio_screen_layer] // 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 BLACK = 0
__constant const char BLUE = 6 __constant const char BLUE = 6
char CONIO_SCREEN_BANK 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_BANK#15 // CONIO_SCREEN_BANK_1 zp[1]:59 625.0625
char *CONIO_SCREEN_TEXT 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 char *CONIO_SCREEN_TEXT#17 // CONIO_SCREEN_TEXT_1 zp[2]:17 2.0370555611111112E7
__constant char RADIX::BINARY = 2 __constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a __constant char RADIX::DECIMAL = $a
@ -64,7 +64,7 @@ char clearline::color
char clearline::color#0 // reg byte x 1.6833333336666665E9 char clearline::color#0 // reg byte x 1.6833333336666665E9
void clrscr() void clrscr()
char clrscr::$0 // reg byte a 202.0 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::$2 // reg byte a 202.0
char clrscr::$5 // reg byte a 2002.0 char clrscr::$5 // reg byte a 2002.0
char clrscr::$6 // 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::c#2 // reg byte y 7500.75
char *clrscr::ch char *clrscr::ch
char clrscr::color 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
char clrscr::l#1 // reg byte x 2002.0 char clrscr::l#1 // reg byte x 2002.0
char clrscr::l#2 // reg byte x 200.2 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 } __constant unsigned int conio_line_text[2] = { 0, 0 }
__loadstore char conio_rowshift // zp[1]:23 5287958.664921466 __loadstore char conio_rowshift // zp[1]:23 5287958.664921466
__loadstore unsigned int conio_rowskip // zp[2]:24 4878541.980487805 __loadstore unsigned int conio_rowskip // zp[2]:24 4878541.980487805
__loadstore volatile char conio_screen_height // zp[1]:33 70588.39411764707 __loadstore volatile char conio_screen_height // zp[1]:32 70588.39411764707
__loadstore char conio_screen_layer // zp[1]:29 1296495.313207547 __loadstore char conio_screen_layer // zp[1]:28 1296495.313207547
__loadstore volatile char conio_screen_width // zp[1]:14 4.8878097590243906E7 __loadstore volatile char conio_screen_width // zp[1]:14 4.8878097590243906E7
__constant char conio_scroll_enable[2] = { 1, 1 } __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() void conio_x16_init()
__constant char * const conio_x16_init::BASIC_CURSOR_LINE = (char *) 214 __constant char * const conio_x16_init::BASIC_CURSOR_LINE = (char *) 214
char conio_x16_init::line char conio_x16_init::line
char conio_x16_init::line#0 // line zp[1]:81 2.1999999999999997 char conio_x16_init::line#0 // line zp[1]:82 2.1999999999999997
char conio_x16_init::line#1 // line zp[1]:81 22.0 char conio_x16_init::line#1 // line zp[1]:82 22.0
char conio_x16_init::line#3 // line zp[1]:81 33.0 char conio_x16_init::line#3 // line zp[1]:82 33.0
__stackcall void cputc(char c) __stackcall void cputc(char c)
char cputc::$15 // reg byte a 20002.0 char cputc::$15 // reg byte a 20002.0
unsigned int cputc::$16 // zp[2]:2 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 char cputc::$6 // reg byte a 20002.0
__constant char cputc::OFFSET_STACK_C = 0 __constant char cputc::OFFSET_STACK_C = 0
char cputc::c 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
char cputc::color#0 // reg byte x 1428.7142857142858 char cputc::color#0 // reg byte x 1428.7142857142858
char *cputc::conio_addr char *cputc::conio_addr
@ -138,7 +138,7 @@ char gotoxy::y#5 // reg byte x 4000000.4
void insertup() void insertup()
char insertup::$3 // reg byte a 2.000000002E9 char insertup::$3 // reg byte a 2.000000002E9
char insertup::cy 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
char insertup::i#1 // reg byte x 2.000000002E9 char insertup::i#1 // reg byte x 2.000000002E9
char insertup::i#2 // reg byte x 4.444444448888889E8 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
char *insertup::start#0 // start zp[2]:6 1.000000001E9 char *insertup::start#0 // start zp[2]:6 1.000000001E9
char insertup::width 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() char kbhit()
__constant char * const kbhit::GETIN = (char *) 65508 __constant char * const kbhit::GETIN = (char *) 65508
__constant char * const kbhit::IN_DEV = (char *) 650 __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#1 // reg byte x 400.4
char main::column#2 // reg byte x 600.5999999999999 char main::column#2 // reg byte x 600.5999999999999
char main::column1 char main::column1
char main::column1#1 // column1 zp[1]:42 400.4 char main::column1#1 // column1 zp[1]:41 400.4
char main::column1#2 // column1 zp[1]:42 600.5999999999999 char main::column1#2 // column1 zp[1]:41 600.5999999999999
char main::p char main::p
char main::p#1 // reg byte x 1501.5 char main::p#1 // reg byte x 1501.5
char main::p#2 // reg byte x 2002.0 char main::p#2 // reg byte x 2002.0
char main::r char main::r
char main::r#1 // r zp[1]:65 151.5 char main::r#1 // r zp[1]:66 151.5
char main::r#5 // r zp[1]:65 16.833333333333332 char main::r#5 // r zp[1]:66 16.833333333333332
char main::r1 char main::r1
char main::r1#1 // r1 zp[1]:66 151.5 char main::r1#1 // r1 zp[1]:67 151.5
char main::r1#5 // r1 zp[1]:66 16.833333333333332 char main::r1#5 // r1 zp[1]:67 16.833333333333332
char main::row char main::row
char main::row#1 // row zp[1]:41 67.33333333333333 char main::row#1 // row zp[1]:64 67.33333333333333
char main::row#11 // row_1 zp[1]:64 109.36363636363637 char main::row#11 // row_1 zp[1]:65 109.36363636363637
char main::row#3 // row_1 zp[1]:64 67.33333333333333 char main::row#3 // row_1 zp[1]:65 67.33333333333333
char main::row#9 // row zp[1]:41 109.36363636363637 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::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. __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::t#5 // t zp[1]:63 25.25
char main::textcolor1_color char main::textcolor1_color
unsigned int main::tile unsigned int main::tile
unsigned int main::tile#1 // tile zp[2]:36 2002.0 unsigned int main::tile#1 // tile zp[2]:35 2002.0
unsigned int main::tile#10 // tile zp[2]:36 202.0 unsigned int main::tile#10 // tile zp[2]:35 202.0
unsigned int main::tile#11 // tile zp[2]:36 202.0 unsigned int main::tile#11 // tile zp[2]:35 202.0
unsigned int main::tile#12 // tile zp[2]:36 350.5 unsigned int main::tile#12 // tile zp[2]:35 350.5
unsigned int main::tile#13 // tile zp[2]:36 350.5 unsigned int main::tile#13 // tile zp[2]:35 350.5
unsigned int main::tile#4 // tile zp[2]:36 2002.0 unsigned int main::tile#4 // tile zp[2]:35 2002.0
unsigned int main::tile#6 // tile zp[2]:36 517.3333333333334 unsigned int main::tile#6 // tile zp[2]:35 517.3333333333334
unsigned int main::tile#8 // tile zp[2]:36 517.3333333333334 unsigned int main::tile#8 // tile zp[2]:35 517.3333333333334
char *main::tilebase char *main::tilebase
char *main::tilebase#2 // tilebase zp[2]:71 67.33333333333333 char *main::tilebase#2 // tilebase zp[2]:72 67.33333333333333
char *main::tilebase#7 // tilebase zp[2]:71 28.857142857142858 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 } __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 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) 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 __constant char *memcpy_to_vram::end#0 = (char *)(void *)main::tiles+$40 // end
unsigned int memcpy_to_vram::num unsigned int memcpy_to_vram::num
char *memcpy_to_vram::s char *memcpy_to_vram::s
char *memcpy_to_vram::s#1 // s zp[2]:30 200002.0 char *memcpy_to_vram::s#1 // s zp[2]:29 200002.0
char *memcpy_to_vram::s#2 // s zp[2]:30 133334.66666666666 char *memcpy_to_vram::s#2 // s zp[2]:29 133334.66666666666
void *memcpy_to_vram::src void *memcpy_to_vram::src
char memcpy_to_vram::vbank char memcpy_to_vram::vbank
void *memcpy_to_vram::vdest void *memcpy_to_vram::vdest
@ -257,9 +257,9 @@ char printf_str::c
char printf_str::c#1 // reg byte a 1001.0 char printf_str::c#1 // reg byte a 1001.0
void (*printf_str::putc)(char) void (*printf_str::putc)(char)
const char *printf_str::s const char *printf_str::s
const char *printf_str::s#0 // s zp[2]:30 400.4 const char *printf_str::s#0 // s zp[2]:29 400.4
const char *printf_str::s#10 // s zp[2]:30 101.0 const char *printf_str::s#10 // s zp[2]:29 101.0
const char *printf_str::s#9 // s zp[2]:30 1552.0 const char *printf_str::s#9 // s zp[2]:29 1552.0
void screenlayer(char layer) void screenlayer(char layer)
unsigned int screenlayer::$2 // zp[2]:15 202.0 unsigned int screenlayer::$2 // zp[2]:15 202.0
char screenlayer::$3 // reg byte a 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_$2 // reg byte a 202.0
char screenlayer::vera_layer_get_width1_$3 // 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
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
char screenlayer::vera_layer_get_width1_layer#0 // reg byte a 202.0 char screenlayer::vera_layer_get_width1_layer#0 // reg byte a 202.0
unsigned int screenlayer::vera_layer_get_width1_return 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 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
unsigned long vera_layer_mode_tile::mapbase_address#0 // mapbase_address zp[4]:47 2002.0 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
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
unsigned int vera_layer_mode_tile::mapwidth#10 // mapwidth zp[2]:15 400.4 unsigned int vera_layer_mode_tile::mapwidth#10 // mapwidth zp[2]:15 400.4
char vera_layer_mode_tile::tilebase 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 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
unsigned long vera_layer_mode_tile::tilebase_address#0 // tilebase_address zp[4]:51 2002.0 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
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
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 char vera_layer_rowshift[2] = { 0, 0 }
__constant unsigned int vera_layer_rowskip[2] = { 0, 0 } __constant unsigned int vera_layer_rowskip[2] = { 0, 0 }
char vera_layer_set_backcolor(char layer , char color) 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) 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::$0 // reg byte a 20002.0
char *vera_layer_set_config::addr 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
char vera_layer_set_config::config#0 // reg byte x 3667.333333333333 char vera_layer_set_config::config#0 // reg byte x 3667.333333333333
char vera_layer_set_config::layer 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) 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::$0 // reg byte a 20002.0
char *vera_layer_set_mapbase::addr 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
char vera_layer_set_mapbase::layer#0 // reg byte a 1001.0 char vera_layer_set_mapbase::layer#0 // reg byte a 1001.0
char vera_layer_set_mapbase::layer#3 // reg byte a 11002.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) 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::$0 // reg byte a 20002.0
char *vera_layer_set_tilebase::addr 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
char vera_layer_set_tilebase::layer#0 // reg byte a 5501.0 char vera_layer_set_tilebase::layer#0 // reg byte a 5501.0
char vera_layer_set_tilebase::tilebase 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#1 // reg byte y 2.00000002E8
char vera_tile_area::c#2 // reg byte y 7.500000075E7 char vera_tile_area::c#2 // reg byte y 7.500000075E7
char vera_tile_area::h 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
char vera_tile_area::hflip#0 // hflip zp[1]:40 5000.5 char vera_tile_area::hflip#0 // hflip zp[1]:40 5000.5
char vera_tile_area::index_h 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
unsigned int vera_tile_area::rowskip#0 // rowskip zp[2]:8 345172.4827586207 unsigned int vera_tile_area::rowskip#0 // rowskip zp[2]:8 345172.4827586207
char vera_tile_area::shift 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
unsigned int vera_tile_area::tileindex#1 // tileindex zp[2]:36 667.3333333333334 unsigned int vera_tile_area::tileindex#1 // tileindex zp[2]:35 667.3333333333334
unsigned int vera_tile_area::tileindex#2 // tileindex zp[2]:36 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]:36 3143.4285714285716 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_$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_$1 // reg byte a 2.0000002E7
char vera_tile_area::vera_vram_address01_$2 // 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
char vera_tile_area::vflip#0 // vflip zp[1]:26 5000.5 char vera_tile_area::vflip#0 // vflip zp[1]:26 5000.5
char vera_tile_area::w 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
char vera_tile_area::x#1 // x zp[1]:42 1001.0 char vera_tile_area::x#1 // x zp[1]:41 1001.0
char vera_tile_area::x#2 // x zp[1]:42 1001.0 char vera_tile_area::x#2 // x zp[1]:41 1001.0
char vera_tile_area::x#3 // x zp[1]:42 923.3076923076923 char vera_tile_area::x#3 // x zp[1]:41 923.3076923076923
char vera_tile_area::y char vera_tile_area::y
char vera_tile_area::y#1 // y zp[1]:41 2002.0 char vera_tile_area::y#1 // y zp[1]:37 2002.0
char vera_tile_area::y#2 // y zp[1]:41 2002.0 char vera_tile_area::y#2 // y zp[1]:37 2002.0
char vera_tile_area::y#3 // y zp[1]:41 200.2 char vera_tile_area::y#3 // y zp[1]:37 200.2
__constant unsigned long vera_tilebase_address[2] = { 0, 0 } __constant unsigned long vera_tilebase_address[2] = { 0, 0 }
__constant char vera_tilebase_bank[2] = { 0, 0 } __constant char vera_tilebase_bank[2] = { 0, 0 }
__constant unsigned int vera_tilebase_offset[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[2]:17 [ CONIO_SCREEN_TEXT#17 ]
zp[1]:59 [ CONIO_SCREEN_BANK#15 ] 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 ] zp[1]:63 [ main::t#5 main::t#1 ]
reg byte x [ main::p#2 main::p#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]:64 [ main::row#9 main::row#1 ]
zp[1]:65 [ main::r#5 main::r#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#3 vera_tile_area::tileindex#2 vera_tile_area::tileindex#1 main::tile#8 main::tile#11 main::tile#13 main::tile#4 ] 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 ] reg byte x [ main::column#2 main::column#1 ]
zp[1]:57 [ main::c#2 main::c#1 ] zp[1]:57 [ main::c#2 main::c#1 ]
zp[1]:64 [ main::row#11 main::row#3 ] zp[1]:65 [ main::row#11 main::row#3 ]
zp[1]:66 [ main::r1#5 main::r1#1 ] zp[1]:67 [ 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]: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 [ 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_textcolor::layer#2 vera_layer_set_textcolor::layer#1 ]
reg byte x [ vera_layer_set_backcolor::layer#2 vera_layer_set_backcolor::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 y [ clrscr::c#2 clrscr::c#1 ]
reg byte x [ vera_layer_mode_tile::color_depth#2 ] reg byte x [ vera_layer_mode_tile::color_depth#2 ]
zp[1]:62 [ vera_layer_mode_tile::layer#10 ] zp[1]:62 [ vera_layer_mode_tile::layer#10 ]
zp[2]:67 [ vera_layer_mode_tile::mapheight#10 ] zp[2]:68 [ vera_layer_mode_tile::mapheight#10 ]
zp[4]:73 [ vera_layer_mode_tile::mapbase_address#10 ] zp[4]:74 [ vera_layer_mode_tile::mapbase_address#10 ]
zp[4]:77 [ vera_layer_mode_tile::tilebase_address#10 ] zp[4]:78 [ vera_layer_mode_tile::tilebase_address#10 ]
zp[1]:83 [ vera_layer_mode_tile::tilewidth#10 ] zp[1]:84 [ vera_layer_mode_tile::tilewidth#10 ]
zp[1]:84 [ vera_layer_mode_tile::tileheight#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::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 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 ] 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 ] 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 ] reg byte x [ insertup::i#2 insertup::i#1 ]
zp[1]:14 [ conio_screen_width ] zp[1]:14 [ conio_screen_width ]
zp[1]:33 [ conio_screen_height ] zp[1]:32 [ conio_screen_height ]
zp[1]:29 [ conio_screen_layer ] zp[1]:28 [ conio_screen_layer ]
zp[2]:69 [ conio_width ] zp[2]:70 [ conio_width ]
zp[2]:38 [ conio_height ] zp[2]:38 [ conio_height ]
zp[1]:23 [ conio_rowshift ] zp[1]:23 [ conio_rowshift ]
zp[2]:24 [ conio_rowskip ] 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 a [ vera_layer_get_color::return#3 ]
reg byte x [ cputc::color#0 ] reg byte x [ cputc::color#0 ]
reg byte a [ cputc::$15 ] reg byte a [ cputc::$15 ]
@ -597,9 +597,9 @@ reg byte a [ screensize::vscale#0 ]
reg byte a [ screensize::$3 ] reg byte a [ screensize::$3 ]
reg byte x [ vera_layer_get_mapbase_bank::layer#0 ] reg byte x [ vera_layer_get_mapbase_bank::layer#0 ]
reg byte a [ vera_layer_get_mapbase_bank::return#2 ] 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 ] 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_layer#0 ]
reg byte a [ screenlayer::vera_layer_get_width1_$2 ] reg byte a [ screenlayer::vera_layer_get_width1_$2 ]
reg byte a [ screenlayer::vera_layer_get_width1_$0 ] 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 x [ vera_layer_get_backcolor::layer#0 ]
reg byte a [ vera_layer_get_backcolor::return#2 ] reg byte a [ vera_layer_get_backcolor::return#2 ]
reg byte a [ clrscr::$0 ] 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 x [ vera_layer_get_textcolor::layer#0 ]
reg byte a [ vera_layer_get_textcolor::return#2 ] reg byte a [ vera_layer_get_textcolor::return#2 ]
reg byte a [ clrscr::$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::$9 ]
reg byte a [ clrscr::$5 ] reg byte a [ clrscr::$5 ]
reg byte a [ clrscr::$6 ] 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 [ vera_layer_mode_tile::$11 ]
reg byte a [ memcpy_to_vram::$0 ] reg byte a [ memcpy_to_vram::$0 ]
reg byte a [ memcpy_to_vram::$1 ] 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[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]:40 [ vera_tile_area::hflip#0 ]
zp[1]:26 [ vera_tile_area::vflip#0 vera_tile_area::index_h#2 ] 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_get_textcolor::return#0 ]
reg byte a [ vera_layer_set_config::$0 ] reg byte a [ vera_layer_set_config::$0 ]
reg byte a [ vera_layer_set_tilebase::$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]: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]:12 [ insertup::cy#0 vera_tile_area::r#2 vera_tile_area::r#1 ] zp[1]:13 [ insertup::cy#0 vera_tile_area::w#9 ]
zp[1]:13 [ insertup::width#0 vera_tile_area::shift#0 ] zp[1]:12 [ insertup::width#0 vera_tile_area::r#2 vera_tile_area::r#1 ]
reg byte a [ insertup::$3 ] reg byte a [ insertup::$3 ]
zp[2]:6 [ insertup::line#0 insertup::start#0 memcpy_in_vram::dest#0 ] zp[2]:6 [ insertup::line#0 insertup::start#0 memcpy_in_vram::dest#0 ]
zp[2]:4 [ memcpy_in_vram::num#0 ] zp[2]:4 [ memcpy_in_vram::num#0 ]

View File

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

View File

@ -337,9 +337,9 @@ Complete equivalence classes
[ main::$2 ] [ main::$2 ]
[ main::a#1 ] [ main::a#1 ]
[ main::a#2 ] [ main::a#2 ]
Allocated zp[1]:251 [ main::i#2 main::i#1 ] Allocated zp[1]:247 [ main::i#2 main::i#1 ]
Allocated zp[2]:252 [ main::a#4 main::a#3 ] Allocated zp[2]:248 [ main::a#4 main::a#3 ]
Allocated zp[2]:254 [ main::h#2 main::h#1 ] Allocated zp[2]:250 [ 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::b#2
Allocated mem[2] [ main::b#2 main::b#1 ] Allocated mem[2] [ main::b#2 main::b#1 ]
Zero-page exhausted. Moving allocation to main memory main::$2 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 ] Allocated mem[2] [ main::a#2 ]
REGISTER UPLIFT POTENTIAL REGISTERS 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 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 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 ] 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 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 [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 [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 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[1]:247 [ main::i#2 main::i#1 ] : zp[1]:247 , reg byte x , reg byte y ,
Potential registers zp[2]:252 [ main::a#4 main::a#3 ] : zp[2]:252 , 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::b#2 main::b#1 ] : mem[2] ,
Potential registers mem[2] [ main::c#2 main::c#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::d#2 main::d#1 ] : mem[2] ,
Potential registers mem[2] [ main::e#2 main::e#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::f#2 main::f#1 ] : mem[2] ,
Potential registers mem[2] [ main::g#2 main::g#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[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#1 ] : mem[2] ,
Potential registers mem[2] [ main::a#2 ] : mem[2] , Potential registers mem[2] [ main::a#2 ] : mem[2] ,
REGISTER UPLIFT SCOPES 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 [] 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 Uplifting [] best 4536 combination
Coalescing zero page register [ mem[2] [ main::a#1 ] ] with [ mem[2] [ main::a#2 ] ] - score: 1 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 zp[2]:248) zp[2]:247 [ main::a#4 main::a#3 ]
Allocated (was mem[2]) zp[2]:253 [ main::a#1 main::a#2 ] Allocated (was mem[2]) zp[2]:249 [ main::a#1 main::a#2 ]
Zero-page exhausted. Moving allocation to main memory main::h#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::b#2
Zero-page exhausted. Moving allocation to main memory main::c#2 Zero-page exhausted. Moving allocation to main memory main::c#2
Zero-page exhausted. Moving allocation to main memory main::g#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 // And then allocate a bunch of variables
main: { main: {
.label SCREEN = $400 .label SCREEN = $400
.label a = $fd .label a = $f9
.label a_1 = $fb .label a_1 = $f7
// [1] phi from main to main::@1 [phi:main->main::@1] // [1] phi from main to main::@1 [phi:main->main::@1]
__b1_from_main: __b1_from_main:
// [1] phi main::h#2 = 0 [phi:main->main::@1#0] -- vwsm1=vwsc1 // [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 char main::$2 // reg byte x 6.3684210526315805
__constant int * const main::SCREEN = (int *) 1024 __constant int * const main::SCREEN = (int *) 1024
int main::a int main::a
int main::a#1 // a zp[2]:253 4.125 int main::a#1 // a zp[2]:249 4.125
int main::a#2 // a zp[2]:253 3.3000000000000003 int main::a#2 // a zp[2]:249 3.3000000000000003
int main::a#3 // a_1 zp[2]:251 11.0 int main::a#3 // a_1 zp[2]:247 11.0
int main::a#4 // a_1 zp[2]:251 8.25 int main::a#4 // a_1 zp[2]:247 8.25
int main::b int main::b
int main::b#1 // b mem[2] 1.2222222222222223 int main::b#1 // b mem[2] 1.2222222222222223
int main::b#2 // b mem[2] 5.5 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 char main::i#2 // reg byte y 1.9130434782608696
reg byte y [ main::i#2 main::i#1 ] 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::b#2 main::b#1 ]
mem[2] [ main::c#2 main::c#1 ] mem[2] [ main::c#2 main::c#1 ]
mem[2] [ main::d#2 main::d#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::g#2 main::g#1 ]
mem[2] [ main::h#2 main::h#1 ] mem[2] [ main::h#2 main::h#1 ]
reg byte x [ main::$2 ] 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 FINAL ASSEMBLER
@ -725,8 +725,8 @@ Score: 4061
// And then allocate a bunch of variables // And then allocate a bunch of variables
main: { main: {
.label SCREEN = $400 .label SCREEN = $400
.label a = $fd .label a = $f9
.label a_1 = $fb .label a_1 = $f7
// [1] phi from main to main::@1 [phi:main->main::@1] // [1] phi from main to main::@1 [phi:main->main::@1]
// [1] phi main::h#2 = 0 [phi:main->main::@1#0] -- vwsm1=vwsc1 // [1] phi main::h#2 = 0 [phi:main->main::@1#0] -- vwsm1=vwsc1
lda #<0 lda #<0

View File

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