From 7cd522453271d09a83c1db8de6ca19c54eb389a6 Mon Sep 17 00:00:00 2001 From: Sven Van de Velde Date: Tue, 14 Mar 2023 17:10:02 +0100 Subject: [PATCH] - Optimized some of the performance. - Limit check of bin files. If size of bin file is larger than the capacity of the rom, the remainder is skipped. - UI tweaks of the title. - Reworked the code to calculate the bank and base addresses (removed the 14 position bit shift). --- .gitignore | 1 + src/FLASH-CX16.c | 60 +- target/FLASH-CX16.PRG | Bin 10864 -> 10912 bytes target/FLASH-CX16.asm | 7006 ++++++++++++++++++++-------------------- target/FLASH-CX16.klog | 4 +- target/ROM4.BIN | Bin 524288 -> 0 bytes 6 files changed, 3570 insertions(+), 3501 deletions(-) delete mode 100644 target/ROM4.BIN diff --git a/.gitignore b/.gitignore index 7949a80..1f4d644 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ *.sym *.dbg +ROM* diff --git a/src/FLASH-CX16.c b/src/FLASH-CX16.c index 9489533..01b6338 100644 --- a/src/FLASH-CX16.c +++ b/src/FLASH-CX16.c @@ -108,7 +108,7 @@ // Some addressing constants. #define ROM_BASE ((unsigned int)0xC000) #define ROM_SIZE ((unsigned int)0x4000) -#define ROM_PTR_MASK ((unsigned long)0x003FFF) +#define ROM_PTR_MASK ((unsigned int)0x003FFF) #define ROM_BANK_MASK ((unsigned long)0x3FC000) #define ROM_CHIP_MASK ((unsigned long)0x380000) #define ROM_SECTOR ((unsigned int)0x1000) @@ -350,7 +350,7 @@ void print_address(bram_bank_t bram_bank, bram_ptr_t bram_ptr, unsigned long bro textcolor(WHITE); brom_bank_t brom_bank = rom_bank(brom_address); brom_ptr_t brom_ptr = rom_ptr(brom_address); - gotoxy(40, 1); + gotoxy(43, 1); printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr); } @@ -380,7 +380,15 @@ unsigned long rom_size(unsigned char rom_banks) { return ((unsigned long)(rom_ba * @param address The 22 bit ROM address. * @return unsigned char The ROM bank number for usage in ZP $01. */ -/* inline */ unsigned char rom_bank(unsigned long address) { return (char)((unsigned long)(address & ROM_BANK_MASK) >> 14); } +inline unsigned char rom_bank(unsigned long address) { + + // address = address & ROM_BANK_MASK; // not needed.s + + unsigned int bank_unshifted = MAKEWORD(BYTE2(address),BYTE1(address)) << 2; + unsigned char bank = BYTE1(bank_unshifted); + return bank; + +} /** * @brief Calcuates the 16 bit ROM pointer from the ROM using the 22 bit address. @@ -389,7 +397,9 @@ unsigned long rom_size(unsigned char rom_banks) { return ((unsigned long)(rom_ba * @param address The 22 bit ROM address. * @return brom_ptr_t The 16 bit ROM pointer for the main CPU addressing. */ -/* inline */ brom_ptr_t rom_ptr(unsigned long address) { return (brom_ptr_t)((unsigned int)(address & ROM_PTR_MASK) + ROM_BASE); } +inline brom_ptr_t rom_ptr(unsigned long address) { + return (brom_ptr_t)(((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE); +} /** * @brief Read a byte from the ROM using the 22 bit address. @@ -400,7 +410,7 @@ unsigned long rom_size(unsigned char rom_banks) { return ((unsigned long)(rom_ba * @param address The 22 bit ROM address. * @return unsigned char The byte read from the ROM. */ -/* inline */ unsigned char rom_read_byte(unsigned long address) { +unsigned char rom_read_byte(unsigned long address) { brom_bank_t bank_rom = rom_bank((unsigned long)address); brom_ptr_t ptr_rom = rom_ptr((unsigned long)address); @@ -417,7 +427,7 @@ unsigned long rom_size(unsigned char rom_banks) { return ((unsigned long)(rom_ba * @param address The 22 bit ROM address. * @param value The byte value to be written. */ -/* inline */ void rom_write_byte(unsigned long address, unsigned char value) { +void rom_write_byte(unsigned long address, unsigned char value) { brom_bank_t bank_rom = rom_bank((unsigned long)address); brom_ptr_t ptr_rom = rom_ptr((unsigned long)address); @@ -434,7 +444,7 @@ unsigned long rom_size(unsigned char rom_banks) { return ((unsigned long)(rom_ba * @param address The 22 bit ROM address. * @param value The byte value to be written. */ -/* inline */ unsigned char rom_byte_verify(brom_ptr_t ptr_rom, unsigned char value) { +unsigned char rom_byte_verify(brom_ptr_t ptr_rom, unsigned char value) { unsigned char verified = 1; if (*ptr_rom != value) { @@ -533,15 +543,14 @@ unsigned long rom_size(unsigned char rom_banks) { return ((unsigned long)(rom_ba #endif } -unsigned long flash_read(FILE *fp, ram_ptr_t flash_ram_address, unsigned char rom_bank_start, unsigned char rom_bank_size) { +unsigned long flash_read(FILE *fp, ram_ptr_t flash_ram_address, unsigned char rom_bank_start, unsigned long read_size) { unsigned long flash_rom_address = rom_address(rom_bank_start); - unsigned long flash_size = rom_size(rom_bank_size); unsigned long flash_bytes = 0; /// Holds the amount of bytes actually read in the memory to be flashed. textcolor(WHITE); - while (flash_bytes < flash_size) { + while (flash_bytes < read_size) { if (!(flash_rom_address % 0x04000)) { gotoxy(14, 4 + (rom_bank_start % 32)); @@ -567,6 +576,8 @@ unsigned long flash_read(FILE *fp, ram_ptr_t flash_ram_address, unsigned char ro } } + // Implement test for EOF ... + return flash_bytes; } @@ -672,6 +683,8 @@ void main() { unsigned char rom_chip = 0; unsigned char rom_device_ids[8] = {0}; unsigned char rom_manufacturer_ids[8] = {0}; + unsigned long rom_sizes[8] = {0}; + for (unsigned long flash_rom_address = 0; flash_rom_address < 8 * 0x80000; flash_rom_address += 0x80000) { rom_manufacturer_ids[rom_chip] = 0; @@ -684,11 +697,21 @@ void main() { rom_unlock(flash_rom_address + 0x05555, 0xF0); #else // Simulate that there is one chip onboard and 2 chips on the isa card. - if (flash_rom_address <= 0x100000) { - rom_unlock(flash_rom_address + 0x05555, 0x90); + if (flash_rom_address == 0x80000) { + rom_manufacturer_ids[rom_chip] = 0x9f; + rom_device_ids[rom_chip] = SST39SF040; + } + if (flash_rom_address == 0x100000) { + rom_manufacturer_ids[rom_chip] = 0x9f; + rom_device_ids[rom_chip] = SST39SF020A; + } + if (flash_rom_address == 0x180000) { + rom_manufacturer_ids[rom_chip] = 0x9f; + rom_device_ids[rom_chip] = SST39SF010A; + } + if (flash_rom_address == 0x200000) { rom_manufacturer_ids[rom_chip] = 0x9f; rom_device_ids[rom_chip] = SST39SF040; - rom_unlock(flash_rom_address + 0x05555, 0xF0); } #endif @@ -701,16 +724,19 @@ void main() { rom_device = "f010a"; print_chip_KB(rom_chip, "128"); print_chip_led(rom_chip, WHITE, BLUE); + rom_sizes[rom_chip] = 128 * 1024; break; case SST39SF020A: rom_device = "f020a"; print_chip_KB(rom_chip, "256"); print_chip_led(rom_chip, WHITE, BLUE); + rom_sizes[rom_chip] = 256 * 1024; break; case SST39SF040: rom_device = "f040"; print_chip_KB(rom_chip, "512"); print_chip_led(rom_chip, WHITE, BLUE); + rom_sizes[rom_chip] = 512 * 1024; break; default: rom_device = "----"; @@ -768,14 +794,18 @@ void main() { print_text(buffer); unsigned long flash_rom_address_boundary = rom_address(flash_rom_bank); - unsigned long flash_bytes = flash_read(fp, (ram_ptr_t)0x4000, flash_rom_bank, 1); + + unsigned long size = 0x4000; + unsigned long flash_bytes = flash_read(fp, (ram_ptr_t)0x4000, flash_rom_bank, size); if (flash_bytes != rom_size(1)) { return; } flash_rom_address_boundary += flash_bytes; bank_set_bram(1); // read from bank 1 in bram. - flash_bytes = flash_read(fp, (ram_ptr_t)0xA000, flash_rom_bank + 1, 31); + size = rom_sizes[flash_chip]; + size -= 0x4000; + flash_bytes = flash_read(fp, (ram_ptr_t)0xA000, flash_rom_bank + 1, size); flash_rom_address_boundary += flash_bytes; fclose(fp); diff --git a/target/FLASH-CX16.PRG b/target/FLASH-CX16.PRG index 56f715e33fd8072f18b32058aec2e4c46cfc56c8..a76aeada19d74252bbbba8908492373babc5abc4 100644 GIT binary patch literal 10912 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 literal 10864 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 SXq!W*7KQCm4^jF5>GwZVrtZlA diff --git a/target/FLASH-CX16.asm b/target/FLASH-CX16.asm index 12c9579..45ba3cc 100644 --- a/target/FLASH-CX16.asm +++ b/target/FLASH-CX16.asm @@ -211,10 +211,10 @@ __start: { /// Print a character into snprintf buffer /// Used by snprintf() /// @param c The character to print -// void snputc(__zp($ed) char c) +// void snputc(__zp($e3) char c) snputc: { .const OFFSET_STACK_C = 0 - .label c = $ed + .label c = $e3 // [9] snputc::c#0 = stackidx(char,snputc::OFFSET_STACK_C) -- vbuz1=_stackidxbyte_vbuc1 tsx lda STACK_BASE+OFFSET_STACK_C,x @@ -280,9 +280,9 @@ snputc: { // conio_x16_init /// Set initial screen values. conio_x16_init: { - .label __4 = $da - .label __5 = $b0 - .label __6 = $da + .label __4 = $d0 + .label __5 = $79 + .label __6 = $d0 // screenlayer1() // [19] call screenlayer1 jsr screenlayer1 @@ -290,8 +290,8 @@ conio_x16_init: { // conio_x16_init::@1 // textcolor(CONIO_TEXTCOLOR_DEFAULT) // [21] call textcolor - // [504] phi from conio_x16_init::@1 to textcolor [phi:conio_x16_init::@1->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:conio_x16_init::@1->textcolor#0] -- vbuz1=vbuc1 + // [511] phi from conio_x16_init::@1 to textcolor [phi:conio_x16_init::@1->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:conio_x16_init::@1->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor @@ -299,8 +299,8 @@ conio_x16_init: { // conio_x16_init::@2 // bgcolor(CONIO_BACKCOLOR_DEFAULT) // [23] call bgcolor - // [509] phi from conio_x16_init::@2 to bgcolor [phi:conio_x16_init::@2->bgcolor] - // [509] phi bgcolor::color#11 = BLUE [phi:conio_x16_init::@2->bgcolor#0] -- vbuz1=vbuc1 + // [516] phi from conio_x16_init::@2 to bgcolor [phi:conio_x16_init::@2->bgcolor] + // [516] phi bgcolor::color#11 = BLUE [phi:conio_x16_init::@2->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor @@ -345,9 +345,9 @@ conio_x16_init: { lda __conio+$e sta.z gotoxy.y // [39] call gotoxy - // [522] phi from conio_x16_init::@6 to gotoxy [phi:conio_x16_init::@6->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#1 [phi:conio_x16_init::@6->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = gotoxy::x#1 [phi:conio_x16_init::@6->gotoxy#1] -- register_copy + // [529] phi from conio_x16_init::@6 to gotoxy [phi:conio_x16_init::@6->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#1 [phi:conio_x16_init::@6->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#1 [phi:conio_x16_init::@6->gotoxy#1] -- register_copy jsr gotoxy // conio_x16_init::@7 // __conio.scroll[0] = 1 @@ -368,13 +368,13 @@ conio_x16_init: { // cputc // Output one character at the current cursor position // Moves the cursor forward. Scrolls the entire screen if needed -// void cputc(__zp($5d) char c) +// void cputc(__zp($56) char c) cputc: { .const OFFSET_STACK_C = 0 - .label __1 = $35 - .label __2 = $b3 - .label __3 = $b4 - .label c = $5d + .label __1 = $37 + .label __2 = $7f + .label __3 = $a9 + .label c = $56 // [43] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) -- vbuz1=_stackidxbyte_vbuc1 tsx lda STACK_BASE+OFFSET_STACK_C,x @@ -505,45 +505,51 @@ main: { .const bank_set_bram2_bank = 1 .const bank_set_bram3_bank = 1 .const bank_set_bram4_bank = 1 - .label __20 = $af - .label __22 = $af - .label __38 = $f8 - .label __56 = $54 - .label __64 = $2b - .label __73 = $74 - .label __98 = $d5 - .label __137 = $23 - .label flash_rom_address_boundary = $6f - .label flash_bytes = $bd - .label flash_rom_address_boundary_1 = $69 - .label flash_rom_address1 = $e4 - .label equal_bytes = $6d - .label flash_rom_address_sector = $de - .label read_ram_address = $d1 - .label x_sector = $eb - .label read_ram_bank = $ca - .label y_sector = $ec - .label equal_bytes1 = $6d - .label read_ram_address_sector = $cb - .label flash_rom_address_boundary1 = $cd - .label retries = $c8 - .label flash_errors = $b6 - .label read_ram_address1 = $c5 - .label flash_rom_address2 = $c1 - .label x1 = $bb - .label flash_errors_sector = $d3 - .label x_sector1 = $dd - .label read_ram_bank_sector = $c9 - .label y_sector1 = $dc - .label v = $e9 - .label pattern = $f4 - .label pattern1 = $3e - .label __175 = $f8 - .label __176 = $f8 - .label __178 = $2b - .label __179 = $2b - .label __181 = $54 - .label __182 = $54 + .label __20 = $77 + .label __22 = $77 + .label __38 = $ee + .label __56 = $2b + .label __64 = $78 + .label __98 = $b9 + .label __137 = $63 + .label __161 = $bd + .label __162 = $26 + .label __163 = $76 + .label rom_chip = $fb + .label flash_rom_address = $f6 + .label flash_chip = $fa + .label flash_rom_address_boundary = $50 + .label size = $c1 + .label flash_bytes_1 = $f0 + .label flash_rom_address1 = $da + .label equal_bytes = $61 + .label flash_rom_address_sector = $d4 + .label read_ram_address = $cb + .label x_sector = $e1 + .label read_ram_bank = $c0 + .label y_sector = $e2 + .label equal_bytes1 = $61 + .label read_ram_address_sector = $c5 + .label flash_rom_address_boundary1 = $c7 + .label retries = $be + .label flash_errors = $b0 + .label read_ram_address1 = $b6 + .label flash_rom_address2 = $b2 + .label x1 = $b1 + .label flash_errors_sector = $cd + .label x_sector1 = $d3 + .label read_ram_bank_sector = $bf + .label y_sector1 = $d2 + .label v = $df + .label w = $f4 + .label pattern = $ea + .label pattern1 = $3c + .label flash_rom_address_boundary_2 = $f0 + .label __179 = $ee + .label __180 = $ee + .label __183 = $78 + .label __185 = $2b + .label __186 = $2b // main::SEI1 // asm // asm { sei } @@ -564,8 +570,8 @@ main: { // main::@64 // textcolor(WHITE) // [76] call textcolor - // [504] phi from main::@64 to textcolor [phi:main::@64->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:main::@64->textcolor#0] -- vbuz1=vbuc1 + // [511] phi from main::@64 to textcolor [phi:main::@64->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:main::@64->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor @@ -573,8 +579,8 @@ main: { // main::@65 // bgcolor(BLUE) // [78] call bgcolor - // [509] phi from main::@65 to bgcolor [phi:main::@65->bgcolor] - // [509] phi bgcolor::color#11 = BLUE [phi:main::@65->bgcolor#0] -- vbuz1=vbuc1 + // [516] phi from main::@65 to bgcolor [phi:main::@65->bgcolor] + // [516] phi bgcolor::color#11 = BLUE [phi:main::@65->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor @@ -592,17 +598,17 @@ main: { // main::@68 // frame_draw() // [84] call frame_draw - // [570] phi from main::@68 to frame_draw [phi:main::@68->frame_draw] + // [577] phi from main::@68 to frame_draw [phi:main::@68->frame_draw] jsr frame_draw // [85] phi from main::@68 to main::@69 [phi:main::@68->main::@69] // main::@69 // gotoxy(2, 1) // [86] call gotoxy - // [522] phi from main::@69 to gotoxy [phi:main::@69->gotoxy] - // [522] phi gotoxy::y#24 = 1 [phi:main::@69->gotoxy#0] -- vbuz1=vbuc1 + // [529] phi from main::@69 to gotoxy [phi:main::@69->gotoxy] + // [529] phi gotoxy::y#24 = 1 [phi:main::@69->gotoxy#0] -- vbuz1=vbuc1 lda #1 sta.z gotoxy.y - // [522] phi gotoxy::x#24 = 2 [phi:main::@69->gotoxy#1] -- vbuz1=vbuc1 + // [529] phi gotoxy::x#24 = 2 [phi:main::@69->gotoxy#1] -- vbuz1=vbuc1 lda #2 sta.z gotoxy.x jsr gotoxy @@ -610,13 +616,13 @@ main: { // main::@70 // printf("commander x16 rom flash utility") // [88] call printf_str - // [750] phi from main::@70 to printf_str [phi:main::@70->printf_str] - // [750] phi printf_str::putc#33 = &cputc [phi:main::@70->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@70 to printf_str [phi:main::@70->printf_str] + // [757] phi printf_str::putc#33 = &cputc [phi:main::@70->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s [phi:main::@70->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s [phi:main::@70->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -626,42 +632,42 @@ main: { // main::@71 // print_chips() // [90] call print_chips - // [759] phi from main::@71 to print_chips [phi:main::@71->print_chips] + // [766] phi from main::@71 to print_chips [phi:main::@71->print_chips] jsr print_chips // [91] phi from main::@71 to main::@1 [phi:main::@71->main::@1] - // [91] phi main::rom_chip#10 = 0 [phi:main::@71->main::@1#0] -- vbum1=vbuc1 + // [91] phi main::rom_chip#10 = 0 [phi:main::@71->main::@1#0] -- vbuz1=vbuc1 lda #0 - sta rom_chip - // [91] phi main::flash_rom_address#10 = 0 [phi:main::@71->main::@1#1] -- vdum1=vduc1 - sta flash_rom_address - sta flash_rom_address+1 + sta.z rom_chip + // [91] phi main::flash_rom_address#10 = 0 [phi:main::@71->main::@1#1] -- vduz1=vduc1 + sta.z flash_rom_address + sta.z flash_rom_address+1 lda #<0>>$10 - sta flash_rom_address+2 + sta.z flash_rom_address+2 lda #>0>>$10 - sta flash_rom_address+3 + sta.z flash_rom_address+3 // main::@1 __b1: // for (unsigned long flash_rom_address = 0; flash_rom_address < 8 * 0x80000; flash_rom_address += 0x80000) - // [92] if(main::flash_rom_address#10<8*$80000) goto main::@2 -- vdum1_lt_vduc1_then_la1 - lda flash_rom_address+3 + // [92] if(main::flash_rom_address#10<8*$80000) goto main::@2 -- vduz1_lt_vduc1_then_la1 + lda.z flash_rom_address+3 cmp #>8*$80000>>$10 bcs !__b2+ jmp __b2 !__b2: bne !+ - lda flash_rom_address+2 + lda.z flash_rom_address+2 cmp #<8*$80000>>$10 bcs !__b2+ jmp __b2 !__b2: bne !+ - lda flash_rom_address+1 + lda.z flash_rom_address+1 cmp #>8*$80000 bcs !__b2+ jmp __b2 !__b2: bne !+ - lda flash_rom_address + lda.z flash_rom_address cmp #<8*$80000 bcs !__b2+ jmp __b2 @@ -680,13 +686,13 @@ main: { // main::@77 // sprintf(buffer, "press a key to start flashing.") // [97] call printf_str - // [750] phi from main::@77 to printf_str [phi:main::@77->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@77->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@77 to printf_str [phi:main::@77->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@77->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s1 [phi:main::@77->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s1 [phi:main::@77->printf_str#1] -- pbuz1=pbuc1 lda #s1 @@ -703,24 +709,24 @@ main: { pla // print_text(buffer) // [101] call print_text - // [794] phi from main::@78 to print_text [phi:main::@78->print_text] + // [801] phi from main::@78 to print_text [phi:main::@78->print_text] jsr print_text // [102] phi from main::@78 to main::@79 [phi:main::@78->main::@79] // main::@79 // wait_key() // [103] call wait_key - // [801] phi from main::@79 to wait_key [phi:main::@79->wait_key] + // [808] phi from main::@79 to wait_key [phi:main::@79->wait_key] jsr wait_key // [104] phi from main::@79 to main::@11 [phi:main::@79->main::@11] - // [104] phi main::flash_chip#10 = 7 [phi:main::@79->main::@11#0] -- vbum1=vbuc1 + // [104] phi main::flash_chip#10 = 7 [phi:main::@79->main::@11#0] -- vbuz1=vbuc1 lda #7 - sta flash_chip + sta.z flash_chip // main::@11 __b11: // for (unsigned char flash_chip = 7; flash_chip != 255; flash_chip--) - // [105] if(main::flash_chip#10!=$ff) goto main::@12 -- vbum1_neq_vbuc1_then_la1 + // [105] if(main::flash_chip#10!=$ff) goto main::@12 -- vbuz1_neq_vbuc1_then_la1 lda #$ff - cmp flash_chip + cmp.z flash_chip beq !__b12+ jmp __b12 !__b12: @@ -728,37 +734,37 @@ main: { // main::@13 // bank_set_brom(0) // [107] call bank_set_brom - // [811] phi from main::@13 to bank_set_brom [phi:main::@13->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = 0 [phi:main::@13->bank_set_brom#0] -- vbuz1=vbuc1 + // [818] phi from main::@13 to bank_set_brom [phi:main::@13->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = 0 [phi:main::@13->bank_set_brom#0] -- vbuz1=vbuc1 lda #0 sta.z bank_set_brom.bank jsr bank_set_brom - // [108] phi from main::@13 to main::@89 [phi:main::@13->main::@89] - // main::@89 + // [108] phi from main::@13 to main::@92 [phi:main::@13->main::@92] + // main::@92 // textcolor(WHITE) // [109] call textcolor - // [504] phi from main::@89 to textcolor [phi:main::@89->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:main::@89->textcolor#0] -- vbuz1=vbuc1 + // [511] phi from main::@92 to textcolor [phi:main::@92->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:main::@92->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [110] phi from main::@89 to main::@50 [phi:main::@89->main::@50] - // [110] phi main::w#10 = $80 [phi:main::@89->main::@50#0] -- vwsm1=vwsc1 + // [110] phi from main::@92 to main::@50 [phi:main::@92->main::@50] + // [110] phi main::w#10 = $80 [phi:main::@92->main::@50#0] -- vwsz1=vwsc1 lda #<$80 - sta w + sta.z w lda #>$80 - sta w+1 + sta.z w+1 // main::@50 __b50: // for (int w = 128; w >= 0; w--) - // [111] if(main::w#10>=0) goto main::@52 -- vwsm1_ge_0_then_la1 - lda w+1 + // [111] if(main::w#10>=0) goto main::@52 -- vwsz1_ge_0_then_la1 + lda.z w+1 bpl __b6 // [112] phi from main::@50 to main::@51 [phi:main::@50->main::@51] // main::@51 // system_reset() // [113] call system_reset - // [814] phi from main::@51 to system_reset [phi:main::@51->system_reset] + // [821] phi from main::@51 to system_reset [phi:main::@51->system_reset] jsr system_reset // main::@return // } @@ -787,48 +793,48 @@ main: { // sprintf(buffer, "resetting commander x16 (%i)", w) // [118] call snprintf_init jsr snprintf_init - // [119] phi from main::@54 to main::@172 [phi:main::@54->main::@172] - // main::@172 + // [119] phi from main::@54 to main::@175 [phi:main::@54->main::@175] + // main::@175 // sprintf(buffer, "resetting commander x16 (%i)", w) // [120] call printf_str - // [750] phi from main::@172 to printf_str [phi:main::@172->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@172->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@175 to printf_str [phi:main::@175->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@175->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s22 [phi:main::@172->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s22 [phi:main::@175->printf_str#1] -- pbuz1=pbuc1 lda #s22 sta.z printf_str.s+1 jsr printf_str - // main::@173 + // main::@176 // sprintf(buffer, "resetting commander x16 (%i)", w) - // [121] printf_sint::value#1 = main::w#10 -- vwsz1=vwsm2 - lda w + // [121] printf_sint::value#1 = main::w#10 -- vwsz1=vwsz2 + lda.z w sta.z printf_sint.value - lda w+1 + lda.z w+1 sta.z printf_sint.value+1 // [122] call printf_sint jsr printf_sint - // [123] phi from main::@173 to main::@174 [phi:main::@173->main::@174] - // main::@174 + // [123] phi from main::@176 to main::@177 [phi:main::@176->main::@177] + // main::@177 // sprintf(buffer, "resetting commander x16 (%i)", w) // [124] call printf_str - // [750] phi from main::@174 to printf_str [phi:main::@174->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@174->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@177 to printf_str [phi:main::@177->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@177->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s23 [phi:main::@174->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s23 [phi:main::@177->printf_str#1] -- pbuz1=pbuc1 lda #s23 sta.z printf_str.s+1 jsr printf_str - // main::@175 + // main::@178 // sprintf(buffer, "resetting commander x16 (%i)", w) // [125] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 @@ -839,18 +845,18 @@ main: { pla // print_text(buffer) // [128] call print_text - // [794] phi from main::@175 to print_text [phi:main::@175->print_text] + // [801] phi from main::@178 to print_text [phi:main::@178->print_text] jsr print_text - // main::@176 + // main::@179 // for (int w = 128; w >= 0; w--) - // [129] main::w#1 = -- main::w#10 -- vwsm1=_dec_vwsm1 - lda w + // [129] main::w#1 = -- main::w#10 -- vwsz1=_dec_vwsz1 + lda.z w bne !+ - dec w+1 + dec.z w+1 !: - dec w - // [110] phi from main::@176 to main::@50 [phi:main::@176->main::@50] - // [110] phi main::w#10 = main::w#1 [phi:main::@176->main::@50#0] -- register_copy + dec.z w + // [110] phi from main::@179 to main::@50 [phi:main::@179->main::@50] + // [110] phi main::w#10 = main::w#1 [phi:main::@179->main::@50#0] -- register_copy jmp __b50 // main::@53 __b53: @@ -866,8 +872,8 @@ main: { // main::@12 __b12: // if (rom_device_ids[flash_chip] != UNKNOWN) - // [131] if(main::rom_device_ids[main::flash_chip#10]==$55) goto main::@14 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 - ldy flash_chip + // [131] if(main::rom_device_ids[main::flash_chip#10]==$55) goto main::@14 -- pbuc1_derefidx_vbuz1_eq_vbuc2_then_la1 + ldy.z flash_chip lda rom_device_ids,y cmp #$55 bne !__b14+ @@ -877,11 +883,11 @@ main: { // main::@48 // gotoxy(0, 2) // [133] call gotoxy - // [522] phi from main::@48 to gotoxy [phi:main::@48->gotoxy] - // [522] phi gotoxy::y#24 = 2 [phi:main::@48->gotoxy#0] -- vbuz1=vbuc1 + // [529] phi from main::@48 to gotoxy [phi:main::@48->gotoxy] + // [529] phi gotoxy::y#24 = 2 [phi:main::@48->gotoxy#0] -- vbuz1=vbuc1 lda #2 sta.z gotoxy.y - // [522] phi gotoxy::x#24 = 0 [phi:main::@48->gotoxy#1] -- vbuz1=vbuc1 + // [529] phi gotoxy::x#24 = 0 [phi:main::@48->gotoxy#1] -- vbuz1=vbuc1 lda #0 sta.z gotoxy.x jsr gotoxy @@ -894,78 +900,78 @@ main: { // main::@57 // bank_set_brom(4) // [136] call bank_set_brom - // [811] phi from main::@57 to bank_set_brom [phi:main::@57->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = 4 [phi:main::@57->bank_set_brom#0] -- vbuz1=vbuc1 + // [818] phi from main::@57 to bank_set_brom [phi:main::@57->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = 4 [phi:main::@57->bank_set_brom#0] -- vbuz1=vbuc1 lda #4 sta.z bank_set_brom.bank jsr bank_set_brom - // main::@90 + // main::@93 // if (flash_chip == 0) - // [137] if(main::flash_chip#10==0) goto main::@15 -- vbum1_eq_0_then_la1 - lda flash_chip + // [137] if(main::flash_chip#10==0) goto main::@15 -- vbuz1_eq_0_then_la1 + lda.z flash_chip bne !__b15+ jmp __b15 !__b15: - // [138] phi from main::@90 to main::@49 [phi:main::@90->main::@49] + // [138] phi from main::@93 to main::@49 [phi:main::@93->main::@49] // main::@49 // sprintf(file, "rom%u.bin", flash_chip) // [139] call snprintf_init jsr snprintf_init - // [140] phi from main::@49 to main::@93 [phi:main::@49->main::@93] - // main::@93 + // [140] phi from main::@49 to main::@96 [phi:main::@49->main::@96] + // main::@96 // sprintf(file, "rom%u.bin", flash_chip) // [141] call printf_str - // [750] phi from main::@93 to printf_str [phi:main::@93->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@93->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@96 to printf_str [phi:main::@96->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@96->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s3 [phi:main::@93->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s3 [phi:main::@96->printf_str#1] -- pbuz1=pbuc1 lda #s3 sta.z printf_str.s+1 jsr printf_str - // main::@94 + // main::@97 // sprintf(file, "rom%u.bin", flash_chip) - // [142] printf_uchar::uvalue#4 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [142] printf_uchar::uvalue#4 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z printf_uchar.uvalue // [143] call printf_uchar - // [830] phi from main::@94 to printf_uchar [phi:main::@94->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@94->printf_uchar#0] -- vbuz1=vbuc1 + // [837] phi from main::@97 to printf_uchar [phi:main::@97->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@97->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 0 [phi:main::@94->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 0 [phi:main::@97->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &snputc [phi:main::@94->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &snputc [phi:main::@97->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@94->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@97->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#4 [phi:main::@94->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#4 [phi:main::@97->printf_uchar#4] -- register_copy jsr printf_uchar - // [144] phi from main::@94 to main::@95 [phi:main::@94->main::@95] - // main::@95 + // [144] phi from main::@97 to main::@98 [phi:main::@97->main::@98] + // main::@98 // sprintf(file, "rom%u.bin", flash_chip) // [145] call printf_str - // [750] phi from main::@95 to printf_str [phi:main::@95->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@95->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@98 to printf_str [phi:main::@98->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@98->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s4 [phi:main::@95->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s4 [phi:main::@98->printf_str#1] -- pbuz1=pbuc1 lda #s4 sta.z printf_str.s+1 jsr printf_str - // main::@96 + // main::@99 // sprintf(file, "rom%u.bin", flash_chip) // [146] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 @@ -977,8 +983,8 @@ main: { // main::@16 __b16: // unsigned char flash_rom_bank = flash_chip * 32 - // [149] main::flash_rom_bank#0 = main::flash_chip#10 << 5 -- vbum1=vbum2_rol_5 - lda flash_chip + // [149] main::flash_rom_bank#0 = main::flash_chip#10 << 5 -- vbum1=vbuz2_rol_5 + lda.z flash_chip asl asl asl @@ -990,7 +996,7 @@ main: { // Read the file content. jsr fopen // [151] fopen::return#4 = fopen::return#1 - // main::@97 + // main::@100 // [152] main::fp#0 = fopen::return#4 -- pssm1=pssz2 lda.z fopen.return sta fp @@ -1007,75 +1013,75 @@ main: { beq !__b17+ jmp __b17 !__b17: - // [154] phi from main::@97 to main::@46 [phi:main::@97->main::@46] + // [154] phi from main::@100 to main::@46 [phi:main::@100->main::@46] // main::@46 // textcolor(WHITE) // [155] call textcolor - // [504] phi from main::@46 to textcolor [phi:main::@46->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:main::@46->textcolor#0] -- vbuz1=vbuc1 + // [511] phi from main::@46 to textcolor [phi:main::@46->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:main::@46->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [156] phi from main::@46 to main::@111 [phi:main::@46->main::@111] - // main::@111 + // [156] phi from main::@46 to main::@114 [phi:main::@46->main::@114] + // main::@114 // sprintf(buffer, "there is no file on the sdcard to flash rom%u. press a key ...", flash_chip) // [157] call snprintf_init jsr snprintf_init - // [158] phi from main::@111 to main::@112 [phi:main::@111->main::@112] - // main::@112 + // [158] phi from main::@114 to main::@115 [phi:main::@114->main::@115] + // main::@115 // sprintf(buffer, "there is no file on the sdcard to flash rom%u. press a key ...", flash_chip) // [159] call printf_str - // [750] phi from main::@112 to printf_str [phi:main::@112->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@112->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@115 to printf_str [phi:main::@115->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@115->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s7 [phi:main::@112->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s7 [phi:main::@115->printf_str#1] -- pbuz1=pbuc1 lda #s7 sta.z printf_str.s+1 jsr printf_str - // main::@113 + // main::@116 // sprintf(buffer, "there is no file on the sdcard to flash rom%u. press a key ...", flash_chip) - // [160] printf_uchar::uvalue#6 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [160] printf_uchar::uvalue#6 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z printf_uchar.uvalue // [161] call printf_uchar - // [830] phi from main::@113 to printf_uchar [phi:main::@113->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@113->printf_uchar#0] -- vbuz1=vbuc1 + // [837] phi from main::@116 to printf_uchar [phi:main::@116->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@116->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 0 [phi:main::@113->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 0 [phi:main::@116->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &snputc [phi:main::@113->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &snputc [phi:main::@116->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@113->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@116->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#6 [phi:main::@113->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#6 [phi:main::@116->printf_uchar#4] -- register_copy jsr printf_uchar - // [162] phi from main::@113 to main::@114 [phi:main::@113->main::@114] - // main::@114 + // [162] phi from main::@116 to main::@117 [phi:main::@116->main::@117] + // main::@117 // sprintf(buffer, "there is no file on the sdcard to flash rom%u. press a key ...", flash_chip) // [163] call printf_str - // [750] phi from main::@114 to printf_str [phi:main::@114->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@114->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@117 to printf_str [phi:main::@117->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@117->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s8 [phi:main::@114->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s8 [phi:main::@117->printf_str#1] -- pbuz1=pbuc1 lda #s8 sta.z printf_str.s+1 jsr printf_str - // main::@115 + // main::@118 // sprintf(buffer, "there is no file on the sdcard to flash rom%u. press a key ...", flash_chip) // [164] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 @@ -1086,21 +1092,21 @@ main: { pla // print_text(buffer) // [167] call print_text - // [794] phi from main::@115 to print_text [phi:main::@115->print_text] + // [801] phi from main::@118 to print_text [phi:main::@118->print_text] jsr print_text - // main::@116 + // main::@119 // flash_chip * 10 - // [168] main::$181 = main::flash_chip#10 << 2 -- vbuz1=vbum2_rol_2 - lda flash_chip + // [168] main::$185 = main::flash_chip#10 << 2 -- vbuz1=vbuz2_rol_2 + lda.z flash_chip asl asl - sta.z __181 - // [169] main::$182 = main::$181 + main::flash_chip#10 -- vbuz1=vbuz1_plus_vbum2 - lda flash_chip + sta.z __185 + // [169] main::$186 = main::$185 + main::flash_chip#10 -- vbuz1=vbuz1_plus_vbuz2 + lda.z __186 clc - adc.z __182 - sta.z __182 - // [170] main::$56 = main::$182 << 1 -- vbuz1=vbuz1_rol_1 + adc.z flash_chip + sta.z __186 + // [170] main::$56 = main::$186 << 1 -- vbuz1=vbuz1_rol_1 asl.z __56 // gotoxy(2 + flash_chip * 10, 58) // [171] gotoxy::x#18 = 2 + main::$56 -- vbuz1=vbuc1_plus_vbuz2 @@ -1109,52 +1115,52 @@ main: { adc.z __56 sta.z gotoxy.x // [172] call gotoxy - // [522] phi from main::@116 to gotoxy [phi:main::@116->gotoxy] - // [522] phi gotoxy::y#24 = $3a [phi:main::@116->gotoxy#0] -- vbuz1=vbuc1 + // [529] phi from main::@119 to gotoxy [phi:main::@119->gotoxy] + // [529] phi gotoxy::y#24 = $3a [phi:main::@119->gotoxy#0] -- vbuz1=vbuc1 lda #$3a sta.z gotoxy.y - // [522] phi gotoxy::x#24 = gotoxy::x#18 [phi:main::@116->gotoxy#1] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#18 [phi:main::@119->gotoxy#1] -- register_copy jsr gotoxy - // [173] phi from main::@116 to main::@117 [phi:main::@116->main::@117] - // main::@117 + // [173] phi from main::@119 to main::@120 [phi:main::@119->main::@120] + // main::@120 // printf("no file") // [174] call printf_str - // [750] phi from main::@117 to printf_str [phi:main::@117->printf_str] - // [750] phi printf_str::putc#33 = &cputc [phi:main::@117->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@120 to printf_str [phi:main::@120->printf_str] + // [757] phi printf_str::putc#33 = &cputc [phi:main::@120->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s9 [phi:main::@117->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s9 [phi:main::@120->printf_str#1] -- pbuz1=pbuc1 lda #s9 sta.z printf_str.s+1 jsr printf_str - // main::@118 + // main::@121 // print_chip_led(flash_chip, DARK_GREY, BLUE) - // [175] print_chip_led::r#6 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [175] print_chip_led::r#6 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z print_chip_led.r // [176] call print_chip_led - // [878] phi from main::@118 to print_chip_led [phi:main::@118->print_chip_led] - // [878] phi print_chip_led::tc#10 = DARK_GREY [phi:main::@118->print_chip_led#0] -- vbuz1=vbuc1 + // [885] phi from main::@121 to print_chip_led [phi:main::@121->print_chip_led] + // [885] phi print_chip_led::tc#10 = DARK_GREY [phi:main::@121->print_chip_led#0] -- vbuz1=vbuc1 lda #DARK_GREY sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#6 [phi:main::@118->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#6 [phi:main::@121->print_chip_led#1] -- register_copy jsr print_chip_led // main::@18 __b18: // if (flash_chip != 0) - // [177] if(main::flash_chip#10==0) goto main::@14 -- vbum1_eq_0_then_la1 - lda flash_chip + // [177] if(main::flash_chip#10==0) goto main::@14 -- vbuz1_eq_0_then_la1 + lda.z flash_chip beq __b14 // [178] phi from main::@18 to main::@47 [phi:main::@18->main::@47] // main::@47 // bank_set_brom(4) // [179] call bank_set_brom - // [811] phi from main::@47 to bank_set_brom [phi:main::@47->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = 4 [phi:main::@47->bank_set_brom#0] -- vbuz1=vbuc1 + // [818] phi from main::@47 to bank_set_brom [phi:main::@47->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = 4 [phi:main::@47->bank_set_brom#0] -- vbuz1=vbuc1 lda #4 sta.z bank_set_brom.bank jsr bank_set_brom @@ -1166,7 +1172,7 @@ main: { // main::@63 // wait_key() // [182] call wait_key - // [801] phi from main::@63 to wait_key [phi:main::@63->wait_key] + // [808] phi from main::@63 to wait_key [phi:main::@63->wait_key] jsr wait_key // main::SEI4 // asm @@ -1175,16 +1181,16 @@ main: { // main::@14 __b14: // for (unsigned char flash_chip = 7; flash_chip != 255; flash_chip--) - // [184] main::flash_chip#1 = -- main::flash_chip#10 -- vbum1=_dec_vbum1 - dec flash_chip + // [184] main::flash_chip#1 = -- main::flash_chip#10 -- vbuz1=_dec_vbuz1 + dec.z flash_chip // [104] phi from main::@14 to main::@11 [phi:main::@14->main::@11] // [104] phi main::flash_chip#10 = main::flash_chip#1 [phi:main::@14->main::@11#0] -- register_copy jmp __b11 // main::@17 __b17: // table_chip_clear(flash_chip * 32) - // [185] table_chip_clear::rom_bank#1 = main::flash_chip#10 << 5 -- vbuz1=vbum2_rol_5 - lda flash_chip + // [185] table_chip_clear::rom_bank#1 = main::flash_chip#10 << 5 -- vbuz1=vbuz2_rol_5 + lda.z flash_chip asl asl asl @@ -1192,30 +1198,29 @@ main: { asl sta.z table_chip_clear.rom_bank // [186] call table_chip_clear - // [898] phi from main::@17 to table_chip_clear [phi:main::@17->table_chip_clear] + // [905] phi from main::@17 to table_chip_clear [phi:main::@17->table_chip_clear] jsr table_chip_clear - // [187] phi from main::@17 to main::@98 [phi:main::@17->main::@98] - // main::@98 + // [187] phi from main::@17 to main::@101 [phi:main::@17->main::@101] + // main::@101 // textcolor(WHITE) // [188] call textcolor - // [504] phi from main::@98 to textcolor [phi:main::@98->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:main::@98->textcolor#0] -- vbuz1=vbuc1 + // [511] phi from main::@101 to textcolor [phi:main::@101->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:main::@101->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // main::@99 + // main::@102 // flash_chip * 10 - // [189] main::$178 = main::flash_chip#10 << 2 -- vbuz1=vbum2_rol_2 - lda flash_chip + // [189] main::$164 = main::flash_chip#10 << 2 -- vbum1=vbuz2_rol_2 + lda.z flash_chip asl asl - sta.z __178 - // [190] main::$179 = main::$178 + main::flash_chip#10 -- vbuz1=vbuz1_plus_vbum2 - lda flash_chip + sta __164 + // [190] main::$183 = main::$164 + main::flash_chip#10 -- vbuz1=vbum2_plus_vbuz3 clc - adc.z __179 - sta.z __179 - // [191] main::$64 = main::$179 << 1 -- vbuz1=vbuz1_rol_1 + adc.z flash_chip + sta.z __183 + // [191] main::$64 = main::$183 << 1 -- vbuz1=vbuz1_rol_1 asl.z __64 // gotoxy(2 + flash_chip * 10, 58) // [192] gotoxy::x#17 = 2 + main::$64 -- vbuz1=vbuc1_plus_vbuz2 @@ -1224,100 +1229,100 @@ main: { adc.z __64 sta.z gotoxy.x // [193] call gotoxy - // [522] phi from main::@99 to gotoxy [phi:main::@99->gotoxy] - // [522] phi gotoxy::y#24 = $3a [phi:main::@99->gotoxy#0] -- vbuz1=vbuc1 + // [529] phi from main::@102 to gotoxy [phi:main::@102->gotoxy] + // [529] phi gotoxy::y#24 = $3a [phi:main::@102->gotoxy#0] -- vbuz1=vbuc1 lda #$3a sta.z gotoxy.y - // [522] phi gotoxy::x#24 = gotoxy::x#17 [phi:main::@99->gotoxy#1] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#17 [phi:main::@102->gotoxy#1] -- register_copy jsr gotoxy - // [194] phi from main::@99 to main::@100 [phi:main::@99->main::@100] - // main::@100 + // [194] phi from main::@102 to main::@103 [phi:main::@102->main::@103] + // main::@103 // printf("%s", file) // [195] call printf_string - // [923] phi from main::@100 to printf_string [phi:main::@100->printf_string] - // [923] phi printf_string::str#10 = main::buffer [phi:main::@100->printf_string#0] -- pbuz1=pbuc1 + // [930] phi from main::@103 to printf_string [phi:main::@103->printf_string] + // [930] phi printf_string::str#10 = main::buffer [phi:main::@103->printf_string#0] -- pbuz1=pbuc1 lda #buffer sta.z printf_string.str+1 - // [923] phi printf_string::format_justify_left#10 = 0 [phi:main::@100->printf_string#1] -- vbuz1=vbuc1 + // [930] phi printf_string::format_justify_left#10 = 0 [phi:main::@103->printf_string#1] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [923] phi printf_string::format_min_length#7 = 0 [phi:main::@100->printf_string#2] -- vbuz1=vbuc1 + // [930] phi printf_string::format_min_length#7 = 0 [phi:main::@103->printf_string#2] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // main::@101 + // main::@104 // print_chip_led(flash_chip, CYAN, BLUE) - // [196] print_chip_led::r#5 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [196] print_chip_led::r#5 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z print_chip_led.r // [197] call print_chip_led - // [878] phi from main::@101 to print_chip_led [phi:main::@101->print_chip_led] - // [878] phi print_chip_led::tc#10 = CYAN [phi:main::@101->print_chip_led#0] -- vbuz1=vbuc1 + // [885] phi from main::@104 to print_chip_led [phi:main::@104->print_chip_led] + // [885] phi print_chip_led::tc#10 = CYAN [phi:main::@104->print_chip_led#0] -- vbuz1=vbuc1 lda #CYAN sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#5 [phi:main::@101->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#5 [phi:main::@104->print_chip_led#1] -- register_copy jsr print_chip_led - // [198] phi from main::@101 to main::@102 [phi:main::@101->main::@102] - // main::@102 + // [198] phi from main::@104 to main::@105 [phi:main::@104->main::@105] + // main::@105 // sprintf(buffer, "reading file for rom%u in ram ...", flash_chip) // [199] call snprintf_init jsr snprintf_init - // [200] phi from main::@102 to main::@103 [phi:main::@102->main::@103] - // main::@103 + // [200] phi from main::@105 to main::@106 [phi:main::@105->main::@106] + // main::@106 // sprintf(buffer, "reading file for rom%u in ram ...", flash_chip) // [201] call printf_str - // [750] phi from main::@103 to printf_str [phi:main::@103->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@103->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@106 to printf_str [phi:main::@106->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@106->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s5 [phi:main::@103->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s5 [phi:main::@106->printf_str#1] -- pbuz1=pbuc1 lda #s5 sta.z printf_str.s+1 jsr printf_str - // main::@104 + // main::@107 // sprintf(buffer, "reading file for rom%u in ram ...", flash_chip) - // [202] printf_uchar::uvalue#5 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [202] printf_uchar::uvalue#5 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z printf_uchar.uvalue // [203] call printf_uchar - // [830] phi from main::@104 to printf_uchar [phi:main::@104->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@104->printf_uchar#0] -- vbuz1=vbuc1 + // [837] phi from main::@107 to printf_uchar [phi:main::@107->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@107->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 0 [phi:main::@104->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 0 [phi:main::@107->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &snputc [phi:main::@104->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &snputc [phi:main::@107->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@104->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@107->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#5 [phi:main::@104->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#5 [phi:main::@107->printf_uchar#4] -- register_copy jsr printf_uchar - // [204] phi from main::@104 to main::@105 [phi:main::@104->main::@105] - // main::@105 + // [204] phi from main::@107 to main::@108 [phi:main::@107->main::@108] + // main::@108 // sprintf(buffer, "reading file for rom%u in ram ...", flash_chip) // [205] call printf_str - // [750] phi from main::@105 to printf_str [phi:main::@105->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@105->printf_str#0] -- pprz1=pprc1 + // [757] phi from main::@108 to printf_str [phi:main::@108->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@108->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s6 [phi:main::@105->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s6 [phi:main::@108->printf_str#1] -- pbuz1=pbuc1 lda #s6 sta.z printf_str.s+1 jsr printf_str - // main::@106 + // main::@109 // sprintf(buffer, "reading file for rom%u in ram ...", flash_chip) // [206] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 @@ -1328,16 +1333,16 @@ main: { pla // print_text(buffer) // [209] call print_text - // [794] phi from main::@106 to print_text [phi:main::@106->print_text] + // [801] phi from main::@109 to print_text [phi:main::@109->print_text] jsr print_text - // main::@107 + // main::@110 // unsigned long flash_rom_address_boundary = rom_address(flash_rom_bank) // [210] rom_address::rom_bank#2 = main::flash_rom_bank#0 -- vbuz1=vbum2 lda flash_rom_bank sta.z rom_address.rom_bank // [211] call rom_address - // [945] phi from main::@107 to rom_address [phi:main::@107->rom_address] - // [945] phi rom_address::rom_bank#5 = rom_address::rom_bank#2 [phi:main::@107->rom_address#0] -- register_copy + // [952] phi from main::@110 to rom_address [phi:main::@110->rom_address] + // [952] phi rom_address::rom_bank#5 = rom_address::rom_bank#2 [phi:main::@110->rom_address#0] -- register_copy jsr rom_address // unsigned long flash_rom_address_boundary = rom_address(flash_rom_bank) // [212] rom_address::return#10 = rom_address::return#0 -- vduz1=vduz2 @@ -1349,9 +1354,9 @@ main: { sta.z rom_address.return_2+2 lda.z rom_address.return+3 sta.z rom_address.return_2+3 - // main::@108 + // main::@111 // [213] main::flash_rom_address_boundary#0 = rom_address::return#10 - // unsigned long flash_bytes = flash_read(fp, (ram_ptr_t)0x4000, flash_rom_bank, 1) + // unsigned long flash_bytes = flash_read(fp, (ram_ptr_t)0x4000, flash_rom_bank, size) // [214] flash_read::fp#0 = main::fp#0 -- pssz1=pssm2 lda fp sta.z flash_read.fp @@ -1361,73 +1366,108 @@ main: { lda flash_rom_bank sta.z flash_read.rom_bank_start // [216] call flash_read - // [949] phi from main::@108 to flash_read [phi:main::@108->flash_read] - // [949] phi flash_read::fp#10 = flash_read::fp#0 [phi:main::@108->flash_read#0] -- register_copy - // [949] phi flash_read::flash_ram_address#14 = (char *) 16384 [phi:main::@108->flash_read#1] -- pbuz1=pbuc1 + // [956] phi from main::@111 to flash_read [phi:main::@111->flash_read] + // [956] phi flash_read::fp#10 = flash_read::fp#0 [phi:main::@111->flash_read#0] -- register_copy + // [956] phi flash_read::flash_ram_address#14 = (char *) 16384 [phi:main::@111->flash_read#1] -- pbuz1=pbuc1 lda #<$4000 sta.z flash_read.flash_ram_address lda #>$4000 sta.z flash_read.flash_ram_address+1 - // [949] phi flash_read::rom_bank_size#2 = 1 [phi:main::@108->flash_read#2] -- vbuz1=vbuc1 - lda #1 - sta.z flash_read.rom_bank_size - // [949] phi flash_read::rom_bank_start#11 = flash_read::rom_bank_start#1 [phi:main::@108->flash_read#3] -- register_copy + // [956] phi flash_read::read_size#4 = $4000 [phi:main::@111->flash_read#2] -- vduz1=vduc1 + lda #<$4000 + sta.z flash_read.read_size + lda #>$4000 + sta.z flash_read.read_size+1 + lda #<$4000>>$10 + sta.z flash_read.read_size+2 + lda #>$4000>>$10 + sta.z flash_read.read_size+3 + // [956] phi flash_read::rom_bank_start#11 = flash_read::rom_bank_start#1 [phi:main::@111->flash_read#3] -- register_copy jsr flash_read - // unsigned long flash_bytes = flash_read(fp, (ram_ptr_t)0x4000, flash_rom_bank, 1) + // unsigned long flash_bytes = flash_read(fp, (ram_ptr_t)0x4000, flash_rom_bank, size) // [217] flash_read::return#3 = flash_read::return#2 - // main::@109 - // [218] main::flash_bytes#0 = flash_read::return#3 + // main::@112 + // [218] main::flash_bytes#0 = flash_read::return#3 -- vdum1=vduz2 + lda.z flash_read.return + sta flash_bytes + lda.z flash_read.return+1 + sta flash_bytes+1 + lda.z flash_read.return+2 + sta flash_bytes+2 + lda.z flash_read.return+3 + sta flash_bytes+3 // rom_size(1) // [219] call rom_size - // [985] phi from main::@109 to rom_size [phi:main::@109->rom_size] - // [985] phi rom_size::rom_banks#2 = 1 [phi:main::@109->rom_size#0] -- vbuz1=vbuc1 - lda #1 - sta.z rom_size.rom_banks + // [988] phi from main::@112 to rom_size [phi:main::@112->rom_size] jsr rom_size - // rom_size(1) - // [220] rom_size::return#3 = rom_size::return#0 - // main::@110 - // [221] main::$73 = rom_size::return#3 + // main::@113 // if (flash_bytes != rom_size(1)) - // [222] if(main::flash_bytes#0==main::$73) goto main::@19 -- vduz1_eq_vduz2_then_la1 - lda.z flash_bytes - cmp.z __73 + // [220] if(main::flash_bytes#0==rom_size::return#0) goto main::@19 -- vdum1_eq_vduc1_then_la1 + lda flash_bytes+3 + cmp #>rom_size.return>>$10 bne !+ - lda.z flash_bytes+1 - cmp.z __73+1 + lda flash_bytes+2 + cmp #>$10 bne !+ - lda.z flash_bytes+2 - cmp.z __73+2 + lda flash_bytes+1 + cmp #>rom_size.return bne !+ - lda.z flash_bytes+3 - cmp.z __73+3 + lda flash_bytes + cmp #$4000 + sta.z size+1 + lda.z size+2 + sbc #<$4000>>$10 + sta.z size+2 + lda.z size+3 + sbc #>$4000>>$10 + sta.z size+3 + // flash_read(fp, (ram_ptr_t)0xA000, flash_rom_bank + 1, size) // [225] flash_read::rom_bank_start#2 = main::flash_rom_bank#0 + 1 -- vbuz1=vbum2_plus_1 lda flash_rom_bank inc @@ -1437,148 +1477,147 @@ main: { sta.z flash_read.fp lda fp+1 sta.z flash_read.fp+1 - // [227] call flash_read - // [949] phi from main::@58 to flash_read [phi:main::@58->flash_read] - // [949] phi flash_read::fp#10 = flash_read::fp#1 [phi:main::@58->flash_read#0] -- register_copy - // [949] phi flash_read::flash_ram_address#14 = (char *) 40960 [phi:main::@58->flash_read#1] -- pbuz1=pbuc1 + // [227] flash_read::read_size#1 = main::size#2 + // [228] call flash_read + // [956] phi from main::@58 to flash_read [phi:main::@58->flash_read] + // [956] phi flash_read::fp#10 = flash_read::fp#1 [phi:main::@58->flash_read#0] -- register_copy + // [956] phi flash_read::flash_ram_address#14 = (char *) 40960 [phi:main::@58->flash_read#1] -- pbuz1=pbuc1 lda #<$a000 sta.z flash_read.flash_ram_address lda #>$a000 sta.z flash_read.flash_ram_address+1 - // [949] phi flash_read::rom_bank_size#2 = $1f [phi:main::@58->flash_read#2] -- vbuz1=vbuc1 - lda #$1f - sta.z flash_read.rom_bank_size - // [949] phi flash_read::rom_bank_start#11 = flash_read::rom_bank_start#2 [phi:main::@58->flash_read#3] -- register_copy + // [956] phi flash_read::read_size#4 = flash_read::read_size#1 [phi:main::@58->flash_read#2] -- register_copy + // [956] phi flash_read::rom_bank_start#11 = flash_read::rom_bank_start#2 [phi:main::@58->flash_read#3] -- register_copy jsr flash_read - // flash_read(fp, (ram_ptr_t)0xA000, flash_rom_bank + 1, 31) - // [228] flash_read::return#4 = flash_read::return#2 - // main::@119 - // flash_bytes = flash_read(fp, (ram_ptr_t)0xA000, flash_rom_bank + 1, 31) - // [229] main::flash_bytes#1 = flash_read::return#4 -- vdum1=vduz2 + // flash_read(fp, (ram_ptr_t)0xA000, flash_rom_bank + 1, size) + // [229] flash_read::return#4 = flash_read::return#2 + // main::@122 + // flash_bytes = flash_read(fp, (ram_ptr_t)0xA000, flash_rom_bank + 1, size) + // [230] main::flash_bytes#1 = flash_read::return#4 -- vduz1=vduz2 lda.z flash_read.return - sta flash_bytes_1 + sta.z flash_bytes_1 lda.z flash_read.return+1 - sta flash_bytes_1+1 + sta.z flash_bytes_1+1 lda.z flash_read.return+2 - sta flash_bytes_1+2 + sta.z flash_bytes_1+2 lda.z flash_read.return+3 - sta flash_bytes_1+3 + sta.z flash_bytes_1+3 // flash_rom_address_boundary += flash_bytes - // [230] main::flash_rom_address_boundary#11 = main::flash_rom_address_boundary#1 + main::flash_bytes#1 -- vdum1=vduz2_plus_vdum1 + // [231] main::flash_rom_address_boundary#11 = main::flash_rom_address_boundary#1 + main::flash_bytes#1 -- vduz1=vdum2_plus_vduz1 clc - lda flash_rom_address_boundary_2 - adc.z flash_rom_address_boundary_1 - sta flash_rom_address_boundary_2 - lda flash_rom_address_boundary_2+1 - adc.z flash_rom_address_boundary_1+1 - sta flash_rom_address_boundary_2+1 - lda flash_rom_address_boundary_2+2 - adc.z flash_rom_address_boundary_1+2 - sta flash_rom_address_boundary_2+2 - lda flash_rom_address_boundary_2+3 - adc.z flash_rom_address_boundary_1+3 - sta flash_rom_address_boundary_2+3 + lda.z flash_rom_address_boundary_2 + adc flash_rom_address_boundary_1 + sta.z flash_rom_address_boundary_2 + lda.z flash_rom_address_boundary_2+1 + adc flash_rom_address_boundary_1+1 + sta.z flash_rom_address_boundary_2+1 + lda.z flash_rom_address_boundary_2+2 + adc flash_rom_address_boundary_1+2 + sta.z flash_rom_address_boundary_2+2 + lda.z flash_rom_address_boundary_2+3 + adc flash_rom_address_boundary_1+3 + sta.z flash_rom_address_boundary_2+3 // fclose(fp) - // [231] fclose::fp#0 = main::fp#0 - // [232] call fclose + // [232] fclose::fp#0 = main::fp#0 + // [233] call fclose jsr fclose // main::bank_set_bram3 // BRAM = bank - // [233] BRAM = main::bank_set_bram3_bank#0 -- vbuz1=vbuc1 + // [234] BRAM = main::bank_set_bram3_bank#0 -- vbuz1=vbuc1 lda #bank_set_bram3_bank sta.z BRAM - // [234] phi from main::bank_set_bram3 to main::@59 [phi:main::bank_set_bram3->main::@59] + // [235] phi from main::bank_set_bram3 to main::@59 [phi:main::bank_set_bram3->main::@59] // main::@59 // bank_set_brom(4) - // [235] call bank_set_brom - // [811] phi from main::@59 to bank_set_brom [phi:main::@59->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = 4 [phi:main::@59->bank_set_brom#0] -- vbuz1=vbuc1 + // [236] call bank_set_brom + // [818] phi from main::@59 to bank_set_brom [phi:main::@59->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = 4 [phi:main::@59->bank_set_brom#0] -- vbuz1=vbuc1 lda #4 sta.z bank_set_brom.bank jsr bank_set_brom - // [236] phi from main::@59 to main::@120 [phi:main::@59->main::@120] - // main::@120 + // [237] phi from main::@59 to main::@123 [phi:main::@59->main::@123] + // main::@123 // sprintf(buffer, "verifying rom%u with file ... (.) same, (*) different.", flash_chip) - // [237] call snprintf_init + // [238] call snprintf_init jsr snprintf_init - // [238] phi from main::@120 to main::@121 [phi:main::@120->main::@121] - // main::@121 + // [239] phi from main::@123 to main::@124 [phi:main::@123->main::@124] + // main::@124 // sprintf(buffer, "verifying rom%u with file ... (.) same, (*) different.", flash_chip) - // [239] call printf_str - // [750] phi from main::@121 to printf_str [phi:main::@121->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@121->printf_str#0] -- pprz1=pprc1 + // [240] call printf_str + // [757] phi from main::@124 to printf_str [phi:main::@124->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@124->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s10 [phi:main::@121->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s10 [phi:main::@124->printf_str#1] -- pbuz1=pbuc1 lda #s10 sta.z printf_str.s+1 jsr printf_str - // main::@122 + // main::@125 // sprintf(buffer, "verifying rom%u with file ... (.) same, (*) different.", flash_chip) - // [240] printf_uchar::uvalue#7 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [241] printf_uchar::uvalue#7 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z printf_uchar.uvalue - // [241] call printf_uchar - // [830] phi from main::@122 to printf_uchar [phi:main::@122->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@122->printf_uchar#0] -- vbuz1=vbuc1 + // [242] call printf_uchar + // [837] phi from main::@125 to printf_uchar [phi:main::@125->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@125->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 0 [phi:main::@122->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 0 [phi:main::@125->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &snputc [phi:main::@122->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &snputc [phi:main::@125->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@122->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@125->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#7 [phi:main::@122->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#7 [phi:main::@125->printf_uchar#4] -- register_copy jsr printf_uchar - // [242] phi from main::@122 to main::@123 [phi:main::@122->main::@123] - // main::@123 + // [243] phi from main::@125 to main::@126 [phi:main::@125->main::@126] + // main::@126 // sprintf(buffer, "verifying rom%u with file ... (.) same, (*) different.", flash_chip) - // [243] call printf_str - // [750] phi from main::@123 to printf_str [phi:main::@123->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@123->printf_str#0] -- pprz1=pprc1 + // [244] call printf_str + // [757] phi from main::@126 to printf_str [phi:main::@126->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@126->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s11 [phi:main::@123->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s11 [phi:main::@126->printf_str#1] -- pbuz1=pbuc1 lda #s11 sta.z printf_str.s+1 jsr printf_str - // main::@124 + // main::@127 // sprintf(buffer, "verifying rom%u with file ... (.) same, (*) different.", flash_chip) - // [244] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [245] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [245] callexecute snputc -- call_vprc1 + // [246] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // print_text(buffer) - // [247] call print_text - // [794] phi from main::@124 to print_text [phi:main::@124->print_text] + // [248] call print_text + // [801] phi from main::@127 to print_text [phi:main::@127->print_text] jsr print_text - // main::@125 + // main::@128 // unsigned long flash_rom_address_sector = rom_address(flash_rom_bank) - // [248] rom_address::rom_bank#3 = main::flash_rom_bank#0 -- vbuz1=vbum2 + // [249] rom_address::rom_bank#3 = main::flash_rom_bank#0 -- vbuz1=vbum2 lda flash_rom_bank sta.z rom_address.rom_bank - // [249] call rom_address - // [945] phi from main::@125 to rom_address [phi:main::@125->rom_address] - // [945] phi rom_address::rom_bank#5 = rom_address::rom_bank#3 [phi:main::@125->rom_address#0] -- register_copy + // [250] call rom_address + // [952] phi from main::@128 to rom_address [phi:main::@128->rom_address] + // [952] phi rom_address::rom_bank#5 = rom_address::rom_bank#3 [phi:main::@128->rom_address#0] -- register_copy jsr rom_address // unsigned long flash_rom_address_sector = rom_address(flash_rom_bank) - // [250] rom_address::return#11 = rom_address::return#0 -- vduz1=vduz2 + // [251] rom_address::return#11 = rom_address::return#0 -- vduz1=vduz2 lda.z rom_address.return sta.z rom_address.return_3 lda.z rom_address.return+1 @@ -1587,15 +1626,15 @@ main: { sta.z rom_address.return_3+2 lda.z rom_address.return+3 sta.z rom_address.return_3+3 - // main::@126 - // [251] main::flash_rom_address1#0 = rom_address::return#11 + // main::@129 + // [252] main::flash_rom_address1#0 = rom_address::return#11 // gotoxy(x, y) - // [252] call gotoxy - // [522] phi from main::@126 to gotoxy [phi:main::@126->gotoxy] - // [522] phi gotoxy::y#24 = 4 [phi:main::@126->gotoxy#0] -- vbuz1=vbuc1 + // [253] call gotoxy + // [529] phi from main::@129 to gotoxy [phi:main::@129->gotoxy] + // [529] phi gotoxy::y#24 = 4 [phi:main::@129->gotoxy#0] -- vbuz1=vbuc1 lda #4 sta.z gotoxy.y - // [522] phi gotoxy::x#24 = $e [phi:main::@126->gotoxy#1] -- vbuz1=vbuc1 + // [529] phi gotoxy::x#24 = $e [phi:main::@129->gotoxy#1] -- vbuz1=vbuc1 lda #$e sta.z gotoxy.x jsr gotoxy @@ -1603,134 +1642,134 @@ main: { // asm // asm { sei } sei - // [254] phi from main::SEI2 to main::@20 [phi:main::SEI2->main::@20] - // [254] phi main::y_sector#10 = 4 [phi:main::SEI2->main::@20#0] -- vbuz1=vbuc1 + // [255] phi from main::SEI2 to main::@20 [phi:main::SEI2->main::@20] + // [255] phi main::y_sector#10 = 4 [phi:main::SEI2->main::@20#0] -- vbuz1=vbuc1 lda #4 sta.z y_sector - // [254] phi main::x_sector#10 = $e [phi:main::SEI2->main::@20#1] -- vbuz1=vbuc1 + // [255] phi main::x_sector#10 = $e [phi:main::SEI2->main::@20#1] -- vbuz1=vbuc1 lda #$e sta.z x_sector - // [254] phi main::read_ram_address#10 = (char *) 16384 [phi:main::SEI2->main::@20#2] -- pbuz1=pbuc1 + // [255] phi main::read_ram_address#10 = (char *) 16384 [phi:main::SEI2->main::@20#2] -- pbuz1=pbuc1 lda #<$4000 sta.z read_ram_address lda #>$4000 sta.z read_ram_address+1 - // [254] phi main::read_ram_bank#13 = 0 [phi:main::SEI2->main::@20#3] -- vbuz1=vbuc1 + // [255] phi main::read_ram_bank#13 = 0 [phi:main::SEI2->main::@20#3] -- vbuz1=vbuc1 lda #0 sta.z read_ram_bank - // [254] phi main::flash_rom_address1#13 = main::flash_rom_address1#0 [phi:main::SEI2->main::@20#4] -- register_copy - // [254] phi from main::@26 to main::@20 [phi:main::@26->main::@20] - // [254] phi main::y_sector#10 = main::y_sector#10 [phi:main::@26->main::@20#0] -- register_copy - // [254] phi main::x_sector#10 = main::x_sector#1 [phi:main::@26->main::@20#1] -- register_copy - // [254] phi main::read_ram_address#10 = main::read_ram_address#12 [phi:main::@26->main::@20#2] -- register_copy - // [254] phi main::read_ram_bank#13 = main::read_ram_bank#10 [phi:main::@26->main::@20#3] -- register_copy - // [254] phi main::flash_rom_address1#13 = main::flash_rom_address1#1 [phi:main::@26->main::@20#4] -- register_copy + // [255] phi main::flash_rom_address1#13 = main::flash_rom_address1#0 [phi:main::SEI2->main::@20#4] -- register_copy + // [255] phi from main::@26 to main::@20 [phi:main::@26->main::@20] + // [255] phi main::y_sector#10 = main::y_sector#10 [phi:main::@26->main::@20#0] -- register_copy + // [255] phi main::x_sector#10 = main::x_sector#1 [phi:main::@26->main::@20#1] -- register_copy + // [255] phi main::read_ram_address#10 = main::read_ram_address#12 [phi:main::@26->main::@20#2] -- register_copy + // [255] phi main::read_ram_bank#13 = main::read_ram_bank#10 [phi:main::@26->main::@20#3] -- register_copy + // [255] phi main::flash_rom_address1#13 = main::flash_rom_address1#1 [phi:main::@26->main::@20#4] -- register_copy // main::@20 __b20: // while (flash_rom_address < flash_rom_address_boundary) - // [255] if(main::flash_rom_address1#13main::@22] + // [257] phi from main::@20 to main::@22 [phi:main::@20->main::@22] // main::@22 // sprintf(buffer, "verified rom%u ... (.) same, (*) different. press a key to flash ...", flash_chip) - // [257] call snprintf_init + // [258] call snprintf_init jsr snprintf_init - // [258] phi from main::@22 to main::@128 [phi:main::@22->main::@128] - // main::@128 + // [259] phi from main::@22 to main::@131 [phi:main::@22->main::@131] + // main::@131 // sprintf(buffer, "verified rom%u ... (.) same, (*) different. press a key to flash ...", flash_chip) - // [259] call printf_str - // [750] phi from main::@128 to printf_str [phi:main::@128->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@128->printf_str#0] -- pprz1=pprc1 + // [260] call printf_str + // [757] phi from main::@131 to printf_str [phi:main::@131->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@131->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s12 [phi:main::@128->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s12 [phi:main::@131->printf_str#1] -- pbuz1=pbuc1 lda #s12 sta.z printf_str.s+1 jsr printf_str - // main::@129 + // main::@132 // sprintf(buffer, "verified rom%u ... (.) same, (*) different. press a key to flash ...", flash_chip) - // [260] printf_uchar::uvalue#8 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [261] printf_uchar::uvalue#8 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z printf_uchar.uvalue - // [261] call printf_uchar - // [830] phi from main::@129 to printf_uchar [phi:main::@129->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@129->printf_uchar#0] -- vbuz1=vbuc1 + // [262] call printf_uchar + // [837] phi from main::@132 to printf_uchar [phi:main::@132->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@132->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 0 [phi:main::@129->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 0 [phi:main::@132->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &snputc [phi:main::@129->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &snputc [phi:main::@132->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@129->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@132->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#8 [phi:main::@129->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#8 [phi:main::@132->printf_uchar#4] -- register_copy jsr printf_uchar - // [262] phi from main::@129 to main::@130 [phi:main::@129->main::@130] - // main::@130 + // [263] phi from main::@132 to main::@133 [phi:main::@132->main::@133] + // main::@133 // sprintf(buffer, "verified rom%u ... (.) same, (*) different. press a key to flash ...", flash_chip) - // [263] call printf_str - // [750] phi from main::@130 to printf_str [phi:main::@130->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@130->printf_str#0] -- pprz1=pprc1 + // [264] call printf_str + // [757] phi from main::@133 to printf_str [phi:main::@133->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@133->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s13 [phi:main::@130->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s13 [phi:main::@133->printf_str#1] -- pbuz1=pbuc1 lda #s13 sta.z printf_str.s+1 jsr printf_str - // main::@131 + // main::@134 // sprintf(buffer, "verified rom%u ... (.) same, (*) different. press a key to flash ...", flash_chip) - // [264] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [265] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [265] callexecute snputc -- call_vprc1 + // [266] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // print_text(buffer) - // [267] call print_text - // [794] phi from main::@131 to print_text [phi:main::@131->print_text] + // [268] call print_text + // [801] phi from main::@134 to print_text [phi:main::@134->print_text] jsr print_text - // [268] phi from main::@131 to main::@132 [phi:main::@131->main::@132] - // main::@132 + // [269] phi from main::@134 to main::@135 [phi:main::@134->main::@135] + // main::@135 // bank_set_brom(4) - // [269] call bank_set_brom - // [811] phi from main::@132 to bank_set_brom [phi:main::@132->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = 4 [phi:main::@132->bank_set_brom#0] -- vbuz1=vbuc1 + // [270] call bank_set_brom + // [818] phi from main::@135 to bank_set_brom [phi:main::@135->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = 4 [phi:main::@135->bank_set_brom#0] -- vbuz1=vbuc1 lda #4 sta.z bank_set_brom.bank jsr bank_set_brom @@ -1738,11 +1777,11 @@ main: { // asm // asm { cli } cli - // [271] phi from main::CLI2 to main::@60 [phi:main::CLI2->main::@60] + // [272] phi from main::CLI2 to main::@60 [phi:main::CLI2->main::@60] // main::@60 // wait_key() - // [272] call wait_key - // [801] phi from main::@60 to wait_key [phi:main::@60->wait_key] + // [273] call wait_key + // [808] phi from main::@60 to wait_key [phi:main::@60->wait_key] jsr wait_key // main::SEI3 // asm @@ -1750,15 +1789,15 @@ main: { sei // main::@61 // rom_address(flash_rom_bank) - // [274] rom_address::rom_bank#4 = main::flash_rom_bank#0 -- vbuz1=vbum2 + // [275] rom_address::rom_bank#4 = main::flash_rom_bank#0 -- vbuz1=vbum2 lda flash_rom_bank sta.z rom_address.rom_bank - // [275] call rom_address - // [945] phi from main::@61 to rom_address [phi:main::@61->rom_address] - // [945] phi rom_address::rom_bank#5 = rom_address::rom_bank#4 [phi:main::@61->rom_address#0] -- register_copy + // [276] call rom_address + // [952] phi from main::@61 to rom_address [phi:main::@61->rom_address] + // [952] phi rom_address::rom_bank#5 = rom_address::rom_bank#4 [phi:main::@61->rom_address#0] -- register_copy jsr rom_address // rom_address(flash_rom_bank) - // [276] rom_address::return#12 = rom_address::return#0 -- vduz1=vduz2 + // [277] rom_address::return#12 = rom_address::return#0 -- vduz1=vduz2 lda.z rom_address.return sta.z rom_address.return_4 lda.z rom_address.return+1 @@ -1767,416 +1806,416 @@ main: { sta.z rom_address.return_4+2 lda.z rom_address.return+3 sta.z rom_address.return_4+3 - // main::@133 + // main::@136 // flash_rom_address_sector = rom_address(flash_rom_bank) - // [277] main::flash_rom_address_sector#1 = rom_address::return#12 + // [278] main::flash_rom_address_sector#1 = rom_address::return#12 // textcolor(WHITE) - // [278] call textcolor - // [504] phi from main::@133 to textcolor [phi:main::@133->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:main::@133->textcolor#0] -- vbuz1=vbuc1 + // [279] call textcolor + // [511] phi from main::@136 to textcolor [phi:main::@136->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:main::@136->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // main::@134 + // main::@137 // print_chip_led(flash_chip, PURPLE, BLUE) - // [279] print_chip_led::r#7 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [280] print_chip_led::r#7 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z print_chip_led.r - // [280] call print_chip_led - // [878] phi from main::@134 to print_chip_led [phi:main::@134->print_chip_led] - // [878] phi print_chip_led::tc#10 = PURPLE [phi:main::@134->print_chip_led#0] -- vbuz1=vbuc1 + // [281] call print_chip_led + // [885] phi from main::@137 to print_chip_led [phi:main::@137->print_chip_led] + // [885] phi print_chip_led::tc#10 = PURPLE [phi:main::@137->print_chip_led#0] -- vbuz1=vbuc1 lda #PURPLE sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#7 [phi:main::@134->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#7 [phi:main::@137->print_chip_led#1] -- register_copy jsr print_chip_led - // [281] phi from main::@134 to main::@135 [phi:main::@134->main::@135] - // main::@135 + // [282] phi from main::@137 to main::@138 [phi:main::@137->main::@138] + // main::@138 // sprintf(buffer, "flashing rom%u from ram ... (-) unchanged, (+) flashed, (!) error.", flash_chip) - // [282] call snprintf_init + // [283] call snprintf_init jsr snprintf_init - // [283] phi from main::@135 to main::@136 [phi:main::@135->main::@136] - // main::@136 + // [284] phi from main::@138 to main::@139 [phi:main::@138->main::@139] + // main::@139 // sprintf(buffer, "flashing rom%u from ram ... (-) unchanged, (+) flashed, (!) error.", flash_chip) - // [284] call printf_str - // [750] phi from main::@136 to printf_str [phi:main::@136->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@136->printf_str#0] -- pprz1=pprc1 + // [285] call printf_str + // [757] phi from main::@139 to printf_str [phi:main::@139->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@139->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s14 [phi:main::@136->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s14 [phi:main::@139->printf_str#1] -- pbuz1=pbuc1 lda #s14 sta.z printf_str.s+1 jsr printf_str - // main::@137 + // main::@140 // sprintf(buffer, "flashing rom%u from ram ... (-) unchanged, (+) flashed, (!) error.", flash_chip) - // [285] printf_uchar::uvalue#9 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [286] printf_uchar::uvalue#9 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z printf_uchar.uvalue - // [286] call printf_uchar - // [830] phi from main::@137 to printf_uchar [phi:main::@137->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@137->printf_uchar#0] -- vbuz1=vbuc1 + // [287] call printf_uchar + // [837] phi from main::@140 to printf_uchar [phi:main::@140->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@140->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 0 [phi:main::@137->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 0 [phi:main::@140->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &snputc [phi:main::@137->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &snputc [phi:main::@140->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@137->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@140->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#9 [phi:main::@137->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#9 [phi:main::@140->printf_uchar#4] -- register_copy jsr printf_uchar - // [287] phi from main::@137 to main::@138 [phi:main::@137->main::@138] - // main::@138 + // [288] phi from main::@140 to main::@141 [phi:main::@140->main::@141] + // main::@141 // sprintf(buffer, "flashing rom%u from ram ... (-) unchanged, (+) flashed, (!) error.", flash_chip) - // [288] call printf_str - // [750] phi from main::@138 to printf_str [phi:main::@138->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@138->printf_str#0] -- pprz1=pprc1 + // [289] call printf_str + // [757] phi from main::@141 to printf_str [phi:main::@141->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@141->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s15 [phi:main::@138->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s15 [phi:main::@141->printf_str#1] -- pbuz1=pbuc1 lda #s15 sta.z printf_str.s+1 jsr printf_str - // main::@139 + // main::@142 // sprintf(buffer, "flashing rom%u from ram ... (-) unchanged, (+) flashed, (!) error.", flash_chip) - // [289] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [290] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [290] callexecute snputc -- call_vprc1 + // [291] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // print_text(buffer) - // [292] call print_text - // [794] phi from main::@139 to print_text [phi:main::@139->print_text] + // [293] call print_text + // [801] phi from main::@142 to print_text [phi:main::@142->print_text] jsr print_text - // [293] phi from main::@139 to main::@29 [phi:main::@139->main::@29] - // [293] phi main::flash_errors_sector#10 = 0 [phi:main::@139->main::@29#0] -- vwuz1=vwuc1 + // [294] phi from main::@142 to main::@29 [phi:main::@142->main::@29] + // [294] phi main::flash_errors_sector#10 = 0 [phi:main::@142->main::@29#0] -- vwuz1=vwuc1 lda #<0 sta.z flash_errors_sector sta.z flash_errors_sector+1 - // [293] phi main::y_sector1#13 = 4 [phi:main::@139->main::@29#1] -- vbuz1=vbuc1 + // [294] phi main::y_sector1#13 = 4 [phi:main::@142->main::@29#1] -- vbuz1=vbuc1 lda #4 sta.z y_sector1 - // [293] phi main::x_sector1#10 = $e [phi:main::@139->main::@29#2] -- vbuz1=vbuc1 + // [294] phi main::x_sector1#10 = $e [phi:main::@142->main::@29#2] -- vbuz1=vbuc1 lda #$e sta.z x_sector1 - // [293] phi main::read_ram_address_sector#10 = (char *) 16384 [phi:main::@139->main::@29#3] -- pbuz1=pbuc1 + // [294] phi main::read_ram_address_sector#10 = (char *) 16384 [phi:main::@142->main::@29#3] -- pbuz1=pbuc1 lda #<$4000 sta.z read_ram_address_sector lda #>$4000 sta.z read_ram_address_sector+1 - // [293] phi main::read_ram_bank_sector#13 = 0 [phi:main::@139->main::@29#4] -- vbuz1=vbuc1 + // [294] phi main::read_ram_bank_sector#13 = 0 [phi:main::@142->main::@29#4] -- vbuz1=vbuc1 lda #0 sta.z read_ram_bank_sector - // [293] phi main::flash_rom_address_sector#11 = main::flash_rom_address_sector#1 [phi:main::@139->main::@29#5] -- register_copy - // [293] phi from main::@40 to main::@29 [phi:main::@40->main::@29] - // [293] phi main::flash_errors_sector#10 = main::flash_errors_sector#19 [phi:main::@40->main::@29#0] -- register_copy - // [293] phi main::y_sector1#13 = main::y_sector1#13 [phi:main::@40->main::@29#1] -- register_copy - // [293] phi main::x_sector1#10 = main::x_sector1#1 [phi:main::@40->main::@29#2] -- register_copy - // [293] phi main::read_ram_address_sector#10 = main::read_ram_address_sector#14 [phi:main::@40->main::@29#3] -- register_copy - // [293] phi main::read_ram_bank_sector#13 = main::read_ram_bank_sector#11 [phi:main::@40->main::@29#4] -- register_copy - // [293] phi main::flash_rom_address_sector#11 = main::flash_rom_address_sector#10 [phi:main::@40->main::@29#5] -- register_copy + // [294] phi main::flash_rom_address_sector#11 = main::flash_rom_address_sector#1 [phi:main::@142->main::@29#5] -- register_copy + // [294] phi from main::@40 to main::@29 [phi:main::@40->main::@29] + // [294] phi main::flash_errors_sector#10 = main::flash_errors_sector#19 [phi:main::@40->main::@29#0] -- register_copy + // [294] phi main::y_sector1#13 = main::y_sector1#13 [phi:main::@40->main::@29#1] -- register_copy + // [294] phi main::x_sector1#10 = main::x_sector1#1 [phi:main::@40->main::@29#2] -- register_copy + // [294] phi main::read_ram_address_sector#10 = main::read_ram_address_sector#14 [phi:main::@40->main::@29#3] -- register_copy + // [294] phi main::read_ram_bank_sector#13 = main::read_ram_bank_sector#11 [phi:main::@40->main::@29#4] -- register_copy + // [294] phi main::flash_rom_address_sector#11 = main::flash_rom_address_sector#10 [phi:main::@40->main::@29#5] -- register_copy // main::@29 __b29: // while (flash_rom_address_sector < flash_rom_address_boundary) - // [294] if(main::flash_rom_address_sector#11main::@62] + // [297] phi from main::bank_set_bram4 to main::@62 [phi:main::bank_set_bram4->main::@62] // main::@62 // bank_set_brom(4) - // [297] call bank_set_brom - // [811] phi from main::@62 to bank_set_brom [phi:main::@62->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = 4 [phi:main::@62->bank_set_brom#0] -- vbuz1=vbuc1 + // [298] call bank_set_brom + // [818] phi from main::@62 to bank_set_brom [phi:main::@62->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = 4 [phi:main::@62->bank_set_brom#0] -- vbuz1=vbuc1 lda #4 sta.z bank_set_brom.bank jsr bank_set_brom - // main::@145 + // main::@148 // if (!flash_errors_sector) - // [298] if(0==main::flash_errors_sector#10) goto main::@45 -- 0_eq_vwuz1_then_la1 + // [299] if(0==main::flash_errors_sector#10) goto main::@45 -- 0_eq_vwuz1_then_la1 lda.z flash_errors_sector ora.z flash_errors_sector+1 bne !__b45+ jmp __b45 !__b45: - // [299] phi from main::@145 to main::@44 [phi:main::@145->main::@44] + // [300] phi from main::@148 to main::@44 [phi:main::@148->main::@44] // main::@44 // textcolor(RED) - // [300] call textcolor - // [504] phi from main::@44 to textcolor [phi:main::@44->textcolor] - // [504] phi textcolor::color#24 = RED [phi:main::@44->textcolor#0] -- vbuz1=vbuc1 + // [301] call textcolor + // [511] phi from main::@44 to textcolor [phi:main::@44->textcolor] + // [511] phi textcolor::color#24 = RED [phi:main::@44->textcolor#0] -- vbuz1=vbuc1 lda #RED sta.z textcolor.color jsr textcolor - // [301] phi from main::@44 to main::@164 [phi:main::@44->main::@164] - // main::@164 + // [302] phi from main::@44 to main::@167 [phi:main::@44->main::@167] + // main::@167 // sprintf(buffer, "the flashing of rom%u went wrong, %u errors. press a key ...", flash_chip, flash_errors_sector) - // [302] call snprintf_init + // [303] call snprintf_init jsr snprintf_init - // [303] phi from main::@164 to main::@165 [phi:main::@164->main::@165] - // main::@165 + // [304] phi from main::@167 to main::@168 [phi:main::@167->main::@168] + // main::@168 // sprintf(buffer, "the flashing of rom%u went wrong, %u errors. press a key ...", flash_chip, flash_errors_sector) - // [304] call printf_str - // [750] phi from main::@165 to printf_str [phi:main::@165->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@165->printf_str#0] -- pprz1=pprc1 + // [305] call printf_str + // [757] phi from main::@168 to printf_str [phi:main::@168->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@168->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s17 [phi:main::@165->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s17 [phi:main::@168->printf_str#1] -- pbuz1=pbuc1 lda #s17 sta.z printf_str.s+1 jsr printf_str - // main::@166 + // main::@169 // sprintf(buffer, "the flashing of rom%u went wrong, %u errors. press a key ...", flash_chip, flash_errors_sector) - // [305] printf_uchar::uvalue#11 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [306] printf_uchar::uvalue#11 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z printf_uchar.uvalue - // [306] call printf_uchar - // [830] phi from main::@166 to printf_uchar [phi:main::@166->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@166->printf_uchar#0] -- vbuz1=vbuc1 + // [307] call printf_uchar + // [837] phi from main::@169 to printf_uchar [phi:main::@169->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@169->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 0 [phi:main::@166->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 0 [phi:main::@169->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &snputc [phi:main::@166->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &snputc [phi:main::@169->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@166->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@169->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#11 [phi:main::@166->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#11 [phi:main::@169->printf_uchar#4] -- register_copy jsr printf_uchar - // [307] phi from main::@166 to main::@167 [phi:main::@166->main::@167] - // main::@167 + // [308] phi from main::@169 to main::@170 [phi:main::@169->main::@170] + // main::@170 // sprintf(buffer, "the flashing of rom%u went wrong, %u errors. press a key ...", flash_chip, flash_errors_sector) - // [308] call printf_str - // [750] phi from main::@167 to printf_str [phi:main::@167->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@167->printf_str#0] -- pprz1=pprc1 + // [309] call printf_str + // [757] phi from main::@170 to printf_str [phi:main::@170->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@170->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s20 [phi:main::@167->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s20 [phi:main::@170->printf_str#1] -- pbuz1=pbuc1 lda #s20 sta.z printf_str.s+1 jsr printf_str - // main::@168 + // main::@171 // sprintf(buffer, "the flashing of rom%u went wrong, %u errors. press a key ...", flash_chip, flash_errors_sector) - // [309] printf_uint::uvalue#2 = main::flash_errors_sector#10 -- vwuz1=vwuz2 + // [310] printf_uint::uvalue#2 = main::flash_errors_sector#10 -- vwuz1=vwuz2 lda.z flash_errors_sector sta.z printf_uint.uvalue lda.z flash_errors_sector+1 sta.z printf_uint.uvalue+1 - // [310] call printf_uint - // [1000] phi from main::@168 to printf_uint [phi:main::@168->printf_uint] - // [1000] phi printf_uint::format_min_length#3 = 0 [phi:main::@168->printf_uint#0] -- vbuz1=vbuc1 + // [311] call printf_uint + // [1001] phi from main::@171 to printf_uint [phi:main::@171->printf_uint] + // [1001] phi printf_uint::format_min_length#3 = 0 [phi:main::@171->printf_uint#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uint.format_min_length - // [1000] phi printf_uint::putc#3 = &snputc [phi:main::@168->printf_uint#1] -- pprz1=pprc1 + // [1001] phi printf_uint::putc#3 = &snputc [phi:main::@171->printf_uint#1] -- pprz1=pprc1 lda #snputc sta.z printf_uint.putc+1 - // [1000] phi printf_uint::format_radix#3 = DECIMAL [phi:main::@168->printf_uint#2] -- vbuz1=vbuc1 + // [1001] phi printf_uint::format_radix#3 = DECIMAL [phi:main::@171->printf_uint#2] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uint.format_radix - // [1000] phi printf_uint::uvalue#3 = printf_uint::uvalue#2 [phi:main::@168->printf_uint#3] -- register_copy + // [1001] phi printf_uint::uvalue#3 = printf_uint::uvalue#2 [phi:main::@171->printf_uint#3] -- register_copy jsr printf_uint - // [311] phi from main::@168 to main::@169 [phi:main::@168->main::@169] - // main::@169 + // [312] phi from main::@171 to main::@172 [phi:main::@171->main::@172] + // main::@172 // sprintf(buffer, "the flashing of rom%u went wrong, %u errors. press a key ...", flash_chip, flash_errors_sector) - // [312] call printf_str - // [750] phi from main::@169 to printf_str [phi:main::@169->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@169->printf_str#0] -- pprz1=pprc1 + // [313] call printf_str + // [757] phi from main::@172 to printf_str [phi:main::@172->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@172->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s21 [phi:main::@169->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s21 [phi:main::@172->printf_str#1] -- pbuz1=pbuc1 lda #s21 sta.z printf_str.s+1 jsr printf_str - // main::@170 + // main::@173 // sprintf(buffer, "the flashing of rom%u went wrong, %u errors. press a key ...", flash_chip, flash_errors_sector) - // [313] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [314] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [314] callexecute snputc -- call_vprc1 + // [315] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // print_text(buffer) - // [316] call print_text - // [794] phi from main::@170 to print_text [phi:main::@170->print_text] + // [317] call print_text + // [801] phi from main::@173 to print_text [phi:main::@173->print_text] jsr print_text - // main::@171 + // main::@174 // print_chip_led(flash_chip, RED, BLUE) - // [317] print_chip_led::r#9 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [318] print_chip_led::r#9 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z print_chip_led.r - // [318] call print_chip_led - // [878] phi from main::@171 to print_chip_led [phi:main::@171->print_chip_led] - // [878] phi print_chip_led::tc#10 = RED [phi:main::@171->print_chip_led#0] -- vbuz1=vbuc1 + // [319] call print_chip_led + // [885] phi from main::@174 to print_chip_led [phi:main::@174->print_chip_led] + // [885] phi print_chip_led::tc#10 = RED [phi:main::@174->print_chip_led#0] -- vbuz1=vbuc1 lda #RED sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#9 [phi:main::@171->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#9 [phi:main::@174->print_chip_led#1] -- register_copy jsr print_chip_led jmp __b18 - // [319] phi from main::@145 to main::@45 [phi:main::@145->main::@45] + // [320] phi from main::@148 to main::@45 [phi:main::@148->main::@45] // main::@45 __b45: // textcolor(GREEN) - // [320] call textcolor - // [504] phi from main::@45 to textcolor [phi:main::@45->textcolor] - // [504] phi textcolor::color#24 = GREEN [phi:main::@45->textcolor#0] -- vbuz1=vbuc1 + // [321] call textcolor + // [511] phi from main::@45 to textcolor [phi:main::@45->textcolor] + // [511] phi textcolor::color#24 = GREEN [phi:main::@45->textcolor#0] -- vbuz1=vbuc1 lda #GREEN sta.z textcolor.color jsr textcolor - // [321] phi from main::@45 to main::@158 [phi:main::@45->main::@158] - // main::@158 + // [322] phi from main::@45 to main::@161 [phi:main::@45->main::@161] + // main::@161 // sprintf(buffer, "the flashing of rom%u went perfectly ok. press a key ...", flash_chip) - // [322] call snprintf_init + // [323] call snprintf_init jsr snprintf_init - // [323] phi from main::@158 to main::@159 [phi:main::@158->main::@159] - // main::@159 + // [324] phi from main::@161 to main::@162 [phi:main::@161->main::@162] + // main::@162 // sprintf(buffer, "the flashing of rom%u went perfectly ok. press a key ...", flash_chip) - // [324] call printf_str - // [750] phi from main::@159 to printf_str [phi:main::@159->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@159->printf_str#0] -- pprz1=pprc1 + // [325] call printf_str + // [757] phi from main::@162 to printf_str [phi:main::@162->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@162->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s17 [phi:main::@159->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s17 [phi:main::@162->printf_str#1] -- pbuz1=pbuc1 lda #s17 sta.z printf_str.s+1 jsr printf_str - // main::@160 + // main::@163 // sprintf(buffer, "the flashing of rom%u went perfectly ok. press a key ...", flash_chip) - // [325] printf_uchar::uvalue#10 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [326] printf_uchar::uvalue#10 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z printf_uchar.uvalue - // [326] call printf_uchar - // [830] phi from main::@160 to printf_uchar [phi:main::@160->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@160->printf_uchar#0] -- vbuz1=vbuc1 + // [327] call printf_uchar + // [837] phi from main::@163 to printf_uchar [phi:main::@163->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@163->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 0 [phi:main::@160->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 0 [phi:main::@163->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &snputc [phi:main::@160->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &snputc [phi:main::@163->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@160->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = DECIMAL [phi:main::@163->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#10 [phi:main::@160->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#10 [phi:main::@163->printf_uchar#4] -- register_copy jsr printf_uchar - // [327] phi from main::@160 to main::@161 [phi:main::@160->main::@161] - // main::@161 + // [328] phi from main::@163 to main::@164 [phi:main::@163->main::@164] + // main::@164 // sprintf(buffer, "the flashing of rom%u went perfectly ok. press a key ...", flash_chip) - // [328] call printf_str - // [750] phi from main::@161 to printf_str [phi:main::@161->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@161->printf_str#0] -- pprz1=pprc1 + // [329] call printf_str + // [757] phi from main::@164 to printf_str [phi:main::@164->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@164->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s18 [phi:main::@161->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s18 [phi:main::@164->printf_str#1] -- pbuz1=pbuc1 lda #s18 sta.z printf_str.s+1 jsr printf_str - // main::@162 + // main::@165 // sprintf(buffer, "the flashing of rom%u went perfectly ok. press a key ...", flash_chip) - // [329] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [330] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [330] callexecute snputc -- call_vprc1 + // [331] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // print_text(buffer) - // [332] call print_text - // [794] phi from main::@162 to print_text [phi:main::@162->print_text] + // [333] call print_text + // [801] phi from main::@165 to print_text [phi:main::@165->print_text] jsr print_text - // main::@163 + // main::@166 // print_chip_led(flash_chip, GREEN, BLUE) - // [333] print_chip_led::r#8 = main::flash_chip#10 -- vbuz1=vbum2 - lda flash_chip + // [334] print_chip_led::r#8 = main::flash_chip#10 -- vbuz1=vbuz2 + lda.z flash_chip sta.z print_chip_led.r - // [334] call print_chip_led - // [878] phi from main::@163 to print_chip_led [phi:main::@163->print_chip_led] - // [878] phi print_chip_led::tc#10 = GREEN [phi:main::@163->print_chip_led#0] -- vbuz1=vbuc1 + // [335] call print_chip_led + // [885] phi from main::@166 to print_chip_led [phi:main::@166->print_chip_led] + // [885] phi print_chip_led::tc#10 = GREEN [phi:main::@166->print_chip_led#0] -- vbuz1=vbuc1 lda #GREEN sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#8 [phi:main::@163->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#8 [phi:main::@166->print_chip_led#1] -- register_copy jsr print_chip_led jmp __b18 // main::@30 __b30: // unsigned int equal_bytes = flash_verify(read_ram_bank_sector, (ram_ptr_t)read_ram_address_sector, flash_rom_address_sector, ROM_SECTOR) - // [335] flash_verify::bank_ram#1 = main::read_ram_bank_sector#13 -- vbuz1=vbuz2 + // [336] flash_verify::bank_ram#1 = main::read_ram_bank_sector#13 -- vbuz1=vbuz2 lda.z read_ram_bank_sector sta.z flash_verify.bank_ram - // [336] flash_verify::ptr_ram#2 = main::read_ram_address_sector#10 -- pbuz1=pbuz2 + // [337] flash_verify::ptr_ram#2 = main::read_ram_address_sector#10 -- pbuz1=pbuz2 lda.z read_ram_address_sector sta.z flash_verify.ptr_ram lda.z read_ram_address_sector+1 sta.z flash_verify.ptr_ram+1 - // [337] flash_verify::verify_rom_address#1 = main::flash_rom_address_sector#11 -- vduz1=vduz2 + // [338] flash_verify::verify_rom_address#1 = main::flash_rom_address_sector#11 -- vduz1=vduz2 lda.z flash_rom_address_sector sta.z flash_verify.verify_rom_address lda.z flash_rom_address_sector+1 @@ -2185,24 +2224,24 @@ main: { sta.z flash_verify.verify_rom_address+2 lda.z flash_rom_address_sector+3 sta.z flash_verify.verify_rom_address+3 - // [338] call flash_verify + // [339] call flash_verify // rom_sector_erase(flash_rom_address_sector); - // [1010] phi from main::@30 to flash_verify [phi:main::@30->flash_verify] - // [1010] phi flash_verify::ptr_ram#10 = flash_verify::ptr_ram#2 [phi:main::@30->flash_verify#0] -- register_copy - // [1010] phi flash_verify::verify_rom_size#11 = $1000 [phi:main::@30->flash_verify#1] -- vwuz1=vwuc1 + // [1011] phi from main::@30 to flash_verify [phi:main::@30->flash_verify] + // [1011] phi flash_verify::ptr_ram#10 = flash_verify::ptr_ram#2 [phi:main::@30->flash_verify#0] -- register_copy + // [1011] phi flash_verify::verify_rom_size#11 = $1000 [phi:main::@30->flash_verify#1] -- vwuz1=vwuc1 lda #<$1000 sta.z flash_verify.verify_rom_size lda #>$1000 sta.z flash_verify.verify_rom_size+1 - // [1010] phi flash_verify::verify_rom_address#3 = flash_verify::verify_rom_address#1 [phi:main::@30->flash_verify#2] -- register_copy - // [1010] phi flash_verify::bank_set_bram1_bank#0 = flash_verify::bank_ram#1 [phi:main::@30->flash_verify#3] -- register_copy + // [1011] phi flash_verify::verify_rom_address#3 = flash_verify::verify_rom_address#1 [phi:main::@30->flash_verify#2] -- register_copy + // [1011] phi flash_verify::bank_set_bram1_bank#0 = flash_verify::bank_ram#1 [phi:main::@30->flash_verify#3] -- register_copy jsr flash_verify // unsigned int equal_bytes = flash_verify(read_ram_bank_sector, (ram_ptr_t)read_ram_address_sector, flash_rom_address_sector, ROM_SECTOR) - // [339] flash_verify::return#3 = flash_verify::correct_bytes#2 - // main::@144 - // [340] main::equal_bytes1#0 = flash_verify::return#3 + // [340] flash_verify::return#3 = flash_verify::correct_bytes#2 + // main::@147 + // [341] main::equal_bytes1#0 = flash_verify::return#3 // if (equal_bytes != ROM_SECTOR) - // [341] if(main::equal_bytes1#0!=$1000) goto main::@32 -- vwuz1_neq_vwuc1_then_la1 + // [342] if(main::equal_bytes1#0!=$1000) goto main::@32 -- vwuz1_neq_vwuc1_then_la1 lda.z equal_bytes1+1 cmp #>$1000 beq !__b8+ @@ -2213,50 +2252,50 @@ main: { beq !__b8+ jmp __b8 !__b8: - // [342] phi from main::@144 to main::@41 [phi:main::@144->main::@41] + // [343] phi from main::@147 to main::@41 [phi:main::@147->main::@41] // main::@41 // textcolor(WHITE) - // [343] call textcolor - // [504] phi from main::@41 to textcolor [phi:main::@41->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:main::@41->textcolor#0] -- vbuz1=vbuc1 + // [344] call textcolor + // [511] phi from main::@41 to textcolor [phi:main::@41->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:main::@41->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // main::@146 + // main::@149 // gotoxy(x_sector, y_sector) - // [344] gotoxy::x#21 = main::x_sector1#10 -- vbuz1=vbuz2 + // [345] gotoxy::x#21 = main::x_sector1#10 -- vbuz1=vbuz2 lda.z x_sector1 sta.z gotoxy.x - // [345] gotoxy::y#21 = main::y_sector1#13 -- vbuz1=vbuz2 + // [346] gotoxy::y#21 = main::y_sector1#13 -- vbuz1=vbuz2 lda.z y_sector1 sta.z gotoxy.y - // [346] call gotoxy - // [522] phi from main::@146 to gotoxy [phi:main::@146->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#21 [phi:main::@146->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = gotoxy::x#21 [phi:main::@146->gotoxy#1] -- register_copy + // [347] call gotoxy + // [529] phi from main::@149 to gotoxy [phi:main::@149->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#21 [phi:main::@149->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#21 [phi:main::@149->gotoxy#1] -- register_copy jsr gotoxy - // [347] phi from main::@146 to main::@147 [phi:main::@146->main::@147] - // main::@147 + // [348] phi from main::@149 to main::@150 [phi:main::@149->main::@150] + // main::@150 // printf("%s", pattern) - // [348] call printf_string - // [923] phi from main::@147 to printf_string [phi:main::@147->printf_string] - // [923] phi printf_string::str#10 = main::pattern1#1 [phi:main::@147->printf_string#0] -- pbuz1=pbuc1 + // [349] call printf_string + // [930] phi from main::@150 to printf_string [phi:main::@150->printf_string] + // [930] phi printf_string::str#10 = main::pattern1#1 [phi:main::@150->printf_string#0] -- pbuz1=pbuc1 lda #pattern1_1 sta.z printf_string.str+1 - // [923] phi printf_string::format_justify_left#10 = 0 [phi:main::@147->printf_string#1] -- vbuz1=vbuc1 + // [930] phi printf_string::format_justify_left#10 = 0 [phi:main::@150->printf_string#1] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [923] phi printf_string::format_min_length#7 = 0 [phi:main::@147->printf_string#2] -- vbuz1=vbuc1 + // [930] phi printf_string::format_min_length#7 = 0 [phi:main::@150->printf_string#2] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // [349] phi from main::@147 main::@38 to main::@31 [phi:main::@147/main::@38->main::@31] - // [349] phi main::flash_errors_sector#19 = main::flash_errors_sector#10 [phi:main::@147/main::@38->main::@31#0] -- register_copy + // [350] phi from main::@150 main::@38 to main::@31 [phi:main::@150/main::@38->main::@31] + // [350] phi main::flash_errors_sector#19 = main::flash_errors_sector#10 [phi:main::@150/main::@38->main::@31#0] -- register_copy // main::@31 __b31: // read_ram_address_sector += ROM_SECTOR - // [350] main::read_ram_address_sector#2 = main::read_ram_address_sector#10 + $1000 -- pbuz1=pbuz1_plus_vwuc1 + // [351] main::read_ram_address_sector#2 = main::read_ram_address_sector#10 + $1000 -- pbuz1=pbuz1_plus_vwuc1 lda.z read_ram_address_sector clc adc #<$1000 @@ -2265,7 +2304,7 @@ main: { adc #>$1000 sta.z read_ram_address_sector+1 // flash_rom_address_sector += ROM_SECTOR - // [351] main::flash_rom_address_sector#10 = main::flash_rom_address_sector#11 + $1000 -- vduz1=vduz1_plus_vwuc1 + // [352] main::flash_rom_address_sector#10 = main::flash_rom_address_sector#11 + $1000 -- vduz1=vduz1_plus_vwuc1 clc lda.z flash_rom_address_sector adc #<$1000 @@ -2280,31 +2319,31 @@ main: { adc #0 sta.z flash_rom_address_sector+3 // if (read_ram_address_sector == 0x8000) - // [352] if(main::read_ram_address_sector#2!=$8000) goto main::@179 -- pbuz1_neq_vwuc1_then_la1 + // [353] if(main::read_ram_address_sector#2!=$8000) goto main::@182 -- pbuz1_neq_vwuc1_then_la1 lda.z read_ram_address_sector+1 cmp #>$8000 bne __b39 lda.z read_ram_address_sector cmp #<$8000 bne __b39 - // [354] phi from main::@31 to main::@39 [phi:main::@31->main::@39] - // [354] phi main::read_ram_bank_sector#6 = 1 [phi:main::@31->main::@39#0] -- vbuz1=vbuc1 + // [355] phi from main::@31 to main::@39 [phi:main::@31->main::@39] + // [355] phi main::read_ram_bank_sector#6 = 1 [phi:main::@31->main::@39#0] -- vbuz1=vbuc1 lda #1 sta.z read_ram_bank_sector - // [354] phi main::read_ram_address_sector#8 = (char *) 40960 [phi:main::@31->main::@39#1] -- pbuz1=pbuc1 + // [355] phi main::read_ram_address_sector#8 = (char *) 40960 [phi:main::@31->main::@39#1] -- pbuz1=pbuc1 lda #<$a000 sta.z read_ram_address_sector lda #>$a000 sta.z read_ram_address_sector+1 - // [353] phi from main::@31 to main::@179 [phi:main::@31->main::@179] - // main::@179 - // [354] phi from main::@179 to main::@39 [phi:main::@179->main::@39] - // [354] phi main::read_ram_bank_sector#6 = main::read_ram_bank_sector#13 [phi:main::@179->main::@39#0] -- register_copy - // [354] phi main::read_ram_address_sector#8 = main::read_ram_address_sector#2 [phi:main::@179->main::@39#1] -- register_copy + // [354] phi from main::@31 to main::@182 [phi:main::@31->main::@182] + // main::@182 + // [355] phi from main::@182 to main::@39 [phi:main::@182->main::@39] + // [355] phi main::read_ram_bank_sector#6 = main::read_ram_bank_sector#13 [phi:main::@182->main::@39#0] -- register_copy + // [355] phi main::read_ram_address_sector#8 = main::read_ram_address_sector#2 [phi:main::@182->main::@39#1] -- register_copy // main::@39 __b39: // if (read_ram_address_sector == 0xC000) - // [355] if(main::read_ram_address_sector#8!=$c000) goto main::@40 -- pbuz1_neq_vwuc1_then_la1 + // [356] if(main::read_ram_address_sector#8!=$c000) goto main::@40 -- pbuz1_neq_vwuc1_then_la1 lda.z read_ram_address_sector+1 cmp #>$c000 bne __b40 @@ -2313,28 +2352,28 @@ main: { bne __b40 // main::@42 // read_ram_bank_sector++; - // [356] main::read_ram_bank_sector#3 = ++ main::read_ram_bank_sector#6 -- vbuz1=_inc_vbuz1 + // [357] main::read_ram_bank_sector#3 = ++ main::read_ram_bank_sector#6 -- vbuz1=_inc_vbuz1 inc.z read_ram_bank_sector - // [357] phi from main::@42 to main::@40 [phi:main::@42->main::@40] - // [357] phi main::read_ram_address_sector#14 = (char *) 40960 [phi:main::@42->main::@40#0] -- pbuz1=pbuc1 + // [358] phi from main::@42 to main::@40 [phi:main::@42->main::@40] + // [358] phi main::read_ram_address_sector#14 = (char *) 40960 [phi:main::@42->main::@40#0] -- pbuz1=pbuc1 lda #<$a000 sta.z read_ram_address_sector lda #>$a000 sta.z read_ram_address_sector+1 - // [357] phi main::read_ram_bank_sector#11 = main::read_ram_bank_sector#3 [phi:main::@42->main::@40#1] -- register_copy - // [357] phi from main::@39 to main::@40 [phi:main::@39->main::@40] - // [357] phi main::read_ram_address_sector#14 = main::read_ram_address_sector#8 [phi:main::@39->main::@40#0] -- register_copy - // [357] phi main::read_ram_bank_sector#11 = main::read_ram_bank_sector#6 [phi:main::@39->main::@40#1] -- register_copy + // [358] phi main::read_ram_bank_sector#11 = main::read_ram_bank_sector#3 [phi:main::@42->main::@40#1] -- register_copy + // [358] phi from main::@39 to main::@40 [phi:main::@39->main::@40] + // [358] phi main::read_ram_address_sector#14 = main::read_ram_address_sector#8 [phi:main::@39->main::@40#0] -- register_copy + // [358] phi main::read_ram_bank_sector#11 = main::read_ram_bank_sector#6 [phi:main::@39->main::@40#1] -- register_copy // main::@40 __b40: // x_sector += 16 - // [358] main::x_sector1#1 = main::x_sector1#10 + $10 -- vbuz1=vbuz1_plus_vbuc1 + // [359] main::x_sector1#1 = main::x_sector1#10 + $10 -- vbuz1=vbuz1_plus_vbuc1 lda #$10 clc adc.z x_sector1 sta.z x_sector1 // flash_rom_address_sector % 0x4000 - // [359] main::$137 = main::flash_rom_address_sector#10 & $4000-1 -- vduz1=vduz2_band_vduc1 + // [360] main::$137 = main::flash_rom_address_sector#10 & $4000-1 -- vduz1=vduz2_band_vduc1 lda.z flash_rom_address_sector and #<$4000-1 sta.z __137 @@ -2348,7 +2387,7 @@ main: { and #>$4000-1>>$10 sta.z __137+3 // if (!(flash_rom_address_sector % 0x4000)) - // [360] if(0!=main::$137) goto main::@29 -- 0_neq_vduz1_then_la1 + // [361] if(0!=main::$137) goto main::@29 -- 0_neq_vduz1_then_la1 lda.z __137 ora.z __137+1 ora.z __137+2 @@ -2358,32 +2397,32 @@ main: { !__b29: // main::@43 // y_sector++; - // [361] main::y_sector1#1 = ++ main::y_sector1#13 -- vbuz1=_inc_vbuz1 + // [362] main::y_sector1#1 = ++ main::y_sector1#13 -- vbuz1=_inc_vbuz1 inc.z y_sector1 - // [293] phi from main::@43 to main::@29 [phi:main::@43->main::@29] - // [293] phi main::flash_errors_sector#10 = main::flash_errors_sector#19 [phi:main::@43->main::@29#0] -- register_copy - // [293] phi main::y_sector1#13 = main::y_sector1#1 [phi:main::@43->main::@29#1] -- register_copy - // [293] phi main::x_sector1#10 = $e [phi:main::@43->main::@29#2] -- vbuz1=vbuc1 + // [294] phi from main::@43 to main::@29 [phi:main::@43->main::@29] + // [294] phi main::flash_errors_sector#10 = main::flash_errors_sector#19 [phi:main::@43->main::@29#0] -- register_copy + // [294] phi main::y_sector1#13 = main::y_sector1#1 [phi:main::@43->main::@29#1] -- register_copy + // [294] phi main::x_sector1#10 = $e [phi:main::@43->main::@29#2] -- vbuz1=vbuc1 lda #$e sta.z x_sector1 - // [293] phi main::read_ram_address_sector#10 = main::read_ram_address_sector#14 [phi:main::@43->main::@29#3] -- register_copy - // [293] phi main::read_ram_bank_sector#13 = main::read_ram_bank_sector#11 [phi:main::@43->main::@29#4] -- register_copy - // [293] phi main::flash_rom_address_sector#11 = main::flash_rom_address_sector#10 [phi:main::@43->main::@29#5] -- register_copy + // [294] phi main::read_ram_address_sector#10 = main::read_ram_address_sector#14 [phi:main::@43->main::@29#3] -- register_copy + // [294] phi main::read_ram_bank_sector#13 = main::read_ram_bank_sector#11 [phi:main::@43->main::@29#4] -- register_copy + // [294] phi main::flash_rom_address_sector#11 = main::flash_rom_address_sector#10 [phi:main::@43->main::@29#5] -- register_copy jmp __b29 - // [362] phi from main::@144 to main::@32 [phi:main::@144->main::@32] + // [363] phi from main::@147 to main::@32 [phi:main::@147->main::@32] __b8: - // [362] phi main::flash_errors#10 = 0 [phi:main::@144->main::@32#0] -- vbuz1=vbuc1 + // [363] phi main::flash_errors#10 = 0 [phi:main::@147->main::@32#0] -- vbuz1=vbuc1 lda #0 sta.z flash_errors - // [362] phi main::retries#10 = 0 [phi:main::@144->main::@32#1] -- vbuz1=vbuc1 + // [363] phi main::retries#10 = 0 [phi:main::@147->main::@32#1] -- vbuz1=vbuc1 sta.z retries - // [362] phi from main::@177 to main::@32 [phi:main::@177->main::@32] - // [362] phi main::flash_errors#10 = main::flash_errors#11 [phi:main::@177->main::@32#0] -- register_copy - // [362] phi main::retries#10 = main::retries#1 [phi:main::@177->main::@32#1] -- register_copy + // [363] phi from main::@180 to main::@32 [phi:main::@180->main::@32] + // [363] phi main::flash_errors#10 = main::flash_errors#11 [phi:main::@180->main::@32#0] -- register_copy + // [363] phi main::retries#10 = main::retries#1 [phi:main::@180->main::@32#1] -- register_copy // main::@32 __b32: // rom_sector_erase(flash_rom_address_sector) - // [363] rom_sector_erase::address#0 = main::flash_rom_address_sector#11 -- vduz1=vduz2 + // [364] rom_sector_erase::address#0 = main::flash_rom_address_sector#11 -- vduz1=vduz2 lda.z flash_rom_address_sector sta.z rom_sector_erase.address lda.z flash_rom_address_sector+1 @@ -2392,11 +2431,12 @@ main: { sta.z rom_sector_erase.address+2 lda.z flash_rom_address_sector+3 sta.z rom_sector_erase.address+3 - // [364] call rom_sector_erase + // [365] call rom_sector_erase + // [1038] phi from main::@32 to rom_sector_erase [phi:main::@32->rom_sector_erase] jsr rom_sector_erase - // main::@148 + // main::@151 // unsigned long flash_rom_address_boundary = flash_rom_address_sector + ROM_SECTOR - // [365] main::flash_rom_address_boundary1#0 = main::flash_rom_address_sector#11 + $1000 -- vduz1=vduz2_plus_vwuc1 + // [366] main::flash_rom_address_boundary1#0 = main::flash_rom_address_sector#11 + $1000 -- vduz1=vduz2_plus_vwuc1 clc lda.z flash_rom_address_sector adc #<$1000 @@ -2411,44 +2451,44 @@ main: { adc #0 sta.z flash_rom_address_boundary1+3 // gotoxy(x, y) - // [366] gotoxy::x#22 = main::x_sector1#10 -- vbuz1=vbuz2 + // [367] gotoxy::x#22 = main::x_sector1#10 -- vbuz1=vbuz2 lda.z x_sector1 sta.z gotoxy.x - // [367] gotoxy::y#22 = main::y_sector1#13 -- vbuz1=vbuz2 + // [368] gotoxy::y#22 = main::y_sector1#13 -- vbuz1=vbuz2 lda.z y_sector1 sta.z gotoxy.y - // [368] call gotoxy - // [522] phi from main::@148 to gotoxy [phi:main::@148->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#22 [phi:main::@148->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = gotoxy::x#22 [phi:main::@148->gotoxy#1] -- register_copy + // [369] call gotoxy + // [529] phi from main::@151 to gotoxy [phi:main::@151->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#22 [phi:main::@151->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#22 [phi:main::@151->gotoxy#1] -- register_copy jsr gotoxy - // [369] phi from main::@148 to main::@149 [phi:main::@148->main::@149] - // main::@149 + // [370] phi from main::@151 to main::@152 [phi:main::@151->main::@152] + // main::@152 // printf("................") - // [370] call printf_str - // [750] phi from main::@149 to printf_str [phi:main::@149->printf_str] - // [750] phi printf_str::putc#33 = &cputc [phi:main::@149->printf_str#0] -- pprz1=pprc1 + // [371] call printf_str + // [757] phi from main::@152 to printf_str [phi:main::@152->printf_str] + // [757] phi printf_str::putc#33 = &cputc [phi:main::@152->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s16 [phi:main::@149->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s16 [phi:main::@152->printf_str#1] -- pbuz1=pbuc1 lda #s16 sta.z printf_str.s+1 jsr printf_str - // main::@150 + // main::@153 // print_address(read_ram_bank, read_ram_address, flash_rom_address) - // [371] print_address::bram_bank#1 = main::read_ram_bank_sector#13 -- vbuz1=vbuz2 + // [372] print_address::bram_bank#1 = main::read_ram_bank_sector#13 -- vbuz1=vbuz2 lda.z read_ram_bank_sector sta.z print_address.bram_bank - // [372] print_address::bram_ptr#1 = main::read_ram_address_sector#10 -- pbuz1=pbuz2 + // [373] print_address::bram_ptr#1 = main::read_ram_address_sector#10 -- pbuz1=pbuz2 lda.z read_ram_address_sector sta.z print_address.bram_ptr lda.z read_ram_address_sector+1 sta.z print_address.bram_ptr+1 - // [373] print_address::brom_address#1 = main::flash_rom_address_sector#11 -- vduz1=vduz2 + // [374] print_address::brom_address#1 = main::flash_rom_address_sector#11 -- vduz1=vduz2 lda.z flash_rom_address_sector sta.z print_address.brom_address lda.z flash_rom_address_sector+1 @@ -2457,14 +2497,14 @@ main: { sta.z print_address.brom_address+2 lda.z flash_rom_address_sector+3 sta.z print_address.brom_address+3 - // [374] call print_address - // [1046] phi from main::@150 to print_address [phi:main::@150->print_address] - // [1046] phi print_address::bram_ptr#10 = print_address::bram_ptr#1 [phi:main::@150->print_address#0] -- register_copy - // [1046] phi print_address::bram_bank#3 = print_address::bram_bank#1 [phi:main::@150->print_address#1] -- register_copy - // [1046] phi print_address::brom_address#10 = print_address::brom_address#1 [phi:main::@150->print_address#2] -- register_copy + // [375] call print_address + // [1050] phi from main::@153 to print_address [phi:main::@153->print_address] + // [1050] phi print_address::bram_ptr#10 = print_address::bram_ptr#1 [phi:main::@153->print_address#0] -- register_copy + // [1050] phi print_address::bram_bank#10 = print_address::bram_bank#1 [phi:main::@153->print_address#1] -- register_copy + // [1050] phi print_address::brom_address#10 = print_address::brom_address#1 [phi:main::@153->print_address#2] -- register_copy jsr print_address - // main::@151 - // [375] main::flash_rom_address2#16 = main::flash_rom_address_sector#11 -- vduz1=vduz2 + // main::@154 + // [376] main::flash_rom_address2#16 = main::flash_rom_address_sector#11 -- vduz1=vduz2 lda.z flash_rom_address_sector sta.z flash_rom_address2 lda.z flash_rom_address_sector+1 @@ -2473,23 +2513,23 @@ main: { sta.z flash_rom_address2+2 lda.z flash_rom_address_sector+3 sta.z flash_rom_address2+3 - // [376] main::read_ram_address1#16 = main::read_ram_address_sector#10 -- pbuz1=pbuz2 + // [377] main::read_ram_address1#16 = main::read_ram_address_sector#10 -- pbuz1=pbuz2 lda.z read_ram_address_sector sta.z read_ram_address1 lda.z read_ram_address_sector+1 sta.z read_ram_address1+1 - // [377] main::x1#16 = main::x_sector1#10 -- vbuz1=vbuz2 + // [378] main::x1#16 = main::x_sector1#10 -- vbuz1=vbuz2 lda.z x_sector1 sta.z x1 - // [378] phi from main::@151 main::@157 to main::@33 [phi:main::@151/main::@157->main::@33] - // [378] phi main::x1#10 = main::x1#16 [phi:main::@151/main::@157->main::@33#0] -- register_copy - // [378] phi main::flash_errors#11 = main::flash_errors#10 [phi:main::@151/main::@157->main::@33#1] -- register_copy - // [378] phi main::read_ram_address1#10 = main::read_ram_address1#16 [phi:main::@151/main::@157->main::@33#2] -- register_copy - // [378] phi main::flash_rom_address2#11 = main::flash_rom_address2#16 [phi:main::@151/main::@157->main::@33#3] -- register_copy + // [379] phi from main::@154 main::@160 to main::@33 [phi:main::@154/main::@160->main::@33] + // [379] phi main::x1#10 = main::x1#16 [phi:main::@154/main::@160->main::@33#0] -- register_copy + // [379] phi main::flash_errors#11 = main::flash_errors#10 [phi:main::@154/main::@160->main::@33#1] -- register_copy + // [379] phi main::read_ram_address1#10 = main::read_ram_address1#16 [phi:main::@154/main::@160->main::@33#2] -- register_copy + // [379] phi main::flash_rom_address2#11 = main::flash_rom_address2#16 [phi:main::@154/main::@160->main::@33#3] -- register_copy // main::@33 __b33: // while (flash_rom_address < flash_rom_address_boundary) - // [379] if(main::flash_rom_address2#11print_address] - // [1046] phi print_address::bram_ptr#10 = print_address::bram_ptr#2 [phi:main::@34->print_address#0] -- register_copy - // [1046] phi print_address::bram_bank#3 = print_address::bram_bank#2 [phi:main::@34->print_address#1] -- register_copy - // [1046] phi print_address::brom_address#10 = print_address::brom_address#2 [phi:main::@34->print_address#2] -- register_copy + // [388] call print_address + // [1050] phi from main::@34 to print_address [phi:main::@34->print_address] + // [1050] phi print_address::bram_ptr#10 = print_address::bram_ptr#2 [phi:main::@34->print_address#0] -- register_copy + // [1050] phi print_address::bram_bank#10 = print_address::bram_bank#2 [phi:main::@34->print_address#1] -- register_copy + // [1050] phi print_address::brom_address#10 = print_address::brom_address#2 [phi:main::@34->print_address#2] -- register_copy jsr print_address - // main::@152 + // main::@155 // unsigned long written_bytes = flash_write(read_ram_bank, (ram_ptr_t)read_ram_address, flash_rom_address) - // [388] flash_write::flash_ram_bank#0 = main::read_ram_bank_sector#13 -- vbuz1=vbuz2 + // [389] flash_write::flash_ram_bank#0 = main::read_ram_bank_sector#13 -- vbuz1=vbuz2 lda.z read_ram_bank_sector sta.z flash_write.flash_ram_bank - // [389] flash_write::flash_ram_address#1 = main::read_ram_address1#10 -- pbuz1=pbuz2 + // [390] flash_write::flash_ram_address#1 = main::read_ram_address1#10 -- pbuz1=pbuz2 lda.z read_ram_address1 sta.z flash_write.flash_ram_address lda.z read_ram_address1+1 sta.z flash_write.flash_ram_address+1 - // [390] flash_write::flash_rom_address#1 = main::flash_rom_address2#11 -- vduz1=vduz2 + // [391] flash_write::flash_rom_address#1 = main::flash_rom_address2#11 -- vduz1=vduz2 lda.z flash_rom_address2 sta.z flash_write.flash_rom_address lda.z flash_rom_address2+1 @@ -2578,19 +2618,19 @@ main: { sta.z flash_write.flash_rom_address+2 lda.z flash_rom_address2+3 sta.z flash_write.flash_rom_address+3 - // [391] call flash_write + // [392] call flash_write jsr flash_write - // main::@153 + // main::@156 // flash_verify(read_ram_bank, (ram_ptr_t)read_ram_address, flash_rom_address, 0x0100) - // [392] flash_verify::bank_ram#2 = main::read_ram_bank_sector#13 -- vbuz1=vbuz2 + // [393] flash_verify::bank_ram#2 = main::read_ram_bank_sector#13 -- vbuz1=vbuz2 lda.z read_ram_bank_sector sta.z flash_verify.bank_ram - // [393] flash_verify::ptr_ram#3 = main::read_ram_address1#10 -- pbuz1=pbuz2 + // [394] flash_verify::ptr_ram#3 = main::read_ram_address1#10 -- pbuz1=pbuz2 lda.z read_ram_address1 sta.z flash_verify.ptr_ram lda.z read_ram_address1+1 sta.z flash_verify.ptr_ram+1 - // [394] flash_verify::verify_rom_address#2 = main::flash_rom_address2#11 -- vduz1=vduz2 + // [395] flash_verify::verify_rom_address#2 = main::flash_rom_address2#11 -- vduz1=vduz2 lda.z flash_rom_address2 sta.z flash_verify.verify_rom_address lda.z flash_rom_address2+1 @@ -2599,33 +2639,33 @@ main: { sta.z flash_verify.verify_rom_address+2 lda.z flash_rom_address2+3 sta.z flash_verify.verify_rom_address+3 - // [395] call flash_verify - // [1010] phi from main::@153 to flash_verify [phi:main::@153->flash_verify] - // [1010] phi flash_verify::ptr_ram#10 = flash_verify::ptr_ram#3 [phi:main::@153->flash_verify#0] -- register_copy - // [1010] phi flash_verify::verify_rom_size#11 = $100 [phi:main::@153->flash_verify#1] -- vwuz1=vwuc1 + // [396] call flash_verify + // [1011] phi from main::@156 to flash_verify [phi:main::@156->flash_verify] + // [1011] phi flash_verify::ptr_ram#10 = flash_verify::ptr_ram#3 [phi:main::@156->flash_verify#0] -- register_copy + // [1011] phi flash_verify::verify_rom_size#11 = $100 [phi:main::@156->flash_verify#1] -- vwuz1=vwuc1 lda #<$100 sta.z flash_verify.verify_rom_size lda #>$100 sta.z flash_verify.verify_rom_size+1 - // [1010] phi flash_verify::verify_rom_address#3 = flash_verify::verify_rom_address#2 [phi:main::@153->flash_verify#2] -- register_copy - // [1010] phi flash_verify::bank_set_bram1_bank#0 = flash_verify::bank_ram#2 [phi:main::@153->flash_verify#3] -- register_copy + // [1011] phi flash_verify::verify_rom_address#3 = flash_verify::verify_rom_address#2 [phi:main::@156->flash_verify#2] -- register_copy + // [1011] phi flash_verify::bank_set_bram1_bank#0 = flash_verify::bank_ram#2 [phi:main::@156->flash_verify#3] -- register_copy jsr flash_verify // flash_verify(read_ram_bank, (ram_ptr_t)read_ram_address, flash_rom_address, 0x0100) - // [396] flash_verify::return#4 = flash_verify::correct_bytes#2 - // main::@154 + // [397] flash_verify::return#4 = flash_verify::correct_bytes#2 + // main::@157 // equal_bytes = flash_verify(read_ram_bank, (ram_ptr_t)read_ram_address, flash_rom_address, 0x0100) - // [397] main::equal_bytes1#1 = flash_verify::return#4 + // [398] main::equal_bytes1#1 = flash_verify::return#4 // if (equal_bytes != 0x0100) - // [398] if(main::equal_bytes1#1!=$100) goto main::@36 -- vwuz1_neq_vwuc1_then_la1 + // [399] if(main::equal_bytes1#1!=$100) goto main::@36 -- vwuz1_neq_vwuc1_then_la1 lda.z equal_bytes1+1 cmp #>$100 bne __b36 lda.z equal_bytes1 cmp #<$100 bne __b36 - // [400] phi from main::@154 to main::@37 [phi:main::@154->main::@37] - // [400] phi main::flash_errors#12 = main::flash_errors#11 [phi:main::@154->main::@37#0] -- register_copy - // [400] phi main::pattern1#5 = main::pattern1#3 [phi:main::@154->main::@37#1] -- pbuz1=pbuc1 + // [401] phi from main::@157 to main::@37 [phi:main::@157->main::@37] + // [401] phi main::flash_errors#12 = main::flash_errors#11 [phi:main::@157->main::@37#0] -- register_copy + // [401] phi main::pattern1#5 = main::pattern1#3 [phi:main::@157->main::@37#1] -- pbuz1=pbuc1 lda #pattern1_3 @@ -2634,11 +2674,11 @@ main: { // main::@36 __b36: // flash_errors++; - // [399] main::flash_errors#1 = ++ main::flash_errors#11 -- vbuz1=_inc_vbuz1 + // [400] main::flash_errors#1 = ++ main::flash_errors#11 -- vbuz1=_inc_vbuz1 inc.z flash_errors - // [400] phi from main::@36 to main::@37 [phi:main::@36->main::@37] - // [400] phi main::flash_errors#12 = main::flash_errors#1 [phi:main::@36->main::@37#0] -- register_copy - // [400] phi main::pattern1#5 = main::pattern1#2 [phi:main::@36->main::@37#1] -- pbuz1=pbuc1 + // [401] phi from main::@36 to main::@37 [phi:main::@36->main::@37] + // [401] phi main::flash_errors#12 = main::flash_errors#1 [phi:main::@36->main::@37#0] -- register_copy + // [401] phi main::pattern1#5 = main::pattern1#2 [phi:main::@36->main::@37#1] -- pbuz1=pbuc1 lda #pattern1_2 @@ -2646,7 +2686,7 @@ main: { // main::@37 __b37: // read_ram_address += 0x0100 - // [401] main::read_ram_address1#1 = main::read_ram_address1#10 + $100 -- pbuz1=pbuz1_plus_vwuc1 + // [402] main::read_ram_address1#1 = main::read_ram_address1#10 + $100 -- pbuz1=pbuz1_plus_vwuc1 lda.z read_ram_address1 clc adc #<$100 @@ -2655,7 +2695,7 @@ main: { adc #>$100 sta.z read_ram_address1+1 // flash_rom_address += 0x0100 - // [402] main::flash_rom_address2#1 = main::flash_rom_address2#11 + $100 -- vduz1=vduz1_plus_vwuc1 + // [403] main::flash_rom_address2#1 = main::flash_rom_address2#11 + $100 -- vduz1=vduz1_plus_vwuc1 clc lda.z flash_rom_address2 adc #<$100 @@ -2670,54 +2710,54 @@ main: { adc #0 sta.z flash_rom_address2+3 // textcolor(WHITE) - // [403] call textcolor - // [504] phi from main::@37 to textcolor [phi:main::@37->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:main::@37->textcolor#0] -- vbuz1=vbuc1 + // [404] call textcolor + // [511] phi from main::@37 to textcolor [phi:main::@37->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:main::@37->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // main::@155 + // main::@158 // gotoxy(x, y) - // [404] gotoxy::x#23 = main::x1#10 -- vbuz1=vbuz2 + // [405] gotoxy::x#23 = main::x1#10 -- vbuz1=vbuz2 lda.z x1 sta.z gotoxy.x - // [405] gotoxy::y#23 = main::y_sector1#13 -- vbuz1=vbuz2 + // [406] gotoxy::y#23 = main::y_sector1#13 -- vbuz1=vbuz2 lda.z y_sector1 sta.z gotoxy.y - // [406] call gotoxy - // [522] phi from main::@155 to gotoxy [phi:main::@155->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#23 [phi:main::@155->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = gotoxy::x#23 [phi:main::@155->gotoxy#1] -- register_copy + // [407] call gotoxy + // [529] phi from main::@158 to gotoxy [phi:main::@158->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#23 [phi:main::@158->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#23 [phi:main::@158->gotoxy#1] -- register_copy jsr gotoxy - // main::@156 + // main::@159 // printf("%s", pattern) - // [407] printf_string::str#6 = main::pattern1#5 - // [408] call printf_string - // [923] phi from main::@156 to printf_string [phi:main::@156->printf_string] - // [923] phi printf_string::str#10 = printf_string::str#6 [phi:main::@156->printf_string#0] -- register_copy - // [923] phi printf_string::format_justify_left#10 = 0 [phi:main::@156->printf_string#1] -- vbuz1=vbuc1 + // [408] printf_string::str#6 = main::pattern1#5 + // [409] call printf_string + // [930] phi from main::@159 to printf_string [phi:main::@159->printf_string] + // [930] phi printf_string::str#10 = printf_string::str#6 [phi:main::@159->printf_string#0] -- register_copy + // [930] phi printf_string::format_justify_left#10 = 0 [phi:main::@159->printf_string#1] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [923] phi printf_string::format_min_length#7 = 0 [phi:main::@156->printf_string#2] -- vbuz1=vbuc1 + // [930] phi printf_string::format_min_length#7 = 0 [phi:main::@159->printf_string#2] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // main::@157 + // main::@160 // x++; - // [409] main::x1#1 = ++ main::x1#10 -- vbuz1=_inc_vbuz1 + // [410] main::x1#1 = ++ main::x1#10 -- vbuz1=_inc_vbuz1 inc.z x1 jmp __b33 // main::@21 __b21: // unsigned int equal_bytes = flash_verify(read_ram_bank, (ram_ptr_t)read_ram_address, flash_rom_address, 0x0100) - // [410] flash_verify::bank_ram#0 = main::read_ram_bank#13 -- vbuz1=vbuz2 + // [411] flash_verify::bank_ram#0 = main::read_ram_bank#13 -- vbuz1=vbuz2 lda.z read_ram_bank sta.z flash_verify.bank_ram - // [411] flash_verify::ptr_ram#1 = main::read_ram_address#10 -- pbuz1=pbuz2 + // [412] flash_verify::ptr_ram#1 = main::read_ram_address#10 -- pbuz1=pbuz2 lda.z read_ram_address sta.z flash_verify.ptr_ram lda.z read_ram_address+1 sta.z flash_verify.ptr_ram+1 - // [412] flash_verify::verify_rom_address#0 = main::flash_rom_address1#13 -- vduz1=vduz2 + // [413] flash_verify::verify_rom_address#0 = main::flash_rom_address1#13 -- vduz1=vduz2 lda.z flash_rom_address1 sta.z flash_verify.verify_rom_address lda.z flash_rom_address1+1 @@ -2726,23 +2766,23 @@ main: { sta.z flash_verify.verify_rom_address+2 lda.z flash_rom_address1+3 sta.z flash_verify.verify_rom_address+3 - // [413] call flash_verify - // [1010] phi from main::@21 to flash_verify [phi:main::@21->flash_verify] - // [1010] phi flash_verify::ptr_ram#10 = flash_verify::ptr_ram#1 [phi:main::@21->flash_verify#0] -- register_copy - // [1010] phi flash_verify::verify_rom_size#11 = $100 [phi:main::@21->flash_verify#1] -- vwuz1=vwuc1 + // [414] call flash_verify + // [1011] phi from main::@21 to flash_verify [phi:main::@21->flash_verify] + // [1011] phi flash_verify::ptr_ram#10 = flash_verify::ptr_ram#1 [phi:main::@21->flash_verify#0] -- register_copy + // [1011] phi flash_verify::verify_rom_size#11 = $100 [phi:main::@21->flash_verify#1] -- vwuz1=vwuc1 lda #<$100 sta.z flash_verify.verify_rom_size lda #>$100 sta.z flash_verify.verify_rom_size+1 - // [1010] phi flash_verify::verify_rom_address#3 = flash_verify::verify_rom_address#0 [phi:main::@21->flash_verify#2] -- register_copy - // [1010] phi flash_verify::bank_set_bram1_bank#0 = flash_verify::bank_ram#0 [phi:main::@21->flash_verify#3] -- register_copy + // [1011] phi flash_verify::verify_rom_address#3 = flash_verify::verify_rom_address#0 [phi:main::@21->flash_verify#2] -- register_copy + // [1011] phi flash_verify::bank_set_bram1_bank#0 = flash_verify::bank_ram#0 [phi:main::@21->flash_verify#3] -- register_copy jsr flash_verify // unsigned int equal_bytes = flash_verify(read_ram_bank, (ram_ptr_t)read_ram_address, flash_rom_address, 0x0100) - // [414] flash_verify::return#2 = flash_verify::correct_bytes#2 - // main::@127 - // [415] main::equal_bytes#0 = flash_verify::return#2 + // [415] flash_verify::return#2 = flash_verify::correct_bytes#2 + // main::@130 + // [416] main::equal_bytes#0 = flash_verify::return#2 // if (equal_bytes != 0x0100) - // [416] if(main::equal_bytes#0!=$100) goto main::@23 -- vwuz1_neq_vwuc1_then_la1 + // [417] if(main::equal_bytes#0!=$100) goto main::@23 -- vwuz1_neq_vwuc1_then_la1 // unsigned long equal_bytes = 0x100; lda.z equal_bytes+1 cmp #>$100 @@ -2750,18 +2790,18 @@ main: { lda.z equal_bytes cmp #<$100 bne __b23 - // [418] phi from main::@127 to main::@24 [phi:main::@127->main::@24] - // [418] phi main::pattern#3 = main::pattern#2 [phi:main::@127->main::@24#0] -- pbuz1=pbuc1 + // [419] phi from main::@130 to main::@24 [phi:main::@130->main::@24] + // [419] phi main::pattern#3 = main::pattern#2 [phi:main::@130->main::@24#0] -- pbuz1=pbuc1 lda #pattern_2 sta.z pattern+1 jmp __b24 - // [417] phi from main::@127 to main::@23 [phi:main::@127->main::@23] + // [418] phi from main::@130 to main::@23 [phi:main::@130->main::@23] // main::@23 __b23: - // [418] phi from main::@23 to main::@24 [phi:main::@23->main::@24] - // [418] phi main::pattern#3 = main::pattern#1 [phi:main::@23->main::@24#0] -- pbuz1=pbuc1 + // [419] phi from main::@23 to main::@24 [phi:main::@23->main::@24] + // [419] phi main::pattern#3 = main::pattern#1 [phi:main::@23->main::@24#0] -- pbuz1=pbuc1 lda #pattern_1 @@ -2769,7 +2809,7 @@ main: { // main::@24 __b24: // read_ram_address += 0x0100 - // [419] main::read_ram_address#1 = main::read_ram_address#10 + $100 -- pbuz1=pbuz1_plus_vwuc1 + // [420] main::read_ram_address#1 = main::read_ram_address#10 + $100 -- pbuz1=pbuz1_plus_vwuc1 lda.z read_ram_address clc adc #<$100 @@ -2778,7 +2818,7 @@ main: { adc #>$100 sta.z read_ram_address+1 // flash_rom_address += 0x0100 - // [420] main::flash_rom_address1#1 = main::flash_rom_address1#13 + $100 -- vduz1=vduz1_plus_vwuc1 + // [421] main::flash_rom_address1#1 = main::flash_rom_address1#13 + $100 -- vduz1=vduz1_plus_vwuc1 clc lda.z flash_rom_address1 adc #<$100 @@ -2793,15 +2833,15 @@ main: { adc #0 sta.z flash_rom_address1+3 // print_address(read_ram_bank, read_ram_address, flash_rom_address) - // [421] print_address::bram_bank#0 = main::read_ram_bank#13 -- vbuz1=vbuz2 + // [422] print_address::bram_bank#0 = main::read_ram_bank#13 -- vbuz1=vbuz2 lda.z read_ram_bank sta.z print_address.bram_bank - // [422] print_address::bram_ptr#0 = main::read_ram_address#1 -- pbuz1=pbuz2 + // [423] print_address::bram_ptr#0 = main::read_ram_address#1 -- pbuz1=pbuz2 lda.z read_ram_address sta.z print_address.bram_ptr lda.z read_ram_address+1 sta.z print_address.bram_ptr+1 - // [423] print_address::brom_address#0 = main::flash_rom_address1#1 -- vduz1=vduz2 + // [424] print_address::brom_address#0 = main::flash_rom_address1#1 -- vduz1=vduz2 lda.z flash_rom_address1 sta.z print_address.brom_address lda.z flash_rom_address1+1 @@ -2810,80 +2850,80 @@ main: { sta.z print_address.brom_address+2 lda.z flash_rom_address1+3 sta.z print_address.brom_address+3 - // [424] call print_address - // [1046] phi from main::@24 to print_address [phi:main::@24->print_address] - // [1046] phi print_address::bram_ptr#10 = print_address::bram_ptr#0 [phi:main::@24->print_address#0] -- register_copy - // [1046] phi print_address::bram_bank#3 = print_address::bram_bank#0 [phi:main::@24->print_address#1] -- register_copy - // [1046] phi print_address::brom_address#10 = print_address::brom_address#0 [phi:main::@24->print_address#2] -- register_copy + // [425] call print_address + // [1050] phi from main::@24 to print_address [phi:main::@24->print_address] + // [1050] phi print_address::bram_ptr#10 = print_address::bram_ptr#0 [phi:main::@24->print_address#0] -- register_copy + // [1050] phi print_address::bram_bank#10 = print_address::bram_bank#0 [phi:main::@24->print_address#1] -- register_copy + // [1050] phi print_address::brom_address#10 = print_address::brom_address#0 [phi:main::@24->print_address#2] -- register_copy jsr print_address - // [425] phi from main::@24 to main::@140 [phi:main::@24->main::@140] - // main::@140 + // [426] phi from main::@24 to main::@143 [phi:main::@24->main::@143] + // main::@143 // textcolor(WHITE) - // [426] call textcolor - // [504] phi from main::@140 to textcolor [phi:main::@140->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:main::@140->textcolor#0] -- vbuz1=vbuc1 + // [427] call textcolor + // [511] phi from main::@143 to textcolor [phi:main::@143->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:main::@143->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // main::@141 + // main::@144 // gotoxy(x_sector, y_sector) - // [427] gotoxy::x#20 = main::x_sector#10 -- vbuz1=vbuz2 + // [428] gotoxy::x#20 = main::x_sector#10 -- vbuz1=vbuz2 lda.z x_sector sta.z gotoxy.x - // [428] gotoxy::y#20 = main::y_sector#10 -- vbuz1=vbuz2 + // [429] gotoxy::y#20 = main::y_sector#10 -- vbuz1=vbuz2 lda.z y_sector sta.z gotoxy.y - // [429] call gotoxy - // [522] phi from main::@141 to gotoxy [phi:main::@141->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#20 [phi:main::@141->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = gotoxy::x#20 [phi:main::@141->gotoxy#1] -- register_copy + // [430] call gotoxy + // [529] phi from main::@144 to gotoxy [phi:main::@144->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#20 [phi:main::@144->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#20 [phi:main::@144->gotoxy#1] -- register_copy jsr gotoxy - // main::@142 + // main::@145 // printf("%s", pattern) - // [430] printf_string::str#4 = main::pattern#3 -- pbuz1=pbuz2 + // [431] printf_string::str#4 = main::pattern#3 -- pbuz1=pbuz2 lda.z pattern sta.z printf_string.str lda.z pattern+1 sta.z printf_string.str+1 - // [431] call printf_string - // [923] phi from main::@142 to printf_string [phi:main::@142->printf_string] - // [923] phi printf_string::str#10 = printf_string::str#4 [phi:main::@142->printf_string#0] -- register_copy - // [923] phi printf_string::format_justify_left#10 = 0 [phi:main::@142->printf_string#1] -- vbuz1=vbuc1 + // [432] call printf_string + // [930] phi from main::@145 to printf_string [phi:main::@145->printf_string] + // [930] phi printf_string::str#10 = printf_string::str#4 [phi:main::@145->printf_string#0] -- register_copy + // [930] phi printf_string::format_justify_left#10 = 0 [phi:main::@145->printf_string#1] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [923] phi printf_string::format_min_length#7 = 0 [phi:main::@142->printf_string#2] -- vbuz1=vbuc1 + // [930] phi printf_string::format_min_length#7 = 0 [phi:main::@145->printf_string#2] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // main::@143 + // main::@146 // x_sector++; - // [432] main::x_sector#1 = ++ main::x_sector#10 -- vbuz1=_inc_vbuz1 + // [433] main::x_sector#1 = ++ main::x_sector#10 -- vbuz1=_inc_vbuz1 inc.z x_sector // if (read_ram_address == 0x8000) - // [433] if(main::read_ram_address#1!=$8000) goto main::@178 -- pbuz1_neq_vwuc1_then_la1 + // [434] if(main::read_ram_address#1!=$8000) goto main::@181 -- pbuz1_neq_vwuc1_then_la1 lda.z read_ram_address+1 cmp #>$8000 bne __b25 lda.z read_ram_address cmp #<$8000 bne __b25 - // [435] phi from main::@143 to main::@25 [phi:main::@143->main::@25] - // [435] phi main::read_ram_bank#5 = 1 [phi:main::@143->main::@25#0] -- vbuz1=vbuc1 + // [436] phi from main::@146 to main::@25 [phi:main::@146->main::@25] + // [436] phi main::read_ram_bank#5 = 1 [phi:main::@146->main::@25#0] -- vbuz1=vbuc1 lda #1 sta.z read_ram_bank - // [435] phi main::read_ram_address#7 = (char *) 40960 [phi:main::@143->main::@25#1] -- pbuz1=pbuc1 + // [436] phi main::read_ram_address#7 = (char *) 40960 [phi:main::@146->main::@25#1] -- pbuz1=pbuc1 lda #<$a000 sta.z read_ram_address lda #>$a000 sta.z read_ram_address+1 - // [434] phi from main::@143 to main::@178 [phi:main::@143->main::@178] - // main::@178 - // [435] phi from main::@178 to main::@25 [phi:main::@178->main::@25] - // [435] phi main::read_ram_bank#5 = main::read_ram_bank#13 [phi:main::@178->main::@25#0] -- register_copy - // [435] phi main::read_ram_address#7 = main::read_ram_address#1 [phi:main::@178->main::@25#1] -- register_copy + // [435] phi from main::@146 to main::@181 [phi:main::@146->main::@181] + // main::@181 + // [436] phi from main::@181 to main::@25 [phi:main::@181->main::@25] + // [436] phi main::read_ram_bank#5 = main::read_ram_bank#13 [phi:main::@181->main::@25#0] -- register_copy + // [436] phi main::read_ram_address#7 = main::read_ram_address#1 [phi:main::@181->main::@25#1] -- register_copy // main::@25 __b25: // if (read_ram_address == 0xC000) - // [436] if(main::read_ram_address#7!=$c000) goto main::@26 -- pbuz1_neq_vwuc1_then_la1 + // [437] if(main::read_ram_address#7!=$c000) goto main::@26 -- pbuz1_neq_vwuc1_then_la1 lda.z read_ram_address+1 cmp #>$c000 bne __b26 @@ -2892,22 +2932,22 @@ main: { bne __b26 // main::@27 // read_ram_bank++; - // [437] main::read_ram_bank#2 = ++ main::read_ram_bank#5 -- vbuz1=_inc_vbuz1 + // [438] main::read_ram_bank#2 = ++ main::read_ram_bank#5 -- vbuz1=_inc_vbuz1 inc.z read_ram_bank - // [438] phi from main::@27 to main::@26 [phi:main::@27->main::@26] - // [438] phi main::read_ram_address#12 = (char *) 40960 [phi:main::@27->main::@26#0] -- pbuz1=pbuc1 + // [439] phi from main::@27 to main::@26 [phi:main::@27->main::@26] + // [439] phi main::read_ram_address#12 = (char *) 40960 [phi:main::@27->main::@26#0] -- pbuz1=pbuc1 lda #<$a000 sta.z read_ram_address lda #>$a000 sta.z read_ram_address+1 - // [438] phi main::read_ram_bank#10 = main::read_ram_bank#2 [phi:main::@27->main::@26#1] -- register_copy - // [438] phi from main::@25 to main::@26 [phi:main::@25->main::@26] - // [438] phi main::read_ram_address#12 = main::read_ram_address#7 [phi:main::@25->main::@26#0] -- register_copy - // [438] phi main::read_ram_bank#10 = main::read_ram_bank#5 [phi:main::@25->main::@26#1] -- register_copy + // [439] phi main::read_ram_bank#10 = main::read_ram_bank#2 [phi:main::@27->main::@26#1] -- register_copy + // [439] phi from main::@25 to main::@26 [phi:main::@25->main::@26] + // [439] phi main::read_ram_address#12 = main::read_ram_address#7 [phi:main::@25->main::@26#0] -- register_copy + // [439] phi main::read_ram_bank#10 = main::read_ram_bank#5 [phi:main::@25->main::@26#1] -- register_copy // main::@26 __b26: // flash_rom_address % 0x4000 - // [439] main::$98 = main::flash_rom_address1#1 & $4000-1 -- vduz1=vduz2_band_vduc1 + // [440] main::$98 = main::flash_rom_address1#1 & $4000-1 -- vduz1=vduz2_band_vduc1 lda.z flash_rom_address1 and #<$4000-1 sta.z __98 @@ -2921,7 +2961,7 @@ main: { and #>$4000-1>>$10 sta.z __98+3 // if (!(flash_rom_address % 0x4000)) - // [440] if(0!=main::$98) goto main::@20 -- 0_neq_vduz1_then_la1 + // [441] if(0!=main::$98) goto main::@20 -- 0_neq_vduz1_then_la1 lda.z __98 ora.z __98+1 ora.z __98+2 @@ -2931,45 +2971,45 @@ main: { !__b20: // main::@28 // y_sector++; - // [441] main::y_sector#1 = ++ main::y_sector#10 -- vbuz1=_inc_vbuz1 + // [442] main::y_sector#1 = ++ main::y_sector#10 -- vbuz1=_inc_vbuz1 inc.z y_sector - // [254] phi from main::@28 to main::@20 [phi:main::@28->main::@20] - // [254] phi main::y_sector#10 = main::y_sector#1 [phi:main::@28->main::@20#0] -- register_copy - // [254] phi main::x_sector#10 = $e [phi:main::@28->main::@20#1] -- vbuz1=vbuc1 + // [255] phi from main::@28 to main::@20 [phi:main::@28->main::@20] + // [255] phi main::y_sector#10 = main::y_sector#1 [phi:main::@28->main::@20#0] -- register_copy + // [255] phi main::x_sector#10 = $e [phi:main::@28->main::@20#1] -- vbuz1=vbuc1 lda #$e sta.z x_sector - // [254] phi main::read_ram_address#10 = main::read_ram_address#12 [phi:main::@28->main::@20#2] -- register_copy - // [254] phi main::read_ram_bank#13 = main::read_ram_bank#10 [phi:main::@28->main::@20#3] -- register_copy - // [254] phi main::flash_rom_address1#13 = main::flash_rom_address1#1 [phi:main::@28->main::@20#4] -- register_copy + // [255] phi main::read_ram_address#10 = main::read_ram_address#12 [phi:main::@28->main::@20#2] -- register_copy + // [255] phi main::read_ram_bank#13 = main::read_ram_bank#10 [phi:main::@28->main::@20#3] -- register_copy + // [255] phi main::flash_rom_address1#13 = main::flash_rom_address1#1 [phi:main::@28->main::@20#4] -- register_copy jmp __b20 - // [442] phi from main::@90 to main::@15 [phi:main::@90->main::@15] + // [443] phi from main::@93 to main::@15 [phi:main::@93->main::@15] // main::@15 __b15: // sprintf(file, "rom.bin", flash_chip) - // [443] call snprintf_init + // [444] call snprintf_init jsr snprintf_init - // [444] phi from main::@15 to main::@91 [phi:main::@15->main::@91] - // main::@91 + // [445] phi from main::@15 to main::@94 [phi:main::@15->main::@94] + // main::@94 // sprintf(file, "rom.bin", flash_chip) - // [445] call printf_str - // [750] phi from main::@91 to printf_str [phi:main::@91->printf_str] - // [750] phi printf_str::putc#33 = &snputc [phi:main::@91->printf_str#0] -- pprz1=pprc1 + // [446] call printf_str + // [757] phi from main::@94 to printf_str [phi:main::@94->printf_str] + // [757] phi printf_str::putc#33 = &snputc [phi:main::@94->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = main::s2 [phi:main::@91->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = main::s2 [phi:main::@94->printf_str#1] -- pbuz1=pbuc1 lda #s2 sta.z printf_str.s+1 jsr printf_str - // main::@92 + // main::@95 // sprintf(file, "rom.bin", flash_chip) - // [446] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [447] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [447] callexecute snputc -- call_vprc1 + // [448] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla @@ -2977,116 +3017,116 @@ main: { // main::@2 __b2: // rom_manufacturer_ids[rom_chip] = 0 - // [449] main::rom_manufacturer_ids[main::rom_chip#10] = 0 -- pbuc1_derefidx_vbum1=vbuc2 + // [450] main::rom_manufacturer_ids[main::rom_chip#10] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 - ldy rom_chip + ldy.z rom_chip sta rom_manufacturer_ids,y // rom_device_ids[rom_chip] = 0 - // [450] main::rom_device_ids[main::rom_chip#10] = 0 -- pbuc1_derefidx_vbum1=vbuc2 + // [451] main::rom_device_ids[main::rom_chip#10] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 sta rom_device_ids,y // rom_unlock(flash_rom_address + 0x05555, 0x90) - // [451] rom_unlock::address#3 = main::flash_rom_address#10 + $5555 -- vduz1=vdum2_plus_vwuc1 + // [452] rom_unlock::address#3 = main::flash_rom_address#10 + $5555 -- vduz1=vduz2_plus_vwuc1 clc - lda flash_rom_address + lda.z flash_rom_address adc #<$5555 sta.z rom_unlock.address - lda flash_rom_address+1 + lda.z flash_rom_address+1 adc #>$5555 sta.z rom_unlock.address+1 - lda flash_rom_address+2 + lda.z flash_rom_address+2 adc #0 sta.z rom_unlock.address+2 - lda flash_rom_address+3 + lda.z flash_rom_address+3 adc #0 sta.z rom_unlock.address+3 - // [452] call rom_unlock - // [1090] phi from main::@2 to rom_unlock [phi:main::@2->rom_unlock] - // [1090] phi rom_unlock::unlock_code#5 = $90 [phi:main::@2->rom_unlock#0] -- vbuz1=vbuc1 + // [453] call rom_unlock + // [1096] phi from main::@2 to rom_unlock [phi:main::@2->rom_unlock] + // [1096] phi rom_unlock::unlock_code#5 = $90 [phi:main::@2->rom_unlock#0] -- vbuz1=vbuc1 lda #$90 sta.z rom_unlock.unlock_code - // [1090] phi rom_unlock::address#5 = rom_unlock::address#3 [phi:main::@2->rom_unlock#1] -- register_copy + // [1096] phi rom_unlock::address#5 = rom_unlock::address#3 [phi:main::@2->rom_unlock#1] -- register_copy jsr rom_unlock // main::@72 // rom_read_byte(flash_rom_address) - // [453] rom_read_byte::address#0 = main::flash_rom_address#10 -- vduz1=vdum2 - lda flash_rom_address + // [454] rom_read_byte::address#0 = main::flash_rom_address#10 -- vduz1=vduz2 + lda.z flash_rom_address sta.z rom_read_byte.address - lda flash_rom_address+1 + lda.z flash_rom_address+1 sta.z rom_read_byte.address+1 - lda flash_rom_address+2 + lda.z flash_rom_address+2 sta.z rom_read_byte.address+2 - lda flash_rom_address+3 + lda.z flash_rom_address+3 sta.z rom_read_byte.address+3 - // [454] call rom_read_byte - // [1100] phi from main::@72 to rom_read_byte [phi:main::@72->rom_read_byte] - // [1100] phi rom_read_byte::address#2 = rom_read_byte::address#0 [phi:main::@72->rom_read_byte#0] -- register_copy + // [455] call rom_read_byte + // [1106] phi from main::@72 to rom_read_byte [phi:main::@72->rom_read_byte] + // [1106] phi rom_read_byte::address#2 = rom_read_byte::address#0 [phi:main::@72->rom_read_byte#0] -- register_copy jsr rom_read_byte // rom_read_byte(flash_rom_address) - // [455] rom_read_byte::return#2 = rom_read_byte::return#0 + // [456] rom_read_byte::return#2 = rom_read_byte::return#0 // main::@73 - // [456] main::$20 = rom_read_byte::return#2 + // [457] main::$20 = rom_read_byte::return#2 // rom_manufacturer_ids[rom_chip] = rom_read_byte(flash_rom_address) - // [457] main::rom_manufacturer_ids[main::rom_chip#10] = main::$20 -- pbuc1_derefidx_vbum1=vbuz2 + // [458] main::rom_manufacturer_ids[main::rom_chip#10] = main::$20 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __20 - ldy rom_chip + ldy.z rom_chip sta rom_manufacturer_ids,y // rom_read_byte(flash_rom_address + 1) - // [458] rom_read_byte::address#1 = main::flash_rom_address#10 + 1 -- vduz1=vdum2_plus_1 - lda flash_rom_address + // [459] rom_read_byte::address#1 = main::flash_rom_address#10 + 1 -- vduz1=vduz2_plus_1 + lda.z flash_rom_address clc adc #1 sta.z rom_read_byte.address - lda flash_rom_address+1 + lda.z flash_rom_address+1 adc #0 sta.z rom_read_byte.address+1 - lda flash_rom_address+2 + lda.z flash_rom_address+2 adc #0 sta.z rom_read_byte.address+2 - lda flash_rom_address+3 + lda.z flash_rom_address+3 adc #0 sta.z rom_read_byte.address+3 - // [459] call rom_read_byte - // [1100] phi from main::@73 to rom_read_byte [phi:main::@73->rom_read_byte] - // [1100] phi rom_read_byte::address#2 = rom_read_byte::address#1 [phi:main::@73->rom_read_byte#0] -- register_copy + // [460] call rom_read_byte + // [1106] phi from main::@73 to rom_read_byte [phi:main::@73->rom_read_byte] + // [1106] phi rom_read_byte::address#2 = rom_read_byte::address#1 [phi:main::@73->rom_read_byte#0] -- register_copy jsr rom_read_byte // rom_read_byte(flash_rom_address + 1) - // [460] rom_read_byte::return#3 = rom_read_byte::return#0 + // [461] rom_read_byte::return#3 = rom_read_byte::return#0 // main::@74 - // [461] main::$22 = rom_read_byte::return#3 + // [462] main::$22 = rom_read_byte::return#3 // rom_device_ids[rom_chip] = rom_read_byte(flash_rom_address + 1) - // [462] main::rom_device_ids[main::rom_chip#10] = main::$22 -- pbuc1_derefidx_vbum1=vbuz2 + // [463] main::rom_device_ids[main::rom_chip#10] = main::$22 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __22 - ldy rom_chip + ldy.z rom_chip sta rom_device_ids,y // rom_unlock(flash_rom_address + 0x05555, 0xF0) - // [463] rom_unlock::address#4 = main::flash_rom_address#10 + $5555 -- vduz1=vdum2_plus_vwuc1 + // [464] rom_unlock::address#4 = main::flash_rom_address#10 + $5555 -- vduz1=vduz2_plus_vwuc1 clc - lda flash_rom_address + lda.z flash_rom_address adc #<$5555 sta.z rom_unlock.address - lda flash_rom_address+1 + lda.z flash_rom_address+1 adc #>$5555 sta.z rom_unlock.address+1 - lda flash_rom_address+2 + lda.z flash_rom_address+2 adc #0 sta.z rom_unlock.address+2 - lda flash_rom_address+3 + lda.z flash_rom_address+3 adc #0 sta.z rom_unlock.address+3 - // [464] call rom_unlock - // [1090] phi from main::@74 to rom_unlock [phi:main::@74->rom_unlock] - // [1090] phi rom_unlock::unlock_code#5 = $f0 [phi:main::@74->rom_unlock#0] -- vbuz1=vbuc1 + // [465] call rom_unlock + // [1096] phi from main::@74 to rom_unlock [phi:main::@74->rom_unlock] + // [1096] phi rom_unlock::unlock_code#5 = $f0 [phi:main::@74->rom_unlock#0] -- vbuz1=vbuc1 lda #$f0 sta.z rom_unlock.unlock_code - // [1090] phi rom_unlock::address#5 = rom_unlock::address#4 [phi:main::@74->rom_unlock#1] -- register_copy + // [1096] phi rom_unlock::address#5 = rom_unlock::address#4 [phi:main::@74->rom_unlock#1] -- register_copy jsr rom_unlock - // [465] phi from main::@74 to main::@75 [phi:main::@74->main::@75] + // [466] phi from main::@74 to main::@75 [phi:main::@74->main::@75] // main::@75 // bank_set_brom(4) - // [466] call bank_set_brom + // [467] call bank_set_brom // Ensure the ROM is set to BASIC. - // [811] phi from main::@75 to bank_set_brom [phi:main::@75->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = 4 [phi:main::@75->bank_set_brom#0] -- vbuz1=vbuc1 + // [818] phi from main::@75 to bank_set_brom [phi:main::@75->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = 4 [phi:main::@75->bank_set_brom#0] -- vbuz1=vbuc1 lda #4 sta.z bank_set_brom.bank jsr bank_set_brom @@ -3095,9 +3135,10 @@ main: { // rom_device = "f010a"; // print_chip_KB(rom_chip, "128"); // print_chip_led(rom_chip, WHITE, BLUE); + // rom_sizes[rom_chip] = 128 * 1024; // break; - // [467] if(main::rom_device_ids[main::rom_chip#10]==$b5) goto main::@3 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 - ldy rom_chip + // [468] if(main::rom_device_ids[main::rom_chip#10]==$b5) goto main::@3 -- pbuc1_derefidx_vbuz1_eq_vbuc2_then_la1 + ldy.z rom_chip lda rom_device_ids,y cmp #$b5 bne !__b3+ @@ -3108,8 +3149,9 @@ main: { // rom_device = "f020a"; // print_chip_KB(rom_chip, "256"); // print_chip_led(rom_chip, WHITE, BLUE); + // rom_sizes[rom_chip] = 256 * 1024; // break; - // [468] if(main::rom_device_ids[main::rom_chip#10]==$b6) goto main::@4 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 + // [469] if(main::rom_device_ids[main::rom_chip#10]==$b6) goto main::@4 -- pbuc1_derefidx_vbuz1_eq_vbuc2_then_la1 lda rom_device_ids,y cmp #$b6 bne !__b4+ @@ -3120,8 +3162,9 @@ main: { // rom_device = "f040"; // print_chip_KB(rom_chip, "512"); // print_chip_led(rom_chip, WHITE, BLUE); + // rom_sizes[rom_chip] = 512 * 1024; // break; - // [469] if(main::rom_device_ids[main::rom_chip#10]==$b7) goto main::@5 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 + // [470] if(main::rom_device_ids[main::rom_chip#10]==$b7) goto main::@5 -- pbuc1_derefidx_vbuz1_eq_vbuc2_then_la1 lda rom_device_ids,y cmp #$b7 bne !__b5+ @@ -3129,24 +3172,24 @@ main: { !__b5: // main::@6 // print_chip_led(rom_chip, BLACK, BLUE) - // [470] print_chip_led::r#4 = main::rom_chip#10 -- vbuz1=vbum2 + // [471] print_chip_led::r#4 = main::rom_chip#10 -- vbuz1=vbuz2 tya sta.z print_chip_led.r - // [471] call print_chip_led - // [878] phi from main::@6 to print_chip_led [phi:main::@6->print_chip_led] - // [878] phi print_chip_led::tc#10 = BLACK [phi:main::@6->print_chip_led#0] -- vbuz1=vbuc1 + // [472] call print_chip_led + // [885] phi from main::@6 to print_chip_led [phi:main::@6->print_chip_led] + // [885] phi print_chip_led::tc#10 = BLACK [phi:main::@6->print_chip_led#0] -- vbuz1=vbuc1 lda #BLACK sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#4 [phi:main::@6->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#4 [phi:main::@6->print_chip_led#1] -- register_copy jsr print_chip_led - // main::@83 + // main::@86 // rom_device_ids[rom_chip] = UNKNOWN - // [472] main::rom_device_ids[main::rom_chip#10] = $55 -- pbuc1_derefidx_vbum1=vbuc2 + // [473] main::rom_device_ids[main::rom_chip#10] = $55 -- pbuc1_derefidx_vbuz1=vbuc2 lda #$55 - ldy rom_chip + ldy.z rom_chip sta rom_device_ids,y - // [473] phi from main::@83 to main::@7 [phi:main::@83->main::@7] - // [473] phi main::rom_device#5 = main::rom_device#13 [phi:main::@83->main::@7#0] -- pbum1=pbuc1 + // [474] phi from main::@86 to main::@7 [phi:main::@86->main::@7] + // [474] phi main::rom_device#5 = main::rom_device#13 [phi:main::@86->main::@7#0] -- pbum1=pbuc1 lda #rom_device_4 @@ -3154,112 +3197,112 @@ main: { // main::@7 __b7: // textcolor(WHITE) - // [474] call textcolor - // [504] phi from main::@7 to textcolor [phi:main::@7->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:main::@7->textcolor#0] -- vbuz1=vbuc1 + // [475] call textcolor + // [511] phi from main::@7 to textcolor [phi:main::@7->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:main::@7->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // main::@84 + // main::@87 // rom_chip * 10 - // [475] main::$175 = main::rom_chip#10 << 2 -- vbuz1=vbum2_rol_2 - lda rom_chip + // [476] main::$179 = main::rom_chip#10 << 2 -- vbuz1=vbuz2_rol_2 + lda.z rom_chip asl asl - sta.z __175 - // [476] main::$176 = main::$175 + main::rom_chip#10 -- vbuz1=vbuz1_plus_vbum2 - lda rom_chip + sta.z __179 + // [477] main::$180 = main::$179 + main::rom_chip#10 -- vbuz1=vbuz1_plus_vbuz2 + lda.z __180 clc - adc.z __176 - sta.z __176 - // [477] main::$38 = main::$176 << 1 -- vbuz1=vbuz1_rol_1 + adc.z rom_chip + sta.z __180 + // [478] main::$38 = main::$180 << 1 -- vbuz1=vbuz1_rol_1 asl.z __38 // gotoxy(2 + rom_chip * 10, 56) - // [478] gotoxy::x#14 = 2 + main::$38 -- vbuz1=vbuc1_plus_vbuz2 + // [479] gotoxy::x#14 = 2 + main::$38 -- vbuz1=vbuc1_plus_vbuz2 lda #2 clc adc.z __38 sta.z gotoxy.x - // [479] call gotoxy - // [522] phi from main::@84 to gotoxy [phi:main::@84->gotoxy] - // [522] phi gotoxy::y#24 = $38 [phi:main::@84->gotoxy#0] -- vbuz1=vbuc1 + // [480] call gotoxy + // [529] phi from main::@87 to gotoxy [phi:main::@87->gotoxy] + // [529] phi gotoxy::y#24 = $38 [phi:main::@87->gotoxy#0] -- vbuz1=vbuc1 lda #$38 sta.z gotoxy.y - // [522] phi gotoxy::x#24 = gotoxy::x#14 [phi:main::@84->gotoxy#1] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#14 [phi:main::@87->gotoxy#1] -- register_copy jsr gotoxy - // main::@85 + // main::@88 // printf("%x", rom_manufacturer_ids[rom_chip]) - // [480] printf_uchar::uvalue#3 = main::rom_manufacturer_ids[main::rom_chip#10] -- vbuz1=pbuc1_derefidx_vbum2 - ldy rom_chip + // [481] printf_uchar::uvalue#3 = main::rom_manufacturer_ids[main::rom_chip#10] -- vbuz1=pbuc1_derefidx_vbuz2 + ldy.z rom_chip lda rom_manufacturer_ids,y sta.z printf_uchar.uvalue - // [481] call printf_uchar - // [830] phi from main::@85 to printf_uchar [phi:main::@85->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@85->printf_uchar#0] -- vbuz1=vbuc1 + // [482] call printf_uchar + // [837] phi from main::@88 to printf_uchar [phi:main::@88->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:main::@88->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 0 [phi:main::@85->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 0 [phi:main::@88->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &cputc [phi:main::@85->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &cputc [phi:main::@88->printf_uchar#2] -- pprz1=pprc1 lda #cputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = HEXADECIMAL [phi:main::@85->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = HEXADECIMAL [phi:main::@88->printf_uchar#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#3 [phi:main::@85->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#3 [phi:main::@88->printf_uchar#4] -- register_copy jsr printf_uchar - // main::@86 + // main::@89 // gotoxy(2 + rom_chip * 10, 57) - // [482] gotoxy::x#15 = 2 + main::$38 -- vbuz1=vbuc1_plus_vbuz2 + // [483] gotoxy::x#15 = 2 + main::$38 -- vbuz1=vbuc1_plus_vbuz2 lda #2 clc adc.z __38 sta.z gotoxy.x - // [483] call gotoxy - // [522] phi from main::@86 to gotoxy [phi:main::@86->gotoxy] - // [522] phi gotoxy::y#24 = $39 [phi:main::@86->gotoxy#0] -- vbuz1=vbuc1 + // [484] call gotoxy + // [529] phi from main::@89 to gotoxy [phi:main::@89->gotoxy] + // [529] phi gotoxy::y#24 = $39 [phi:main::@89->gotoxy#0] -- vbuz1=vbuc1 lda #$39 sta.z gotoxy.y - // [522] phi gotoxy::x#24 = gotoxy::x#15 [phi:main::@86->gotoxy#1] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#15 [phi:main::@89->gotoxy#1] -- register_copy jsr gotoxy - // main::@87 + // main::@90 // printf("%s", rom_device) - // [484] printf_string::str#2 = main::rom_device#5 -- pbuz1=pbum2 + // [485] printf_string::str#2 = main::rom_device#5 -- pbuz1=pbum2 lda rom_device sta.z printf_string.str lda rom_device+1 sta.z printf_string.str+1 - // [485] call printf_string - // [923] phi from main::@87 to printf_string [phi:main::@87->printf_string] - // [923] phi printf_string::str#10 = printf_string::str#2 [phi:main::@87->printf_string#0] -- register_copy - // [923] phi printf_string::format_justify_left#10 = 0 [phi:main::@87->printf_string#1] -- vbuz1=vbuc1 + // [486] call printf_string + // [930] phi from main::@90 to printf_string [phi:main::@90->printf_string] + // [930] phi printf_string::str#10 = printf_string::str#2 [phi:main::@90->printf_string#0] -- register_copy + // [930] phi printf_string::format_justify_left#10 = 0 [phi:main::@90->printf_string#1] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [923] phi printf_string::format_min_length#7 = 0 [phi:main::@87->printf_string#2] -- vbuz1=vbuc1 + // [930] phi printf_string::format_min_length#7 = 0 [phi:main::@90->printf_string#2] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // main::@88 + // main::@91 // rom_chip++; - // [486] main::rom_chip#1 = ++ main::rom_chip#10 -- vbum1=_inc_vbum1 - inc rom_chip + // [487] main::rom_chip#1 = ++ main::rom_chip#10 -- vbuz1=_inc_vbuz1 + inc.z rom_chip // main::@8 // flash_rom_address += 0x80000 - // [487] main::flash_rom_address#1 = main::flash_rom_address#10 + $80000 -- vdum1=vdum1_plus_vduc1 + // [488] main::flash_rom_address#1 = main::flash_rom_address#10 + $80000 -- vduz1=vduz1_plus_vduc1 clc - lda flash_rom_address + lda.z flash_rom_address adc #<$80000 - sta flash_rom_address - lda flash_rom_address+1 + sta.z flash_rom_address + lda.z flash_rom_address+1 adc #>$80000 - sta flash_rom_address+1 - lda flash_rom_address+2 + sta.z flash_rom_address+1 + lda.z flash_rom_address+2 adc #<$80000>>$10 - sta flash_rom_address+2 - lda flash_rom_address+3 + sta.z flash_rom_address+2 + lda.z flash_rom_address+3 adc #>$80000>>$10 - sta flash_rom_address+3 + sta.z flash_rom_address+3 // [91] phi from main::@8 to main::@1 [phi:main::@8->main::@1] // [91] phi main::rom_chip#10 = main::rom_chip#1 [phi:main::@8->main::@1#0] -- register_copy // [91] phi main::flash_rom_address#10 = main::flash_rom_address#1 [phi:main::@8->main::@1#1] -- register_copy @@ -3267,32 +3310,49 @@ main: { // main::@5 __b5: // print_chip_KB(rom_chip, "512") - // [488] print_chip_KB::rom_chip#2 = main::rom_chip#10 -- vbuz1=vbum2 - lda rom_chip + // [489] print_chip_KB::rom_chip#2 = main::rom_chip#10 -- vbuz1=vbuz2 + lda.z rom_chip sta.z print_chip_KB.rom_chip - // [489] call print_chip_KB - // [1112] phi from main::@5 to print_chip_KB [phi:main::@5->print_chip_KB] - // [1112] phi print_chip_KB::kb#3 = main::kb2 [phi:main::@5->print_chip_KB#0] -- pbuz1=pbuc1 + // [490] call print_chip_KB + // [1119] phi from main::@5 to print_chip_KB [phi:main::@5->print_chip_KB] + // [1119] phi print_chip_KB::kb#3 = main::kb2 [phi:main::@5->print_chip_KB#0] -- pbuz1=pbuc1 lda #kb2 sta.z print_chip_KB.kb+1 - // [1112] phi print_chip_KB::rom_chip#3 = print_chip_KB::rom_chip#2 [phi:main::@5->print_chip_KB#1] -- register_copy + // [1119] phi print_chip_KB::rom_chip#3 = print_chip_KB::rom_chip#2 [phi:main::@5->print_chip_KB#1] -- register_copy jsr print_chip_KB - // main::@82 + // main::@84 // print_chip_led(rom_chip, WHITE, BLUE) - // [490] print_chip_led::r#3 = main::rom_chip#10 -- vbuz1=vbum2 - lda rom_chip + // [491] print_chip_led::r#3 = main::rom_chip#10 -- vbuz1=vbuz2 + lda.z rom_chip sta.z print_chip_led.r - // [491] call print_chip_led - // [878] phi from main::@82 to print_chip_led [phi:main::@82->print_chip_led] - // [878] phi print_chip_led::tc#10 = WHITE [phi:main::@82->print_chip_led#0] -- vbuz1=vbuc1 + // [492] call print_chip_led + // [885] phi from main::@84 to print_chip_led [phi:main::@84->print_chip_led] + // [885] phi print_chip_led::tc#10 = WHITE [phi:main::@84->print_chip_led#0] -- vbuz1=vbuc1 lda #WHITE sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#3 [phi:main::@82->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#3 [phi:main::@84->print_chip_led#1] -- register_copy jsr print_chip_led - // [473] phi from main::@82 to main::@7 [phi:main::@82->main::@7] - // [473] phi main::rom_device#5 = main::rom_device#12 [phi:main::@82->main::@7#0] -- pbum1=pbuc1 + // main::@85 + // rom_sizes[rom_chip] = 512 * 1024 + // [493] main::$163 = main::rom_chip#10 << 2 -- vbuz1=vbuz2_rol_2 + lda.z rom_chip + asl + asl + sta.z __163 + // [494] main::rom_sizes[main::$163] = (unsigned long)$200*$400 -- pduc1_derefidx_vbuz1=vduc2 + tay + lda #<$200*$400 + sta rom_sizes,y + lda #>$200*$400 + sta rom_sizes+1,y + lda #<$200*$400>>$10 + sta rom_sizes+2,y + lda #>$200*$400>>$10 + sta rom_sizes+3,y + // [474] phi from main::@85 to main::@7 [phi:main::@85->main::@7] + // [474] phi main::rom_device#5 = main::rom_device#12 [phi:main::@85->main::@7#0] -- pbum1=pbuc1 lda #rom_device_3 @@ -3301,32 +3361,49 @@ main: { // main::@4 __b4: // print_chip_KB(rom_chip, "256") - // [492] print_chip_KB::rom_chip#1 = main::rom_chip#10 -- vbuz1=vbum2 - lda rom_chip + // [495] print_chip_KB::rom_chip#1 = main::rom_chip#10 -- vbuz1=vbuz2 + lda.z rom_chip sta.z print_chip_KB.rom_chip - // [493] call print_chip_KB - // [1112] phi from main::@4 to print_chip_KB [phi:main::@4->print_chip_KB] - // [1112] phi print_chip_KB::kb#3 = main::kb1 [phi:main::@4->print_chip_KB#0] -- pbuz1=pbuc1 + // [496] call print_chip_KB + // [1119] phi from main::@4 to print_chip_KB [phi:main::@4->print_chip_KB] + // [1119] phi print_chip_KB::kb#3 = main::kb1 [phi:main::@4->print_chip_KB#0] -- pbuz1=pbuc1 lda #kb1 sta.z print_chip_KB.kb+1 - // [1112] phi print_chip_KB::rom_chip#3 = print_chip_KB::rom_chip#1 [phi:main::@4->print_chip_KB#1] -- register_copy + // [1119] phi print_chip_KB::rom_chip#3 = print_chip_KB::rom_chip#1 [phi:main::@4->print_chip_KB#1] -- register_copy jsr print_chip_KB - // main::@81 + // main::@82 // print_chip_led(rom_chip, WHITE, BLUE) - // [494] print_chip_led::r#2 = main::rom_chip#10 -- vbuz1=vbum2 - lda rom_chip + // [497] print_chip_led::r#2 = main::rom_chip#10 -- vbuz1=vbuz2 + lda.z rom_chip sta.z print_chip_led.r - // [495] call print_chip_led - // [878] phi from main::@81 to print_chip_led [phi:main::@81->print_chip_led] - // [878] phi print_chip_led::tc#10 = WHITE [phi:main::@81->print_chip_led#0] -- vbuz1=vbuc1 + // [498] call print_chip_led + // [885] phi from main::@82 to print_chip_led [phi:main::@82->print_chip_led] + // [885] phi print_chip_led::tc#10 = WHITE [phi:main::@82->print_chip_led#0] -- vbuz1=vbuc1 lda #WHITE sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#2 [phi:main::@81->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#2 [phi:main::@82->print_chip_led#1] -- register_copy jsr print_chip_led - // [473] phi from main::@81 to main::@7 [phi:main::@81->main::@7] - // [473] phi main::rom_device#5 = main::rom_device#11 [phi:main::@81->main::@7#0] -- pbum1=pbuc1 + // main::@83 + // rom_sizes[rom_chip] = 256 * 1024 + // [499] main::$162 = main::rom_chip#10 << 2 -- vbuz1=vbuz2_rol_2 + lda.z rom_chip + asl + asl + sta.z __162 + // [500] main::rom_sizes[main::$162] = (unsigned long)$100*$400 -- pduc1_derefidx_vbuz1=vduc2 + tay + lda #<$100*$400 + sta rom_sizes,y + lda #>$100*$400 + sta rom_sizes+1,y + lda #<$100*$400>>$10 + sta rom_sizes+2,y + lda #>$100*$400>>$10 + sta rom_sizes+3,y + // [474] phi from main::@83 to main::@7 [phi:main::@83->main::@7] + // [474] phi main::rom_device#5 = main::rom_device#11 [phi:main::@83->main::@7#0] -- pbum1=pbuc1 lda #rom_device_2 @@ -3335,32 +3412,49 @@ main: { // main::@3 __b3: // print_chip_KB(rom_chip, "128") - // [496] print_chip_KB::rom_chip#0 = main::rom_chip#10 -- vbuz1=vbum2 - lda rom_chip + // [501] print_chip_KB::rom_chip#0 = main::rom_chip#10 -- vbuz1=vbuz2 + lda.z rom_chip sta.z print_chip_KB.rom_chip - // [497] call print_chip_KB - // [1112] phi from main::@3 to print_chip_KB [phi:main::@3->print_chip_KB] - // [1112] phi print_chip_KB::kb#3 = main::kb [phi:main::@3->print_chip_KB#0] -- pbuz1=pbuc1 + // [502] call print_chip_KB + // [1119] phi from main::@3 to print_chip_KB [phi:main::@3->print_chip_KB] + // [1119] phi print_chip_KB::kb#3 = main::kb [phi:main::@3->print_chip_KB#0] -- pbuz1=pbuc1 lda #kb sta.z print_chip_KB.kb+1 - // [1112] phi print_chip_KB::rom_chip#3 = print_chip_KB::rom_chip#0 [phi:main::@3->print_chip_KB#1] -- register_copy + // [1119] phi print_chip_KB::rom_chip#3 = print_chip_KB::rom_chip#0 [phi:main::@3->print_chip_KB#1] -- register_copy jsr print_chip_KB // main::@80 // print_chip_led(rom_chip, WHITE, BLUE) - // [498] print_chip_led::r#1 = main::rom_chip#10 -- vbuz1=vbum2 - lda rom_chip + // [503] print_chip_led::r#1 = main::rom_chip#10 -- vbuz1=vbuz2 + lda.z rom_chip sta.z print_chip_led.r - // [499] call print_chip_led - // [878] phi from main::@80 to print_chip_led [phi:main::@80->print_chip_led] - // [878] phi print_chip_led::tc#10 = WHITE [phi:main::@80->print_chip_led#0] -- vbuz1=vbuc1 + // [504] call print_chip_led + // [885] phi from main::@80 to print_chip_led [phi:main::@80->print_chip_led] + // [885] phi print_chip_led::tc#10 = WHITE [phi:main::@80->print_chip_led#0] -- vbuz1=vbuc1 lda #WHITE sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#1 [phi:main::@80->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#1 [phi:main::@80->print_chip_led#1] -- register_copy jsr print_chip_led - // [473] phi from main::@80 to main::@7 [phi:main::@80->main::@7] - // [473] phi main::rom_device#5 = main::rom_device#1 [phi:main::@80->main::@7#0] -- pbum1=pbuc1 + // main::@81 + // rom_sizes[rom_chip] = 128 * 1024 + // [505] main::$161 = main::rom_chip#10 << 2 -- vbuz1=vbuz2_rol_2 + lda.z rom_chip + asl + asl + sta.z __161 + // [506] main::rom_sizes[main::$161] = (unsigned long)$80*$400 -- pduc1_derefidx_vbuz1=vduc2 + tay + lda #<$80*$400 + sta rom_sizes,y + lda #>$80*$400 + sta rom_sizes+1,y + lda #<$80*$400>>$10 + sta rom_sizes+2,y + lda #>$80*$400>>$10 + sta rom_sizes+3,y + // [474] phi from main::@81 to main::@7 [phi:main::@81->main::@7] + // [474] phi main::rom_device#5 = main::rom_device#1 [phi:main::@81->main::@7#0] -- pbum1=pbuc1 lda #rom_device_1 @@ -3374,6 +3468,8 @@ main: { .fill 7, 0 rom_manufacturer_ids: .byte 0 .fill 7, 0 + rom_sizes: .dword 0 + .fill 4*7, 0 s: .text "commander x16 rom flash utility" .byte 0 s1: .text "press a key to start flashing." @@ -3444,32 +3540,29 @@ main: { .byte 0 pattern1_3: .text "+" .byte 0 - rom_chip: .byte 0 - flash_rom_address: .dword 0 - flash_chip: .byte 0 + __164: .byte 0 flash_rom_bank: .byte 0 fp: .word 0 - flash_bytes_1: .dword 0 - w: .word 0 + flash_bytes: .dword 0 + .label flash_rom_address_boundary_1 = flash_bytes rom_device: .word 0 - .label flash_rom_address_boundary_2 = flash_bytes_1 } .segment Code // screenlayer1 // Set the layer with which the conio will interact. screenlayer1: { // screenlayer(1, *VERA_L1_MAPBASE, *VERA_L1_CONFIG) - // [500] screenlayer::mapbase#0 = *VERA_L1_MAPBASE -- vbuz1=_deref_pbuc1 + // [507] screenlayer::mapbase#0 = *VERA_L1_MAPBASE -- vbuz1=_deref_pbuc1 lda VERA_L1_MAPBASE sta.z screenlayer.mapbase - // [501] screenlayer::config#0 = *VERA_L1_CONFIG -- vbuz1=_deref_pbuc1 + // [508] screenlayer::config#0 = *VERA_L1_CONFIG -- vbuz1=_deref_pbuc1 lda VERA_L1_CONFIG sta.z screenlayer.config - // [502] call screenlayer + // [509] call screenlayer jsr screenlayer // screenlayer1::@return // } - // [503] return + // [510] return rts } // textcolor @@ -3477,27 +3570,27 @@ screenlayer1: { // - color: a 4 bit value ( decimal between 0 and 15). // This will only work when the VERA is in 16 color mode! // Note that on the VERA, the transparent color has value 0. -// char textcolor(__zp($b0) char color) +// char textcolor(__zp($79) char color) textcolor: { - .label __0 = $b1 - .label __1 = $b0 - .label color = $b0 + .label __0 = $7a + .label __1 = $79 + .label color = $79 // __conio.color & 0xF0 - // [505] textcolor::$0 = *((char *)&__conio+$b) & $f0 -- vbuz1=_deref_pbuc1_band_vbuc2 + // [512] textcolor::$0 = *((char *)&__conio+$b) & $f0 -- vbuz1=_deref_pbuc1_band_vbuc2 lda #$f0 and __conio+$b sta.z __0 // __conio.color & 0xF0 | color - // [506] textcolor::$1 = textcolor::$0 | textcolor::color#24 -- vbuz1=vbuz2_bor_vbuz1 + // [513] textcolor::$1 = textcolor::$0 | textcolor::color#24 -- vbuz1=vbuz2_bor_vbuz1 lda.z __1 ora.z __0 sta.z __1 // __conio.color = __conio.color & 0xF0 | color - // [507] *((char *)&__conio+$b) = textcolor::$1 -- _deref_pbuc1=vbuz1 + // [514] *((char *)&__conio+$b) = textcolor::$1 -- _deref_pbuc1=vbuz1 sta __conio+$b // textcolor::@return // } - // [508] return + // [515] return rts } // bgcolor @@ -3505,19 +3598,19 @@ textcolor: { // - color: a 4 bit value ( decimal between 0 and 15). // This will only work when the VERA is in 16 color mode! // Note that on the VERA, the transparent color has value 0. -// char bgcolor(__zp($b0) char color) +// char bgcolor(__zp($79) char color) bgcolor: { - .label __0 = $c7 - .label __1 = $b0 - .label __2 = $c7 - .label color = $b0 + .label __0 = $b8 + .label __1 = $79 + .label __2 = $b8 + .label color = $79 // __conio.color & 0x0F - // [510] bgcolor::$0 = *((char *)&__conio+$b) & $f -- vbuz1=_deref_pbuc1_band_vbuc2 + // [517] bgcolor::$0 = *((char *)&__conio+$b) & $f -- vbuz1=_deref_pbuc1_band_vbuc2 lda #$f and __conio+$b sta.z __0 // color << 4 - // [511] bgcolor::$1 = bgcolor::color#11 << 4 -- vbuz1=vbuz1_rol_4 + // [518] bgcolor::$1 = bgcolor::color#11 << 4 -- vbuz1=vbuz1_rol_4 lda.z __1 asl asl @@ -3525,16 +3618,16 @@ bgcolor: { asl sta.z __1 // __conio.color & 0x0F | color << 4 - // [512] bgcolor::$2 = bgcolor::$0 | bgcolor::$1 -- vbuz1=vbuz1_bor_vbuz2 + // [519] bgcolor::$2 = bgcolor::$0 | bgcolor::$1 -- vbuz1=vbuz1_bor_vbuz2 lda.z __2 ora.z __1 sta.z __2 // __conio.color = __conio.color & 0x0F | color << 4 - // [513] *((char *)&__conio+$b) = bgcolor::$2 -- _deref_pbuc1=vbuz1 + // [520] *((char *)&__conio+$b) = bgcolor::$2 -- _deref_pbuc1=vbuz1 sta __conio+$b // bgcolor::@return // } - // [514] return + // [521] return rts } // cursor @@ -3545,12 +3638,12 @@ bgcolor: { cursor: { .const onoff = 0 // __conio.cursor = onoff - // [515] *((char *)&__conio+$a) = cursor::onoff#0 -- _deref_pbuc1=vbuc2 + // [522] *((char *)&__conio+$a) = cursor::onoff#0 -- _deref_pbuc1=vbuc2 lda #onoff sta __conio+$a // cursor::@return // } - // [516] return + // [523] return rts } // cbm_k_plot_get @@ -3559,13 +3652,13 @@ cursor: { * @return An unsigned int where the hi byte is the x coordinate and the low byte is the y coordinate of the screen position. */ cbm_k_plot_get: { - .label return = $da + .label return = $d0 // __mem unsigned char x - // [517] cbm_k_plot_get::x = 0 -- vbum1=vbuc1 + // [524] cbm_k_plot_get::x = 0 -- vbum1=vbuc1 lda #0 sta x // __mem unsigned char y - // [518] cbm_k_plot_get::y = 0 -- vbum1=vbuc1 + // [525] cbm_k_plot_get::y = 0 -- vbum1=vbuc1 sta y // kickasm // kickasm( uses cbm_k_plot_get::x uses cbm_k_plot_get::y uses CBM_PLOT) {{ sec jsr CBM_PLOT stx y sty x }} @@ -3575,14 +3668,14 @@ cbm_k_plot_get: { sty x // MAKEWORD(x,y) - // [520] cbm_k_plot_get::return#0 = cbm_k_plot_get::x w= cbm_k_plot_get::y -- vwuz1=vbum2_word_vbum3 + // [527] cbm_k_plot_get::return#0 = cbm_k_plot_get::x w= cbm_k_plot_get::y -- vwuz1=vbum2_word_vbum3 lda x sta.z return+1 lda y sta.z return // cbm_k_plot_get::@return // } - // [521] return + // [528] return rts .segment Data x: .byte 0 @@ -3591,62 +3684,62 @@ cbm_k_plot_get: { .segment Code // gotoxy // Set the cursor to the specified position -// void gotoxy(__zp($7f) char x, __zp($aa) char y) +// void gotoxy(__zp($70) char x, __zp($72) char y) gotoxy: { - .label __2 = $7f - .label __3 = $7f - .label __6 = $7c - .label __7 = $7c - .label __8 = $ad - .label __9 = $ab - .label __10 = $aa - .label x = $7f - .label y = $aa - .label __14 = $7c + .label __2 = $70 + .label __3 = $70 + .label __6 = $6d + .label __7 = $6d + .label __8 = $75 + .label __9 = $73 + .label __10 = $72 + .label x = $70 + .label y = $72 + .label __14 = $6d // (x>=__conio.width)?__conio.width:x - // [523] if(gotoxy::x#24>=*((char *)&__conio+4)) goto gotoxy::@1 -- vbuz1_ge__deref_pbuc1_then_la1 + // [530] if(gotoxy::x#24>=*((char *)&__conio+4)) goto gotoxy::@1 -- vbuz1_ge__deref_pbuc1_then_la1 lda.z x cmp __conio+4 bcs __b1 - // [525] phi from gotoxy gotoxy::@1 to gotoxy::@2 [phi:gotoxy/gotoxy::@1->gotoxy::@2] - // [525] phi gotoxy::$3 = gotoxy::x#24 [phi:gotoxy/gotoxy::@1->gotoxy::@2#0] -- register_copy + // [532] phi from gotoxy gotoxy::@1 to gotoxy::@2 [phi:gotoxy/gotoxy::@1->gotoxy::@2] + // [532] phi gotoxy::$3 = gotoxy::x#24 [phi:gotoxy/gotoxy::@1->gotoxy::@2#0] -- register_copy jmp __b2 // gotoxy::@1 __b1: - // [524] gotoxy::$2 = *((char *)&__conio+4) -- vbuz1=_deref_pbuc1 + // [531] gotoxy::$2 = *((char *)&__conio+4) -- vbuz1=_deref_pbuc1 lda __conio+4 sta.z __2 // gotoxy::@2 __b2: // __conio.cursor_x = (x>=__conio.width)?__conio.width:x - // [526] *((char *)&__conio+$d) = gotoxy::$3 -- _deref_pbuc1=vbuz1 + // [533] *((char *)&__conio+$d) = gotoxy::$3 -- _deref_pbuc1=vbuz1 lda.z __3 sta __conio+$d // (y>=__conio.height)?__conio.height:y - // [527] if(gotoxy::y#24>=*((char *)&__conio+5)) goto gotoxy::@3 -- vbuz1_ge__deref_pbuc1_then_la1 + // [534] if(gotoxy::y#24>=*((char *)&__conio+5)) goto gotoxy::@3 -- vbuz1_ge__deref_pbuc1_then_la1 lda.z y cmp __conio+5 bcs __b3 // gotoxy::@4 - // [528] gotoxy::$14 = gotoxy::y#24 -- vbuz1=vbuz2 + // [535] gotoxy::$14 = gotoxy::y#24 -- vbuz1=vbuz2 sta.z __14 - // [529] phi from gotoxy::@3 gotoxy::@4 to gotoxy::@5 [phi:gotoxy::@3/gotoxy::@4->gotoxy::@5] - // [529] phi gotoxy::$7 = gotoxy::$6 [phi:gotoxy::@3/gotoxy::@4->gotoxy::@5#0] -- register_copy + // [536] phi from gotoxy::@3 gotoxy::@4 to gotoxy::@5 [phi:gotoxy::@3/gotoxy::@4->gotoxy::@5] + // [536] phi gotoxy::$7 = gotoxy::$6 [phi:gotoxy::@3/gotoxy::@4->gotoxy::@5#0] -- register_copy // gotoxy::@5 __b5: // __conio.cursor_y = (y>=__conio.height)?__conio.height:y - // [530] *((char *)&__conio+$e) = gotoxy::$7 -- _deref_pbuc1=vbuz1 + // [537] *((char *)&__conio+$e) = gotoxy::$7 -- _deref_pbuc1=vbuz1 lda.z __7 sta __conio+$e // __conio.cursor_x << 1 - // [531] gotoxy::$8 = *((char *)&__conio+$d) << 1 -- vbuz1=_deref_pbuc1_rol_1 + // [538] gotoxy::$8 = *((char *)&__conio+$d) << 1 -- vbuz1=_deref_pbuc1_rol_1 lda __conio+$d asl sta.z __8 // __conio.offsets[y] + __conio.cursor_x << 1 - // [532] gotoxy::$10 = gotoxy::y#24 << 1 -- vbuz1=vbuz1_rol_1 + // [539] gotoxy::$10 = gotoxy::y#24 << 1 -- vbuz1=vbuz1_rol_1 asl.z __10 - // [533] gotoxy::$9 = ((unsigned int *)&__conio+$15)[gotoxy::$10] + gotoxy::$8 -- vwuz1=pwuc1_derefidx_vbuz2_plus_vbuz3 + // [540] gotoxy::$9 = ((unsigned int *)&__conio+$15)[gotoxy::$10] + gotoxy::$8 -- vwuz1=pwuc1_derefidx_vbuz2_plus_vbuz3 ldy.z __10 clc adc __conio+$15,y @@ -3655,19 +3748,19 @@ gotoxy: { adc #0 sta.z __9+1 // __conio.offset = __conio.offsets[y] + __conio.cursor_x << 1 - // [534] *((unsigned int *)&__conio+$13) = gotoxy::$9 -- _deref_pwuc1=vwuz1 + // [541] *((unsigned int *)&__conio+$13) = gotoxy::$9 -- _deref_pwuc1=vwuz1 lda.z __9 sta __conio+$13 lda.z __9+1 sta __conio+$13+1 // gotoxy::@return // } - // [535] return + // [542] return rts // gotoxy::@3 __b3: // (y>=__conio.height)?__conio.height:y - // [536] gotoxy::$6 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 + // [543] gotoxy::$6 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 lda __conio+5 sta.z __6 jmp __b5 @@ -3675,31 +3768,31 @@ gotoxy: { // cputln // Print a newline cputln: { - .label __2 = $b2 + .label __2 = $7b // __conio.cursor_x = 0 - // [537] *((char *)&__conio+$d) = 0 -- _deref_pbuc1=vbuc2 + // [544] *((char *)&__conio+$d) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta __conio+$d // __conio.cursor_y++; - // [538] *((char *)&__conio+$e) = ++ *((char *)&__conio+$e) -- _deref_pbuc1=_inc__deref_pbuc1 + // [545] *((char *)&__conio+$e) = ++ *((char *)&__conio+$e) -- _deref_pbuc1=_inc__deref_pbuc1 inc __conio+$e // __conio.offset = __conio.offsets[__conio.cursor_y] - // [539] cputln::$2 = *((char *)&__conio+$e) << 1 -- vbuz1=_deref_pbuc1_rol_1 + // [546] cputln::$2 = *((char *)&__conio+$e) << 1 -- vbuz1=_deref_pbuc1_rol_1 lda __conio+$e asl sta.z __2 - // [540] *((unsigned int *)&__conio+$13) = ((unsigned int *)&__conio+$15)[cputln::$2] -- _deref_pwuc1=pwuc2_derefidx_vbuz1 + // [547] *((unsigned int *)&__conio+$13) = ((unsigned int *)&__conio+$15)[cputln::$2] -- _deref_pwuc1=pwuc2_derefidx_vbuz1 tay lda __conio+$15,y sta __conio+$13 lda __conio+$15+1,y sta __conio+$13+1 // cscroll() - // [541] call cscroll + // [548] call cscroll jsr cscroll // cputln::@return // } - // [542] return + // [549] return rts } // cbm_x_charset @@ -3719,7 +3812,7 @@ cbm_x_charset: { jsr CX16_CHRSET // cbm_x_charset::@return // } - // [544] return + // [551] return rts .segment Data charset: .byte 0 @@ -3734,94 +3827,94 @@ cbm_x_charset: { scroll: { .const onoff = 0 // __conio.scroll[__conio.layer] = onoff - // [545] ((char *)&__conio+$f)[*((char *)&__conio)] = scroll::onoff#0 -- pbuc1_derefidx_(_deref_pbuc2)=vbuc3 + // [552] ((char *)&__conio+$f)[*((char *)&__conio)] = scroll::onoff#0 -- pbuc1_derefidx_(_deref_pbuc2)=vbuc3 lda #onoff ldy __conio sta __conio+$f,y // scroll::@return // } - // [546] return + // [553] return rts } // clrscr // clears the screen and moves the cursor to the upper left-hand corner of the screen. clrscr: { - .label __0 = $47 - .label __1 = $51 - .label __2 = $ae - .label line_text = $79 - .label l = $4b - .label ch = $79 - .label c = $4e + .label __0 = $2e + .label __1 = $68 + .label __2 = $af + .label line_text = $42 + .label l = $4f + .label ch = $42 + .label c = $57 // unsigned int line_text = __conio.mapbase_offset - // [547] clrscr::line_text#0 = *((unsigned int *)&__conio+1) -- vwuz1=_deref_pwuc1 + // [554] clrscr::line_text#0 = *((unsigned int *)&__conio+1) -- vwuz1=_deref_pwuc1 lda __conio+1 sta.z line_text lda __conio+1+1 sta.z line_text+1 // *VERA_CTRL &= ~VERA_ADDRSEL - // [548] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [555] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_ADDRSEL^$ff and VERA_CTRL sta VERA_CTRL // __conio.mapbase_bank | VERA_INC_1 - // [549] clrscr::$0 = *((char *)&__conio+3) | VERA_INC_1 -- vbuz1=_deref_pbuc1_bor_vbuc2 + // [556] clrscr::$0 = *((char *)&__conio+3) | VERA_INC_1 -- vbuz1=_deref_pbuc1_bor_vbuc2 lda #VERA_INC_1 ora __conio+3 sta.z __0 // *VERA_ADDRX_H = __conio.mapbase_bank | VERA_INC_1 - // [550] *VERA_ADDRX_H = clrscr::$0 -- _deref_pbuc1=vbuz1 + // [557] *VERA_ADDRX_H = clrscr::$0 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_H // unsigned char l = __conio.mapheight - // [551] clrscr::l#0 = *((char *)&__conio+7) -- vbuz1=_deref_pbuc1 + // [558] clrscr::l#0 = *((char *)&__conio+7) -- vbuz1=_deref_pbuc1 lda __conio+7 sta.z l - // [552] phi from clrscr clrscr::@3 to clrscr::@1 [phi:clrscr/clrscr::@3->clrscr::@1] - // [552] phi clrscr::l#4 = clrscr::l#0 [phi:clrscr/clrscr::@3->clrscr::@1#0] -- register_copy - // [552] phi clrscr::ch#0 = clrscr::line_text#0 [phi:clrscr/clrscr::@3->clrscr::@1#1] -- register_copy + // [559] phi from clrscr clrscr::@3 to clrscr::@1 [phi:clrscr/clrscr::@3->clrscr::@1] + // [559] phi clrscr::l#4 = clrscr::l#0 [phi:clrscr/clrscr::@3->clrscr::@1#0] -- register_copy + // [559] phi clrscr::ch#0 = clrscr::line_text#0 [phi:clrscr/clrscr::@3->clrscr::@1#1] -- register_copy // clrscr::@1 __b1: // BYTE0(ch) - // [553] clrscr::$1 = byte0 clrscr::ch#0 -- vbuz1=_byte0_vwuz2 + // [560] clrscr::$1 = byte0 clrscr::ch#0 -- vbuz1=_byte0_vwuz2 lda.z ch sta.z __1 // *VERA_ADDRX_L = BYTE0(ch) - // [554] *VERA_ADDRX_L = clrscr::$1 -- _deref_pbuc1=vbuz1 + // [561] *VERA_ADDRX_L = clrscr::$1 -- _deref_pbuc1=vbuz1 // Set address sta VERA_ADDRX_L // BYTE1(ch) - // [555] clrscr::$2 = byte1 clrscr::ch#0 -- vbuz1=_byte1_vwuz2 + // [562] clrscr::$2 = byte1 clrscr::ch#0 -- vbuz1=_byte1_vwuz2 lda.z ch+1 sta.z __2 // *VERA_ADDRX_M = BYTE1(ch) - // [556] *VERA_ADDRX_M = clrscr::$2 -- _deref_pbuc1=vbuz1 + // [563] *VERA_ADDRX_M = clrscr::$2 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_M // unsigned char c = __conio.mapwidth - // [557] clrscr::c#0 = *((char *)&__conio+6) -- vbuz1=_deref_pbuc1 + // [564] clrscr::c#0 = *((char *)&__conio+6) -- vbuz1=_deref_pbuc1 lda __conio+6 sta.z c - // [558] phi from clrscr::@1 clrscr::@2 to clrscr::@2 [phi:clrscr::@1/clrscr::@2->clrscr::@2] - // [558] phi clrscr::c#2 = clrscr::c#0 [phi:clrscr::@1/clrscr::@2->clrscr::@2#0] -- register_copy + // [565] phi from clrscr::@1 clrscr::@2 to clrscr::@2 [phi:clrscr::@1/clrscr::@2->clrscr::@2] + // [565] phi clrscr::c#2 = clrscr::c#0 [phi:clrscr::@1/clrscr::@2->clrscr::@2#0] -- register_copy // clrscr::@2 __b2: // *VERA_DATA0 = ' ' - // [559] *VERA_DATA0 = ' 'pm -- _deref_pbuc1=vbuc2 + // [566] *VERA_DATA0 = ' 'pm -- _deref_pbuc1=vbuc2 lda #' ' sta VERA_DATA0 // *VERA_DATA0 = __conio.color - // [560] *VERA_DATA0 = *((char *)&__conio+$b) -- _deref_pbuc1=_deref_pbuc2 + // [567] *VERA_DATA0 = *((char *)&__conio+$b) -- _deref_pbuc1=_deref_pbuc2 lda __conio+$b sta VERA_DATA0 // c--; - // [561] clrscr::c#1 = -- clrscr::c#2 -- vbuz1=_dec_vbuz1 + // [568] clrscr::c#1 = -- clrscr::c#2 -- vbuz1=_dec_vbuz1 dec.z c // while(c) - // [562] if(0!=clrscr::c#1) goto clrscr::@2 -- 0_neq_vbuz1_then_la1 + // [569] if(0!=clrscr::c#1) goto clrscr::@2 -- 0_neq_vbuz1_then_la1 lda.z c bne __b2 // clrscr::@3 // line_text += __conio.rowskip - // [563] clrscr::line_text#1 = clrscr::ch#0 + *((unsigned int *)&__conio+8) -- vwuz1=vwuz1_plus__deref_pwuc1 + // [570] clrscr::line_text#1 = clrscr::ch#0 + *((unsigned int *)&__conio+8) -- vwuz1=vwuz1_plus__deref_pwuc1 clc lda.z line_text adc __conio+8 @@ -3830,215 +3923,215 @@ clrscr: { adc __conio+8+1 sta.z line_text+1 // l--; - // [564] clrscr::l#1 = -- clrscr::l#4 -- vbuz1=_dec_vbuz1 + // [571] clrscr::l#1 = -- clrscr::l#4 -- vbuz1=_dec_vbuz1 dec.z l // while(l) - // [565] if(0!=clrscr::l#1) goto clrscr::@1 -- 0_neq_vbuz1_then_la1 + // [572] if(0!=clrscr::l#1) goto clrscr::@1 -- 0_neq_vbuz1_then_la1 lda.z l bne __b1 // clrscr::@4 // __conio.cursor_x = 0 - // [566] *((char *)&__conio+$d) = 0 -- _deref_pbuc1=vbuc2 + // [573] *((char *)&__conio+$d) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta __conio+$d // __conio.cursor_y = 0 - // [567] *((char *)&__conio+$e) = 0 -- _deref_pbuc1=vbuc2 + // [574] *((char *)&__conio+$e) = 0 -- _deref_pbuc1=vbuc2 sta __conio+$e // __conio.offset = __conio.mapbase_offset - // [568] *((unsigned int *)&__conio+$13) = *((unsigned int *)&__conio+1) -- _deref_pwuc1=_deref_pwuc2 + // [575] *((unsigned int *)&__conio+$13) = *((unsigned int *)&__conio+1) -- _deref_pwuc1=_deref_pwuc2 lda __conio+1 sta __conio+$13 lda __conio+1+1 sta __conio+$13+1 // clrscr::@return // } - // [569] return + // [576] return rts } // frame_draw frame_draw: { - .label x = $4b - .label x1 = $4e - .label y = $46 - .label x2 = $54 - .label y_1 = $2b - .label x3 = $af - .label y_2 = $55 - .label x4 = $37 - .label y_3 = $bc - .label x5 = $32 + .label x = $4f + .label x1 = $57 + .label y = $34 + .label x2 = $2b + .label y_1 = $78 + .label x3 = $77 + .label y_2 = $46 + .label x4 = $2a + .label y_3 = $39 + .label x5 = $33 // textcolor(WHITE) - // [571] call textcolor - // [504] phi from frame_draw to textcolor [phi:frame_draw->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:frame_draw->textcolor#0] -- vbuz1=vbuc1 + // [578] call textcolor + // [511] phi from frame_draw to textcolor [phi:frame_draw->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:frame_draw->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [572] phi from frame_draw to frame_draw::@27 [phi:frame_draw->frame_draw::@27] + // [579] phi from frame_draw to frame_draw::@27 [phi:frame_draw->frame_draw::@27] // frame_draw::@27 // bgcolor(BLUE) - // [573] call bgcolor - // [509] phi from frame_draw::@27 to bgcolor [phi:frame_draw::@27->bgcolor] - // [509] phi bgcolor::color#11 = BLUE [phi:frame_draw::@27->bgcolor#0] -- vbuz1=vbuc1 + // [580] call bgcolor + // [516] phi from frame_draw::@27 to bgcolor [phi:frame_draw::@27->bgcolor] + // [516] phi bgcolor::color#11 = BLUE [phi:frame_draw::@27->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor - // [574] phi from frame_draw::@27 to frame_draw::@28 [phi:frame_draw::@27->frame_draw::@28] + // [581] phi from frame_draw::@27 to frame_draw::@28 [phi:frame_draw::@27->frame_draw::@28] // frame_draw::@28 // clrscr() - // [575] call clrscr + // [582] call clrscr jsr clrscr - // [576] phi from frame_draw::@28 to frame_draw::@1 [phi:frame_draw::@28->frame_draw::@1] - // [576] phi frame_draw::x#2 = 0 [phi:frame_draw::@28->frame_draw::@1#0] -- vbuz1=vbuc1 + // [583] phi from frame_draw::@28 to frame_draw::@1 [phi:frame_draw::@28->frame_draw::@1] + // [583] phi frame_draw::x#2 = 0 [phi:frame_draw::@28->frame_draw::@1#0] -- vbuz1=vbuc1 lda #0 sta.z x // frame_draw::@1 __b1: // for (unsigned char x = 0; x < 79; x++) - // [577] if(frame_draw::x#2<$4f) goto frame_draw::@2 -- vbuz1_lt_vbuc1_then_la1 + // [584] if(frame_draw::x#2<$4f) goto frame_draw::@2 -- vbuz1_lt_vbuc1_then_la1 lda.z x cmp #$4f bcs !__b2+ jmp __b2 !__b2: - // [578] phi from frame_draw::@1 to frame_draw::@3 [phi:frame_draw::@1->frame_draw::@3] + // [585] phi from frame_draw::@1 to frame_draw::@3 [phi:frame_draw::@1->frame_draw::@3] // frame_draw::@3 // cputcxy(0, y, 0x70) - // [579] call cputcxy - // [1172] phi from frame_draw::@3 to cputcxy [phi:frame_draw::@3->cputcxy] - // [1172] phi cputcxy::c#68 = $70 [phi:frame_draw::@3->cputcxy#0] -- vbuz1=vbuc1 + // [586] call cputcxy + // [1179] phi from frame_draw::@3 to cputcxy [phi:frame_draw::@3->cputcxy] + // [1179] phi cputcxy::c#68 = $70 [phi:frame_draw::@3->cputcxy#0] -- vbuz1=vbuc1 lda #$70 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = 0 [phi:frame_draw::@3->cputcxy#1] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = 0 [phi:frame_draw::@3->cputcxy#1] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.y - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@3->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@3->cputcxy#2] -- vbuz1=vbuc1 sta.z cputcxy.x jsr cputcxy - // [580] phi from frame_draw::@3 to frame_draw::@30 [phi:frame_draw::@3->frame_draw::@30] + // [587] phi from frame_draw::@3 to frame_draw::@30 [phi:frame_draw::@3->frame_draw::@30] // frame_draw::@30 // cputcxy(79, y, 0x6E) - // [581] call cputcxy - // [1172] phi from frame_draw::@30 to cputcxy [phi:frame_draw::@30->cputcxy] - // [1172] phi cputcxy::c#68 = $6e [phi:frame_draw::@30->cputcxy#0] -- vbuz1=vbuc1 + // [588] call cputcxy + // [1179] phi from frame_draw::@30 to cputcxy [phi:frame_draw::@30->cputcxy] + // [1179] phi cputcxy::c#68 = $6e [phi:frame_draw::@30->cputcxy#0] -- vbuz1=vbuc1 lda #$6e sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = 0 [phi:frame_draw::@30->cputcxy#1] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = 0 [phi:frame_draw::@30->cputcxy#1] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.y - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@30->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@30->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy - // [582] phi from frame_draw::@30 to frame_draw::@31 [phi:frame_draw::@30->frame_draw::@31] + // [589] phi from frame_draw::@30 to frame_draw::@31 [phi:frame_draw::@30->frame_draw::@31] // frame_draw::@31 // cputcxy(0, y, 0x5d) - // [583] call cputcxy - // [1172] phi from frame_draw::@31 to cputcxy [phi:frame_draw::@31->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@31->cputcxy#0] -- vbuz1=vbuc1 + // [590] call cputcxy + // [1179] phi from frame_draw::@31 to cputcxy [phi:frame_draw::@31->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@31->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = 1 [phi:frame_draw::@31->cputcxy#1] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = 1 [phi:frame_draw::@31->cputcxy#1] -- vbuz1=vbuc1 lda #1 sta.z cputcxy.y - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@31->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@31->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy - // [584] phi from frame_draw::@31 to frame_draw::@32 [phi:frame_draw::@31->frame_draw::@32] + // [591] phi from frame_draw::@31 to frame_draw::@32 [phi:frame_draw::@31->frame_draw::@32] // frame_draw::@32 // cputcxy(79, y, 0x5d) - // [585] call cputcxy - // [1172] phi from frame_draw::@32 to cputcxy [phi:frame_draw::@32->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@32->cputcxy#0] -- vbuz1=vbuc1 + // [592] call cputcxy + // [1179] phi from frame_draw::@32 to cputcxy [phi:frame_draw::@32->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@32->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = 1 [phi:frame_draw::@32->cputcxy#1] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = 1 [phi:frame_draw::@32->cputcxy#1] -- vbuz1=vbuc1 lda #1 sta.z cputcxy.y - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@32->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@32->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy - // [586] phi from frame_draw::@32 to frame_draw::@4 [phi:frame_draw::@32->frame_draw::@4] - // [586] phi frame_draw::x1#2 = 0 [phi:frame_draw::@32->frame_draw::@4#0] -- vbuz1=vbuc1 + // [593] phi from frame_draw::@32 to frame_draw::@4 [phi:frame_draw::@32->frame_draw::@4] + // [593] phi frame_draw::x1#2 = 0 [phi:frame_draw::@32->frame_draw::@4#0] -- vbuz1=vbuc1 lda #0 sta.z x1 // frame_draw::@4 __b4: // for (unsigned char x = 0; x < 79; x++) - // [587] if(frame_draw::x1#2<$4f) goto frame_draw::@5 -- vbuz1_lt_vbuc1_then_la1 + // [594] if(frame_draw::x1#2<$4f) goto frame_draw::@5 -- vbuz1_lt_vbuc1_then_la1 lda.z x1 cmp #$4f bcs !__b5+ jmp __b5 !__b5: - // [588] phi from frame_draw::@4 to frame_draw::@6 [phi:frame_draw::@4->frame_draw::@6] + // [595] phi from frame_draw::@4 to frame_draw::@6 [phi:frame_draw::@4->frame_draw::@6] // frame_draw::@6 // cputcxy(0, y, 0x6B) - // [589] call cputcxy - // [1172] phi from frame_draw::@6 to cputcxy [phi:frame_draw::@6->cputcxy] - // [1172] phi cputcxy::c#68 = $6b [phi:frame_draw::@6->cputcxy#0] -- vbuz1=vbuc1 + // [596] call cputcxy + // [1179] phi from frame_draw::@6 to cputcxy [phi:frame_draw::@6->cputcxy] + // [1179] phi cputcxy::c#68 = $6b [phi:frame_draw::@6->cputcxy#0] -- vbuz1=vbuc1 lda #$6b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = 2 [phi:frame_draw::@6->cputcxy#1] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = 2 [phi:frame_draw::@6->cputcxy#1] -- vbuz1=vbuc1 lda #2 sta.z cputcxy.y - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@6->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@6->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy - // [590] phi from frame_draw::@6 to frame_draw::@34 [phi:frame_draw::@6->frame_draw::@34] + // [597] phi from frame_draw::@6 to frame_draw::@34 [phi:frame_draw::@6->frame_draw::@34] // frame_draw::@34 // cputcxy(79, y, 0x73) - // [591] call cputcxy - // [1172] phi from frame_draw::@34 to cputcxy [phi:frame_draw::@34->cputcxy] - // [1172] phi cputcxy::c#68 = $73 [phi:frame_draw::@34->cputcxy#0] -- vbuz1=vbuc1 + // [598] call cputcxy + // [1179] phi from frame_draw::@34 to cputcxy [phi:frame_draw::@34->cputcxy] + // [1179] phi cputcxy::c#68 = $73 [phi:frame_draw::@34->cputcxy#0] -- vbuz1=vbuc1 lda #$73 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = 2 [phi:frame_draw::@34->cputcxy#1] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = 2 [phi:frame_draw::@34->cputcxy#1] -- vbuz1=vbuc1 lda #2 sta.z cputcxy.y - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@34->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@34->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy - // [592] phi from frame_draw::@34 to frame_draw::@35 [phi:frame_draw::@34->frame_draw::@35] + // [599] phi from frame_draw::@34 to frame_draw::@35 [phi:frame_draw::@34->frame_draw::@35] // frame_draw::@35 // cputcxy(12, y, 0x72) - // [593] call cputcxy - // [1172] phi from frame_draw::@35 to cputcxy [phi:frame_draw::@35->cputcxy] - // [1172] phi cputcxy::c#68 = $72 [phi:frame_draw::@35->cputcxy#0] -- vbuz1=vbuc1 + // [600] call cputcxy + // [1179] phi from frame_draw::@35 to cputcxy [phi:frame_draw::@35->cputcxy] + // [1179] phi cputcxy::c#68 = $72 [phi:frame_draw::@35->cputcxy#0] -- vbuz1=vbuc1 lda #$72 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = 2 [phi:frame_draw::@35->cputcxy#1] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = 2 [phi:frame_draw::@35->cputcxy#1] -- vbuz1=vbuc1 lda #2 sta.z cputcxy.y - // [1172] phi cputcxy::x#68 = $c [phi:frame_draw::@35->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::x#68 = $c [phi:frame_draw::@35->cputcxy#2] -- vbuz1=vbuc1 lda #$c sta.z cputcxy.x jsr cputcxy - // [594] phi from frame_draw::@35 to frame_draw::@7 [phi:frame_draw::@35->frame_draw::@7] - // [594] phi frame_draw::y#101 = 3 [phi:frame_draw::@35->frame_draw::@7#0] -- vbuz1=vbuc1 + // [601] phi from frame_draw::@35 to frame_draw::@7 [phi:frame_draw::@35->frame_draw::@7] + // [601] phi frame_draw::y#101 = 3 [phi:frame_draw::@35->frame_draw::@7#0] -- vbuz1=vbuc1 lda #3 sta.z y // frame_draw::@7 __b7: // for (; y < 37; y++) - // [595] if(frame_draw::y#101<$25) goto frame_draw::@8 -- vbuz1_lt_vbuc1_then_la1 + // [602] if(frame_draw::y#101<$25) goto frame_draw::@8 -- vbuz1_lt_vbuc1_then_la1 lda.z y cmp #$25 bcs !__b8+ jmp __b8 !__b8: - // [596] phi from frame_draw::@7 to frame_draw::@9 [phi:frame_draw::@7->frame_draw::@9] - // [596] phi frame_draw::x2#2 = 0 [phi:frame_draw::@7->frame_draw::@9#0] -- vbuz1=vbuc1 + // [603] phi from frame_draw::@7 to frame_draw::@9 [phi:frame_draw::@7->frame_draw::@9] + // [603] phi frame_draw::x2#2 = 0 [phi:frame_draw::@7->frame_draw::@9#0] -- vbuz1=vbuc1 lda #0 sta.z x2 // frame_draw::@9 __b9: // for (unsigned char x = 0; x < 79; x++) - // [597] if(frame_draw::x2#2<$4f) goto frame_draw::@10 -- vbuz1_lt_vbuc1_then_la1 + // [604] if(frame_draw::x2#2<$4f) goto frame_draw::@10 -- vbuz1_lt_vbuc1_then_la1 lda.z x2 cmp #$4f bcs !__b10+ @@ -4046,74 +4139,74 @@ frame_draw: { !__b10: // frame_draw::@11 // cputcxy(0, y, 0x6B) - // [598] cputcxy::y#13 = frame_draw::y#101 -- vbuz1=vbuz2 + // [605] cputcxy::y#13 = frame_draw::y#101 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [599] call cputcxy - // [1172] phi from frame_draw::@11 to cputcxy [phi:frame_draw::@11->cputcxy] - // [1172] phi cputcxy::c#68 = $6b [phi:frame_draw::@11->cputcxy#0] -- vbuz1=vbuc1 + // [606] call cputcxy + // [1179] phi from frame_draw::@11 to cputcxy [phi:frame_draw::@11->cputcxy] + // [1179] phi cputcxy::c#68 = $6b [phi:frame_draw::@11->cputcxy#0] -- vbuz1=vbuc1 lda #$6b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#13 [phi:frame_draw::@11->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@11->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#13 [phi:frame_draw::@11->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@11->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy // frame_draw::@40 // cputcxy(79, y, 0x73) - // [600] cputcxy::y#14 = frame_draw::y#101 -- vbuz1=vbuz2 + // [607] cputcxy::y#14 = frame_draw::y#101 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [601] call cputcxy - // [1172] phi from frame_draw::@40 to cputcxy [phi:frame_draw::@40->cputcxy] - // [1172] phi cputcxy::c#68 = $73 [phi:frame_draw::@40->cputcxy#0] -- vbuz1=vbuc1 + // [608] call cputcxy + // [1179] phi from frame_draw::@40 to cputcxy [phi:frame_draw::@40->cputcxy] + // [1179] phi cputcxy::c#68 = $73 [phi:frame_draw::@40->cputcxy#0] -- vbuz1=vbuc1 lda #$73 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#14 [phi:frame_draw::@40->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@40->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#14 [phi:frame_draw::@40->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@40->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@41 // cputcxy(12, y, 0x71) - // [602] cputcxy::y#15 = frame_draw::y#101 -- vbuz1=vbuz2 + // [609] cputcxy::y#15 = frame_draw::y#101 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [603] call cputcxy - // [1172] phi from frame_draw::@41 to cputcxy [phi:frame_draw::@41->cputcxy] - // [1172] phi cputcxy::c#68 = $71 [phi:frame_draw::@41->cputcxy#0] -- vbuz1=vbuc1 + // [610] call cputcxy + // [1179] phi from frame_draw::@41 to cputcxy [phi:frame_draw::@41->cputcxy] + // [1179] phi cputcxy::c#68 = $71 [phi:frame_draw::@41->cputcxy#0] -- vbuz1=vbuc1 lda #$71 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#15 [phi:frame_draw::@41->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $c [phi:frame_draw::@41->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#15 [phi:frame_draw::@41->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $c [phi:frame_draw::@41->cputcxy#2] -- vbuz1=vbuc1 lda #$c sta.z cputcxy.x jsr cputcxy // frame_draw::@42 // y++; - // [604] frame_draw::y#5 = ++ frame_draw::y#101 -- vbuz1=_inc_vbuz2 + // [611] frame_draw::y#5 = ++ frame_draw::y#101 -- vbuz1=_inc_vbuz2 lda.z y inc sta.z y_1 - // [605] phi from frame_draw::@42 frame_draw::@44 to frame_draw::@12 [phi:frame_draw::@42/frame_draw::@44->frame_draw::@12] - // [605] phi frame_draw::y#102 = frame_draw::y#5 [phi:frame_draw::@42/frame_draw::@44->frame_draw::@12#0] -- register_copy + // [612] phi from frame_draw::@42 frame_draw::@44 to frame_draw::@12 [phi:frame_draw::@42/frame_draw::@44->frame_draw::@12] + // [612] phi frame_draw::y#102 = frame_draw::y#5 [phi:frame_draw::@42/frame_draw::@44->frame_draw::@12#0] -- register_copy // frame_draw::@12 __b12: // for (; y < 41; y++) - // [606] if(frame_draw::y#102<$29) goto frame_draw::@13 -- vbuz1_lt_vbuc1_then_la1 + // [613] if(frame_draw::y#102<$29) goto frame_draw::@13 -- vbuz1_lt_vbuc1_then_la1 lda.z y_1 cmp #$29 bcs !__b13+ jmp __b13 !__b13: - // [607] phi from frame_draw::@12 to frame_draw::@14 [phi:frame_draw::@12->frame_draw::@14] - // [607] phi frame_draw::x3#2 = 0 [phi:frame_draw::@12->frame_draw::@14#0] -- vbuz1=vbuc1 + // [614] phi from frame_draw::@12 to frame_draw::@14 [phi:frame_draw::@12->frame_draw::@14] + // [614] phi frame_draw::x3#2 = 0 [phi:frame_draw::@12->frame_draw::@14#0] -- vbuz1=vbuc1 lda #0 sta.z x3 // frame_draw::@14 __b14: // for (unsigned char x = 0; x < 79; x++) - // [608] if(frame_draw::x3#2<$4f) goto frame_draw::@15 -- vbuz1_lt_vbuc1_then_la1 + // [615] if(frame_draw::x3#2<$4f) goto frame_draw::@15 -- vbuz1_lt_vbuc1_then_la1 lda.z x3 cmp #$4f bcs !__b15+ @@ -4121,179 +4214,179 @@ frame_draw: { !__b15: // frame_draw::@16 // cputcxy(0, y, 0x6B) - // [609] cputcxy::y#19 = frame_draw::y#102 -- vbuz1=vbuz2 + // [616] cputcxy::y#19 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [610] call cputcxy - // [1172] phi from frame_draw::@16 to cputcxy [phi:frame_draw::@16->cputcxy] - // [1172] phi cputcxy::c#68 = $6b [phi:frame_draw::@16->cputcxy#0] -- vbuz1=vbuc1 + // [617] call cputcxy + // [1179] phi from frame_draw::@16 to cputcxy [phi:frame_draw::@16->cputcxy] + // [1179] phi cputcxy::c#68 = $6b [phi:frame_draw::@16->cputcxy#0] -- vbuz1=vbuc1 lda #$6b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#19 [phi:frame_draw::@16->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@16->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#19 [phi:frame_draw::@16->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@16->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy // frame_draw::@46 // cputcxy(79, y, 0x73) - // [611] cputcxy::y#20 = frame_draw::y#102 -- vbuz1=vbuz2 + // [618] cputcxy::y#20 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [612] call cputcxy - // [1172] phi from frame_draw::@46 to cputcxy [phi:frame_draw::@46->cputcxy] - // [1172] phi cputcxy::c#68 = $73 [phi:frame_draw::@46->cputcxy#0] -- vbuz1=vbuc1 + // [619] call cputcxy + // [1179] phi from frame_draw::@46 to cputcxy [phi:frame_draw::@46->cputcxy] + // [1179] phi cputcxy::c#68 = $73 [phi:frame_draw::@46->cputcxy#0] -- vbuz1=vbuc1 lda #$73 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#20 [phi:frame_draw::@46->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@46->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#20 [phi:frame_draw::@46->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@46->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@47 // cputcxy(10, y, 0x72) - // [613] cputcxy::y#21 = frame_draw::y#102 -- vbuz1=vbuz2 + // [620] cputcxy::y#21 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [614] call cputcxy - // [1172] phi from frame_draw::@47 to cputcxy [phi:frame_draw::@47->cputcxy] - // [1172] phi cputcxy::c#68 = $72 [phi:frame_draw::@47->cputcxy#0] -- vbuz1=vbuc1 + // [621] call cputcxy + // [1179] phi from frame_draw::@47 to cputcxy [phi:frame_draw::@47->cputcxy] + // [1179] phi cputcxy::c#68 = $72 [phi:frame_draw::@47->cputcxy#0] -- vbuz1=vbuc1 lda #$72 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#21 [phi:frame_draw::@47->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $a [phi:frame_draw::@47->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#21 [phi:frame_draw::@47->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $a [phi:frame_draw::@47->cputcxy#2] -- vbuz1=vbuc1 lda #$a sta.z cputcxy.x jsr cputcxy // frame_draw::@48 // cputcxy(20, y, 0x72) - // [615] cputcxy::y#22 = frame_draw::y#102 -- vbuz1=vbuz2 + // [622] cputcxy::y#22 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [616] call cputcxy - // [1172] phi from frame_draw::@48 to cputcxy [phi:frame_draw::@48->cputcxy] - // [1172] phi cputcxy::c#68 = $72 [phi:frame_draw::@48->cputcxy#0] -- vbuz1=vbuc1 + // [623] call cputcxy + // [1179] phi from frame_draw::@48 to cputcxy [phi:frame_draw::@48->cputcxy] + // [1179] phi cputcxy::c#68 = $72 [phi:frame_draw::@48->cputcxy#0] -- vbuz1=vbuc1 lda #$72 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#22 [phi:frame_draw::@48->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $14 [phi:frame_draw::@48->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#22 [phi:frame_draw::@48->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $14 [phi:frame_draw::@48->cputcxy#2] -- vbuz1=vbuc1 lda #$14 sta.z cputcxy.x jsr cputcxy // frame_draw::@49 // cputcxy(30, y, 0x72) - // [617] cputcxy::y#23 = frame_draw::y#102 -- vbuz1=vbuz2 + // [624] cputcxy::y#23 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [618] call cputcxy - // [1172] phi from frame_draw::@49 to cputcxy [phi:frame_draw::@49->cputcxy] - // [1172] phi cputcxy::c#68 = $72 [phi:frame_draw::@49->cputcxy#0] -- vbuz1=vbuc1 + // [625] call cputcxy + // [1179] phi from frame_draw::@49 to cputcxy [phi:frame_draw::@49->cputcxy] + // [1179] phi cputcxy::c#68 = $72 [phi:frame_draw::@49->cputcxy#0] -- vbuz1=vbuc1 lda #$72 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#23 [phi:frame_draw::@49->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $1e [phi:frame_draw::@49->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#23 [phi:frame_draw::@49->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $1e [phi:frame_draw::@49->cputcxy#2] -- vbuz1=vbuc1 lda #$1e sta.z cputcxy.x jsr cputcxy // frame_draw::@50 // cputcxy(40, y, 0x72) - // [619] cputcxy::y#24 = frame_draw::y#102 -- vbuz1=vbuz2 + // [626] cputcxy::y#24 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [620] call cputcxy - // [1172] phi from frame_draw::@50 to cputcxy [phi:frame_draw::@50->cputcxy] - // [1172] phi cputcxy::c#68 = $72 [phi:frame_draw::@50->cputcxy#0] -- vbuz1=vbuc1 + // [627] call cputcxy + // [1179] phi from frame_draw::@50 to cputcxy [phi:frame_draw::@50->cputcxy] + // [1179] phi cputcxy::c#68 = $72 [phi:frame_draw::@50->cputcxy#0] -- vbuz1=vbuc1 lda #$72 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#24 [phi:frame_draw::@50->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $28 [phi:frame_draw::@50->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#24 [phi:frame_draw::@50->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $28 [phi:frame_draw::@50->cputcxy#2] -- vbuz1=vbuc1 lda #$28 sta.z cputcxy.x jsr cputcxy // frame_draw::@51 // cputcxy(50, y, 0x72) - // [621] cputcxy::y#25 = frame_draw::y#102 -- vbuz1=vbuz2 + // [628] cputcxy::y#25 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [622] call cputcxy - // [1172] phi from frame_draw::@51 to cputcxy [phi:frame_draw::@51->cputcxy] - // [1172] phi cputcxy::c#68 = $72 [phi:frame_draw::@51->cputcxy#0] -- vbuz1=vbuc1 + // [629] call cputcxy + // [1179] phi from frame_draw::@51 to cputcxy [phi:frame_draw::@51->cputcxy] + // [1179] phi cputcxy::c#68 = $72 [phi:frame_draw::@51->cputcxy#0] -- vbuz1=vbuc1 lda #$72 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#25 [phi:frame_draw::@51->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $32 [phi:frame_draw::@51->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#25 [phi:frame_draw::@51->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $32 [phi:frame_draw::@51->cputcxy#2] -- vbuz1=vbuc1 lda #$32 sta.z cputcxy.x jsr cputcxy // frame_draw::@52 // cputcxy(60, y, 0x72) - // [623] cputcxy::y#26 = frame_draw::y#102 -- vbuz1=vbuz2 + // [630] cputcxy::y#26 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [624] call cputcxy - // [1172] phi from frame_draw::@52 to cputcxy [phi:frame_draw::@52->cputcxy] - // [1172] phi cputcxy::c#68 = $72 [phi:frame_draw::@52->cputcxy#0] -- vbuz1=vbuc1 + // [631] call cputcxy + // [1179] phi from frame_draw::@52 to cputcxy [phi:frame_draw::@52->cputcxy] + // [1179] phi cputcxy::c#68 = $72 [phi:frame_draw::@52->cputcxy#0] -- vbuz1=vbuc1 lda #$72 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#26 [phi:frame_draw::@52->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $3c [phi:frame_draw::@52->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#26 [phi:frame_draw::@52->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $3c [phi:frame_draw::@52->cputcxy#2] -- vbuz1=vbuc1 lda #$3c sta.z cputcxy.x jsr cputcxy // frame_draw::@53 // cputcxy(70, y, 0x72) - // [625] cputcxy::y#27 = frame_draw::y#102 -- vbuz1=vbuz2 + // [632] cputcxy::y#27 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [626] call cputcxy - // [1172] phi from frame_draw::@53 to cputcxy [phi:frame_draw::@53->cputcxy] - // [1172] phi cputcxy::c#68 = $72 [phi:frame_draw::@53->cputcxy#0] -- vbuz1=vbuc1 + // [633] call cputcxy + // [1179] phi from frame_draw::@53 to cputcxy [phi:frame_draw::@53->cputcxy] + // [1179] phi cputcxy::c#68 = $72 [phi:frame_draw::@53->cputcxy#0] -- vbuz1=vbuc1 lda #$72 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#27 [phi:frame_draw::@53->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $46 [phi:frame_draw::@53->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#27 [phi:frame_draw::@53->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $46 [phi:frame_draw::@53->cputcxy#2] -- vbuz1=vbuc1 lda #$46 sta.z cputcxy.x jsr cputcxy // frame_draw::@54 // cputcxy(79, y, 0x73) - // [627] cputcxy::y#28 = frame_draw::y#102 -- vbuz1=vbuz2 + // [634] cputcxy::y#28 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [628] call cputcxy - // [1172] phi from frame_draw::@54 to cputcxy [phi:frame_draw::@54->cputcxy] - // [1172] phi cputcxy::c#68 = $73 [phi:frame_draw::@54->cputcxy#0] -- vbuz1=vbuc1 + // [635] call cputcxy + // [1179] phi from frame_draw::@54 to cputcxy [phi:frame_draw::@54->cputcxy] + // [1179] phi cputcxy::c#68 = $73 [phi:frame_draw::@54->cputcxy#0] -- vbuz1=vbuc1 lda #$73 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#28 [phi:frame_draw::@54->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@54->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#28 [phi:frame_draw::@54->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@54->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@55 // y++; - // [629] frame_draw::y#7 = ++ frame_draw::y#102 -- vbuz1=_inc_vbuz2 + // [636] frame_draw::y#7 = ++ frame_draw::y#102 -- vbuz1=_inc_vbuz2 lda.z y_1 inc sta.z y_2 - // [630] phi from frame_draw::@55 frame_draw::@64 to frame_draw::@17 [phi:frame_draw::@55/frame_draw::@64->frame_draw::@17] - // [630] phi frame_draw::y#104 = frame_draw::y#7 [phi:frame_draw::@55/frame_draw::@64->frame_draw::@17#0] -- register_copy + // [637] phi from frame_draw::@55 frame_draw::@64 to frame_draw::@17 [phi:frame_draw::@55/frame_draw::@64->frame_draw::@17] + // [637] phi frame_draw::y#104 = frame_draw::y#7 [phi:frame_draw::@55/frame_draw::@64->frame_draw::@17#0] -- register_copy // frame_draw::@17 __b17: // for (; y < 55; y++) - // [631] if(frame_draw::y#104<$37) goto frame_draw::@18 -- vbuz1_lt_vbuc1_then_la1 + // [638] if(frame_draw::y#104<$37) goto frame_draw::@18 -- vbuz1_lt_vbuc1_then_la1 lda.z y_2 cmp #$37 bcs !__b18+ jmp __b18 !__b18: - // [632] phi from frame_draw::@17 to frame_draw::@19 [phi:frame_draw::@17->frame_draw::@19] - // [632] phi frame_draw::x4#2 = 0 [phi:frame_draw::@17->frame_draw::@19#0] -- vbuz1=vbuc1 + // [639] phi from frame_draw::@17 to frame_draw::@19 [phi:frame_draw::@17->frame_draw::@19] + // [639] phi frame_draw::x4#2 = 0 [phi:frame_draw::@17->frame_draw::@19#0] -- vbuz1=vbuc1 lda #0 sta.z x4 // frame_draw::@19 __b19: // for (unsigned char x = 0; x < 79; x++) - // [633] if(frame_draw::x4#2<$4f) goto frame_draw::@20 -- vbuz1_lt_vbuc1_then_la1 + // [640] if(frame_draw::x4#2<$4f) goto frame_draw::@20 -- vbuz1_lt_vbuc1_then_la1 lda.z x4 cmp #$4f bcs !__b20+ @@ -4301,164 +4394,164 @@ frame_draw: { !__b20: // frame_draw::@21 // cputcxy(0, y, 0x6B) - // [634] cputcxy::y#39 = frame_draw::y#104 -- vbuz1=vbuz2 + // [641] cputcxy::y#39 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [635] call cputcxy - // [1172] phi from frame_draw::@21 to cputcxy [phi:frame_draw::@21->cputcxy] - // [1172] phi cputcxy::c#68 = $6b [phi:frame_draw::@21->cputcxy#0] -- vbuz1=vbuc1 + // [642] call cputcxy + // [1179] phi from frame_draw::@21 to cputcxy [phi:frame_draw::@21->cputcxy] + // [1179] phi cputcxy::c#68 = $6b [phi:frame_draw::@21->cputcxy#0] -- vbuz1=vbuc1 lda #$6b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#39 [phi:frame_draw::@21->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@21->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#39 [phi:frame_draw::@21->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@21->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy // frame_draw::@66 // cputcxy(79, y, 0x73) - // [636] cputcxy::y#40 = frame_draw::y#104 -- vbuz1=vbuz2 + // [643] cputcxy::y#40 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [637] call cputcxy - // [1172] phi from frame_draw::@66 to cputcxy [phi:frame_draw::@66->cputcxy] - // [1172] phi cputcxy::c#68 = $73 [phi:frame_draw::@66->cputcxy#0] -- vbuz1=vbuc1 + // [644] call cputcxy + // [1179] phi from frame_draw::@66 to cputcxy [phi:frame_draw::@66->cputcxy] + // [1179] phi cputcxy::c#68 = $73 [phi:frame_draw::@66->cputcxy#0] -- vbuz1=vbuc1 lda #$73 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#40 [phi:frame_draw::@66->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@66->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#40 [phi:frame_draw::@66->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@66->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@67 // cputcxy(10, y, 0x5B) - // [638] cputcxy::y#41 = frame_draw::y#104 -- vbuz1=vbuz2 + // [645] cputcxy::y#41 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [639] call cputcxy - // [1172] phi from frame_draw::@67 to cputcxy [phi:frame_draw::@67->cputcxy] - // [1172] phi cputcxy::c#68 = $5b [phi:frame_draw::@67->cputcxy#0] -- vbuz1=vbuc1 + // [646] call cputcxy + // [1179] phi from frame_draw::@67 to cputcxy [phi:frame_draw::@67->cputcxy] + // [1179] phi cputcxy::c#68 = $5b [phi:frame_draw::@67->cputcxy#0] -- vbuz1=vbuc1 lda #$5b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#41 [phi:frame_draw::@67->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $a [phi:frame_draw::@67->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#41 [phi:frame_draw::@67->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $a [phi:frame_draw::@67->cputcxy#2] -- vbuz1=vbuc1 lda #$a sta.z cputcxy.x jsr cputcxy // frame_draw::@68 // cputcxy(20, y, 0x5B) - // [640] cputcxy::y#42 = frame_draw::y#104 -- vbuz1=vbuz2 + // [647] cputcxy::y#42 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [641] call cputcxy - // [1172] phi from frame_draw::@68 to cputcxy [phi:frame_draw::@68->cputcxy] - // [1172] phi cputcxy::c#68 = $5b [phi:frame_draw::@68->cputcxy#0] -- vbuz1=vbuc1 + // [648] call cputcxy + // [1179] phi from frame_draw::@68 to cputcxy [phi:frame_draw::@68->cputcxy] + // [1179] phi cputcxy::c#68 = $5b [phi:frame_draw::@68->cputcxy#0] -- vbuz1=vbuc1 lda #$5b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#42 [phi:frame_draw::@68->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $14 [phi:frame_draw::@68->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#42 [phi:frame_draw::@68->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $14 [phi:frame_draw::@68->cputcxy#2] -- vbuz1=vbuc1 lda #$14 sta.z cputcxy.x jsr cputcxy // frame_draw::@69 // cputcxy(30, y, 0x5B) - // [642] cputcxy::y#43 = frame_draw::y#104 -- vbuz1=vbuz2 + // [649] cputcxy::y#43 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [643] call cputcxy - // [1172] phi from frame_draw::@69 to cputcxy [phi:frame_draw::@69->cputcxy] - // [1172] phi cputcxy::c#68 = $5b [phi:frame_draw::@69->cputcxy#0] -- vbuz1=vbuc1 + // [650] call cputcxy + // [1179] phi from frame_draw::@69 to cputcxy [phi:frame_draw::@69->cputcxy] + // [1179] phi cputcxy::c#68 = $5b [phi:frame_draw::@69->cputcxy#0] -- vbuz1=vbuc1 lda #$5b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#43 [phi:frame_draw::@69->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $1e [phi:frame_draw::@69->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#43 [phi:frame_draw::@69->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $1e [phi:frame_draw::@69->cputcxy#2] -- vbuz1=vbuc1 lda #$1e sta.z cputcxy.x jsr cputcxy // frame_draw::@70 // cputcxy(40, y, 0x5B) - // [644] cputcxy::y#44 = frame_draw::y#104 -- vbuz1=vbuz2 + // [651] cputcxy::y#44 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [645] call cputcxy - // [1172] phi from frame_draw::@70 to cputcxy [phi:frame_draw::@70->cputcxy] - // [1172] phi cputcxy::c#68 = $5b [phi:frame_draw::@70->cputcxy#0] -- vbuz1=vbuc1 + // [652] call cputcxy + // [1179] phi from frame_draw::@70 to cputcxy [phi:frame_draw::@70->cputcxy] + // [1179] phi cputcxy::c#68 = $5b [phi:frame_draw::@70->cputcxy#0] -- vbuz1=vbuc1 lda #$5b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#44 [phi:frame_draw::@70->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $28 [phi:frame_draw::@70->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#44 [phi:frame_draw::@70->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $28 [phi:frame_draw::@70->cputcxy#2] -- vbuz1=vbuc1 lda #$28 sta.z cputcxy.x jsr cputcxy // frame_draw::@71 // cputcxy(50, y, 0x5B) - // [646] cputcxy::y#45 = frame_draw::y#104 -- vbuz1=vbuz2 + // [653] cputcxy::y#45 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [647] call cputcxy - // [1172] phi from frame_draw::@71 to cputcxy [phi:frame_draw::@71->cputcxy] - // [1172] phi cputcxy::c#68 = $5b [phi:frame_draw::@71->cputcxy#0] -- vbuz1=vbuc1 + // [654] call cputcxy + // [1179] phi from frame_draw::@71 to cputcxy [phi:frame_draw::@71->cputcxy] + // [1179] phi cputcxy::c#68 = $5b [phi:frame_draw::@71->cputcxy#0] -- vbuz1=vbuc1 lda #$5b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#45 [phi:frame_draw::@71->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $32 [phi:frame_draw::@71->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#45 [phi:frame_draw::@71->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $32 [phi:frame_draw::@71->cputcxy#2] -- vbuz1=vbuc1 lda #$32 sta.z cputcxy.x jsr cputcxy // frame_draw::@72 // cputcxy(60, y, 0x5B) - // [648] cputcxy::y#46 = frame_draw::y#104 -- vbuz1=vbuz2 + // [655] cputcxy::y#46 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [649] call cputcxy - // [1172] phi from frame_draw::@72 to cputcxy [phi:frame_draw::@72->cputcxy] - // [1172] phi cputcxy::c#68 = $5b [phi:frame_draw::@72->cputcxy#0] -- vbuz1=vbuc1 + // [656] call cputcxy + // [1179] phi from frame_draw::@72 to cputcxy [phi:frame_draw::@72->cputcxy] + // [1179] phi cputcxy::c#68 = $5b [phi:frame_draw::@72->cputcxy#0] -- vbuz1=vbuc1 lda #$5b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#46 [phi:frame_draw::@72->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $3c [phi:frame_draw::@72->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#46 [phi:frame_draw::@72->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $3c [phi:frame_draw::@72->cputcxy#2] -- vbuz1=vbuc1 lda #$3c sta.z cputcxy.x jsr cputcxy // frame_draw::@73 // cputcxy(70, y, 0x5B) - // [650] cputcxy::y#47 = frame_draw::y#104 -- vbuz1=vbuz2 + // [657] cputcxy::y#47 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [651] call cputcxy - // [1172] phi from frame_draw::@73 to cputcxy [phi:frame_draw::@73->cputcxy] - // [1172] phi cputcxy::c#68 = $5b [phi:frame_draw::@73->cputcxy#0] -- vbuz1=vbuc1 + // [658] call cputcxy + // [1179] phi from frame_draw::@73 to cputcxy [phi:frame_draw::@73->cputcxy] + // [1179] phi cputcxy::c#68 = $5b [phi:frame_draw::@73->cputcxy#0] -- vbuz1=vbuc1 lda #$5b sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#47 [phi:frame_draw::@73->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $46 [phi:frame_draw::@73->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#47 [phi:frame_draw::@73->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $46 [phi:frame_draw::@73->cputcxy#2] -- vbuz1=vbuc1 lda #$46 sta.z cputcxy.x jsr cputcxy // frame_draw::@74 // y++; - // [652] frame_draw::y#9 = ++ frame_draw::y#104 -- vbuz1=_inc_vbuz2 + // [659] frame_draw::y#9 = ++ frame_draw::y#104 -- vbuz1=_inc_vbuz2 lda.z y_2 inc sta.z y_3 - // [653] phi from frame_draw::@74 frame_draw::@83 to frame_draw::@22 [phi:frame_draw::@74/frame_draw::@83->frame_draw::@22] - // [653] phi frame_draw::y#106 = frame_draw::y#9 [phi:frame_draw::@74/frame_draw::@83->frame_draw::@22#0] -- register_copy + // [660] phi from frame_draw::@74 frame_draw::@83 to frame_draw::@22 [phi:frame_draw::@74/frame_draw::@83->frame_draw::@22] + // [660] phi frame_draw::y#106 = frame_draw::y#9 [phi:frame_draw::@74/frame_draw::@83->frame_draw::@22#0] -- register_copy // frame_draw::@22 __b22: // for (; y < 59; y++) - // [654] if(frame_draw::y#106<$3b) goto frame_draw::@23 -- vbuz1_lt_vbuc1_then_la1 + // [661] if(frame_draw::y#106<$3b) goto frame_draw::@23 -- vbuz1_lt_vbuc1_then_la1 lda.z y_3 cmp #$3b bcs !__b23+ jmp __b23 !__b23: - // [655] phi from frame_draw::@22 to frame_draw::@24 [phi:frame_draw::@22->frame_draw::@24] - // [655] phi frame_draw::x5#2 = 0 [phi:frame_draw::@22->frame_draw::@24#0] -- vbuz1=vbuc1 + // [662] phi from frame_draw::@22 to frame_draw::@24 [phi:frame_draw::@22->frame_draw::@24] + // [662] phi frame_draw::x5#2 = 0 [phi:frame_draw::@22->frame_draw::@24#0] -- vbuz1=vbuc1 lda #0 sta.z x5 // frame_draw::@24 __b24: // for (unsigned char x = 0; x < 79; x++) - // [656] if(frame_draw::x5#2<$4f) goto frame_draw::@25 -- vbuz1_lt_vbuc1_then_la1 + // [663] if(frame_draw::x5#2<$4f) goto frame_draw::@25 -- vbuz1_lt_vbuc1_then_la1 lda.z x5 cmp #$4f bcs !__b25+ @@ -4466,707 +4559,707 @@ frame_draw: { !__b25: // frame_draw::@26 // cputcxy(0, y, 0x6D) - // [657] cputcxy::y#58 = frame_draw::y#106 -- vbuz1=vbuz2 + // [664] cputcxy::y#58 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [658] call cputcxy - // [1172] phi from frame_draw::@26 to cputcxy [phi:frame_draw::@26->cputcxy] - // [1172] phi cputcxy::c#68 = $6d [phi:frame_draw::@26->cputcxy#0] -- vbuz1=vbuc1 + // [665] call cputcxy + // [1179] phi from frame_draw::@26 to cputcxy [phi:frame_draw::@26->cputcxy] + // [1179] phi cputcxy::c#68 = $6d [phi:frame_draw::@26->cputcxy#0] -- vbuz1=vbuc1 lda #$6d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#58 [phi:frame_draw::@26->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@26->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#58 [phi:frame_draw::@26->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@26->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy // frame_draw::@85 // cputcxy(79, y, 0x7D) - // [659] cputcxy::y#59 = frame_draw::y#106 -- vbuz1=vbuz2 + // [666] cputcxy::y#59 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [660] call cputcxy - // [1172] phi from frame_draw::@85 to cputcxy [phi:frame_draw::@85->cputcxy] - // [1172] phi cputcxy::c#68 = $7d [phi:frame_draw::@85->cputcxy#0] -- vbuz1=vbuc1 + // [667] call cputcxy + // [1179] phi from frame_draw::@85 to cputcxy [phi:frame_draw::@85->cputcxy] + // [1179] phi cputcxy::c#68 = $7d [phi:frame_draw::@85->cputcxy#0] -- vbuz1=vbuc1 lda #$7d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#59 [phi:frame_draw::@85->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@85->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#59 [phi:frame_draw::@85->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@85->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@86 // cputcxy(10, y, 0x71) - // [661] cputcxy::y#60 = frame_draw::y#106 -- vbuz1=vbuz2 + // [668] cputcxy::y#60 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [662] call cputcxy - // [1172] phi from frame_draw::@86 to cputcxy [phi:frame_draw::@86->cputcxy] - // [1172] phi cputcxy::c#68 = $71 [phi:frame_draw::@86->cputcxy#0] -- vbuz1=vbuc1 + // [669] call cputcxy + // [1179] phi from frame_draw::@86 to cputcxy [phi:frame_draw::@86->cputcxy] + // [1179] phi cputcxy::c#68 = $71 [phi:frame_draw::@86->cputcxy#0] -- vbuz1=vbuc1 lda #$71 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#60 [phi:frame_draw::@86->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $a [phi:frame_draw::@86->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#60 [phi:frame_draw::@86->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $a [phi:frame_draw::@86->cputcxy#2] -- vbuz1=vbuc1 lda #$a sta.z cputcxy.x jsr cputcxy // frame_draw::@87 // cputcxy(20, y, 0x71) - // [663] cputcxy::y#61 = frame_draw::y#106 -- vbuz1=vbuz2 + // [670] cputcxy::y#61 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [664] call cputcxy - // [1172] phi from frame_draw::@87 to cputcxy [phi:frame_draw::@87->cputcxy] - // [1172] phi cputcxy::c#68 = $71 [phi:frame_draw::@87->cputcxy#0] -- vbuz1=vbuc1 + // [671] call cputcxy + // [1179] phi from frame_draw::@87 to cputcxy [phi:frame_draw::@87->cputcxy] + // [1179] phi cputcxy::c#68 = $71 [phi:frame_draw::@87->cputcxy#0] -- vbuz1=vbuc1 lda #$71 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#61 [phi:frame_draw::@87->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $14 [phi:frame_draw::@87->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#61 [phi:frame_draw::@87->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $14 [phi:frame_draw::@87->cputcxy#2] -- vbuz1=vbuc1 lda #$14 sta.z cputcxy.x jsr cputcxy // frame_draw::@88 // cputcxy(30, y, 0x71) - // [665] cputcxy::y#62 = frame_draw::y#106 -- vbuz1=vbuz2 + // [672] cputcxy::y#62 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [666] call cputcxy - // [1172] phi from frame_draw::@88 to cputcxy [phi:frame_draw::@88->cputcxy] - // [1172] phi cputcxy::c#68 = $71 [phi:frame_draw::@88->cputcxy#0] -- vbuz1=vbuc1 + // [673] call cputcxy + // [1179] phi from frame_draw::@88 to cputcxy [phi:frame_draw::@88->cputcxy] + // [1179] phi cputcxy::c#68 = $71 [phi:frame_draw::@88->cputcxy#0] -- vbuz1=vbuc1 lda #$71 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#62 [phi:frame_draw::@88->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $1e [phi:frame_draw::@88->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#62 [phi:frame_draw::@88->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $1e [phi:frame_draw::@88->cputcxy#2] -- vbuz1=vbuc1 lda #$1e sta.z cputcxy.x jsr cputcxy // frame_draw::@89 // cputcxy(40, y, 0x71) - // [667] cputcxy::y#63 = frame_draw::y#106 -- vbuz1=vbuz2 + // [674] cputcxy::y#63 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [668] call cputcxy - // [1172] phi from frame_draw::@89 to cputcxy [phi:frame_draw::@89->cputcxy] - // [1172] phi cputcxy::c#68 = $71 [phi:frame_draw::@89->cputcxy#0] -- vbuz1=vbuc1 + // [675] call cputcxy + // [1179] phi from frame_draw::@89 to cputcxy [phi:frame_draw::@89->cputcxy] + // [1179] phi cputcxy::c#68 = $71 [phi:frame_draw::@89->cputcxy#0] -- vbuz1=vbuc1 lda #$71 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#63 [phi:frame_draw::@89->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $28 [phi:frame_draw::@89->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#63 [phi:frame_draw::@89->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $28 [phi:frame_draw::@89->cputcxy#2] -- vbuz1=vbuc1 lda #$28 sta.z cputcxy.x jsr cputcxy // frame_draw::@90 // cputcxy(50, y, 0x71) - // [669] cputcxy::y#64 = frame_draw::y#106 -- vbuz1=vbuz2 + // [676] cputcxy::y#64 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [670] call cputcxy - // [1172] phi from frame_draw::@90 to cputcxy [phi:frame_draw::@90->cputcxy] - // [1172] phi cputcxy::c#68 = $71 [phi:frame_draw::@90->cputcxy#0] -- vbuz1=vbuc1 + // [677] call cputcxy + // [1179] phi from frame_draw::@90 to cputcxy [phi:frame_draw::@90->cputcxy] + // [1179] phi cputcxy::c#68 = $71 [phi:frame_draw::@90->cputcxy#0] -- vbuz1=vbuc1 lda #$71 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#64 [phi:frame_draw::@90->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $32 [phi:frame_draw::@90->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#64 [phi:frame_draw::@90->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $32 [phi:frame_draw::@90->cputcxy#2] -- vbuz1=vbuc1 lda #$32 sta.z cputcxy.x jsr cputcxy // frame_draw::@91 // cputcxy(60, y, 0x71) - // [671] cputcxy::y#65 = frame_draw::y#106 -- vbuz1=vbuz2 + // [678] cputcxy::y#65 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [672] call cputcxy - // [1172] phi from frame_draw::@91 to cputcxy [phi:frame_draw::@91->cputcxy] - // [1172] phi cputcxy::c#68 = $71 [phi:frame_draw::@91->cputcxy#0] -- vbuz1=vbuc1 + // [679] call cputcxy + // [1179] phi from frame_draw::@91 to cputcxy [phi:frame_draw::@91->cputcxy] + // [1179] phi cputcxy::c#68 = $71 [phi:frame_draw::@91->cputcxy#0] -- vbuz1=vbuc1 lda #$71 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#65 [phi:frame_draw::@91->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $3c [phi:frame_draw::@91->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#65 [phi:frame_draw::@91->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $3c [phi:frame_draw::@91->cputcxy#2] -- vbuz1=vbuc1 lda #$3c sta.z cputcxy.x jsr cputcxy // frame_draw::@92 // cputcxy(70, y, 0x71) - // [673] cputcxy::y#66 = frame_draw::y#106 -- vbuz1=vbuz2 + // [680] cputcxy::y#66 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [674] call cputcxy - // [1172] phi from frame_draw::@92 to cputcxy [phi:frame_draw::@92->cputcxy] - // [1172] phi cputcxy::c#68 = $71 [phi:frame_draw::@92->cputcxy#0] -- vbuz1=vbuc1 + // [681] call cputcxy + // [1179] phi from frame_draw::@92 to cputcxy [phi:frame_draw::@92->cputcxy] + // [1179] phi cputcxy::c#68 = $71 [phi:frame_draw::@92->cputcxy#0] -- vbuz1=vbuc1 lda #$71 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#66 [phi:frame_draw::@92->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $46 [phi:frame_draw::@92->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#66 [phi:frame_draw::@92->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $46 [phi:frame_draw::@92->cputcxy#2] -- vbuz1=vbuc1 lda #$46 sta.z cputcxy.x jsr cputcxy // frame_draw::@93 // cputcxy(79, y, 0x7D) - // [675] cputcxy::y#67 = frame_draw::y#106 -- vbuz1=vbuz2 + // [682] cputcxy::y#67 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [676] call cputcxy - // [1172] phi from frame_draw::@93 to cputcxy [phi:frame_draw::@93->cputcxy] - // [1172] phi cputcxy::c#68 = $7d [phi:frame_draw::@93->cputcxy#0] -- vbuz1=vbuc1 + // [683] call cputcxy + // [1179] phi from frame_draw::@93 to cputcxy [phi:frame_draw::@93->cputcxy] + // [1179] phi cputcxy::c#68 = $7d [phi:frame_draw::@93->cputcxy#0] -- vbuz1=vbuc1 lda #$7d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#67 [phi:frame_draw::@93->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@93->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#67 [phi:frame_draw::@93->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@93->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@return // } - // [677] return + // [684] return rts // frame_draw::@25 __b25: // cputcxy(x, y, 0x40) - // [678] cputcxy::x#57 = frame_draw::x5#2 -- vbuz1=vbuz2 + // [685] cputcxy::x#57 = frame_draw::x5#2 -- vbuz1=vbuz2 lda.z x5 sta.z cputcxy.x - // [679] cputcxy::y#57 = frame_draw::y#106 -- vbuz1=vbuz2 + // [686] cputcxy::y#57 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [680] call cputcxy - // [1172] phi from frame_draw::@25 to cputcxy [phi:frame_draw::@25->cputcxy] - // [1172] phi cputcxy::c#68 = $40 [phi:frame_draw::@25->cputcxy#0] -- vbuz1=vbuc1 + // [687] call cputcxy + // [1179] phi from frame_draw::@25 to cputcxy [phi:frame_draw::@25->cputcxy] + // [1179] phi cputcxy::c#68 = $40 [phi:frame_draw::@25->cputcxy#0] -- vbuz1=vbuc1 lda #$40 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#57 [phi:frame_draw::@25->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = cputcxy::x#57 [phi:frame_draw::@25->cputcxy#2] -- register_copy + // [1179] phi cputcxy::y#68 = cputcxy::y#57 [phi:frame_draw::@25->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = cputcxy::x#57 [phi:frame_draw::@25->cputcxy#2] -- register_copy jsr cputcxy // frame_draw::@84 // for (unsigned char x = 0; x < 79; x++) - // [681] frame_draw::x5#1 = ++ frame_draw::x5#2 -- vbuz1=_inc_vbuz1 + // [688] frame_draw::x5#1 = ++ frame_draw::x5#2 -- vbuz1=_inc_vbuz1 inc.z x5 - // [655] phi from frame_draw::@84 to frame_draw::@24 [phi:frame_draw::@84->frame_draw::@24] - // [655] phi frame_draw::x5#2 = frame_draw::x5#1 [phi:frame_draw::@84->frame_draw::@24#0] -- register_copy + // [662] phi from frame_draw::@84 to frame_draw::@24 [phi:frame_draw::@84->frame_draw::@24] + // [662] phi frame_draw::x5#2 = frame_draw::x5#1 [phi:frame_draw::@84->frame_draw::@24#0] -- register_copy jmp __b24 // frame_draw::@23 __b23: // cputcxy(0, y, 0x5D) - // [682] cputcxy::y#48 = frame_draw::y#106 -- vbuz1=vbuz2 + // [689] cputcxy::y#48 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [683] call cputcxy - // [1172] phi from frame_draw::@23 to cputcxy [phi:frame_draw::@23->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@23->cputcxy#0] -- vbuz1=vbuc1 + // [690] call cputcxy + // [1179] phi from frame_draw::@23 to cputcxy [phi:frame_draw::@23->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@23->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#48 [phi:frame_draw::@23->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@23->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#48 [phi:frame_draw::@23->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@23->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy // frame_draw::@75 // cputcxy(79, y, 0x5D) - // [684] cputcxy::y#49 = frame_draw::y#106 -- vbuz1=vbuz2 + // [691] cputcxy::y#49 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [685] call cputcxy - // [1172] phi from frame_draw::@75 to cputcxy [phi:frame_draw::@75->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@75->cputcxy#0] -- vbuz1=vbuc1 + // [692] call cputcxy + // [1179] phi from frame_draw::@75 to cputcxy [phi:frame_draw::@75->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@75->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#49 [phi:frame_draw::@75->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@75->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#49 [phi:frame_draw::@75->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@75->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@76 // cputcxy(10, y, 0x5D) - // [686] cputcxy::y#50 = frame_draw::y#106 -- vbuz1=vbuz2 + // [693] cputcxy::y#50 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [687] call cputcxy - // [1172] phi from frame_draw::@76 to cputcxy [phi:frame_draw::@76->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@76->cputcxy#0] -- vbuz1=vbuc1 + // [694] call cputcxy + // [1179] phi from frame_draw::@76 to cputcxy [phi:frame_draw::@76->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@76->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#50 [phi:frame_draw::@76->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $a [phi:frame_draw::@76->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#50 [phi:frame_draw::@76->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $a [phi:frame_draw::@76->cputcxy#2] -- vbuz1=vbuc1 lda #$a sta.z cputcxy.x jsr cputcxy // frame_draw::@77 // cputcxy(20, y, 0x5D) - // [688] cputcxy::y#51 = frame_draw::y#106 -- vbuz1=vbuz2 + // [695] cputcxy::y#51 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [689] call cputcxy - // [1172] phi from frame_draw::@77 to cputcxy [phi:frame_draw::@77->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@77->cputcxy#0] -- vbuz1=vbuc1 + // [696] call cputcxy + // [1179] phi from frame_draw::@77 to cputcxy [phi:frame_draw::@77->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@77->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#51 [phi:frame_draw::@77->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $14 [phi:frame_draw::@77->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#51 [phi:frame_draw::@77->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $14 [phi:frame_draw::@77->cputcxy#2] -- vbuz1=vbuc1 lda #$14 sta.z cputcxy.x jsr cputcxy // frame_draw::@78 // cputcxy(30, y, 0x5D) - // [690] cputcxy::y#52 = frame_draw::y#106 -- vbuz1=vbuz2 + // [697] cputcxy::y#52 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [691] call cputcxy - // [1172] phi from frame_draw::@78 to cputcxy [phi:frame_draw::@78->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@78->cputcxy#0] -- vbuz1=vbuc1 + // [698] call cputcxy + // [1179] phi from frame_draw::@78 to cputcxy [phi:frame_draw::@78->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@78->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#52 [phi:frame_draw::@78->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $1e [phi:frame_draw::@78->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#52 [phi:frame_draw::@78->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $1e [phi:frame_draw::@78->cputcxy#2] -- vbuz1=vbuc1 lda #$1e sta.z cputcxy.x jsr cputcxy // frame_draw::@79 // cputcxy(40, y, 0x5D) - // [692] cputcxy::y#53 = frame_draw::y#106 -- vbuz1=vbuz2 + // [699] cputcxy::y#53 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [693] call cputcxy - // [1172] phi from frame_draw::@79 to cputcxy [phi:frame_draw::@79->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@79->cputcxy#0] -- vbuz1=vbuc1 + // [700] call cputcxy + // [1179] phi from frame_draw::@79 to cputcxy [phi:frame_draw::@79->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@79->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#53 [phi:frame_draw::@79->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $28 [phi:frame_draw::@79->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#53 [phi:frame_draw::@79->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $28 [phi:frame_draw::@79->cputcxy#2] -- vbuz1=vbuc1 lda #$28 sta.z cputcxy.x jsr cputcxy // frame_draw::@80 // cputcxy(50, y, 0x5D) - // [694] cputcxy::y#54 = frame_draw::y#106 -- vbuz1=vbuz2 + // [701] cputcxy::y#54 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [695] call cputcxy - // [1172] phi from frame_draw::@80 to cputcxy [phi:frame_draw::@80->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@80->cputcxy#0] -- vbuz1=vbuc1 + // [702] call cputcxy + // [1179] phi from frame_draw::@80 to cputcxy [phi:frame_draw::@80->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@80->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#54 [phi:frame_draw::@80->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $32 [phi:frame_draw::@80->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#54 [phi:frame_draw::@80->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $32 [phi:frame_draw::@80->cputcxy#2] -- vbuz1=vbuc1 lda #$32 sta.z cputcxy.x jsr cputcxy // frame_draw::@81 // cputcxy(60, y, 0x5D) - // [696] cputcxy::y#55 = frame_draw::y#106 -- vbuz1=vbuz2 + // [703] cputcxy::y#55 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [697] call cputcxy - // [1172] phi from frame_draw::@81 to cputcxy [phi:frame_draw::@81->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@81->cputcxy#0] -- vbuz1=vbuc1 + // [704] call cputcxy + // [1179] phi from frame_draw::@81 to cputcxy [phi:frame_draw::@81->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@81->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#55 [phi:frame_draw::@81->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $3c [phi:frame_draw::@81->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#55 [phi:frame_draw::@81->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $3c [phi:frame_draw::@81->cputcxy#2] -- vbuz1=vbuc1 lda #$3c sta.z cputcxy.x jsr cputcxy // frame_draw::@82 // cputcxy(70, y, 0x5D) - // [698] cputcxy::y#56 = frame_draw::y#106 -- vbuz1=vbuz2 + // [705] cputcxy::y#56 = frame_draw::y#106 -- vbuz1=vbuz2 lda.z y_3 sta.z cputcxy.y - // [699] call cputcxy - // [1172] phi from frame_draw::@82 to cputcxy [phi:frame_draw::@82->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@82->cputcxy#0] -- vbuz1=vbuc1 + // [706] call cputcxy + // [1179] phi from frame_draw::@82 to cputcxy [phi:frame_draw::@82->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@82->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#56 [phi:frame_draw::@82->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $46 [phi:frame_draw::@82->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#56 [phi:frame_draw::@82->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $46 [phi:frame_draw::@82->cputcxy#2] -- vbuz1=vbuc1 lda #$46 sta.z cputcxy.x jsr cputcxy // frame_draw::@83 // for (; y < 59; y++) - // [700] frame_draw::y#10 = ++ frame_draw::y#106 -- vbuz1=_inc_vbuz1 + // [707] frame_draw::y#10 = ++ frame_draw::y#106 -- vbuz1=_inc_vbuz1 inc.z y_3 jmp __b22 // frame_draw::@20 __b20: // cputcxy(x, y, 0x40) - // [701] cputcxy::x#38 = frame_draw::x4#2 -- vbuz1=vbuz2 + // [708] cputcxy::x#38 = frame_draw::x4#2 -- vbuz1=vbuz2 lda.z x4 sta.z cputcxy.x - // [702] cputcxy::y#38 = frame_draw::y#104 -- vbuz1=vbuz2 + // [709] cputcxy::y#38 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [703] call cputcxy - // [1172] phi from frame_draw::@20 to cputcxy [phi:frame_draw::@20->cputcxy] - // [1172] phi cputcxy::c#68 = $40 [phi:frame_draw::@20->cputcxy#0] -- vbuz1=vbuc1 + // [710] call cputcxy + // [1179] phi from frame_draw::@20 to cputcxy [phi:frame_draw::@20->cputcxy] + // [1179] phi cputcxy::c#68 = $40 [phi:frame_draw::@20->cputcxy#0] -- vbuz1=vbuc1 lda #$40 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#38 [phi:frame_draw::@20->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = cputcxy::x#38 [phi:frame_draw::@20->cputcxy#2] -- register_copy + // [1179] phi cputcxy::y#68 = cputcxy::y#38 [phi:frame_draw::@20->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = cputcxy::x#38 [phi:frame_draw::@20->cputcxy#2] -- register_copy jsr cputcxy // frame_draw::@65 // for (unsigned char x = 0; x < 79; x++) - // [704] frame_draw::x4#1 = ++ frame_draw::x4#2 -- vbuz1=_inc_vbuz1 + // [711] frame_draw::x4#1 = ++ frame_draw::x4#2 -- vbuz1=_inc_vbuz1 inc.z x4 - // [632] phi from frame_draw::@65 to frame_draw::@19 [phi:frame_draw::@65->frame_draw::@19] - // [632] phi frame_draw::x4#2 = frame_draw::x4#1 [phi:frame_draw::@65->frame_draw::@19#0] -- register_copy + // [639] phi from frame_draw::@65 to frame_draw::@19 [phi:frame_draw::@65->frame_draw::@19] + // [639] phi frame_draw::x4#2 = frame_draw::x4#1 [phi:frame_draw::@65->frame_draw::@19#0] -- register_copy jmp __b19 // frame_draw::@18 __b18: // cputcxy(0, y, 0x5D) - // [705] cputcxy::y#29 = frame_draw::y#104 -- vbuz1=vbuz2 + // [712] cputcxy::y#29 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [706] call cputcxy - // [1172] phi from frame_draw::@18 to cputcxy [phi:frame_draw::@18->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@18->cputcxy#0] -- vbuz1=vbuc1 + // [713] call cputcxy + // [1179] phi from frame_draw::@18 to cputcxy [phi:frame_draw::@18->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@18->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#29 [phi:frame_draw::@18->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@18->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#29 [phi:frame_draw::@18->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@18->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy // frame_draw::@56 // cputcxy(79, y, 0x5D) - // [707] cputcxy::y#30 = frame_draw::y#104 -- vbuz1=vbuz2 + // [714] cputcxy::y#30 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [708] call cputcxy - // [1172] phi from frame_draw::@56 to cputcxy [phi:frame_draw::@56->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@56->cputcxy#0] -- vbuz1=vbuc1 + // [715] call cputcxy + // [1179] phi from frame_draw::@56 to cputcxy [phi:frame_draw::@56->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@56->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#30 [phi:frame_draw::@56->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@56->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#30 [phi:frame_draw::@56->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@56->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@57 // cputcxy(10, y, 0x5D) - // [709] cputcxy::y#31 = frame_draw::y#104 -- vbuz1=vbuz2 + // [716] cputcxy::y#31 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [710] call cputcxy - // [1172] phi from frame_draw::@57 to cputcxy [phi:frame_draw::@57->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@57->cputcxy#0] -- vbuz1=vbuc1 + // [717] call cputcxy + // [1179] phi from frame_draw::@57 to cputcxy [phi:frame_draw::@57->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@57->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#31 [phi:frame_draw::@57->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $a [phi:frame_draw::@57->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#31 [phi:frame_draw::@57->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $a [phi:frame_draw::@57->cputcxy#2] -- vbuz1=vbuc1 lda #$a sta.z cputcxy.x jsr cputcxy // frame_draw::@58 // cputcxy(20, y, 0x5D) - // [711] cputcxy::y#32 = frame_draw::y#104 -- vbuz1=vbuz2 + // [718] cputcxy::y#32 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [712] call cputcxy - // [1172] phi from frame_draw::@58 to cputcxy [phi:frame_draw::@58->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@58->cputcxy#0] -- vbuz1=vbuc1 + // [719] call cputcxy + // [1179] phi from frame_draw::@58 to cputcxy [phi:frame_draw::@58->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@58->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#32 [phi:frame_draw::@58->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $14 [phi:frame_draw::@58->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#32 [phi:frame_draw::@58->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $14 [phi:frame_draw::@58->cputcxy#2] -- vbuz1=vbuc1 lda #$14 sta.z cputcxy.x jsr cputcxy // frame_draw::@59 // cputcxy(30, y, 0x5D) - // [713] cputcxy::y#33 = frame_draw::y#104 -- vbuz1=vbuz2 + // [720] cputcxy::y#33 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [714] call cputcxy - // [1172] phi from frame_draw::@59 to cputcxy [phi:frame_draw::@59->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@59->cputcxy#0] -- vbuz1=vbuc1 + // [721] call cputcxy + // [1179] phi from frame_draw::@59 to cputcxy [phi:frame_draw::@59->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@59->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#33 [phi:frame_draw::@59->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $1e [phi:frame_draw::@59->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#33 [phi:frame_draw::@59->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $1e [phi:frame_draw::@59->cputcxy#2] -- vbuz1=vbuc1 lda #$1e sta.z cputcxy.x jsr cputcxy // frame_draw::@60 // cputcxy(40, y, 0x5D) - // [715] cputcxy::y#34 = frame_draw::y#104 -- vbuz1=vbuz2 + // [722] cputcxy::y#34 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [716] call cputcxy - // [1172] phi from frame_draw::@60 to cputcxy [phi:frame_draw::@60->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@60->cputcxy#0] -- vbuz1=vbuc1 + // [723] call cputcxy + // [1179] phi from frame_draw::@60 to cputcxy [phi:frame_draw::@60->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@60->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#34 [phi:frame_draw::@60->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $28 [phi:frame_draw::@60->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#34 [phi:frame_draw::@60->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $28 [phi:frame_draw::@60->cputcxy#2] -- vbuz1=vbuc1 lda #$28 sta.z cputcxy.x jsr cputcxy // frame_draw::@61 // cputcxy(50, y, 0x5D) - // [717] cputcxy::y#35 = frame_draw::y#104 -- vbuz1=vbuz2 + // [724] cputcxy::y#35 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [718] call cputcxy - // [1172] phi from frame_draw::@61 to cputcxy [phi:frame_draw::@61->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@61->cputcxy#0] -- vbuz1=vbuc1 + // [725] call cputcxy + // [1179] phi from frame_draw::@61 to cputcxy [phi:frame_draw::@61->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@61->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#35 [phi:frame_draw::@61->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $32 [phi:frame_draw::@61->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#35 [phi:frame_draw::@61->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $32 [phi:frame_draw::@61->cputcxy#2] -- vbuz1=vbuc1 lda #$32 sta.z cputcxy.x jsr cputcxy // frame_draw::@62 // cputcxy(60, y, 0x5D) - // [719] cputcxy::y#36 = frame_draw::y#104 -- vbuz1=vbuz2 + // [726] cputcxy::y#36 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [720] call cputcxy - // [1172] phi from frame_draw::@62 to cputcxy [phi:frame_draw::@62->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@62->cputcxy#0] -- vbuz1=vbuc1 + // [727] call cputcxy + // [1179] phi from frame_draw::@62 to cputcxy [phi:frame_draw::@62->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@62->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#36 [phi:frame_draw::@62->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $3c [phi:frame_draw::@62->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#36 [phi:frame_draw::@62->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $3c [phi:frame_draw::@62->cputcxy#2] -- vbuz1=vbuc1 lda #$3c sta.z cputcxy.x jsr cputcxy // frame_draw::@63 // cputcxy(70, y, 0x5D) - // [721] cputcxy::y#37 = frame_draw::y#104 -- vbuz1=vbuz2 + // [728] cputcxy::y#37 = frame_draw::y#104 -- vbuz1=vbuz2 lda.z y_2 sta.z cputcxy.y - // [722] call cputcxy - // [1172] phi from frame_draw::@63 to cputcxy [phi:frame_draw::@63->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@63->cputcxy#0] -- vbuz1=vbuc1 + // [729] call cputcxy + // [1179] phi from frame_draw::@63 to cputcxy [phi:frame_draw::@63->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@63->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#37 [phi:frame_draw::@63->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $46 [phi:frame_draw::@63->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#37 [phi:frame_draw::@63->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $46 [phi:frame_draw::@63->cputcxy#2] -- vbuz1=vbuc1 lda #$46 sta.z cputcxy.x jsr cputcxy // frame_draw::@64 // for (; y < 55; y++) - // [723] frame_draw::y#8 = ++ frame_draw::y#104 -- vbuz1=_inc_vbuz1 + // [730] frame_draw::y#8 = ++ frame_draw::y#104 -- vbuz1=_inc_vbuz1 inc.z y_2 jmp __b17 // frame_draw::@15 __b15: // cputcxy(x, y, 0x40) - // [724] cputcxy::x#18 = frame_draw::x3#2 -- vbuz1=vbuz2 + // [731] cputcxy::x#18 = frame_draw::x3#2 -- vbuz1=vbuz2 lda.z x3 sta.z cputcxy.x - // [725] cputcxy::y#18 = frame_draw::y#102 -- vbuz1=vbuz2 + // [732] cputcxy::y#18 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [726] call cputcxy - // [1172] phi from frame_draw::@15 to cputcxy [phi:frame_draw::@15->cputcxy] - // [1172] phi cputcxy::c#68 = $40 [phi:frame_draw::@15->cputcxy#0] -- vbuz1=vbuc1 + // [733] call cputcxy + // [1179] phi from frame_draw::@15 to cputcxy [phi:frame_draw::@15->cputcxy] + // [1179] phi cputcxy::c#68 = $40 [phi:frame_draw::@15->cputcxy#0] -- vbuz1=vbuc1 lda #$40 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#18 [phi:frame_draw::@15->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = cputcxy::x#18 [phi:frame_draw::@15->cputcxy#2] -- register_copy + // [1179] phi cputcxy::y#68 = cputcxy::y#18 [phi:frame_draw::@15->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = cputcxy::x#18 [phi:frame_draw::@15->cputcxy#2] -- register_copy jsr cputcxy // frame_draw::@45 // for (unsigned char x = 0; x < 79; x++) - // [727] frame_draw::x3#1 = ++ frame_draw::x3#2 -- vbuz1=_inc_vbuz1 + // [734] frame_draw::x3#1 = ++ frame_draw::x3#2 -- vbuz1=_inc_vbuz1 inc.z x3 - // [607] phi from frame_draw::@45 to frame_draw::@14 [phi:frame_draw::@45->frame_draw::@14] - // [607] phi frame_draw::x3#2 = frame_draw::x3#1 [phi:frame_draw::@45->frame_draw::@14#0] -- register_copy + // [614] phi from frame_draw::@45 to frame_draw::@14 [phi:frame_draw::@45->frame_draw::@14] + // [614] phi frame_draw::x3#2 = frame_draw::x3#1 [phi:frame_draw::@45->frame_draw::@14#0] -- register_copy jmp __b14 // frame_draw::@13 __b13: // cputcxy(0, y, 0x5D) - // [728] cputcxy::y#16 = frame_draw::y#102 -- vbuz1=vbuz2 + // [735] cputcxy::y#16 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [729] call cputcxy - // [1172] phi from frame_draw::@13 to cputcxy [phi:frame_draw::@13->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@13->cputcxy#0] -- vbuz1=vbuc1 + // [736] call cputcxy + // [1179] phi from frame_draw::@13 to cputcxy [phi:frame_draw::@13->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@13->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#16 [phi:frame_draw::@13->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@13->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#16 [phi:frame_draw::@13->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@13->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy // frame_draw::@43 // cputcxy(79, y, 0x5D) - // [730] cputcxy::y#17 = frame_draw::y#102 -- vbuz1=vbuz2 + // [737] cputcxy::y#17 = frame_draw::y#102 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [731] call cputcxy - // [1172] phi from frame_draw::@43 to cputcxy [phi:frame_draw::@43->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@43->cputcxy#0] -- vbuz1=vbuc1 + // [738] call cputcxy + // [1179] phi from frame_draw::@43 to cputcxy [phi:frame_draw::@43->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@43->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#17 [phi:frame_draw::@43->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@43->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#17 [phi:frame_draw::@43->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@43->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@44 // for (; y < 41; y++) - // [732] frame_draw::y#6 = ++ frame_draw::y#102 -- vbuz1=_inc_vbuz1 + // [739] frame_draw::y#6 = ++ frame_draw::y#102 -- vbuz1=_inc_vbuz1 inc.z y_1 jmp __b12 // frame_draw::@10 __b10: // cputcxy(x, y, 0x40) - // [733] cputcxy::x#12 = frame_draw::x2#2 -- vbuz1=vbuz2 + // [740] cputcxy::x#12 = frame_draw::x2#2 -- vbuz1=vbuz2 lda.z x2 sta.z cputcxy.x - // [734] cputcxy::y#12 = frame_draw::y#101 -- vbuz1=vbuz2 + // [741] cputcxy::y#12 = frame_draw::y#101 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [735] call cputcxy - // [1172] phi from frame_draw::@10 to cputcxy [phi:frame_draw::@10->cputcxy] - // [1172] phi cputcxy::c#68 = $40 [phi:frame_draw::@10->cputcxy#0] -- vbuz1=vbuc1 + // [742] call cputcxy + // [1179] phi from frame_draw::@10 to cputcxy [phi:frame_draw::@10->cputcxy] + // [1179] phi cputcxy::c#68 = $40 [phi:frame_draw::@10->cputcxy#0] -- vbuz1=vbuc1 lda #$40 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#12 [phi:frame_draw::@10->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = cputcxy::x#12 [phi:frame_draw::@10->cputcxy#2] -- register_copy + // [1179] phi cputcxy::y#68 = cputcxy::y#12 [phi:frame_draw::@10->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = cputcxy::x#12 [phi:frame_draw::@10->cputcxy#2] -- register_copy jsr cputcxy // frame_draw::@39 // for (unsigned char x = 0; x < 79; x++) - // [736] frame_draw::x2#1 = ++ frame_draw::x2#2 -- vbuz1=_inc_vbuz1 + // [743] frame_draw::x2#1 = ++ frame_draw::x2#2 -- vbuz1=_inc_vbuz1 inc.z x2 - // [596] phi from frame_draw::@39 to frame_draw::@9 [phi:frame_draw::@39->frame_draw::@9] - // [596] phi frame_draw::x2#2 = frame_draw::x2#1 [phi:frame_draw::@39->frame_draw::@9#0] -- register_copy + // [603] phi from frame_draw::@39 to frame_draw::@9 [phi:frame_draw::@39->frame_draw::@9] + // [603] phi frame_draw::x2#2 = frame_draw::x2#1 [phi:frame_draw::@39->frame_draw::@9#0] -- register_copy jmp __b9 // frame_draw::@8 __b8: // cputcxy(0, y, 0x5D) - // [737] cputcxy::y#9 = frame_draw::y#101 -- vbuz1=vbuz2 + // [744] cputcxy::y#9 = frame_draw::y#101 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [738] call cputcxy - // [1172] phi from frame_draw::@8 to cputcxy [phi:frame_draw::@8->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@8->cputcxy#0] -- vbuz1=vbuc1 + // [745] call cputcxy + // [1179] phi from frame_draw::@8 to cputcxy [phi:frame_draw::@8->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@8->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#9 [phi:frame_draw::@8->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = 0 [phi:frame_draw::@8->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#9 [phi:frame_draw::@8->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = 0 [phi:frame_draw::@8->cputcxy#2] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.x jsr cputcxy // frame_draw::@36 // cputcxy(12, y, 0x5D) - // [739] cputcxy::y#10 = frame_draw::y#101 -- vbuz1=vbuz2 + // [746] cputcxy::y#10 = frame_draw::y#101 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [740] call cputcxy - // [1172] phi from frame_draw::@36 to cputcxy [phi:frame_draw::@36->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@36->cputcxy#0] -- vbuz1=vbuc1 + // [747] call cputcxy + // [1179] phi from frame_draw::@36 to cputcxy [phi:frame_draw::@36->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@36->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#10 [phi:frame_draw::@36->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $c [phi:frame_draw::@36->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#10 [phi:frame_draw::@36->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $c [phi:frame_draw::@36->cputcxy#2] -- vbuz1=vbuc1 lda #$c sta.z cputcxy.x jsr cputcxy // frame_draw::@37 // cputcxy(79, y, 0x5D) - // [741] cputcxy::y#11 = frame_draw::y#101 -- vbuz1=vbuz2 + // [748] cputcxy::y#11 = frame_draw::y#101 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [742] call cputcxy - // [1172] phi from frame_draw::@37 to cputcxy [phi:frame_draw::@37->cputcxy] - // [1172] phi cputcxy::c#68 = $5d [phi:frame_draw::@37->cputcxy#0] -- vbuz1=vbuc1 + // [749] call cputcxy + // [1179] phi from frame_draw::@37 to cputcxy [phi:frame_draw::@37->cputcxy] + // [1179] phi cputcxy::c#68 = $5d [phi:frame_draw::@37->cputcxy#0] -- vbuz1=vbuc1 lda #$5d sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = cputcxy::y#11 [phi:frame_draw::@37->cputcxy#1] -- register_copy - // [1172] phi cputcxy::x#68 = $4f [phi:frame_draw::@37->cputcxy#2] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = cputcxy::y#11 [phi:frame_draw::@37->cputcxy#1] -- register_copy + // [1179] phi cputcxy::x#68 = $4f [phi:frame_draw::@37->cputcxy#2] -- vbuz1=vbuc1 lda #$4f sta.z cputcxy.x jsr cputcxy // frame_draw::@38 // for (; y < 37; y++) - // [743] frame_draw::y#4 = ++ frame_draw::y#101 -- vbuz1=_inc_vbuz1 + // [750] frame_draw::y#4 = ++ frame_draw::y#101 -- vbuz1=_inc_vbuz1 inc.z y - // [594] phi from frame_draw::@38 to frame_draw::@7 [phi:frame_draw::@38->frame_draw::@7] - // [594] phi frame_draw::y#101 = frame_draw::y#4 [phi:frame_draw::@38->frame_draw::@7#0] -- register_copy + // [601] phi from frame_draw::@38 to frame_draw::@7 [phi:frame_draw::@38->frame_draw::@7] + // [601] phi frame_draw::y#101 = frame_draw::y#4 [phi:frame_draw::@38->frame_draw::@7#0] -- register_copy jmp __b7 // frame_draw::@5 __b5: // cputcxy(x, y, 0x40) - // [744] cputcxy::x#5 = frame_draw::x1#2 -- vbuz1=vbuz2 + // [751] cputcxy::x#5 = frame_draw::x1#2 -- vbuz1=vbuz2 lda.z x1 sta.z cputcxy.x - // [745] call cputcxy - // [1172] phi from frame_draw::@5 to cputcxy [phi:frame_draw::@5->cputcxy] - // [1172] phi cputcxy::c#68 = $40 [phi:frame_draw::@5->cputcxy#0] -- vbuz1=vbuc1 + // [752] call cputcxy + // [1179] phi from frame_draw::@5 to cputcxy [phi:frame_draw::@5->cputcxy] + // [1179] phi cputcxy::c#68 = $40 [phi:frame_draw::@5->cputcxy#0] -- vbuz1=vbuc1 lda #$40 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = 2 [phi:frame_draw::@5->cputcxy#1] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = 2 [phi:frame_draw::@5->cputcxy#1] -- vbuz1=vbuc1 lda #2 sta.z cputcxy.y - // [1172] phi cputcxy::x#68 = cputcxy::x#5 [phi:frame_draw::@5->cputcxy#2] -- register_copy + // [1179] phi cputcxy::x#68 = cputcxy::x#5 [phi:frame_draw::@5->cputcxy#2] -- register_copy jsr cputcxy // frame_draw::@33 // for (unsigned char x = 0; x < 79; x++) - // [746] frame_draw::x1#1 = ++ frame_draw::x1#2 -- vbuz1=_inc_vbuz1 + // [753] frame_draw::x1#1 = ++ frame_draw::x1#2 -- vbuz1=_inc_vbuz1 inc.z x1 - // [586] phi from frame_draw::@33 to frame_draw::@4 [phi:frame_draw::@33->frame_draw::@4] - // [586] phi frame_draw::x1#2 = frame_draw::x1#1 [phi:frame_draw::@33->frame_draw::@4#0] -- register_copy + // [593] phi from frame_draw::@33 to frame_draw::@4 [phi:frame_draw::@33->frame_draw::@4] + // [593] phi frame_draw::x1#2 = frame_draw::x1#1 [phi:frame_draw::@33->frame_draw::@4#0] -- register_copy jmp __b4 // frame_draw::@2 __b2: // cputcxy(x, y, 0x40) - // [747] cputcxy::x#0 = frame_draw::x#2 -- vbuz1=vbuz2 + // [754] cputcxy::x#0 = frame_draw::x#2 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [748] call cputcxy - // [1172] phi from frame_draw::@2 to cputcxy [phi:frame_draw::@2->cputcxy] - // [1172] phi cputcxy::c#68 = $40 [phi:frame_draw::@2->cputcxy#0] -- vbuz1=vbuc1 + // [755] call cputcxy + // [1179] phi from frame_draw::@2 to cputcxy [phi:frame_draw::@2->cputcxy] + // [1179] phi cputcxy::c#68 = $40 [phi:frame_draw::@2->cputcxy#0] -- vbuz1=vbuc1 lda #$40 sta.z cputcxy.c - // [1172] phi cputcxy::y#68 = 0 [phi:frame_draw::@2->cputcxy#1] -- vbuz1=vbuc1 + // [1179] phi cputcxy::y#68 = 0 [phi:frame_draw::@2->cputcxy#1] -- vbuz1=vbuc1 lda #0 sta.z cputcxy.y - // [1172] phi cputcxy::x#68 = cputcxy::x#0 [phi:frame_draw::@2->cputcxy#2] -- register_copy + // [1179] phi cputcxy::x#68 = cputcxy::x#0 [phi:frame_draw::@2->cputcxy#2] -- register_copy jsr cputcxy // frame_draw::@29 // for (unsigned char x = 0; x < 79; x++) - // [749] frame_draw::x#1 = ++ frame_draw::x#2 -- vbuz1=_inc_vbuz1 + // [756] frame_draw::x#1 = ++ frame_draw::x#2 -- vbuz1=_inc_vbuz1 inc.z x - // [576] phi from frame_draw::@29 to frame_draw::@1 [phi:frame_draw::@29->frame_draw::@1] - // [576] phi frame_draw::x#2 = frame_draw::x#1 [phi:frame_draw::@29->frame_draw::@1#0] -- register_copy + // [583] phi from frame_draw::@29 to frame_draw::@1 [phi:frame_draw::@29->frame_draw::@1] + // [583] phi frame_draw::x#2 = frame_draw::x#1 [phi:frame_draw::@29->frame_draw::@1#0] -- register_copy jmp __b1 } // printf_str /// Print a NUL-terminated string -// void printf_str(__zp($79) void (*putc)(char), __zp($3e) const char *s) +// void printf_str(__zp($42) void (*putc)(char), __zp($3c) const char *s) printf_str: { - .label c = $47 - .label s = $3e - .label putc = $79 - // [751] phi from printf_str printf_str::@2 to printf_str::@1 [phi:printf_str/printf_str::@2->printf_str::@1] - // [751] phi printf_str::s#32 = printf_str::s#33 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy + .label c = $2e + .label s = $3c + .label putc = $42 + // [758] phi from printf_str printf_str::@2 to printf_str::@1 [phi:printf_str/printf_str::@2->printf_str::@1] + // [758] phi printf_str::s#32 = printf_str::s#33 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy // printf_str::@1 __b1: // while(c=*s++) - // [752] printf_str::c#1 = *printf_str::s#32 -- vbuz1=_deref_pbuz2 + // [759] printf_str::c#1 = *printf_str::s#32 -- vbuz1=_deref_pbuz2 ldy #0 lda (s),y sta.z c - // [753] printf_str::s#0 = ++ printf_str::s#32 -- pbuz1=_inc_pbuz1 + // [760] printf_str::s#0 = ++ printf_str::s#32 -- pbuz1=_inc_pbuz1 inc.z s bne !+ inc.z s+1 !: - // [754] if(0!=printf_str::c#1) goto printf_str::@2 -- 0_neq_vbuz1_then_la1 + // [761] if(0!=printf_str::c#1) goto printf_str::@2 -- 0_neq_vbuz1_then_la1 lda.z c bne __b2 // printf_str::@return // } - // [755] return + // [762] return rts // printf_str::@2 __b2: // putc(c) - // [756] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuz1 + // [763] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuz1 lda.z c pha - // [757] callexecute *printf_str::putc#33 -- call__deref_pprz1 + // [764] callexecute *printf_str::putc#33 -- call__deref_pprz1 jsr icall12 // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla @@ -5177,222 +5270,222 @@ printf_str: { } // print_chips print_chips: { - .label __4 = $51 - .label r = $4a - .label __33 = $51 - .label __34 = $51 - // [760] phi from print_chips to print_chips::@1 [phi:print_chips->print_chips::@1] - // [760] phi print_chips::r#10 = 0 [phi:print_chips->print_chips::@1#0] -- vbuz1=vbuc1 + .label __4 = $68 + .label r = $76 + .label __33 = $68 + .label __34 = $68 + // [767] phi from print_chips to print_chips::@1 [phi:print_chips->print_chips::@1] + // [767] phi print_chips::r#10 = 0 [phi:print_chips->print_chips::@1#0] -- vbuz1=vbuc1 lda #0 sta.z r // print_chips::@1 __b1: // for (unsigned char r = 0; r < 8; r++) - // [761] if(print_chips::r#10<8) goto print_chips::@2 -- vbuz1_lt_vbuc1_then_la1 + // [768] if(print_chips::r#10<8) goto print_chips::@2 -- vbuz1_lt_vbuc1_then_la1 lda.z r cmp #8 bcc __b2 // print_chips::@return // } - // [762] return + // [769] return rts // print_chips::@2 __b2: // r * 10 - // [763] print_chips::$33 = print_chips::r#10 << 2 -- vbuz1=vbuz2_rol_2 + // [770] print_chips::$33 = print_chips::r#10 << 2 -- vbuz1=vbuz2_rol_2 lda.z r asl asl sta.z __33 - // [764] print_chips::$34 = print_chips::$33 + print_chips::r#10 -- vbuz1=vbuz1_plus_vbuz2 + // [771] print_chips::$34 = print_chips::$33 + print_chips::r#10 -- vbuz1=vbuz1_plus_vbuz2 lda.z __34 clc adc.z r sta.z __34 - // [765] print_chips::$4 = print_chips::$34 << 1 -- vbuz1=vbuz1_rol_1 + // [772] print_chips::$4 = print_chips::$34 << 1 -- vbuz1=vbuz1_rol_1 asl.z __4 // print_chip_line(3 + r * 10, 45, ' ') - // [766] print_chip_line::x#0 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 + // [773] print_chip_line::x#0 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __4 sta.z print_chip_line.x - // [767] call print_chip_line - // [1180] phi from print_chips::@2 to print_chip_line [phi:print_chips::@2->print_chip_line] - // [1180] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@2->print_chip_line#0] -- vbuz1=vbuc1 + // [774] call print_chip_line + // [1187] phi from print_chips::@2 to print_chip_line [phi:print_chips::@2->print_chip_line] + // [1187] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@2->print_chip_line#0] -- vbuz1=vbuc1 lda #' ' sta.z print_chip_line.c - // [1180] phi print_chip_line::y#12 = $2d [phi:print_chips::@2->print_chip_line#1] -- vbuz1=vbuc1 + // [1187] phi print_chip_line::y#12 = $2d [phi:print_chips::@2->print_chip_line#1] -- vbuz1=vbuc1 lda #$2d sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#0 [phi:print_chips::@2->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#0 [phi:print_chips::@2->print_chip_line#2] -- register_copy jsr print_chip_line // print_chips::@3 // print_chip_line(3 + r * 10, 46, 'r') - // [768] print_chip_line::x#1 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 + // [775] print_chip_line::x#1 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __4 sta.z print_chip_line.x - // [769] call print_chip_line - // [1180] phi from print_chips::@3 to print_chip_line [phi:print_chips::@3->print_chip_line] - // [1180] phi print_chip_line::c#12 = 'r'pm [phi:print_chips::@3->print_chip_line#0] -- vbuz1=vbuc1 + // [776] call print_chip_line + // [1187] phi from print_chips::@3 to print_chip_line [phi:print_chips::@3->print_chip_line] + // [1187] phi print_chip_line::c#12 = 'r'pm [phi:print_chips::@3->print_chip_line#0] -- vbuz1=vbuc1 lda #'r' sta.z print_chip_line.c - // [1180] phi print_chip_line::y#12 = $2e [phi:print_chips::@3->print_chip_line#1] -- vbuz1=vbuc1 + // [1187] phi print_chip_line::y#12 = $2e [phi:print_chips::@3->print_chip_line#1] -- vbuz1=vbuc1 lda #$2e sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#1 [phi:print_chips::@3->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#1 [phi:print_chips::@3->print_chip_line#2] -- register_copy jsr print_chip_line // print_chips::@4 // print_chip_line(3 + r * 10, 47, 'o') - // [770] print_chip_line::x#2 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 + // [777] print_chip_line::x#2 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __4 sta.z print_chip_line.x - // [771] call print_chip_line - // [1180] phi from print_chips::@4 to print_chip_line [phi:print_chips::@4->print_chip_line] - // [1180] phi print_chip_line::c#12 = 'o'pm [phi:print_chips::@4->print_chip_line#0] -- vbuz1=vbuc1 + // [778] call print_chip_line + // [1187] phi from print_chips::@4 to print_chip_line [phi:print_chips::@4->print_chip_line] + // [1187] phi print_chip_line::c#12 = 'o'pm [phi:print_chips::@4->print_chip_line#0] -- vbuz1=vbuc1 lda #'o' sta.z print_chip_line.c - // [1180] phi print_chip_line::y#12 = $2f [phi:print_chips::@4->print_chip_line#1] -- vbuz1=vbuc1 + // [1187] phi print_chip_line::y#12 = $2f [phi:print_chips::@4->print_chip_line#1] -- vbuz1=vbuc1 lda #$2f sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#2 [phi:print_chips::@4->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#2 [phi:print_chips::@4->print_chip_line#2] -- register_copy jsr print_chip_line // print_chips::@5 // print_chip_line(3 + r * 10, 48, 'm') - // [772] print_chip_line::x#3 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 + // [779] print_chip_line::x#3 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __4 sta.z print_chip_line.x - // [773] call print_chip_line - // [1180] phi from print_chips::@5 to print_chip_line [phi:print_chips::@5->print_chip_line] - // [1180] phi print_chip_line::c#12 = 'm'pm [phi:print_chips::@5->print_chip_line#0] -- vbuz1=vbuc1 + // [780] call print_chip_line + // [1187] phi from print_chips::@5 to print_chip_line [phi:print_chips::@5->print_chip_line] + // [1187] phi print_chip_line::c#12 = 'm'pm [phi:print_chips::@5->print_chip_line#0] -- vbuz1=vbuc1 lda #'m' sta.z print_chip_line.c - // [1180] phi print_chip_line::y#12 = $30 [phi:print_chips::@5->print_chip_line#1] -- vbuz1=vbuc1 + // [1187] phi print_chip_line::y#12 = $30 [phi:print_chips::@5->print_chip_line#1] -- vbuz1=vbuc1 lda #$30 sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#3 [phi:print_chips::@5->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#3 [phi:print_chips::@5->print_chip_line#2] -- register_copy jsr print_chip_line // print_chips::@6 // print_chip_line(3 + r * 10, 49, '0' + r) - // [774] print_chip_line::x#4 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 + // [781] print_chip_line::x#4 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __4 sta.z print_chip_line.x - // [775] print_chip_line::c#4 = '0'pm + print_chips::r#10 -- vbuz1=vbuc1_plus_vbuz2 + // [782] print_chip_line::c#4 = '0'pm + print_chips::r#10 -- vbuz1=vbuc1_plus_vbuz2 lda #'0' clc adc.z r sta.z print_chip_line.c - // [776] call print_chip_line - // [1180] phi from print_chips::@6 to print_chip_line [phi:print_chips::@6->print_chip_line] - // [1180] phi print_chip_line::c#12 = print_chip_line::c#4 [phi:print_chips::@6->print_chip_line#0] -- register_copy - // [1180] phi print_chip_line::y#12 = $31 [phi:print_chips::@6->print_chip_line#1] -- vbuz1=vbuc1 + // [783] call print_chip_line + // [1187] phi from print_chips::@6 to print_chip_line [phi:print_chips::@6->print_chip_line] + // [1187] phi print_chip_line::c#12 = print_chip_line::c#4 [phi:print_chips::@6->print_chip_line#0] -- register_copy + // [1187] phi print_chip_line::y#12 = $31 [phi:print_chips::@6->print_chip_line#1] -- vbuz1=vbuc1 lda #$31 sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#4 [phi:print_chips::@6->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#4 [phi:print_chips::@6->print_chip_line#2] -- register_copy jsr print_chip_line // print_chips::@7 // print_chip_line(3 + r * 10, 50, ' ') - // [777] print_chip_line::x#5 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 + // [784] print_chip_line::x#5 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __4 sta.z print_chip_line.x - // [778] call print_chip_line - // [1180] phi from print_chips::@7 to print_chip_line [phi:print_chips::@7->print_chip_line] - // [1180] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@7->print_chip_line#0] -- vbuz1=vbuc1 + // [785] call print_chip_line + // [1187] phi from print_chips::@7 to print_chip_line [phi:print_chips::@7->print_chip_line] + // [1187] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@7->print_chip_line#0] -- vbuz1=vbuc1 lda #' ' sta.z print_chip_line.c - // [1180] phi print_chip_line::y#12 = $32 [phi:print_chips::@7->print_chip_line#1] -- vbuz1=vbuc1 + // [1187] phi print_chip_line::y#12 = $32 [phi:print_chips::@7->print_chip_line#1] -- vbuz1=vbuc1 lda #$32 sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#5 [phi:print_chips::@7->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#5 [phi:print_chips::@7->print_chip_line#2] -- register_copy jsr print_chip_line // print_chips::@8 // print_chip_line(3 + r * 10, 51, ' ') - // [779] print_chip_line::x#6 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 + // [786] print_chip_line::x#6 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __4 sta.z print_chip_line.x - // [780] call print_chip_line - // [1180] phi from print_chips::@8 to print_chip_line [phi:print_chips::@8->print_chip_line] - // [1180] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@8->print_chip_line#0] -- vbuz1=vbuc1 + // [787] call print_chip_line + // [1187] phi from print_chips::@8 to print_chip_line [phi:print_chips::@8->print_chip_line] + // [1187] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@8->print_chip_line#0] -- vbuz1=vbuc1 lda #' ' sta.z print_chip_line.c - // [1180] phi print_chip_line::y#12 = $33 [phi:print_chips::@8->print_chip_line#1] -- vbuz1=vbuc1 + // [1187] phi print_chip_line::y#12 = $33 [phi:print_chips::@8->print_chip_line#1] -- vbuz1=vbuc1 lda #$33 sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#6 [phi:print_chips::@8->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#6 [phi:print_chips::@8->print_chip_line#2] -- register_copy jsr print_chip_line // print_chips::@9 // print_chip_line(3 + r * 10, 52, ' ') - // [781] print_chip_line::x#7 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 + // [788] print_chip_line::x#7 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __4 sta.z print_chip_line.x - // [782] call print_chip_line - // [1180] phi from print_chips::@9 to print_chip_line [phi:print_chips::@9->print_chip_line] - // [1180] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@9->print_chip_line#0] -- vbuz1=vbuc1 + // [789] call print_chip_line + // [1187] phi from print_chips::@9 to print_chip_line [phi:print_chips::@9->print_chip_line] + // [1187] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@9->print_chip_line#0] -- vbuz1=vbuc1 lda #' ' sta.z print_chip_line.c - // [1180] phi print_chip_line::y#12 = $34 [phi:print_chips::@9->print_chip_line#1] -- vbuz1=vbuc1 + // [1187] phi print_chip_line::y#12 = $34 [phi:print_chips::@9->print_chip_line#1] -- vbuz1=vbuc1 lda #$34 sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#7 [phi:print_chips::@9->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#7 [phi:print_chips::@9->print_chip_line#2] -- register_copy jsr print_chip_line // print_chips::@10 // print_chip_line(3 + r * 10, 53, ' ') - // [783] print_chip_line::x#8 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 + // [790] print_chip_line::x#8 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __4 sta.z print_chip_line.x - // [784] call print_chip_line - // [1180] phi from print_chips::@10 to print_chip_line [phi:print_chips::@10->print_chip_line] - // [1180] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@10->print_chip_line#0] -- vbuz1=vbuc1 + // [791] call print_chip_line + // [1187] phi from print_chips::@10 to print_chip_line [phi:print_chips::@10->print_chip_line] + // [1187] phi print_chip_line::c#12 = ' 'pm [phi:print_chips::@10->print_chip_line#0] -- vbuz1=vbuc1 lda #' ' sta.z print_chip_line.c - // [1180] phi print_chip_line::y#12 = $35 [phi:print_chips::@10->print_chip_line#1] -- vbuz1=vbuc1 + // [1187] phi print_chip_line::y#12 = $35 [phi:print_chips::@10->print_chip_line#1] -- vbuz1=vbuc1 lda #$35 sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#8 [phi:print_chips::@10->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#8 [phi:print_chips::@10->print_chip_line#2] -- register_copy jsr print_chip_line // print_chips::@11 // print_chip_end(3 + r * 10, 54) - // [785] print_chip_end::x#0 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz1 + // [792] print_chip_end::x#0 = 3 + print_chips::$4 -- vbuz1=vbuc1_plus_vbuz1 lda #3 clc adc.z print_chip_end.x sta.z print_chip_end.x - // [786] call print_chip_end + // [793] call print_chip_end jsr print_chip_end // print_chips::@12 // print_chip_led(r, BLACK, BLUE) - // [787] print_chip_led::r#0 = print_chips::r#10 -- vbuz1=vbuz2 + // [794] print_chip_led::r#0 = print_chips::r#10 -- vbuz1=vbuz2 lda.z r sta.z print_chip_led.r - // [788] call print_chip_led - // [878] phi from print_chips::@12 to print_chip_led [phi:print_chips::@12->print_chip_led] - // [878] phi print_chip_led::tc#10 = BLACK [phi:print_chips::@12->print_chip_led#0] -- vbuz1=vbuc1 + // [795] call print_chip_led + // [885] phi from print_chips::@12 to print_chip_led [phi:print_chips::@12->print_chip_led] + // [885] phi print_chip_led::tc#10 = BLACK [phi:print_chips::@12->print_chip_led#0] -- vbuz1=vbuc1 lda #BLACK sta.z print_chip_led.tc - // [878] phi print_chip_led::r#10 = print_chip_led::r#0 [phi:print_chips::@12->print_chip_led#1] -- register_copy + // [885] phi print_chip_led::r#10 = print_chip_led::r#0 [phi:print_chips::@12->print_chip_led#1] -- register_copy jsr print_chip_led // print_chips::@13 // for (unsigned char r = 0; r < 8; r++) - // [789] print_chips::r#1 = ++ print_chips::r#10 -- vbuz1=_inc_vbuz1 + // [796] print_chips::r#1 = ++ print_chips::r#10 -- vbuz1=_inc_vbuz1 inc.z r - // [760] phi from print_chips::@13 to print_chips::@1 [phi:print_chips::@13->print_chips::@1] - // [760] phi print_chips::r#10 = print_chips::r#1 [phi:print_chips::@13->print_chips::@1#0] -- register_copy + // [767] phi from print_chips::@13 to print_chips::@1 [phi:print_chips::@13->print_chips::@1] + // [767] phi print_chips::r#10 = print_chips::r#1 [phi:print_chips::@13->print_chips::@1#0] -- register_copy jmp __b1 } // snprintf_init @@ -5400,69 +5493,69 @@ print_chips: { // void snprintf_init(char *s, unsigned int n) snprintf_init: { // __snprintf_capacity = n - // [790] __snprintf_capacity = $ffff -- vwum1=vwuc1 + // [797] __snprintf_capacity = $ffff -- vwum1=vwuc1 lda #<$ffff sta __snprintf_capacity lda #>$ffff sta __snprintf_capacity+1 // __snprintf_size = 0 - // [791] __snprintf_size = 0 -- vwum1=vbuc1 + // [798] __snprintf_size = 0 -- vwum1=vbuc1 lda #<0 sta __snprintf_size sta __snprintf_size+1 // __snprintf_buffer = s - // [792] __snprintf_buffer = main::buffer -- pbum1=pbuc1 + // [799] __snprintf_buffer = main::buffer -- pbum1=pbuc1 lda #main.buffer sta __snprintf_buffer+1 // snprintf_init::@return // } - // [793] return + // [800] return rts } // print_text // void print_text(char *text) print_text: { // textcolor(WHITE) - // [795] call textcolor - // [504] phi from print_text to textcolor [phi:print_text->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:print_text->textcolor#0] -- vbuz1=vbuc1 + // [802] call textcolor + // [511] phi from print_text to textcolor [phi:print_text->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:print_text->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [796] phi from print_text to print_text::@1 [phi:print_text->print_text::@1] + // [803] phi from print_text to print_text::@1 [phi:print_text->print_text::@1] // print_text::@1 // gotoxy(2, 39) - // [797] call gotoxy - // [522] phi from print_text::@1 to gotoxy [phi:print_text::@1->gotoxy] - // [522] phi gotoxy::y#24 = $27 [phi:print_text::@1->gotoxy#0] -- vbuz1=vbuc1 + // [804] call gotoxy + // [529] phi from print_text::@1 to gotoxy [phi:print_text::@1->gotoxy] + // [529] phi gotoxy::y#24 = $27 [phi:print_text::@1->gotoxy#0] -- vbuz1=vbuc1 lda #$27 sta.z gotoxy.y - // [522] phi gotoxy::x#24 = 2 [phi:print_text::@1->gotoxy#1] -- vbuz1=vbuc1 + // [529] phi gotoxy::x#24 = 2 [phi:print_text::@1->gotoxy#1] -- vbuz1=vbuc1 lda #2 sta.z gotoxy.x jsr gotoxy - // [798] phi from print_text::@1 to print_text::@2 [phi:print_text::@1->print_text::@2] + // [805] phi from print_text::@1 to print_text::@2 [phi:print_text::@1->print_text::@2] // print_text::@2 // printf("%-76s", text) - // [799] call printf_string - // [923] phi from print_text::@2 to printf_string [phi:print_text::@2->printf_string] - // [923] phi printf_string::str#10 = main::buffer [phi:print_text::@2->printf_string#0] -- pbuz1=pbuc1 + // [806] call printf_string + // [930] phi from print_text::@2 to printf_string [phi:print_text::@2->printf_string] + // [930] phi printf_string::str#10 = main::buffer [phi:print_text::@2->printf_string#0] -- pbuz1=pbuc1 lda #main.buffer sta.z printf_string.str+1 - // [923] phi printf_string::format_justify_left#10 = 1 [phi:print_text::@2->printf_string#1] -- vbuz1=vbuc1 + // [930] phi printf_string::format_justify_left#10 = 1 [phi:print_text::@2->printf_string#1] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [923] phi printf_string::format_min_length#7 = $4c [phi:print_text::@2->printf_string#2] -- vbuz1=vbuc1 + // [930] phi printf_string::format_min_length#7 = $4c [phi:print_text::@2->printf_string#2] -- vbuz1=vbuc1 lda #$4c sta.z printf_string.format_min_length jsr printf_string // print_text::@return // } - // [800] return + // [807] return rts } // wait_key @@ -5471,37 +5564,37 @@ print_text: { // To print the graphics on the vera. wait_key: { .const bank_set_bram1_bank = 0 - .label return = $ae + .label return = $af // wait_key::bank_set_bram1 // BRAM = bank - // [802] BRAM = wait_key::bank_set_bram1_bank#0 -- vbuz1=vbuc1 + // [809] BRAM = wait_key::bank_set_bram1_bank#0 -- vbuz1=vbuc1 lda #bank_set_bram1_bank sta.z BRAM - // [803] phi from wait_key::bank_set_bram1 to wait_key::@2 [phi:wait_key::bank_set_bram1->wait_key::@2] + // [810] phi from wait_key::bank_set_bram1 to wait_key::@2 [phi:wait_key::bank_set_bram1->wait_key::@2] // wait_key::@2 // bank_set_brom(4) - // [804] call bank_set_brom - // [811] phi from wait_key::@2 to bank_set_brom [phi:wait_key::@2->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = 4 [phi:wait_key::@2->bank_set_brom#0] -- vbuz1=vbuc1 + // [811] call bank_set_brom + // [818] phi from wait_key::@2 to bank_set_brom [phi:wait_key::@2->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = 4 [phi:wait_key::@2->bank_set_brom#0] -- vbuz1=vbuc1 lda #4 sta.z bank_set_brom.bank jsr bank_set_brom - // [805] phi from wait_key::@2 wait_key::@3 to wait_key::@1 [phi:wait_key::@2/wait_key::@3->wait_key::@1] + // [812] phi from wait_key::@2 wait_key::@3 to wait_key::@1 [phi:wait_key::@2/wait_key::@3->wait_key::@1] // wait_key::@1 __b1: // getin() - // [806] call getin + // [813] call getin jsr getin - // [807] getin::return#2 = getin::return#1 + // [814] getin::return#2 = getin::return#1 // wait_key::@3 - // [808] wait_key::return#0 = getin::return#2 + // [815] wait_key::return#0 = getin::return#2 // while (!(ch = getin())) - // [809] if(0==wait_key::return#0) goto wait_key::@1 -- 0_eq_vbuz1_then_la1 + // [816] if(0==wait_key::return#0) goto wait_key::@1 -- 0_eq_vbuz1_then_la1 lda.z return beq __b1 // wait_key::@return // } - // [810] return + // [817] return rts } // bank_set_brom @@ -5526,16 +5619,16 @@ wait_key: { * * @param bank Switch to this bank. */ -// void bank_set_brom(__zp($46) char bank) +// void bank_set_brom(__zp($34) char bank) bank_set_brom: { - .label bank = $46 + .label bank = $34 // BROM = bank - // [812] BROM = bank_set_brom::bank#12 -- vbuz1=vbuz2 + // [819] BROM = bank_set_brom::bank#12 -- vbuz1=vbuz2 lda.z bank sta.z BROM // bank_set_brom::@return // } - // [813] return + // [820] return rts } // system_reset @@ -5543,15 +5636,15 @@ system_reset: { .const bank_set_bram1_bank = 0 // system_reset::bank_set_bram1 // BRAM = bank - // [815] BRAM = system_reset::bank_set_bram1_bank#0 -- vbuz1=vbuc1 + // [822] BRAM = system_reset::bank_set_bram1_bank#0 -- vbuz1=vbuc1 lda #bank_set_bram1_bank sta.z BRAM - // [816] phi from system_reset::bank_set_bram1 to system_reset::@1 [phi:system_reset::bank_set_bram1->system_reset::@1] + // [823] phi from system_reset::bank_set_bram1 to system_reset::@1 [phi:system_reset::bank_set_bram1->system_reset::@1] // system_reset::@1 // bank_set_brom(0) - // [817] call bank_set_brom - // [811] phi from system_reset::@1 to bank_set_brom [phi:system_reset::@1->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = 0 [phi:system_reset::@1->bank_set_brom#0] -- vbuz1=vbuc1 + // [824] call bank_set_brom + // [818] phi from system_reset::@1 to bank_set_brom [phi:system_reset::@1->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = 0 [phi:system_reset::@1->bank_set_brom#0] -- vbuz1=vbuc1 lda #0 sta.z bank_set_brom.bank jsr bank_set_brom @@ -5561,34 +5654,34 @@ system_reset: { jmp ($fffc) // system_reset::@return // } - // [819] return + // [826] return } // printf_sint // Print a signed integer using a specific format -// void printf_sint(void (*putc)(char), __zp($28) int value, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix) +// void printf_sint(void (*putc)(char), __zp($27) int value, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix) printf_sint: { .const format_min_length = 0 .const format_justify_left = 0 .const format_zero_padding = 0 .const format_upper_case = 0 .label putc = snputc - .label value = $28 + .label value = $27 // printf_buffer.sign = 0 - // [820] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 + // [827] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 // Handle any sign lda #0 sta printf_buffer // if(value<0) - // [821] if(printf_sint::value#1<0) goto printf_sint::@1 -- vwsz1_lt_0_then_la1 + // [828] if(printf_sint::value#1<0) goto printf_sint::@1 -- vwsz1_lt_0_then_la1 lda.z value+1 bmi __b1 - // [824] phi from printf_sint printf_sint::@1 to printf_sint::@2 [phi:printf_sint/printf_sint::@1->printf_sint::@2] - // [824] phi printf_sint::value#4 = printf_sint::value#1 [phi:printf_sint/printf_sint::@1->printf_sint::@2#0] -- register_copy + // [831] phi from printf_sint printf_sint::@1 to printf_sint::@2 [phi:printf_sint/printf_sint::@1->printf_sint::@2] + // [831] phi printf_sint::value#4 = printf_sint::value#1 [phi:printf_sint/printf_sint::@1->printf_sint::@2#0] -- register_copy jmp __b2 // printf_sint::@1 __b1: // value = -value - // [822] printf_sint::value#0 = - printf_sint::value#1 -- vwsz1=_neg_vwsz1 + // [829] printf_sint::value#0 = - printf_sint::value#1 -- vwsz1=_neg_vwsz1 lda #0 sec sbc.z value @@ -5597,97 +5690,97 @@ printf_sint: { sbc.z value+1 sta.z value+1 // printf_buffer.sign = '-' - // [823] *((char *)&printf_buffer) = '-'pm -- _deref_pbuc1=vbuc2 + // [830] *((char *)&printf_buffer) = '-'pm -- _deref_pbuc1=vbuc2 lda #'-' sta printf_buffer // printf_sint::@2 __b2: // utoa(uvalue, printf_buffer.digits, format.radix) - // [825] utoa::value#1 = (unsigned int)printf_sint::value#4 - // [826] call utoa - // [1243] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa] - // [1243] phi utoa::value#10 = utoa::value#1 [phi:printf_sint::@2->utoa#0] -- register_copy - // [1243] phi utoa::radix#2 = DECIMAL [phi:printf_sint::@2->utoa#1] -- vbuz1=vbuc1 + // [832] utoa::value#1 = (unsigned int)printf_sint::value#4 + // [833] call utoa + // [1250] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa] + // [1250] phi utoa::value#10 = utoa::value#1 [phi:printf_sint::@2->utoa#0] -- register_copy + // [1250] phi utoa::radix#2 = DECIMAL [phi:printf_sint::@2->utoa#1] -- vbuz1=vbuc1 lda #DECIMAL sta.z utoa.radix jsr utoa // printf_sint::@3 // printf_number_buffer(putc, printf_buffer, format) - // [827] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 + // [834] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 lda printf_buffer sta.z printf_number_buffer.buffer_sign - // [828] call printf_number_buffer + // [835] call printf_number_buffer // Print using format - // [1274] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer] - // [1274] phi printf_number_buffer::format_upper_case#10 = printf_sint::format_upper_case#0 [phi:printf_sint::@3->printf_number_buffer#0] -- vbuz1=vbuc1 + // [1281] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer] + // [1281] phi printf_number_buffer::format_upper_case#10 = printf_sint::format_upper_case#0 [phi:printf_sint::@3->printf_number_buffer#0] -- vbuz1=vbuc1 lda #format_upper_case sta.z printf_number_buffer.format_upper_case - // [1274] phi printf_number_buffer::putc#10 = printf_sint::putc#0 [phi:printf_sint::@3->printf_number_buffer#1] -- pprz1=pprc1 + // [1281] phi printf_number_buffer::putc#10 = printf_sint::putc#0 [phi:printf_sint::@3->printf_number_buffer#1] -- pprz1=pprc1 lda #putc sta.z printf_number_buffer.putc+1 - // [1274] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#1 [phi:printf_sint::@3->printf_number_buffer#2] -- register_copy - // [1274] phi printf_number_buffer::format_zero_padding#10 = printf_sint::format_zero_padding#0 [phi:printf_sint::@3->printf_number_buffer#3] -- vbuz1=vbuc1 + // [1281] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#1 [phi:printf_sint::@3->printf_number_buffer#2] -- register_copy + // [1281] phi printf_number_buffer::format_zero_padding#10 = printf_sint::format_zero_padding#0 [phi:printf_sint::@3->printf_number_buffer#3] -- vbuz1=vbuc1 lda #format_zero_padding sta.z printf_number_buffer.format_zero_padding - // [1274] phi printf_number_buffer::format_justify_left#10 = printf_sint::format_justify_left#0 [phi:printf_sint::@3->printf_number_buffer#4] -- vbuz1=vbuc1 + // [1281] phi printf_number_buffer::format_justify_left#10 = printf_sint::format_justify_left#0 [phi:printf_sint::@3->printf_number_buffer#4] -- vbuz1=vbuc1 lda #format_justify_left sta.z printf_number_buffer.format_justify_left - // [1274] phi printf_number_buffer::format_min_length#4 = printf_sint::format_min_length#0 [phi:printf_sint::@3->printf_number_buffer#5] -- vbuz1=vbuc1 + // [1281] phi printf_number_buffer::format_min_length#4 = printf_sint::format_min_length#0 [phi:printf_sint::@3->printf_number_buffer#5] -- vbuz1=vbuc1 lda #format_min_length sta.z printf_number_buffer.format_min_length jsr printf_number_buffer // printf_sint::@return // } - // [829] return + // [836] return rts } // printf_uchar // Print an unsigned char using a specific format -// void printf_uchar(__zp($6d) void (*putc)(char), __zp($27) char uvalue, __zp($2b) char format_min_length, char format_justify_left, char format_sign_always, __zp($af) char format_zero_padding, char format_upper_case, __zp($54) char format_radix) +// void printf_uchar(__zp($61) void (*putc)(char), __zp($26) char uvalue, __zp($78) char format_min_length, char format_justify_left, char format_sign_always, __zp($77) char format_zero_padding, char format_upper_case, __zp($2b) char format_radix) printf_uchar: { - .label uvalue = $27 - .label format_radix = $54 - .label putc = $6d - .label format_min_length = $2b - .label format_zero_padding = $af + .label uvalue = $26 + .label format_radix = $2b + .label putc = $61 + .label format_min_length = $78 + .label format_zero_padding = $77 // printf_uchar::@1 // printf_buffer.sign = format.sign_always?'+':0 - // [831] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 + // [838] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 // Handle any sign lda #0 sta printf_buffer // uctoa(uvalue, printf_buffer.digits, format.radix) - // [832] uctoa::value#1 = printf_uchar::uvalue#12 - // [833] uctoa::radix#0 = printf_uchar::format_radix#12 - // [834] call uctoa + // [839] uctoa::value#1 = printf_uchar::uvalue#12 + // [840] uctoa::radix#0 = printf_uchar::format_radix#12 + // [841] call uctoa // Format number into buffer jsr uctoa // printf_uchar::@2 // printf_number_buffer(putc, printf_buffer, format) - // [835] printf_number_buffer::putc#3 = printf_uchar::putc#12 - // [836] printf_number_buffer::buffer_sign#3 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 + // [842] printf_number_buffer::putc#3 = printf_uchar::putc#12 + // [843] printf_number_buffer::buffer_sign#3 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 lda printf_buffer sta.z printf_number_buffer.buffer_sign - // [837] printf_number_buffer::format_min_length#3 = printf_uchar::format_min_length#12 - // [838] printf_number_buffer::format_zero_padding#3 = printf_uchar::format_zero_padding#12 - // [839] call printf_number_buffer + // [844] printf_number_buffer::format_min_length#3 = printf_uchar::format_min_length#12 + // [845] printf_number_buffer::format_zero_padding#3 = printf_uchar::format_zero_padding#12 + // [846] call printf_number_buffer // Print using format - // [1274] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer] - // [1274] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#0] -- vbuz1=vbuc1 + // [1281] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer] + // [1281] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#0] -- vbuz1=vbuc1 lda #0 sta.z printf_number_buffer.format_upper_case - // [1274] phi printf_number_buffer::putc#10 = printf_number_buffer::putc#3 [phi:printf_uchar::@2->printf_number_buffer#1] -- register_copy - // [1274] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 [phi:printf_uchar::@2->printf_number_buffer#2] -- register_copy - // [1274] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#3 [phi:printf_uchar::@2->printf_number_buffer#3] -- register_copy - // [1274] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#4] -- vbuz1=vbuc1 + // [1281] phi printf_number_buffer::putc#10 = printf_number_buffer::putc#3 [phi:printf_uchar::@2->printf_number_buffer#1] -- register_copy + // [1281] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 [phi:printf_uchar::@2->printf_number_buffer#2] -- register_copy + // [1281] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#3 [phi:printf_uchar::@2->printf_number_buffer#3] -- register_copy + // [1281] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#4] -- vbuz1=vbuc1 sta.z printf_number_buffer.format_justify_left - // [1274] phi printf_number_buffer::format_min_length#4 = printf_number_buffer::format_min_length#3 [phi:printf_uchar::@2->printf_number_buffer#5] -- register_copy + // [1281] phi printf_number_buffer::format_min_length#4 = printf_number_buffer::format_min_length#3 [phi:printf_uchar::@2->printf_number_buffer#5] -- register_copy jsr printf_number_buffer // printf_uchar::@return // } - // [840] return + // [847] return rts } // fopen @@ -5702,35 +5795,35 @@ printf_uchar: { * - 0x0000: Something is wrong! Kernal Error Code (https://commodore.ca/manuals/pdfs/commodore_error_messages.pdf) * - other: OK! The last pointer between 0xA000 and 0xBFFF is returned. Note that the last pointer is indicating the first free byte. */ -// __zp($79) struct $1 * fopen(char channel, char device, char secondary, char *filename) +// __zp($42) struct $1 * fopen(char channel, char device, char secondary, char *filename) fopen: { .const channel = 1 .const device = 8 .const secondary = 2 - .label __4 = $27 - .label __7 = $73 - .label __11 = $bc - .label fp = $79 - .label return = $79 - .label __32 = $bc - .label __33 = $bc + .label __4 = $47 + .label __7 = $68 + .label __11 = $5c + .label fp = $42 + .label return = $42 + .label __32 = $5c + .label __33 = $5c // FILE *fp = &__files[__filecount] - // [841] fopen::$32 = __filecount << 2 -- vbuz1=vbum2_rol_2 + // [848] fopen::$32 = __filecount << 2 -- vbuz1=vbum2_rol_2 lda __filecount asl asl sta.z __32 - // [842] fopen::$33 = fopen::$32 + __filecount -- vbuz1=vbuz1_plus_vbum2 + // [849] fopen::$33 = fopen::$32 + __filecount -- vbuz1=vbuz1_plus_vbum2 lda __filecount clc adc.z __33 sta.z __33 - // [843] fopen::$11 = fopen::$33 << 2 -- vbuz1=vbuz1_rol_2 + // [850] fopen::$11 = fopen::$33 << 2 -- vbuz1=vbuz1_rol_2 lda.z __11 asl asl sta.z __11 - // [844] fopen::fp#0 = __files + fopen::$11 -- pssz1=pssc1_plus_vbuz2 + // [851] fopen::fp#0 = __files + fopen::$11 -- pssz1=pssc1_plus_vbuz2 clc adc #<__files sta.z fp @@ -5738,315 +5831,315 @@ fopen: { adc #0 sta.z fp+1 // fp->status = 0 - // [845] ((char *)fopen::fp#0)[$13] = 0 -- pbuz1_derefidx_vbuc1=vbuc2 + // [852] ((char *)fopen::fp#0)[$13] = 0 -- pbuz1_derefidx_vbuc1=vbuc2 lda #0 ldy #$13 sta (fp),y // fp->channel = channel - // [846] ((char *)fopen::fp#0)[$10] = fopen::channel#0 -- pbuz1_derefidx_vbuc1=vbuc2 + // [853] ((char *)fopen::fp#0)[$10] = fopen::channel#0 -- pbuz1_derefidx_vbuc1=vbuc2 lda #channel ldy #$10 sta (fp),y // fp->device = device - // [847] ((char *)fopen::fp#0)[$11] = fopen::device#0 -- pbuz1_derefidx_vbuc1=vbuc2 + // [854] ((char *)fopen::fp#0)[$11] = fopen::device#0 -- pbuz1_derefidx_vbuc1=vbuc2 lda #device ldy #$11 sta (fp),y // fp->secondary = secondary - // [848] ((char *)fopen::fp#0)[$12] = fopen::secondary#0 -- pbuz1_derefidx_vbuc1=vbuc2 + // [855] ((char *)fopen::fp#0)[$12] = fopen::secondary#0 -- pbuz1_derefidx_vbuc1=vbuc2 lda #secondary ldy #$12 sta (fp),y // strncpy(fp->filename, filename, 16) - // [849] strncpy::dst#1 = (char *)fopen::fp#0 -- pbuz1=pbuz2 + // [856] strncpy::dst#1 = (char *)fopen::fp#0 -- pbuz1=pbuz2 lda.z fp sta.z strncpy.dst lda.z fp+1 sta.z strncpy.dst+1 - // [850] call strncpy - // [1343] phi from fopen to strncpy [phi:fopen->strncpy] + // [857] call strncpy + // [1350] phi from fopen to strncpy [phi:fopen->strncpy] jsr strncpy // fopen::@5 // cbm_k_setnam(filename) - // [851] cbm_k_setnam::filename = main::buffer -- pbuz1=pbuc1 + // [858] cbm_k_setnam::filename = main::buffer -- pbuz1=pbuc1 lda #main.buffer sta.z cbm_k_setnam.filename+1 - // [852] call cbm_k_setnam + // [859] call cbm_k_setnam jsr cbm_k_setnam // fopen::@6 // cbm_k_setlfs(channel, device, secondary) - // [853] cbm_k_setlfs::channel = fopen::channel#0 -- vbuz1=vbuc1 + // [860] cbm_k_setlfs::channel = fopen::channel#0 -- vbuz1=vbuc1 lda #channel sta.z cbm_k_setlfs.channel - // [854] cbm_k_setlfs::device = fopen::device#0 -- vbuz1=vbuc1 + // [861] cbm_k_setlfs::device = fopen::device#0 -- vbuz1=vbuc1 lda #device sta.z cbm_k_setlfs.device - // [855] cbm_k_setlfs::command = fopen::secondary#0 -- vbuz1=vbuc1 + // [862] cbm_k_setlfs::command = fopen::secondary#0 -- vbuz1=vbuc1 lda #secondary sta.z cbm_k_setlfs.command - // [856] call cbm_k_setlfs + // [863] call cbm_k_setlfs jsr cbm_k_setlfs - // [857] phi from fopen::@6 to fopen::@7 [phi:fopen::@6->fopen::@7] + // [864] phi from fopen::@6 to fopen::@7 [phi:fopen::@6->fopen::@7] // fopen::@7 // cbm_k_open() - // [858] call cbm_k_open + // [865] call cbm_k_open jsr cbm_k_open - // [859] cbm_k_open::return#2 = cbm_k_open::return#1 + // [866] cbm_k_open::return#2 = cbm_k_open::return#1 // fopen::@8 - // [860] fopen::$4 = cbm_k_open::return#2 + // [867] fopen::$4 = cbm_k_open::return#2 // fp->status = cbm_k_open() - // [861] ((char *)fopen::fp#0)[$13] = fopen::$4 -- pbuz1_derefidx_vbuc1=vbuz2 + // [868] ((char *)fopen::fp#0)[$13] = fopen::$4 -- pbuz1_derefidx_vbuc1=vbuz2 lda.z __4 ldy #$13 sta (fp),y // if (fp->status) - // [862] if(0==((char *)fopen::fp#0)[$13]) goto fopen::@1 -- 0_eq_pbuz1_derefidx_vbuc1_then_la1 + // [869] if(0==((char *)fopen::fp#0)[$13]) goto fopen::@1 -- 0_eq_pbuz1_derefidx_vbuc1_then_la1 lda (fp),y cmp #0 beq __b1 // fopen::@3 // cbm_k_close(channel) - // [863] cbm_k_close::channel = fopen::channel#0 -- vbuz1=vbuc1 + // [870] cbm_k_close::channel = fopen::channel#0 -- vbuz1=vbuc1 lda #channel sta.z cbm_k_close.channel - // [864] call cbm_k_close + // [871] call cbm_k_close jsr cbm_k_close - // [865] phi from fopen::@3 fopen::@4 to fopen::@return [phi:fopen::@3/fopen::@4->fopen::@return] + // [872] phi from fopen::@3 fopen::@4 to fopen::@return [phi:fopen::@3/fopen::@4->fopen::@return] __b3: - // [865] phi fopen::return#1 = 0 [phi:fopen::@3/fopen::@4->fopen::@return#0] -- pssz1=vbuc1 + // [872] phi fopen::return#1 = 0 [phi:fopen::@3/fopen::@4->fopen::@return#0] -- pssz1=vbuc1 lda #<0 sta.z return sta.z return+1 // fopen::@return // } - // [866] return + // [873] return rts // fopen::@1 __b1: // cbm_k_chkin(channel) - // [867] cbm_k_chkin::channel = fopen::channel#0 -- vbuz1=vbuc1 + // [874] cbm_k_chkin::channel = fopen::channel#0 -- vbuz1=vbuc1 lda #channel sta.z cbm_k_chkin.channel - // [868] call cbm_k_chkin + // [875] call cbm_k_chkin jsr cbm_k_chkin - // [869] phi from fopen::@1 to fopen::@9 [phi:fopen::@1->fopen::@9] + // [876] phi from fopen::@1 to fopen::@9 [phi:fopen::@1->fopen::@9] // fopen::@9 // cbm_k_readst() - // [870] call cbm_k_readst + // [877] call cbm_k_readst jsr cbm_k_readst - // [871] cbm_k_readst::return#2 = cbm_k_readst::return#1 + // [878] cbm_k_readst::return#2 = cbm_k_readst::return#1 // fopen::@10 - // [872] fopen::$7 = cbm_k_readst::return#2 + // [879] fopen::$7 = cbm_k_readst::return#2 // fp->status = cbm_k_readst() - // [873] ((char *)fopen::fp#0)[$13] = fopen::$7 -- pbuz1_derefidx_vbuc1=vbuz2 + // [880] ((char *)fopen::fp#0)[$13] = fopen::$7 -- pbuz1_derefidx_vbuc1=vbuz2 lda.z __7 ldy #$13 sta (fp),y // if (fp->status) - // [874] if(0==((char *)fopen::fp#0)[$13]) goto fopen::@2 -- 0_eq_pbuz1_derefidx_vbuc1_then_la1 + // [881] if(0==((char *)fopen::fp#0)[$13]) goto fopen::@2 -- 0_eq_pbuz1_derefidx_vbuc1_then_la1 lda (fp),y cmp #0 beq __b2 // fopen::@4 // cbm_k_close(channel) - // [875] cbm_k_close::channel = fopen::channel#0 -- vbuz1=vbuc1 + // [882] cbm_k_close::channel = fopen::channel#0 -- vbuz1=vbuc1 lda #channel sta.z cbm_k_close.channel - // [876] call cbm_k_close + // [883] call cbm_k_close jsr cbm_k_close jmp __b3 // fopen::@2 __b2: // __filecount++; - // [877] __filecount = ++ __filecount -- vbum1=_inc_vbum1 + // [884] __filecount = ++ __filecount -- vbum1=_inc_vbum1 inc __filecount - // [865] phi from fopen::@2 to fopen::@return [phi:fopen::@2->fopen::@return] - // [865] phi fopen::return#1 = fopen::fp#0 [phi:fopen::@2->fopen::@return#0] -- register_copy + // [872] phi from fopen::@2 to fopen::@return [phi:fopen::@2->fopen::@return] + // [872] phi fopen::return#1 = fopen::fp#0 [phi:fopen::@2->fopen::@return#0] -- register_copy rts } // print_chip_led -// void print_chip_led(__zp($55) char r, __zp($ae) char tc, char bc) +// void print_chip_led(__zp($46) char r, __zp($29) char tc, char bc) print_chip_led: { - .label __0 = $55 - .label r = $55 - .label tc = $ae - .label __8 = $bc - .label __9 = $55 + .label __0 = $46 + .label r = $46 + .label tc = $29 + .label __8 = $5c + .label __9 = $46 // r * 10 - // [879] print_chip_led::$8 = print_chip_led::r#10 << 2 -- vbuz1=vbuz2_rol_2 + // [886] print_chip_led::$8 = print_chip_led::r#10 << 2 -- vbuz1=vbuz2_rol_2 lda.z r asl asl sta.z __8 - // [880] print_chip_led::$9 = print_chip_led::$8 + print_chip_led::r#10 -- vbuz1=vbuz2_plus_vbuz1 + // [887] print_chip_led::$9 = print_chip_led::$8 + print_chip_led::r#10 -- vbuz1=vbuz2_plus_vbuz1 lda.z __9 clc adc.z __8 sta.z __9 - // [881] print_chip_led::$0 = print_chip_led::$9 << 1 -- vbuz1=vbuz1_rol_1 + // [888] print_chip_led::$0 = print_chip_led::$9 << 1 -- vbuz1=vbuz1_rol_1 asl.z __0 // gotoxy(4 + r * 10, 43) - // [882] gotoxy::x#6 = 4 + print_chip_led::$0 -- vbuz1=vbuc1_plus_vbuz2 + // [889] gotoxy::x#6 = 4 + print_chip_led::$0 -- vbuz1=vbuc1_plus_vbuz2 lda #4 clc adc.z __0 sta.z gotoxy.x - // [883] call gotoxy - // [522] phi from print_chip_led to gotoxy [phi:print_chip_led->gotoxy] - // [522] phi gotoxy::y#24 = $2b [phi:print_chip_led->gotoxy#0] -- vbuz1=vbuc1 + // [890] call gotoxy + // [529] phi from print_chip_led to gotoxy [phi:print_chip_led->gotoxy] + // [529] phi gotoxy::y#24 = $2b [phi:print_chip_led->gotoxy#0] -- vbuz1=vbuc1 lda #$2b sta.z gotoxy.y - // [522] phi gotoxy::x#24 = gotoxy::x#6 [phi:print_chip_led->gotoxy#1] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#6 [phi:print_chip_led->gotoxy#1] -- register_copy jsr gotoxy // print_chip_led::@1 // textcolor(tc) - // [884] textcolor::color#8 = print_chip_led::tc#10 -- vbuz1=vbuz2 + // [891] textcolor::color#8 = print_chip_led::tc#10 -- vbuz1=vbuz2 lda.z tc sta.z textcolor.color - // [885] call textcolor - // [504] phi from print_chip_led::@1 to textcolor [phi:print_chip_led::@1->textcolor] - // [504] phi textcolor::color#24 = textcolor::color#8 [phi:print_chip_led::@1->textcolor#0] -- register_copy + // [892] call textcolor + // [511] phi from print_chip_led::@1 to textcolor [phi:print_chip_led::@1->textcolor] + // [511] phi textcolor::color#24 = textcolor::color#8 [phi:print_chip_led::@1->textcolor#0] -- register_copy jsr textcolor - // [886] phi from print_chip_led::@1 to print_chip_led::@2 [phi:print_chip_led::@1->print_chip_led::@2] + // [893] phi from print_chip_led::@1 to print_chip_led::@2 [phi:print_chip_led::@1->print_chip_led::@2] // print_chip_led::@2 // bgcolor(bc) - // [887] call bgcolor - // [509] phi from print_chip_led::@2 to bgcolor [phi:print_chip_led::@2->bgcolor] - // [509] phi bgcolor::color#11 = BLUE [phi:print_chip_led::@2->bgcolor#0] -- vbuz1=vbuc1 + // [894] call bgcolor + // [516] phi from print_chip_led::@2 to bgcolor [phi:print_chip_led::@2->bgcolor] + // [516] phi bgcolor::color#11 = BLUE [phi:print_chip_led::@2->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // print_chip_led::@3 // cputc(VERA_REV_SPACE) - // [888] stackpush(char) = $a0 -- _stackpushbyte_=vbuc1 + // [895] stackpush(char) = $a0 -- _stackpushbyte_=vbuc1 lda #$a0 pha - // [889] callexecute cputc -- call_vprc1 + // [896] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla - // [891] stackpush(char) = $a0 -- _stackpushbyte_=vbuc1 + // [898] stackpush(char) = $a0 -- _stackpushbyte_=vbuc1 lda #$a0 pha - // [892] callexecute cputc -- call_vprc1 + // [899] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla - // [894] stackpush(char) = $a0 -- _stackpushbyte_=vbuc1 + // [901] stackpush(char) = $a0 -- _stackpushbyte_=vbuc1 lda #$a0 pha - // [895] callexecute cputc -- call_vprc1 + // [902] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // print_chip_led::@return // } - // [897] return + // [904] return rts } // table_chip_clear -// void table_chip_clear(__zp($63) char rom_bank) +// void table_chip_clear(__zp($af) char rom_bank) table_chip_clear: { - .label flash_rom_address = $38 - .label rom_bank = $63 - .label y = $73 + .label flash_rom_address = $ab + .label rom_bank = $af + .label y = $bd // textcolor(WHITE) - // [899] call textcolor - // [504] phi from table_chip_clear to textcolor [phi:table_chip_clear->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:table_chip_clear->textcolor#0] -- vbuz1=vbuc1 + // [906] call textcolor + // [511] phi from table_chip_clear to textcolor [phi:table_chip_clear->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:table_chip_clear->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [900] phi from table_chip_clear to table_chip_clear::@3 [phi:table_chip_clear->table_chip_clear::@3] + // [907] phi from table_chip_clear to table_chip_clear::@3 [phi:table_chip_clear->table_chip_clear::@3] // table_chip_clear::@3 // bgcolor(BLUE) - // [901] call bgcolor - // [509] phi from table_chip_clear::@3 to bgcolor [phi:table_chip_clear::@3->bgcolor] - // [509] phi bgcolor::color#11 = BLUE [phi:table_chip_clear::@3->bgcolor#0] -- vbuz1=vbuc1 + // [908] call bgcolor + // [516] phi from table_chip_clear::@3 to bgcolor [phi:table_chip_clear::@3->bgcolor] + // [516] phi bgcolor::color#11 = BLUE [phi:table_chip_clear::@3->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor - // [902] phi from table_chip_clear::@3 to table_chip_clear::@1 [phi:table_chip_clear::@3->table_chip_clear::@1] - // [902] phi table_chip_clear::rom_bank#11 = table_chip_clear::rom_bank#1 [phi:table_chip_clear::@3->table_chip_clear::@1#0] -- register_copy - // [902] phi table_chip_clear::y#10 = 4 [phi:table_chip_clear::@3->table_chip_clear::@1#1] -- vbuz1=vbuc1 + // [909] phi from table_chip_clear::@3 to table_chip_clear::@1 [phi:table_chip_clear::@3->table_chip_clear::@1] + // [909] phi table_chip_clear::rom_bank#11 = table_chip_clear::rom_bank#1 [phi:table_chip_clear::@3->table_chip_clear::@1#0] -- register_copy + // [909] phi table_chip_clear::y#10 = 4 [phi:table_chip_clear::@3->table_chip_clear::@1#1] -- vbuz1=vbuc1 lda #4 sta.z y // table_chip_clear::@1 __b1: // for (unsigned char y = 4; y < 36; y++) - // [903] if(table_chip_clear::y#10<$24) goto table_chip_clear::@2 -- vbuz1_lt_vbuc1_then_la1 + // [910] if(table_chip_clear::y#10<$24) goto table_chip_clear::@2 -- vbuz1_lt_vbuc1_then_la1 lda.z y cmp #$24 bcc __b2 // table_chip_clear::@return // } - // [904] return + // [911] return rts // table_chip_clear::@2 __b2: // unsigned long flash_rom_address = rom_address(rom_bank) - // [905] rom_address::rom_bank#1 = table_chip_clear::rom_bank#11 -- vbuz1=vbuz2 + // [912] rom_address::rom_bank#1 = table_chip_clear::rom_bank#11 -- vbuz1=vbuz2 lda.z rom_bank sta.z rom_address.rom_bank - // [906] call rom_address - // [945] phi from table_chip_clear::@2 to rom_address [phi:table_chip_clear::@2->rom_address] - // [945] phi rom_address::rom_bank#5 = rom_address::rom_bank#1 [phi:table_chip_clear::@2->rom_address#0] -- register_copy + // [913] call rom_address + // [952] phi from table_chip_clear::@2 to rom_address [phi:table_chip_clear::@2->rom_address] + // [952] phi rom_address::rom_bank#5 = rom_address::rom_bank#1 [phi:table_chip_clear::@2->rom_address#0] -- register_copy jsr rom_address // unsigned long flash_rom_address = rom_address(rom_bank) - // [907] rom_address::return#3 = rom_address::return#0 + // [914] rom_address::return#3 = rom_address::return#0 // table_chip_clear::@4 - // [908] table_chip_clear::flash_rom_address#0 = rom_address::return#3 + // [915] table_chip_clear::flash_rom_address#0 = rom_address::return#3 // gotoxy(2, y) - // [909] gotoxy::y#9 = table_chip_clear::y#10 -- vbuz1=vbuz2 + // [916] gotoxy::y#9 = table_chip_clear::y#10 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [910] call gotoxy - // [522] phi from table_chip_clear::@4 to gotoxy [phi:table_chip_clear::@4->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#9 [phi:table_chip_clear::@4->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = 2 [phi:table_chip_clear::@4->gotoxy#1] -- vbuz1=vbuc1 + // [917] call gotoxy + // [529] phi from table_chip_clear::@4 to gotoxy [phi:table_chip_clear::@4->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#9 [phi:table_chip_clear::@4->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = 2 [phi:table_chip_clear::@4->gotoxy#1] -- vbuz1=vbuc1 lda #2 sta.z gotoxy.x jsr gotoxy // table_chip_clear::@5 // printf("%02x", rom_bank) - // [911] printf_uchar::uvalue#2 = table_chip_clear::rom_bank#11 -- vbuz1=vbuz2 + // [918] printf_uchar::uvalue#2 = table_chip_clear::rom_bank#11 -- vbuz1=vbuz2 lda.z rom_bank sta.z printf_uchar.uvalue - // [912] call printf_uchar - // [830] phi from table_chip_clear::@5 to printf_uchar [phi:table_chip_clear::@5->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 1 [phi:table_chip_clear::@5->printf_uchar#0] -- vbuz1=vbuc1 + // [919] call printf_uchar + // [837] phi from table_chip_clear::@5 to printf_uchar [phi:table_chip_clear::@5->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 1 [phi:table_chip_clear::@5->printf_uchar#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 2 [phi:table_chip_clear::@5->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 2 [phi:table_chip_clear::@5->printf_uchar#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &cputc [phi:table_chip_clear::@5->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &cputc [phi:table_chip_clear::@5->printf_uchar#2] -- pprz1=pprc1 lda #cputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = HEXADECIMAL [phi:table_chip_clear::@5->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = HEXADECIMAL [phi:table_chip_clear::@5->printf_uchar#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#2 [phi:table_chip_clear::@5->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#2 [phi:table_chip_clear::@5->printf_uchar#4] -- register_copy jsr printf_uchar // table_chip_clear::@6 // gotoxy(5, y) - // [913] gotoxy::y#10 = table_chip_clear::y#10 -- vbuz1=vbuz2 + // [920] gotoxy::y#10 = table_chip_clear::y#10 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [914] call gotoxy - // [522] phi from table_chip_clear::@6 to gotoxy [phi:table_chip_clear::@6->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#10 [phi:table_chip_clear::@6->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = 5 [phi:table_chip_clear::@6->gotoxy#1] -- vbuz1=vbuc1 + // [921] call gotoxy + // [529] phi from table_chip_clear::@6 to gotoxy [phi:table_chip_clear::@6->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#10 [phi:table_chip_clear::@6->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = 5 [phi:table_chip_clear::@6->gotoxy#1] -- vbuz1=vbuc1 lda #5 sta.z gotoxy.x jsr gotoxy // table_chip_clear::@7 // printf("%06x", flash_rom_address) - // [915] printf_ulong::uvalue#1 = table_chip_clear::flash_rom_address#0 -- vduz1=vduz2 + // [922] printf_ulong::uvalue#1 = table_chip_clear::flash_rom_address#0 -- vduz1=vduz2 lda.z flash_rom_address sta.z printf_ulong.uvalue lda.z flash_rom_address+1 @@ -6055,52 +6148,52 @@ table_chip_clear: { sta.z printf_ulong.uvalue+2 lda.z flash_rom_address+3 sta.z printf_ulong.uvalue+3 - // [916] call printf_ulong - // [1381] phi from table_chip_clear::@7 to printf_ulong [phi:table_chip_clear::@7->printf_ulong] - // [1381] phi printf_ulong::format_zero_padding#2 = 1 [phi:table_chip_clear::@7->printf_ulong#0] -- vbuz1=vbuc1 + // [923] call printf_ulong + // [1388] phi from table_chip_clear::@7 to printf_ulong [phi:table_chip_clear::@7->printf_ulong] + // [1388] phi printf_ulong::format_zero_padding#2 = 1 [phi:table_chip_clear::@7->printf_ulong#0] -- vbuz1=vbuc1 lda #1 sta.z printf_ulong.format_zero_padding - // [1381] phi printf_ulong::uvalue#2 = printf_ulong::uvalue#1 [phi:table_chip_clear::@7->printf_ulong#1] -- register_copy + // [1388] phi printf_ulong::uvalue#2 = printf_ulong::uvalue#1 [phi:table_chip_clear::@7->printf_ulong#1] -- register_copy jsr printf_ulong // table_chip_clear::@8 // gotoxy(14, y) - // [917] gotoxy::y#11 = table_chip_clear::y#10 -- vbuz1=vbuz2 + // [924] gotoxy::y#11 = table_chip_clear::y#10 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [918] call gotoxy - // [522] phi from table_chip_clear::@8 to gotoxy [phi:table_chip_clear::@8->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#11 [phi:table_chip_clear::@8->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = $e [phi:table_chip_clear::@8->gotoxy#1] -- vbuz1=vbuc1 + // [925] call gotoxy + // [529] phi from table_chip_clear::@8 to gotoxy [phi:table_chip_clear::@8->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#11 [phi:table_chip_clear::@8->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = $e [phi:table_chip_clear::@8->gotoxy#1] -- vbuz1=vbuc1 lda #$e sta.z gotoxy.x jsr gotoxy - // [919] phi from table_chip_clear::@8 to table_chip_clear::@9 [phi:table_chip_clear::@8->table_chip_clear::@9] + // [926] phi from table_chip_clear::@8 to table_chip_clear::@9 [phi:table_chip_clear::@8->table_chip_clear::@9] // table_chip_clear::@9 // printf("%64s", " ") - // [920] call printf_string - // [923] phi from table_chip_clear::@9 to printf_string [phi:table_chip_clear::@9->printf_string] - // [923] phi printf_string::str#10 = table_chip_clear::str [phi:table_chip_clear::@9->printf_string#0] -- pbuz1=pbuc1 + // [927] call printf_string + // [930] phi from table_chip_clear::@9 to printf_string [phi:table_chip_clear::@9->printf_string] + // [930] phi printf_string::str#10 = table_chip_clear::str [phi:table_chip_clear::@9->printf_string#0] -- pbuz1=pbuc1 lda #str sta.z printf_string.str+1 - // [923] phi printf_string::format_justify_left#10 = 0 [phi:table_chip_clear::@9->printf_string#1] -- vbuz1=vbuc1 + // [930] phi printf_string::format_justify_left#10 = 0 [phi:table_chip_clear::@9->printf_string#1] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [923] phi printf_string::format_min_length#7 = $40 [phi:table_chip_clear::@9->printf_string#2] -- vbuz1=vbuc1 + // [930] phi printf_string::format_min_length#7 = $40 [phi:table_chip_clear::@9->printf_string#2] -- vbuz1=vbuc1 lda #$40 sta.z printf_string.format_min_length jsr printf_string // table_chip_clear::@10 // rom_bank++; - // [921] table_chip_clear::rom_bank#0 = ++ table_chip_clear::rom_bank#11 -- vbuz1=_inc_vbuz1 + // [928] table_chip_clear::rom_bank#0 = ++ table_chip_clear::rom_bank#11 -- vbuz1=_inc_vbuz1 inc.z rom_bank // for (unsigned char y = 4; y < 36; y++) - // [922] table_chip_clear::y#1 = ++ table_chip_clear::y#10 -- vbuz1=_inc_vbuz1 + // [929] table_chip_clear::y#1 = ++ table_chip_clear::y#10 -- vbuz1=_inc_vbuz1 inc.z y - // [902] phi from table_chip_clear::@10 to table_chip_clear::@1 [phi:table_chip_clear::@10->table_chip_clear::@1] - // [902] phi table_chip_clear::rom_bank#11 = table_chip_clear::rom_bank#0 [phi:table_chip_clear::@10->table_chip_clear::@1#0] -- register_copy - // [902] phi table_chip_clear::y#10 = table_chip_clear::y#1 [phi:table_chip_clear::@10->table_chip_clear::@1#1] -- register_copy + // [909] phi from table_chip_clear::@10 to table_chip_clear::@1 [phi:table_chip_clear::@10->table_chip_clear::@1] + // [909] phi table_chip_clear::rom_bank#11 = table_chip_clear::rom_bank#0 [phi:table_chip_clear::@10->table_chip_clear::@1#0] -- register_copy + // [909] phi table_chip_clear::y#10 = table_chip_clear::y#1 [phi:table_chip_clear::@10->table_chip_clear::@1#1] -- register_copy jmp __b1 .segment Data str: .text " " @@ -6110,64 +6203,64 @@ table_chip_clear: { // printf_string // Print a string value using a specific format // Handles justification and min length -// void printf_string(void (*putc)(char), __zp($3e) char *str, __zp($37) char format_min_length, __zp($bc) char format_justify_left) +// void printf_string(void (*putc)(char), __zp($3c) char *str, __zp($2a) char format_min_length, __zp($39) char format_justify_left) printf_string: { - .label __9 = $33 - .label len = $27 - .label padding = $37 - .label str = $3e - .label format_min_length = $37 - .label format_justify_left = $bc + .label __9 = $35 + .label len = $47 + .label padding = $2a + .label str = $3c + .label format_min_length = $2a + .label format_justify_left = $39 // if(format.min_length) - // [924] if(0==printf_string::format_min_length#7) goto printf_string::@1 -- 0_eq_vbuz1_then_la1 + // [931] if(0==printf_string::format_min_length#7) goto printf_string::@1 -- 0_eq_vbuz1_then_la1 lda.z format_min_length beq __b3 // printf_string::@3 // strlen(str) - // [925] strlen::str#3 = printf_string::str#10 -- pbuz1=pbuz2 + // [932] strlen::str#3 = printf_string::str#10 -- pbuz1=pbuz2 lda.z str sta.z strlen.str lda.z str+1 sta.z strlen.str+1 - // [926] call strlen - // [1389] phi from printf_string::@3 to strlen [phi:printf_string::@3->strlen] - // [1389] phi strlen::str#6 = strlen::str#3 [phi:printf_string::@3->strlen#0] -- register_copy + // [933] call strlen + // [1396] phi from printf_string::@3 to strlen [phi:printf_string::@3->strlen] + // [1396] phi strlen::str#6 = strlen::str#3 [phi:printf_string::@3->strlen#0] -- register_copy jsr strlen // strlen(str) - // [927] strlen::return#4 = strlen::len#2 + // [934] strlen::return#4 = strlen::len#2 // printf_string::@6 - // [928] printf_string::$9 = strlen::return#4 + // [935] printf_string::$9 = strlen::return#4 // signed char len = (signed char)strlen(str) - // [929] printf_string::len#0 = (signed char)printf_string::$9 -- vbsz1=_sbyte_vwuz2 + // [936] printf_string::len#0 = (signed char)printf_string::$9 -- vbsz1=_sbyte_vwuz2 lda.z __9 sta.z len // padding = (signed char)format.min_length - len - // [930] printf_string::padding#1 = (signed char)printf_string::format_min_length#7 - printf_string::len#0 -- vbsz1=vbsz1_minus_vbsz2 + // [937] printf_string::padding#1 = (signed char)printf_string::format_min_length#7 - printf_string::len#0 -- vbsz1=vbsz1_minus_vbsz2 lda.z padding sec sbc.z len sta.z padding // if(padding<0) - // [931] if(printf_string::padding#1>=0) goto printf_string::@10 -- vbsz1_ge_0_then_la1 + // [938] if(printf_string::padding#1>=0) goto printf_string::@10 -- vbsz1_ge_0_then_la1 cmp #0 bpl __b1 - // [933] phi from printf_string printf_string::@6 to printf_string::@1 [phi:printf_string/printf_string::@6->printf_string::@1] + // [940] phi from printf_string printf_string::@6 to printf_string::@1 [phi:printf_string/printf_string::@6->printf_string::@1] __b3: - // [933] phi printf_string::padding#3 = 0 [phi:printf_string/printf_string::@6->printf_string::@1#0] -- vbsz1=vbsc1 + // [940] phi printf_string::padding#3 = 0 [phi:printf_string/printf_string::@6->printf_string::@1#0] -- vbsz1=vbsc1 lda #0 sta.z padding - // [932] phi from printf_string::@6 to printf_string::@10 [phi:printf_string::@6->printf_string::@10] + // [939] phi from printf_string::@6 to printf_string::@10 [phi:printf_string::@6->printf_string::@10] // printf_string::@10 - // [933] phi from printf_string::@10 to printf_string::@1 [phi:printf_string::@10->printf_string::@1] - // [933] phi printf_string::padding#3 = printf_string::padding#1 [phi:printf_string::@10->printf_string::@1#0] -- register_copy + // [940] phi from printf_string::@10 to printf_string::@1 [phi:printf_string::@10->printf_string::@1] + // [940] phi printf_string::padding#3 = printf_string::padding#1 [phi:printf_string::@10->printf_string::@1#0] -- register_copy // printf_string::@1 __b1: // if(!format.justify_left && padding) - // [934] if(0!=printf_string::format_justify_left#10) goto printf_string::@2 -- 0_neq_vbuz1_then_la1 + // [941] if(0!=printf_string::format_justify_left#10) goto printf_string::@2 -- 0_neq_vbuz1_then_la1 lda.z format_justify_left bne __b2 // printf_string::@8 - // [935] if(0!=printf_string::padding#3) goto printf_string::@4 -- 0_neq_vbsz1_then_la1 + // [942] if(0!=printf_string::padding#3) goto printf_string::@4 -- 0_neq_vbsz1_then_la1 lda.z padding cmp #0 bne __b4 @@ -6175,41 +6268,41 @@ printf_string: { // printf_string::@4 __b4: // printf_padding(putc, ' ',(char)padding) - // [936] printf_padding::length#3 = (char)printf_string::padding#3 -- vbuz1=vbuz2 + // [943] printf_padding::length#3 = (char)printf_string::padding#3 -- vbuz1=vbuz2 lda.z padding sta.z printf_padding.length - // [937] call printf_padding - // [1395] phi from printf_string::@4 to printf_padding [phi:printf_string::@4->printf_padding] - // [1395] phi printf_padding::putc#7 = &cputc [phi:printf_string::@4->printf_padding#0] -- pprz1=pprc1 + // [944] call printf_padding + // [1402] phi from printf_string::@4 to printf_padding [phi:printf_string::@4->printf_padding] + // [1402] phi printf_padding::putc#7 = &cputc [phi:printf_string::@4->printf_padding#0] -- pprz1=pprc1 lda #cputc sta.z printf_padding.putc+1 - // [1395] phi printf_padding::pad#7 = ' 'pm [phi:printf_string::@4->printf_padding#1] -- vbuz1=vbuc1 + // [1402] phi printf_padding::pad#7 = ' 'pm [phi:printf_string::@4->printf_padding#1] -- vbuz1=vbuc1 lda #' ' sta.z printf_padding.pad - // [1395] phi printf_padding::length#6 = printf_padding::length#3 [phi:printf_string::@4->printf_padding#2] -- register_copy + // [1402] phi printf_padding::length#6 = printf_padding::length#3 [phi:printf_string::@4->printf_padding#2] -- register_copy jsr printf_padding // printf_string::@2 __b2: // printf_str(putc, str) - // [938] printf_str::s#2 = printf_string::str#10 - // [939] call printf_str - // [750] phi from printf_string::@2 to printf_str [phi:printf_string::@2->printf_str] - // [750] phi printf_str::putc#33 = &cputc [phi:printf_string::@2->printf_str#0] -- pprz1=pprc1 + // [945] printf_str::s#2 = printf_string::str#10 + // [946] call printf_str + // [757] phi from printf_string::@2 to printf_str [phi:printf_string::@2->printf_str] + // [757] phi printf_str::putc#33 = &cputc [phi:printf_string::@2->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = printf_str::s#2 [phi:printf_string::@2->printf_str#1] -- register_copy + // [757] phi printf_str::s#33 = printf_str::s#2 [phi:printf_string::@2->printf_str#1] -- register_copy jsr printf_str // printf_string::@7 // if(format.justify_left && padding) - // [940] if(0==printf_string::format_justify_left#10) goto printf_string::@return -- 0_eq_vbuz1_then_la1 + // [947] if(0==printf_string::format_justify_left#10) goto printf_string::@return -- 0_eq_vbuz1_then_la1 lda.z format_justify_left beq __breturn // printf_string::@9 - // [941] if(0!=printf_string::padding#3) goto printf_string::@5 -- 0_neq_vbsz1_then_la1 + // [948] if(0!=printf_string::padding#3) goto printf_string::@5 -- 0_neq_vbsz1_then_la1 lda.z padding cmp #0 bne __b5 @@ -6217,25 +6310,25 @@ printf_string: { // printf_string::@5 __b5: // printf_padding(putc, ' ',(char)padding) - // [942] printf_padding::length#4 = (char)printf_string::padding#3 -- vbuz1=vbuz2 + // [949] printf_padding::length#4 = (char)printf_string::padding#3 -- vbuz1=vbuz2 lda.z padding sta.z printf_padding.length - // [943] call printf_padding - // [1395] phi from printf_string::@5 to printf_padding [phi:printf_string::@5->printf_padding] - // [1395] phi printf_padding::putc#7 = &cputc [phi:printf_string::@5->printf_padding#0] -- pprz1=pprc1 + // [950] call printf_padding + // [1402] phi from printf_string::@5 to printf_padding [phi:printf_string::@5->printf_padding] + // [1402] phi printf_padding::putc#7 = &cputc [phi:printf_string::@5->printf_padding#0] -- pprz1=pprc1 lda #cputc sta.z printf_padding.putc+1 - // [1395] phi printf_padding::pad#7 = ' 'pm [phi:printf_string::@5->printf_padding#1] -- vbuz1=vbuc1 + // [1402] phi printf_padding::pad#7 = ' 'pm [phi:printf_string::@5->printf_padding#1] -- vbuz1=vbuc1 lda #' ' sta.z printf_padding.pad - // [1395] phi printf_padding::length#6 = printf_padding::length#4 [phi:printf_string::@5->printf_padding#2] -- register_copy + // [1402] phi printf_padding::length#6 = printf_padding::length#4 [phi:printf_string::@5->printf_padding#2] -- register_copy jsr printf_padding // printf_string::@return __breturn: // } - // [944] return + // [951] return rts } // rom_address @@ -6247,24 +6340,24 @@ printf_string: { * @return unsigned long The 22 bit ROM address. */ /* inline */ -// __zp($de) unsigned long rom_address(__zp($32) char rom_bank) +// __zp($d4) unsigned long rom_address(__zp($33) char rom_bank) rom_address: { - .label __1 = $38 - .label return = $38 - .label rom_bank = $32 - .label return_1 = $40 - .label return_2 = $6f - .label return_3 = $e4 - .label return_4 = $de + .label __1 = $ab + .label return = $ab + .label rom_bank = $33 + .label return_1 = $63 + .label return_2 = $50 + .label return_3 = $da + .label return_4 = $d4 // ((unsigned long)(rom_bank)) << 14 - // [946] rom_address::$1 = (unsigned long)rom_address::rom_bank#5 -- vduz1=_dword_vbuz2 + // [953] rom_address::$1 = (unsigned long)rom_address::rom_bank#5 -- vduz1=_dword_vbuz2 lda.z rom_bank sta.z __1 lda #0 sta.z __1+1 sta.z __1+2 sta.z __1+3 - // [947] rom_address::return#0 = rom_address::$1 << $e -- vduz1=vduz1_rol_vbuc1 + // [954] rom_address::return#0 = rom_address::$1 << $e -- vduz1=vduz1_rol_vbuc1 ldx #$e cpx #0 beq !e+ @@ -6278,34 +6371,33 @@ rom_address: { !e: // rom_address::@return // } - // [948] return + // [955] return rts } // flash_read -// __zp($bd) unsigned long flash_read(__zp($6d) struct $1 *fp, __zp($61) char *flash_ram_address, __zp($22) char rom_bank_start, __zp($4a) char rom_bank_size) +// __zp($5d) unsigned long flash_read(__zp($61) struct $1 *fp, __zp($3e) char *flash_ram_address, __zp($48) char rom_bank_start, __zp($c1) unsigned long read_size) flash_read: { - .label __4 = $57 - .label __7 = $73 - .label __13 = $b7 - .label flash_rom_address = $40 - .label flash_size = $74 + .label __3 = $ab + .label __6 = $68 + .label __12 = $69 + .label flash_rom_address = $63 .label read_bytes = $2c - .label rom_bank_start = $22 - .label return = $bd - .label flash_ram_address = $61 - .label flash_bytes = $bd - .label fp = $6d - .label rom_bank_size = $4a + .label rom_bank_start = $48 + .label return = $5d + .label flash_ram_address = $3e + .label flash_bytes = $5d + .label fp = $61 + .label read_size = $c1 // unsigned long flash_rom_address = rom_address(rom_bank_start) - // [950] rom_address::rom_bank#0 = flash_read::rom_bank_start#11 -- vbuz1=vbuz2 + // [957] rom_address::rom_bank#0 = flash_read::rom_bank_start#11 -- vbuz1=vbuz2 lda.z rom_bank_start sta.z rom_address.rom_bank - // [951] call rom_address - // [945] phi from flash_read to rom_address [phi:flash_read->rom_address] - // [945] phi rom_address::rom_bank#5 = rom_address::rom_bank#0 [phi:flash_read->rom_address#0] -- register_copy + // [958] call rom_address + // [952] phi from flash_read to rom_address [phi:flash_read->rom_address] + // [952] phi rom_address::rom_bank#5 = rom_address::rom_bank#0 [phi:flash_read->rom_address#0] -- register_copy jsr rom_address // unsigned long flash_rom_address = rom_address(rom_bank_start) - // [952] rom_address::return#2 = rom_address::return#0 -- vduz1=vduz2 + // [959] rom_address::return#2 = rom_address::return#0 -- vduz1=vduz2 lda.z rom_address.return sta.z rom_address.return_1 lda.z rom_address.return+1 @@ -6315,30 +6407,20 @@ flash_read: { lda.z rom_address.return+3 sta.z rom_address.return_1+3 // flash_read::@9 - // [953] flash_read::flash_rom_address#0 = rom_address::return#2 - // unsigned long flash_size = rom_size(rom_bank_size) - // [954] rom_size::rom_banks#0 = flash_read::rom_bank_size#2 - // [955] call rom_size - // [985] phi from flash_read::@9 to rom_size [phi:flash_read::@9->rom_size] - // [985] phi rom_size::rom_banks#2 = rom_size::rom_banks#0 [phi:flash_read::@9->rom_size#0] -- register_copy - jsr rom_size - // unsigned long flash_size = rom_size(rom_bank_size) - // [956] rom_size::return#2 = rom_size::return#0 - // flash_read::@10 - // [957] flash_read::flash_size#0 = rom_size::return#2 + // [960] flash_read::flash_rom_address#0 = rom_address::return#2 // textcolor(WHITE) - // [958] call textcolor + // [961] call textcolor /// Holds the amount of bytes actually read in the memory to be flashed. - // [504] phi from flash_read::@10 to textcolor [phi:flash_read::@10->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:flash_read::@10->textcolor#0] -- vbuz1=vbuc1 + // [511] phi from flash_read::@9 to textcolor [phi:flash_read::@9->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:flash_read::@9->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [959] phi from flash_read::@10 to flash_read::@1 [phi:flash_read::@10->flash_read::@1] - // [959] phi flash_read::rom_bank_start#4 = flash_read::rom_bank_start#11 [phi:flash_read::@10->flash_read::@1#0] -- register_copy - // [959] phi flash_read::flash_ram_address#10 = flash_read::flash_ram_address#14 [phi:flash_read::@10->flash_read::@1#1] -- register_copy - // [959] phi flash_read::flash_rom_address#10 = flash_read::flash_rom_address#0 [phi:flash_read::@10->flash_read::@1#2] -- register_copy - // [959] phi flash_read::return#2 = 0 [phi:flash_read::@10->flash_read::@1#3] -- vduz1=vduc1 + // [962] phi from flash_read::@9 to flash_read::@1 [phi:flash_read::@9->flash_read::@1] + // [962] phi flash_read::rom_bank_start#4 = flash_read::rom_bank_start#11 [phi:flash_read::@9->flash_read::@1#0] -- register_copy + // [962] phi flash_read::flash_ram_address#10 = flash_read::flash_ram_address#14 [phi:flash_read::@9->flash_read::@1#1] -- register_copy + // [962] phi flash_read::flash_rom_address#10 = flash_read::flash_rom_address#0 [phi:flash_read::@9->flash_read::@1#2] -- register_copy + // [962] phi flash_read::return#2 = 0 [phi:flash_read::@9->flash_read::@1#3] -- vduz1=vduc1 lda #<0 sta.z return sta.z return+1 @@ -6346,103 +6428,103 @@ flash_read: { sta.z return+2 lda #>0>>$10 sta.z return+3 - // [959] phi from flash_read::@5 flash_read::@8 to flash_read::@1 [phi:flash_read::@5/flash_read::@8->flash_read::@1] - // [959] phi flash_read::rom_bank_start#4 = flash_read::rom_bank_start#10 [phi:flash_read::@5/flash_read::@8->flash_read::@1#0] -- register_copy - // [959] phi flash_read::flash_ram_address#10 = flash_read::flash_ram_address#0 [phi:flash_read::@5/flash_read::@8->flash_read::@1#1] -- register_copy - // [959] phi flash_read::flash_rom_address#10 = flash_read::flash_rom_address#1 [phi:flash_read::@5/flash_read::@8->flash_read::@1#2] -- register_copy - // [959] phi flash_read::return#2 = flash_read::flash_bytes#1 [phi:flash_read::@5/flash_read::@8->flash_read::@1#3] -- register_copy + // [962] phi from flash_read::@5 flash_read::@8 to flash_read::@1 [phi:flash_read::@5/flash_read::@8->flash_read::@1] + // [962] phi flash_read::rom_bank_start#4 = flash_read::rom_bank_start#10 [phi:flash_read::@5/flash_read::@8->flash_read::@1#0] -- register_copy + // [962] phi flash_read::flash_ram_address#10 = flash_read::flash_ram_address#0 [phi:flash_read::@5/flash_read::@8->flash_read::@1#1] -- register_copy + // [962] phi flash_read::flash_rom_address#10 = flash_read::flash_rom_address#1 [phi:flash_read::@5/flash_read::@8->flash_read::@1#2] -- register_copy + // [962] phi flash_read::return#2 = flash_read::flash_bytes#1 [phi:flash_read::@5/flash_read::@8->flash_read::@1#3] -- register_copy // flash_read::@1 __b1: - // while (flash_bytes < flash_size) - // [960] if(flash_read::return#2$4000-1 - sta.z __4+1 + sta.z __3+1 lda.z flash_rom_address+2 and #<$4000-1>>$10 - sta.z __4+2 + sta.z __3+2 lda.z flash_rom_address+3 and #>$4000-1>>$10 - sta.z __4+3 + sta.z __3+3 // if (!(flash_rom_address % 0x04000)) - // [963] if(0!=flash_read::$4) goto flash_read::@3 -- 0_neq_vduz1_then_la1 - lda.z __4 - ora.z __4+1 - ora.z __4+2 - ora.z __4+3 + // [966] if(0!=flash_read::$3) goto flash_read::@3 -- 0_neq_vduz1_then_la1 + lda.z __3 + ora.z __3+1 + ora.z __3+2 + ora.z __3+3 bne __b3 // flash_read::@6 // rom_bank_start % 32 - // [964] flash_read::$7 = flash_read::rom_bank_start#4 & $20-1 -- vbuz1=vbuz2_band_vbuc1 + // [967] flash_read::$6 = flash_read::rom_bank_start#4 & $20-1 -- vbuz1=vbuz2_band_vbuc1 lda #$20-1 and.z rom_bank_start - sta.z __7 + sta.z __6 // gotoxy(14, 4 + (rom_bank_start % 32)) - // [965] gotoxy::y#8 = 4 + flash_read::$7 -- vbuz1=vbuc1_plus_vbuz2 + // [968] gotoxy::y#8 = 4 + flash_read::$6 -- vbuz1=vbuc1_plus_vbuz2 lda #4 clc - adc.z __7 + adc.z __6 sta.z gotoxy.y - // [966] call gotoxy - // [522] phi from flash_read::@6 to gotoxy [phi:flash_read::@6->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#8 [phi:flash_read::@6->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = $e [phi:flash_read::@6->gotoxy#1] -- vbuz1=vbuc1 + // [969] call gotoxy + // [529] phi from flash_read::@6 to gotoxy [phi:flash_read::@6->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#8 [phi:flash_read::@6->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = $e [phi:flash_read::@6->gotoxy#1] -- vbuz1=vbuc1 lda #$e sta.z gotoxy.x jsr gotoxy - // flash_read::@12 + // flash_read::@11 // rom_bank_start++; - // [967] flash_read::rom_bank_start#0 = ++ flash_read::rom_bank_start#4 -- vbuz1=_inc_vbuz1 + // [970] flash_read::rom_bank_start#0 = ++ flash_read::rom_bank_start#4 -- vbuz1=_inc_vbuz1 inc.z rom_bank_start - // [968] phi from flash_read::@12 flash_read::@2 to flash_read::@3 [phi:flash_read::@12/flash_read::@2->flash_read::@3] - // [968] phi flash_read::rom_bank_start#10 = flash_read::rom_bank_start#0 [phi:flash_read::@12/flash_read::@2->flash_read::@3#0] -- register_copy + // [971] phi from flash_read::@11 flash_read::@2 to flash_read::@3 [phi:flash_read::@11/flash_read::@2->flash_read::@3] + // [971] phi flash_read::rom_bank_start#10 = flash_read::rom_bank_start#0 [phi:flash_read::@11/flash_read::@2->flash_read::@3#0] -- register_copy // flash_read::@3 __b3: // unsigned int read_bytes = fgets(flash_ram_address, 128, fp) - // [969] fgets::ptr#2 = flash_read::flash_ram_address#10 -- pbuz1=pbuz2 + // [972] fgets::ptr#2 = flash_read::flash_ram_address#10 -- pbuz1=pbuz2 lda.z flash_ram_address sta.z fgets.ptr lda.z flash_ram_address+1 sta.z fgets.ptr+1 - // [970] fgets::fp#0 = flash_read::fp#10 -- pssz1=pssz2 + // [973] fgets::fp#0 = flash_read::fp#10 -- pssz1=pssz2 lda.z fp sta.z fgets.fp lda.z fp+1 sta.z fgets.fp+1 - // [971] call fgets + // [974] call fgets jsr fgets - // [972] fgets::return#5 = fgets::return#1 - // flash_read::@11 - // [973] flash_read::read_bytes#0 = fgets::return#5 + // [975] fgets::return#5 = fgets::return#1 + // flash_read::@10 + // [976] flash_read::read_bytes#0 = fgets::return#5 // if (!read_bytes) - // [974] if(0!=flash_read::read_bytes#0) goto flash_read::@4 -- 0_neq_vwuz1_then_la1 + // [977] if(0!=flash_read::read_bytes#0) goto flash_read::@4 -- 0_neq_vwuz1_then_la1 lda.z read_bytes ora.z read_bytes+1 bne __b4 @@ -6450,40 +6532,40 @@ flash_read: { // flash_read::@4 __b4: // flash_rom_address % 0x100 - // [975] flash_read::$13 = flash_read::flash_rom_address#10 & $100-1 -- vduz1=vduz2_band_vduc1 + // [978] flash_read::$12 = flash_read::flash_rom_address#10 & $100-1 -- vduz1=vduz2_band_vduc1 lda.z flash_rom_address and #<$100-1 - sta.z __13 + sta.z __12 lda.z flash_rom_address+1 and #>$100-1 - sta.z __13+1 + sta.z __12+1 lda.z flash_rom_address+2 and #<$100-1>>$10 - sta.z __13+2 + sta.z __12+2 lda.z flash_rom_address+3 and #>$100-1>>$10 - sta.z __13+3 + sta.z __12+3 // if (!(flash_rom_address % 0x100)) - // [976] if(0!=flash_read::$13) goto flash_read::@5 -- 0_neq_vduz1_then_la1 - lda.z __13 - ora.z __13+1 - ora.z __13+2 - ora.z __13+3 + // [979] if(0!=flash_read::$12) goto flash_read::@5 -- 0_neq_vduz1_then_la1 + lda.z __12 + ora.z __12+1 + ora.z __12+2 + ora.z __12+3 bne __b5 // flash_read::@7 // cputc('.') - // [977] stackpush(char) = '.'pm -- _stackpushbyte_=vbuc1 + // [980] stackpush(char) = '.'pm -- _stackpushbyte_=vbuc1 // cputc(0xE0); lda #'.' pha - // [978] callexecute cputc -- call_vprc1 + // [981] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // flash_read::@5 __b5: // flash_ram_address += read_bytes - // [980] flash_read::flash_ram_address#0 = flash_read::flash_ram_address#10 + flash_read::read_bytes#0 -- pbuz1=pbuz1_plus_vwuz2 + // [983] flash_read::flash_ram_address#0 = flash_read::flash_ram_address#10 + flash_read::read_bytes#0 -- pbuz1=pbuz1_plus_vwuz2 clc lda.z flash_ram_address adc.z read_bytes @@ -6492,7 +6574,7 @@ flash_read: { adc.z read_bytes+1 sta.z flash_ram_address+1 // flash_rom_address += read_bytes - // [981] flash_read::flash_rom_address#1 = flash_read::flash_rom_address#10 + flash_read::read_bytes#0 -- vduz1=vduz1_plus_vwuz2 + // [984] flash_read::flash_rom_address#1 = flash_read::flash_rom_address#10 + flash_read::read_bytes#0 -- vduz1=vduz1_plus_vwuz2 lda.z flash_rom_address clc adc.z read_bytes @@ -6507,7 +6589,7 @@ flash_read: { adc #0 sta.z flash_rom_address+3 // flash_bytes += read_bytes - // [982] flash_read::flash_bytes#1 = flash_read::return#2 + flash_read::read_bytes#0 -- vduz1=vduz1_plus_vwuz2 + // [985] flash_read::flash_bytes#1 = flash_read::return#2 + flash_read::read_bytes#0 -- vduz1=vduz1_plus_vwuz2 lda.z flash_bytes clc adc.z read_bytes @@ -6522,7 +6604,7 @@ flash_read: { adc #0 sta.z flash_bytes+3 // if (flash_ram_address >= 0xC000) - // [983] if(flash_read::flash_ram_address#0<$c000) goto flash_read::@1 -- pbuz1_lt_vwuc1_then_la1 + // [986] if(flash_read::flash_ram_address#0<$c000) goto flash_read::@1 -- pbuz1_lt_vwuc1_then_la1 lda.z flash_ram_address+1 cmp #>$c000 bcs !__b1+ @@ -6537,7 +6619,7 @@ flash_read: { !: // flash_read::@8 // flash_ram_address = flash_ram_address - 0x2000 - // [984] flash_read::flash_ram_address#1 = flash_read::flash_ram_address#0 - $2000 -- pbuz1=pbuz1_minus_vwuc1 + // [987] flash_read::flash_ram_address#1 = flash_read::flash_ram_address#0 - $2000 -- pbuz1=pbuz1_minus_vwuc1 lda.z flash_ram_address sec sbc #<$2000 @@ -6555,34 +6637,13 @@ flash_read: { * @param rom_bank The 8 bit ROM banks. * @return unsigned long The resulting 22 bit ROM address. */ -// __zp($74) unsigned long rom_size(__zp($4a) char rom_banks) +// unsigned long rom_size(char rom_banks) rom_size: { - .label __1 = $74 - .label return = $74 - .label rom_banks = $4a - // ((unsigned long)(rom_banks)) << 14 - // [986] rom_size::$1 = (unsigned long)rom_size::rom_banks#2 -- vduz1=_dword_vbuz2 - lda.z rom_banks - sta.z __1 - lda #0 - sta.z __1+1 - sta.z __1+2 - sta.z __1+3 - // [987] rom_size::return#0 = rom_size::$1 << $e -- vduz1=vduz1_rol_vbuc1 - ldx #$e - cpx #0 - beq !e+ - !: - asl.z return - rol.z return+1 - rol.z return+2 - rol.z return+3 - dex - bne !- - !e: + .const rom_banks = 1 + .label return = rom_banks<<$e // rom_size::@return // } - // [988] return + // [989] return rts } // fclose @@ -6596,10 +6657,10 @@ rom_size: { */ // int fclose(__mem() struct $1 *fp) fclose: { - .label __0 = $63 - .label st = $7b + .label __0 = $4f + .label st = $7e // cbm_k_close(fp->channel) - // [989] cbm_k_close::channel = ((char *)fclose::fp#0)[$10] -- vbuz1=pbum2_derefidx_vbuc1 + // [990] cbm_k_close::channel = ((char *)fclose::fp#0)[$10] -- vbuz1=pbum2_derefidx_vbuc1 ldy #$10 lda fp sta.z $fe @@ -6607,13 +6668,13 @@ fclose: { sta.z $ff lda ($fe),y sta.z cbm_k_close.channel - // [990] call cbm_k_close + // [991] call cbm_k_close jsr cbm_k_close - // [991] cbm_k_close::return#4 = cbm_k_close::return#1 + // [992] cbm_k_close::return#4 = cbm_k_close::return#1 // fclose::@2 - // [992] fclose::$0 = cbm_k_close::return#4 + // [993] fclose::$0 = cbm_k_close::return#4 // fp->status = cbm_k_close(fp->channel) - // [993] ((char *)fclose::fp#0)[$13] = fclose::$0 -- pbum1_derefidx_vbuc1=vbuz2 + // [994] ((char *)fclose::fp#0)[$13] = fclose::$0 -- pbum1_derefidx_vbuc1=vbuz2 lda.z __0 ldy fp sty.z $fe @@ -6622,7 +6683,7 @@ fclose: { ldy #$13 sta ($fe),y // char st = fp->status - // [994] fclose::st#0 = ((char *)fclose::fp#0)[$13] -- vbuz1=pbum2_derefidx_vbuc1 + // [995] fclose::st#0 = ((char *)fclose::fp#0)[$13] -- vbuz1=pbum2_derefidx_vbuc1 lda fp sta.z $fe lda fp+1 @@ -6630,21 +6691,21 @@ fclose: { lda ($fe),y sta.z st // if(st) - // [995] if(0==fclose::st#0) goto fclose::@1 -- 0_eq_vbuz1_then_la1 + // [996] if(0==fclose::st#0) goto fclose::@1 -- 0_eq_vbuz1_then_la1 beq __b1 // fclose::@return // } - // [996] return + // [997] return rts - // [997] phi from fclose::@2 to fclose::@1 [phi:fclose::@2->fclose::@1] + // [998] phi from fclose::@2 to fclose::@1 [phi:fclose::@2->fclose::@1] // fclose::@1 __b1: // cbm_k_clrchn() - // [998] call cbm_k_clrchn + // [999] call cbm_k_clrchn jsr cbm_k_clrchn // fclose::@3 // __filecount--; - // [999] __filecount = -- __filecount -- vbum1=_dec_vbum1 + // [1000] __filecount = -- __filecount -- vbum1=_dec_vbum1 dec __filecount rts .segment Data @@ -6653,121 +6714,151 @@ fclose: { .segment Code // printf_uint // Print an unsigned int using a specific format -// void printf_uint(__zp($6d) void (*putc)(char), __zp($28) unsigned int uvalue, __zp($2b) char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, __zp($ae) char format_radix) +// void printf_uint(__zp($61) void (*putc)(char), __zp($27) unsigned int uvalue, __zp($78) char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, __zp($76) char format_radix) printf_uint: { - .label uvalue = $28 - .label format_radix = $ae - .label putc = $6d - .label format_min_length = $2b + .label uvalue = $27 + .label format_radix = $76 + .label putc = $61 + .label format_min_length = $78 // printf_uint::@1 // printf_buffer.sign = format.sign_always?'+':0 - // [1001] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 + // [1002] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 // Handle any sign lda #0 sta printf_buffer // utoa(uvalue, printf_buffer.digits, format.radix) - // [1002] utoa::value#2 = printf_uint::uvalue#3 - // [1003] utoa::radix#1 = printf_uint::format_radix#3 - // [1004] call utoa + // [1003] utoa::value#2 = printf_uint::uvalue#3 + // [1004] utoa::radix#1 = printf_uint::format_radix#3 + // [1005] call utoa // Format number into buffer - // [1243] phi from printf_uint::@1 to utoa [phi:printf_uint::@1->utoa] - // [1243] phi utoa::value#10 = utoa::value#2 [phi:printf_uint::@1->utoa#0] -- register_copy - // [1243] phi utoa::radix#2 = utoa::radix#1 [phi:printf_uint::@1->utoa#1] -- register_copy + // [1250] phi from printf_uint::@1 to utoa [phi:printf_uint::@1->utoa] + // [1250] phi utoa::value#10 = utoa::value#2 [phi:printf_uint::@1->utoa#0] -- register_copy + // [1250] phi utoa::radix#2 = utoa::radix#1 [phi:printf_uint::@1->utoa#1] -- register_copy jsr utoa // printf_uint::@2 // printf_number_buffer(putc, printf_buffer, format) - // [1005] printf_number_buffer::putc#2 = printf_uint::putc#3 - // [1006] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 + // [1006] printf_number_buffer::putc#2 = printf_uint::putc#3 + // [1007] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 lda printf_buffer sta.z printf_number_buffer.buffer_sign - // [1007] printf_number_buffer::format_min_length#2 = printf_uint::format_min_length#3 - // [1008] call printf_number_buffer + // [1008] printf_number_buffer::format_min_length#2 = printf_uint::format_min_length#3 + // [1009] call printf_number_buffer // Print using format - // [1274] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer] - // [1274] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_uint::@2->printf_number_buffer#0] -- vbuz1=vbuc1 + // [1281] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer] + // [1281] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_uint::@2->printf_number_buffer#0] -- vbuz1=vbuc1 lda #0 sta.z printf_number_buffer.format_upper_case - // [1274] phi printf_number_buffer::putc#10 = printf_number_buffer::putc#2 [phi:printf_uint::@2->printf_number_buffer#1] -- register_copy - // [1274] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 [phi:printf_uint::@2->printf_number_buffer#2] -- register_copy - // [1274] phi printf_number_buffer::format_zero_padding#10 = 0 [phi:printf_uint::@2->printf_number_buffer#3] -- vbuz1=vbuc1 + // [1281] phi printf_number_buffer::putc#10 = printf_number_buffer::putc#2 [phi:printf_uint::@2->printf_number_buffer#1] -- register_copy + // [1281] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 [phi:printf_uint::@2->printf_number_buffer#2] -- register_copy + // [1281] phi printf_number_buffer::format_zero_padding#10 = 0 [phi:printf_uint::@2->printf_number_buffer#3] -- vbuz1=vbuc1 sta.z printf_number_buffer.format_zero_padding - // [1274] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_uint::@2->printf_number_buffer#4] -- vbuz1=vbuc1 + // [1281] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_uint::@2->printf_number_buffer#4] -- vbuz1=vbuc1 sta.z printf_number_buffer.format_justify_left - // [1274] phi printf_number_buffer::format_min_length#4 = printf_number_buffer::format_min_length#2 [phi:printf_uint::@2->printf_number_buffer#5] -- register_copy + // [1281] phi printf_number_buffer::format_min_length#4 = printf_number_buffer::format_min_length#2 [phi:printf_uint::@2->printf_number_buffer#5] -- register_copy jsr printf_number_buffer // printf_uint::@return // } - // [1009] return + // [1010] return rts } // flash_verify -// __zp($6d) unsigned int flash_verify(__zp($27) char bank_ram, __zp($61) char *ptr_ram, __zp($40) unsigned long verify_rom_address, __zp($79) unsigned int verify_rom_size) +// __zp($61) unsigned int flash_verify(__zp($26) char bank_ram, __zp($44) char *ptr_ram, __zp($5d) unsigned long verify_rom_address, __zp($27) unsigned int verify_rom_size) flash_verify: { - .label __5 = $32 - .label bank_set_bram1_bank = $27 - .label bank_rom = $46 - .label ptr_rom = $44 - .label ptr_ram = $61 - .label verified_bytes = $28 + .label __5 = $33 + .label rom_bank1___0 = $4f + .label rom_bank1___1 = $7e + .label rom_bank1___2 = $7c + .label rom_ptr1___0 = $3e + .label rom_ptr1___2 = $3e + .label bank_set_bram1_bank = $26 + .label rom_bank1_bank_unshifted = $7c + .label rom_bank1_return = $34 + .label rom_ptr1_return = $3e + .label ptr_rom = $3e + .label ptr_ram = $44 + .label verified_bytes = $42 /// Holds the amount of bytes actually verified between the ROM and the RAM. - .label correct_bytes = $6d - .label bank_ram = $27 - .label verify_rom_address = $40 - .label return = $6d - .label verify_rom_size = $79 + .label correct_bytes = $61 + .label bank_ram = $26 + .label verify_rom_address = $5d + .label return = $61 + .label verify_rom_size = $27 // flash_verify::bank_set_bram1 // BRAM = bank - // [1011] BRAM = flash_verify::bank_set_bram1_bank#0 -- vbuz1=vbuz2 + // [1012] BRAM = flash_verify::bank_set_bram1_bank#0 -- vbuz1=vbuz2 lda.z bank_set_bram1_bank sta.z BRAM - // flash_verify::@5 - // brom_bank_t bank_rom = rom_bank((unsigned long)verify_rom_address) - // [1012] rom_bank::address#3 = flash_verify::verify_rom_address#3 -- vduz1=vduz2 + // flash_verify::rom_bank1 + // BYTE2(address) + // [1013] flash_verify::rom_bank1_$0 = byte2 flash_verify::verify_rom_address#3 -- vbuz1=_byte2_vduz2 + lda.z verify_rom_address+2 + sta.z rom_bank1___0 + // BYTE1(address) + // [1014] flash_verify::rom_bank1_$1 = byte1 flash_verify::verify_rom_address#3 -- vbuz1=_byte1_vduz2 + lda.z verify_rom_address+1 + sta.z rom_bank1___1 + // MAKEWORD(BYTE2(address),BYTE1(address)) + // [1015] flash_verify::rom_bank1_$2 = flash_verify::rom_bank1_$0 w= flash_verify::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 + lda.z rom_bank1___0 + sta.z rom_bank1___2+1 + lda.z rom_bank1___1 + sta.z rom_bank1___2 + // unsigned int bank_unshifted = MAKEWORD(BYTE2(address),BYTE1(address)) << 2 + // [1016] flash_verify::rom_bank1_bank_unshifted#0 = flash_verify::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 + asl.z rom_bank1_bank_unshifted + rol.z rom_bank1_bank_unshifted+1 + asl.z rom_bank1_bank_unshifted + rol.z rom_bank1_bank_unshifted+1 + // unsigned char bank = BYTE1(bank_unshifted) + // [1017] flash_verify::rom_bank1_return#0 = byte1 flash_verify::rom_bank1_bank_unshifted#0 -- vbuz1=_byte1_vwuz2 + lda.z rom_bank1_bank_unshifted+1 + sta.z rom_bank1_return + // flash_verify::rom_ptr1 + // (unsigned int)(address) & ROM_PTR_MASK + // [1018] flash_verify::rom_ptr1_$2 = (unsigned int)flash_verify::verify_rom_address#3 -- vwuz1=_word_vduz2 lda.z verify_rom_address - sta.z rom_bank.address + sta.z rom_ptr1___2 lda.z verify_rom_address+1 - sta.z rom_bank.address+1 - lda.z verify_rom_address+2 - sta.z rom_bank.address+2 - lda.z verify_rom_address+3 - sta.z rom_bank.address+3 - // [1013] call rom_bank - // [1446] phi from flash_verify::@5 to rom_bank [phi:flash_verify::@5->rom_bank] - // [1446] phi rom_bank::address#4 = rom_bank::address#3 [phi:flash_verify::@5->rom_bank#0] -- register_copy - jsr rom_bank - // brom_bank_t bank_rom = rom_bank((unsigned long)verify_rom_address) - // [1014] rom_bank::return#10 = rom_bank::return#1 - // flash_verify::@6 - // [1015] flash_verify::bank_rom#0 = rom_bank::return#10 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)verify_rom_address) - // [1016] rom_ptr::address#5 = flash_verify::verify_rom_address#3 - // [1017] call rom_ptr - // [1451] phi from flash_verify::@6 to rom_ptr [phi:flash_verify::@6->rom_ptr] - // [1451] phi rom_ptr::address#6 = rom_ptr::address#5 [phi:flash_verify::@6->rom_ptr#0] -- register_copy - jsr rom_ptr - // flash_verify::@7 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)verify_rom_address) - // [1018] flash_verify::ptr_rom#0 = (char *)rom_ptr::return#1 + sta.z rom_ptr1___2+1 + // [1019] flash_verify::rom_ptr1_$0 = flash_verify::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + lda.z rom_ptr1___0 + and #<$3fff + sta.z rom_ptr1___0 + lda.z rom_ptr1___0+1 + and #>$3fff + sta.z rom_ptr1___0+1 + // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE + // [1020] flash_verify::rom_ptr1_return#0 = flash_verify::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + lda.z rom_ptr1_return + clc + adc #<$c000 + sta.z rom_ptr1_return + lda.z rom_ptr1_return+1 + adc #>$c000 + sta.z rom_ptr1_return+1 + // flash_verify::@5 // bank_set_brom(bank_rom) - // [1019] bank_set_brom::bank#4 = flash_verify::bank_rom#0 - // [1020] call bank_set_brom - // [811] phi from flash_verify::@7 to bank_set_brom [phi:flash_verify::@7->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = bank_set_brom::bank#4 [phi:flash_verify::@7->bank_set_brom#0] -- register_copy + // [1021] bank_set_brom::bank#4 = flash_verify::rom_bank1_return#0 + // [1022] call bank_set_brom + // [818] phi from flash_verify::@5 to bank_set_brom [phi:flash_verify::@5->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = bank_set_brom::bank#4 [phi:flash_verify::@5->bank_set_brom#0] -- register_copy jsr bank_set_brom - // [1021] phi from flash_verify::@7 to flash_verify::@1 [phi:flash_verify::@7->flash_verify::@1] - // [1021] phi flash_verify::correct_bytes#2 = 0 [phi:flash_verify::@7->flash_verify::@1#0] -- vwuz1=vwuc1 + // flash_verify::@6 + // [1023] flash_verify::ptr_rom#9 = (char *)flash_verify::rom_ptr1_return#0 + // [1024] phi from flash_verify::@6 to flash_verify::@1 [phi:flash_verify::@6->flash_verify::@1] + // [1024] phi flash_verify::correct_bytes#2 = 0 [phi:flash_verify::@6->flash_verify::@1#0] -- vwuz1=vwuc1 lda #<0 sta.z correct_bytes sta.z correct_bytes+1 - // [1021] phi flash_verify::ptr_ram#4 = flash_verify::ptr_ram#10 [phi:flash_verify::@7->flash_verify::@1#1] -- register_copy - // [1021] phi flash_verify::ptr_rom#2 = flash_verify::ptr_rom#0 [phi:flash_verify::@7->flash_verify::@1#2] -- register_copy - // [1021] phi flash_verify::verified_bytes#2 = 0 [phi:flash_verify::@7->flash_verify::@1#3] -- vwuz1=vwuc1 + // [1024] phi flash_verify::ptr_ram#4 = flash_verify::ptr_ram#10 [phi:flash_verify::@6->flash_verify::@1#1] -- register_copy + // [1024] phi flash_verify::ptr_rom#2 = flash_verify::ptr_rom#9 [phi:flash_verify::@6->flash_verify::@1#2] -- register_copy + // [1024] phi flash_verify::verified_bytes#2 = 0 [phi:flash_verify::@6->flash_verify::@1#3] -- vwuz1=vwuc1 sta.z verified_bytes sta.z verified_bytes+1 // flash_verify::@1 __b1: // while (verified_bytes < verify_rom_size) - // [1022] if(flash_verify::verified_bytes#2flash_verify::@3] - // [1031] phi flash_verify::correct_bytes#6 = flash_verify::correct_bytes#1 [phi:flash_verify::@4/flash_verify::@8->flash_verify::@3#0] -- register_copy + // [1034] phi from flash_verify::@4 flash_verify::@7 to flash_verify::@3 [phi:flash_verify::@4/flash_verify::@7->flash_verify::@3] + // [1034] phi flash_verify::correct_bytes#6 = flash_verify::correct_bytes#1 [phi:flash_verify::@4/flash_verify::@7->flash_verify::@3#0] -- register_copy // flash_verify::@3 __b3: // ptr_rom++; - // [1032] flash_verify::ptr_rom#1 = ++ flash_verify::ptr_rom#2 -- pbuz1=_inc_pbuz1 + // [1035] flash_verify::ptr_rom#1 = ++ flash_verify::ptr_rom#2 -- pbuz1=_inc_pbuz1 inc.z ptr_rom bne !+ inc.z ptr_rom+1 !: // ptr_ram++; - // [1033] flash_verify::ptr_ram#0 = ++ flash_verify::ptr_ram#4 -- pbuz1=_inc_pbuz1 + // [1036] flash_verify::ptr_ram#0 = ++ flash_verify::ptr_ram#4 -- pbuz1=_inc_pbuz1 inc.z ptr_ram bne !+ inc.z ptr_ram+1 !: // verified_bytes++; - // [1034] flash_verify::verified_bytes#1 = ++ flash_verify::verified_bytes#2 -- vwuz1=_inc_vwuz1 + // [1037] flash_verify::verified_bytes#1 = ++ flash_verify::verified_bytes#2 -- vwuz1=_inc_vwuz1 inc.z verified_bytes bne !+ inc.z verified_bytes+1 !: - // [1021] phi from flash_verify::@3 to flash_verify::@1 [phi:flash_verify::@3->flash_verify::@1] - // [1021] phi flash_verify::correct_bytes#2 = flash_verify::correct_bytes#6 [phi:flash_verify::@3->flash_verify::@1#0] -- register_copy - // [1021] phi flash_verify::ptr_ram#4 = flash_verify::ptr_ram#0 [phi:flash_verify::@3->flash_verify::@1#1] -- register_copy - // [1021] phi flash_verify::ptr_rom#2 = flash_verify::ptr_rom#1 [phi:flash_verify::@3->flash_verify::@1#2] -- register_copy - // [1021] phi flash_verify::verified_bytes#2 = flash_verify::verified_bytes#1 [phi:flash_verify::@3->flash_verify::@1#3] -- register_copy + // [1024] phi from flash_verify::@3 to flash_verify::@1 [phi:flash_verify::@3->flash_verify::@1] + // [1024] phi flash_verify::correct_bytes#2 = flash_verify::correct_bytes#6 [phi:flash_verify::@3->flash_verify::@1#0] -- register_copy + // [1024] phi flash_verify::ptr_ram#4 = flash_verify::ptr_ram#0 [phi:flash_verify::@3->flash_verify::@1#1] -- register_copy + // [1024] phi flash_verify::ptr_rom#2 = flash_verify::ptr_rom#1 [phi:flash_verify::@3->flash_verify::@1#2] -- register_copy + // [1024] phi flash_verify::verified_bytes#2 = flash_verify::verified_bytes#1 [phi:flash_verify::@3->flash_verify::@1#3] -- register_copy jmp __b1 } // rom_sector_erase @@ -6863,34 +6954,39 @@ flash_verify: { * @param address The 22 bit ROM address. */ /* inline */ -// void rom_sector_erase(__zp($b7) unsigned long address) +// void rom_sector_erase(__zp($b9) unsigned long address) rom_sector_erase: { - .label ptr_rom = $33 - .label rom_chip_address = $69 - .label address = $b7 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)address) - // [1035] rom_ptr::address#4 = rom_sector_erase::address#0 -- vduz1=vduz2 + .label rom_ptr1___0 = $35 + .label rom_ptr1___2 = $35 + .label rom_ptr1_return = $35 + .label rom_chip_address = $5d + .label address = $b9 + // rom_sector_erase::rom_ptr1 + // (unsigned int)(address) & ROM_PTR_MASK + // [1039] rom_sector_erase::rom_ptr1_$2 = (unsigned int)rom_sector_erase::address#0 -- vwuz1=_word_vduz2 lda.z address - sta.z rom_ptr.address + sta.z rom_ptr1___2 lda.z address+1 - sta.z rom_ptr.address+1 - lda.z address+2 - sta.z rom_ptr.address+2 - lda.z address+3 - sta.z rom_ptr.address+3 - // [1036] call rom_ptr - // [1451] phi from rom_sector_erase to rom_ptr [phi:rom_sector_erase->rom_ptr] - // [1451] phi rom_ptr::address#6 = rom_ptr::address#4 [phi:rom_sector_erase->rom_ptr#0] -- register_copy - jsr rom_ptr + sta.z rom_ptr1___2+1 + // [1040] rom_sector_erase::rom_ptr1_$0 = rom_sector_erase::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + lda.z rom_ptr1___0 + and #<$3fff + sta.z rom_ptr1___0 + lda.z rom_ptr1___0+1 + and #>$3fff + sta.z rom_ptr1___0+1 + // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE + // [1041] rom_sector_erase::rom_ptr1_return#0 = rom_sector_erase::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + lda.z rom_ptr1_return + clc + adc #<$c000 + sta.z rom_ptr1_return + lda.z rom_ptr1_return+1 + adc #>$c000 + sta.z rom_ptr1_return+1 // rom_sector_erase::@1 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)address) - // [1037] rom_sector_erase::ptr_rom#0 = (char *)rom_ptr::return#1 -- pbuz1=pbuz2 - lda.z rom_ptr.return - sta.z ptr_rom - lda.z rom_ptr.return+1 - sta.z ptr_rom+1 // unsigned long rom_chip_address = address & ROM_CHIP_MASK - // [1038] rom_sector_erase::rom_chip_address#0 = rom_sector_erase::address#0 & $380000 -- vduz1=vduz2_band_vduc1 + // [1042] rom_sector_erase::rom_chip_address#0 = rom_sector_erase::address#0 & $380000 -- vduz1=vduz2_band_vduc1 lda.z address and #<$380000 sta.z rom_chip_address @@ -6904,7 +7000,7 @@ rom_sector_erase: { and #>$380000>>$10 sta.z rom_chip_address+3 // rom_unlock(rom_chip_address + 0x05555, 0x80) - // [1039] rom_unlock::address#0 = rom_sector_erase::rom_chip_address#0 + $5555 -- vduz1=vduz1_plus_vwuc1 + // [1043] rom_unlock::address#0 = rom_sector_erase::rom_chip_address#0 + $5555 -- vduz1=vduz1_plus_vwuc1 clc lda.z rom_unlock.address adc #<$5555 @@ -6918,16 +7014,16 @@ rom_sector_erase: { lda.z rom_unlock.address+3 adc #0 sta.z rom_unlock.address+3 - // [1040] call rom_unlock - // [1090] phi from rom_sector_erase::@1 to rom_unlock [phi:rom_sector_erase::@1->rom_unlock] - // [1090] phi rom_unlock::unlock_code#5 = $80 [phi:rom_sector_erase::@1->rom_unlock#0] -- vbuz1=vbuc1 + // [1044] call rom_unlock + // [1096] phi from rom_sector_erase::@1 to rom_unlock [phi:rom_sector_erase::@1->rom_unlock] + // [1096] phi rom_unlock::unlock_code#5 = $80 [phi:rom_sector_erase::@1->rom_unlock#0] -- vbuz1=vbuc1 lda #$80 sta.z rom_unlock.unlock_code - // [1090] phi rom_unlock::address#5 = rom_unlock::address#0 [phi:rom_sector_erase::@1->rom_unlock#1] -- register_copy + // [1096] phi rom_unlock::address#5 = rom_unlock::address#0 [phi:rom_sector_erase::@1->rom_unlock#1] -- register_copy jsr rom_unlock // rom_sector_erase::@2 // rom_unlock(address, 0x30) - // [1041] rom_unlock::address#1 = rom_sector_erase::address#0 -- vduz1=vduz2 + // [1045] rom_unlock::address#1 = rom_sector_erase::address#0 -- vduz1=vduz2 lda.z address sta.z rom_unlock.address lda.z address+1 @@ -6936,265 +7032,283 @@ rom_sector_erase: { sta.z rom_unlock.address+2 lda.z address+3 sta.z rom_unlock.address+3 - // [1042] call rom_unlock - // [1090] phi from rom_sector_erase::@2 to rom_unlock [phi:rom_sector_erase::@2->rom_unlock] - // [1090] phi rom_unlock::unlock_code#5 = $30 [phi:rom_sector_erase::@2->rom_unlock#0] -- vbuz1=vbuc1 + // [1046] call rom_unlock + // [1096] phi from rom_sector_erase::@2 to rom_unlock [phi:rom_sector_erase::@2->rom_unlock] + // [1096] phi rom_unlock::unlock_code#5 = $30 [phi:rom_sector_erase::@2->rom_unlock#0] -- vbuz1=vbuc1 lda #$30 sta.z rom_unlock.unlock_code - // [1090] phi rom_unlock::address#5 = rom_unlock::address#1 [phi:rom_sector_erase::@2->rom_unlock#1] -- register_copy + // [1096] phi rom_unlock::address#5 = rom_unlock::address#1 [phi:rom_sector_erase::@2->rom_unlock#1] -- register_copy jsr rom_unlock // rom_sector_erase::@3 // rom_wait(ptr_rom) - // [1043] rom_wait::ptr_rom#1 = rom_sector_erase::ptr_rom#0 - // [1044] call rom_wait - // [1460] phi from rom_sector_erase::@3 to rom_wait [phi:rom_sector_erase::@3->rom_wait] - // [1460] phi rom_wait::ptr_rom#3 = rom_wait::ptr_rom#1 [phi:rom_sector_erase::@3->rom_wait#0] -- register_copy + // [1047] rom_wait::ptr_rom#1 = (char *)rom_sector_erase::rom_ptr1_return#0 + // [1048] call rom_wait + // [1457] phi from rom_sector_erase::@3 to rom_wait [phi:rom_sector_erase::@3->rom_wait] + // [1457] phi rom_wait::ptr_rom#3 = rom_wait::ptr_rom#1 [phi:rom_sector_erase::@3->rom_wait#0] -- register_copy jsr rom_wait // rom_sector_erase::@return // } - // [1045] return + // [1049] return rts } // print_address -// void print_address(__zp($27) char bram_bank, __zp($28) char *bram_ptr, __zp($23) unsigned long brom_address) +// void print_address(__zp($26) char bram_bank, __zp($27) char *bram_ptr, __zp($22) unsigned long brom_address) print_address: { - .label brom_bank = $7b - .label brom_ptr = $44 - .label bram_bank = $27 - .label bram_ptr = $28 - .label brom_address = $23 + .label rom_bank1___0 = $57 + .label rom_bank1___1 = $4f + .label rom_bank1___2 = $44 + .label rom_ptr1___0 = $7c + .label rom_ptr1___2 = $7c + .label rom_bank1_bank_unshifted = $44 + .label brom_bank = $7e + .label brom_ptr = $7c + .label bram_bank = $26 + .label bram_ptr = $27 + .label brom_address = $22 // textcolor(WHITE) - // [1047] call textcolor - // [504] phi from print_address to textcolor [phi:print_address->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:print_address->textcolor#0] -- vbuz1=vbuc1 + // [1051] call textcolor + // [511] phi from print_address to textcolor [phi:print_address->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:print_address->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // print_address::@1 - // brom_bank_t brom_bank = rom_bank(brom_address) - // [1048] rom_bank::address#0 = print_address::brom_address#10 -- vduz1=vduz2 - lda.z brom_address - sta.z rom_bank.address - lda.z brom_address+1 - sta.z rom_bank.address+1 + // print_address::rom_bank1 + // BYTE2(address) + // [1052] print_address::rom_bank1_$0 = byte2 print_address::brom_address#10 -- vbuz1=_byte2_vduz2 lda.z brom_address+2 - sta.z rom_bank.address+2 - lda.z brom_address+3 - sta.z rom_bank.address+3 - // [1049] call rom_bank - // [1446] phi from print_address::@1 to rom_bank [phi:print_address::@1->rom_bank] - // [1446] phi rom_bank::address#4 = rom_bank::address#0 [phi:print_address::@1->rom_bank#0] -- register_copy - jsr rom_bank - // brom_bank_t brom_bank = rom_bank(brom_address) - // [1050] rom_bank::return#0 = rom_bank::return#1 -- vbuz1=vbuz2 - lda.z rom_bank.return_1 - sta.z rom_bank.return - // print_address::@2 - // [1051] print_address::brom_bank#0 = rom_bank::return#0 - // brom_ptr_t brom_ptr = rom_ptr(brom_address) - // [1052] rom_ptr::address#0 = print_address::brom_address#10 -- vduz1=vduz2 + sta.z rom_bank1___0 + // BYTE1(address) + // [1053] print_address::rom_bank1_$1 = byte1 print_address::brom_address#10 -- vbuz1=_byte1_vduz2 + lda.z brom_address+1 + sta.z rom_bank1___1 + // MAKEWORD(BYTE2(address),BYTE1(address)) + // [1054] print_address::rom_bank1_$2 = print_address::rom_bank1_$0 w= print_address::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 + lda.z rom_bank1___0 + sta.z rom_bank1___2+1 + lda.z rom_bank1___1 + sta.z rom_bank1___2 + // unsigned int bank_unshifted = MAKEWORD(BYTE2(address),BYTE1(address)) << 2 + // [1055] print_address::rom_bank1_bank_unshifted#0 = print_address::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 + asl.z rom_bank1_bank_unshifted + rol.z rom_bank1_bank_unshifted+1 + asl.z rom_bank1_bank_unshifted + rol.z rom_bank1_bank_unshifted+1 + // unsigned char bank = BYTE1(bank_unshifted) + // [1056] print_address::brom_bank#0 = byte1 print_address::rom_bank1_bank_unshifted#0 -- vbuz1=_byte1_vwuz2 + lda.z rom_bank1_bank_unshifted+1 + sta.z brom_bank + // print_address::rom_ptr1 + // (unsigned int)(address) & ROM_PTR_MASK + // [1057] print_address::rom_ptr1_$2 = (unsigned int)print_address::brom_address#10 -- vwuz1=_word_vduz2 lda.z brom_address - sta.z rom_ptr.address + sta.z rom_ptr1___2 lda.z brom_address+1 - sta.z rom_ptr.address+1 - lda.z brom_address+2 - sta.z rom_ptr.address+2 - lda.z brom_address+3 - sta.z rom_ptr.address+3 - // [1053] call rom_ptr - // [1451] phi from print_address::@2 to rom_ptr [phi:print_address::@2->rom_ptr] - // [1451] phi rom_ptr::address#6 = rom_ptr::address#0 [phi:print_address::@2->rom_ptr#0] -- register_copy - jsr rom_ptr - // print_address::@3 - // brom_ptr_t brom_ptr = rom_ptr(brom_address) - // [1054] print_address::brom_ptr#0 = (char *)rom_ptr::return#1 - // gotoxy(40, 1) - // [1055] call gotoxy - // [522] phi from print_address::@3 to gotoxy [phi:print_address::@3->gotoxy] - // [522] phi gotoxy::y#24 = 1 [phi:print_address::@3->gotoxy#0] -- vbuz1=vbuc1 + sta.z rom_ptr1___2+1 + // [1058] print_address::rom_ptr1_$0 = print_address::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + lda.z rom_ptr1___0 + and #<$3fff + sta.z rom_ptr1___0 + lda.z rom_ptr1___0+1 + and #>$3fff + sta.z rom_ptr1___0+1 + // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE + // [1059] print_address::brom_ptr#0 = print_address::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + lda.z brom_ptr + clc + adc #<$c000 + sta.z brom_ptr + lda.z brom_ptr+1 + adc #>$c000 + sta.z brom_ptr+1 + // [1060] phi from print_address::rom_ptr1 to print_address::@1 [phi:print_address::rom_ptr1->print_address::@1] + // print_address::@1 + // gotoxy(43, 1) + // [1061] call gotoxy + // [529] phi from print_address::@1 to gotoxy [phi:print_address::@1->gotoxy] + // [529] phi gotoxy::y#24 = 1 [phi:print_address::@1->gotoxy#0] -- vbuz1=vbuc1 lda #1 sta.z gotoxy.y - // [522] phi gotoxy::x#24 = $28 [phi:print_address::@3->gotoxy#1] -- vbuz1=vbuc1 - lda #$28 + // [529] phi gotoxy::x#24 = $2b [phi:print_address::@1->gotoxy#1] -- vbuz1=vbuc1 + lda #$2b sta.z gotoxy.x jsr gotoxy - // [1056] phi from print_address::@3 to print_address::@4 [phi:print_address::@3->print_address::@4] - // print_address::@4 + // [1062] phi from print_address::@1 to print_address::@2 [phi:print_address::@1->print_address::@2] + // print_address::@2 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1057] call printf_str - // [750] phi from print_address::@4 to printf_str [phi:print_address::@4->printf_str] - // [750] phi printf_str::putc#33 = &cputc [phi:print_address::@4->printf_str#0] -- pprz1=pprc1 + // [1063] call printf_str + // [757] phi from print_address::@2 to printf_str [phi:print_address::@2->printf_str] + // [757] phi printf_str::putc#33 = &cputc [phi:print_address::@2->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = print_address::s [phi:print_address::@4->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = print_address::s [phi:print_address::@2->printf_str#1] -- pbuz1=pbuc1 lda #s sta.z printf_str.s+1 jsr printf_str - // print_address::@5 + // print_address::@3 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1058] printf_uchar::uvalue#0 = print_address::bram_bank#3 - // [1059] call printf_uchar - // [830] phi from print_address::@5 to printf_uchar [phi:print_address::@5->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:print_address::@5->printf_uchar#0] -- vbuz1=vbuc1 + // [1064] printf_uchar::uvalue#0 = print_address::bram_bank#10 + // [1065] call printf_uchar + // [837] phi from print_address::@3 to printf_uchar [phi:print_address::@3->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:print_address::@3->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 2 [phi:print_address::@5->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 2 [phi:print_address::@3->printf_uchar#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &cputc [phi:print_address::@5->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &cputc [phi:print_address::@3->printf_uchar#2] -- pprz1=pprc1 lda #cputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = HEXADECIMAL [phi:print_address::@5->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = HEXADECIMAL [phi:print_address::@3->printf_uchar#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#0 [phi:print_address::@5->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#0 [phi:print_address::@3->printf_uchar#4] -- register_copy jsr printf_uchar - // [1060] phi from print_address::@5 to print_address::@6 [phi:print_address::@5->print_address::@6] - // print_address::@6 + // [1066] phi from print_address::@3 to print_address::@4 [phi:print_address::@3->print_address::@4] + // print_address::@4 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1061] call printf_str - // [750] phi from print_address::@6 to printf_str [phi:print_address::@6->printf_str] - // [750] phi printf_str::putc#33 = &cputc [phi:print_address::@6->printf_str#0] -- pprz1=pprc1 + // [1067] call printf_str + // [757] phi from print_address::@4 to printf_str [phi:print_address::@4->printf_str] + // [757] phi printf_str::putc#33 = &cputc [phi:print_address::@4->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = print_address::s1 [phi:print_address::@6->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = print_address::s1 [phi:print_address::@4->printf_str#1] -- pbuz1=pbuc1 lda #s1 sta.z printf_str.s+1 jsr printf_str - // print_address::@7 + // print_address::@5 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1062] printf_uint::uvalue#0 = (unsigned int)print_address::bram_ptr#10 - // [1063] call printf_uint - // [1000] phi from print_address::@7 to printf_uint [phi:print_address::@7->printf_uint] - // [1000] phi printf_uint::format_min_length#3 = 4 [phi:print_address::@7->printf_uint#0] -- vbuz1=vbuc1 + // [1068] printf_uint::uvalue#0 = (unsigned int)print_address::bram_ptr#10 + // [1069] call printf_uint + // [1001] phi from print_address::@5 to printf_uint [phi:print_address::@5->printf_uint] + // [1001] phi printf_uint::format_min_length#3 = 4 [phi:print_address::@5->printf_uint#0] -- vbuz1=vbuc1 lda #4 sta.z printf_uint.format_min_length - // [1000] phi printf_uint::putc#3 = &cputc [phi:print_address::@7->printf_uint#1] -- pprz1=pprc1 + // [1001] phi printf_uint::putc#3 = &cputc [phi:print_address::@5->printf_uint#1] -- pprz1=pprc1 lda #cputc sta.z printf_uint.putc+1 - // [1000] phi printf_uint::format_radix#3 = HEXADECIMAL [phi:print_address::@7->printf_uint#2] -- vbuz1=vbuc1 + // [1001] phi printf_uint::format_radix#3 = HEXADECIMAL [phi:print_address::@5->printf_uint#2] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1000] phi printf_uint::uvalue#3 = printf_uint::uvalue#0 [phi:print_address::@7->printf_uint#3] -- register_copy + // [1001] phi printf_uint::uvalue#3 = printf_uint::uvalue#0 [phi:print_address::@5->printf_uint#3] -- register_copy jsr printf_uint - // [1064] phi from print_address::@7 to print_address::@8 [phi:print_address::@7->print_address::@8] - // print_address::@8 + // [1070] phi from print_address::@5 to print_address::@6 [phi:print_address::@5->print_address::@6] + // print_address::@6 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1065] call printf_str - // [750] phi from print_address::@8 to printf_str [phi:print_address::@8->printf_str] - // [750] phi printf_str::putc#33 = &cputc [phi:print_address::@8->printf_str#0] -- pprz1=pprc1 + // [1071] call printf_str + // [757] phi from print_address::@6 to printf_str [phi:print_address::@6->printf_str] + // [757] phi printf_str::putc#33 = &cputc [phi:print_address::@6->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = print_address::s2 [phi:print_address::@8->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = print_address::s2 [phi:print_address::@6->printf_str#1] -- pbuz1=pbuc1 lda #s2 sta.z printf_str.s+1 jsr printf_str - // print_address::@9 + // print_address::@7 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1066] printf_ulong::uvalue#0 = print_address::brom_address#10 - // [1067] call printf_ulong - // [1381] phi from print_address::@9 to printf_ulong [phi:print_address::@9->printf_ulong] - // [1381] phi printf_ulong::format_zero_padding#2 = 0 [phi:print_address::@9->printf_ulong#0] -- vbuz1=vbuc1 + // [1072] printf_ulong::uvalue#0 = print_address::brom_address#10 + // [1073] call printf_ulong + // [1388] phi from print_address::@7 to printf_ulong [phi:print_address::@7->printf_ulong] + // [1388] phi printf_ulong::format_zero_padding#2 = 0 [phi:print_address::@7->printf_ulong#0] -- vbuz1=vbuc1 lda #0 sta.z printf_ulong.format_zero_padding - // [1381] phi printf_ulong::uvalue#2 = printf_ulong::uvalue#0 [phi:print_address::@9->printf_ulong#1] -- register_copy + // [1388] phi printf_ulong::uvalue#2 = printf_ulong::uvalue#0 [phi:print_address::@7->printf_ulong#1] -- register_copy jsr printf_ulong - // [1068] phi from print_address::@9 to print_address::@10 [phi:print_address::@9->print_address::@10] - // print_address::@10 + // [1074] phi from print_address::@7 to print_address::@8 [phi:print_address::@7->print_address::@8] + // print_address::@8 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1069] call printf_str - // [750] phi from print_address::@10 to printf_str [phi:print_address::@10->printf_str] - // [750] phi printf_str::putc#33 = &cputc [phi:print_address::@10->printf_str#0] -- pprz1=pprc1 + // [1075] call printf_str + // [757] phi from print_address::@8 to printf_str [phi:print_address::@8->printf_str] + // [757] phi printf_str::putc#33 = &cputc [phi:print_address::@8->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = print_address::s3 [phi:print_address::@10->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = print_address::s3 [phi:print_address::@8->printf_str#1] -- pbuz1=pbuc1 lda #s3 sta.z printf_str.s+1 jsr printf_str - // print_address::@11 + // print_address::@9 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1070] printf_uchar::uvalue#1 = print_address::brom_bank#0 -- vbuz1=vbuz2 + // [1076] printf_uchar::uvalue#1 = print_address::brom_bank#0 -- vbuz1=vbuz2 lda.z brom_bank sta.z printf_uchar.uvalue - // [1071] call printf_uchar - // [830] phi from print_address::@11 to printf_uchar [phi:print_address::@11->printf_uchar] - // [830] phi printf_uchar::format_zero_padding#12 = 0 [phi:print_address::@11->printf_uchar#0] -- vbuz1=vbuc1 + // [1077] call printf_uchar + // [837] phi from print_address::@9 to printf_uchar [phi:print_address::@9->printf_uchar] + // [837] phi printf_uchar::format_zero_padding#12 = 0 [phi:print_address::@9->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [830] phi printf_uchar::format_min_length#12 = 2 [phi:print_address::@11->printf_uchar#1] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_min_length#12 = 2 [phi:print_address::@9->printf_uchar#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uchar.format_min_length - // [830] phi printf_uchar::putc#12 = &cputc [phi:print_address::@11->printf_uchar#2] -- pprz1=pprc1 + // [837] phi printf_uchar::putc#12 = &cputc [phi:print_address::@9->printf_uchar#2] -- pprz1=pprc1 lda #cputc sta.z printf_uchar.putc+1 - // [830] phi printf_uchar::format_radix#12 = HEXADECIMAL [phi:print_address::@11->printf_uchar#3] -- vbuz1=vbuc1 + // [837] phi printf_uchar::format_radix#12 = HEXADECIMAL [phi:print_address::@9->printf_uchar#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uchar.format_radix - // [830] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#1 [phi:print_address::@11->printf_uchar#4] -- register_copy + // [837] phi printf_uchar::uvalue#12 = printf_uchar::uvalue#1 [phi:print_address::@9->printf_uchar#4] -- register_copy jsr printf_uchar - // [1072] phi from print_address::@11 to print_address::@12 [phi:print_address::@11->print_address::@12] - // print_address::@12 + // [1078] phi from print_address::@9 to print_address::@10 [phi:print_address::@9->print_address::@10] + // print_address::@10 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1073] call printf_str - // [750] phi from print_address::@12 to printf_str [phi:print_address::@12->printf_str] - // [750] phi printf_str::putc#33 = &cputc [phi:print_address::@12->printf_str#0] -- pprz1=pprc1 + // [1079] call printf_str + // [757] phi from print_address::@10 to printf_str [phi:print_address::@10->printf_str] + // [757] phi printf_str::putc#33 = &cputc [phi:print_address::@10->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [750] phi printf_str::s#33 = print_address::s1 [phi:print_address::@12->printf_str#1] -- pbuz1=pbuc1 + // [757] phi printf_str::s#33 = print_address::s1 [phi:print_address::@10->printf_str#1] -- pbuz1=pbuc1 lda #s1 sta.z printf_str.s+1 jsr printf_str - // print_address::@13 + // print_address::@11 // printf("ram = %2x/%4p, rom = %6x,%2x/%4p", bram_bank, bram_ptr, brom_address, brom_bank, brom_ptr) - // [1074] printf_uint::uvalue#1 = (unsigned int)print_address::brom_ptr#0 -- vwuz1=vwuz2 + // [1080] printf_uint::uvalue#1 = (unsigned int)(char *)print_address::brom_ptr#0 -- vwuz1=vwuz2 lda.z brom_ptr sta.z printf_uint.uvalue lda.z brom_ptr+1 sta.z printf_uint.uvalue+1 - // [1075] call printf_uint - // [1000] phi from print_address::@13 to printf_uint [phi:print_address::@13->printf_uint] - // [1000] phi printf_uint::format_min_length#3 = 4 [phi:print_address::@13->printf_uint#0] -- vbuz1=vbuc1 + // [1081] call printf_uint + // [1001] phi from print_address::@11 to printf_uint [phi:print_address::@11->printf_uint] + // [1001] phi printf_uint::format_min_length#3 = 4 [phi:print_address::@11->printf_uint#0] -- vbuz1=vbuc1 lda #4 sta.z printf_uint.format_min_length - // [1000] phi printf_uint::putc#3 = &cputc [phi:print_address::@13->printf_uint#1] -- pprz1=pprc1 + // [1001] phi printf_uint::putc#3 = &cputc [phi:print_address::@11->printf_uint#1] -- pprz1=pprc1 lda #cputc sta.z printf_uint.putc+1 - // [1000] phi printf_uint::format_radix#3 = HEXADECIMAL [phi:print_address::@13->printf_uint#2] -- vbuz1=vbuc1 + // [1001] phi printf_uint::format_radix#3 = HEXADECIMAL [phi:print_address::@11->printf_uint#2] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1000] phi printf_uint::uvalue#3 = printf_uint::uvalue#1 [phi:print_address::@13->printf_uint#3] -- register_copy + // [1001] phi printf_uint::uvalue#3 = printf_uint::uvalue#1 [phi:print_address::@11->printf_uint#3] -- register_copy jsr printf_uint // print_address::@return // } - // [1076] return + // [1082] return rts .segment Data s: .text "ram = " @@ -7209,15 +7323,15 @@ print_address: { .segment Code // flash_write /* inline */ -// unsigned long flash_write(__zp($af) char flash_ram_bank, __zp($3c) char *flash_ram_address, __zp($74) unsigned long flash_rom_address) +// unsigned long flash_write(__zp($77) char flash_ram_bank, __zp($3a) char *flash_ram_address, __zp($22) unsigned long flash_rom_address) flash_write: { - .label rom_chip_address = $2e - .label flash_rom_address = $74 - .label flash_ram_address = $3c - .label flashed_bytes = $6f - .label flash_ram_bank = $af + .label rom_chip_address = $69 + .label flash_rom_address = $22 + .label flash_ram_address = $3a + .label flashed_bytes = $63 + .label flash_ram_bank = $77 // unsigned long rom_chip_address = flash_rom_address & ROM_CHIP_MASK - // [1077] flash_write::rom_chip_address#0 = flash_write::flash_rom_address#1 & $380000 -- vduz1=vduz2_band_vduc1 + // [1083] flash_write::rom_chip_address#0 = flash_write::flash_rom_address#1 & $380000 -- vduz1=vduz2_band_vduc1 /// Holds the amount of bytes actually flashed in the ROM. lda.z flash_rom_address and #<$380000 @@ -7233,13 +7347,13 @@ flash_write: { sta.z rom_chip_address+3 // flash_write::bank_set_bram1 // BRAM = bank - // [1078] BRAM = flash_write::flash_ram_bank#0 -- vbuz1=vbuz2 + // [1084] BRAM = flash_write::flash_ram_bank#0 -- vbuz1=vbuz2 lda.z flash_ram_bank sta.z BRAM - // [1079] phi from flash_write::bank_set_bram1 to flash_write::@1 [phi:flash_write::bank_set_bram1->flash_write::@1] - // [1079] phi flash_write::flash_ram_address#2 = flash_write::flash_ram_address#1 [phi:flash_write::bank_set_bram1->flash_write::@1#0] -- register_copy - // [1079] phi flash_write::flash_rom_address#3 = flash_write::flash_rom_address#1 [phi:flash_write::bank_set_bram1->flash_write::@1#1] -- register_copy - // [1079] phi flash_write::flashed_bytes#2 = 0 [phi:flash_write::bank_set_bram1->flash_write::@1#2] -- vduz1=vduc1 + // [1085] phi from flash_write::bank_set_bram1 to flash_write::@1 [phi:flash_write::bank_set_bram1->flash_write::@1] + // [1085] phi flash_write::flash_ram_address#2 = flash_write::flash_ram_address#1 [phi:flash_write::bank_set_bram1->flash_write::@1#0] -- register_copy + // [1085] phi flash_write::flash_rom_address#3 = flash_write::flash_rom_address#1 [phi:flash_write::bank_set_bram1->flash_write::@1#1] -- register_copy + // [1085] phi flash_write::flashed_bytes#2 = 0 [phi:flash_write::bank_set_bram1->flash_write::@1#2] -- vduz1=vduc1 lda #<0 sta.z flashed_bytes sta.z flashed_bytes+1 @@ -7250,7 +7364,7 @@ flash_write: { // flash_write::@1 __b1: // while (flashed_bytes < 0x0100) - // [1080] if(flash_write::flashed_bytes#2<$100) goto flash_write::@2 -- vduz1_lt_vduc1_then_la1 + // [1086] if(flash_write::flashed_bytes#2<$100) goto flash_write::@2 -- vduz1_lt_vduc1_then_la1 lda.z flashed_bytes+3 cmp #>$100>>$10 bcc __b2 @@ -7269,12 +7383,12 @@ flash_write: { !: // flash_write::@return // } - // [1081] return + // [1087] return rts // flash_write::@2 __b2: // rom_unlock(rom_chip_address + 0x05555, 0xA0) - // [1082] rom_unlock::address#2 = flash_write::rom_chip_address#0 + $5555 -- vduz1=vduz2_plus_vwuc1 + // [1088] rom_unlock::address#2 = flash_write::rom_chip_address#0 + $5555 -- vduz1=vduz2_plus_vwuc1 clc lda.z rom_chip_address adc #<$5555 @@ -7288,16 +7402,16 @@ flash_write: { lda.z rom_chip_address+3 adc #0 sta.z rom_unlock.address+3 - // [1083] call rom_unlock - // [1090] phi from flash_write::@2 to rom_unlock [phi:flash_write::@2->rom_unlock] - // [1090] phi rom_unlock::unlock_code#5 = $a0 [phi:flash_write::@2->rom_unlock#0] -- vbuz1=vbuc1 + // [1089] call rom_unlock + // [1096] phi from flash_write::@2 to rom_unlock [phi:flash_write::@2->rom_unlock] + // [1096] phi rom_unlock::unlock_code#5 = $a0 [phi:flash_write::@2->rom_unlock#0] -- vbuz1=vbuc1 lda #$a0 sta.z rom_unlock.unlock_code - // [1090] phi rom_unlock::address#5 = rom_unlock::address#2 [phi:flash_write::@2->rom_unlock#1] -- register_copy + // [1096] phi rom_unlock::address#5 = rom_unlock::address#2 [phi:flash_write::@2->rom_unlock#1] -- register_copy jsr rom_unlock // flash_write::@3 // rom_byte_program(flash_rom_address, *flash_ram_address) - // [1084] rom_byte_program::address#0 = flash_write::flash_rom_address#3 -- vduz1=vduz2 + // [1090] rom_byte_program::address#0 = flash_write::flash_rom_address#3 -- vduz1=vduz2 lda.z flash_rom_address sta.z rom_byte_program.address lda.z flash_rom_address+1 @@ -7306,15 +7420,16 @@ flash_write: { sta.z rom_byte_program.address+2 lda.z flash_rom_address+3 sta.z rom_byte_program.address+3 - // [1085] rom_byte_program::value#0 = *flash_write::flash_ram_address#2 -- vbuz1=_deref_pbuz2 + // [1091] rom_byte_program::value#0 = *flash_write::flash_ram_address#2 -- vbuz1=_deref_pbuz2 ldy #0 lda (flash_ram_address),y sta.z rom_byte_program.value - // [1086] call rom_byte_program + // [1092] call rom_byte_program + // [1464] phi from flash_write::@3 to rom_byte_program [phi:flash_write::@3->rom_byte_program] jsr rom_byte_program // flash_write::@4 // flash_rom_address++; - // [1087] flash_write::flash_rom_address#0 = ++ flash_write::flash_rom_address#3 -- vduz1=_inc_vduz1 + // [1093] flash_write::flash_rom_address#0 = ++ flash_write::flash_rom_address#3 -- vduz1=_inc_vduz1 inc.z flash_rom_address bne !+ inc.z flash_rom_address+1 @@ -7324,13 +7439,13 @@ flash_write: { inc.z flash_rom_address+3 !: // flash_ram_address++; - // [1088] flash_write::flash_ram_address#0 = ++ flash_write::flash_ram_address#2 -- pbuz1=_inc_pbuz1 + // [1094] flash_write::flash_ram_address#0 = ++ flash_write::flash_ram_address#2 -- pbuz1=_inc_pbuz1 inc.z flash_ram_address bne !+ inc.z flash_ram_address+1 !: // flashed_bytes++; - // [1089] flash_write::flashed_bytes#1 = ++ flash_write::flashed_bytes#2 -- vduz1=_inc_vduz1 + // [1095] flash_write::flashed_bytes#1 = ++ flash_write::flashed_bytes#2 -- vduz1=_inc_vduz1 inc.z flashed_bytes bne !+ inc.z flashed_bytes+1 @@ -7339,10 +7454,10 @@ flash_write: { bne !+ inc.z flashed_bytes+3 !: - // [1079] phi from flash_write::@4 to flash_write::@1 [phi:flash_write::@4->flash_write::@1] - // [1079] phi flash_write::flash_ram_address#2 = flash_write::flash_ram_address#0 [phi:flash_write::@4->flash_write::@1#0] -- register_copy - // [1079] phi flash_write::flash_rom_address#3 = flash_write::flash_rom_address#0 [phi:flash_write::@4->flash_write::@1#1] -- register_copy - // [1079] phi flash_write::flashed_bytes#2 = flash_write::flashed_bytes#1 [phi:flash_write::@4->flash_write::@1#2] -- register_copy + // [1085] phi from flash_write::@4 to flash_write::@1 [phi:flash_write::@4->flash_write::@1] + // [1085] phi flash_write::flash_ram_address#2 = flash_write::flash_ram_address#0 [phi:flash_write::@4->flash_write::@1#0] -- register_copy + // [1085] phi flash_write::flash_rom_address#3 = flash_write::flash_rom_address#0 [phi:flash_write::@4->flash_write::@1#1] -- register_copy + // [1085] phi flash_write::flashed_bytes#2 = flash_write::flashed_bytes#1 [phi:flash_write::@4->flash_write::@1#2] -- register_copy jmp __b1 } // rom_unlock @@ -7355,13 +7470,13 @@ flash_write: { * @param unlock_code The 3rd write to model the specific unlock sequence. */ /* inline */ -// void rom_unlock(__zp($69) unsigned long address, __zp($73) char unlock_code) +// void rom_unlock(__zp($5d) unsigned long address, __zp($29) char unlock_code) rom_unlock: { - .label chip_address = $64 - .label address = $69 - .label unlock_code = $73 + .label chip_address = $2f + .label address = $5d + .label unlock_code = $29 // unsigned long chip_address = address & ROM_CHIP_MASK - // [1091] rom_unlock::chip_address#0 = rom_unlock::address#5 & $380000 -- vduz1=vduz2_band_vduc1 + // [1097] rom_unlock::chip_address#0 = rom_unlock::address#5 & $380000 -- vduz1=vduz2_band_vduc1 lda.z address and #<$380000 sta.z chip_address @@ -7375,7 +7490,7 @@ rom_unlock: { and #>$380000>>$10 sta.z chip_address+3 // rom_write_byte(chip_address + 0x05555, 0xAA) - // [1092] rom_write_byte::address#0 = rom_unlock::chip_address#0 + $5555 -- vduz1=vduz2_plus_vwuc1 + // [1098] rom_write_byte::address#0 = rom_unlock::chip_address#0 + $5555 -- vduz1=vduz2_plus_vwuc1 clc lda.z chip_address adc #<$5555 @@ -7389,16 +7504,16 @@ rom_unlock: { lda.z chip_address+3 adc #0 sta.z rom_write_byte.address+3 - // [1093] call rom_write_byte - // [1476] phi from rom_unlock to rom_write_byte [phi:rom_unlock->rom_write_byte] - // [1476] phi rom_write_byte::value#4 = $aa [phi:rom_unlock->rom_write_byte#0] -- vbuz1=vbuc1 + // [1099] call rom_write_byte + // [1474] phi from rom_unlock to rom_write_byte [phi:rom_unlock->rom_write_byte] + // [1474] phi rom_write_byte::value#10 = $aa [phi:rom_unlock->rom_write_byte#0] -- vbuz1=vbuc1 lda #$aa sta.z rom_write_byte.value - // [1476] phi rom_write_byte::address#4 = rom_write_byte::address#0 [phi:rom_unlock->rom_write_byte#1] -- register_copy + // [1474] phi rom_write_byte::address#4 = rom_write_byte::address#0 [phi:rom_unlock->rom_write_byte#1] -- register_copy jsr rom_write_byte // rom_unlock::@1 // rom_write_byte(chip_address + 0x02AAA, 0x55) - // [1094] rom_write_byte::address#1 = rom_unlock::chip_address#0 + $2aaa -- vduz1=vduz2_plus_vwuc1 + // [1100] rom_write_byte::address#1 = rom_unlock::chip_address#0 + $2aaa -- vduz1=vduz2_plus_vwuc1 clc lda.z chip_address adc #<$2aaa @@ -7412,16 +7527,16 @@ rom_unlock: { lda.z chip_address+3 adc #0 sta.z rom_write_byte.address+3 - // [1095] call rom_write_byte - // [1476] phi from rom_unlock::@1 to rom_write_byte [phi:rom_unlock::@1->rom_write_byte] - // [1476] phi rom_write_byte::value#4 = $55 [phi:rom_unlock::@1->rom_write_byte#0] -- vbuz1=vbuc1 + // [1101] call rom_write_byte + // [1474] phi from rom_unlock::@1 to rom_write_byte [phi:rom_unlock::@1->rom_write_byte] + // [1474] phi rom_write_byte::value#10 = $55 [phi:rom_unlock::@1->rom_write_byte#0] -- vbuz1=vbuc1 lda #$55 sta.z rom_write_byte.value - // [1476] phi rom_write_byte::address#4 = rom_write_byte::address#1 [phi:rom_unlock::@1->rom_write_byte#1] -- register_copy + // [1474] phi rom_write_byte::address#4 = rom_write_byte::address#1 [phi:rom_unlock::@1->rom_write_byte#1] -- register_copy jsr rom_write_byte // rom_unlock::@2 // rom_write_byte(address, unlock_code) - // [1096] rom_write_byte::address#2 = rom_unlock::address#5 -- vduz1=vduz2 + // [1102] rom_write_byte::address#2 = rom_unlock::address#5 -- vduz1=vduz2 lda.z address sta.z rom_write_byte.address lda.z address+1 @@ -7430,17 +7545,17 @@ rom_unlock: { sta.z rom_write_byte.address+2 lda.z address+3 sta.z rom_write_byte.address+3 - // [1097] rom_write_byte::value#2 = rom_unlock::unlock_code#5 -- vbuz1=vbuz2 + // [1103] rom_write_byte::value#2 = rom_unlock::unlock_code#5 -- vbuz1=vbuz2 lda.z unlock_code sta.z rom_write_byte.value - // [1098] call rom_write_byte - // [1476] phi from rom_unlock::@2 to rom_write_byte [phi:rom_unlock::@2->rom_write_byte] - // [1476] phi rom_write_byte::value#4 = rom_write_byte::value#2 [phi:rom_unlock::@2->rom_write_byte#0] -- register_copy - // [1476] phi rom_write_byte::address#4 = rom_write_byte::address#2 [phi:rom_unlock::@2->rom_write_byte#1] -- register_copy + // [1104] call rom_write_byte + // [1474] phi from rom_unlock::@2 to rom_write_byte [phi:rom_unlock::@2->rom_write_byte] + // [1474] phi rom_write_byte::value#10 = rom_write_byte::value#2 [phi:rom_unlock::@2->rom_write_byte#0] -- register_copy + // [1474] phi rom_write_byte::address#4 = rom_write_byte::address#2 [phi:rom_unlock::@2->rom_write_byte#1] -- register_copy jsr rom_write_byte // rom_unlock::@return // } - // [1099] return + // [1105] return rts } // rom_read_byte @@ -7453,223 +7568,234 @@ rom_unlock: { * @param address The 22 bit ROM address. * @return unsigned char The byte read from the ROM. */ -/* inline */ -// __zp($af) char rom_read_byte(__zp($d5) unsigned long address) +// __zp($77) char rom_read_byte(__zp($5d) unsigned long address) rom_read_byte: { - .label bank_rom = $51 - .label ptr_rom = $28 - .label return = $af - .label address = $d5 - // brom_bank_t bank_rom = rom_bank((unsigned long)address) - // [1101] rom_bank::address#1 = rom_read_byte::address#2 -- vduz1=vduz2 - lda.z address - sta.z rom_bank.address - lda.z address+1 - sta.z rom_bank.address+1 + .label rom_bank1___0 = $4f + .label rom_bank1___1 = $7e + .label rom_bank1___2 = $44 + .label rom_ptr1___0 = $7c + .label rom_ptr1___2 = $7c + .label rom_bank1_bank_unshifted = $44 + .label rom_bank1_return = $34 + .label rom_ptr1_return = $7c + .label return = $77 + .label address = $5d + // rom_read_byte::rom_bank1 + // BYTE2(address) + // [1107] rom_read_byte::rom_bank1_$0 = byte2 rom_read_byte::address#2 -- vbuz1=_byte2_vduz2 lda.z address+2 - sta.z rom_bank.address+2 - lda.z address+3 - sta.z rom_bank.address+3 - // [1102] call rom_bank - // [1446] phi from rom_read_byte to rom_bank [phi:rom_read_byte->rom_bank] - // [1446] phi rom_bank::address#4 = rom_bank::address#1 [phi:rom_read_byte->rom_bank#0] -- register_copy - jsr rom_bank - // brom_bank_t bank_rom = rom_bank((unsigned long)address) - // [1103] rom_bank::return#3 = rom_bank::return#1 -- vbuz1=vbuz2 - lda.z rom_bank.return_1 - sta.z rom_bank.return_2 - // rom_read_byte::@1 - // [1104] rom_read_byte::bank_rom#0 = rom_bank::return#3 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)address) - // [1105] rom_ptr::address#1 = rom_read_byte::address#2 -- vduz1=vduz2 + sta.z rom_bank1___0 + // BYTE1(address) + // [1108] rom_read_byte::rom_bank1_$1 = byte1 rom_read_byte::address#2 -- vbuz1=_byte1_vduz2 + lda.z address+1 + sta.z rom_bank1___1 + // MAKEWORD(BYTE2(address),BYTE1(address)) + // [1109] rom_read_byte::rom_bank1_$2 = rom_read_byte::rom_bank1_$0 w= rom_read_byte::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 + lda.z rom_bank1___0 + sta.z rom_bank1___2+1 + lda.z rom_bank1___1 + sta.z rom_bank1___2 + // unsigned int bank_unshifted = MAKEWORD(BYTE2(address),BYTE1(address)) << 2 + // [1110] rom_read_byte::rom_bank1_bank_unshifted#0 = rom_read_byte::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 + asl.z rom_bank1_bank_unshifted + rol.z rom_bank1_bank_unshifted+1 + asl.z rom_bank1_bank_unshifted + rol.z rom_bank1_bank_unshifted+1 + // unsigned char bank = BYTE1(bank_unshifted) + // [1111] rom_read_byte::rom_bank1_return#0 = byte1 rom_read_byte::rom_bank1_bank_unshifted#0 -- vbuz1=_byte1_vwuz2 + lda.z rom_bank1_bank_unshifted+1 + sta.z rom_bank1_return + // rom_read_byte::rom_ptr1 + // (unsigned int)(address) & ROM_PTR_MASK + // [1112] rom_read_byte::rom_ptr1_$2 = (unsigned int)rom_read_byte::address#2 -- vwuz1=_word_vduz2 lda.z address - sta.z rom_ptr.address + sta.z rom_ptr1___2 lda.z address+1 - sta.z rom_ptr.address+1 - lda.z address+2 - sta.z rom_ptr.address+2 - lda.z address+3 - sta.z rom_ptr.address+3 - // [1106] call rom_ptr - // [1451] phi from rom_read_byte::@1 to rom_ptr [phi:rom_read_byte::@1->rom_ptr] - // [1451] phi rom_ptr::address#6 = rom_ptr::address#1 [phi:rom_read_byte::@1->rom_ptr#0] -- register_copy - jsr rom_ptr - // rom_read_byte::@2 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)address) - // [1107] rom_read_byte::ptr_rom#0 = (char *)rom_ptr::return#1 -- pbuz1=pbuz2 - lda.z rom_ptr.return - sta.z ptr_rom - lda.z rom_ptr.return+1 - sta.z ptr_rom+1 + sta.z rom_ptr1___2+1 + // [1113] rom_read_byte::rom_ptr1_$0 = rom_read_byte::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + lda.z rom_ptr1___0 + and #<$3fff + sta.z rom_ptr1___0 + lda.z rom_ptr1___0+1 + and #>$3fff + sta.z rom_ptr1___0+1 + // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE + // [1114] rom_read_byte::rom_ptr1_return#0 = rom_read_byte::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + lda.z rom_ptr1_return + clc + adc #<$c000 + sta.z rom_ptr1_return + lda.z rom_ptr1_return+1 + adc #>$c000 + sta.z rom_ptr1_return+1 + // rom_read_byte::@1 // bank_set_brom(bank_rom) - // [1108] bank_set_brom::bank#2 = rom_read_byte::bank_rom#0 -- vbuz1=vbuz2 - lda.z bank_rom - sta.z bank_set_brom.bank - // [1109] call bank_set_brom - // [811] phi from rom_read_byte::@2 to bank_set_brom [phi:rom_read_byte::@2->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = bank_set_brom::bank#2 [phi:rom_read_byte::@2->bank_set_brom#0] -- register_copy + // [1115] bank_set_brom::bank#2 = rom_read_byte::rom_bank1_return#0 + // [1116] call bank_set_brom + // [818] phi from rom_read_byte::@1 to bank_set_brom [phi:rom_read_byte::@1->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = bank_set_brom::bank#2 [phi:rom_read_byte::@1->bank_set_brom#0] -- register_copy jsr bank_set_brom - // rom_read_byte::@3 + // rom_read_byte::@2 // return *ptr_rom; - // [1110] rom_read_byte::return#0 = *rom_read_byte::ptr_rom#0 -- vbuz1=_deref_pbuz2 + // [1117] rom_read_byte::return#0 = *((char *)rom_read_byte::rom_ptr1_return#0) -- vbuz1=_deref_pbuz2 ldy #0 - lda (ptr_rom),y + lda (rom_ptr1_return),y sta.z return // rom_read_byte::@return // } - // [1111] return + // [1118] return rts } // print_chip_KB -// void print_chip_KB(__zp($47) char rom_chip, __zp($3c) char *kb) +// void print_chip_KB(__zp($5c) char rom_chip, __zp($44) char *kb) print_chip_KB: { - .label __3 = $47 - .label rom_chip = $47 - .label kb = $3c - .label __9 = $56 - .label __10 = $47 + .label __3 = $5c + .label rom_chip = $5c + .label kb = $44 + .label __9 = $34 + .label __10 = $5c // rom_chip * 10 - // [1113] print_chip_KB::$9 = print_chip_KB::rom_chip#3 << 2 -- vbuz1=vbuz2_rol_2 + // [1120] print_chip_KB::$9 = print_chip_KB::rom_chip#3 << 2 -- vbuz1=vbuz2_rol_2 lda.z rom_chip asl asl sta.z __9 - // [1114] print_chip_KB::$10 = print_chip_KB::$9 + print_chip_KB::rom_chip#3 -- vbuz1=vbuz2_plus_vbuz1 + // [1121] print_chip_KB::$10 = print_chip_KB::$9 + print_chip_KB::rom_chip#3 -- vbuz1=vbuz2_plus_vbuz1 lda.z __10 clc adc.z __9 sta.z __10 - // [1115] print_chip_KB::$3 = print_chip_KB::$10 << 1 -- vbuz1=vbuz1_rol_1 + // [1122] print_chip_KB::$3 = print_chip_KB::$10 << 1 -- vbuz1=vbuz1_rol_1 asl.z __3 // print_chip_line(3 + rom_chip * 10, 51, kb[0]) - // [1116] print_chip_line::x#9 = 3 + print_chip_KB::$3 -- vbuz1=vbuc1_plus_vbuz2 + // [1123] print_chip_line::x#9 = 3 + print_chip_KB::$3 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __3 sta.z print_chip_line.x - // [1117] print_chip_line::c#9 = *print_chip_KB::kb#3 -- vbuz1=_deref_pbuz2 + // [1124] print_chip_line::c#9 = *print_chip_KB::kb#3 -- vbuz1=_deref_pbuz2 ldy #0 lda (kb),y sta.z print_chip_line.c - // [1118] call print_chip_line - // [1180] phi from print_chip_KB to print_chip_line [phi:print_chip_KB->print_chip_line] - // [1180] phi print_chip_line::c#12 = print_chip_line::c#9 [phi:print_chip_KB->print_chip_line#0] -- register_copy - // [1180] phi print_chip_line::y#12 = $33 [phi:print_chip_KB->print_chip_line#1] -- vbuz1=vbuc1 + // [1125] call print_chip_line + // [1187] phi from print_chip_KB to print_chip_line [phi:print_chip_KB->print_chip_line] + // [1187] phi print_chip_line::c#12 = print_chip_line::c#9 [phi:print_chip_KB->print_chip_line#0] -- register_copy + // [1187] phi print_chip_line::y#12 = $33 [phi:print_chip_KB->print_chip_line#1] -- vbuz1=vbuc1 lda #$33 sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#9 [phi:print_chip_KB->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#9 [phi:print_chip_KB->print_chip_line#2] -- register_copy jsr print_chip_line // print_chip_KB::@1 // print_chip_line(3 + rom_chip * 10, 52, kb[1]) - // [1119] print_chip_line::x#10 = 3 + print_chip_KB::$3 -- vbuz1=vbuc1_plus_vbuz2 + // [1126] print_chip_line::x#10 = 3 + print_chip_KB::$3 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __3 sta.z print_chip_line.x - // [1120] print_chip_line::c#10 = print_chip_KB::kb#3[1] -- vbuz1=pbuz2_derefidx_vbuc1 + // [1127] print_chip_line::c#10 = print_chip_KB::kb#3[1] -- vbuz1=pbuz2_derefidx_vbuc1 ldy #1 lda (kb),y sta.z print_chip_line.c - // [1121] call print_chip_line - // [1180] phi from print_chip_KB::@1 to print_chip_line [phi:print_chip_KB::@1->print_chip_line] - // [1180] phi print_chip_line::c#12 = print_chip_line::c#10 [phi:print_chip_KB::@1->print_chip_line#0] -- register_copy - // [1180] phi print_chip_line::y#12 = $34 [phi:print_chip_KB::@1->print_chip_line#1] -- vbuz1=vbuc1 + // [1128] call print_chip_line + // [1187] phi from print_chip_KB::@1 to print_chip_line [phi:print_chip_KB::@1->print_chip_line] + // [1187] phi print_chip_line::c#12 = print_chip_line::c#10 [phi:print_chip_KB::@1->print_chip_line#0] -- register_copy + // [1187] phi print_chip_line::y#12 = $34 [phi:print_chip_KB::@1->print_chip_line#1] -- vbuz1=vbuc1 lda #$34 sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#10 [phi:print_chip_KB::@1->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#10 [phi:print_chip_KB::@1->print_chip_line#2] -- register_copy jsr print_chip_line // print_chip_KB::@2 // print_chip_line(3 + rom_chip * 10, 53, kb[2]) - // [1122] print_chip_line::x#11 = 3 + print_chip_KB::$3 -- vbuz1=vbuc1_plus_vbuz2 + // [1129] print_chip_line::x#11 = 3 + print_chip_KB::$3 -- vbuz1=vbuc1_plus_vbuz2 lda #3 clc adc.z __3 sta.z print_chip_line.x - // [1123] print_chip_line::c#11 = print_chip_KB::kb#3[2] -- vbuz1=pbuz2_derefidx_vbuc1 + // [1130] print_chip_line::c#11 = print_chip_KB::kb#3[2] -- vbuz1=pbuz2_derefidx_vbuc1 ldy #2 lda (kb),y sta.z print_chip_line.c - // [1124] call print_chip_line - // [1180] phi from print_chip_KB::@2 to print_chip_line [phi:print_chip_KB::@2->print_chip_line] - // [1180] phi print_chip_line::c#12 = print_chip_line::c#11 [phi:print_chip_KB::@2->print_chip_line#0] -- register_copy - // [1180] phi print_chip_line::y#12 = $35 [phi:print_chip_KB::@2->print_chip_line#1] -- vbuz1=vbuc1 + // [1131] call print_chip_line + // [1187] phi from print_chip_KB::@2 to print_chip_line [phi:print_chip_KB::@2->print_chip_line] + // [1187] phi print_chip_line::c#12 = print_chip_line::c#11 [phi:print_chip_KB::@2->print_chip_line#0] -- register_copy + // [1187] phi print_chip_line::y#12 = $35 [phi:print_chip_KB::@2->print_chip_line#1] -- vbuz1=vbuc1 lda #$35 sta.z print_chip_line.y - // [1180] phi print_chip_line::x#12 = print_chip_line::x#11 [phi:print_chip_KB::@2->print_chip_line#2] -- register_copy + // [1187] phi print_chip_line::x#12 = print_chip_line::x#11 [phi:print_chip_KB::@2->print_chip_line#2] -- register_copy jsr print_chip_line // print_chip_KB::@return // } - // [1125] return + // [1132] return rts } // screenlayer // --- layer management in VERA --- -// void screenlayer(char layer, __zp($b1) char mapbase, __zp($c7) char config) +// void screenlayer(char layer, __zp($7a) char mapbase, __zp($b8) char config) screenlayer: { - .label __0 = $ee - .label __1 = $b1 - .label __2 = $ef - .label __5 = $c7 - .label __6 = $c7 - .label __7 = $e8 - .label __8 = $e8 - .label __9 = $e2 - .label __10 = $e2 - .label __11 = $e2 - .label __12 = $e3 - .label __13 = $e3 - .label __14 = $e3 - .label __16 = $e8 - .label __17 = $d9 - .label __18 = $e2 - .label __19 = $e3 - .label mapbase_offset = $da - .label y = $b0 - .label mapbase = $b1 - .label config = $c7 + .label __0 = $e4 + .label __1 = $7a + .label __2 = $e5 + .label __5 = $b8 + .label __6 = $b8 + .label __7 = $de + .label __8 = $de + .label __9 = $d8 + .label __10 = $d8 + .label __11 = $d8 + .label __12 = $d9 + .label __13 = $d9 + .label __14 = $d9 + .label __16 = $de + .label __17 = $cf + .label __18 = $d8 + .label __19 = $d9 + .label mapbase_offset = $d0 + .label y = $79 + .label mapbase = $7a + .label config = $b8 // __mem char vera_dc_hscale_temp = *VERA_DC_HSCALE - // [1126] screenlayer::vera_dc_hscale_temp#0 = *VERA_DC_HSCALE -- vbum1=_deref_pbuc1 + // [1133] screenlayer::vera_dc_hscale_temp#0 = *VERA_DC_HSCALE -- vbum1=_deref_pbuc1 lda VERA_DC_HSCALE sta vera_dc_hscale_temp // __mem char vera_dc_vscale_temp = *VERA_DC_VSCALE - // [1127] screenlayer::vera_dc_vscale_temp#0 = *VERA_DC_VSCALE -- vbum1=_deref_pbuc1 + // [1134] screenlayer::vera_dc_vscale_temp#0 = *VERA_DC_VSCALE -- vbum1=_deref_pbuc1 lda VERA_DC_VSCALE sta vera_dc_vscale_temp // __conio.layer = 0 - // [1128] *((char *)&__conio) = 0 -- _deref_pbuc1=vbuc2 + // [1135] *((char *)&__conio) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta __conio // mapbase >> 7 - // [1129] screenlayer::$0 = screenlayer::mapbase#0 >> 7 -- vbuz1=vbuz2_ror_7 + // [1136] screenlayer::$0 = screenlayer::mapbase#0 >> 7 -- vbuz1=vbuz2_ror_7 lda.z mapbase rol rol and #1 sta.z __0 // __conio.mapbase_bank = mapbase >> 7 - // [1130] *((char *)&__conio+3) = screenlayer::$0 -- _deref_pbuc1=vbuz1 + // [1137] *((char *)&__conio+3) = screenlayer::$0 -- _deref_pbuc1=vbuz1 sta __conio+3 // (mapbase)<<1 - // [1131] screenlayer::$1 = screenlayer::mapbase#0 << 1 -- vbuz1=vbuz1_rol_1 + // [1138] screenlayer::$1 = screenlayer::mapbase#0 << 1 -- vbuz1=vbuz1_rol_1 asl.z __1 // MAKEWORD((mapbase)<<1,0) - // [1132] screenlayer::$2 = screenlayer::$1 w= 0 -- vwuz1=vbuz2_word_vbuc1 + // [1139] screenlayer::$2 = screenlayer::$1 w= 0 -- vwuz1=vbuz2_word_vbuc1 lda #0 ldy.z __1 sty.z __2+1 sta.z __2 // __conio.mapbase_offset = MAKEWORD((mapbase)<<1,0) - // [1133] *((unsigned int *)&__conio+1) = screenlayer::$2 -- _deref_pwuc1=vwuz1 + // [1140] *((unsigned int *)&__conio+1) = screenlayer::$2 -- _deref_pwuc1=vwuz1 sta __conio+1 tya sta __conio+1+1 // config & VERA_LAYER_WIDTH_MASK - // [1134] screenlayer::$7 = screenlayer::config#0 & VERA_LAYER_WIDTH_MASK -- vbuz1=vbuz2_band_vbuc1 + // [1141] screenlayer::$7 = screenlayer::config#0 & VERA_LAYER_WIDTH_MASK -- vbuz1=vbuz2_band_vbuc1 lda #VERA_LAYER_WIDTH_MASK and.z config sta.z __7 // (config & VERA_LAYER_WIDTH_MASK) >> 4 - // [1135] screenlayer::$8 = screenlayer::$7 >> 4 -- vbuz1=vbuz1_ror_4 + // [1142] screenlayer::$8 = screenlayer::$7 >> 4 -- vbuz1=vbuz1_ror_4 lda.z __8 lsr lsr @@ -7677,17 +7803,17 @@ screenlayer: { lsr sta.z __8 // __conio.mapwidth = VERA_LAYER_DIM[ (config & VERA_LAYER_WIDTH_MASK) >> 4] - // [1136] *((char *)&__conio+6) = screenlayer::VERA_LAYER_DIM[screenlayer::$8] -- _deref_pbuc1=pbuc2_derefidx_vbuz1 + // [1143] *((char *)&__conio+6) = screenlayer::VERA_LAYER_DIM[screenlayer::$8] -- _deref_pbuc1=pbuc2_derefidx_vbuz1 tay lda VERA_LAYER_DIM,y sta __conio+6 // config & VERA_LAYER_HEIGHT_MASK - // [1137] screenlayer::$5 = screenlayer::config#0 & VERA_LAYER_HEIGHT_MASK -- vbuz1=vbuz1_band_vbuc1 + // [1144] screenlayer::$5 = screenlayer::config#0 & VERA_LAYER_HEIGHT_MASK -- vbuz1=vbuz1_band_vbuc1 lda #VERA_LAYER_HEIGHT_MASK and.z __5 sta.z __5 // (config & VERA_LAYER_HEIGHT_MASK) >> 6 - // [1138] screenlayer::$6 = screenlayer::$5 >> 6 -- vbuz1=vbuz1_ror_6 + // [1145] screenlayer::$6 = screenlayer::$5 >> 6 -- vbuz1=vbuz1_ror_6 lda.z __6 rol rol @@ -7695,14 +7821,14 @@ screenlayer: { and #3 sta.z __6 // __conio.mapheight = VERA_LAYER_DIM[ (config & VERA_LAYER_HEIGHT_MASK) >> 6] - // [1139] *((char *)&__conio+7) = screenlayer::VERA_LAYER_DIM[screenlayer::$6] -- _deref_pbuc1=pbuc2_derefidx_vbuz1 + // [1146] *((char *)&__conio+7) = screenlayer::VERA_LAYER_DIM[screenlayer::$6] -- _deref_pbuc1=pbuc2_derefidx_vbuz1 tay lda VERA_LAYER_DIM,y sta __conio+7 // __conio.rowskip = VERA_LAYER_SKIP[(config & VERA_LAYER_WIDTH_MASK)>>4] - // [1140] screenlayer::$16 = screenlayer::$8 << 1 -- vbuz1=vbuz1_rol_1 + // [1147] screenlayer::$16 = screenlayer::$8 << 1 -- vbuz1=vbuz1_rol_1 asl.z __16 - // [1141] *((unsigned int *)&__conio+8) = screenlayer::VERA_LAYER_SKIP[screenlayer::$16] -- _deref_pwuc1=pwuc2_derefidx_vbuz1 + // [1148] *((unsigned int *)&__conio+8) = screenlayer::VERA_LAYER_SKIP[screenlayer::$16] -- _deref_pwuc1=pwuc2_derefidx_vbuz1 // __conio.rowshift = ((config & VERA_LAYER_WIDTH_MASK)>>4)+6; ldy.z __16 lda VERA_LAYER_SKIP,y @@ -7710,7 +7836,7 @@ screenlayer: { lda VERA_LAYER_SKIP+1,y sta __conio+8+1 // vera_dc_hscale_temp == 0x80 - // [1142] screenlayer::$9 = screenlayer::vera_dc_hscale_temp#0 == $80 -- vboz1=vbum2_eq_vbuc1 + // [1149] screenlayer::$9 = screenlayer::vera_dc_hscale_temp#0 == $80 -- vboz1=vbum2_eq_vbuc1 lda vera_dc_hscale_temp eor #$80 beq !+ @@ -7719,8 +7845,8 @@ screenlayer: { eor #1 sta.z __9 // 40 << (char)(vera_dc_hscale_temp == 0x80) - // [1143] screenlayer::$18 = (char)screenlayer::$9 - // [1144] screenlayer::$10 = $28 << screenlayer::$18 -- vbuz1=vbuc1_rol_vbuz1 + // [1150] screenlayer::$18 = (char)screenlayer::$9 + // [1151] screenlayer::$10 = $28 << screenlayer::$18 -- vbuz1=vbuc1_rol_vbuz1 lda #$28 ldy.z __10 cpy #0 @@ -7732,14 +7858,14 @@ screenlayer: { !e: sta.z __10 // (40 << (char)(vera_dc_hscale_temp == 0x80))-1 - // [1145] screenlayer::$11 = screenlayer::$10 - 1 -- vbuz1=vbuz1_minus_1 + // [1152] screenlayer::$11 = screenlayer::$10 - 1 -- vbuz1=vbuz1_minus_1 dec.z __11 // __conio.width = (40 << (char)(vera_dc_hscale_temp == 0x80))-1 - // [1146] *((char *)&__conio+4) = screenlayer::$11 -- _deref_pbuc1=vbuz1 + // [1153] *((char *)&__conio+4) = screenlayer::$11 -- _deref_pbuc1=vbuz1 lda.z __11 sta __conio+4 // vera_dc_vscale_temp == 0x80 - // [1147] screenlayer::$12 = screenlayer::vera_dc_vscale_temp#0 == $80 -- vboz1=vbum2_eq_vbuc1 + // [1154] screenlayer::$12 = screenlayer::vera_dc_vscale_temp#0 == $80 -- vboz1=vbum2_eq_vbuc1 lda vera_dc_vscale_temp eor #$80 beq !+ @@ -7748,8 +7874,8 @@ screenlayer: { eor #1 sta.z __12 // 30 << (char)(vera_dc_vscale_temp == 0x80) - // [1148] screenlayer::$19 = (char)screenlayer::$12 - // [1149] screenlayer::$13 = $1e << screenlayer::$19 -- vbuz1=vbuc1_rol_vbuz1 + // [1155] screenlayer::$19 = (char)screenlayer::$12 + // [1156] screenlayer::$13 = $1e << screenlayer::$19 -- vbuz1=vbuc1_rol_vbuz1 lda #$1e ldy.z __13 cpy #0 @@ -7761,49 +7887,49 @@ screenlayer: { !e: sta.z __13 // (30 << (char)(vera_dc_vscale_temp == 0x80))-1 - // [1150] screenlayer::$14 = screenlayer::$13 - 1 -- vbuz1=vbuz1_minus_1 + // [1157] screenlayer::$14 = screenlayer::$13 - 1 -- vbuz1=vbuz1_minus_1 dec.z __14 // __conio.height = (30 << (char)(vera_dc_vscale_temp == 0x80))-1 - // [1151] *((char *)&__conio+5) = screenlayer::$14 -- _deref_pbuc1=vbuz1 + // [1158] *((char *)&__conio+5) = screenlayer::$14 -- _deref_pbuc1=vbuz1 lda.z __14 sta __conio+5 // unsigned int mapbase_offset = __conio.mapbase_offset - // [1152] screenlayer::mapbase_offset#0 = *((unsigned int *)&__conio+1) -- vwuz1=_deref_pwuc1 + // [1159] screenlayer::mapbase_offset#0 = *((unsigned int *)&__conio+1) -- vwuz1=_deref_pwuc1 lda __conio+1 sta.z mapbase_offset lda __conio+1+1 sta.z mapbase_offset+1 - // [1153] phi from screenlayer to screenlayer::@1 [phi:screenlayer->screenlayer::@1] - // [1153] phi screenlayer::mapbase_offset#2 = screenlayer::mapbase_offset#0 [phi:screenlayer->screenlayer::@1#0] -- register_copy - // [1153] phi screenlayer::y#2 = 0 [phi:screenlayer->screenlayer::@1#1] -- vbuz1=vbuc1 + // [1160] phi from screenlayer to screenlayer::@1 [phi:screenlayer->screenlayer::@1] + // [1160] phi screenlayer::mapbase_offset#2 = screenlayer::mapbase_offset#0 [phi:screenlayer->screenlayer::@1#0] -- register_copy + // [1160] phi screenlayer::y#2 = 0 [phi:screenlayer->screenlayer::@1#1] -- vbuz1=vbuc1 lda #0 sta.z y // screenlayer::@1 __b1: // for(register char y=0; y<=__conio.height; y++) - // [1154] if(screenlayer::y#2<=*((char *)&__conio+5)) goto screenlayer::@2 -- vbuz1_le__deref_pbuc1_then_la1 + // [1161] if(screenlayer::y#2<=*((char *)&__conio+5)) goto screenlayer::@2 -- vbuz1_le__deref_pbuc1_then_la1 lda __conio+5 cmp.z y bcs __b2 // screenlayer::@return // } - // [1155] return + // [1162] return rts // screenlayer::@2 __b2: // __conio.offsets[y] = mapbase_offset - // [1156] screenlayer::$17 = screenlayer::y#2 << 1 -- vbuz1=vbuz2_rol_1 + // [1163] screenlayer::$17 = screenlayer::y#2 << 1 -- vbuz1=vbuz2_rol_1 lda.z y asl sta.z __17 - // [1157] ((unsigned int *)&__conio+$15)[screenlayer::$17] = screenlayer::mapbase_offset#2 -- pwuc1_derefidx_vbuz1=vwuz2 + // [1164] ((unsigned int *)&__conio+$15)[screenlayer::$17] = screenlayer::mapbase_offset#2 -- pwuc1_derefidx_vbuz1=vwuz2 tay lda.z mapbase_offset sta __conio+$15,y lda.z mapbase_offset+1 sta __conio+$15+1,y // mapbase_offset += __conio.rowskip - // [1158] screenlayer::mapbase_offset#1 = screenlayer::mapbase_offset#2 + *((unsigned int *)&__conio+8) -- vwuz1=vwuz1_plus__deref_pwuc1 + // [1165] screenlayer::mapbase_offset#1 = screenlayer::mapbase_offset#2 + *((unsigned int *)&__conio+8) -- vwuz1=vwuz1_plus__deref_pwuc1 clc lda.z mapbase_offset adc __conio+8 @@ -7812,11 +7938,11 @@ screenlayer: { adc __conio+8+1 sta.z mapbase_offset+1 // for(register char y=0; y<=__conio.height; y++) - // [1159] screenlayer::y#1 = ++ screenlayer::y#2 -- vbuz1=_inc_vbuz1 + // [1166] screenlayer::y#1 = ++ screenlayer::y#2 -- vbuz1=_inc_vbuz1 inc.z y - // [1153] phi from screenlayer::@2 to screenlayer::@1 [phi:screenlayer::@2->screenlayer::@1] - // [1153] phi screenlayer::mapbase_offset#2 = screenlayer::mapbase_offset#1 [phi:screenlayer::@2->screenlayer::@1#0] -- register_copy - // [1153] phi screenlayer::y#2 = screenlayer::y#1 [phi:screenlayer::@2->screenlayer::@1#1] -- register_copy + // [1160] phi from screenlayer::@2 to screenlayer::@1 [phi:screenlayer::@2->screenlayer::@1] + // [1160] phi screenlayer::mapbase_offset#2 = screenlayer::mapbase_offset#1 [phi:screenlayer::@2->screenlayer::@1#0] -- register_copy + // [1160] phi screenlayer::y#2 = screenlayer::y#1 [phi:screenlayer::@2->screenlayer::@1#1] -- register_copy jmp __b1 .segment Data VERA_LAYER_DIM: .byte $1f, $3f, $7f, $ff @@ -7829,324 +7955,324 @@ screenlayer: { // Scroll the entire screen if the cursor is beyond the last line cscroll: { // if(__conio.cursor_y>__conio.height) - // [1160] if(*((char *)&__conio+$e)<=*((char *)&__conio+5)) goto cscroll::@return -- _deref_pbuc1_le__deref_pbuc2_then_la1 + // [1167] if(*((char *)&__conio+$e)<=*((char *)&__conio+5)) goto cscroll::@return -- _deref_pbuc1_le__deref_pbuc2_then_la1 lda __conio+5 cmp __conio+$e bcs __breturn // cscroll::@1 // if(__conio.scroll[__conio.layer]) - // [1161] if(0!=((char *)&__conio+$f)[*((char *)&__conio)]) goto cscroll::@4 -- 0_neq_pbuc1_derefidx_(_deref_pbuc2)_then_la1 + // [1168] if(0!=((char *)&__conio+$f)[*((char *)&__conio)]) goto cscroll::@4 -- 0_neq_pbuc1_derefidx_(_deref_pbuc2)_then_la1 ldy __conio lda __conio+$f,y cmp #0 bne __b4 // cscroll::@2 // if(__conio.cursor_y>__conio.height) - // [1162] if(*((char *)&__conio+$e)<=*((char *)&__conio+5)) goto cscroll::@return -- _deref_pbuc1_le__deref_pbuc2_then_la1 + // [1169] if(*((char *)&__conio+$e)<=*((char *)&__conio+5)) goto cscroll::@return -- _deref_pbuc1_le__deref_pbuc2_then_la1 lda __conio+5 cmp __conio+$e bcs __breturn - // [1163] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3] + // [1170] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3] // cscroll::@3 // gotoxy(0,0) - // [1164] call gotoxy - // [522] phi from cscroll::@3 to gotoxy [phi:cscroll::@3->gotoxy] - // [522] phi gotoxy::y#24 = 0 [phi:cscroll::@3->gotoxy#0] -- vbuz1=vbuc1 + // [1171] call gotoxy + // [529] phi from cscroll::@3 to gotoxy [phi:cscroll::@3->gotoxy] + // [529] phi gotoxy::y#24 = 0 [phi:cscroll::@3->gotoxy#0] -- vbuz1=vbuc1 lda #0 sta.z gotoxy.y - // [522] phi gotoxy::x#24 = 0 [phi:cscroll::@3->gotoxy#1] -- vbuz1=vbuc1 + // [529] phi gotoxy::x#24 = 0 [phi:cscroll::@3->gotoxy#1] -- vbuz1=vbuc1 sta.z gotoxy.x jsr gotoxy // cscroll::@return __breturn: // } - // [1165] return + // [1172] return rts - // [1166] phi from cscroll::@1 to cscroll::@4 [phi:cscroll::@1->cscroll::@4] + // [1173] phi from cscroll::@1 to cscroll::@4 [phi:cscroll::@1->cscroll::@4] // cscroll::@4 __b4: // insertup(1) - // [1167] call insertup + // [1174] call insertup jsr insertup // cscroll::@5 // gotoxy( 0, __conio.height) - // [1168] gotoxy::y#2 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 + // [1175] gotoxy::y#2 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 lda __conio+5 sta.z gotoxy.y - // [1169] call gotoxy - // [522] phi from cscroll::@5 to gotoxy [phi:cscroll::@5->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#2 [phi:cscroll::@5->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = 0 [phi:cscroll::@5->gotoxy#1] -- vbuz1=vbuc1 + // [1176] call gotoxy + // [529] phi from cscroll::@5 to gotoxy [phi:cscroll::@5->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#2 [phi:cscroll::@5->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = 0 [phi:cscroll::@5->gotoxy#1] -- vbuz1=vbuc1 lda #0 sta.z gotoxy.x jsr gotoxy - // [1170] phi from cscroll::@5 to cscroll::@6 [phi:cscroll::@5->cscroll::@6] + // [1177] phi from cscroll::@5 to cscroll::@6 [phi:cscroll::@5->cscroll::@6] // cscroll::@6 // clearline() - // [1171] call clearline + // [1178] call clearline jsr clearline rts } // cputcxy // Move cursor and output one character // Same as "gotoxy (x, y); cputc (c);" -// void cputcxy(__zp($63) char x, __zp($22) char y, __zp($2a) char c) +// void cputcxy(__zp($bd) char x, __zp($af) char y, __zp($2e) char c) cputcxy: { - .label x = $63 - .label y = $22 - .label c = $2a + .label x = $bd + .label y = $af + .label c = $2e // gotoxy(x, y) - // [1173] gotoxy::x#0 = cputcxy::x#68 -- vbuz1=vbuz2 + // [1180] gotoxy::x#0 = cputcxy::x#68 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [1174] gotoxy::y#0 = cputcxy::y#68 -- vbuz1=vbuz2 + // [1181] gotoxy::y#0 = cputcxy::y#68 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [1175] call gotoxy - // [522] phi from cputcxy to gotoxy [phi:cputcxy->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#0 [phi:cputcxy->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = gotoxy::x#0 [phi:cputcxy->gotoxy#1] -- register_copy + // [1182] call gotoxy + // [529] phi from cputcxy to gotoxy [phi:cputcxy->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#0 [phi:cputcxy->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#0 [phi:cputcxy->gotoxy#1] -- register_copy jsr gotoxy // cputcxy::@1 // cputc(c) - // [1176] stackpush(char) = cputcxy::c#68 -- _stackpushbyte_=vbuz1 + // [1183] stackpush(char) = cputcxy::c#68 -- _stackpushbyte_=vbuz1 lda.z c pha - // [1177] callexecute cputc -- call_vprc1 + // [1184] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // cputcxy::@return // } - // [1179] return + // [1186] return rts } // print_chip_line -// void print_chip_line(__zp($2a) char x, __zp($4b) char y, __zp($56) char c) +// void print_chip_line(__zp($48) char x, __zp($2e) char y, __zp($47) char c) print_chip_line: { - .label x = $2a - .label c = $56 - .label y = $4b + .label x = $48 + .label c = $47 + .label y = $2e // gotoxy(x, y) - // [1181] gotoxy::x#4 = print_chip_line::x#12 -- vbuz1=vbuz2 + // [1188] gotoxy::x#4 = print_chip_line::x#12 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [1182] gotoxy::y#4 = print_chip_line::y#12 -- vbuz1=vbuz2 + // [1189] gotoxy::y#4 = print_chip_line::y#12 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [1183] call gotoxy - // [522] phi from print_chip_line to gotoxy [phi:print_chip_line->gotoxy] - // [522] phi gotoxy::y#24 = gotoxy::y#4 [phi:print_chip_line->gotoxy#0] -- register_copy - // [522] phi gotoxy::x#24 = gotoxy::x#4 [phi:print_chip_line->gotoxy#1] -- register_copy + // [1190] call gotoxy + // [529] phi from print_chip_line to gotoxy [phi:print_chip_line->gotoxy] + // [529] phi gotoxy::y#24 = gotoxy::y#4 [phi:print_chip_line->gotoxy#0] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#4 [phi:print_chip_line->gotoxy#1] -- register_copy jsr gotoxy - // [1184] phi from print_chip_line to print_chip_line::@1 [phi:print_chip_line->print_chip_line::@1] + // [1191] phi from print_chip_line to print_chip_line::@1 [phi:print_chip_line->print_chip_line::@1] // print_chip_line::@1 // textcolor(GREY) - // [1185] call textcolor - // [504] phi from print_chip_line::@1 to textcolor [phi:print_chip_line::@1->textcolor] - // [504] phi textcolor::color#24 = GREY [phi:print_chip_line::@1->textcolor#0] -- vbuz1=vbuc1 + // [1192] call textcolor + // [511] phi from print_chip_line::@1 to textcolor [phi:print_chip_line::@1->textcolor] + // [511] phi textcolor::color#24 = GREY [phi:print_chip_line::@1->textcolor#0] -- vbuz1=vbuc1 lda #GREY sta.z textcolor.color jsr textcolor - // [1186] phi from print_chip_line::@1 to print_chip_line::@2 [phi:print_chip_line::@1->print_chip_line::@2] + // [1193] phi from print_chip_line::@1 to print_chip_line::@2 [phi:print_chip_line::@1->print_chip_line::@2] // print_chip_line::@2 // bgcolor(BLUE) - // [1187] call bgcolor - // [509] phi from print_chip_line::@2 to bgcolor [phi:print_chip_line::@2->bgcolor] - // [509] phi bgcolor::color#11 = BLUE [phi:print_chip_line::@2->bgcolor#0] -- vbuz1=vbuc1 + // [1194] call bgcolor + // [516] phi from print_chip_line::@2 to bgcolor [phi:print_chip_line::@2->bgcolor] + // [516] phi bgcolor::color#11 = BLUE [phi:print_chip_line::@2->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // print_chip_line::@3 // cputc(VERA_CHR_UR) - // [1188] stackpush(char) = $7c -- _stackpushbyte_=vbuc1 + // [1195] stackpush(char) = $7c -- _stackpushbyte_=vbuc1 lda #$7c pha - // [1189] callexecute cputc -- call_vprc1 + // [1196] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // textcolor(WHITE) - // [1191] call textcolor - // [504] phi from print_chip_line::@3 to textcolor [phi:print_chip_line::@3->textcolor] - // [504] phi textcolor::color#24 = WHITE [phi:print_chip_line::@3->textcolor#0] -- vbuz1=vbuc1 + // [1198] call textcolor + // [511] phi from print_chip_line::@3 to textcolor [phi:print_chip_line::@3->textcolor] + // [511] phi textcolor::color#24 = WHITE [phi:print_chip_line::@3->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [1192] phi from print_chip_line::@3 to print_chip_line::@4 [phi:print_chip_line::@3->print_chip_line::@4] + // [1199] phi from print_chip_line::@3 to print_chip_line::@4 [phi:print_chip_line::@3->print_chip_line::@4] // print_chip_line::@4 // bgcolor(BLACK) - // [1193] call bgcolor - // [509] phi from print_chip_line::@4 to bgcolor [phi:print_chip_line::@4->bgcolor] - // [509] phi bgcolor::color#11 = BLACK [phi:print_chip_line::@4->bgcolor#0] -- vbuz1=vbuc1 + // [1200] call bgcolor + // [516] phi from print_chip_line::@4 to bgcolor [phi:print_chip_line::@4->bgcolor] + // [516] phi bgcolor::color#11 = BLACK [phi:print_chip_line::@4->bgcolor#0] -- vbuz1=vbuc1 lda #BLACK sta.z bgcolor.color jsr bgcolor // print_chip_line::@5 // cputc(VERA_CHR_SPACE) - // [1194] stackpush(char) = $20 -- _stackpushbyte_=vbuc1 + // [1201] stackpush(char) = $20 -- _stackpushbyte_=vbuc1 lda #$20 pha - // [1195] callexecute cputc -- call_vprc1 + // [1202] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // cputc(c) - // [1197] stackpush(char) = print_chip_line::c#12 -- _stackpushbyte_=vbuz1 + // [1204] stackpush(char) = print_chip_line::c#12 -- _stackpushbyte_=vbuz1 lda.z c pha - // [1198] callexecute cputc -- call_vprc1 + // [1205] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // cputc(VERA_CHR_SPACE) - // [1200] stackpush(char) = $20 -- _stackpushbyte_=vbuc1 + // [1207] stackpush(char) = $20 -- _stackpushbyte_=vbuc1 lda #$20 pha - // [1201] callexecute cputc -- call_vprc1 + // [1208] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // textcolor(GREY) - // [1203] call textcolor - // [504] phi from print_chip_line::@5 to textcolor [phi:print_chip_line::@5->textcolor] - // [504] phi textcolor::color#24 = GREY [phi:print_chip_line::@5->textcolor#0] -- vbuz1=vbuc1 + // [1210] call textcolor + // [511] phi from print_chip_line::@5 to textcolor [phi:print_chip_line::@5->textcolor] + // [511] phi textcolor::color#24 = GREY [phi:print_chip_line::@5->textcolor#0] -- vbuz1=vbuc1 lda #GREY sta.z textcolor.color jsr textcolor - // [1204] phi from print_chip_line::@5 to print_chip_line::@6 [phi:print_chip_line::@5->print_chip_line::@6] + // [1211] phi from print_chip_line::@5 to print_chip_line::@6 [phi:print_chip_line::@5->print_chip_line::@6] // print_chip_line::@6 // bgcolor(BLUE) - // [1205] call bgcolor - // [509] phi from print_chip_line::@6 to bgcolor [phi:print_chip_line::@6->bgcolor] - // [509] phi bgcolor::color#11 = BLUE [phi:print_chip_line::@6->bgcolor#0] -- vbuz1=vbuc1 + // [1212] call bgcolor + // [516] phi from print_chip_line::@6 to bgcolor [phi:print_chip_line::@6->bgcolor] + // [516] phi bgcolor::color#11 = BLUE [phi:print_chip_line::@6->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // print_chip_line::@7 // cputc(VERA_CHR_UL) - // [1206] stackpush(char) = $7e -- _stackpushbyte_=vbuc1 + // [1213] stackpush(char) = $7e -- _stackpushbyte_=vbuc1 lda #$7e pha - // [1207] callexecute cputc -- call_vprc1 + // [1214] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // print_chip_line::@return // } - // [1209] return + // [1216] return rts } // print_chip_end -// void print_chip_end(__zp($51) char x, char y) +// void print_chip_end(__zp($68) char x, char y) print_chip_end: { .const y = $36 - .label x = $51 + .label x = $68 // gotoxy(x, y) - // [1210] gotoxy::x#5 = print_chip_end::x#0 -- vbuz1=vbuz2 + // [1217] gotoxy::x#5 = print_chip_end::x#0 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [1211] call gotoxy - // [522] phi from print_chip_end to gotoxy [phi:print_chip_end->gotoxy] - // [522] phi gotoxy::y#24 = print_chip_end::y#0 [phi:print_chip_end->gotoxy#0] -- vbuz1=vbuc1 + // [1218] call gotoxy + // [529] phi from print_chip_end to gotoxy [phi:print_chip_end->gotoxy] + // [529] phi gotoxy::y#24 = print_chip_end::y#0 [phi:print_chip_end->gotoxy#0] -- vbuz1=vbuc1 lda #y sta.z gotoxy.y - // [522] phi gotoxy::x#24 = gotoxy::x#5 [phi:print_chip_end->gotoxy#1] -- register_copy + // [529] phi gotoxy::x#24 = gotoxy::x#5 [phi:print_chip_end->gotoxy#1] -- register_copy jsr gotoxy - // [1212] phi from print_chip_end to print_chip_end::@1 [phi:print_chip_end->print_chip_end::@1] + // [1219] phi from print_chip_end to print_chip_end::@1 [phi:print_chip_end->print_chip_end::@1] // print_chip_end::@1 // textcolor(GREY) - // [1213] call textcolor - // [504] phi from print_chip_end::@1 to textcolor [phi:print_chip_end::@1->textcolor] - // [504] phi textcolor::color#24 = GREY [phi:print_chip_end::@1->textcolor#0] -- vbuz1=vbuc1 + // [1220] call textcolor + // [511] phi from print_chip_end::@1 to textcolor [phi:print_chip_end::@1->textcolor] + // [511] phi textcolor::color#24 = GREY [phi:print_chip_end::@1->textcolor#0] -- vbuz1=vbuc1 lda #GREY sta.z textcolor.color jsr textcolor - // [1214] phi from print_chip_end::@1 to print_chip_end::@2 [phi:print_chip_end::@1->print_chip_end::@2] + // [1221] phi from print_chip_end::@1 to print_chip_end::@2 [phi:print_chip_end::@1->print_chip_end::@2] // print_chip_end::@2 // bgcolor(BLUE) - // [1215] call bgcolor - // [509] phi from print_chip_end::@2 to bgcolor [phi:print_chip_end::@2->bgcolor] - // [509] phi bgcolor::color#11 = BLUE [phi:print_chip_end::@2->bgcolor#0] -- vbuz1=vbuc1 + // [1222] call bgcolor + // [516] phi from print_chip_end::@2 to bgcolor [phi:print_chip_end::@2->bgcolor] + // [516] phi bgcolor::color#11 = BLUE [phi:print_chip_end::@2->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // print_chip_end::@3 // cputc(VERA_CHR_UR) - // [1216] stackpush(char) = $7c -- _stackpushbyte_=vbuc1 + // [1223] stackpush(char) = $7c -- _stackpushbyte_=vbuc1 lda #$7c pha - // [1217] callexecute cputc -- call_vprc1 + // [1224] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // textcolor(BLUE) - // [1219] call textcolor - // [504] phi from print_chip_end::@3 to textcolor [phi:print_chip_end::@3->textcolor] - // [504] phi textcolor::color#24 = BLUE [phi:print_chip_end::@3->textcolor#0] -- vbuz1=vbuc1 + // [1226] call textcolor + // [511] phi from print_chip_end::@3 to textcolor [phi:print_chip_end::@3->textcolor] + // [511] phi textcolor::color#24 = BLUE [phi:print_chip_end::@3->textcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z textcolor.color jsr textcolor - // [1220] phi from print_chip_end::@3 to print_chip_end::@4 [phi:print_chip_end::@3->print_chip_end::@4] + // [1227] phi from print_chip_end::@3 to print_chip_end::@4 [phi:print_chip_end::@3->print_chip_end::@4] // print_chip_end::@4 // bgcolor(BLACK) - // [1221] call bgcolor - // [509] phi from print_chip_end::@4 to bgcolor [phi:print_chip_end::@4->bgcolor] - // [509] phi bgcolor::color#11 = BLACK [phi:print_chip_end::@4->bgcolor#0] -- vbuz1=vbuc1 + // [1228] call bgcolor + // [516] phi from print_chip_end::@4 to bgcolor [phi:print_chip_end::@4->bgcolor] + // [516] phi bgcolor::color#11 = BLACK [phi:print_chip_end::@4->bgcolor#0] -- vbuz1=vbuc1 lda #BLACK sta.z bgcolor.color jsr bgcolor // print_chip_end::@5 // cputc(VERA_CHR_HL) - // [1222] stackpush(char) = $62 -- _stackpushbyte_=vbuc1 + // [1229] stackpush(char) = $62 -- _stackpushbyte_=vbuc1 lda #$62 pha - // [1223] callexecute cputc -- call_vprc1 + // [1230] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla - // [1225] stackpush(char) = $62 -- _stackpushbyte_=vbuc1 + // [1232] stackpush(char) = $62 -- _stackpushbyte_=vbuc1 lda #$62 pha - // [1226] callexecute cputc -- call_vprc1 + // [1233] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla - // [1228] stackpush(char) = $62 -- _stackpushbyte_=vbuc1 + // [1235] stackpush(char) = $62 -- _stackpushbyte_=vbuc1 lda #$62 pha - // [1229] callexecute cputc -- call_vprc1 + // [1236] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // textcolor(GREY) - // [1231] call textcolor - // [504] phi from print_chip_end::@5 to textcolor [phi:print_chip_end::@5->textcolor] - // [504] phi textcolor::color#24 = GREY [phi:print_chip_end::@5->textcolor#0] -- vbuz1=vbuc1 + // [1238] call textcolor + // [511] phi from print_chip_end::@5 to textcolor [phi:print_chip_end::@5->textcolor] + // [511] phi textcolor::color#24 = GREY [phi:print_chip_end::@5->textcolor#0] -- vbuz1=vbuc1 lda #GREY sta.z textcolor.color jsr textcolor - // [1232] phi from print_chip_end::@5 to print_chip_end::@6 [phi:print_chip_end::@5->print_chip_end::@6] + // [1239] phi from print_chip_end::@5 to print_chip_end::@6 [phi:print_chip_end::@5->print_chip_end::@6] // print_chip_end::@6 // bgcolor(BLUE) - // [1233] call bgcolor - // [509] phi from print_chip_end::@6 to bgcolor [phi:print_chip_end::@6->bgcolor] - // [509] phi bgcolor::color#11 = BLUE [phi:print_chip_end::@6->bgcolor#0] -- vbuz1=vbuc1 + // [1240] call bgcolor + // [516] phi from print_chip_end::@6 to bgcolor [phi:print_chip_end::@6->bgcolor] + // [516] phi bgcolor::color#11 = BLUE [phi:print_chip_end::@6->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // print_chip_end::@7 // cputc(VERA_CHR_UL) - // [1234] stackpush(char) = $7e -- _stackpushbyte_=vbuc1 + // [1241] stackpush(char) = $7e -- _stackpushbyte_=vbuc1 lda #$7e pha - // [1235] callexecute cputc -- call_vprc1 + // [1242] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // print_chip_end::@return // } - // [1237] return + // [1244] return rts } // getin @@ -8156,9 +8282,9 @@ print_chip_end: { * @return char The character read. */ getin: { - .label return = $ae + .label return = $af // __mem unsigned char ch - // [1238] getin::ch = 0 -- vbum1=vbuc1 + // [1245] getin::ch = 0 -- vbum1=vbuc1 lda #0 sta ch // asm @@ -8166,12 +8292,12 @@ getin: { jsr $ffe4 sta ch // return ch; - // [1240] getin::return#0 = getin::ch -- vbuz1=vbum2 + // [1247] getin::return#0 = getin::ch -- vbuz1=vbum2 sta.z return // getin::@return // } - // [1241] getin::return#1 = getin::return#0 - // [1242] return + // [1248] getin::return#1 = getin::return#0 + // [1249] return rts .segment Data ch: .byte 0 @@ -8183,149 +8309,149 @@ getin: { // - value : The number to be converted to RADIX // - buffer : receives the string representing the number and zero-termination. // - radix : The radix to convert the number to (from the enum RADIX) -// void utoa(__zp($28) unsigned int value, __zp($3c) char *buffer, __zp($ae) char radix) +// void utoa(__zp($27) unsigned int value, __zp($3e) char *buffer, __zp($76) char radix) utoa: { - .label __4 = $51 - .label __10 = $22 - .label __11 = $32 + .label __4 = $34 + .label __10 = $2e + .label __11 = $33 .label digit_value = $2c - .label buffer = $3c - .label digit = $4b - .label value = $28 - .label radix = $ae - .label started = $56 - .label max_digits = $47 - .label digit_values = $61 + .label buffer = $3e + .label digit = $47 + .label value = $27 + .label radix = $76 + .label started = $4f + .label max_digits = $5c + .label digit_values = $3a // if(radix==DECIMAL) - // [1244] if(utoa::radix#2==DECIMAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [1251] if(utoa::radix#2==DECIMAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #DECIMAL cmp.z radix beq __b2 // utoa::@2 // if(radix==HEXADECIMAL) - // [1245] if(utoa::radix#2==HEXADECIMAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [1252] if(utoa::radix#2==HEXADECIMAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #HEXADECIMAL cmp.z radix beq __b3 // utoa::@3 // if(radix==OCTAL) - // [1246] if(utoa::radix#2==OCTAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [1253] if(utoa::radix#2==OCTAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #OCTAL cmp.z radix beq __b4 // utoa::@4 // if(radix==BINARY) - // [1247] if(utoa::radix#2==BINARY) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [1254] if(utoa::radix#2==BINARY) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #BINARY cmp.z radix beq __b5 // utoa::@5 // *buffer++ = 'e' - // [1248] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e'pm -- _deref_pbuc1=vbuc2 + // [1255] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e'pm -- _deref_pbuc1=vbuc2 // Unknown radix lda #'e' sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS // *buffer++ = 'r' - // [1249] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'pm -- _deref_pbuc1=vbuc2 + // [1256] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'pm -- _deref_pbuc1=vbuc2 lda #'r' sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1 - // [1250] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r'pm -- _deref_pbuc1=vbuc2 + // [1257] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r'pm -- _deref_pbuc1=vbuc2 sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2 // *buffer = 0 - // [1251] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 + // [1258] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3 // utoa::@return // } - // [1252] return + // [1259] return rts - // [1253] phi from utoa to utoa::@1 [phi:utoa->utoa::@1] + // [1260] phi from utoa to utoa::@1 [phi:utoa->utoa::@1] __b2: - // [1253] phi utoa::digit_values#8 = RADIX_DECIMAL_VALUES [phi:utoa->utoa::@1#0] -- pwuz1=pwuc1 + // [1260] phi utoa::digit_values#8 = RADIX_DECIMAL_VALUES [phi:utoa->utoa::@1#0] -- pwuz1=pwuc1 lda #RADIX_DECIMAL_VALUES sta.z digit_values+1 - // [1253] phi utoa::max_digits#7 = 5 [phi:utoa->utoa::@1#1] -- vbuz1=vbuc1 + // [1260] phi utoa::max_digits#7 = 5 [phi:utoa->utoa::@1#1] -- vbuz1=vbuc1 lda #5 sta.z max_digits jmp __b1 - // [1253] phi from utoa::@2 to utoa::@1 [phi:utoa::@2->utoa::@1] + // [1260] phi from utoa::@2 to utoa::@1 [phi:utoa::@2->utoa::@1] __b3: - // [1253] phi utoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES [phi:utoa::@2->utoa::@1#0] -- pwuz1=pwuc1 + // [1260] phi utoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES [phi:utoa::@2->utoa::@1#0] -- pwuz1=pwuc1 lda #RADIX_HEXADECIMAL_VALUES sta.z digit_values+1 - // [1253] phi utoa::max_digits#7 = 4 [phi:utoa::@2->utoa::@1#1] -- vbuz1=vbuc1 + // [1260] phi utoa::max_digits#7 = 4 [phi:utoa::@2->utoa::@1#1] -- vbuz1=vbuc1 lda #4 sta.z max_digits jmp __b1 - // [1253] phi from utoa::@3 to utoa::@1 [phi:utoa::@3->utoa::@1] + // [1260] phi from utoa::@3 to utoa::@1 [phi:utoa::@3->utoa::@1] __b4: - // [1253] phi utoa::digit_values#8 = RADIX_OCTAL_VALUES [phi:utoa::@3->utoa::@1#0] -- pwuz1=pwuc1 + // [1260] phi utoa::digit_values#8 = RADIX_OCTAL_VALUES [phi:utoa::@3->utoa::@1#0] -- pwuz1=pwuc1 lda #RADIX_OCTAL_VALUES sta.z digit_values+1 - // [1253] phi utoa::max_digits#7 = 6 [phi:utoa::@3->utoa::@1#1] -- vbuz1=vbuc1 + // [1260] phi utoa::max_digits#7 = 6 [phi:utoa::@3->utoa::@1#1] -- vbuz1=vbuc1 lda #6 sta.z max_digits jmp __b1 - // [1253] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1] + // [1260] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1] __b5: - // [1253] phi utoa::digit_values#8 = RADIX_BINARY_VALUES [phi:utoa::@4->utoa::@1#0] -- pwuz1=pwuc1 + // [1260] phi utoa::digit_values#8 = RADIX_BINARY_VALUES [phi:utoa::@4->utoa::@1#0] -- pwuz1=pwuc1 lda #RADIX_BINARY_VALUES sta.z digit_values+1 - // [1253] phi utoa::max_digits#7 = $10 [phi:utoa::@4->utoa::@1#1] -- vbuz1=vbuc1 + // [1260] phi utoa::max_digits#7 = $10 [phi:utoa::@4->utoa::@1#1] -- vbuz1=vbuc1 lda #$10 sta.z max_digits // utoa::@1 __b1: - // [1254] phi from utoa::@1 to utoa::@6 [phi:utoa::@1->utoa::@6] - // [1254] phi utoa::buffer#10 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa::@1->utoa::@6#0] -- pbuz1=pbuc1 + // [1261] phi from utoa::@1 to utoa::@6 [phi:utoa::@1->utoa::@6] + // [1261] phi utoa::buffer#10 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa::@1->utoa::@6#0] -- pbuz1=pbuc1 lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS sta.z buffer+1 - // [1254] phi utoa::started#2 = 0 [phi:utoa::@1->utoa::@6#1] -- vbuz1=vbuc1 + // [1261] phi utoa::started#2 = 0 [phi:utoa::@1->utoa::@6#1] -- vbuz1=vbuc1 lda #0 sta.z started - // [1254] phi utoa::value#3 = utoa::value#10 [phi:utoa::@1->utoa::@6#2] -- register_copy - // [1254] phi utoa::digit#2 = 0 [phi:utoa::@1->utoa::@6#3] -- vbuz1=vbuc1 + // [1261] phi utoa::value#3 = utoa::value#10 [phi:utoa::@1->utoa::@6#2] -- register_copy + // [1261] phi utoa::digit#2 = 0 [phi:utoa::@1->utoa::@6#3] -- vbuz1=vbuc1 sta.z digit // utoa::@6 __b6: // max_digits-1 - // [1255] utoa::$4 = utoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 + // [1262] utoa::$4 = utoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 ldx.z max_digits dex stx.z __4 // for( char digit=0; digit= digit_value) - // [1263] if(0!=utoa::started#2) goto utoa::@10 -- 0_neq_vbuz1_then_la1 + // [1270] if(0!=utoa::started#2) goto utoa::@10 -- 0_neq_vbuz1_then_la1 lda.z started bne __b10 // utoa::@12 - // [1264] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@10 -- vwuz1_ge_vwuz2_then_la1 + // [1271] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@10 -- vwuz1_ge_vwuz2_then_la1 lda.z digit_value+1 cmp.z value+1 bne !+ @@ -8358,134 +8484,134 @@ utoa: { beq __b10 !: bcc __b10 - // [1265] phi from utoa::@12 to utoa::@9 [phi:utoa::@12->utoa::@9] - // [1265] phi utoa::buffer#15 = utoa::buffer#10 [phi:utoa::@12->utoa::@9#0] -- register_copy - // [1265] phi utoa::started#4 = utoa::started#2 [phi:utoa::@12->utoa::@9#1] -- register_copy - // [1265] phi utoa::value#7 = utoa::value#3 [phi:utoa::@12->utoa::@9#2] -- register_copy + // [1272] phi from utoa::@12 to utoa::@9 [phi:utoa::@12->utoa::@9] + // [1272] phi utoa::buffer#15 = utoa::buffer#10 [phi:utoa::@12->utoa::@9#0] -- register_copy + // [1272] phi utoa::started#4 = utoa::started#2 [phi:utoa::@12->utoa::@9#1] -- register_copy + // [1272] phi utoa::value#7 = utoa::value#3 [phi:utoa::@12->utoa::@9#2] -- register_copy // utoa::@9 __b9: // for( char digit=0; digitutoa::@6] - // [1254] phi utoa::buffer#10 = utoa::buffer#15 [phi:utoa::@9->utoa::@6#0] -- register_copy - // [1254] phi utoa::started#2 = utoa::started#4 [phi:utoa::@9->utoa::@6#1] -- register_copy - // [1254] phi utoa::value#3 = utoa::value#7 [phi:utoa::@9->utoa::@6#2] -- register_copy - // [1254] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@9->utoa::@6#3] -- register_copy + // [1261] phi from utoa::@9 to utoa::@6 [phi:utoa::@9->utoa::@6] + // [1261] phi utoa::buffer#10 = utoa::buffer#15 [phi:utoa::@9->utoa::@6#0] -- register_copy + // [1261] phi utoa::started#2 = utoa::started#4 [phi:utoa::@9->utoa::@6#1] -- register_copy + // [1261] phi utoa::value#3 = utoa::value#7 [phi:utoa::@9->utoa::@6#2] -- register_copy + // [1261] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@9->utoa::@6#3] -- register_copy jmp __b6 // utoa::@10 __b10: // utoa_append(buffer++, value, digit_value) - // [1267] utoa_append::buffer#0 = utoa::buffer#10 -- pbuz1=pbuz2 + // [1274] utoa_append::buffer#0 = utoa::buffer#10 -- pbuz1=pbuz2 lda.z buffer sta.z utoa_append.buffer lda.z buffer+1 sta.z utoa_append.buffer+1 - // [1268] utoa_append::value#0 = utoa::value#3 - // [1269] utoa_append::sub#0 = utoa::digit_value#0 - // [1270] call utoa_append - // [1521] phi from utoa::@10 to utoa_append [phi:utoa::@10->utoa_append] + // [1275] utoa_append::value#0 = utoa::value#3 + // [1276] utoa_append::sub#0 = utoa::digit_value#0 + // [1277] call utoa_append + // [1520] phi from utoa::@10 to utoa_append [phi:utoa::@10->utoa_append] jsr utoa_append // utoa_append(buffer++, value, digit_value) - // [1271] utoa_append::return#0 = utoa_append::value#2 + // [1278] utoa_append::return#0 = utoa_append::value#2 // utoa::@11 // value = utoa_append(buffer++, value, digit_value) - // [1272] utoa::value#0 = utoa_append::return#0 + // [1279] utoa::value#0 = utoa_append::return#0 // value = utoa_append(buffer++, value, digit_value); - // [1273] utoa::buffer#4 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1 + // [1280] utoa::buffer#4 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1 inc.z buffer bne !+ inc.z buffer+1 !: - // [1265] phi from utoa::@11 to utoa::@9 [phi:utoa::@11->utoa::@9] - // [1265] phi utoa::buffer#15 = utoa::buffer#4 [phi:utoa::@11->utoa::@9#0] -- register_copy - // [1265] phi utoa::started#4 = 1 [phi:utoa::@11->utoa::@9#1] -- vbuz1=vbuc1 + // [1272] phi from utoa::@11 to utoa::@9 [phi:utoa::@11->utoa::@9] + // [1272] phi utoa::buffer#15 = utoa::buffer#4 [phi:utoa::@11->utoa::@9#0] -- register_copy + // [1272] phi utoa::started#4 = 1 [phi:utoa::@11->utoa::@9#1] -- vbuz1=vbuc1 lda #1 sta.z started - // [1265] phi utoa::value#7 = utoa::value#0 [phi:utoa::@11->utoa::@9#2] -- register_copy + // [1272] phi utoa::value#7 = utoa::value#0 [phi:utoa::@11->utoa::@9#2] -- register_copy jmp __b9 } // printf_number_buffer // Print the contents of the number buffer using a specific format. // This handles minimum length, zero-filling, and left/right justification from the format -// void printf_number_buffer(__zp($6d) void (*putc)(char), __zp($46) char buffer_sign, char *buffer_digits, __zp($2b) char format_min_length, __zp($4e) char format_justify_left, char format_sign_always, __zp($af) char format_zero_padding, __zp($55) char format_upper_case, char format_radix) +// void printf_number_buffer(__zp($61) void (*putc)(char), __zp($57) char buffer_sign, char *buffer_digits, __zp($78) char format_min_length, __zp($4f) char format_justify_left, char format_sign_always, __zp($77) char format_zero_padding, __zp($34) char format_upper_case, char format_radix) printf_number_buffer: { - .label __19 = $33 - .label buffer_sign = $46 - .label format_zero_padding = $af - .label putc = $6d - .label format_min_length = $2b - .label len = $32 - .label padding = $32 - .label format_justify_left = $4e - .label format_upper_case = $55 + .label __19 = $35 + .label buffer_sign = $57 + .label format_zero_padding = $77 + .label putc = $61 + .label format_min_length = $78 + .label len = $46 + .label padding = $46 + .label format_justify_left = $4f + .label format_upper_case = $34 // if(format.min_length) - // [1275] if(0==printf_number_buffer::format_min_length#4) goto printf_number_buffer::@1 -- 0_eq_vbuz1_then_la1 + // [1282] if(0==printf_number_buffer::format_min_length#4) goto printf_number_buffer::@1 -- 0_eq_vbuz1_then_la1 lda.z format_min_length beq __b6 - // [1276] phi from printf_number_buffer to printf_number_buffer::@6 [phi:printf_number_buffer->printf_number_buffer::@6] + // [1283] phi from printf_number_buffer to printf_number_buffer::@6 [phi:printf_number_buffer->printf_number_buffer::@6] // printf_number_buffer::@6 // strlen(buffer.digits) - // [1277] call strlen - // [1389] phi from printf_number_buffer::@6 to strlen [phi:printf_number_buffer::@6->strlen] - // [1389] phi strlen::str#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@6->strlen#0] -- pbuz1=pbuc1 + // [1284] call strlen + // [1396] phi from printf_number_buffer::@6 to strlen [phi:printf_number_buffer::@6->strlen] + // [1396] phi strlen::str#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@6->strlen#0] -- pbuz1=pbuc1 lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS sta.z strlen.str+1 jsr strlen // strlen(buffer.digits) - // [1278] strlen::return#3 = strlen::len#2 + // [1285] strlen::return#3 = strlen::len#2 // printf_number_buffer::@14 - // [1279] printf_number_buffer::$19 = strlen::return#3 + // [1286] printf_number_buffer::$19 = strlen::return#3 // signed char len = (signed char)strlen(buffer.digits) - // [1280] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19 -- vbsz1=_sbyte_vwuz2 + // [1287] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19 -- vbsz1=_sbyte_vwuz2 // There is a minimum length - work out the padding lda.z __19 sta.z len // if(buffer.sign) - // [1281] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 -- 0_eq_vbuz1_then_la1 + // [1288] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 -- 0_eq_vbuz1_then_la1 lda.z buffer_sign beq __b13 // printf_number_buffer::@7 // len++; - // [1282] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0 -- vbsz1=_inc_vbsz1 + // [1289] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0 -- vbsz1=_inc_vbsz1 inc.z len - // [1283] phi from printf_number_buffer::@14 printf_number_buffer::@7 to printf_number_buffer::@13 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13] - // [1283] phi printf_number_buffer::len#2 = printf_number_buffer::len#0 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13#0] -- register_copy + // [1290] phi from printf_number_buffer::@14 printf_number_buffer::@7 to printf_number_buffer::@13 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13] + // [1290] phi printf_number_buffer::len#2 = printf_number_buffer::len#0 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13#0] -- register_copy // printf_number_buffer::@13 __b13: // padding = (signed char)format.min_length - len - // [1284] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#4 - printf_number_buffer::len#2 -- vbsz1=vbsz2_minus_vbsz1 + // [1291] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#4 - printf_number_buffer::len#2 -- vbsz1=vbsz2_minus_vbsz1 lda.z format_min_length sec sbc.z padding sta.z padding // if(padding<0) - // [1285] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 -- vbsz1_ge_0_then_la1 + // [1292] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 -- vbsz1_ge_0_then_la1 cmp #0 bpl __b1 - // [1287] phi from printf_number_buffer printf_number_buffer::@13 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1] + // [1294] phi from printf_number_buffer printf_number_buffer::@13 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1] __b6: - // [1287] phi printf_number_buffer::padding#10 = 0 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1#0] -- vbsz1=vbsc1 + // [1294] phi printf_number_buffer::padding#10 = 0 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1#0] -- vbsz1=vbsc1 lda #0 sta.z padding - // [1286] phi from printf_number_buffer::@13 to printf_number_buffer::@21 [phi:printf_number_buffer::@13->printf_number_buffer::@21] + // [1293] phi from printf_number_buffer::@13 to printf_number_buffer::@21 [phi:printf_number_buffer::@13->printf_number_buffer::@21] // printf_number_buffer::@21 - // [1287] phi from printf_number_buffer::@21 to printf_number_buffer::@1 [phi:printf_number_buffer::@21->printf_number_buffer::@1] - // [1287] phi printf_number_buffer::padding#10 = printf_number_buffer::padding#1 [phi:printf_number_buffer::@21->printf_number_buffer::@1#0] -- register_copy + // [1294] phi from printf_number_buffer::@21 to printf_number_buffer::@1 [phi:printf_number_buffer::@21->printf_number_buffer::@1] + // [1294] phi printf_number_buffer::padding#10 = printf_number_buffer::padding#1 [phi:printf_number_buffer::@21->printf_number_buffer::@1#0] -- register_copy // printf_number_buffer::@1 __b1: // if(!format.justify_left && !format.zero_padding && padding) - // [1288] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 + // [1295] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 lda.z format_justify_left bne __b2 // printf_number_buffer::@17 - // [1289] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 + // [1296] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 lda.z format_zero_padding bne __b2 // printf_number_buffer::@16 - // [1290] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 -- 0_neq_vbsz1_then_la1 + // [1297] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 -- 0_neq_vbsz1_then_la1 lda.z padding cmp #0 bne __b8 @@ -8493,44 +8619,44 @@ printf_number_buffer: { // printf_number_buffer::@8 __b8: // printf_padding(putc, ' ',(char)padding) - // [1291] printf_padding::putc#0 = printf_number_buffer::putc#10 -- pprz1=pprz2 + // [1298] printf_padding::putc#0 = printf_number_buffer::putc#10 -- pprz1=pprz2 lda.z putc sta.z printf_padding.putc lda.z putc+1 sta.z printf_padding.putc+1 - // [1292] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 + // [1299] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 lda.z padding sta.z printf_padding.length - // [1293] call printf_padding - // [1395] phi from printf_number_buffer::@8 to printf_padding [phi:printf_number_buffer::@8->printf_padding] - // [1395] phi printf_padding::putc#7 = printf_padding::putc#0 [phi:printf_number_buffer::@8->printf_padding#0] -- register_copy - // [1395] phi printf_padding::pad#7 = ' 'pm [phi:printf_number_buffer::@8->printf_padding#1] -- vbuz1=vbuc1 + // [1300] call printf_padding + // [1402] phi from printf_number_buffer::@8 to printf_padding [phi:printf_number_buffer::@8->printf_padding] + // [1402] phi printf_padding::putc#7 = printf_padding::putc#0 [phi:printf_number_buffer::@8->printf_padding#0] -- register_copy + // [1402] phi printf_padding::pad#7 = ' 'pm [phi:printf_number_buffer::@8->printf_padding#1] -- vbuz1=vbuc1 lda #' ' sta.z printf_padding.pad - // [1395] phi printf_padding::length#6 = printf_padding::length#0 [phi:printf_number_buffer::@8->printf_padding#2] -- register_copy + // [1402] phi printf_padding::length#6 = printf_padding::length#0 [phi:printf_number_buffer::@8->printf_padding#2] -- register_copy jsr printf_padding // printf_number_buffer::@2 __b2: // if(buffer.sign) - // [1294] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- 0_eq_vbuz1_then_la1 + // [1301] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- 0_eq_vbuz1_then_la1 lda.z buffer_sign beq __b3 // printf_number_buffer::@9 // putc(buffer.sign) - // [1295] stackpush(char) = printf_number_buffer::buffer_sign#10 -- _stackpushbyte_=vbuz1 + // [1302] stackpush(char) = printf_number_buffer::buffer_sign#10 -- _stackpushbyte_=vbuz1 pha - // [1296] callexecute *printf_number_buffer::putc#10 -- call__deref_pprz1 + // [1303] callexecute *printf_number_buffer::putc#10 -- call__deref_pprz1 jsr icall28 // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // printf_number_buffer::@3 __b3: // if(format.zero_padding && padding) - // [1298] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- 0_eq_vbuz1_then_la1 + // [1305] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- 0_eq_vbuz1_then_la1 lda.z format_zero_padding beq __b4 // printf_number_buffer::@18 - // [1299] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 -- 0_neq_vbsz1_then_la1 + // [1306] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 -- 0_neq_vbsz1_then_la1 lda.z padding cmp #0 bne __b10 @@ -8538,46 +8664,46 @@ printf_number_buffer: { // printf_number_buffer::@10 __b10: // printf_padding(putc, '0',(char)padding) - // [1300] printf_padding::putc#1 = printf_number_buffer::putc#10 -- pprz1=pprz2 + // [1307] printf_padding::putc#1 = printf_number_buffer::putc#10 -- pprz1=pprz2 lda.z putc sta.z printf_padding.putc lda.z putc+1 sta.z printf_padding.putc+1 - // [1301] printf_padding::length#1 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 + // [1308] printf_padding::length#1 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 lda.z padding sta.z printf_padding.length - // [1302] call printf_padding - // [1395] phi from printf_number_buffer::@10 to printf_padding [phi:printf_number_buffer::@10->printf_padding] - // [1395] phi printf_padding::putc#7 = printf_padding::putc#1 [phi:printf_number_buffer::@10->printf_padding#0] -- register_copy - // [1395] phi printf_padding::pad#7 = '0'pm [phi:printf_number_buffer::@10->printf_padding#1] -- vbuz1=vbuc1 + // [1309] call printf_padding + // [1402] phi from printf_number_buffer::@10 to printf_padding [phi:printf_number_buffer::@10->printf_padding] + // [1402] phi printf_padding::putc#7 = printf_padding::putc#1 [phi:printf_number_buffer::@10->printf_padding#0] -- register_copy + // [1402] phi printf_padding::pad#7 = '0'pm [phi:printf_number_buffer::@10->printf_padding#1] -- vbuz1=vbuc1 lda #'0' sta.z printf_padding.pad - // [1395] phi printf_padding::length#6 = printf_padding::length#1 [phi:printf_number_buffer::@10->printf_padding#2] -- register_copy + // [1402] phi printf_padding::length#6 = printf_padding::length#1 [phi:printf_number_buffer::@10->printf_padding#2] -- register_copy jsr printf_padding // printf_number_buffer::@4 __b4: // if(format.upper_case) - // [1303] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 -- 0_eq_vbuz1_then_la1 + // [1310] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 -- 0_eq_vbuz1_then_la1 lda.z format_upper_case beq __b5 - // [1304] phi from printf_number_buffer::@4 to printf_number_buffer::@11 [phi:printf_number_buffer::@4->printf_number_buffer::@11] + // [1311] phi from printf_number_buffer::@4 to printf_number_buffer::@11 [phi:printf_number_buffer::@4->printf_number_buffer::@11] // printf_number_buffer::@11 // strupr(buffer.digits) - // [1305] call strupr - // [1528] phi from printf_number_buffer::@11 to strupr [phi:printf_number_buffer::@11->strupr] + // [1312] call strupr + // [1527] phi from printf_number_buffer::@11 to strupr [phi:printf_number_buffer::@11->strupr] jsr strupr // printf_number_buffer::@5 __b5: // printf_str(putc, buffer.digits) - // [1306] printf_str::putc#0 = printf_number_buffer::putc#10 -- pprz1=pprz2 + // [1313] printf_str::putc#0 = printf_number_buffer::putc#10 -- pprz1=pprz2 lda.z putc sta.z printf_str.putc lda.z putc+1 sta.z printf_str.putc+1 - // [1307] call printf_str - // [750] phi from printf_number_buffer::@5 to printf_str [phi:printf_number_buffer::@5->printf_str] - // [750] phi printf_str::putc#33 = printf_str::putc#0 [phi:printf_number_buffer::@5->printf_str#0] -- register_copy - // [750] phi printf_str::s#33 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->printf_str#1] -- pbuz1=pbuc1 + // [1314] call printf_str + // [757] phi from printf_number_buffer::@5 to printf_str [phi:printf_number_buffer::@5->printf_str] + // [757] phi printf_str::putc#33 = printf_str::putc#0 [phi:printf_number_buffer::@5->printf_str#0] -- register_copy + // [757] phi printf_str::s#33 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->printf_str#1] -- pbuz1=pbuc1 lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS @@ -8585,15 +8711,15 @@ printf_number_buffer: { jsr printf_str // printf_number_buffer::@15 // if(format.justify_left && !format.zero_padding && padding) - // [1308] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return -- 0_eq_vbuz1_then_la1 + // [1315] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return -- 0_eq_vbuz1_then_la1 lda.z format_justify_left beq __breturn // printf_number_buffer::@20 - // [1309] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return -- 0_neq_vbuz1_then_la1 + // [1316] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return -- 0_neq_vbuz1_then_la1 lda.z format_zero_padding bne __breturn // printf_number_buffer::@19 - // [1310] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 -- 0_neq_vbsz1_then_la1 + // [1317] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 -- 0_neq_vbsz1_then_la1 lda.z padding cmp #0 bne __b12 @@ -8601,26 +8727,26 @@ printf_number_buffer: { // printf_number_buffer::@12 __b12: // printf_padding(putc, ' ',(char)padding) - // [1311] printf_padding::putc#2 = printf_number_buffer::putc#10 -- pprz1=pprz2 + // [1318] printf_padding::putc#2 = printf_number_buffer::putc#10 -- pprz1=pprz2 lda.z putc sta.z printf_padding.putc lda.z putc+1 sta.z printf_padding.putc+1 - // [1312] printf_padding::length#2 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 + // [1319] printf_padding::length#2 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 lda.z padding sta.z printf_padding.length - // [1313] call printf_padding - // [1395] phi from printf_number_buffer::@12 to printf_padding [phi:printf_number_buffer::@12->printf_padding] - // [1395] phi printf_padding::putc#7 = printf_padding::putc#2 [phi:printf_number_buffer::@12->printf_padding#0] -- register_copy - // [1395] phi printf_padding::pad#7 = ' 'pm [phi:printf_number_buffer::@12->printf_padding#1] -- vbuz1=vbuc1 + // [1320] call printf_padding + // [1402] phi from printf_number_buffer::@12 to printf_padding [phi:printf_number_buffer::@12->printf_padding] + // [1402] phi printf_padding::putc#7 = printf_padding::putc#2 [phi:printf_number_buffer::@12->printf_padding#0] -- register_copy + // [1402] phi printf_padding::pad#7 = ' 'pm [phi:printf_number_buffer::@12->printf_padding#1] -- vbuz1=vbuc1 lda #' ' sta.z printf_padding.pad - // [1395] phi printf_padding::length#6 = printf_padding::length#2 [phi:printf_number_buffer::@12->printf_padding#2] -- register_copy + // [1402] phi printf_padding::length#6 = printf_padding::length#2 [phi:printf_number_buffer::@12->printf_padding#2] -- register_copy jsr printf_padding // printf_number_buffer::@return __breturn: // } - // [1314] return + // [1321] return rts // Outside Flow icall28: @@ -8632,144 +8758,144 @@ printf_number_buffer: { // - value : The number to be converted to RADIX // - buffer : receives the string representing the number and zero-termination. // - radix : The radix to convert the number to (from the enum RADIX) -// void uctoa(__zp($27) char value, __zp($3c) char *buffer, __zp($54) char radix) +// void uctoa(__zp($26) char value, __zp($44) char *buffer, __zp($2b) char radix) uctoa: { - .label __4 = $32 - .label digit_value = $22 - .label buffer = $3c - .label digit = $46 - .label value = $27 - .label radix = $54 - .label started = $55 - .label max_digits = $4e - .label digit_values = $61 + .label __4 = $33 + .label digit_value = $2e + .label buffer = $44 + .label digit = $34 + .label value = $26 + .label radix = $2b + .label started = $46 + .label max_digits = $57 + .label digit_values = $3e // if(radix==DECIMAL) - // [1315] if(uctoa::radix#0==DECIMAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [1322] if(uctoa::radix#0==DECIMAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #DECIMAL cmp.z radix beq __b2 // uctoa::@2 // if(radix==HEXADECIMAL) - // [1316] if(uctoa::radix#0==HEXADECIMAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [1323] if(uctoa::radix#0==HEXADECIMAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #HEXADECIMAL cmp.z radix beq __b3 // uctoa::@3 // if(radix==OCTAL) - // [1317] if(uctoa::radix#0==OCTAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [1324] if(uctoa::radix#0==OCTAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #OCTAL cmp.z radix beq __b4 // uctoa::@4 // if(radix==BINARY) - // [1318] if(uctoa::radix#0==BINARY) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [1325] if(uctoa::radix#0==BINARY) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #BINARY cmp.z radix beq __b5 // uctoa::@5 // *buffer++ = 'e' - // [1319] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e'pm -- _deref_pbuc1=vbuc2 + // [1326] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e'pm -- _deref_pbuc1=vbuc2 // Unknown radix lda #'e' sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS // *buffer++ = 'r' - // [1320] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'pm -- _deref_pbuc1=vbuc2 + // [1327] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'pm -- _deref_pbuc1=vbuc2 lda #'r' sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1 - // [1321] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r'pm -- _deref_pbuc1=vbuc2 + // [1328] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r'pm -- _deref_pbuc1=vbuc2 sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2 // *buffer = 0 - // [1322] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 + // [1329] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3 // uctoa::@return // } - // [1323] return + // [1330] return rts - // [1324] phi from uctoa to uctoa::@1 [phi:uctoa->uctoa::@1] + // [1331] phi from uctoa to uctoa::@1 [phi:uctoa->uctoa::@1] __b2: - // [1324] phi uctoa::digit_values#8 = RADIX_DECIMAL_VALUES_CHAR [phi:uctoa->uctoa::@1#0] -- pbuz1=pbuc1 + // [1331] phi uctoa::digit_values#8 = RADIX_DECIMAL_VALUES_CHAR [phi:uctoa->uctoa::@1#0] -- pbuz1=pbuc1 lda #RADIX_DECIMAL_VALUES_CHAR sta.z digit_values+1 - // [1324] phi uctoa::max_digits#7 = 3 [phi:uctoa->uctoa::@1#1] -- vbuz1=vbuc1 + // [1331] phi uctoa::max_digits#7 = 3 [phi:uctoa->uctoa::@1#1] -- vbuz1=vbuc1 lda #3 sta.z max_digits jmp __b1 - // [1324] phi from uctoa::@2 to uctoa::@1 [phi:uctoa::@2->uctoa::@1] + // [1331] phi from uctoa::@2 to uctoa::@1 [phi:uctoa::@2->uctoa::@1] __b3: - // [1324] phi uctoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES_CHAR [phi:uctoa::@2->uctoa::@1#0] -- pbuz1=pbuc1 + // [1331] phi uctoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES_CHAR [phi:uctoa::@2->uctoa::@1#0] -- pbuz1=pbuc1 lda #RADIX_HEXADECIMAL_VALUES_CHAR sta.z digit_values+1 - // [1324] phi uctoa::max_digits#7 = 2 [phi:uctoa::@2->uctoa::@1#1] -- vbuz1=vbuc1 + // [1331] phi uctoa::max_digits#7 = 2 [phi:uctoa::@2->uctoa::@1#1] -- vbuz1=vbuc1 lda #2 sta.z max_digits jmp __b1 - // [1324] phi from uctoa::@3 to uctoa::@1 [phi:uctoa::@3->uctoa::@1] + // [1331] phi from uctoa::@3 to uctoa::@1 [phi:uctoa::@3->uctoa::@1] __b4: - // [1324] phi uctoa::digit_values#8 = RADIX_OCTAL_VALUES_CHAR [phi:uctoa::@3->uctoa::@1#0] -- pbuz1=pbuc1 + // [1331] phi uctoa::digit_values#8 = RADIX_OCTAL_VALUES_CHAR [phi:uctoa::@3->uctoa::@1#0] -- pbuz1=pbuc1 lda #RADIX_OCTAL_VALUES_CHAR sta.z digit_values+1 - // [1324] phi uctoa::max_digits#7 = 3 [phi:uctoa::@3->uctoa::@1#1] -- vbuz1=vbuc1 + // [1331] phi uctoa::max_digits#7 = 3 [phi:uctoa::@3->uctoa::@1#1] -- vbuz1=vbuc1 lda #3 sta.z max_digits jmp __b1 - // [1324] phi from uctoa::@4 to uctoa::@1 [phi:uctoa::@4->uctoa::@1] + // [1331] phi from uctoa::@4 to uctoa::@1 [phi:uctoa::@4->uctoa::@1] __b5: - // [1324] phi uctoa::digit_values#8 = RADIX_BINARY_VALUES_CHAR [phi:uctoa::@4->uctoa::@1#0] -- pbuz1=pbuc1 + // [1331] phi uctoa::digit_values#8 = RADIX_BINARY_VALUES_CHAR [phi:uctoa::@4->uctoa::@1#0] -- pbuz1=pbuc1 lda #RADIX_BINARY_VALUES_CHAR sta.z digit_values+1 - // [1324] phi uctoa::max_digits#7 = 8 [phi:uctoa::@4->uctoa::@1#1] -- vbuz1=vbuc1 + // [1331] phi uctoa::max_digits#7 = 8 [phi:uctoa::@4->uctoa::@1#1] -- vbuz1=vbuc1 lda #8 sta.z max_digits // uctoa::@1 __b1: - // [1325] phi from uctoa::@1 to uctoa::@6 [phi:uctoa::@1->uctoa::@6] - // [1325] phi uctoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:uctoa::@1->uctoa::@6#0] -- pbuz1=pbuc1 + // [1332] phi from uctoa::@1 to uctoa::@6 [phi:uctoa::@1->uctoa::@6] + // [1332] phi uctoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:uctoa::@1->uctoa::@6#0] -- pbuz1=pbuc1 lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS sta.z buffer+1 - // [1325] phi uctoa::started#2 = 0 [phi:uctoa::@1->uctoa::@6#1] -- vbuz1=vbuc1 + // [1332] phi uctoa::started#2 = 0 [phi:uctoa::@1->uctoa::@6#1] -- vbuz1=vbuc1 lda #0 sta.z started - // [1325] phi uctoa::value#2 = uctoa::value#1 [phi:uctoa::@1->uctoa::@6#2] -- register_copy - // [1325] phi uctoa::digit#2 = 0 [phi:uctoa::@1->uctoa::@6#3] -- vbuz1=vbuc1 + // [1332] phi uctoa::value#2 = uctoa::value#1 [phi:uctoa::@1->uctoa::@6#2] -- register_copy + // [1332] phi uctoa::digit#2 = 0 [phi:uctoa::@1->uctoa::@6#3] -- vbuz1=vbuc1 sta.z digit // uctoa::@6 __b6: // max_digits-1 - // [1326] uctoa::$4 = uctoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 + // [1333] uctoa::$4 = uctoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 ldx.z max_digits dex stx.z __4 // for( char digit=0; digit= digit_value) - // [1332] if(0!=uctoa::started#2) goto uctoa::@10 -- 0_neq_vbuz1_then_la1 + // [1339] if(0!=uctoa::started#2) goto uctoa::@10 -- 0_neq_vbuz1_then_la1 lda.z started bne __b10 // uctoa::@12 - // [1333] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@10 -- vbuz1_ge_vbuz2_then_la1 + // [1340] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@10 -- vbuz1_ge_vbuz2_then_la1 lda.z value cmp.z digit_value bcs __b10 - // [1334] phi from uctoa::@12 to uctoa::@9 [phi:uctoa::@12->uctoa::@9] - // [1334] phi uctoa::buffer#14 = uctoa::buffer#11 [phi:uctoa::@12->uctoa::@9#0] -- register_copy - // [1334] phi uctoa::started#4 = uctoa::started#2 [phi:uctoa::@12->uctoa::@9#1] -- register_copy - // [1334] phi uctoa::value#6 = uctoa::value#2 [phi:uctoa::@12->uctoa::@9#2] -- register_copy + // [1341] phi from uctoa::@12 to uctoa::@9 [phi:uctoa::@12->uctoa::@9] + // [1341] phi uctoa::buffer#14 = uctoa::buffer#11 [phi:uctoa::@12->uctoa::@9#0] -- register_copy + // [1341] phi uctoa::started#4 = uctoa::started#2 [phi:uctoa::@12->uctoa::@9#1] -- register_copy + // [1341] phi uctoa::value#6 = uctoa::value#2 [phi:uctoa::@12->uctoa::@9#2] -- register_copy // uctoa::@9 __b9: // for( char digit=0; digituctoa::@6] - // [1325] phi uctoa::buffer#11 = uctoa::buffer#14 [phi:uctoa::@9->uctoa::@6#0] -- register_copy - // [1325] phi uctoa::started#2 = uctoa::started#4 [phi:uctoa::@9->uctoa::@6#1] -- register_copy - // [1325] phi uctoa::value#2 = uctoa::value#6 [phi:uctoa::@9->uctoa::@6#2] -- register_copy - // [1325] phi uctoa::digit#2 = uctoa::digit#1 [phi:uctoa::@9->uctoa::@6#3] -- register_copy + // [1332] phi from uctoa::@9 to uctoa::@6 [phi:uctoa::@9->uctoa::@6] + // [1332] phi uctoa::buffer#11 = uctoa::buffer#14 [phi:uctoa::@9->uctoa::@6#0] -- register_copy + // [1332] phi uctoa::started#2 = uctoa::started#4 [phi:uctoa::@9->uctoa::@6#1] -- register_copy + // [1332] phi uctoa::value#2 = uctoa::value#6 [phi:uctoa::@9->uctoa::@6#2] -- register_copy + // [1332] phi uctoa::digit#2 = uctoa::digit#1 [phi:uctoa::@9->uctoa::@6#3] -- register_copy jmp __b6 // uctoa::@10 __b10: // uctoa_append(buffer++, value, digit_value) - // [1336] uctoa_append::buffer#0 = uctoa::buffer#11 -- pbuz1=pbuz2 + // [1343] uctoa_append::buffer#0 = uctoa::buffer#11 -- pbuz1=pbuz2 lda.z buffer sta.z uctoa_append.buffer lda.z buffer+1 sta.z uctoa_append.buffer+1 - // [1337] uctoa_append::value#0 = uctoa::value#2 - // [1338] uctoa_append::sub#0 = uctoa::digit_value#0 - // [1339] call uctoa_append - // [1538] phi from uctoa::@10 to uctoa_append [phi:uctoa::@10->uctoa_append] + // [1344] uctoa_append::value#0 = uctoa::value#2 + // [1345] uctoa_append::sub#0 = uctoa::digit_value#0 + // [1346] call uctoa_append + // [1537] phi from uctoa::@10 to uctoa_append [phi:uctoa::@10->uctoa_append] jsr uctoa_append // uctoa_append(buffer++, value, digit_value) - // [1340] uctoa_append::return#0 = uctoa_append::value#2 + // [1347] uctoa_append::return#0 = uctoa_append::value#2 // uctoa::@11 // value = uctoa_append(buffer++, value, digit_value) - // [1341] uctoa::value#0 = uctoa_append::return#0 + // [1348] uctoa::value#0 = uctoa_append::return#0 // value = uctoa_append(buffer++, value, digit_value); - // [1342] uctoa::buffer#4 = ++ uctoa::buffer#11 -- pbuz1=_inc_pbuz1 + // [1349] uctoa::buffer#4 = ++ uctoa::buffer#11 -- pbuz1=_inc_pbuz1 inc.z buffer bne !+ inc.z buffer+1 !: - // [1334] phi from uctoa::@11 to uctoa::@9 [phi:uctoa::@11->uctoa::@9] - // [1334] phi uctoa::buffer#14 = uctoa::buffer#4 [phi:uctoa::@11->uctoa::@9#0] -- register_copy - // [1334] phi uctoa::started#4 = 1 [phi:uctoa::@11->uctoa::@9#1] -- vbuz1=vbuc1 + // [1341] phi from uctoa::@11 to uctoa::@9 [phi:uctoa::@11->uctoa::@9] + // [1341] phi uctoa::buffer#14 = uctoa::buffer#4 [phi:uctoa::@11->uctoa::@9#0] -- register_copy + // [1341] phi uctoa::started#4 = 1 [phi:uctoa::@11->uctoa::@9#1] -- vbuz1=vbuc1 lda #1 sta.z started - // [1334] phi uctoa::value#6 = uctoa::value#0 [phi:uctoa::@11->uctoa::@9#2] -- register_copy + // [1341] phi uctoa::value#6 = uctoa::value#0 [phi:uctoa::@11->uctoa::@9#2] -- register_copy jmp __b9 } // strncpy @@ -8844,28 +8970,28 @@ uctoa: { /// @param src ? This is the string to be copied. /// @param n ? The number of characters to be copied from source. /// @return The destination -// char * strncpy(__zp($33) char *dst, __zp($3c) const char *src, unsigned int n) +// char * strncpy(__zp($35) char *dst, __zp($3a) const char *src, unsigned int n) strncpy: { .const n = $10 - .label c = $7b - .label dst = $33 + .label c = $57 + .label dst = $35 .label i = $44 - .label src = $3c - // [1344] phi from strncpy to strncpy::@1 [phi:strncpy->strncpy::@1] - // [1344] phi strncpy::dst#2 = strncpy::dst#1 [phi:strncpy->strncpy::@1#0] -- register_copy - // [1344] phi strncpy::src#2 = main::buffer [phi:strncpy->strncpy::@1#1] -- pbuz1=pbuc1 + .label src = $3a + // [1351] phi from strncpy to strncpy::@1 [phi:strncpy->strncpy::@1] + // [1351] phi strncpy::dst#2 = strncpy::dst#1 [phi:strncpy->strncpy::@1#0] -- register_copy + // [1351] phi strncpy::src#2 = main::buffer [phi:strncpy->strncpy::@1#1] -- pbuz1=pbuc1 lda #main.buffer sta.z src+1 - // [1344] phi strncpy::i#2 = 0 [phi:strncpy->strncpy::@1#2] -- vwuz1=vwuc1 + // [1351] phi strncpy::i#2 = 0 [phi:strncpy->strncpy::@1#2] -- vwuz1=vwuc1 lda #<0 sta.z i sta.z i+1 // strncpy::@1 __b1: // for(size_t i = 0;in bcc __b2 @@ -8876,50 +9002,50 @@ strncpy: { !: // strncpy::@return // } - // [1346] return + // [1353] return rts // strncpy::@2 __b2: // char c = *src - // [1347] strncpy::c#0 = *strncpy::src#2 -- vbuz1=_deref_pbuz2 + // [1354] strncpy::c#0 = *strncpy::src#2 -- vbuz1=_deref_pbuz2 ldy #0 lda (src),y sta.z c // if(c) - // [1348] if(0==strncpy::c#0) goto strncpy::@3 -- 0_eq_vbuz1_then_la1 + // [1355] if(0==strncpy::c#0) goto strncpy::@3 -- 0_eq_vbuz1_then_la1 beq __b3 // strncpy::@4 // src++; - // [1349] strncpy::src#0 = ++ strncpy::src#2 -- pbuz1=_inc_pbuz1 + // [1356] strncpy::src#0 = ++ strncpy::src#2 -- pbuz1=_inc_pbuz1 inc.z src bne !+ inc.z src+1 !: - // [1350] phi from strncpy::@2 strncpy::@4 to strncpy::@3 [phi:strncpy::@2/strncpy::@4->strncpy::@3] - // [1350] phi strncpy::src#6 = strncpy::src#2 [phi:strncpy::@2/strncpy::@4->strncpy::@3#0] -- register_copy + // [1357] phi from strncpy::@2 strncpy::@4 to strncpy::@3 [phi:strncpy::@2/strncpy::@4->strncpy::@3] + // [1357] phi strncpy::src#6 = strncpy::src#2 [phi:strncpy::@2/strncpy::@4->strncpy::@3#0] -- register_copy // strncpy::@3 __b3: // *dst++ = c - // [1351] *strncpy::dst#2 = strncpy::c#0 -- _deref_pbuz1=vbuz2 + // [1358] *strncpy::dst#2 = strncpy::c#0 -- _deref_pbuz1=vbuz2 lda.z c ldy #0 sta (dst),y // *dst++ = c; - // [1352] strncpy::dst#0 = ++ strncpy::dst#2 -- pbuz1=_inc_pbuz1 + // [1359] strncpy::dst#0 = ++ strncpy::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 !: // for(size_t i = 0;istrncpy::@1] - // [1344] phi strncpy::dst#2 = strncpy::dst#0 [phi:strncpy::@3->strncpy::@1#0] -- register_copy - // [1344] phi strncpy::src#2 = strncpy::src#6 [phi:strncpy::@3->strncpy::@1#1] -- register_copy - // [1344] phi strncpy::i#2 = strncpy::i#1 [phi:strncpy::@3->strncpy::@1#2] -- register_copy + // [1351] phi from strncpy::@3 to strncpy::@1 [phi:strncpy::@3->strncpy::@1] + // [1351] phi strncpy::dst#2 = strncpy::dst#0 [phi:strncpy::@3->strncpy::@1#0] -- register_copy + // [1351] phi strncpy::src#2 = strncpy::src#6 [phi:strncpy::@3->strncpy::@1#1] -- register_copy + // [1351] phi strncpy::i#2 = strncpy::i#1 [phi:strncpy::@3->strncpy::@1#2] -- register_copy jmp __b1 } // cbm_k_setnam @@ -8928,26 +9054,26 @@ strncpy: { * * @param filename The name of the file. */ -// void cbm_k_setnam(__zp($f1) char * volatile filename) +// void cbm_k_setnam(__zp($e7) char * volatile filename) cbm_k_setnam: { - .label filename = $f1 - .label __0 = $33 + .label filename = $e7 + .label __0 = $35 // strlen(filename) - // [1354] strlen::str#0 = cbm_k_setnam::filename -- pbuz1=pbuz2 + // [1361] strlen::str#0 = cbm_k_setnam::filename -- pbuz1=pbuz2 lda.z filename sta.z strlen.str lda.z filename+1 sta.z strlen.str+1 - // [1355] call strlen - // [1389] phi from cbm_k_setnam to strlen [phi:cbm_k_setnam->strlen] - // [1389] phi strlen::str#6 = strlen::str#0 [phi:cbm_k_setnam->strlen#0] -- register_copy + // [1362] call strlen + // [1396] phi from cbm_k_setnam to strlen [phi:cbm_k_setnam->strlen] + // [1396] phi strlen::str#6 = strlen::str#0 [phi:cbm_k_setnam->strlen#0] -- register_copy jsr strlen // strlen(filename) - // [1356] strlen::return#0 = strlen::len#2 + // [1363] strlen::return#0 = strlen::len#2 // cbm_k_setnam::@1 - // [1357] cbm_k_setnam::$0 = strlen::return#0 + // [1364] cbm_k_setnam::$0 = strlen::return#0 // __mem char filename_len = (char)strlen(filename) - // [1358] cbm_k_setnam::filename_len = (char)cbm_k_setnam::$0 -- vbum1=_byte_vwuz2 + // [1365] cbm_k_setnam::filename_len = (char)cbm_k_setnam::$0 -- vbum1=_byte_vwuz2 lda.z __0 sta filename_len // asm @@ -8957,7 +9083,7 @@ cbm_k_setnam: { jsr CBM_SETNAM // cbm_k_setnam::@return // } - // [1360] return + // [1367] return rts .segment Data filename_len: .byte 0 @@ -8971,11 +9097,11 @@ cbm_k_setnam: { * @param device the device number. * @param command the command. */ -// void cbm_k_setlfs(__zp($f9) volatile char channel, __zp($f7) volatile char device, __zp($f3) volatile char command) +// void cbm_k_setlfs(__zp($ef) volatile char channel, __zp($ed) volatile char device, __zp($e9) volatile char command) cbm_k_setlfs: { - .label channel = $f9 - .label device = $f7 - .label command = $f3 + .label channel = $ef + .label device = $ed + .label command = $e9 // asm // asm { ldxdevice ldachannel ldycommand jsrCBM_SETLFS } ldx device @@ -8984,7 +9110,7 @@ cbm_k_setlfs: { jsr CBM_SETLFS // cbm_k_setlfs::@return // } - // [1362] return + // [1369] return rts } // cbm_k_open @@ -8994,9 +9120,9 @@ cbm_k_setlfs: { * @return char The status. */ cbm_k_open: { - .label return = $27 + .label return = $47 // __mem unsigned char status - // [1363] cbm_k_open::status = 0 -- vbum1=vbuc1 + // [1370] cbm_k_open::status = 0 -- vbum1=vbuc1 lda #0 sta status // asm @@ -9004,12 +9130,12 @@ cbm_k_open: { jsr CBM_OPEN sta status // return status; - // [1365] cbm_k_open::return#0 = cbm_k_open::status -- vbuz1=vbum2 + // [1372] cbm_k_open::return#0 = cbm_k_open::status -- vbuz1=vbum2 sta.z return // cbm_k_open::@return // } - // [1366] cbm_k_open::return#1 = cbm_k_open::return#0 - // [1367] return + // [1373] cbm_k_open::return#1 = cbm_k_open::return#0 + // [1374] return rts .segment Data status: .byte 0 @@ -9022,12 +9148,12 @@ cbm_k_open: { * @param channel The channel to close. * @return char Status. */ -// __zp($63) char cbm_k_close(__zp($f6) volatile char channel) +// __zp($4f) char cbm_k_close(__zp($ec) volatile char channel) cbm_k_close: { - .label channel = $f6 - .label return = $63 + .label channel = $ec + .label return = $4f // __mem unsigned char status - // [1368] cbm_k_close::status = 0 -- vbum1=vbuc1 + // [1375] cbm_k_close::status = 0 -- vbum1=vbuc1 lda #0 sta status // asm @@ -9036,12 +9162,12 @@ cbm_k_close: { jsr CBM_CLOSE sta status // return status; - // [1370] cbm_k_close::return#0 = cbm_k_close::status -- vbuz1=vbum2 + // [1377] cbm_k_close::return#0 = cbm_k_close::status -- vbuz1=vbum2 sta.z return // cbm_k_close::@return // } - // [1371] cbm_k_close::return#1 = cbm_k_close::return#0 - // [1372] return + // [1378] cbm_k_close::return#1 = cbm_k_close::return#0 + // [1379] return rts .segment Data status: .byte 0 @@ -9054,11 +9180,11 @@ cbm_k_close: { * @param channel * @return char */ -// char cbm_k_chkin(__zp($b5) volatile char channel) +// char cbm_k_chkin(__zp($aa) volatile char channel) cbm_k_chkin: { - .label channel = $b5 + .label channel = $aa // __mem unsigned char status - // [1373] cbm_k_chkin::status = 0 -- vbum1=vbuc1 + // [1380] cbm_k_chkin::status = 0 -- vbum1=vbuc1 lda #0 sta status // asm @@ -9068,7 +9194,7 @@ cbm_k_chkin: { sta status // cbm_k_chkin::@return // } - // [1375] return + // [1382] return rts .segment Data status: .byte 0 @@ -9081,9 +9207,9 @@ cbm_k_chkin: { * @return char Status. */ cbm_k_readst: { - .label return = $73 + .label return = $68 // __mem unsigned char status - // [1376] cbm_k_readst::status = 0 -- vbum1=vbuc1 + // [1383] cbm_k_readst::status = 0 -- vbum1=vbuc1 lda #0 sta status // asm @@ -9091,12 +9217,12 @@ cbm_k_readst: { jsr CBM_READST sta status // return status; - // [1378] cbm_k_readst::return#0 = cbm_k_readst::status -- vbuz1=vbum2 + // [1385] cbm_k_readst::return#0 = cbm_k_readst::status -- vbuz1=vbum2 sta.z return // cbm_k_readst::@return // } - // [1379] cbm_k_readst::return#1 = cbm_k_readst::return#0 - // [1380] return + // [1386] cbm_k_readst::return#1 = cbm_k_readst::return#0 + // [1387] return rts .segment Data status: .byte 0 @@ -9104,136 +9230,136 @@ cbm_k_readst: { .segment Code // printf_ulong // Print an unsigned int using a specific format -// void printf_ulong(void (*putc)(char), __zp($23) unsigned long uvalue, char format_min_length, char format_justify_left, char format_sign_always, __zp($af) char format_zero_padding, char format_upper_case, char format_radix) +// void printf_ulong(void (*putc)(char), __zp($22) unsigned long uvalue, char format_min_length, char format_justify_left, char format_sign_always, __zp($77) char format_zero_padding, char format_upper_case, char format_radix) printf_ulong: { - .label uvalue = $23 - .label format_zero_padding = $af + .label uvalue = $22 + .label format_zero_padding = $77 // printf_ulong::@1 // printf_buffer.sign = format.sign_always?'+':0 - // [1382] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 + // [1389] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 // Handle any sign lda #0 sta printf_buffer // ultoa(uvalue, printf_buffer.digits, format.radix) - // [1383] ultoa::value#1 = printf_ulong::uvalue#2 - // [1384] call ultoa + // [1390] ultoa::value#1 = printf_ulong::uvalue#2 + // [1391] call ultoa // Format number into buffer - // [1545] phi from printf_ulong::@1 to ultoa [phi:printf_ulong::@1->ultoa] + // [1544] phi from printf_ulong::@1 to ultoa [phi:printf_ulong::@1->ultoa] jsr ultoa // printf_ulong::@2 // printf_number_buffer(putc, printf_buffer, format) - // [1385] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 + // [1392] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 lda printf_buffer sta.z printf_number_buffer.buffer_sign - // [1386] printf_number_buffer::format_zero_padding#0 = printf_ulong::format_zero_padding#2 - // [1387] call printf_number_buffer + // [1393] printf_number_buffer::format_zero_padding#0 = printf_ulong::format_zero_padding#2 + // [1394] call printf_number_buffer // Print using format - // [1274] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer] - // [1274] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#0] -- vbuz1=vbuc1 + // [1281] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer] + // [1281] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#0] -- vbuz1=vbuc1 lda #0 sta.z printf_number_buffer.format_upper_case - // [1274] phi printf_number_buffer::putc#10 = &cputc [phi:printf_ulong::@2->printf_number_buffer#1] -- pprz1=pprc1 + // [1281] phi printf_number_buffer::putc#10 = &cputc [phi:printf_ulong::@2->printf_number_buffer#1] -- pprz1=pprc1 lda #cputc sta.z printf_number_buffer.putc+1 - // [1274] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#0 [phi:printf_ulong::@2->printf_number_buffer#2] -- register_copy - // [1274] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#0 [phi:printf_ulong::@2->printf_number_buffer#3] -- register_copy - // [1274] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#4] -- vbuz1=vbuc1 + // [1281] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#0 [phi:printf_ulong::@2->printf_number_buffer#2] -- register_copy + // [1281] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#0 [phi:printf_ulong::@2->printf_number_buffer#3] -- register_copy + // [1281] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#4] -- vbuz1=vbuc1 lda #0 sta.z printf_number_buffer.format_justify_left - // [1274] phi printf_number_buffer::format_min_length#4 = 6 [phi:printf_ulong::@2->printf_number_buffer#5] -- vbuz1=vbuc1 + // [1281] phi printf_number_buffer::format_min_length#4 = 6 [phi:printf_ulong::@2->printf_number_buffer#5] -- vbuz1=vbuc1 lda #6 sta.z printf_number_buffer.format_min_length jsr printf_number_buffer // printf_ulong::@return // } - // [1388] return + // [1395] return rts } // strlen // Computes the length of the string str up to but not including the terminating null character. -// __zp($33) unsigned int strlen(__zp($3c) char *str) +// __zp($35) unsigned int strlen(__zp($3a) char *str) strlen: { - .label str = $3c - .label return = $33 - .label len = $33 - // [1390] phi from strlen to strlen::@1 [phi:strlen->strlen::@1] - // [1390] phi strlen::len#2 = 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1 + .label str = $3a + .label return = $35 + .label len = $35 + // [1397] phi from strlen to strlen::@1 [phi:strlen->strlen::@1] + // [1397] phi strlen::len#2 = 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1 lda #<0 sta.z len sta.z len+1 - // [1390] phi strlen::str#4 = strlen::str#6 [phi:strlen->strlen::@1#1] -- register_copy + // [1397] phi strlen::str#4 = strlen::str#6 [phi:strlen->strlen::@1#1] -- register_copy // strlen::@1 __b1: // while(*str) - // [1391] if(0!=*strlen::str#4) goto strlen::@2 -- 0_neq__deref_pbuz1_then_la1 + // [1398] if(0!=*strlen::str#4) goto strlen::@2 -- 0_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 bne __b2 // strlen::@return // } - // [1392] return + // [1399] return rts // strlen::@2 __b2: // len++; - // [1393] strlen::len#1 = ++ strlen::len#2 -- vwuz1=_inc_vwuz1 + // [1400] strlen::len#1 = ++ strlen::len#2 -- vwuz1=_inc_vwuz1 inc.z len bne !+ inc.z len+1 !: // str++; - // [1394] strlen::str#1 = ++ strlen::str#4 -- pbuz1=_inc_pbuz1 + // [1401] strlen::str#1 = ++ strlen::str#4 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 !: - // [1390] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1] - // [1390] phi strlen::len#2 = strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy - // [1390] phi strlen::str#4 = strlen::str#1 [phi:strlen::@2->strlen::@1#1] -- register_copy + // [1397] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1] + // [1397] phi strlen::len#2 = strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy + // [1397] phi strlen::str#4 = strlen::str#1 [phi:strlen::@2->strlen::@1#1] -- register_copy jmp __b1 } // printf_padding // Print a padding char a number of times -// void printf_padding(__zp($3c) void (*putc)(char), __zp($22) char pad, __zp($4a) char length) +// void printf_padding(__zp($44) void (*putc)(char), __zp($48) char pad, __zp($33) char length) printf_padding: { - .label i = $2a - .label putc = $3c - .label length = $4a - .label pad = $22 - // [1396] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1] - // [1396] phi printf_padding::i#2 = 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1 + .label i = $29 + .label putc = $44 + .label length = $33 + .label pad = $48 + // [1403] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1] + // [1403] phi printf_padding::i#2 = 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1 lda #0 sta.z i // printf_padding::@1 __b1: // for(char i=0;iprintf_padding::@1] - // [1396] phi printf_padding::i#2 = printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy + // [1403] phi from printf_padding::@3 to printf_padding::@1 [phi:printf_padding::@3->printf_padding::@1] + // [1403] phi printf_padding::i#2 = printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy jmp __b1 // Outside Flow icall29: @@ -9249,75 +9375,75 @@ printf_padding: { * @param filename Name of the file to be loaded. * @return ptr the pointer advanced to the point where the stream ends. */ -// __zp($2c) unsigned int fgets(__zp($3c) char *ptr, unsigned int size, __zp($28) struct $1 *fp) +// __zp($2c) unsigned int fgets(__zp($44) char *ptr, unsigned int size, __zp($7c) struct $1 *fp) fgets: { .const size = $80 - .label __1 = $73 - .label __9 = $73 - .label __10 = $7b - .label __14 = $32 + .label __1 = $68 + .label __9 = $68 + .label __10 = $57 + .label __14 = $34 .label return = $2c - .label bytes = $48 + .label bytes = $40 .label read = $2c - .label ptr = $3c - .label remaining = $33 - .label fp = $28 + .label ptr = $44 + .label remaining = $35 + .label fp = $7c // cbm_k_chkin(fp->channel) - // [1403] cbm_k_chkin::channel = ((char *)fgets::fp#0)[$10] -- vbuz1=pbuz2_derefidx_vbuc1 + // [1410] cbm_k_chkin::channel = ((char *)fgets::fp#0)[$10] -- vbuz1=pbuz2_derefidx_vbuc1 ldy #$10 lda (fp),y sta.z cbm_k_chkin.channel - // [1404] call cbm_k_chkin + // [1411] call cbm_k_chkin jsr cbm_k_chkin - // [1405] phi from fgets to fgets::@11 [phi:fgets->fgets::@11] + // [1412] phi from fgets to fgets::@11 [phi:fgets->fgets::@11] // fgets::@11 // cbm_k_readst() - // [1406] call cbm_k_readst + // [1413] call cbm_k_readst jsr cbm_k_readst - // [1407] cbm_k_readst::return#3 = cbm_k_readst::return#1 + // [1414] cbm_k_readst::return#3 = cbm_k_readst::return#1 // fgets::@12 - // [1408] fgets::$1 = cbm_k_readst::return#3 + // [1415] fgets::$1 = cbm_k_readst::return#3 // fp->status = cbm_k_readst() - // [1409] ((char *)fgets::fp#0)[$13] = fgets::$1 -- pbuz1_derefidx_vbuc1=vbuz2 + // [1416] ((char *)fgets::fp#0)[$13] = fgets::$1 -- pbuz1_derefidx_vbuc1=vbuz2 lda.z __1 ldy #$13 sta (fp),y // if(fp->status) - // [1410] if(0==((char *)fgets::fp#0)[$13]) goto fgets::@1 -- 0_eq_pbuz1_derefidx_vbuc1_then_la1 + // [1417] if(0==((char *)fgets::fp#0)[$13]) goto fgets::@1 -- 0_eq_pbuz1_derefidx_vbuc1_then_la1 lda (fp),y cmp #0 beq __b8 - // [1411] phi from fgets::@12 fgets::@15 fgets::@4 to fgets::@return [phi:fgets::@12/fgets::@15/fgets::@4->fgets::@return] + // [1418] phi from fgets::@12 fgets::@15 fgets::@4 to fgets::@return [phi:fgets::@12/fgets::@15/fgets::@4->fgets::@return] __b1: - // [1411] phi fgets::return#1 = 0 [phi:fgets::@12/fgets::@15/fgets::@4->fgets::@return#0] -- vwuz1=vbuc1 + // [1418] phi fgets::return#1 = 0 [phi:fgets::@12/fgets::@15/fgets::@4->fgets::@return#0] -- vwuz1=vbuc1 lda #<0 sta.z return sta.z return+1 // fgets::@return // } - // [1412] return + // [1419] return rts - // [1413] phi from fgets::@12 to fgets::@1 [phi:fgets::@12->fgets::@1] + // [1420] phi from fgets::@12 to fgets::@1 [phi:fgets::@12->fgets::@1] __b8: - // [1413] phi fgets::read#10 = 0 [phi:fgets::@12->fgets::@1#0] -- vwuz1=vwuc1 + // [1420] phi fgets::read#10 = 0 [phi:fgets::@12->fgets::@1#0] -- vwuz1=vwuc1 lda #<0 sta.z read sta.z read+1 - // [1413] phi fgets::remaining#11 = fgets::size#0 [phi:fgets::@12->fgets::@1#1] -- vwuz1=vwuc1 + // [1420] phi fgets::remaining#11 = fgets::size#0 [phi:fgets::@12->fgets::@1#1] -- vwuz1=vwuc1 lda #size sta.z remaining+1 - // [1413] phi fgets::ptr#10 = fgets::ptr#2 [phi:fgets::@12->fgets::@1#2] -- register_copy - // [1413] phi from fgets::@16 to fgets::@1 [phi:fgets::@16->fgets::@1] - // [1413] phi fgets::read#10 = fgets::read#1 [phi:fgets::@16->fgets::@1#0] -- register_copy - // [1413] phi fgets::remaining#11 = fgets::remaining#1 [phi:fgets::@16->fgets::@1#1] -- register_copy - // [1413] phi fgets::ptr#10 = fgets::ptr#12 [phi:fgets::@16->fgets::@1#2] -- register_copy + // [1420] phi fgets::ptr#10 = fgets::ptr#2 [phi:fgets::@12->fgets::@1#2] -- register_copy + // [1420] phi from fgets::@16 to fgets::@1 [phi:fgets::@16->fgets::@1] + // [1420] phi fgets::read#10 = fgets::read#1 [phi:fgets::@16->fgets::@1#0] -- register_copy + // [1420] phi fgets::remaining#11 = fgets::remaining#1 [phi:fgets::@16->fgets::@1#1] -- register_copy + // [1420] phi fgets::ptr#10 = fgets::ptr#12 [phi:fgets::@16->fgets::@1#2] -- register_copy // fgets::@1 // fgets::@7 __b7: // if(remaining >= 128) - // [1414] if(fgets::remaining#11>=$80) goto fgets::@2 -- vwuz1_ge_vbuc1_then_la1 + // [1421] if(fgets::remaining#11>=$80) goto fgets::@2 -- vwuz1_ge_vbuc1_then_la1 lda.z remaining+1 beq !__b2+ jmp __b2 @@ -9330,48 +9456,48 @@ fgets: { !: // fgets::@8 // cbm_k_macptr(remaining, ptr) - // [1415] cbm_k_macptr::bytes = fgets::remaining#11 -- vbuz1=vwuz2 + // [1422] cbm_k_macptr::bytes = fgets::remaining#11 -- vbuz1=vwuz2 lda.z remaining sta.z cbm_k_macptr.bytes - // [1416] cbm_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 + // [1423] cbm_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 lda.z ptr sta.z cbm_k_macptr.buffer lda.z ptr+1 sta.z cbm_k_macptr.buffer+1 - // [1417] call cbm_k_macptr + // [1424] call cbm_k_macptr jsr cbm_k_macptr - // [1418] cbm_k_macptr::return#4 = cbm_k_macptr::return#1 + // [1425] cbm_k_macptr::return#4 = cbm_k_macptr::return#1 // fgets::@14 // bytes = cbm_k_macptr(remaining, ptr) - // [1419] fgets::bytes#3 = cbm_k_macptr::return#4 - // [1420] phi from fgets::@13 fgets::@14 to fgets::@3 [phi:fgets::@13/fgets::@14->fgets::@3] - // [1420] phi fgets::bytes#4 = fgets::bytes#2 [phi:fgets::@13/fgets::@14->fgets::@3#0] -- register_copy + // [1426] fgets::bytes#3 = cbm_k_macptr::return#4 + // [1427] phi from fgets::@13 fgets::@14 to fgets::@3 [phi:fgets::@13/fgets::@14->fgets::@3] + // [1427] phi fgets::bytes#4 = fgets::bytes#2 [phi:fgets::@13/fgets::@14->fgets::@3#0] -- register_copy // fgets::@3 __b3: // cbm_k_readst() - // [1421] call cbm_k_readst + // [1428] call cbm_k_readst jsr cbm_k_readst - // [1422] cbm_k_readst::return#4 = cbm_k_readst::return#1 + // [1429] cbm_k_readst::return#4 = cbm_k_readst::return#1 // fgets::@15 - // [1423] fgets::$9 = cbm_k_readst::return#4 + // [1430] fgets::$9 = cbm_k_readst::return#4 // fp->status = cbm_k_readst() - // [1424] ((char *)fgets::fp#0)[$13] = fgets::$9 -- pbuz1_derefidx_vbuc1=vbuz2 + // [1431] ((char *)fgets::fp#0)[$13] = fgets::$9 -- pbuz1_derefidx_vbuc1=vbuz2 lda.z __9 ldy #$13 sta (fp),y // fp->status & 0xBF - // [1425] fgets::$10 = ((char *)fgets::fp#0)[$13] & $bf -- vbuz1=pbuz2_derefidx_vbuc1_band_vbuc2 + // [1432] fgets::$10 = ((char *)fgets::fp#0)[$13] & $bf -- vbuz1=pbuz2_derefidx_vbuc1_band_vbuc2 lda #$bf and (fp),y sta.z __10 // if(fp->status & 0xBF) - // [1426] if(0==fgets::$10) goto fgets::@4 -- 0_eq_vbuz1_then_la1 + // [1433] if(0==fgets::$10) goto fgets::@4 -- 0_eq_vbuz1_then_la1 beq __b4 jmp __b1 // fgets::@4 __b4: // if(bytes == 0xFFFF) - // [1427] if(fgets::bytes#4!=$ffff) goto fgets::@5 -- vwuz1_neq_vwuc1_then_la1 + // [1434] if(fgets::bytes#4!=$ffff) goto fgets::@5 -- vwuz1_neq_vwuc1_then_la1 lda.z bytes+1 cmp #>$ffff bne __b5 @@ -9382,7 +9508,7 @@ fgets: { // fgets::@5 __b5: // read += bytes - // [1428] fgets::read#1 = fgets::read#10 + fgets::bytes#4 -- vwuz1=vwuz1_plus_vwuz2 + // [1435] fgets::read#1 = fgets::read#10 + fgets::bytes#4 -- vwuz1=vwuz1_plus_vwuz2 clc lda.z read adc.z bytes @@ -9391,7 +9517,7 @@ fgets: { adc.z bytes+1 sta.z read+1 // ptr += bytes - // [1429] fgets::ptr#0 = fgets::ptr#10 + fgets::bytes#4 -- pbuz1=pbuz1_plus_vwuz2 + // [1436] fgets::ptr#0 = fgets::ptr#10 + fgets::bytes#4 -- pbuz1=pbuz1_plus_vwuz2 clc lda.z ptr adc.z bytes @@ -9400,16 +9526,16 @@ fgets: { adc.z bytes+1 sta.z ptr+1 // BYTE1(ptr) - // [1430] fgets::$14 = byte1 fgets::ptr#0 -- vbuz1=_byte1_pbuz2 + // [1437] fgets::$14 = byte1 fgets::ptr#0 -- vbuz1=_byte1_pbuz2 sta.z __14 // if(BYTE1(ptr) == 0xC0) - // [1431] if(fgets::$14!=$c0) goto fgets::@6 -- vbuz1_neq_vbuc1_then_la1 + // [1438] if(fgets::$14!=$c0) goto fgets::@6 -- vbuz1_neq_vbuc1_then_la1 lda #$c0 cmp.z __14 bne __b6 // fgets::@9 // ptr -= 0x2000 - // [1432] fgets::ptr#1 = fgets::ptr#0 - $2000 -- pbuz1=pbuz1_minus_vwuc1 + // [1439] fgets::ptr#1 = fgets::ptr#0 - $2000 -- pbuz1=pbuz1_minus_vwuc1 lda.z ptr sec sbc #<$2000 @@ -9417,12 +9543,12 @@ fgets: { lda.z ptr+1 sbc #>$2000 sta.z ptr+1 - // [1433] phi from fgets::@5 fgets::@9 to fgets::@6 [phi:fgets::@5/fgets::@9->fgets::@6] - // [1433] phi fgets::ptr#12 = fgets::ptr#0 [phi:fgets::@5/fgets::@9->fgets::@6#0] -- register_copy + // [1440] phi from fgets::@5 fgets::@9 to fgets::@6 [phi:fgets::@5/fgets::@9->fgets::@6] + // [1440] phi fgets::ptr#12 = fgets::ptr#0 [phi:fgets::@5/fgets::@9->fgets::@6#0] -- register_copy // fgets::@6 __b6: // remaining -= bytes - // [1434] fgets::remaining#1 = fgets::remaining#11 - fgets::bytes#4 -- vwuz1=vwuz1_minus_vwuz2 + // [1441] fgets::remaining#1 = fgets::remaining#11 - fgets::bytes#4 -- vwuz1=vwuz1_minus_vwuz2 lda.z remaining sec sbc.z bytes @@ -9431,7 +9557,7 @@ fgets: { sbc.z bytes+1 sta.z remaining+1 // while ((fp->status == 0) && ((size && remaining) || !size)) - // [1435] if(((char *)fgets::fp#0)[$13]==0) goto fgets::@16 -- pbuz1_derefidx_vbuc1_eq_0_then_la1 + // [1442] if(((char *)fgets::fp#0)[$13]==0) goto fgets::@16 -- pbuz1_derefidx_vbuc1_eq_0_then_la1 ldy #$13 lda (fp),y cmp #0 @@ -9439,7 +9565,7 @@ fgets: { jmp __b10 // fgets::@16 __b16: - // [1436] if(0!=fgets::remaining#1) goto fgets::@1 -- 0_neq_vwuz1_then_la1 + // [1443] if(0!=fgets::remaining#1) goto fgets::@1 -- 0_neq_vwuz1_then_la1 lda.z remaining ora.z remaining+1 beq !__b7+ @@ -9448,31 +9574,31 @@ fgets: { // fgets::@10 __b10: // cbm_k_chkin(0) - // [1437] cbm_k_chkin::channel = 0 -- vbuz1=vbuc1 + // [1444] cbm_k_chkin::channel = 0 -- vbuz1=vbuc1 lda #0 sta.z cbm_k_chkin.channel - // [1438] call cbm_k_chkin + // [1445] call cbm_k_chkin jsr cbm_k_chkin - // [1411] phi from fgets::@10 to fgets::@return [phi:fgets::@10->fgets::@return] - // [1411] phi fgets::return#1 = fgets::read#1 [phi:fgets::@10->fgets::@return#0] -- register_copy + // [1418] phi from fgets::@10 to fgets::@return [phi:fgets::@10->fgets::@return] + // [1418] phi fgets::return#1 = fgets::read#1 [phi:fgets::@10->fgets::@return#0] -- register_copy rts // fgets::@2 __b2: // cbm_k_macptr(128, ptr) - // [1439] cbm_k_macptr::bytes = $80 -- vbuz1=vbuc1 + // [1446] cbm_k_macptr::bytes = $80 -- vbuz1=vbuc1 lda #$80 sta.z cbm_k_macptr.bytes - // [1440] cbm_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 + // [1447] cbm_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 lda.z ptr sta.z cbm_k_macptr.buffer lda.z ptr+1 sta.z cbm_k_macptr.buffer+1 - // [1441] call cbm_k_macptr + // [1448] call cbm_k_macptr jsr cbm_k_macptr - // [1442] cbm_k_macptr::return#3 = cbm_k_macptr::return#1 + // [1449] cbm_k_macptr::return#3 = cbm_k_macptr::return#1 // fgets::@13 // bytes = cbm_k_macptr(128, ptr) - // [1443] fgets::bytes#2 = cbm_k_macptr::return#3 + // [1450] fgets::bytes#2 = cbm_k_macptr::return#3 jmp __b3 } // cbm_k_clrchn @@ -9486,108 +9612,7 @@ cbm_k_clrchn: { jsr CBM_CLRCHN // cbm_k_clrchn::@return // } - // [1445] return - rts -} - // rom_bank -/** - * @brief Calculates the 8 bit ROM bank from the 22 bit ROM address. - * The ROM bank number is calcuated by taking the upper 8 bits (bit 18-14) and shifing those 14 bits to the right. - * - * @param address The 22 bit ROM address. - * @return unsigned char The ROM bank number for usage in ZP $01. - */ -/* inline */ -// __zp($46) char rom_bank(__zp($38) unsigned long address) -rom_bank: { - .label __1 = $38 - .label __2 = $38 - .label address = $38 - .label return = $7b - .label return_1 = $46 - .label return_2 = $51 - .label return_3 = $22 - // (unsigned long)(address & ROM_BANK_MASK) >> 14 - // [1447] rom_bank::$2 = rom_bank::address#4 & $3fc000 -- vduz1=vduz1_band_vduc1 - lda.z __2 - and #<$3fc000 - sta.z __2 - lda.z __2+1 - and #>$3fc000 - sta.z __2+1 - lda.z __2+2 - and #<$3fc000>>$10 - sta.z __2+2 - lda.z __2+3 - and #>$3fc000>>$10 - sta.z __2+3 - // [1448] rom_bank::$1 = rom_bank::$2 >> $e -- vduz1=vduz1_ror_vbuc1 - ldy #$e - cpy #0 - beq !e+ - !: - lsr.z __1+3 - ror.z __1+2 - ror.z __1+1 - ror.z __1 - dey - bne !- - !e: - // return (char)((unsigned long)(address & ROM_BANK_MASK) >> 14); - // [1449] rom_bank::return#1 = (char)rom_bank::$1 -- vbuz1=_byte_vduz2 - lda.z __1 - sta.z return_1 - // rom_bank::@return - // } - // [1450] return - rts -} - // rom_ptr -/** - * @brief Calcuates the 16 bit ROM pointer from the ROM using the 22 bit address. - * The 16 bit ROM pointer is calculated by masking the lower 14 bits (bit 13-0), and then adding $C000 to it. - * The 16 bit ROM pointer is returned as a char* (brom_ptr_t). - * @param address The 22 bit ROM address. - * @return brom_ptr_t The 16 bit ROM pointer for the main CPU addressing. - */ -/* inline */ -// __zp($44) char * rom_ptr(__zp($40) unsigned long address) -rom_ptr: { - .label __0 = $40 - .label __2 = $44 - .label address = $40 - .label return = $44 - // address & ROM_PTR_MASK - // [1452] rom_ptr::$0 = rom_ptr::address#6 & $3fff -- vduz1=vduz1_band_vduc1 - lda.z __0 - and #<$3fff - sta.z __0 - lda.z __0+1 - and #>$3fff - sta.z __0+1 - lda.z __0+2 - and #<$3fff>>$10 - sta.z __0+2 - lda.z __0+3 - and #>$3fff>>$10 - sta.z __0+3 - // (unsigned int)(address & ROM_PTR_MASK) + ROM_BASE - // [1453] rom_ptr::$2 = (unsigned int)rom_ptr::$0 -- vwuz1=_word_vduz2 - lda.z __0 - sta.z __2 - lda.z __0+1 - sta.z __2+1 - // [1454] rom_ptr::return#1 = rom_ptr::$2 + $c000 -- vwuz1=vwuz1_plus_vwuc1 - lda.z return - clc - adc #<$c000 - sta.z return - lda.z return+1 - adc #>$c000 - sta.z return+1 - // rom_ptr::@return - // } - // [1455] return + // [1452] return rts } // rom_byte_verify @@ -9600,34 +9625,33 @@ rom_ptr: { * @param address The 22 bit ROM address. * @param value The byte value to be written. */ -/* inline */ -// __zp($32) char rom_byte_verify(__zp($44) char *ptr_rom, __zp($63) char value) +// __zp($33) char rom_byte_verify(__zp($3e) char *ptr_rom, __zp($57) char value) rom_byte_verify: { - .label return = $32 - .label ptr_rom = $44 - .label value = $63 + .label return = $33 + .label ptr_rom = $3e + .label value = $57 // if (*ptr_rom != value) - // [1456] if(*rom_byte_verify::ptr_rom#0==rom_byte_verify::value#0) goto rom_byte_verify::@1 -- _deref_pbuz1_eq_vbuz2_then_la1 + // [1453] if(*rom_byte_verify::ptr_rom#0==rom_byte_verify::value#0) goto rom_byte_verify::@1 -- _deref_pbuz1_eq_vbuz2_then_la1 lda.z value ldy #0 cmp (ptr_rom),y beq __b2 - // [1457] phi from rom_byte_verify to rom_byte_verify::@2 [phi:rom_byte_verify->rom_byte_verify::@2] + // [1454] phi from rom_byte_verify to rom_byte_verify::@2 [phi:rom_byte_verify->rom_byte_verify::@2] // rom_byte_verify::@2 - // [1458] phi from rom_byte_verify::@2 to rom_byte_verify::@1 [phi:rom_byte_verify::@2->rom_byte_verify::@1] - // [1458] phi rom_byte_verify::return#0 = 0 [phi:rom_byte_verify::@2->rom_byte_verify::@1#0] -- vbuz1=vbuc1 + // [1455] phi from rom_byte_verify::@2 to rom_byte_verify::@1 [phi:rom_byte_verify::@2->rom_byte_verify::@1] + // [1455] phi rom_byte_verify::return#0 = 0 [phi:rom_byte_verify::@2->rom_byte_verify::@1#0] -- vbuz1=vbuc1 tya sta.z return rts - // [1458] phi from rom_byte_verify to rom_byte_verify::@1 [phi:rom_byte_verify->rom_byte_verify::@1] + // [1455] phi from rom_byte_verify to rom_byte_verify::@1 [phi:rom_byte_verify->rom_byte_verify::@1] __b2: - // [1458] phi rom_byte_verify::return#0 = 1 [phi:rom_byte_verify->rom_byte_verify::@1#0] -- vbuz1=vbuc1 + // [1455] phi rom_byte_verify::return#0 = 1 [phi:rom_byte_verify->rom_byte_verify::@1#0] -- vbuz1=vbuc1 lda #1 sta.z return // rom_byte_verify::@1 // rom_byte_verify::@return // } - // [1459] return + // [1456] return rts } // rom_wait @@ -9644,42 +9668,42 @@ rom_byte_verify: { * @param ptr_rom The 16 bit pointer where the byte was written. This pointer is used for the sequence reads to verify bit 6. */ /* inline */ -// void rom_wait(__zp($33) char *ptr_rom) +// void rom_wait(__zp($35) char *ptr_rom) rom_wait: { - .label __0 = $32 - .label __1 = $22 - .label test1 = $32 - .label test2 = $22 - .label ptr_rom = $33 + .label __0 = $34 + .label __1 = $33 + .label test1 = $34 + .label test2 = $33 + .label ptr_rom = $35 // rom_wait::@1 __b1: // test1 = *((brom_ptr_t)ptr_rom) - // [1461] rom_wait::test1#1 = *rom_wait::ptr_rom#3 -- vbuz1=_deref_pbuz2 + // [1458] rom_wait::test1#1 = *rom_wait::ptr_rom#3 -- vbuz1=_deref_pbuz2 ldy #0 lda (ptr_rom),y sta.z test1 // test2 = *((brom_ptr_t)ptr_rom) - // [1462] rom_wait::test2#1 = *rom_wait::ptr_rom#3 -- vbuz1=_deref_pbuz2 + // [1459] rom_wait::test2#1 = *rom_wait::ptr_rom#3 -- vbuz1=_deref_pbuz2 lda (ptr_rom),y sta.z test2 // test1 & 0x40 - // [1463] rom_wait::$0 = rom_wait::test1#1 & $40 -- vbuz1=vbuz1_band_vbuc1 + // [1460] rom_wait::$0 = rom_wait::test1#1 & $40 -- vbuz1=vbuz1_band_vbuc1 lda #$40 and.z __0 sta.z __0 // test2 & 0x40 - // [1464] rom_wait::$1 = rom_wait::test2#1 & $40 -- vbuz1=vbuz1_band_vbuc1 + // [1461] rom_wait::$1 = rom_wait::test2#1 & $40 -- vbuz1=vbuz1_band_vbuc1 lda #$40 and.z __1 sta.z __1 // while ((test1 & 0x40) != (test2 & 0x40)) - // [1465] if(rom_wait::$0!=rom_wait::$1) goto rom_wait::@1 -- vbuz1_neq_vbuz2_then_la1 + // [1462] if(rom_wait::$0!=rom_wait::$1) goto rom_wait::@1 -- vbuz1_neq_vbuz2_then_la1 lda.z __0 cmp.z __1 bne __b1 // rom_wait::@return // } - // [1466] return + // [1463] return rts } // rom_byte_program @@ -9690,56 +9714,59 @@ rom_wait: { * @param value The byte value to be written. */ /* inline */ -// void rom_byte_program(__zp($57) unsigned long address, __zp($56) char value) +// void rom_byte_program(__zp($50) unsigned long address, __zp($48) char value) rom_byte_program: { - .label ptr_rom = $48 - .label address = $57 - .label value = $56 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)address) - // [1467] rom_ptr::address#3 = rom_byte_program::address#0 -- vduz1=vduz2 + .label rom_ptr1___0 = $40 + .label rom_ptr1___2 = $40 + .label rom_ptr1_return = $40 + .label address = $50 + .label value = $48 + // rom_byte_program::rom_ptr1 + // (unsigned int)(address) & ROM_PTR_MASK + // [1465] rom_byte_program::rom_ptr1_$2 = (unsigned int)rom_byte_program::address#0 -- vwuz1=_word_vduz2 lda.z address - sta.z rom_ptr.address + sta.z rom_ptr1___2 lda.z address+1 - sta.z rom_ptr.address+1 - lda.z address+2 - sta.z rom_ptr.address+2 - lda.z address+3 - sta.z rom_ptr.address+3 - // [1468] call rom_ptr - // [1451] phi from rom_byte_program to rom_ptr [phi:rom_byte_program->rom_ptr] - // [1451] phi rom_ptr::address#6 = rom_ptr::address#3 [phi:rom_byte_program->rom_ptr#0] -- register_copy - jsr rom_ptr + sta.z rom_ptr1___2+1 + // [1466] rom_byte_program::rom_ptr1_$0 = rom_byte_program::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + lda.z rom_ptr1___0 + and #<$3fff + sta.z rom_ptr1___0 + lda.z rom_ptr1___0+1 + and #>$3fff + sta.z rom_ptr1___0+1 + // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE + // [1467] rom_byte_program::rom_ptr1_return#0 = rom_byte_program::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + lda.z rom_ptr1_return + clc + adc #<$c000 + sta.z rom_ptr1_return + lda.z rom_ptr1_return+1 + adc #>$c000 + sta.z rom_ptr1_return+1 // rom_byte_program::@1 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)address) - // [1469] rom_byte_program::ptr_rom#0 = (char *)rom_ptr::return#1 -- pbuz1=pbuz2 - lda.z rom_ptr.return - sta.z ptr_rom - lda.z rom_ptr.return+1 - sta.z ptr_rom+1 // rom_write_byte(address, value) - // [1470] rom_write_byte::address#3 = rom_byte_program::address#0 - // [1471] rom_write_byte::value#3 = rom_byte_program::value#0 -- vbuz1=vbuz2 - lda.z value - sta.z rom_write_byte.value - // [1472] call rom_write_byte - // [1476] phi from rom_byte_program::@1 to rom_write_byte [phi:rom_byte_program::@1->rom_write_byte] - // [1476] phi rom_write_byte::value#4 = rom_write_byte::value#3 [phi:rom_byte_program::@1->rom_write_byte#0] -- register_copy - // [1476] phi rom_write_byte::address#4 = rom_write_byte::address#3 [phi:rom_byte_program::@1->rom_write_byte#1] -- register_copy + // [1468] rom_write_byte::address#3 = rom_byte_program::address#0 + // [1469] rom_write_byte::value#3 = rom_byte_program::value#0 + // [1470] call rom_write_byte + // [1474] phi from rom_byte_program::@1 to rom_write_byte [phi:rom_byte_program::@1->rom_write_byte] + // [1474] phi rom_write_byte::value#10 = rom_write_byte::value#3 [phi:rom_byte_program::@1->rom_write_byte#0] -- register_copy + // [1474] phi rom_write_byte::address#4 = rom_write_byte::address#3 [phi:rom_byte_program::@1->rom_write_byte#1] -- register_copy jsr rom_write_byte // rom_byte_program::@2 // rom_wait(ptr_rom) - // [1473] rom_wait::ptr_rom#0 = rom_byte_program::ptr_rom#0 -- pbuz1=pbuz2 - lda.z ptr_rom + // [1471] rom_wait::ptr_rom#0 = (char *)rom_byte_program::rom_ptr1_return#0 -- pbuz1=pbuz2 + lda.z rom_ptr1_return sta.z rom_wait.ptr_rom - lda.z ptr_rom+1 + lda.z rom_ptr1_return+1 sta.z rom_wait.ptr_rom+1 - // [1474] call rom_wait - // [1460] phi from rom_byte_program::@2 to rom_wait [phi:rom_byte_program::@2->rom_wait] - // [1460] phi rom_wait::ptr_rom#3 = rom_wait::ptr_rom#0 [phi:rom_byte_program::@2->rom_wait#0] -- register_copy + // [1472] call rom_wait + // [1457] phi from rom_byte_program::@2 to rom_wait [phi:rom_byte_program::@2->rom_wait] + // [1457] phi rom_wait::ptr_rom#3 = rom_wait::ptr_rom#0 [phi:rom_byte_program::@2->rom_wait#0] -- register_copy jsr rom_wait // rom_byte_program::@return // } - // [1475] return + // [1473] return rts } // rom_write_byte @@ -9752,228 +9779,239 @@ rom_byte_program: { * @param address The 22 bit ROM address. * @param value The byte value to be written. */ -/* inline */ -// void rom_write_byte(__zp($57) unsigned long address, __zp($4a) char value) +// void rom_write_byte(__zp($50) unsigned long address, __zp($48) char value) rom_write_byte: { - .label bank_rom = $22 - .label ptr_rom = $2c - .label address = $57 - .label value = $4a - // brom_bank_t bank_rom = rom_bank((unsigned long)address) - // [1477] rom_bank::address#2 = rom_write_byte::address#4 -- vduz1=vduz2 - lda.z address - sta.z rom_bank.address - lda.z address+1 - sta.z rom_bank.address+1 + .label rom_bank1___0 = $33 + .label rom_bank1___1 = $2e + .label rom_bank1___2 = $3e + .label rom_ptr1___0 = $42 + .label rom_ptr1___2 = $42 + .label rom_bank1_bank_unshifted = $3e + .label rom_bank1_return = $34 + .label rom_ptr1_return = $42 + .label address = $50 + .label value = $48 + // rom_write_byte::rom_bank1 + // BYTE2(address) + // [1475] rom_write_byte::rom_bank1_$0 = byte2 rom_write_byte::address#4 -- vbuz1=_byte2_vduz2 lda.z address+2 - sta.z rom_bank.address+2 - lda.z address+3 - sta.z rom_bank.address+3 - // [1478] call rom_bank - // [1446] phi from rom_write_byte to rom_bank [phi:rom_write_byte->rom_bank] - // [1446] phi rom_bank::address#4 = rom_bank::address#2 [phi:rom_write_byte->rom_bank#0] -- register_copy - jsr rom_bank - // brom_bank_t bank_rom = rom_bank((unsigned long)address) - // [1479] rom_bank::return#4 = rom_bank::return#1 -- vbuz1=vbuz2 - lda.z rom_bank.return_1 - sta.z rom_bank.return_3 - // rom_write_byte::@1 - // [1480] rom_write_byte::bank_rom#0 = rom_bank::return#4 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)address) - // [1481] rom_ptr::address#2 = rom_write_byte::address#4 -- vduz1=vduz2 + sta.z rom_bank1___0 + // BYTE1(address) + // [1476] rom_write_byte::rom_bank1_$1 = byte1 rom_write_byte::address#4 -- vbuz1=_byte1_vduz2 + lda.z address+1 + sta.z rom_bank1___1 + // MAKEWORD(BYTE2(address),BYTE1(address)) + // [1477] rom_write_byte::rom_bank1_$2 = rom_write_byte::rom_bank1_$0 w= rom_write_byte::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 + lda.z rom_bank1___0 + sta.z rom_bank1___2+1 + lda.z rom_bank1___1 + sta.z rom_bank1___2 + // unsigned int bank_unshifted = MAKEWORD(BYTE2(address),BYTE1(address)) << 2 + // [1478] rom_write_byte::rom_bank1_bank_unshifted#0 = rom_write_byte::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 + asl.z rom_bank1_bank_unshifted + rol.z rom_bank1_bank_unshifted+1 + asl.z rom_bank1_bank_unshifted + rol.z rom_bank1_bank_unshifted+1 + // unsigned char bank = BYTE1(bank_unshifted) + // [1479] rom_write_byte::rom_bank1_return#0 = byte1 rom_write_byte::rom_bank1_bank_unshifted#0 -- vbuz1=_byte1_vwuz2 + lda.z rom_bank1_bank_unshifted+1 + sta.z rom_bank1_return + // rom_write_byte::rom_ptr1 + // (unsigned int)(address) & ROM_PTR_MASK + // [1480] rom_write_byte::rom_ptr1_$2 = (unsigned int)rom_write_byte::address#4 -- vwuz1=_word_vduz2 lda.z address - sta.z rom_ptr.address + sta.z rom_ptr1___2 lda.z address+1 - sta.z rom_ptr.address+1 - lda.z address+2 - sta.z rom_ptr.address+2 - lda.z address+3 - sta.z rom_ptr.address+3 - // [1482] call rom_ptr - // [1451] phi from rom_write_byte::@1 to rom_ptr [phi:rom_write_byte::@1->rom_ptr] - // [1451] phi rom_ptr::address#6 = rom_ptr::address#2 [phi:rom_write_byte::@1->rom_ptr#0] -- register_copy - jsr rom_ptr - // rom_write_byte::@2 - // brom_ptr_t ptr_rom = rom_ptr((unsigned long)address) - // [1483] rom_write_byte::ptr_rom#0 = (char *)rom_ptr::return#1 -- pbuz1=pbuz2 - lda.z rom_ptr.return - sta.z ptr_rom - lda.z rom_ptr.return+1 - sta.z ptr_rom+1 + sta.z rom_ptr1___2+1 + // [1481] rom_write_byte::rom_ptr1_$0 = rom_write_byte::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + lda.z rom_ptr1___0 + and #<$3fff + sta.z rom_ptr1___0 + lda.z rom_ptr1___0+1 + and #>$3fff + sta.z rom_ptr1___0+1 + // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE + // [1482] rom_write_byte::rom_ptr1_return#0 = rom_write_byte::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + lda.z rom_ptr1_return + clc + adc #<$c000 + sta.z rom_ptr1_return + lda.z rom_ptr1_return+1 + adc #>$c000 + sta.z rom_ptr1_return+1 + // rom_write_byte::@1 // bank_set_brom(bank_rom) - // [1484] bank_set_brom::bank#3 = rom_write_byte::bank_rom#0 -- vbuz1=vbuz2 - lda.z bank_rom - sta.z bank_set_brom.bank - // [1485] call bank_set_brom - // [811] phi from rom_write_byte::@2 to bank_set_brom [phi:rom_write_byte::@2->bank_set_brom] - // [811] phi bank_set_brom::bank#12 = bank_set_brom::bank#3 [phi:rom_write_byte::@2->bank_set_brom#0] -- register_copy + // [1483] bank_set_brom::bank#3 = rom_write_byte::rom_bank1_return#0 + // [1484] call bank_set_brom + // [818] phi from rom_write_byte::@1 to bank_set_brom [phi:rom_write_byte::@1->bank_set_brom] + // [818] phi bank_set_brom::bank#12 = bank_set_brom::bank#3 [phi:rom_write_byte::@1->bank_set_brom#0] -- register_copy jsr bank_set_brom - // rom_write_byte::@3 + // rom_write_byte::@2 // *ptr_rom = value - // [1486] *rom_write_byte::ptr_rom#0 = rom_write_byte::value#4 -- _deref_pbuz1=vbuz2 + // [1485] *((char *)rom_write_byte::rom_ptr1_return#0) = rom_write_byte::value#10 -- _deref_pbuz1=vbuz2 lda.z value ldy #0 - sta (ptr_rom),y + sta (rom_ptr1_return),y // rom_write_byte::@return // } - // [1487] return + // [1486] return rts } // insertup // Insert a new line, and scroll the upper part of the screen up. // void insertup(char rows) insertup: { - .label __0 = $78 - .label __4 = $60 - .label __6 = $68 - .label __7 = $60 - .label width = $78 - .label y = $5d + .label __0 = $67 + .label __4 = $5a + .label __6 = $5b + .label __7 = $5a + .label width = $67 + .label y = $56 // __conio.width+1 - // [1488] insertup::$0 = *((char *)&__conio+4) + 1 -- vbuz1=_deref_pbuc1_plus_1 + // [1487] insertup::$0 = *((char *)&__conio+4) + 1 -- vbuz1=_deref_pbuc1_plus_1 lda __conio+4 inc sta.z __0 // unsigned char width = (__conio.width+1) * 2 - // [1489] insertup::width#0 = insertup::$0 << 1 -- vbuz1=vbuz1_rol_1 + // [1488] insertup::width#0 = insertup::$0 << 1 -- vbuz1=vbuz1_rol_1 asl.z width - // [1490] phi from insertup to insertup::@1 [phi:insertup->insertup::@1] - // [1490] phi insertup::y#2 = 0 [phi:insertup->insertup::@1#0] -- vbuz1=vbuc1 + // [1489] phi from insertup to insertup::@1 [phi:insertup->insertup::@1] + // [1489] phi insertup::y#2 = 0 [phi:insertup->insertup::@1#0] -- vbuz1=vbuc1 lda #0 sta.z y // insertup::@1 __b1: // for(unsigned char y=0; y<=__conio.cursor_y; y++) - // [1491] if(insertup::y#2<=*((char *)&__conio+$e)) goto insertup::@2 -- vbuz1_le__deref_pbuc1_then_la1 + // [1490] if(insertup::y#2<=*((char *)&__conio+$e)) goto insertup::@2 -- vbuz1_le__deref_pbuc1_then_la1 lda __conio+$e cmp.z y bcs __b2 - // [1492] phi from insertup::@1 to insertup::@3 [phi:insertup::@1->insertup::@3] + // [1491] phi from insertup::@1 to insertup::@3 [phi:insertup::@1->insertup::@3] // insertup::@3 // clearline() - // [1493] call clearline + // [1492] call clearline jsr clearline // insertup::@return // } - // [1494] return + // [1493] return rts // insertup::@2 __b2: // y+1 - // [1495] insertup::$4 = insertup::y#2 + 1 -- vbuz1=vbuz2_plus_1 + // [1494] insertup::$4 = insertup::y#2 + 1 -- vbuz1=vbuz2_plus_1 lda.z y inc sta.z __4 // memcpy8_vram_vram(__conio.mapbase_bank, __conio.offsets[y], __conio.mapbase_bank, __conio.offsets[y+1], width) - // [1496] insertup::$6 = insertup::y#2 << 1 -- vbuz1=vbuz2_rol_1 + // [1495] insertup::$6 = insertup::y#2 << 1 -- vbuz1=vbuz2_rol_1 lda.z y asl sta.z __6 - // [1497] insertup::$7 = insertup::$4 << 1 -- vbuz1=vbuz1_rol_1 + // [1496] insertup::$7 = insertup::$4 << 1 -- vbuz1=vbuz1_rol_1 asl.z __7 - // [1498] memcpy8_vram_vram::dbank_vram#0 = *((char *)&__conio+3) -- vbuz1=_deref_pbuc1 + // [1497] memcpy8_vram_vram::dbank_vram#0 = *((char *)&__conio+3) -- vbuz1=_deref_pbuc1 lda __conio+3 sta.z memcpy8_vram_vram.dbank_vram - // [1499] memcpy8_vram_vram::doffset_vram#0 = ((unsigned int *)&__conio+$15)[insertup::$6] -- vwuz1=pwuc1_derefidx_vbuz2 + // [1498] memcpy8_vram_vram::doffset_vram#0 = ((unsigned int *)&__conio+$15)[insertup::$6] -- vwuz1=pwuc1_derefidx_vbuz2 ldy.z __6 lda __conio+$15,y sta.z memcpy8_vram_vram.doffset_vram lda __conio+$15+1,y sta.z memcpy8_vram_vram.doffset_vram+1 - // [1500] memcpy8_vram_vram::sbank_vram#0 = *((char *)&__conio+3) -- vbuz1=_deref_pbuc1 + // [1499] memcpy8_vram_vram::sbank_vram#0 = *((char *)&__conio+3) -- vbuz1=_deref_pbuc1 lda __conio+3 sta.z memcpy8_vram_vram.sbank_vram - // [1501] memcpy8_vram_vram::soffset_vram#0 = ((unsigned int *)&__conio+$15)[insertup::$7] -- vwuz1=pwuc1_derefidx_vbuz2 + // [1500] memcpy8_vram_vram::soffset_vram#0 = ((unsigned int *)&__conio+$15)[insertup::$7] -- vwuz1=pwuc1_derefidx_vbuz2 ldy.z __7 lda __conio+$15,y sta.z memcpy8_vram_vram.soffset_vram lda __conio+$15+1,y sta.z memcpy8_vram_vram.soffset_vram+1 - // [1502] memcpy8_vram_vram::num8#1 = insertup::width#0 -- vbuz1=vbuz2 + // [1501] memcpy8_vram_vram::num8#1 = insertup::width#0 -- vbuz1=vbuz2 lda.z width sta.z memcpy8_vram_vram.num8_1 - // [1503] call memcpy8_vram_vram + // [1502] call memcpy8_vram_vram jsr memcpy8_vram_vram // insertup::@4 // for(unsigned char y=0; y<=__conio.cursor_y; y++) - // [1504] insertup::y#1 = ++ insertup::y#2 -- vbuz1=_inc_vbuz1 + // [1503] insertup::y#1 = ++ insertup::y#2 -- vbuz1=_inc_vbuz1 inc.z y - // [1490] phi from insertup::@4 to insertup::@1 [phi:insertup::@4->insertup::@1] - // [1490] phi insertup::y#2 = insertup::y#1 [phi:insertup::@4->insertup::@1#0] -- register_copy + // [1489] phi from insertup::@4 to insertup::@1 [phi:insertup::@4->insertup::@1] + // [1489] phi insertup::y#2 = insertup::y#1 [phi:insertup::@4->insertup::@1#0] -- register_copy jmp __b1 } // clearline clearline: { - .label __0 = $4c - .label __1 = $4f - .label __2 = $50 - .label __3 = $4d - .label addr = $5e - .label c = $35 + .label __0 = $49 + .label __1 = $4b + .label __2 = $4c + .label __3 = $4a + .label addr = $58 + .label c = $37 // unsigned int addr = __conio.offsets[__conio.cursor_y] - // [1505] clearline::$3 = *((char *)&__conio+$e) << 1 -- vbuz1=_deref_pbuc1_rol_1 + // [1504] clearline::$3 = *((char *)&__conio+$e) << 1 -- vbuz1=_deref_pbuc1_rol_1 lda __conio+$e asl sta.z __3 - // [1506] clearline::addr#0 = ((unsigned int *)&__conio+$15)[clearline::$3] -- vwuz1=pwuc1_derefidx_vbuz2 + // [1505] clearline::addr#0 = ((unsigned int *)&__conio+$15)[clearline::$3] -- vwuz1=pwuc1_derefidx_vbuz2 tay lda __conio+$15,y sta.z addr lda __conio+$15+1,y sta.z addr+1 // *VERA_CTRL &= ~VERA_ADDRSEL - // [1507] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [1506] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_ADDRSEL^$ff and VERA_CTRL sta VERA_CTRL // BYTE0(addr) - // [1508] clearline::$0 = byte0 clearline::addr#0 -- vbuz1=_byte0_vwuz2 + // [1507] clearline::$0 = byte0 clearline::addr#0 -- vbuz1=_byte0_vwuz2 lda.z addr sta.z __0 // *VERA_ADDRX_L = BYTE0(addr) - // [1509] *VERA_ADDRX_L = clearline::$0 -- _deref_pbuc1=vbuz1 + // [1508] *VERA_ADDRX_L = clearline::$0 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_L // BYTE1(addr) - // [1510] clearline::$1 = byte1 clearline::addr#0 -- vbuz1=_byte1_vwuz2 + // [1509] clearline::$1 = byte1 clearline::addr#0 -- vbuz1=_byte1_vwuz2 lda.z addr+1 sta.z __1 // *VERA_ADDRX_M = BYTE1(addr) - // [1511] *VERA_ADDRX_M = clearline::$1 -- _deref_pbuc1=vbuz1 + // [1510] *VERA_ADDRX_M = clearline::$1 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_M // __conio.mapbase_bank | VERA_INC_1 - // [1512] clearline::$2 = *((char *)&__conio+3) | VERA_INC_1 -- vbuz1=_deref_pbuc1_bor_vbuc2 + // [1511] clearline::$2 = *((char *)&__conio+3) | VERA_INC_1 -- vbuz1=_deref_pbuc1_bor_vbuc2 lda #VERA_INC_1 ora __conio+3 sta.z __2 // *VERA_ADDRX_H = __conio.mapbase_bank | VERA_INC_1 - // [1513] *VERA_ADDRX_H = clearline::$2 -- _deref_pbuc1=vbuz1 + // [1512] *VERA_ADDRX_H = clearline::$2 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_H // register unsigned char c=__conio.width - // [1514] clearline::c#0 = *((char *)&__conio+4) -- vbuz1=_deref_pbuc1 + // [1513] clearline::c#0 = *((char *)&__conio+4) -- vbuz1=_deref_pbuc1 lda __conio+4 sta.z c - // [1515] phi from clearline clearline::@1 to clearline::@1 [phi:clearline/clearline::@1->clearline::@1] - // [1515] phi clearline::c#2 = clearline::c#0 [phi:clearline/clearline::@1->clearline::@1#0] -- register_copy + // [1514] phi from clearline clearline::@1 to clearline::@1 [phi:clearline/clearline::@1->clearline::@1] + // [1514] phi clearline::c#2 = clearline::c#0 [phi:clearline/clearline::@1->clearline::@1#0] -- register_copy // clearline::@1 __b1: // *VERA_DATA0 = ' ' - // [1516] *VERA_DATA0 = ' 'pm -- _deref_pbuc1=vbuc2 + // [1515] *VERA_DATA0 = ' 'pm -- _deref_pbuc1=vbuc2 lda #' ' sta VERA_DATA0 // *VERA_DATA0 = __conio.color - // [1517] *VERA_DATA0 = *((char *)&__conio+$b) -- _deref_pbuc1=_deref_pbuc2 + // [1516] *VERA_DATA0 = *((char *)&__conio+$b) -- _deref_pbuc1=_deref_pbuc2 lda __conio+$b sta VERA_DATA0 // c--; - // [1518] clearline::c#1 = -- clearline::c#2 -- vbuz1=_dec_vbuz1 + // [1517] clearline::c#1 = -- clearline::c#2 -- vbuz1=_dec_vbuz1 dec.z c // while(c) - // [1519] if(0!=clearline::c#1) goto clearline::@1 -- 0_neq_vbuz1_then_la1 + // [1518] if(0!=clearline::c#1) goto clearline::@1 -- 0_neq_vbuz1_then_la1 lda.z c bne __b1 // clearline::@return // } - // [1520] return + // [1519] return rts } // utoa_append @@ -9985,22 +10023,22 @@ clearline: { // - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. // (For decimal the subs used are 10000, 1000, 100, 10, 1) // returns : the value reduced by sub * digit so that it is less than sub. -// __zp($28) unsigned int utoa_append(__zp($48) char *buffer, __zp($28) unsigned int value, __zp($2c) unsigned int sub) +// __zp($27) unsigned int utoa_append(__zp($40) char *buffer, __zp($27) unsigned int value, __zp($2c) unsigned int sub) utoa_append: { - .label buffer = $48 - .label value = $28 + .label buffer = $40 + .label value = $27 .label sub = $2c - .label return = $28 - .label digit = $22 - // [1522] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1] - // [1522] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuz1=vbuc1 + .label return = $27 + .label digit = $29 + // [1521] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1] + // [1521] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuz1=vbuc1 lda #0 sta.z digit - // [1522] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy + // [1521] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy // utoa_append::@1 __b1: // while (value >= sub) - // [1523] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1 + // [1522] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1 lda.z sub+1 cmp.z value+1 bne !+ @@ -10011,22 +10049,22 @@ utoa_append: { bcc __b2 // utoa_append::@3 // *buffer = DIGITS[digit] - // [1524] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + // [1523] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy.z digit lda DIGITS,y ldy #0 sta (buffer),y // utoa_append::@return // } - // [1525] return + // [1524] return rts // utoa_append::@2 __b2: // digit++; - // [1526] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuz1=_inc_vbuz1 + // [1525] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuz1=_inc_vbuz1 inc.z digit // value -= sub - // [1527] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 -- vwuz1=vwuz1_minus_vwuz2 + // [1526] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 -- vwuz1=vwuz1_minus_vwuz2 lda.z value sec sbc.z sub @@ -10034,9 +10072,9 @@ utoa_append: { lda.z value+1 sbc.z sub+1 sta.z value+1 - // [1522] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1] - // [1522] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy - // [1522] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy + // [1521] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1] + // [1521] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy + // [1521] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy jmp __b1 } // strupr @@ -10044,10 +10082,10 @@ utoa_append: { // char * strupr(char *str) strupr: { .label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS - .label __0 = $37 + .label __0 = $39 .label src = $2c - // [1529] phi from strupr to strupr::@1 [phi:strupr->strupr::@1] - // [1529] phi strupr::src#2 = strupr::str#0 [phi:strupr->strupr::@1#0] -- pbuz1=pbuc1 + // [1528] phi from strupr to strupr::@1 [phi:strupr->strupr::@1] + // [1528] phi strupr::src#2 = strupr::str#0 [phi:strupr->strupr::@1#0] -- pbuz1=pbuc1 lda #str @@ -10055,40 +10093,40 @@ strupr: { // strupr::@1 __b1: // while(*src) - // [1530] if(0!=*strupr::src#2) goto strupr::@2 -- 0_neq__deref_pbuz1_then_la1 + // [1529] if(0!=*strupr::src#2) goto strupr::@2 -- 0_neq__deref_pbuz1_then_la1 ldy #0 lda (src),y cmp #0 bne __b2 // strupr::@return // } - // [1531] return + // [1530] return rts // strupr::@2 __b2: // toupper(*src) - // [1532] toupper::ch#0 = *strupr::src#2 -- vbuz1=_deref_pbuz2 + // [1531] toupper::ch#0 = *strupr::src#2 -- vbuz1=_deref_pbuz2 ldy #0 lda (src),y sta.z toupper.ch - // [1533] call toupper + // [1532] call toupper jsr toupper - // [1534] toupper::return#3 = toupper::return#2 + // [1533] toupper::return#3 = toupper::return#2 // strupr::@3 - // [1535] strupr::$0 = toupper::return#3 + // [1534] strupr::$0 = toupper::return#3 // *src = toupper(*src) - // [1536] *strupr::src#2 = strupr::$0 -- _deref_pbuz1=vbuz2 + // [1535] *strupr::src#2 = strupr::$0 -- _deref_pbuz1=vbuz2 lda.z __0 ldy #0 sta (src),y // src++; - // [1537] strupr::src#1 = ++ strupr::src#2 -- pbuz1=_inc_pbuz1 + // [1536] strupr::src#1 = ++ strupr::src#2 -- pbuz1=_inc_pbuz1 inc.z src bne !+ inc.z src+1 !: - // [1529] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1] - // [1529] phi strupr::src#2 = strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy + // [1528] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1] + // [1528] phi strupr::src#2 = strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy jmp __b1 } // uctoa_append @@ -10100,50 +10138,50 @@ strupr: { // - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. // (For decimal the subs used are 10000, 1000, 100, 10, 1) // returns : the value reduced by sub * digit so that it is less than sub. -// __zp($27) char uctoa_append(__zp($2c) char *buffer, __zp($27) char value, __zp($22) char sub) +// __zp($26) char uctoa_append(__zp($2c) char *buffer, __zp($26) char value, __zp($2e) char sub) uctoa_append: { .label buffer = $2c - .label value = $27 - .label sub = $22 - .label return = $27 + .label value = $26 + .label sub = $2e + .label return = $26 .label digit = $2a - // [1539] phi from uctoa_append to uctoa_append::@1 [phi:uctoa_append->uctoa_append::@1] - // [1539] phi uctoa_append::digit#2 = 0 [phi:uctoa_append->uctoa_append::@1#0] -- vbuz1=vbuc1 + // [1538] phi from uctoa_append to uctoa_append::@1 [phi:uctoa_append->uctoa_append::@1] + // [1538] phi uctoa_append::digit#2 = 0 [phi:uctoa_append->uctoa_append::@1#0] -- vbuz1=vbuc1 lda #0 sta.z digit - // [1539] phi uctoa_append::value#2 = uctoa_append::value#0 [phi:uctoa_append->uctoa_append::@1#1] -- register_copy + // [1538] phi uctoa_append::value#2 = uctoa_append::value#0 [phi:uctoa_append->uctoa_append::@1#1] -- register_copy // uctoa_append::@1 __b1: // while (value >= sub) - // [1540] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2 -- vbuz1_ge_vbuz2_then_la1 + // [1539] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z value cmp.z sub bcs __b2 // uctoa_append::@3 // *buffer = DIGITS[digit] - // [1541] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + // [1540] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy.z digit lda DIGITS,y ldy #0 sta (buffer),y // uctoa_append::@return // } - // [1542] return + // [1541] return rts // uctoa_append::@2 __b2: // digit++; - // [1543] uctoa_append::digit#1 = ++ uctoa_append::digit#2 -- vbuz1=_inc_vbuz1 + // [1542] uctoa_append::digit#1 = ++ uctoa_append::digit#2 -- vbuz1=_inc_vbuz1 inc.z digit // value -= sub - // [1544] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 -- vbuz1=vbuz1_minus_vbuz2 + // [1543] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 -- vbuz1=vbuz1_minus_vbuz2 lda.z value sec sbc.z sub sta.z value - // [1539] phi from uctoa_append::@2 to uctoa_append::@1 [phi:uctoa_append::@2->uctoa_append::@1] - // [1539] phi uctoa_append::digit#2 = uctoa_append::digit#1 [phi:uctoa_append::@2->uctoa_append::@1#0] -- register_copy - // [1539] phi uctoa_append::value#2 = uctoa_append::value#1 [phi:uctoa_append::@2->uctoa_append::@1#1] -- register_copy + // [1538] phi from uctoa_append::@2 to uctoa_append::@1 [phi:uctoa_append::@2->uctoa_append::@1] + // [1538] phi uctoa_append::digit#2 = uctoa_append::digit#1 [phi:uctoa_append::@2->uctoa_append::@1#0] -- register_copy + // [1538] phi uctoa_append::value#2 = uctoa_append::value#1 [phi:uctoa_append::@2->uctoa_append::@1#1] -- register_copy jmp __b1 } // ultoa @@ -10152,68 +10190,68 @@ uctoa_append: { // - value : The number to be converted to RADIX // - buffer : receives the string representing the number and zero-termination. // - radix : The radix to convert the number to (from the enum RADIX) -// void ultoa(__zp($23) unsigned long value, __zp($48) char *buffer, char radix) +// void ultoa(__zp($22) unsigned long value, __zp($40) char *buffer, char radix) ultoa: { - .label __10 = $4e - .label __11 = $4b - .label digit_value = $2e - .label buffer = $48 - .label digit = $37 - .label value = $23 - .label started = $54 - // [1546] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1] - // [1546] phi ultoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa->ultoa::@1#0] -- pbuz1=pbuc1 + .label __10 = $46 + .label __11 = $2e + .label digit_value = $2f + .label buffer = $40 + .label digit = $2a + .label value = $22 + .label started = $39 + // [1545] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1] + // [1545] phi ultoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa->ultoa::@1#0] -- pbuz1=pbuc1 lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS sta.z buffer+1 - // [1546] phi ultoa::started#2 = 0 [phi:ultoa->ultoa::@1#1] -- vbuz1=vbuc1 + // [1545] phi ultoa::started#2 = 0 [phi:ultoa->ultoa::@1#1] -- vbuz1=vbuc1 lda #0 sta.z started - // [1546] phi ultoa::value#2 = ultoa::value#1 [phi:ultoa->ultoa::@1#2] -- register_copy - // [1546] phi ultoa::digit#2 = 0 [phi:ultoa->ultoa::@1#3] -- vbuz1=vbuc1 + // [1545] phi ultoa::value#2 = ultoa::value#1 [phi:ultoa->ultoa::@1#2] -- register_copy + // [1545] phi ultoa::digit#2 = 0 [phi:ultoa->ultoa::@1#3] -- vbuz1=vbuc1 sta.z digit // ultoa::@1 __b1: // for( char digit=0; digit= digit_value) - // [1555] if(0!=ultoa::started#2) goto ultoa::@5 -- 0_neq_vbuz1_then_la1 + // [1554] if(0!=ultoa::started#2) goto ultoa::@5 -- 0_neq_vbuz1_then_la1 lda.z started bne __b5 // ultoa::@7 - // [1556] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5 -- vduz1_ge_vduz2_then_la1 + // [1555] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5 -- vduz1_ge_vduz2_then_la1 lda.z value+3 cmp.z digit_value+3 bcc !+ @@ -10245,51 +10283,51 @@ ultoa: { cmp.z digit_value bcs __b5 !: - // [1557] phi from ultoa::@7 to ultoa::@4 [phi:ultoa::@7->ultoa::@4] - // [1557] phi ultoa::buffer#14 = ultoa::buffer#11 [phi:ultoa::@7->ultoa::@4#0] -- register_copy - // [1557] phi ultoa::started#4 = ultoa::started#2 [phi:ultoa::@7->ultoa::@4#1] -- register_copy - // [1557] phi ultoa::value#6 = ultoa::value#2 [phi:ultoa::@7->ultoa::@4#2] -- register_copy + // [1556] phi from ultoa::@7 to ultoa::@4 [phi:ultoa::@7->ultoa::@4] + // [1556] phi ultoa::buffer#14 = ultoa::buffer#11 [phi:ultoa::@7->ultoa::@4#0] -- register_copy + // [1556] phi ultoa::started#4 = ultoa::started#2 [phi:ultoa::@7->ultoa::@4#1] -- register_copy + // [1556] phi ultoa::value#6 = ultoa::value#2 [phi:ultoa::@7->ultoa::@4#2] -- register_copy // ultoa::@4 __b4: // for( char digit=0; digitultoa::@1] - // [1546] phi ultoa::buffer#11 = ultoa::buffer#14 [phi:ultoa::@4->ultoa::@1#0] -- register_copy - // [1546] phi ultoa::started#2 = ultoa::started#4 [phi:ultoa::@4->ultoa::@1#1] -- register_copy - // [1546] phi ultoa::value#2 = ultoa::value#6 [phi:ultoa::@4->ultoa::@1#2] -- register_copy - // [1546] phi ultoa::digit#2 = ultoa::digit#1 [phi:ultoa::@4->ultoa::@1#3] -- register_copy + // [1545] phi from ultoa::@4 to ultoa::@1 [phi:ultoa::@4->ultoa::@1] + // [1545] phi ultoa::buffer#11 = ultoa::buffer#14 [phi:ultoa::@4->ultoa::@1#0] -- register_copy + // [1545] phi ultoa::started#2 = ultoa::started#4 [phi:ultoa::@4->ultoa::@1#1] -- register_copy + // [1545] phi ultoa::value#2 = ultoa::value#6 [phi:ultoa::@4->ultoa::@1#2] -- register_copy + // [1545] phi ultoa::digit#2 = ultoa::digit#1 [phi:ultoa::@4->ultoa::@1#3] -- register_copy jmp __b1 // ultoa::@5 __b5: // ultoa_append(buffer++, value, digit_value) - // [1559] ultoa_append::buffer#0 = ultoa::buffer#11 -- pbuz1=pbuz2 + // [1558] ultoa_append::buffer#0 = ultoa::buffer#11 -- pbuz1=pbuz2 lda.z buffer sta.z ultoa_append.buffer lda.z buffer+1 sta.z ultoa_append.buffer+1 - // [1560] ultoa_append::value#0 = ultoa::value#2 - // [1561] ultoa_append::sub#0 = ultoa::digit_value#0 - // [1562] call ultoa_append - // [1596] phi from ultoa::@5 to ultoa_append [phi:ultoa::@5->ultoa_append] + // [1559] ultoa_append::value#0 = ultoa::value#2 + // [1560] ultoa_append::sub#0 = ultoa::digit_value#0 + // [1561] call ultoa_append + // [1595] phi from ultoa::@5 to ultoa_append [phi:ultoa::@5->ultoa_append] jsr ultoa_append // ultoa_append(buffer++, value, digit_value) - // [1563] ultoa_append::return#0 = ultoa_append::value#2 + // [1562] ultoa_append::return#0 = ultoa_append::value#2 // ultoa::@6 // value = ultoa_append(buffer++, value, digit_value) - // [1564] ultoa::value#0 = ultoa_append::return#0 + // [1563] ultoa::value#0 = ultoa_append::return#0 // value = ultoa_append(buffer++, value, digit_value); - // [1565] ultoa::buffer#4 = ++ ultoa::buffer#11 -- pbuz1=_inc_pbuz1 + // [1564] ultoa::buffer#4 = ++ ultoa::buffer#11 -- pbuz1=_inc_pbuz1 inc.z buffer bne !+ inc.z buffer+1 !: - // [1557] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4] - // [1557] phi ultoa::buffer#14 = ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy - // [1557] phi ultoa::started#4 = 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuz1=vbuc1 + // [1556] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4] + // [1556] phi ultoa::buffer#14 = ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy + // [1556] phi ultoa::started#4 = 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuz1=vbuc1 lda #1 sta.z started - // [1557] phi ultoa::value#6 = ultoa::value#0 [phi:ultoa::@6->ultoa::@4#2] -- register_copy + // [1556] phi ultoa::value#6 = ultoa::value#0 [phi:ultoa::@6->ultoa::@4#2] -- register_copy jmp __b4 } // cbm_k_macptr @@ -10301,13 +10339,13 @@ ultoa: { * @return y the size of bytes read * @return if carry is set there is an error */ -// __zp($48) unsigned int cbm_k_macptr(__zp($a9) volatile char bytes, __zp($7d) void * volatile buffer) +// __zp($40) unsigned int cbm_k_macptr(__zp($71) volatile char bytes, __zp($6e) void * volatile buffer) cbm_k_macptr: { - .label bytes = $a9 - .label buffer = $7d - .label return = $48 + .label bytes = $71 + .label buffer = $6e + .label return = $40 // __mem unsigned int bytes_read - // [1566] cbm_k_macptr::bytes_read = 0 -- vwum1=vwuc1 + // [1565] cbm_k_macptr::bytes_read = 0 -- vwum1=vwuc1 lda #<0 sta bytes_read sta bytes_read+1 @@ -10326,15 +10364,15 @@ cbm_k_macptr: { sta bytes_read+1 !: // return bytes_read; - // [1568] cbm_k_macptr::return#0 = cbm_k_macptr::bytes_read -- vwuz1=vwum2 + // [1567] cbm_k_macptr::return#0 = cbm_k_macptr::bytes_read -- vwuz1=vwum2 lda bytes_read sta.z return lda bytes_read+1 sta.z return+1 // cbm_k_macptr::@return // } - // [1569] cbm_k_macptr::return#1 = cbm_k_macptr::return#0 - // [1570] return + // [1568] cbm_k_macptr::return#1 = cbm_k_macptr::return#0 + // [1569] return rts .segment Data bytes_read: .word 0 @@ -10354,98 +10392,98 @@ cbm_k_macptr: { * @param soffset_vram Offset of the source location in vram. * @param num16 Specified the amount of bytes to be copied. */ -// void memcpy8_vram_vram(__zp($4d) char dbank_vram, __zp($5e) unsigned int doffset_vram, __zp($4c) char sbank_vram, __zp($5b) unsigned int soffset_vram, __zp($36) char num8) +// void memcpy8_vram_vram(__zp($4a) char dbank_vram, __zp($58) unsigned int doffset_vram, __zp($49) char sbank_vram, __zp($54) unsigned int soffset_vram, __zp($38) char num8) memcpy8_vram_vram: { - .label __0 = $4f - .label __1 = $50 - .label __2 = $4c - .label __3 = $52 - .label __4 = $53 - .label __5 = $4d - .label num8 = $36 - .label dbank_vram = $4d - .label doffset_vram = $5e - .label sbank_vram = $4c - .label soffset_vram = $5b - .label num8_1 = $35 + .label __0 = $4b + .label __1 = $4c + .label __2 = $49 + .label __3 = $4d + .label __4 = $4e + .label __5 = $4a + .label num8 = $38 + .label dbank_vram = $4a + .label doffset_vram = $58 + .label sbank_vram = $49 + .label soffset_vram = $54 + .label num8_1 = $37 // *VERA_CTRL &= ~VERA_ADDRSEL - // [1571] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [1570] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_ADDRSEL^$ff and VERA_CTRL sta VERA_CTRL // BYTE0(soffset_vram) - // [1572] memcpy8_vram_vram::$0 = byte0 memcpy8_vram_vram::soffset_vram#0 -- vbuz1=_byte0_vwuz2 + // [1571] memcpy8_vram_vram::$0 = byte0 memcpy8_vram_vram::soffset_vram#0 -- vbuz1=_byte0_vwuz2 lda.z soffset_vram sta.z __0 // *VERA_ADDRX_L = BYTE0(soffset_vram) - // [1573] *VERA_ADDRX_L = memcpy8_vram_vram::$0 -- _deref_pbuc1=vbuz1 + // [1572] *VERA_ADDRX_L = memcpy8_vram_vram::$0 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_L // BYTE1(soffset_vram) - // [1574] memcpy8_vram_vram::$1 = byte1 memcpy8_vram_vram::soffset_vram#0 -- vbuz1=_byte1_vwuz2 + // [1573] memcpy8_vram_vram::$1 = byte1 memcpy8_vram_vram::soffset_vram#0 -- vbuz1=_byte1_vwuz2 lda.z soffset_vram+1 sta.z __1 // *VERA_ADDRX_M = BYTE1(soffset_vram) - // [1575] *VERA_ADDRX_M = memcpy8_vram_vram::$1 -- _deref_pbuc1=vbuz1 + // [1574] *VERA_ADDRX_M = memcpy8_vram_vram::$1 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_M // sbank_vram | VERA_INC_1 - // [1576] memcpy8_vram_vram::$2 = memcpy8_vram_vram::sbank_vram#0 | VERA_INC_1 -- vbuz1=vbuz1_bor_vbuc1 + // [1575] memcpy8_vram_vram::$2 = memcpy8_vram_vram::sbank_vram#0 | VERA_INC_1 -- vbuz1=vbuz1_bor_vbuc1 lda #VERA_INC_1 ora.z __2 sta.z __2 // *VERA_ADDRX_H = sbank_vram | VERA_INC_1 - // [1577] *VERA_ADDRX_H = memcpy8_vram_vram::$2 -- _deref_pbuc1=vbuz1 + // [1576] *VERA_ADDRX_H = memcpy8_vram_vram::$2 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_H // *VERA_CTRL |= VERA_ADDRSEL - // [1578] *VERA_CTRL = *VERA_CTRL | VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 + // [1577] *VERA_CTRL = *VERA_CTRL | VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 lda #VERA_ADDRSEL ora VERA_CTRL sta VERA_CTRL // BYTE0(doffset_vram) - // [1579] memcpy8_vram_vram::$3 = byte0 memcpy8_vram_vram::doffset_vram#0 -- vbuz1=_byte0_vwuz2 + // [1578] memcpy8_vram_vram::$3 = byte0 memcpy8_vram_vram::doffset_vram#0 -- vbuz1=_byte0_vwuz2 lda.z doffset_vram sta.z __3 // *VERA_ADDRX_L = BYTE0(doffset_vram) - // [1580] *VERA_ADDRX_L = memcpy8_vram_vram::$3 -- _deref_pbuc1=vbuz1 + // [1579] *VERA_ADDRX_L = memcpy8_vram_vram::$3 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_L // BYTE1(doffset_vram) - // [1581] memcpy8_vram_vram::$4 = byte1 memcpy8_vram_vram::doffset_vram#0 -- vbuz1=_byte1_vwuz2 + // [1580] memcpy8_vram_vram::$4 = byte1 memcpy8_vram_vram::doffset_vram#0 -- vbuz1=_byte1_vwuz2 lda.z doffset_vram+1 sta.z __4 // *VERA_ADDRX_M = BYTE1(doffset_vram) - // [1582] *VERA_ADDRX_M = memcpy8_vram_vram::$4 -- _deref_pbuc1=vbuz1 + // [1581] *VERA_ADDRX_M = memcpy8_vram_vram::$4 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_M // dbank_vram | VERA_INC_1 - // [1583] memcpy8_vram_vram::$5 = memcpy8_vram_vram::dbank_vram#0 | VERA_INC_1 -- vbuz1=vbuz1_bor_vbuc1 + // [1582] memcpy8_vram_vram::$5 = memcpy8_vram_vram::dbank_vram#0 | VERA_INC_1 -- vbuz1=vbuz1_bor_vbuc1 lda #VERA_INC_1 ora.z __5 sta.z __5 // *VERA_ADDRX_H = dbank_vram | VERA_INC_1 - // [1584] *VERA_ADDRX_H = memcpy8_vram_vram::$5 -- _deref_pbuc1=vbuz1 + // [1583] *VERA_ADDRX_H = memcpy8_vram_vram::$5 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_H - // [1585] phi from memcpy8_vram_vram memcpy8_vram_vram::@2 to memcpy8_vram_vram::@1 [phi:memcpy8_vram_vram/memcpy8_vram_vram::@2->memcpy8_vram_vram::@1] + // [1584] phi from memcpy8_vram_vram memcpy8_vram_vram::@2 to memcpy8_vram_vram::@1 [phi:memcpy8_vram_vram/memcpy8_vram_vram::@2->memcpy8_vram_vram::@1] __b1: - // [1585] phi memcpy8_vram_vram::num8#2 = memcpy8_vram_vram::num8#1 [phi:memcpy8_vram_vram/memcpy8_vram_vram::@2->memcpy8_vram_vram::@1#0] -- register_copy + // [1584] phi memcpy8_vram_vram::num8#2 = memcpy8_vram_vram::num8#1 [phi:memcpy8_vram_vram/memcpy8_vram_vram::@2->memcpy8_vram_vram::@1#0] -- register_copy // the size is only a byte, this is the fastest loop! // memcpy8_vram_vram::@1 // while (num8--) - // [1586] memcpy8_vram_vram::num8#0 = -- memcpy8_vram_vram::num8#2 -- vbuz1=_dec_vbuz2 + // [1585] memcpy8_vram_vram::num8#0 = -- memcpy8_vram_vram::num8#2 -- vbuz1=_dec_vbuz2 ldy.z num8_1 dey sty.z num8 - // [1587] if(0!=memcpy8_vram_vram::num8#2) goto memcpy8_vram_vram::@2 -- 0_neq_vbuz1_then_la1 + // [1586] if(0!=memcpy8_vram_vram::num8#2) goto memcpy8_vram_vram::@2 -- 0_neq_vbuz1_then_la1 lda.z num8_1 bne __b2 // memcpy8_vram_vram::@return // } - // [1588] return + // [1587] return rts // memcpy8_vram_vram::@2 __b2: // *VERA_DATA1 = *VERA_DATA0 - // [1589] *VERA_DATA1 = *VERA_DATA0 -- _deref_pbuc1=_deref_pbuc2 + // [1588] *VERA_DATA1 = *VERA_DATA0 -- _deref_pbuc1=_deref_pbuc2 lda VERA_DATA0 sta VERA_DATA1 - // [1590] memcpy8_vram_vram::num8#6 = memcpy8_vram_vram::num8#0 -- vbuz1=vbuz2 + // [1589] memcpy8_vram_vram::num8#6 = memcpy8_vram_vram::num8#0 -- vbuz1=vbuz2 lda.z num8 sta.z num8_1 jmp __b1 @@ -10453,27 +10491,27 @@ memcpy8_vram_vram: { // toupper // Convert lowercase alphabet to uppercase // Returns uppercase equivalent to c, if such value exists, else c remains unchanged -// __zp($37) char toupper(__zp($37) char ch) +// __zp($39) char toupper(__zp($39) char ch) toupper: { - .label return = $37 - .label ch = $37 + .label return = $39 + .label ch = $39 // if(ch>='a' && ch<='z') - // [1591] if(toupper::ch#0<'a'pm) goto toupper::@return -- vbuz1_lt_vbuc1_then_la1 + // [1590] if(toupper::ch#0<'a'pm) goto toupper::@return -- vbuz1_lt_vbuc1_then_la1 lda.z ch cmp #'a' bcc __breturn // toupper::@2 - // [1592] if(toupper::ch#0<='z'pm) goto toupper::@1 -- vbuz1_le_vbuc1_then_la1 + // [1591] if(toupper::ch#0<='z'pm) goto toupper::@1 -- vbuz1_le_vbuc1_then_la1 lda #'z' cmp.z ch bcs __b1 - // [1594] phi from toupper toupper::@1 toupper::@2 to toupper::@return [phi:toupper/toupper::@1/toupper::@2->toupper::@return] - // [1594] phi toupper::return#2 = toupper::ch#0 [phi:toupper/toupper::@1/toupper::@2->toupper::@return#0] -- register_copy + // [1593] phi from toupper toupper::@1 toupper::@2 to toupper::@return [phi:toupper/toupper::@1/toupper::@2->toupper::@return] + // [1593] phi toupper::return#2 = toupper::ch#0 [phi:toupper/toupper::@1/toupper::@2->toupper::@return#0] -- register_copy rts // toupper::@1 __b1: // return ch + ('A'-'a'); - // [1593] toupper::return#0 = toupper::ch#0 + 'A'pm-'a'pm -- vbuz1=vbuz1_plus_vbuc1 + // [1592] toupper::return#0 = toupper::ch#0 + 'A'pm-'a'pm -- vbuz1=vbuz1_plus_vbuc1 lda #'A'-'a' clc adc.z return @@ -10481,7 +10519,7 @@ toupper: { // toupper::@return __breturn: // } - // [1595] return + // [1594] return rts } // ultoa_append @@ -10493,22 +10531,22 @@ toupper: { // - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. // (For decimal the subs used are 10000, 1000, 100, 10, 1) // returns : the value reduced by sub * digit so that it is less than sub. -// __zp($23) unsigned long ultoa_append(__zp($2c) char *buffer, __zp($23) unsigned long value, __zp($2e) unsigned long sub) +// __zp($22) unsigned long ultoa_append(__zp($3e) char *buffer, __zp($22) unsigned long value, __zp($2f) unsigned long sub) ultoa_append: { - .label buffer = $2c - .label value = $23 - .label sub = $2e - .label return = $23 + .label buffer = $3e + .label value = $22 + .label sub = $2f + .label return = $22 .label digit = $2b - // [1597] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1] - // [1597] phi ultoa_append::digit#2 = 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuz1=vbuc1 + // [1596] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1] + // [1596] phi ultoa_append::digit#2 = 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuz1=vbuc1 lda #0 sta.z digit - // [1597] phi ultoa_append::value#2 = ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy + // [1596] phi ultoa_append::value#2 = ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy // ultoa_append::@1 __b1: // while (value >= sub) - // [1598] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1 + // [1597] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1 lda.z value+3 cmp.z sub+3 bcc !+ @@ -10527,22 +10565,22 @@ ultoa_append: { !: // ultoa_append::@3 // *buffer = DIGITS[digit] - // [1599] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + // [1598] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy.z digit lda DIGITS,y ldy #0 sta (buffer),y // ultoa_append::@return // } - // [1600] return + // [1599] return rts // ultoa_append::@2 __b2: // digit++; - // [1601] ultoa_append::digit#1 = ++ ultoa_append::digit#2 -- vbuz1=_inc_vbuz1 + // [1600] ultoa_append::digit#1 = ++ ultoa_append::digit#2 -- vbuz1=_inc_vbuz1 inc.z digit // value -= sub - // [1602] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2 + // [1601] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2 lda.z value sec sbc.z sub @@ -10556,9 +10594,9 @@ ultoa_append: { lda.z value+3 sbc.z sub+3 sta.z value+3 - // [1597] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1] - // [1597] phi ultoa_append::digit#2 = ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy - // [1597] phi ultoa_append::value#2 = ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy + // [1596] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1] + // [1596] phi ultoa_append::digit#2 = ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy + // [1596] phi ultoa_append::value#2 = ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy jmp __b1 } // File Data diff --git a/target/FLASH-CX16.klog b/target/FLASH-CX16.klog index 5735719..8dd6fce 100644 --- a/target/FLASH-CX16.klog +++ b/target/FLASH-CX16.klog @@ -14,10 +14,10 @@ Basic-segment: $0801-$080c Basic Code-segment: - $080d-$2de3 Code + $080d-$2dfa Code Data-segment: - $2de4-$326e Data + $2dfb-$329e Data Writing Vice symbol file: FLASH-CX16.vs Writing Symbol file: FLASH-CX16.sym diff --git a/target/ROM4.BIN b/target/ROM4.BIN deleted file mode 100644 index 424bdb231cb7fc3295fef6f5d4e086f0c0323e05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524288 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[Arc-FLb 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 zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c pNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNb3f0V#Y{|h5z_cZ_j