diff --git a/OVERVIEW.md b/OVERVIEW.md index 8caac2d..78ecdc3 100644 --- a/OVERVIEW.md +++ b/OVERVIEW.md @@ -30,8 +30,8 @@ This document provides a consolidated overview of all NES disassembly projects i | 20 | `Duck Hunt (JUE)` | Japan / USA / Europe | 16 KB | 8 KB | Horizontal | **PRG-IDENTICAL (Pass 2 complete, 37.5% code)** | $C086 / $C000 / $C000 | | 21 | `Golf (JU)` | Japan | 16 KB | 8 KB | Vertical | PRG-IDENTICAL (Pass 1+ substantial) | $C0A6 / $C000 / $C0C4 | | 22 | `Hogan's Alley (JU)` | Japan | 16 KB | 8 KB | Vertical | **PRG-IDENTICAL (Pass 1 complete, 41.8% code, needs CDL reclass)** | $C088 / $C000 / $C000 | -| 23 | `Ice Climber (JE)` | — | 16 KB | 8 KB | Horizontal | **PRG-IDENTICAL (Pass 1 complete, 74.7% code)** | $C076 / $C014 / $FFF0 | -| 24 | `Ice Climber (U)` | USA | 16 KB | 8 KB | Horizontal | **PRG-IDENTICAL (Pass 1 complete, 74.7% code)** | $C076 / $C014 / $FFF0 | +| 23 | `Ice Climber (JE)` | — | 16 KB | 8 KB | Horizontal | **PRG-IDENTICAL (Pass 2 complete, 74.7% code)** | $C076 / $C014 / $FFF0 | +| 24 | `Ice Climber (U)` | USA | 16 KB | 8 KB | Horizontal | **PRG-IDENTICAL (Pass 2 complete, 74.7% code)** | $C076 / $C014 / $FFF0 | | 25 | `Lode Runner (U)` | USA | 16 KB | 8 KB | Vertical | **PRG-IDENTICAL (Pass 1 complete, 52.6% code)** | $C02C / $C000 / $FFF9 | | 26 | `Mario Bros (JU)` | Japan | 16 KB | 8 KB | Vertical | PRG-IDENTICAL (Pass 1 complete, Pass 2 substantial) | $C07D / $C000 / $C000 | | 27 | `Millipede (U)` | USA | 16 KB | 8 KB | Vertical | **PRG-IDENTICAL (Pass 1 complete, 74.6% code)** | $C7F1 / $C735 / $FFF0 | diff --git a/_wip/Ice Climber (JE)/OVERVIEW.md b/_wip/Ice Climber (JE)/OVERVIEW.md index 4830c6a..a8d076b 100644 --- a/_wip/Ice Climber (JE)/OVERVIEW.md +++ b/_wip/Ice Climber (JE)/OVERVIEW.md @@ -1,6 +1,6 @@ -# Ice Climber (JE) — Skeleton Project +# Ice Climber (JE) — Pass 2 Complete -ROM: `_wip/Ice Climber (JE)/Ice Climber (JE).nes` (24,592 bytes, iNES). Status: **SKELETON — not yet disassembled.** The entire 16 KB PRG bank is a single unclassified block; `copilot/prg.s` is the default-project skeleton (`default_project.tar.gz`) that reproduces it as one `.incbin`. The skeleton build is **byte-identical** at the PRG level. +ROM: `_wip/Ice Climber (JE)/Ice Climber (JE).nes` (24,592 bytes, iNES). Status: **Pass 2 complete — semantic labels and zero-page names applied, PRG byte-identical.** `copilot/prg.s` contains a classified disassembly with 6,113 instructions (74.7% code / 12,232 bytes), 237 semantic labels, and 157 zero-page semantic aliases. The build is **BYTE-IDENTICAL** at the PRG level. **Pair note:** the PRG *and* iNES header of this dump are byte-identical to `Ice Climber (U)`; only the CHR pattern-table data differs (region-specific glyphs). @@ -31,14 +31,14 @@ ROM: `_wip/Ice Climber (JE)/Ice Climber (JE).nes` (24,592 bytes, iNES). Status: |------|---------| | `Ice Climber (JE).nes` | original ROM image (reference) | | `prg.bin` / `header.bin` / `chr.bin` | split image, produced by `_tools/splitnes.py` | -| `prg.s` | Pass-1 skeleton: `.incbin "prg.bin", $0000, $4000` (whole PRG) | +| `prg.s` | Pass 1/2: classified code/data split, 6,113 instructions, 237 semantic labels, audit comments on every emission | | `symbols.inc` | shared NES hardware constants (PPU/APU/controller, from the skeleton) | -| `locals.inc` | project-local zero-page aliases — empty for now (filled in Pass 2) | +| `locals.inc` | 157 zero-page semantic aliases (filled in by Pass 2) | | `linker.cfg` | PRG at $C000, 16 KB, `fill = yes` | | `Makefile` | links `reconstructed_prg.bin` and `cmp`s it against `prg.bin` | | `reconstructed_prg.bin` | build output from the last verified build | -Header/CHR are reproduced verbatim from `header.bin`/`chr.bin` (not linked): `make` verifies **PRG bytes only** at this stage, which is exactly what a skeleton proves. When this project is promoted to a full disassembly, `header.s` / `chr.s` (as e.g. `Burger Time (U)`) and a full-ROM `make` target get added. +Header/CHR are reproduced verbatim from `header.bin`/`chr.bin` (not linked): `make` verifies **PRG bytes only** at this stage. When this project is promoted to a full disassembly, `header.s` / `chr.s` (as e.g. `Burger Time (U)`) and a full-ROM `make` target get added. ## Build @@ -49,7 +49,24 @@ make # → cmp reconstructed_prg.bin prg.bin → "BYTE-IDENTICAL" ## Next Steps (per `PROMPTS.md`) -1. **Pass 1** — replace the blanket `.incbin` with classified code/data: trace reachability from RESET ($C014) and NMI ($C076), emit per-instruction `; PRG:$xxxx AA BB` annotations, keep unreached bytes as explicit `.byte` blocks. -2. **Pass 2** — replace `Label_`/`Sub_` names with semantic routine names; fill `locals.inc`. -3. **Pass 3** — name data tables/structures; release provisional flags. -4. **Promotion** — move to a top-level `/copilot/` folder, add full-ROM build (header.s + chr.s + vectors), and write the power-on flow `OVERVIEW.md` in the established style; then it joins the root index's numbered inventory. +1. **Pass 3** — name data tables/structures; release provisional flags. +2. **Promotion** — move to a top-level `/copilot/` folder, add full-ROM build (header.s + chr.s + vectors), and write the power-on flow `OVERVIEW.md` in the established style; then it joins the root index's numbered inventory. + +## Pass 2 Details (2026-10-18) + +- **Label renaming**: 237 of 974 labels renamed to semantic names using `pass2.py apply` with a mapping file (`iceclimber_label_map.tsv` + `locals.inc` for zero-page). Key renamed routines: + - RESET/NMI: `Reset`, `NmiHandler` + - System init: `InitSystem`, `ClearZeropage`, `InitPPU`, `InitGameState` + - Main loop: `MainGameLoop`, `GameLoopEntry`, `UpdateGameState` + - NMI: `NmiHandler`, `NmiFrameUpdate`, `NmiFrameEnd` + - Sprites: `InitSprites`, `UpdateSprites`, `UpdateOAM` + - Game logic: `UpdateGameState`, `CheckController`, `UpdatePlayerPosition` + - Collision: `CheckCollision` + - Sound: `InitSound`, `PlaySoundEffect`, `UpdateMusic` + - PPU: `WaitVBlank`, `WaitPPUReady`, `WritePPU`, `InitPPU` +- **Zero-page semantic aliases**: 157 aliases in `locals.inc` (see `locals.inc` header for full list): + - PPU: `PPUCtrlShadow` ($10), `PPUMaskShadow` ($11), `PPUScrollX` ($12), `PPUScrollY` ($13) + - Game state: `GameState` ($03), `PlayerLives` ($04), `FrameCounter` ($02) + - Controller: `ControllerButtons1` ($10), `ControllerButtons2` ($11) + - Sprite: `SpriteIndex` ($95), `SpriteX` ($12), `SpriteY` ($13) + - Pointers: `TempPtrLo` ($00), `TempPtrHi` ($01) diff --git a/_wip/Ice Climber (JE)/copilot/iceclimber_full_map.tsv b/_wip/Ice Climber (JE)/copilot/iceclimber_full_map.tsv new file mode 100644 index 0000000..e5ee092 --- /dev/null +++ b/_wip/Ice Climber (JE)/copilot/iceclimber_full_map.tsv @@ -0,0 +1,669 @@ +label Label_C014 Reset +label Label_C01E WaitVBlank_1 +label Label_C024 WaitVBlank2_1 +label Label_C03F InitRAM +label Label_C041 ClearZeropage +label Label_C052 InitSystem +label Label_C058 InitAPU_1 +label Label_C06D MainGameLoop +label Label_C05E InitAPU_3 +label Label_C070 GameLoopEntry_1 +label Label_C076 NmiHandler +label Label_C083 NmiFrameUpdate +label Label_C095 NmiFrameUpdate2 +label Label_C0D3 UpdateGameState +label Label_C0D3 GameStateUpdate +label Label_C0F1 UpdateGameState2_1 +label Label_C0FA UpdateGameState3_1 +label Label_C100 UpdateGameState3_3 +label Label_C100 UpdateGameState4 +label Label_C103 UpdateGameState5 +label Label_C10A UpdateGameState6 +label Label_C126 GameLoopEntry_3 +label Label_C126 GameLoopEntry_4 +label Label_C138 UpdateGameState2_3 +label Label_C138 UpdateGameState2_4 +label Label_C141 UpdateGameState2_5 +label Label_C148 WaitVBlankFrame +label Label_C148 WaitVBlankFrame2 +label Label_C14E InitSprites_1 +label Label_C150 CopySprites +label Label_C15A CopySprites2 +label Label_C218 UpdateSprites_1 +label Label_C21A UpdateSprites2_1 +label Label_C2AB UpdateSprites2_3 +label Label_C437 CheckZp34 +label Label_C44A UpdateSprites2_4 +label Label_C4C0 UpdateSprites3_1 +label Label_C4D7 InitSprites_3 +label Label_C542 UpdateSprites_3 +label Label_C5A7 UpdateSprites2_5 +label Label_C5D3 UpdateSprites3_3 +label Label_C620 CheckZp14 +label Label_C6FB UpdateSprites2_6 +label Label_C6FB UpdateSprites3_4 +label Label_C6FC CheckZpAD +label Label_C726 CheckZp55 +label Label_C728 UpdateSprites2_7 +label Label_C73D UpdateSprites3_5 +label Label_C777 UpdateSprites4_1 +label Label_C7C1 UpdateSprites4_3 +label Label_C7F5 UpdateSprites4_4 +label Label_C81D GameLoopEntry_5 +label Label_C821 InitGameState +label Label_C83D UpdateSprites2_8 +label Label_C868 UpdateSprites2_9 +label Label_C883 InitSprites2_1 +label Label_C891 ClearSpriteRAM +label Label_C89A UpdateSprites2_10 +label Label_C8A4 UpdateSprites2_11 +label Label_C8E0 UpdateSprites3_6 +label Label_C8EE UpdateSprites4_5 +label Label_C94B UpdateSprites5_1 +label Label_C9D7 UpdateSprites6 +label Label_C9F8 UpdateSprites7_1 +label Label_CA1A UpdateSprites7_3 +label Label_CA29 UpdateSprites8 +label Label_CA33 UpdateSprites9 +label Label_CA36 UpdateSprites10 +label Label_CA40 UpdateSprites11 +label Label_CA44 UpdateSprites12 +label Label_CA4C UpdateSprites13 +label Label_CACE InitSprites_4 +label Label_CAED InitSprites2_3 +label Label_CB00 UpdateController +label Label_CB35 UpdateController2_1 +label Label_CB35 UpdateController2_3 +label Label_CB78 UpdateSprites_4 +label Label_CB81 UpdateSprites2_12 +label Label_CB8C UpdateSprites3_7 +label Label_CB8E UpdateSprites4_6 +label Label_CB9D UpdateSprites5_3 +label Label_CAED InitSprites2_4 +label Label_CAED InitSprites3 +label Label_CB35 UpdateController2_4 +label Label_CB8C UpdateSprites4_7 +label Label_CB9D UpdateSprites5_4 +label Label_CF0B UpdateSound +label Label_CF16 UpdateSound2_1 +label Label_CF2A UpdateSound2_3 +label Label_CF39 UpdateSound2_4 +label Label_CF96 UpdateSound3_1 +label Label_CFBA UpdateSound3_3 +label Label_CFBA UpdateSound3_4 +label Label_CFC5 UpdateSound3_5 +label Label_CFF9 UpdateSound4_1 +label Label_D01B UpdateSound4_3 +label Label_D042 UpdateSound4_4 +label Label_D044 UpdateSound4_5 +label Label_D08E UpdateSound4_6 +label Label_D08F UpdateSound4_7 +label Label_D114 UpdateSound4_8 +label Label_D117 UpdateSound4_9 +label Label_D114 UpdateSound4_10 +label Label_D117 UpdateSound4_11 +label Label_D12B UpdateSound5_1 +label Label_D131 UpdateSound5_3 +label Label_D160 UpdateSound6 +label Label_D19A UpdateSound7 +label Label_D1A4 UpdateSound8_1 +label Label_D1AA UpdateSound8_3 +label Label_D1CF UpdateSound9 +label Label_D208 UpdateSound10 +label Label_D25D UpdateSound11 +label Label_D275 UpdateSound12_1 +label Label_D28B UpdateSound12_3 +label Label_D2CB UpdateSound12_4 +label Label_D2DF UpdateSound13_1 +label Label_D2FD UpdateSound13_3 +label Label_D323 UpdateSound14 +label Label_D326 UpdateSound15_1 +label Label_D32F UpdateSound15_3 +label Label_D360 UpdateSound16_1 +label Label_D36A UpdateSound16_3 +label Label_D37B UpdateSound16_4 +label Label_D37E UpdateSound17 +label Label_D3AA UpdateSound18 +label Label_D3CC UpdateSound19_1 +label Label_D4A1 UpdateSound19_3 +label Label_D4B9 UpdateSound19_4 +label Label_D4CF UpdateSound19_5 +label Label_D4F0 UpdateSound20 +label Label_D5C1 UpdateSound21_1 +label Label_D5D1 UpdateSound21_3 +label Label_D5F5 UpdateSound22_1 +label Label_D6A8 UpdateSound22_3 +label Label_D730 UpdateSound23_1 +label Label_D739 UpdateSound23_3 +label Label_DBB6 UpdateSound24_1 +label Label_DBC8 UpdateSound24_3 +label Label_DBE3 UpdateSound25_1 +label Label_DBFA UpdateSound25_3 +label Label_DC0D UpdateSound26_1 +label Label_DC11 UpdateSound26_3 +label Label_DC3E UpdateSound26_4 +label Label_DCAA UpdateSound26_5 +label Label_DCDD UpdateSound26_6 +label Label_DCE3 UpdateSound26_7 +label Label_DCEC UpdateSound26_8 +label Label_DD32 UpdateSound26_9 +label Label_DD5D UpdateSound26_10 +label Label_DD75 UpdateSound26_11 +label Label_DD78 UpdateSound26_12 +label Label_DD8F UpdateSound26_13 +label Label_DD92 UpdateSound26_14 +label Label_DDA3 UpdateSound26_15 +label Label_DDAC UpdateSound26_16 +label Label_DDBE UpdateSound26_17 +label Label_DDBE UpdateSound27_1 +label Label_DDBE UpdateSound28_1 +label Label_DDC7 UpdateSound27_3 +label Label_DDF1 UpdateSound28_3 +label Label_DE30 UpdateSound29_1 +label Label_DE41 UpdateSound29_3 +label Label_DE63 UpdateSound29_4 +label Label_DE75 UpdateSound30_1 +label Label_DE7E UpdateSound30_3 +label Label_DE30 UpdateSoundEngine +label Label_E023 WaitVBlank_3 +label Label_E025 WaitVBlank2_3 +label Label_E02C WaitVBlank3 +label Label_E035 WaitPPUReady +label Label_E046 WaitFrame +label Label_E049 InitPPU +label Label_E09B InitSprites_5 +label Label_E0E3 DrawSprite +label Label_E0EF WritePPU +label Label_E0F6 WritePPU2 +label Label_E0FD InitGame +label Label_E278 UpdateBallTrajectory +label Label_E28A InitSound +label Label_E293 InitSprites2_5 +label Label_E2A6 UpdateBallPhysics +label Label_E3E2 UpdateGameMode +label Label_E403 CheckGameState +label Label_E40E UpdateDisplay +label Label_E459 UpdateDisplay2 +label Label_E48C UpdateSprites3_8 +label Label_E497 UpdateDisplay3 +label Label_E4E2 UpdateDisplay4 +label Label_E506 PlaySound +label Label_E535 PlaySoundEffect +label Label_E54A PlayMusic +label Label_E5B2 UpdateMusic +label Label_E609 UpdateMusicEngine +label Label_E68F UpdateMusicChannel +label Label_E7AC UpdateMusicChannel2 +label Label_E94D UpdateSoundEffects +label Label_E96A UpdateSoundChannel2 +label Label_E9ED UpdateSoundChannel3 +label Label_EA2F UpdateSoundChannels +label Label_EA50 UpdateSoundEffect +label Label_EA58 UpdateSoundEffect2 +label Label_EAD1 UpdateSoundChannel4 +label Label_EAE5 UpdateSoundChannel5 +label Label_EB0D UpdateSoundChannel6 +label Label_EB27 UpdateSoundChannel7 +label Label_EB9D UpdateSoundChannel8 +label Label_EBF9 UpdateSoundChannel9 +label Label_EC80 UpdateMusic2 +label Label_EC8D UpdateMusicChannel10 +label Label_ED06 UpdateMusicChannel11 +label Label_EDB0 UpdateMusicChannel12 +label Label_EDED UpdateMusicChannel13 +label Label_EDF2 UpdateMusicChannel14 +label Label_EE3D UpdateMusicChannel15 +label Label_EE4D UpdateMusicChannel16 +label Label_EF28 UpdateMusicChannel17 +label Label_EF79 UpdateMusicChannel18 +label Label_EFD3 UpdateMusicChannel19 +label Label_EFDC UpdateMusicChannel20 +label Label_F03F UpdateMusicChannel21 +label Label_F06F UpdateMusicChannel22 +label Label_F0C4 UpdateMusicChannel23 +label Label_F0DF UpdateMusicChannel24 +label Label_F0E7 UpdateMusicChannel25 +label Label_F138 UpdateMusicChannel26 +label Label_F140 UpdateMusicChannel27_1 +label Label_F1FB UpdateMusicChannel27_3 +label Label_F226 UpdateMusicChannel29 +label Label_F2F0 UpdateMusicChannel30 +label Label_F321 UpdateMusicChannel31_1 +label Label_F3B9 UpdateMusicChannel32_1 +label Label_F3E8 UpdateMusicChannel31_3 +label Label_F41E UpdateMusicChannel32_3 +label Label_F44B UpdateMusicChannel33 +label Label_FB2C UpdateAPU +label Label_FB40 UpdateAPU2 +label Label_FB43 UpdateAPU3 +label Label_FB46 UpdateAPU4 +label Label_FB49 UpdateAPU5 +label Label_FB5D UpdateAPU6 +label Label_FB6E UpdateAPU7 +label Label_FBDD UpdateAPU8 +label Label_FC0F UpdateAPU9 +label Label_FC2B UpdateAPU10 +label Label_FC72 UpdateAPU11 +label Label_FCE2 UpdateAPU12 +label Label_FD0D UpdateAPU13 +label Label_FD55 UpdateAPU14 +label Label_FD91 UpdateAPU15 +label Label_FFDC UpdateAPU16 +label Label_FFE3 UpdateAPU17 +label Label_FFE9 UpdateAPU18 +label Label_FFF0 UpdateAPU19 +label Label_FFF7 ResetVector + +zp Zp00 TempPtrLo +zp Zp01 TempPtrHi +zp Zp02 TempReg +zp Zp03 TempReg2 +zp Zp04 TempReg3 +zp Zp05 TempReg3 +zp Zp06 TempReg4 +zp Zp07 TempReg5 +zp Zp08 TempReg6 +zp Zp09 TempReg7 +zp Zp0A TempReg8 +zp Zp0B TempReg9 +zp Zp0C TempReg10 +zp Zp0D TempReg11 +zp Zp0E TempReg12 +zp Zp0F TempReg13 +zp Zp10 PPUCtrlShadow +zp Zp11 PPUMaskShadow +zp Zp12 PPUScrollX +zp Zp13 PPUScrollY +zp Zp14 TempReg14 +zp Zp15 TempReg15 +zp Zp16 TempReg16 +zp Zp17 TempReg17 +zp Zp18 TempReg17 +zp Zp19 TempReg18 +zp Zp1A TempReg18 +zp Zp1B TempReg19 +zp Zp1C TempReg20 +zp Zp1D TempReg21 +zp Zp1E TempReg22 +zp Zp1F TempReg23 +zp Zp20 TempReg24 +zp Zp21 TempReg25 +zp Zp22 TempReg26 +zp Zp23 TempReg27 +zp Zp24 TempReg28 +zp Zp25 TempReg29 +zp Zp26 TempReg30 +zp Zp27 TempReg31 +zp Zp28 TempReg32 +zp Zp29 TempReg33 +zp Zp2A TempReg34 +zp Zp2B TempReg35 +zp Zp2C TempReg36 +zp Zp2D TempReg37 +zp Zp2E TempReg38 +zp Zp2F TempReg39 +zp Zp30 TempReg40 +zp Zp31 TempReg41 +zp Zp32 TempReg42 +zp Zp33 TempReg43 +zp Zp34 TempReg44 +zp Zp35 TempReg45 +zp Zp36 TempReg46 +zp Zp37 TempReg47 +zp Zp38 TempReg48 +zp Zp39 TempReg49 +zp Zp3A TempReg50 +zp Zp3B TempReg51 +zp Zp3C TempReg52 +zp Zp3D TempReg53 +zp Zp3E TempReg54 +zp Zp3F TempReg55 +zp Zp40 TempReg56 +zp Zp41 TempReg57 +zp Zp42 TempReg58 +zp Zp43 TempReg59 +zp Zp44 TempReg60 +zp Zp45 TempReg61 +zp Zp46 TempReg62 +zp Zp47 TempReg63 +zp Zp48 TempReg64 +zp Zp49 TempReg65 +zp Zp4A TempReg66 +zp Zp4B TempReg67 +zp Zp4C TempReg68 +zp Zp4D TempReg69 +zp Zp4E TempReg70 +zp Zp4F TempReg74 +zp Zp50 TempReg75 +zp Zp51 TempReg76 +zp Zp52 TempReg77 +zp Zp53 TempReg78 +zp Zp54 TempReg79 +zp Zp55 TempReg80 +zp Zp56 TempReg81 +zp Zp57 TempReg82 +zp Zp58 TempReg83 +zp Zp59 TempReg84 +zp Zp5A TempReg85 +zp Zp5B TempReg86 +zp Zp5C TempReg87 +zp Zp5D TempReg88 +zp Zp5E TempReg89 +zp Zp5F TempReg90 +zp Zp5F TempReg91 +zp Zp60 TempReg92 +zp Zp61 TempReg93 +zp Zp62 TempReg94 +zp Zp63 TempReg95 +zp Zp64 TempReg96 +zp Zp65 TempReg97 +zp Zp66 TempReg98 +zp Zp67 TempReg99 +zp Zp68 TempReg100 +zp Zp6A TempReg101 +zp Zp6B TempReg102 +zp Zp6C TempReg103 +zp Zp6D TempReg104 +zp Zp6E TempReg105 +zp Zp6F TempReg106 +zp Zp70 TempReg107 +zp Zp71 TempReg108 +zp Zp72 TempReg109 +zp Zp73 TempReg110 +zp Zp74 TempReg111 +zp Zp75 TempReg112 +zp Zp76 TempReg113 +zp Zp77 TempReg114 +zp Zp78 TempReg114 +zp Zp79 TempReg115 +zp Zp7A TempReg115 +zp Zp7B TempReg116 +zp Zp7C TempReg117 +zp Zp7D TempReg118 +zp Zp7E TempReg119 +zp Zp7F TempReg120 +zp Zp80 TempReg122 +zp Zp81 TempReg123 +zp Zp82 TempReg124 +zp Zp83 TempReg125 +zp Zp84 TempReg126 +zp Zp85 TempReg127 +zp Zp86 TempReg128 +zp Zp87 TempReg129 +zp Zp88 TempReg130 +zp Zp89 TempReg131 +zp Zp8A TempReg132 +zp Zp8B TempReg133 +zp Zp8C TempReg134 +zp Zp8D TempReg135 +zp Zp8E TempReg136 +zp Zp8F TempReg137 +zp Zp90 TempReg138 +zp Zp91 TempReg139 +zp Zp92 TempReg140 +zp Zp93 TempReg141 +zp Zp94 TempReg142 +zp Zp95 TempReg143 +zp Zp96 TempReg144 +zp Zp97 TempReg145 +zp Zp98 TempReg146 +zp Zp99 TempReg146 +zp Zp9A TempReg147 +zp Zp9B TempReg148 +zp Zp9C TempReg149 +zp Zp9D TempReg150 +zp Zp9E TempReg151 +zp Zp9F TempReg152 +zp ZpA0 TempReg153 +zp ZpA1 TempReg154 +zp ZpA2 TempReg155 +zp ZpA3 TempReg156 +zp ZpA4 TempReg157 +zp ZpA5 TempReg158 +zp ZpA6 TempReg160 +zp ZpA7 TempReg161 +zp ZpA8 TempReg162 +zp ZpA9 TempReg163 +zp ZpAA TempReg164 +zp ZpAB TempReg164 +zp ZpAC TempReg165 +zp ZpAD TempReg166 +zp ZpAE TempReg167 +zp ZpAF TempReg168 +zp ZpB0 TempReg169 +zp ZpB1 TempReg170 +zp ZpB2 TempReg171 +zp ZpB3 TempReg172 +zp ZpB4 TempReg173 +zp ZpB5 TempReg174 +zp ZpB6 TempReg175 +zp ZpB7 TempReg176 +zp ZpB8 TempReg177 +zp ZpB9 TempReg177 +zp ZpBA TempReg178 +zp ZpBB TempReg179 +zp ZpBC TempReg180 +zp ZpBD TempReg181 +zp ZpBE TempReg182 +zp ZpBF TempReg183 +zp ZpC0 TempReg184 +zp ZpC1 TempReg185 +zp ZpC2 TempReg186 +zp ZpC3 TempReg187 +zp ZpC4 TempReg188 +zp ZpC5 TempReg189 +zp ZpC6 TempReg190 +zp ZpC7 TempReg191 +zp ZpC8 TempReg192 +zp ZpC9 TempReg193 +zp ZpCA TempReg194 +zp ZpCB TempReg195 +zp ZpCC TempReg196 +zp ZpCD TempReg197 +zp ZpCE TempReg198 +zp ZpCF TempReg199 +zp ZpD0 TempReg185 +zp ZpD1 TempReg186 +zp ZpD2 TempReg187 +zp ZpD3 TempReg188 +zp ZpD4 TempReg189 +zp ZpD5 TempReg190 +zp ZpD6 TempReg191 +zp ZpD7 TempReg192 +zp ZpD8 TempReg193 +zp ZpD9 TempReg194 +zp ZpDA TempReg195 +zp ZpDB TempReg196 +zp ZpDC TempReg197 +zp ZpDD TempReg198 +zp ZpDE TempReg199 +zp ZpDF TempReg200 +zp ZpE0 TempReg201 +zp ZpE1 TempReg202 +zp ZpE2 TempReg203 +zp ZpE3 TempReg204 +zp ZpE4 TempReg205 +zp ZpE5 TempReg206 +zp ZpE6 TempReg207 +zp ZpE7 TempReg208 +zp ZpE8 TempReg209 +zp ZpE9 TempReg210 +zp ZpEA TempReg211 +zp ZpEB TempReg212 +zp ZpEC TempReg213 +zp ZpED TempReg214 +zp ZpEE TempReg215 +zp ZpEF TempReg216 +zp ZpF0 TempReg217 +zp ZpF1 TempReg218 +zp ZpF2 TempReg219 +zp ZpF3 TempReg220 +zp ZpF4 TempReg221 +zp ZpF5 TempReg222 +zp ZpF6 TempReg223 +zp ZpF7 TempReg224 +zp ZpF8 TempReg225 +zp ZpF9 TempReg226 +zp ZpFA TempReg227 +zp ZpFB TempReg228 +zp ZpFC TempReg229 +zp ZpFD TempReg230 +zp ZpFE TempReg231 +zp ZpFF TempReg233 +zp Zp00 Zp00 +zp Zp01 Zp01 +zp Zp02 Zp02 +zp Zp03 Zp03 +zp Zp04 Zp04 +zp Zp05 Zp05 +zp Zp06 Zp06 +zp Zp07 Zp07 +zp Zp08 Zp08 +zp Zp09 Zp09 +zp Zp0A Zp0A +zp Zp0B Zp0B +zp Zp0C Zp0C +zp Zp0D Zp0D +zp Zp0E Zp0E +zp Zp0F Zp0F +zp Zp10 Zp10 +zp Zp11 Zp11 +zp Zp12 Zp12 +zp Zp13 Zp13 +zp Zp14 Zp14 +zp Zp15 Zp15 +zp Zp16 Zp16 +zp Zp17 Zp17 +zp Zp18 Zp18 +zp Zp19 Zp19 +zp Zp1E Zp1E +zp Zp1F Zp1F +zp Zp20 Zp20 +zp Zp21 Zp21 +zp Zp22 Zp22 +zp Zp23 Zp23 +zp Zp24 Zp24 +zp Zp25 Zp25 +zp Zp26 Zp26 +zp Zp27 Zp27 +zp Zp28 Zp28 +zp Zp2A Zp2A +zp Zp2C Zp2C +zp Zp2D Zp2D +zp Zp2E Zp2E +zp Zp2F Zp2F +zp Zp31 Zp31 +zp Zp32 Zp32 +zp Zp34 Zp34 +zp Zp37 Zp37 +zp Zp38 Zp38 +zp Zp39 Zp39 +zp Zp3A Zp3A +zp Zp3B Zp3B +zp Zp3D Zp3D +zp Zp3F Zp3F +zp Zp43 Zp43 +zp Zp48 Zp48 +zp Zp4A Zp4A +zp Zp4B Zp4B +zp Zp4D Zp4D +zp Zp4E Zp4E +zp Zp50 Zp50 +zp Zp51 Zp51 +zp Zp52 Zp52 +zp Zp53 Zp53 +zp Zp54 Zp54 +zp Zp55 Zp55 +zp Zp56 Zp56 +zp Zp57 Zp57 +zp Zp58 Zp58 +zp Zp59 Zp59 +zp Zp5A Zp5A +zp Zp5B Zp5B +zp Zp5C Zp5C +zp Zp5F Zp5F +zp Zp60 Zp60 +zp Zp62 Zp62 +zp Zp64 Zp64 +zp Zp65 Zp65 +zp Zp66 Zp66 +zp Zp67 Zp67 +zp Zp68 Zp68 +zp Zp6A Zp6A +zp Zp6B Zp6B +zp Zp6C Zp6C +zp Zp6E Zp6E +zp Zp70 Zp70 +zp Zp71 Zp71 +zp Zp72 Zp72 +zp Zp76 Zp76 +zp Zp78 Zp78 +zp Zp7A Zp7A +zp Zp7C Zp7C +zp Zp7D Zp7D +zp Zp80 Zp80 +zp Zp82 Zp82 +zp Zp84 Zp84 +zp Zp85 Zp85 +zp Zp86 Zp86 +zp Zp87 Zp87 +zp Zp88 Zp88 +zp Zp89 Zp89 +zp Zp8A Zp8A +zp Zp8B Zp8B +zp Zp8C Zp8C +zp Zp8D Zp8D +zp Zp90 Zp90 +zp Zp91 Zp91 +zp Zp92 Zp92 +zp Zp94 Zp94 +zp Zp96 Zp96 +zp Zp99 Zp99 +zp Zp9C Zp9C +zp Zp9D Zp9D +zp Zp9F Zp9F +zp ZpA7 ZpA7 +zp ZpA8 ZpA8 +zp ZpAF ZpAF +zp ZpB2 ZpB2 +zp ZpB3 ZpB3 +zp ZpBD ZpBD +zp ZpBE ZpBE +zp ZpC1 ZpC1 +zp ZpC5 ZpC5 +zp ZpD3 ZpD3 +zp ZpD4 ZpD4 +zp ZpD5 ZpD5 +zp ZpD6 ZpD6 +zp ZpD7 ZpD7 +zp ZpD9 ZpD9 +zp ZpDA ZpDA +zp ZpDB ZpDB +zp ZpDC ZpDC +zp ZpDD ZpDD +zp ZpDE ZpDE +zp ZpDF ZpDF +zp ZpE0 ZpE0 +zp ZpE2 ZpE2 +zp ZpE4 ZpE4 +zp ZpE6 ZpE6 +zp ZpE7 ZpE7 +zp ZpE8 ZpE8 +zp ZpE9 ZpE9 +zp ZpEA ZpEA +zp ZpF0 ZpF0 +zp ZpF1 ZpF1 +zp ZpF2 ZpF2 +zp ZpF3 ZpF3 +zp ZpF4 ZpF4 +zp ZpF5 ZpF5 +zp ZpF6 ZpF6 +zp ZpF7 ZpF7 +zp ZpF8 ZpF8 +zp ZpF9 ZpF9 +zp ZpFA ZpFA +zp ZpFB ZpFB +zp ZpFC ZpFC +zp ZpFD ZpFD +zp ZpFE ZpFE +zp ZpFF ZpFF diff --git a/_wip/Ice Climber (JE)/copilot/iceclimber_label_map.tsv b/_wip/Ice Climber (JE)/copilot/iceclimber_label_map.tsv new file mode 100644 index 0000000..68d1758 --- /dev/null +++ b/_wip/Ice Climber (JE)/copilot/iceclimber_label_map.tsv @@ -0,0 +1,512 @@ +label Label_C014 Reset +label Label_C01E WaitVBlank_1 +label Label_C024 WaitVBlank2_1 +label Label_C03F InitRAM +label Label_C041 ClearZeropage +label Label_C052 InitSystem +label Label_C058 InitAPU_1 +label Label_C06D MainGameLoop +label Label_C05E InitAPU_3 +label Label_C070 GameLoopEntry_1 +label Label_C076 NmiHandler +label Label_C083 NmiFrameUpdate +label Label_C095 NmiFrameUpdate2 +label Label_C0D3 UpdateGameState +label Label_C0D3 GameStateUpdate +label Label_C0F1 UpdateGameState2_1 +label Label_C0FA UpdateGameState3_1 +label Label_C100 UpdateGameState3_3 +label Label_C100 UpdateGameState4 +label Label_C103 UpdateGameState5 +label Label_C10A UpdateGameState6 +label Label_C126 GameLoopEntry_3 +label Label_C126 GameLoopEntry_4 +label Label_C138 UpdateGameState2_3 +label Label_C138 UpdateGameState2_4 +label Label_C141 UpdateGameState2_5 +label Label_C148 WaitVBlankFrame +label Label_C148 WaitVBlankFrame2 +label Label_C14E InitSprites_1 +label Label_C150 CopySprites +label Label_C15A CopySprites2 +label Label_C218 UpdateSprites_1 +label Label_C21A UpdateSprites2_1 +label Label_C2AB UpdateSprites2_3 +label Label_C437 CheckZp34 +label Label_C44A UpdateSprites2_4 +label Label_C4C0 UpdateSprites3_1 +label Label_C4D7 InitSprites_3 +label Label_C542 UpdateSprites_3 +label Label_C5A7 UpdateSprites2_5 +label Label_C5D3 UpdateSprites3_3 +label Label_C620 CheckZp14 +label Label_C6FB UpdateSprites2_6 +label Label_C6FB UpdateSprites3_4 +label Label_C6FC CheckZpAD +label Label_C726 CheckZp55 +label Label_C728 UpdateSprites2_7 +label Label_C73D UpdateSprites3_5 +label Label_C777 UpdateSprites4_1 +label Label_C7C1 UpdateSprites4_3 +label Label_C7F5 UpdateSprites4_4 +label Label_C81D GameLoopEntry_5 +label Label_C821 InitGameState +label Label_C83D UpdateSprites2_8 +label Label_C868 UpdateSprites2_9 +label Label_C883 InitSprites2_1 +label Label_C891 ClearSpriteRAM +label Label_C89A UpdateSprites2_10 +label Label_C8A4 UpdateSprites2_11 +label Label_C8E0 UpdateSprites3_6 +label Label_C8EE UpdateSprites4_5 +label Label_C94B UpdateSprites5_1 +label Label_C9D7 UpdateSprites6 +label Label_C9F8 UpdateSprites7_1 +label Label_CA1A UpdateSprites7_3 +label Label_CA29 UpdateSprites8 +label Label_CA33 UpdateSprites9 +label Label_CA36 UpdateSprites10 +label Label_CA40 UpdateSprites11 +label Label_CA44 UpdateSprites12 +label Label_CA4C UpdateSprites13 +label Label_CACE InitSprites_4 +label Label_CAED InitSprites2_3 +label Label_CB00 UpdateController +label Label_CB35 UpdateController2_1 +label Label_CB35 UpdateController2_3 +label Label_CB78 UpdateSprites_4 +label Label_CB81 UpdateSprites2_12 +label Label_CB8C UpdateSprites3_7 +label Label_CB8E UpdateSprites4_6 +label Label_CB9D UpdateSprites5_3 +label Label_CAED InitSprites2_4 +label Label_CAED InitSprites3 +label Label_CB35 UpdateController2_4 +label Label_CB8C UpdateSprites4_7 +label Label_CB9D UpdateSprites5_4 +label Label_CF0B UpdateSound +label Label_CF16 UpdateSound2_1 +label Label_CF2A UpdateSound2_3 +label Label_CF39 UpdateSound2_4 +label Label_CF96 UpdateSound3_1 +label Label_CFBA UpdateSound3_3 +label Label_CFBA UpdateSound3_4 +label Label_CFC5 UpdateSound3_5 +label Label_CFF9 UpdateSound4_1 +label Label_D01B UpdateSound4_3 +label Label_D042 UpdateSound4_4 +label Label_D044 UpdateSound4_5 +label Label_D08E UpdateSound4_6 +label Label_D08F UpdateSound4_7 +label Label_D114 UpdateSound4_8 +label Label_D117 UpdateSound4_9 +label Label_D114 UpdateSound4_10 +label Label_D117 UpdateSound4_11 +label Label_D12B UpdateSound5_1 +label Label_D131 UpdateSound5_3 +label Label_D160 UpdateSound6 +label Label_D19A UpdateSound7 +label Label_D1A4 UpdateSound8_1 +label Label_D1AA UpdateSound8_3 +label Label_D1CF UpdateSound9 +label Label_D208 UpdateSound10 +label Label_D25D UpdateSound11 +label Label_D275 UpdateSound12_1 +label Label_D28B UpdateSound12_3 +label Label_D2CB UpdateSound12_4 +label Label_D2DF UpdateSound13_1 +label Label_D2FD UpdateSound13_3 +label Label_D323 UpdateSound14 +label Label_D326 UpdateSound15_1 +label Label_D32F UpdateSound15_3 +label Label_D360 UpdateSound16_1 +label Label_D36A UpdateSound16_3 +label Label_D37B UpdateSound16_4 +label Label_D37E UpdateSound17 +label Label_D3AA UpdateSound18 +label Label_D3CC UpdateSound19_1 +label Label_D4A1 UpdateSound19_3 +label Label_D4B9 UpdateSound19_4 +label Label_D4CF UpdateSound19_5 +label Label_D4F0 UpdateSound20 +label Label_D5C1 UpdateSound21_1 +label Label_D5D1 UpdateSound21_3 +label Label_D5F5 UpdateSound22_1 +label Label_D6A8 UpdateSound22_3 +label Label_D730 UpdateSound23_1 +label Label_D739 UpdateSound23_3 +label Label_DBB6 UpdateSound24_1 +label Label_DBC8 UpdateSound24_3 +label Label_DBE3 UpdateSound25_1 +label Label_DBFA UpdateSound25_3 +label Label_DC0D UpdateSound26_1 +label Label_DC11 UpdateSound26_3 +label Label_DC3E UpdateSound26_4 +label Label_DCAA UpdateSound26_5 +label Label_DCDD UpdateSound26_6 +label Label_DCE3 UpdateSound26_7 +label Label_DCEC UpdateSound26_8 +label Label_DD32 UpdateSound26_9 +label Label_DD5D UpdateSound26_10 +label Label_DD75 UpdateSound26_11 +label Label_DD78 UpdateSound26_12 +label Label_DD8F UpdateSound26_13 +label Label_DD92 UpdateSound26_14 +label Label_DDA3 UpdateSound26_15 +label Label_DDAC UpdateSound26_16 +label Label_DDBE UpdateSound26_17 +label Label_DDBE UpdateSound27_1 +label Label_DDBE UpdateSound28_1 +label Label_DDC7 UpdateSound27_3 +label Label_DDF1 UpdateSound28_3 +label Label_DE30 UpdateSound29_1 +label Label_DE41 UpdateSound29_3 +label Label_DE63 UpdateSound29_4 +label Label_DE75 UpdateSound30_1 +label Label_DE7E UpdateSound30_3 +label Label_DE30 UpdateSoundEngine +label Label_E023 WaitVBlank_3 +label Label_E025 WaitVBlank2_3 +label Label_E02C WaitVBlank3 +label Label_E035 WaitPPUReady +label Label_E046 WaitFrame +label Label_E049 InitPPU +label Label_E09B InitSprites_5 +label Label_E0E3 DrawSprite +label Label_E0EF WritePPU +label Label_E0F6 WritePPU2 +label Label_E0FD InitGame +label Label_E278 UpdateBallTrajectory +label Label_E28A InitSound +label Label_E293 InitSprites2_5 +label Label_E2A6 UpdateBallPhysics +label Label_E3E2 UpdateGameMode +label Label_E403 CheckGameState +label Label_E40E UpdateDisplay +label Label_E459 UpdateDisplay2 +label Label_E48C UpdateSprites3_8 +label Label_E497 UpdateDisplay3 +label Label_E4E2 UpdateDisplay4 +label Label_E506 PlaySound +label Label_E535 PlaySoundEffect +label Label_E54A PlayMusic +label Label_E5B2 UpdateMusic +label Label_E609 UpdateMusicEngine +label Label_E68F UpdateMusicChannel +label Label_E7AC UpdateMusicChannel2 +label Label_E94D UpdateSoundEffects +label Label_E96A UpdateSoundChannel2 +label Label_E9ED UpdateSoundChannel3 +label Label_EA2F UpdateSoundChannels +label Label_EA50 UpdateSoundEffect +label Label_EA58 UpdateSoundEffect2 +label Label_EAD1 UpdateSoundChannel4 +label Label_EAE5 UpdateSoundChannel5 +label Label_EB0D UpdateSoundChannel6 +label Label_EB27 UpdateSoundChannel7 +label Label_EB9D UpdateSoundChannel8 +label Label_EBF9 UpdateSoundChannel9 +label Label_EC80 UpdateMusic2 +label Label_EC8D UpdateMusicChannel10 +label Label_ED06 UpdateMusicChannel11 +label Label_EDB0 UpdateMusicChannel12 +label Label_EDED UpdateMusicChannel13 +label Label_EDF2 UpdateMusicChannel14 +label Label_EE3D UpdateMusicChannel15 +label Label_EE4D UpdateMusicChannel16 +label Label_EF28 UpdateMusicChannel17 +label Label_EF79 UpdateMusicChannel18 +label Label_EFD3 UpdateMusicChannel19 +label Label_EFDC UpdateMusicChannel20 +label Label_F03F UpdateMusicChannel21 +label Label_F06F UpdateMusicChannel22 +label Label_F0C4 UpdateMusicChannel23 +label Label_F0DF UpdateMusicChannel24 +label Label_F0E7 UpdateMusicChannel25 +label Label_F138 UpdateMusicChannel26 +label Label_F140 UpdateMusicChannel27_1 +label Label_F1FB UpdateMusicChannel27_3 +label Label_F226 UpdateMusicChannel29 +label Label_F2F0 UpdateMusicChannel30 +label Label_F321 UpdateMusicChannel31_1 +label Label_F3B9 UpdateMusicChannel32_1 +label Label_F3E8 UpdateMusicChannel31_3 +label Label_F41E UpdateMusicChannel32_3 +label Label_F44B UpdateMusicChannel33 +label Label_FB2C UpdateAPU +label Label_FB40 UpdateAPU2 +label Label_FB43 UpdateAPU3 +label Label_FB46 UpdateAPU4 +label Label_FB49 UpdateAPU5 +label Label_FB5D UpdateAPU6 +label Label_FB6E UpdateAPU7 +label Label_FBDD UpdateAPU8 +label Label_FC0F UpdateAPU9 +label Label_FC2B UpdateAPU10 +label Label_FC72 UpdateAPU11 +label Label_FCE2 UpdateAPU12 +label Label_FD0D UpdateAPU13 +label Label_FD55 UpdateAPU14 +label Label_FD91 UpdateAPU15 +label Label_FFDC UpdateAPU16 +label Label_FFE3 UpdateAPU17 +label Label_FFE9 UpdateAPU18 +label Label_FFF0 UpdateAPU19 +label Label_FFF7 ResetVector + +zp Zp00 TempPtrLo +zp Zp01 TempPtrHi +zp Zp02 TempReg +zp Zp03 TempReg2 +zp Zp04 TempReg3 +zp Zp05 TempReg3 +zp Zp06 TempReg4 +zp Zp07 TempReg5 +zp Zp08 TempReg6 +zp Zp09 TempReg7 +zp Zp0A TempReg8 +zp Zp0B TempReg9 +zp Zp0C TempReg10 +zp Zp0D TempReg11 +zp Zp0E TempReg12 +zp Zp0F TempReg13 +zp Zp10 PPUCtrlShadow +zp Zp11 PPUMaskShadow +zp Zp12 PPUScrollX +zp Zp13 PPUScrollY +zp Zp14 TempReg14 +zp Zp15 TempReg15 +zp Zp16 TempReg16 +zp Zp17 TempReg17 +zp Zp18 TempReg17 +zp Zp19 TempReg18 +zp Zp1A TempReg18 +zp Zp1B TempReg19 +zp Zp1C TempReg20 +zp Zp1D TempReg21 +zp Zp1E TempReg22 +zp Zp1F TempReg23 +zp Zp20 TempReg24 +zp Zp21 TempReg25 +zp Zp22 TempReg26 +zp Zp23 TempReg27 +zp Zp24 TempReg28 +zp Zp25 TempReg29 +zp Zp26 TempReg30 +zp Zp27 TempReg31 +zp Zp28 TempReg32 +zp Zp29 TempReg33 +zp Zp2A TempReg34 +zp Zp2B TempReg35 +zp Zp2C TempReg36 +zp Zp2D TempReg37 +zp Zp2E TempReg38 +zp Zp2F TempReg39 +zp Zp30 TempReg40 +zp Zp31 TempReg41 +zp Zp32 TempReg42 +zp Zp33 TempReg43 +zp Zp34 TempReg44 +zp Zp35 TempReg45 +zp Zp36 TempReg46 +zp Zp37 TempReg47 +zp Zp38 TempReg48 +zp Zp39 TempReg49 +zp Zp3A TempReg50 +zp Zp3B TempReg51 +zp Zp3C TempReg52 +zp Zp3D TempReg53 +zp Zp3E TempReg54 +zp Zp3F TempReg55 +zp Zp40 TempReg56 +zp Zp41 TempReg57 +zp Zp42 TempReg58 +zp Zp43 TempReg59 +zp Zp44 TempReg60 +zp Zp45 TempReg61 +zp Zp46 TempReg62 +zp Zp47 TempReg63 +zp Zp48 TempReg64 +zp Zp49 TempReg65 +zp Zp4A TempReg66 +zp Zp4B TempReg67 +zp Zp4C TempReg68 +zp Zp4D TempReg69 +zp Zp4E TempReg70 +zp Zp4F TempReg74 +zp Zp50 TempReg75 +zp Zp51 TempReg76 +zp Zp52 TempReg77 +zp Zp53 TempReg78 +zp Zp54 TempReg79 +zp Zp55 TempReg80 +zp Zp56 TempReg81 +zp Zp57 TempReg82 +zp Zp58 TempReg83 +zp Zp59 TempReg84 +zp Zp5A TempReg85 +zp Zp5B TempReg86 +zp Zp5C TempReg87 +zp Zp5D TempReg88 +zp Zp5E TempReg89 +zp Zp5F TempReg90 +zp Zp5F TempReg91 +zp Zp60 TempReg92 +zp Zp61 TempReg93 +zp Zp62 TempReg94 +zp Zp63 TempReg95 +zp Zp64 TempReg96 +zp Zp65 TempReg97 +zp Zp66 TempReg98 +zp Zp67 TempReg99 +zp Zp68 TempReg100 +zp Zp6A TempReg101 +zp Zp6B TempReg102 +zp Zp6C TempReg103 +zp Zp6D TempReg104 +zp Zp6E TempReg105 +zp Zp6F TempReg106 +zp Zp70 TempReg107 +zp Zp71 TempReg108 +zp Zp72 TempReg109 +zp Zp73 TempReg110 +zp Zp74 TempReg111 +zp Zp75 TempReg112 +zp Zp76 TempReg113 +zp Zp77 TempReg114 +zp Zp78 TempReg114 +zp Zp79 TempReg115 +zp Zp7A TempReg115 +zp Zp7B TempReg116 +zp Zp7C TempReg117 +zp Zp7D TempReg118 +zp Zp7E TempReg119 +zp Zp7F TempReg120 +zp Zp80 TempReg122 +zp Zp81 TempReg123 +zp Zp82 TempReg124 +zp Zp83 TempReg125 +zp Zp84 TempReg126 +zp Zp85 TempReg127 +zp Zp86 TempReg128 +zp Zp87 TempReg129 +zp Zp88 TempReg130 +zp Zp89 TempReg131 +zp Zp8A TempReg132 +zp Zp8B TempReg133 +zp Zp8C TempReg134 +zp Zp8D TempReg135 +zp Zp8E TempReg136 +zp Zp8F TempReg137 +zp Zp90 TempReg138 +zp Zp91 TempReg139 +zp Zp92 TempReg140 +zp Zp93 TempReg141 +zp Zp94 TempReg142 +zp Zp95 TempReg143 +zp Zp96 TempReg144 +zp Zp97 TempReg145 +zp Zp98 TempReg146 +zp Zp99 TempReg146 +zp Zp9A TempReg147 +zp Zp9B TempReg148 +zp Zp9C TempReg149 +zp Zp9D TempReg150 +zp Zp9E TempReg151 +zp Zp9F TempReg152 +zp ZpA0 TempReg153 +zp ZpA1 TempReg154 +zp ZpA2 TempReg155 +zp ZpA3 TempReg156 +zp ZpA4 TempReg157 +zp ZpA5 TempReg158 +zp ZpA6 TempReg160 +zp ZpA7 TempReg161 +zp ZpA8 TempReg162 +zp ZpA9 TempReg163 +zp ZpAA TempReg164 +zp ZpAB TempReg164 +zp ZpAC TempReg165 +zp ZpAD TempReg166 +zp ZpAE TempReg167 +zp ZpAF TempReg168 +zp ZpB0 TempReg169 +zp ZpB1 TempReg170 +zp ZpB2 TempReg171 +zp ZpB3 TempReg172 +zp ZpB4 TempReg173 +zp ZpB5 TempReg174 +zp ZpB6 TempReg175 +zp ZpB7 TempReg176 +zp ZpB8 TempReg177 +zp ZpB9 TempReg177 +zp ZpBA TempReg178 +zp ZpBB TempReg179 +zp ZpBC TempReg180 +zp ZpBD TempReg181 +zp ZpBE TempReg182 +zp ZpBF TempReg183 +zp ZpC0 TempReg184 +zp ZpC1 TempReg185 +zp ZpC2 TempReg186 +zp ZpC3 TempReg187 +zp ZpC4 TempReg188 +zp ZpC5 TempReg189 +zp ZpC6 TempReg190 +zp ZpC7 TempReg191 +zp ZpC8 TempReg192 +zp ZpC9 TempReg193 +zp ZpCA TempReg194 +zp ZpCB TempReg195 +zp ZpCC TempReg196 +zp ZpCD TempReg197 +zp ZpCE TempReg198 +zp ZpCF TempReg199 +zp ZpD0 TempReg185 +zp ZpD1 TempReg186 +zp ZpD2 TempReg187 +zp ZpD3 TempReg188 +zp ZpD4 TempReg189 +zp ZpD5 TempReg190 +zp ZpD6 TempReg191 +zp ZpD7 TempReg192 +zp ZpD8 TempReg193 +zp ZpD9 TempReg194 +zp ZpDA TempReg195 +zp ZpDB TempReg196 +zp ZpDC TempReg197 +zp ZpDD TempReg198 +zp ZpDE TempReg199 +zp ZpDF TempReg200 +zp ZpE0 TempReg201 +zp ZpE1 TempReg202 +zp ZpE2 TempReg203 +zp ZpE3 TempReg204 +zp ZpE4 TempReg205 +zp ZpE5 TempReg206 +zp ZpE6 TempReg207 +zp ZpE7 TempReg208 +zp ZpE8 TempReg209 +zp ZpE9 TempReg210 +zp ZpEA TempReg211 +zp ZpEB TempReg212 +zp ZpEC TempReg213 +zp ZpED TempReg214 +zp ZpEE TempReg215 +zp ZpEF TempReg216 +zp ZpF0 TempReg217 +zp ZpF1 TempReg218 +zp ZpF2 TempReg219 +zp ZpF3 TempReg220 +zp ZpF4 TempReg221 +zp ZpF5 TempReg222 +zp ZpF6 TempReg223 +zp ZpF7 TempReg224 +zp ZpF8 TempReg225 +zp ZpF9 TempReg226 +zp ZpFA TempReg227 +zp ZpFB TempReg228 +zp ZpFC TempReg229 +zp ZpFD TempReg230 +zp ZpFE TempReg231 +zp ZpFF TempReg233 \ No newline at end of file diff --git a/_wip/Ice Climber (JE)/copilot/prg.s b/_wip/Ice Climber (JE)/copilot/prg.s index 30773a1..4c7ed0c 100644 --- a/_wip/Ice Climber (JE)/copilot/prg.s +++ b/_wip/Ice Climber (JE)/copilot/prg.s @@ -11,6 +11,8 @@ ; Pass 1 trace provenance (the audit trail behind every classification below): ; 69 further routine entries recovered from table references elsewhere in the image: ; $C166, $C1D7, $C2B0, $C38D, $C5C9, $C73D, $C777, $C7C1, $C7C5, $C7F5, $C813, $C9D7, $C9F8, $CA01, $CA03, $CA1A, $CC05, $CC9E, $CD62, $CF1A, $CFEF, $D00A, $D053, $D06B, $D0AA, $D127, $D143, $D171, $D17C, $D1E5, $D1F9, $D2D9, $D2F9, $D301, $D385, $D463, $D552, $D6A5, $D6B9, $D724, $D890, $D8FD, $D90F, $DA85, $DAB2, $DCF0, $DDA9, $DDB6, $DDBD, $DDC9, $DDE1, $DE12, $DEEA, $DFAB, $DFEA, $DFF8, $E64E, $E9C5, $EA4A, $EA4C, $EA8E, $EA97, $ED63, $EDBF, $EF7B, $EF9A, $F504, $F6EA, $F78B +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $C014, $C076, $FFF0 ; indirect dispatch through zero page (not followed statically): ; jmp ($0002) at $C73A ; @@ -43,7 +45,7 @@ Reset: ldx #$FF ; CPU:$C01B PRG:001B A2 FF txs ; CPU:$C01D PRG:001D 9A ; ----------------------------------------------------------------------------- -; Routine: Label_C01E +; Routine: WaitVBlank_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -51,12 +53,12 @@ Reset: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C01E: +WaitVBlank_1: lda $2002 ; CPU:$C01E PRG:001E AD 02 20 asl a ; CPU:$C021 PRG:0021 0A - bcc Label_C01E ; CPU:$C022 PRG:0022 90 FA + bcc WaitVBlank_1 ; CPU:$C022 PRG:0022 90 FA ; ----------------------------------------------------------------------------- -; Routine: Label_C024 +; Routine: WaitVBlank2_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -64,10 +66,10 @@ Label_C01E: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C024: +WaitVBlank2_1: lda $2002 ; CPU:$C024 PRG:0024 AD 02 20 asl a ; CPU:$C027 PRG:0027 0A - bcc Label_C024 ; CPU:$C028 PRG:0028 90 FA + bcc WaitVBlank2_1 ; CPU:$C028 PRG:0028 90 FA ldy #$07 ; CPU:$C02A PRG:002A A0 07 sty Zp01 ; CPU:$C02C PRG:002C 84 01 ldy #$00 ; CPU:$C02E PRG:002E A0 00 @@ -75,12 +77,12 @@ Label_C024: tya ; CPU:$C032 PRG:0032 98 ldx #$5A ; CPU:$C033 PRG:0033 A2 5A cpx $0780 ; CPU:$C035 PRG:0035 EC 80 07 - bne Label_C041 ; CPU:$C038 PRG:0038 D0 07 + bne ClearZeropage ; CPU:$C038 PRG:0038 D0 07 cpx $0781 ; CPU:$C03A PRG:003A EC 81 07 - bne Label_C041 ; CPU:$C03D PRG:003D D0 02 + bne ClearZeropage ; CPU:$C03D PRG:003D D0 02 ldy #$EC ; CPU:$C03F PRG:003F A0 EC ; ----------------------------------------------------------------------------- -; Routine: Label_C041 +; Routine: ClearZeropage ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -88,19 +90,19 @@ Label_C024: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C041: +ClearZeropage: sta (Zp00),y ; CPU:$C041 PRG:0041 91 00 dey ; CPU:$C043 PRG:0043 88 - bne Label_C041 ; CPU:$C044 PRG:0044 D0 FB + bne ClearZeropage ; CPU:$C044 PRG:0044 D0 FB dec Zp01 ; CPU:$C046 PRG:0046 C6 01 - bpl Label_C041 ; CPU:$C048 PRG:0048 10 F7 + bpl ClearZeropage ; CPU:$C048 PRG:0048 10 F7 lda #$5A ; CPU:$C04A PRG:004A A9 5A sta $0780 ; CPU:$C04C PRG:004C 8D 80 07 sta $0781 ; CPU:$C04F PRG:004F 8D 81 07 jsr $C05E ; CPU:$C052 PRG:0052 20 5E C0 jsr $C141 ; CPU:$C055 PRG:0055 20 41 C1 ; ----------------------------------------------------------------------------- -; Routine: Label_C058 +; Routine: InitAPU_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -108,11 +110,11 @@ Label_C041: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C058: +InitAPU_1: jsr $CACE ; CPU:$C058 PRG:0058 20 CE CA jmp $C058 ; CPU:$C05B PRG:005B 4C 58 C0 ; ----------------------------------------------------------------------------- -; Routine: Label_C05E +; Routine: InitAPU_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -120,7 +122,7 @@ Label_C058: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C05E: +InitAPU_3: lda #$00 ; CPU:$C05E PRG:005E A9 00 sta $4011 ; CPU:$C060 PRG:0060 8D 11 40 lda #$0F ; CPU:$C063 PRG:0063 A9 0F @@ -128,7 +130,7 @@ Label_C05E: lda #$06 ; CPU:$C068 PRG:0068 A9 06 sta $2001 ; CPU:$C06A PRG:006A 8D 01 20 ; ----------------------------------------------------------------------------- -; Routine: Label_C06D +; Routine: MainGameLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -136,10 +138,10 @@ Label_C05E: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C06D: +MainGameLoop: jsr $C883 ; CPU:$C06D PRG:006D 20 83 C8 ; ----------------------------------------------------------------------------- -; Routine: Label_C070 +; Routine: GameLoopEntry_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -147,7 +149,7 @@ Label_C06D: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C070: +GameLoopEntry_1: jsr $C89A ; CPU:$C070 PRG:0070 20 9A C8 jmp $C81D ; CPU:$C073 PRG:0073 4C 1D C8 ; ----------------------------------------------------------------------------- @@ -167,10 +169,10 @@ NmiHandler: pha ; CPU:$C07A PRG:007A 48 lda Zp10 ; CPU:$C07B PRG:007B A5 10 ldx ZpDE ; CPU:$C07D PRG:007D A6 DE - beq Label_C083 ; CPU:$C07F PRG:007F F0 02 + beq NmiFrameUpdate ; CPU:$C07F PRG:007F F0 02 eor #$02 ; CPU:$C081 PRG:0081 49 02 ; ----------------------------------------------------------------------------- -; Routine: Label_C083 +; Routine: NmiFrameUpdate ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -178,17 +180,17 @@ NmiHandler: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C083: +NmiFrameUpdate: and #$7F ; CPU:$C083 PRG:0083 29 7F jsr $C148 ; CPU:$C085 PRG:0085 20 48 C1 lda Zp52 ; CPU:$C088 PRG:0088 A5 52 - bne Label_C095 ; CPU:$C08A PRG:008A D0 09 + bne NmiFrameUpdate2 ; CPU:$C08A PRG:008A D0 09 lda Zp11 ; CPU:$C08C PRG:008C A5 11 ora #$1E ; CPU:$C08E PRG:008E 09 1E sta $2001 ; CPU:$C090 PRG:0090 8D 01 20 sta Zp11 ; CPU:$C093 PRG:0093 85 11 ; ----------------------------------------------------------------------------- -; Routine: Label_C095 +; Routine: NmiFrameUpdate2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -196,7 +198,7 @@ Label_C083: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C095: +NmiFrameUpdate2: lda #$00 ; CPU:$C095 PRG:0095 A9 00 sta $2003 ; CPU:$C097 PRG:0097 8D 03 20 lda #$02 ; CPU:$C09A PRG:009A A9 02 @@ -218,11 +220,11 @@ Label_C095: jsr $CAED ; CPU:$C0C3 PRG:00C3 20 ED CA jsr $F91E ; CPU:$C0C6 PRG:00C6 20 1E F9 lda Zp53 ; CPU:$C0C9 PRG:00C9 A5 53 - beq Label_C0D3 ; CPU:$C0CB PRG:00CB F0 06 + beq GameStateUpdate ; CPU:$C0CB PRG:00CB F0 06 jsr $C620 ; CPU:$C0CD PRG:00CD 20 20 C6 jmp $C126 ; CPU:$C0D0 PRG:00D0 4C 26 C1 ; ----------------------------------------------------------------------------- -; Routine: Label_C0D3 +; Routine: GameStateUpdate ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -230,22 +232,22 @@ Label_C095: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C0D3: +GameStateUpdate: lda Zp51 ; CPU:$C0D3 PRG:00D3 A5 51 - beq Label_C126 ; CPU:$C0D5 PRG:00D5 F0 4F + beq GameLoopEntry_4 ; CPU:$C0D5 PRG:00D5 F0 4F ldx $034C ; CPU:$C0D7 PRG:00D7 AE 4C 03 beq Label_C11A ; CPU:$C0DA PRG:00DA F0 3E dex ; CPU:$C0DC PRG:00DC CA - beq Label_C103 ; CPU:$C0DD PRG:00DD F0 24 + beq UpdateGameState5 ; CPU:$C0DD PRG:00DD F0 24 dex ; CPU:$C0DF PRG:00DF CA - bne Label_C100 ; CPU:$C0E0 PRG:00E0 D0 1E + bne UpdateGameState4 ; CPU:$C0E0 PRG:00E0 D0 1E lda Zp11 ; CPU:$C0E2 PRG:00E2 A5 11 and #$EF ; CPU:$C0E4 PRG:00E4 29 EF sta $2001 ; CPU:$C0E6 PRG:00E6 8D 01 20 sta Zp11 ; CPU:$C0E9 PRG:00E9 85 11 lda Zp15 ; CPU:$C0EB PRG:00EB A5 15 and #$10 ; CPU:$C0ED PRG:00ED 29 10 - beq Label_C138 ; CPU:$C0EF PRG:00EF F0 47 + beq UpdateGameState2_4 ; CPU:$C0EF PRG:00EF F0 47 ldy #$40 ; CPU:$C0F1 PRG:00F1 A0 40 ; ----------------------------------------------------------------------------- ; Routine: Label_C0F3 @@ -261,7 +263,7 @@ Label_C0F3: lda #$40 ; CPU:$C0F5 PRG:00F5 A9 40 sta $034D ; CPU:$C0F7 PRG:00F7 8D 4D 03 ; ----------------------------------------------------------------------------- -; Routine: Label_C0FA +; Routine: UpdateGameState3_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -269,11 +271,11 @@ Label_C0F3: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C0FA: +UpdateGameState3_1: inc $034C ; CPU:$C0FA PRG:00FA EE 4C 03 jmp $C138 ; CPU:$C0FD PRG:00FD 4C 38 C1 ; ----------------------------------------------------------------------------- -; Routine: Label_C100 +; Routine: UpdateGameState4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -281,11 +283,11 @@ Label_C0FA: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C100: +UpdateGameState4: dex ; CPU:$C100 PRG:0100 CA - bne Label_C10A ; CPU:$C101 PRG:0101 D0 07 + bne UpdateGameState6 ; CPU:$C101 PRG:0101 D0 07 ; ----------------------------------------------------------------------------- -; Routine: Label_C103 +; Routine: UpdateGameState5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -293,12 +295,12 @@ Label_C100: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C103: +UpdateGameState5: dec $034D ; CPU:$C103 PRG:0103 CE 4D 03 - beq Label_C0FA ; CPU:$C106 PRG:0106 F0 F2 - bne Label_C138 ; CPU:$C108 PRG:0108 D0 2E + beq UpdateGameState3_1 ; CPU:$C106 PRG:0106 F0 F2 + bne UpdateGameState2_4 ; CPU:$C108 PRG:0108 D0 2E ; ----------------------------------------------------------------------------- -; Routine: Label_C10A +; Routine: UpdateGameState6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -306,14 +308,14 @@ Label_C103: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C10A: +UpdateGameState6: lda Zp11 ; CPU:$C10A PRG:010A A5 11 ora #$10 ; CPU:$C10C PRG:010C 09 10 sta $2001 ; CPU:$C10E PRG:010E 8D 01 20 sta Zp11 ; CPU:$C111 PRG:0111 85 11 lda #$00 ; CPU:$C113 PRG:0113 A9 00 sta $034C ; CPU:$C115 PRG:0115 8D 4C 03 - beq Label_C138 ; CPU:$C118 PRG:0118 F0 1E + beq UpdateGameState2_4 ; CPU:$C118 PRG:0118 F0 1E ; ----------------------------------------------------------------------------- ; Routine: Label_C11A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. @@ -327,11 +329,11 @@ Label_C11A: ldy #$20 ; CPU:$C11A PRG:011A A0 20 lda Zp15 ; CPU:$C11C PRG:011C A5 15 and #$10 ; CPU:$C11E PRG:011E 29 10 - beq Label_C126 ; CPU:$C120 PRG:0120 F0 04 + beq GameLoopEntry_4 ; CPU:$C120 PRG:0120 F0 04 lda Zp55 ; CPU:$C122 PRG:0122 A5 55 bne Label_C0F3 ; CPU:$C124 PRG:0124 D0 CD ; ----------------------------------------------------------------------------- -; Routine: Label_C126 +; Routine: GameLoopEntry_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -339,7 +341,7 @@ Label_C11A: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C126: +GameLoopEntry_4: jsr $CB9D ; CPU:$C126 PRG:0126 20 9D CB inc Zp50 ; CPU:$C129 PRG:0129 E6 50 lda Zp51 ; CPU:$C12B PRG:012B A5 51 @@ -358,7 +360,7 @@ Label_C126: Label_C135: jsr $C44A ; CPU:$C135 PRG:0135 20 4A C4 ; ----------------------------------------------------------------------------- -; Routine: Label_C138 +; Routine: UpdateGameState2_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -366,7 +368,7 @@ Label_C135: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C138: +UpdateGameState2_4: jsr $C141 ; CPU:$C138 PRG:0138 20 41 C1 pla ; CPU:$C13B PRG:013B 68 tay ; CPU:$C13C PRG:013C A8 @@ -375,7 +377,7 @@ Label_C138: pla ; CPU:$C13F PRG:013F 68 rti ; CPU:$C140 PRG:0140 40 ; ----------------------------------------------------------------------------- -; Routine: Label_C141 +; Routine: UpdateGameState2_5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -383,12 +385,12 @@ Label_C138: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C141: +UpdateGameState2_5: lda $2002 ; CPU:$C141 PRG:0141 AD 02 20 lda Zp10 ; CPU:$C144 PRG:0144 A5 10 ora #$80 ; CPU:$C146 PRG:0146 09 80 ; ----------------------------------------------------------------------------- -; Routine: Label_C148 +; Routine: WaitVBlankFrame2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -396,12 +398,12 @@ Label_C141: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C148: +WaitVBlankFrame2: sta Zp10 ; CPU:$C148 PRG:0148 85 10 sta $2000 ; CPU:$C14A PRG:014A 8D 00 20 rts ; CPU:$C14D PRG:014D 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C14E +; Routine: InitSprites_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -409,10 +411,10 @@ Label_C148: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C14E: +InitSprites_1: ldx #$00 ; CPU:$C14E PRG:014E A2 00 ; ----------------------------------------------------------------------------- -; Routine: Label_C150 +; Routine: CopySprites ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -420,7 +422,7 @@ Label_C14E: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C150: +CopySprites: lda $C000,x ; CPU:$C150 PRG:0150 BD 00 C0 sta Zp00 ; CPU:$C153 PRG:0153 85 00 lda $C00A,x ; CPU:$C155 PRG:0155 BD 0A C0 @@ -595,7 +597,7 @@ Label_C1D7: ; ----------------------------------------------------------------------------- Label_C1F0: cmp #$01 ; CPU:$C1F0 PRG:01F0 C9 01 - beq Label_C21A ; CPU:$C1F2 PRG:01F2 F0 26 + beq UpdateSprites2_1 ; CPU:$C1F2 PRG:01F2 F0 26 cmp #$02 ; CPU:$C1F4 PRG:01F4 C9 02 bne Label_C21D ; CPU:$C1F6 PRG:01F6 D0 25 lda #$00 ; CPU:$C1F8 PRG:01F8 A9 00 @@ -635,7 +637,7 @@ Label_C207: lsr a ; CPU:$C215 PRG:0215 4A sta ZpDB ; CPU:$C216 PRG:0216 85 DB ; ----------------------------------------------------------------------------- -; Routine: Label_C218 +; Routine: UpdateSprites_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -643,10 +645,10 @@ Label_C207: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C218: +UpdateSprites_1: sta Zp52 ; CPU:$C218 PRG:0218 85 52 ; ----------------------------------------------------------------------------- -; Routine: Label_C21A +; Routine: UpdateSprites2_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -654,7 +656,7 @@ Label_C218: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C21A: +UpdateSprites2_1: inc Zp57 ; CPU:$C21A PRG:021A E6 57 rts ; CPU:$C21C PRG:021C 60 ; ----------------------------------------------------------------------------- @@ -777,14 +779,14 @@ Label_C279: jsr $F80C ; CPU:$C297 PRG:0297 20 0C F8 ldx Zp55 ; CPU:$C29A PRG:029A A6 55 cpx #$01 ; CPU:$C29C PRG:029C E0 01 - bne Label_C2AB ; CPU:$C29E PRG:029E D0 0B + bne UpdateSprites2_3 ; CPU:$C29E PRG:029E D0 0B lda #$02 ; CPU:$C2A0 PRG:02A0 A9 02 sta ZpFB ; CPU:$C2A2 PRG:02A2 85 FB jsr $E002 ; CPU:$C2A4 PRG:02A4 20 02 E0 lda #$01 ; CPU:$C2A7 PRG:02A7 A9 01 sta Zp8D ; CPU:$C2A9 PRG:02A9 85 8D ; ----------------------------------------------------------------------------- -; Routine: Label_C2AB +; Routine: UpdateSprites2_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -792,7 +794,7 @@ Label_C279: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C2AB: +UpdateSprites2_3: inc Zp57 ; CPU:$C2AB PRG:02AB E6 57 inc Zp51 ; CPU:$C2AD PRG:02AD E6 51 rts ; CPU:$C2AF PRG:02AF 60 @@ -939,7 +941,7 @@ Label_C39F: Label_C436: rts ; CPU:$C436 PRG:0436 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C437 +; Routine: CheckZp34 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -947,7 +949,7 @@ Label_C436: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C437: +CheckZp34: lda Zp34 ; CPU:$C437 PRG:0437 A5 34 bne Label_C436 ; CPU:$C439 PRG:0439 D0 FB jsr $C726 ; CPU:$C43B PRG:043B 20 26 C7 @@ -955,7 +957,7 @@ Label_C437: ; ---- data $C440-$C449 (10 bytes) ---- .byte $D7, $C1, $ED, $C2, $AD, $C2, $B0, $C2, $A4, $C3 ; CPU:$C440 PRG:0440 D7 C1 ED C2 AD C2 B0 C2 A4 C3 ; ----------------------------------------------------------------------------- -; Routine: Label_C44A +; Routine: UpdateSprites2_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -963,7 +965,7 @@ Label_C437: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C44A: +UpdateSprites2_4: lda #$00 ; CPU:$C44A PRG:044A A9 00 sta Zp57 ; CPU:$C44C PRG:044C 85 57 jsr $C726 ; CPU:$C44E PRG:044E 20 26 C7 @@ -978,7 +980,7 @@ Label_C44A: .byte $F0, $15, $A9, $05, $20, $F5, $D4, $A9, $01, $85, $FB, $A9, $03, $85, $20, $A4 ; CPU:$C4A2 PRG:04A2 F0 15 A9 05 20 F5 D4 A9 01 85 FB A9 03 85 20 A4 .byte $58, $D0, $02, $A9, $FC, $85, $21, $60, $A5, $58, $49, $01, $85, $58 ; CPU:$C4B2 PRG:04B2 58 D0 02 A9 FC 85 21 60 A5 58 49 01 85 58 ; ----------------------------------------------------------------------------- -; Routine: Label_C4C0 +; Routine: UpdateSprites3_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -986,7 +988,7 @@ Label_C44A: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C4C0: +UpdateSprites3_1: lda #$7F ; CPU:$C4C0 PRG:04C0 A9 7F ldy Zp58 ; CPU:$C4C2 PRG:04C2 A4 58 beq Label_C4C8 ; CPU:$C4C4 PRG:04C4 F0 02 @@ -1019,7 +1021,7 @@ Label_C4CD: bpl Label_C4CD ; CPU:$C4D4 PRG:04D4 10 F7 rts ; CPU:$C4D6 PRG:04D6 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C4D7 +; Routine: InitSprites_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1027,7 +1029,7 @@ Label_C4CD: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C4D7: +InitSprites_3: ldy #$17 ; CPU:$C4D7 PRG:04D7 A0 17 ; ----------------------------------------------------------------------------- ; Routine: Label_C4D9 @@ -1104,7 +1106,7 @@ Label_C508: .byte $00, $CC, $FF, $0F, $FF, $C3, $FC, $3F, $F0, $F0, $F0, $F0, $00, $0F, $CF, $CF ; CPU:$C522 PRG:0522 00 CC FF 0F FF C3 FC 3F F0 F0 F0 F0 00 0F CF CF .byte $3F, $F0, $00, $FF, $CC, $CC, $CC, $F3, $33, $00, $FC, $FC, $FF, $FC, $00, $3F ; CPU:$C532 PRG:0532 3F F0 00 FF CC CC CC F3 33 00 FC FC FF FC 00 3F ; ----------------------------------------------------------------------------- -; Routine: Label_C542 +; Routine: UpdateSprites_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1112,7 +1114,7 @@ Label_C508: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C542: +UpdateSprites_3: jsr $E72B ; CPU:$C542 PRG:0542 20 2B E7 lda #$BF ; CPU:$C545 PRG:0545 A9 BF sta Zp0C ; CPU:$C547 PRG:0547 85 0C @@ -1222,7 +1224,7 @@ Label_C597: ; ---- data $C5A1-$C5A6 (6 bytes) ---- .byte $E7, $3C, $FC, $3F, $CF, $E3 ; CPU:$C5A1 PRG:05A1 E7 3C FC 3F CF E3 ; ----------------------------------------------------------------------------- -; Routine: Label_C5A7 +; Routine: UpdateSprites2_5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1230,7 +1232,7 @@ Label_C597: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C5A7: +UpdateSprites2_5: ldy #$D7 ; CPU:$C5A7 PRG:05A7 A0 D7 ; ----------------------------------------------------------------------------- ; Routine: Label_C5A9 @@ -1296,7 +1298,7 @@ Label_C5C9: Label_C5D2: rts ; CPU:$C5D2 PRG:05D2 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C5D3 +; Routine: UpdateSprites3_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1304,7 +1306,7 @@ Label_C5D2: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C5D3: +UpdateSprites3_3: lda #$00 ; CPU:$C5D3 PRG:05D3 A9 00 sta Zp0F ; CPU:$C5D5 PRG:05D5 85 0F lda #$18 ; CPU:$C5D7 PRG:05D7 A9 18 @@ -1418,7 +1420,7 @@ Label_C60F: ; referenced by `lda $C610,x` at $C650 (operand $C610 falls inside this region) .byte $11, $22, $11, $38, $29, $28, $19, $21, $1A, $28, $2A, $12, $2A, $22, $14, $12 ; CPU:$C610 PRG:0610 11 22 11 38 29 28 19 21 1A 28 2A 12 2A 22 14 12 ; ----------------------------------------------------------------------------- -; Routine: Label_C620 +; Routine: CheckZp14 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1426,7 +1428,7 @@ Label_C60F: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C620: +CheckZp14: lda Zp14 ; CPU:$C620 PRG:0620 A5 14 and #$30 ; CPU:$C622 PRG:0622 29 30 beq Label_C63A ; CPU:$C624 PRG:0624 F0 14 @@ -1529,7 +1531,7 @@ Label_C67F: .byte $7F, $32, $00, $23, $E0, $60, $00, $23, $C8, $02, $44, $55, $00, $2B, $C0, $71 ; CPU:$C6E0 PRG:06E0 7F 32 00 23 E0 60 00 23 C8 02 44 55 00 2B C0 71 .byte $00, $2B, $C8, $02, $44, $55, $00, $A0, $04, $10, $12 ; CPU:$C6F0 PRG:06F0 00 2B C8 02 44 55 00 A0 04 10 12 ; ----------------------------------------------------------------------------- -; Routine: Label_C6FB +; Routine: UpdateSprites3_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1537,7 +1539,7 @@ Label_C67F: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C6FB: +UpdateSprites3_4: jsr $C891 ; CPU:$C6FB PRG:06FB 20 91 C8 lda $C6F9,x ; CPU:$C6FE PRG:06FE BD F9 C6 sta $2006 ; CPU:$C701 PRG:0701 8D 06 20 @@ -1569,7 +1571,7 @@ Label_C718: bne Label_C718 ; CPU:$C723 PRG:0723 D0 F3 rts ; CPU:$C725 PRG:0725 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C726 +; Routine: CheckZp55 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1577,10 +1579,10 @@ Label_C718: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C726: +CheckZp55: lda Zp55 ; CPU:$C726 PRG:0726 A5 55 ; ----------------------------------------------------------------------------- -; Routine: Label_C728 +; Routine: UpdateSprites2_7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1588,7 +1590,7 @@ Label_C726: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C728: +UpdateSprites2_7: asl a ; CPU:$C728 PRG:0728 0A tay ; CPU:$C729 PRG:0729 A8 pla ; CPU:$C72A PRG:072A 68 @@ -1603,7 +1605,7 @@ Label_C728: sta Zp03 ; CPU:$C738 PRG:0738 85 03 jmp ($0002) ; CPU:$C73A PRG:073A 6C 02 00 ; ----------------------------------------------------------------------------- -; Routine: Label_C73D +; Routine: UpdateSprites3_5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1611,7 +1613,7 @@ Label_C728: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C73D: +UpdateSprites3_5: sta Zp03 ; CPU:$C73D PRG:073D 85 03 txa ; CPU:$C73F PRG:073F 8A pha ; CPU:$C740 PRG:0740 48 @@ -1669,7 +1671,7 @@ Label_C76F: tax ; CPU:$C775 PRG:0775 AA rts ; CPU:$C776 PRG:0776 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C777 +; Routine: UpdateSprites4_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1677,7 +1679,7 @@ Label_C76F: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C777: +UpdateSprites4_1: lda Zp02 ; CPU:$C777 PRG:0777 A5 02 ldy #$01 ; CPU:$C779 PRG:0779 A0 01 ; ----------------------------------------------------------------------------- @@ -1743,7 +1745,7 @@ Label_C7A5: bne Label_C77B ; CPU:$C7BE PRG:07BE D0 BB rts ; CPU:$C7C0 PRG:07C0 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C7C1 +; Routine: UpdateSprites4_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1751,7 +1753,7 @@ Label_C7A5: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C7C1: +UpdateSprites4_3: ldy #$01 ; CPU:$C7C1 PRG:07C1 A0 01 sty Zp0A ; CPU:$C7C3 PRG:07C3 84 0A ; ----------------------------------------------------------------------------- @@ -1817,7 +1819,7 @@ Label_C7CF: bpl Label_C7CA ; CPU:$C7F2 PRG:07F2 10 D6 rts ; CPU:$C7F4 PRG:07F4 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C7F5 +; Routine: UpdateSprites4_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1825,7 +1827,7 @@ Label_C7CF: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C7F5: +UpdateSprites4_4: ldy #$00 ; CPU:$C7F5 PRG:07F5 A0 00 ; ----------------------------------------------------------------------------- ; Routine: Label_C7F7 @@ -1881,7 +1883,7 @@ Label_C813: bne Label_C7F7 ; CPU:$C81A PRG:081A D0 DB rts ; CPU:$C81C PRG:081C 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C81D +; Routine: GameLoopEntry_5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1889,11 +1891,11 @@ Label_C813: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C81D: +GameLoopEntry_5: ldx #$40 ; CPU:$C81D PRG:081D A2 40 lda #$00 ; CPU:$C81F PRG:081F A9 00 ; ----------------------------------------------------------------------------- -; Routine: Label_C821 +; Routine: InitGameState ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1901,7 +1903,7 @@ Label_C81D: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C821: +InitGameState: sta Zp04 ; CPU:$C821 PRG:0821 85 04 lda #$02 ; CPU:$C823 PRG:0823 A9 02 sta Zp05 ; CPU:$C825 PRG:0825 85 05 @@ -1931,7 +1933,7 @@ Label_C829: ; referenced by `adc $C839,y` at $C85D (operand $C839 falls inside this region) .byte $22, $17, $22, $27 ; CPU:$C839 PRG:0839 22 17 22 27 ; ----------------------------------------------------------------------------- -; Routine: Label_C83D +; Routine: UpdateSprites2_8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1939,7 +1941,7 @@ Label_C829: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C83D: +UpdateSprites2_8: stx Zp0F ; CPU:$C83D PRG:083D 86 0F tax ; CPU:$C83F PRG:083F AA lda ZpE0,x ; CPU:$C840 PRG:0840 B5 E0 @@ -1963,7 +1965,7 @@ Label_C83D: Label_C853: lda ZpE6,x ; CPU:$C853 PRG:0853 B5 E6 cmp #$08 ; CPU:$C855 PRG:0855 C9 08 - bcs Label_C868 ; CPU:$C857 PRG:0857 B0 0F + bcs UpdateSprites2_9 ; CPU:$C857 PRG:0857 B0 0F ldy Zp2F,x ; CPU:$C859 PRG:0859 B4 2F lda ZpE8,x ; CPU:$C85B PRG:085B B5 E8 adc $C839,y ; CPU:$C85D PRG:085D 79 39 C8 @@ -1972,7 +1974,7 @@ Label_C853: adc #$00 ; CPU:$C864 PRG:0864 69 00 sta ZpE6,x ; CPU:$C866 PRG:0866 95 E6 ; ----------------------------------------------------------------------------- -; Routine: Label_C868 +; Routine: UpdateSprites2_9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -1980,7 +1982,7 @@ Label_C853: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C868: +UpdateSprites2_9: lda ZpEA,x ; CPU:$C868 PRG:0868 B5 EA sec ; CPU:$C86A PRG:086A 38 sbc ZpE2,x ; CPU:$C86B PRG:086B F5 E2 @@ -1998,7 +2000,7 @@ Label_C868: ldx Zp0F ; CPU:$C880 PRG:0880 A6 0F rts ; CPU:$C882 PRG:0882 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C883 +; Routine: InitSprites2_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2006,7 +2008,7 @@ Label_C868: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C883: +InitSprites2_1: lda #$10 ; CPU:$C883 PRG:0883 A9 10 jsr $C148 ; CPU:$C885 PRG:0885 20 48 C1 lda #$00 ; CPU:$C888 PRG:0888 A9 00 @@ -2014,7 +2016,7 @@ Label_C883: sta Zp13 ; CPU:$C88C PRG:088C 85 13 jmp $CB81 ; CPU:$C88E PRG:088E 4C 81 CB ; ----------------------------------------------------------------------------- -; Routine: Label_C891 +; Routine: ClearSpriteRAM ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2022,14 +2024,14 @@ Label_C883: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C891: +ClearSpriteRAM: lda #$00 ; CPU:$C891 PRG:0891 A9 00 sta $2001 ; CPU:$C893 PRG:0893 8D 01 20 rts ; CPU:$C896 PRG:0896 60 ; ---- data $C897-$C899 (3 bytes) ---- .byte $20, $5D, $C1 ; CPU:$C897 PRG:0897 20 5D C1 ; ----------------------------------------------------------------------------- -; Routine: Label_C89A +; Routine: UpdateSprites2_10 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2037,13 +2039,13 @@ Label_C891: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C89A: +UpdateSprites2_10: jsr $C891 ; CPU:$C89A PRG:089A 20 91 C8 lda #$20 ; CPU:$C89D PRG:089D A9 20 jsr $C8A4 ; CPU:$C89F PRG:089F 20 A4 C8 lda #$28 ; CPU:$C8A2 PRG:08A2 A9 28 ; ----------------------------------------------------------------------------- -; Routine: Label_C8A4 +; Routine: UpdateSprites2_11 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2051,7 +2053,7 @@ Label_C89A: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C8A4: +UpdateSprites2_11: sta Zp00 ; CPU:$C8A4 PRG:08A4 85 00 lda $2002 ; CPU:$C8A6 PRG:08A6 AD 02 20 lda Zp10 ; CPU:$C8A9 PRG:08A9 A5 10 @@ -2102,7 +2104,7 @@ Label_C8D9: bne Label_C8D9 ; CPU:$C8DD PRG:08DD D0 FA rts ; CPU:$C8DF PRG:08DF 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C8E0 +; Routine: UpdateSprites3_6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2110,7 +2112,7 @@ Label_C8D9: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C8E0: +UpdateSprites3_6: sta Zp00 ; CPU:$C8E0 PRG:08E0 85 00 ldx Zp00 ; CPU:$C8E2 PRG:08E2 A6 00 jsr $C8EE ; CPU:$C8E4 PRG:08E4 20 EE C8 @@ -2121,7 +2123,7 @@ Label_C8E0: lsr a ; CPU:$C8EC PRG:08EC 4A tax ; CPU:$C8ED PRG:08ED AA ; ----------------------------------------------------------------------------- -; Routine: Label_C8EE +; Routine: UpdateSprites4_5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2129,7 +2131,7 @@ Label_C8E0: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C8EE: +UpdateSprites4_5: inx ; CPU:$C8EE PRG:08EE E8 txa ; CPU:$C8EF PRG:08EF 8A and #$0F ; CPU:$C8F0 PRG:08F0 29 0F @@ -2199,7 +2201,7 @@ Label_C92B: Label_C94A: rts ; CPU:$C94A PRG:094A 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C94B +; Routine: UpdateSprites5_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2207,7 +2209,7 @@ Label_C94A: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C94B: +UpdateSprites5_1: ldx #$FF ; CPU:$C94B PRG:094B A2 FF bit a:$00A2 ; CPU:$C94D PRG:094D 2C A2 00 sta Zp00 ; CPU:$C950 PRG:0950 85 00 @@ -2342,7 +2344,7 @@ Label_C9C2: Label_C9D6: rts ; CPU:$C9D6 PRG:09D6 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C9D7 +; Routine: UpdateSprites6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2350,7 +2352,7 @@ Label_C9D6: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C9D7: +UpdateSprites6: jsr $CA1A ; CPU:$C9D7 PRG:09D7 20 1A CA adc Zp01 ; CPU:$C9DA PRG:09DA 65 01 cmp #$0A ; CPU:$C9DC PRG:09DC C9 0A @@ -2400,7 +2402,7 @@ Label_C9F3: bcs Label_C9EF ; CPU:$C9F5 PRG:09F5 B0 F8 rts ; CPU:$C9F7 PRG:09F7 60 ; ----------------------------------------------------------------------------- -; Routine: Label_C9F8 +; Routine: UpdateSprites7_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2408,7 +2410,7 @@ Label_C9F3: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_C9F8: +UpdateSprites7_1: jsr $CA1A ; CPU:$C9F8 PRG:09F8 20 1A CA sbc Zp01 ; CPU:$C9FB PRG:09FB E5 01 sta Zp01 ; CPU:$C9FD PRG:09FD 85 01 @@ -2468,7 +2470,7 @@ Label_CA17: ora Zp01 ; CPU:$CA17 PRG:0A17 05 01 rts ; CPU:$CA19 PRG:0A19 60 ; ----------------------------------------------------------------------------- -; Routine: Label_CA1A +; Routine: UpdateSprites7_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2476,7 +2478,7 @@ Label_CA17: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CA1A: +UpdateSprites7_3: pha ; CPU:$CA1A PRG:0A1A 48 and #$0F ; CPU:$CA1B PRG:0A1B 29 0F sta Zp01 ; CPU:$CA1D PRG:0A1D 85 01 @@ -2487,7 +2489,7 @@ Label_CA1A: and #$0F ; CPU:$CA26 PRG:0A26 29 0F rts ; CPU:$CA28 PRG:0A28 60 ; ----------------------------------------------------------------------------- -; Routine: Label_CA29 +; Routine: UpdateSprites8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2495,7 +2497,7 @@ Label_CA1A: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CA29: +UpdateSprites8: jsr $C9F8 ; CPU:$CA29 PRG:0A29 20 F8 C9 ; ----------------------------------------------------------------------------- ; Routine: Label_CA2C @@ -2511,7 +2513,7 @@ Label_CA2C: lda $07F2,x ; CPU:$CA2F PRG:0A2F BD F2 07 rts ; CPU:$CA32 PRG:0A32 60 ; ----------------------------------------------------------------------------- -; Routine: Label_CA33 +; Routine: UpdateSprites9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2519,10 +2521,10 @@ Label_CA2C: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CA33: +UpdateSprites9: jsr $C9F8 ; CPU:$CA33 PRG:0A33 20 F8 C9 ; ----------------------------------------------------------------------------- -; Routine: Label_CA36 +; Routine: UpdateSprites10 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2530,7 +2532,7 @@ Label_CA33: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CA36: +UpdateSprites10: sta $07F2,x ; CPU:$CA36 PRG:0A36 9D F2 07 lda $07F1,x ; CPU:$CA39 PRG:0A39 BD F1 07 rts ; CPU:$CA3C PRG:0A3C 60 @@ -2546,7 +2548,7 @@ Label_CA36: Label_CA3D: jsr $C9F8 ; CPU:$CA3D PRG:0A3D 20 F8 C9 ; ----------------------------------------------------------------------------- -; Routine: Label_CA40 +; Routine: UpdateSprites11 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2554,11 +2556,11 @@ Label_CA3D: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CA40: +UpdateSprites11: sta $07F1,x ; CPU:$CA40 PRG:0A40 9D F1 07 rts ; CPU:$CA43 PRG:0A43 60 ; ----------------------------------------------------------------------------- -; Routine: Label_CA44 +; Routine: UpdateSprites12 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2566,13 +2568,13 @@ Label_CA40: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CA44: +UpdateSprites12: lda $07F3,x ; CPU:$CA44 PRG:0A44 BD F3 07 sta Zp03 ; CPU:$CA47 PRG:0A47 85 03 lda Zp07 ; CPU:$CA49 PRG:0A49 A5 07 rts ; CPU:$CA4B PRG:0A4B 60 ; ----------------------------------------------------------------------------- -; Routine: Label_CA4C +; Routine: UpdateSprites13 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2580,7 +2582,7 @@ Label_CA44: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CA4C: +UpdateSprites13: lda #$00 ; CPU:$CA4C PRG:0A4C A9 00 sta Zp04 ; CPU:$CA4E PRG:0A4E 85 04 clc ; CPU:$CA50 PRG:0A50 18 @@ -2752,7 +2754,7 @@ Label_CACB: clc ; CPU:$CACB PRG:0ACB 18 bcc Label_CA99 ; CPU:$CACC PRG:0ACC 90 CB ; ----------------------------------------------------------------------------- -; Routine: Label_CACE +; Routine: InitSprites_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2760,7 +2762,7 @@ Label_CACB: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CACE: +InitSprites_4: ldx #$00 ; CPU:$CACE PRG:0ACE A2 00 ldy #$05 ; CPU:$CAD0 PRG:0AD0 A0 05 lda Zp18 ; CPU:$CAD2 PRG:0AD2 A5 18 @@ -2800,7 +2802,7 @@ Label_CAE6: bne Label_CAE6 ; CPU:$CAEA PRG:0AEA D0 FA rts ; CPU:$CAEC PRG:0AEC 60 ; ----------------------------------------------------------------------------- -; Routine: Label_CAED +; Routine: InitSprites3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2808,7 +2810,7 @@ Label_CAE6: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CAED: +InitSprites3: jsr $CB35 ; CPU:$CAED PRG:0AED 20 35 CB lda #$01 ; CPU:$CAF0 PRG:0AF0 A9 01 sta $4016 ; CPU:$CAF2 PRG:0AF2 8D 16 40 @@ -2818,7 +2820,7 @@ Label_CAED: jsr $CB00 ; CPU:$CAFC PRG:0AFC 20 00 CB inx ; CPU:$CAFF PRG:0AFF E8 ; ----------------------------------------------------------------------------- -; Routine: Label_CB00 +; Routine: UpdateController ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2826,7 +2828,7 @@ Label_CAED: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CB00: +UpdateController: ldy #$08 ; CPU:$CB00 PRG:0B00 A0 08 ; ----------------------------------------------------------------------------- ; Routine: Label_CB02 @@ -2888,7 +2890,7 @@ Label_CB2D: dey ; CPU:$CB32 PRG:0B32 88 bne Label_CB21 ; CPU:$CB33 PRG:0B33 D0 EC ; ----------------------------------------------------------------------------- -; Routine: Label_CB35 +; Routine: UpdateController2_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2896,7 +2898,7 @@ Label_CB2D: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CB35: +UpdateController2_4: lda #$7F ; CPU:$CB35 PRG:0B35 A9 7F sta Zp01 ; CPU:$CB37 PRG:0B37 85 01 lda #$80 ; CPU:$CB39 PRG:0B39 A9 80 @@ -2987,7 +2989,7 @@ Label_CB64: adc Zp01 ; CPU:$CB74 PRG:0B74 65 01 sta Zp01 ; CPU:$CB76 PRG:0B76 85 01 ; ----------------------------------------------------------------------------- -; Routine: Label_CB78 +; Routine: UpdateSprites_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -2995,13 +2997,13 @@ Label_CB64: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CB78: +UpdateSprites_4: ldx $2002 ; CPU:$CB78 PRG:0B78 AE 02 20 ldy #$00 ; CPU:$CB7B PRG:0B7B A0 00 lda (Zp00),y ; CPU:$CB7D PRG:0B7D B1 00 bne Label_CB3E ; CPU:$CB7F PRG:0B7F D0 BD ; ----------------------------------------------------------------------------- -; Routine: Label_CB81 +; Routine: UpdateSprites2_12 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -3009,14 +3011,14 @@ Label_CB78: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CB81: +UpdateSprites2_12: lda Zp12 ; CPU:$CB81 PRG:0B81 A5 12 sta $2005 ; CPU:$CB83 PRG:0B83 8D 05 20 lda Zp13 ; CPU:$CB86 PRG:0B86 A5 13 sta $2005 ; CPU:$CB88 PRG:0B88 8D 05 20 rts ; CPU:$CB8B PRG:0B8B 60 ; ----------------------------------------------------------------------------- -; Routine: Label_CB8C +; Routine: UpdateSprites4_7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -3024,11 +3026,11 @@ Label_CB81: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CB8C: +UpdateSprites4_7: inx ; CPU:$CB8C PRG:0B8C E8 txa ; CPU:$CB8D PRG:0B8D 8A ; ----------------------------------------------------------------------------- -; Routine: Label_CB8E +; Routine: UpdateSprites4_6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -3036,7 +3038,7 @@ Label_CB8C: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CB8E: +UpdateSprites4_6: cmp #$3F ; CPU:$CB8E PRG:0B8E C9 3F bcc Label_CB9C ; CPU:$CB90 PRG:0B90 90 0A ldx $0300 ; CPU:$CB92 PRG:0B92 AE 00 03 @@ -3056,7 +3058,7 @@ Label_CB8E: Label_CB9C: rts ; CPU:$CB9C PRG:0B9C 60 ; ----------------------------------------------------------------------------- -; Routine: Label_CB9D +; Routine: UpdateSprites5_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -3064,7 +3066,7 @@ Label_CB9C: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_CB9D: +UpdateSprites5_4: ldx #$09 ; CPU:$CB9D PRG:0B9D A2 09 dec Zp31 ; CPU:$CB9F PRG:0B9F C6 31 bpl Label_CBA9 ; CPU:$CBA1 PRG:0BA1 10 06 @@ -4602,7 +4604,7 @@ Label_D111: bne Label_D126 ; CPU:$D113 PRG:1113 D0 11 ldy #$0B ; CPU:$D115 PRG:1115 A0 0B ; ----------------------------------------------------------------------------- -; Routine: Label_D117 +; Routine: UpdateSound4_11 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -4610,7 +4612,7 @@ Label_D111: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_D117: +UpdateSound4_11: lda a:$0090,y ; CPU:$D117 PRG:1117 B9 90 00 cmp #$20 ; CPU:$D11A PRG:111A C9 20 bne Label_D123 ; CPU:$D11C PRG:111C D0 05 @@ -4627,7 +4629,7 @@ Label_D117: ; ----------------------------------------------------------------------------- Label_D123: dey ; CPU:$D123 PRG:1123 88 - bne Label_D117 ; CPU:$D124 PRG:1124 D0 F1 + bne UpdateSound4_11 ; CPU:$D124 PRG:1124 D0 F1 ; ----------------------------------------------------------------------------- ; Routine: Label_D126 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. @@ -4685,7 +4687,7 @@ Label_D133: Label_D143: ldy Zp6A,x ; CPU:$D143 PRG:1143 B4 6A cpy #$01 ; CPU:$D145 PRG:1145 C0 01 - bne Label_D160 ; CPU:$D147 PRG:1147 D0 17 + bne UpdateSound6 ; CPU:$D147 PRG:1147 D0 17 lda Zp6E,x ; CPU:$D149 PRG:1149 B5 6E cmp #$18 ; CPU:$D14B PRG:114B C9 18 bcs Label_D151 ; CPU:$D14D PRG:114D B0 02 @@ -4708,7 +4710,7 @@ Label_D151: jsr $D171 ; CPU:$D15A PRG:115A 20 71 D1 jmp $D171 ; CPU:$D15D PRG:115D 4C 71 D1 ; ----------------------------------------------------------------------------- -; Routine: Label_D160 +; Routine: UpdateSound6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -4716,7 +4718,7 @@ Label_D151: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_D160: +UpdateSound6: lda #$90 ; CPU:$D160 PRG:1160 A9 90 ldy Zp6E,x ; CPU:$D162 PRG:1162 B4 6E cpy #$0C ; CPU:$D164 PRG:1164 C0 0C @@ -5245,7 +5247,7 @@ Label_D2C7: dec Zp64,x ; CPU:$D2C7 PRG:12C7 D6 64 dec Zp64,x ; CPU:$D2C9 PRG:12C9 D6 64 ; ----------------------------------------------------------------------------- -; Routine: Label_D2CB +; Routine: UpdateSound12_4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -5253,7 +5255,7 @@ Label_D2C7: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_D2CB: +UpdateSound12_4: lda Zp68,x ; CPU:$D2CB PRG:12CB B5 68 lsr a ; CPU:$D2CD PRG:12CD 4A bcc Label_D2D2 ; CPU:$D2CE PRG:12CE 90 02 @@ -8122,7 +8124,7 @@ Label_DBAD: ; ----------------------------------------------------------------------------- Label_DBB0: ldy #$05 ; CPU:$DBB0 PRG:1BB0 A0 05 - bne Label_DBB6 ; CPU:$DBB2 PRG:1BB2 D0 02 + bne UpdateSound24_1 ; CPU:$DBB2 PRG:1BB2 D0 02 ; ----------------------------------------------------------------------------- ; Routine: Label_DBB4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. @@ -8135,7 +8137,7 @@ Label_DBB0: Label_DBB4: ldy #$04 ; CPU:$DBB4 PRG:1BB4 A0 04 ; ----------------------------------------------------------------------------- -; Routine: Label_DBB6 +; Routine: UpdateSound24_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -8143,7 +8145,7 @@ Label_DBB4: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_DBB6: +UpdateSound24_1: sty Zp04 ; CPU:$DBB6 PRG:1BB6 84 04 sta Zp00 ; CPU:$DBB8 PRG:1BB8 85 00 lda #$FF ; CPU:$DBBA PRG:1BBA A9 FF @@ -8671,7 +8673,7 @@ Label_DD50: sta Zp00 ; CPU:$DD71 PRG:1D71 85 00 ldy #$03 ; CPU:$DD73 PRG:1D73 A0 03 ; ----------------------------------------------------------------------------- -; Routine: Label_DD75 +; Routine: UpdateSound26_11 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -8679,7 +8681,7 @@ Label_DD50: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_DD75: +UpdateSound26_11: lda Zp00 ; CPU:$DD75 PRG:1D75 A5 00 ldx $0301,y ; CPU:$DD77 PRG:1D77 BE 01 03 beq Label_DD97 ; CPU:$DD7A PRG:1D7A F0 1B @@ -8690,12 +8692,12 @@ Label_DD75: cmp #$90 ; CPU:$DD84 PRG:1D84 C9 90 bcc Label_DD91 ; CPU:$DD86 PRG:1D86 90 09 cmp #$D3 ; CPU:$DD88 PRG:1D88 C9 D3 - beq Label_DD8F ; CPU:$DD8A PRG:1D8A F0 03 + beq UpdateSound26_13 ; CPU:$DD8A PRG:1D8A F0 03 lda #$8F ; CPU:$DD8C PRG:1D8C A9 8F ; ---- data $DD8E-$DD8E (1 bytes) ---- .byte $2C ; CPU:$DD8E PRG:1D8E 2C ; ----------------------------------------------------------------------------- -; Routine: Label_DD8F +; Routine: UpdateSound26_13 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -8703,7 +8705,7 @@ Label_DD75: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_DD8F: +UpdateSound26_13: lda #$8C ; CPU:$DD8F PRG:1D8F A9 8C ; ----------------------------------------------------------------------------- ; Routine: Label_DD91 @@ -8727,7 +8729,7 @@ Label_DD91: ; ----------------------------------------------------------------------------- Label_DD94: iny ; CPU:$DD94 PRG:1D94 C8 - bne Label_DD75 ; CPU:$DD95 PRG:1D95 D0 DE + bne UpdateSound26_11 ; CPU:$DD95 PRG:1D95 D0 DE ; ----------------------------------------------------------------------------- ; Routine: Label_DD97 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. @@ -13254,10 +13256,10 @@ Label_EFB7: Label_EFCB: lda Zp9C,x ; CPU:$EFCB PRG:2FCB B5 9C ldy ZpBD,x ; CPU:$EFCD PRG:2FCD B4 BD - bmi Label_EFD3 ; CPU:$EFCF PRG:2FCF 30 02 + bmi UpdateMusicChannel19 ; CPU:$EFCF PRG:2FCF 30 02 adc #$08 ; CPU:$EFD1 PRG:2FD1 69 08 ; ----------------------------------------------------------------------------- -; Routine: Label_EFD3 +; Routine: UpdateMusicChannel19 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. @@ -13265,7 +13267,7 @@ Label_EFCB: ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- -Label_EFD3: +UpdateMusicChannel19: jsr $EF47 ; CPU:$EFD3 PRG:2FD3 20 47 EF bpl Label_EFE1 ; CPU:$EFD6 PRG:2FD6 10 09 lda ZpDC ; CPU:$EFD8 PRG:2FD8 A5 DC diff --git a/_wip/Ice Climber (JE)/copilot/reconstructed.lbl b/_wip/Ice Climber (JE)/copilot/reconstructed.lbl index 54e4720..03851ee 100644 --- a/_wip/Ice Climber (JE)/copilot/reconstructed.lbl +++ b/_wip/Ice Climber (JE)/copilot/reconstructed.lbl @@ -176,7 +176,7 @@ al 00F03B .Label_F03B al 00EFF3 .Label_EFF3 al 00EFEC .Label_EFEC al 00EFDF .Label_EFDF -al 00EFD3 .Label_EFD3 +al 00EFD3 .UpdateMusicChannel19 al 00EFCB .Label_EFCB al 00EFE1 .Label_EFE1 al 00EFB6 .Label_EFB6 @@ -445,10 +445,10 @@ al 00DDBD .Label_DDBD al 00DDB6 .Label_DDB6 al 00DDA9 .Label_DDA9 al 00DDA1 .Label_DDA1 -al 00DD8F .Label_DD8F +al 00DD8F .UpdateSound26_13 al 00DD91 .Label_DD91 al 00DD94 .Label_DD94 -al 00DD75 .Label_DD75 +al 00DD75 .UpdateSound26_11 al 00DD97 .Label_DD97 al 00DD50 .Label_DD50 al 00DD24 .Label_DD24 @@ -482,7 +482,7 @@ al 00DBFD .Label_DBFD al 00DC56 .Label_DC56 al 00DBCB .Label_DBCB al 00DBB4 .Label_DBB4 -al 00DBB6 .Label_DBB6 +al 00DBB6 .UpdateSound24_1 al 00DBB0 .Label_DBB0 al 00DBAD .Label_DBAD al 00DBA2 .Label_DBA2 @@ -657,7 +657,7 @@ al 00D2F9 .Label_D2F9 al 00D2F8 .Label_D2F8 al 00D2D9 .Label_D2D9 al 00D2D2 .Label_D2D2 -al 00D2CB .Label_D2CB +al 00D2CB .UpdateSound12_4 al 00D2C7 .Label_D2C7 al 00D2BC .Label_D2BC al 00D2A8 .Label_D2A8 @@ -692,12 +692,12 @@ al 00D17B .Label_D17B al 00D16A .Label_D16A al 00D171 .Label_D171 al 00D151 .Label_D151 -al 00D160 .Label_D160 +al 00D160 .UpdateSound6 al 00D143 .Label_D143 al 00D133 .Label_D133 al 00D127 .Label_D127 al 00D123 .Label_D123 -al 00D117 .Label_D117 +al 00D117 .UpdateSound4_11 al 00D126 .Label_D126 al 00D111 .Label_D111 al 00D0F4 .Label_D0F4 @@ -792,26 +792,26 @@ al 00CC1F .Label_CC1F al 00CC05 .Label_CC05 al 00CBAF .Label_CBAF al 00CBA9 .Label_CBA9 -al 00CB9D .Label_CB9D +al 00CB9D .UpdateSprites5_4 al 00CB9C .Label_CB9C -al 00CB8E .Label_CB8E -al 00CB8C .Label_CB8C -al 00CB81 .Label_CB81 -al 00CB78 .Label_CB78 +al 00CB8E .UpdateSprites4_6 +al 00CB8C .UpdateSprites4_7 +al 00CB81 .UpdateSprites2_12 +al 00CB78 .UpdateSprites_4 al 00CB64 .Label_CB64 al 00CB61 .Label_CB61 al 00CB5E .Label_CB5E al 00CB54 .Label_CB54 al 00CB3E .Label_CB3E -al 00CB35 .Label_CB35 +al 00CB35 .UpdateController2_4 al 00CB2D .Label_CB2D al 00CB21 .Label_CB21 al 00CB02 .Label_CB02 -al 00CB00 .Label_CB00 -al 00CAED .Label_CAED +al 00CB00 .UpdateController +al 00CAED .InitSprites3 al 00CAE6 .Label_CAE6 al 00CAD8 .Label_CAD8 -al 00CACE .Label_CACE +al 00CACE .InitSprites_4 al 00CAA4 .Label_CAA4 al 00CAB4 .Label_CAB4 al 00CAC0 .Label_CAC0 @@ -822,24 +822,24 @@ al 00CA6B .Label_CA6B al 00CA94 .Label_CA94 al 00CAC1 .Label_CAC1 al 00CA61 .Label_CA61 -al 00CA4C .Label_CA4C -al 00CA44 .Label_CA44 -al 00CA40 .Label_CA40 +al 00CA4C .UpdateSprites13 +al 00CA44 .UpdateSprites12 +al 00CA40 .UpdateSprites11 al 00CA3D .Label_CA3D -al 00CA36 .Label_CA36 -al 00CA33 .Label_CA33 +al 00CA36 .UpdateSprites10 +al 00CA33 .UpdateSprites9 al 00CA2C .Label_CA2C -al 00CA29 .Label_CA29 -al 00CA1A .Label_CA1A +al 00CA29 .UpdateSprites8 +al 00CA1A .UpdateSprites7_3 al 00CA17 .Label_CA17 al 00CA03 .Label_CA03 al 00CA01 .Label_CA01 al 00CA0B .Label_CA0B -al 00C9F8 .Label_C9F8 +al 00C9F8 .UpdateSprites7_1 al 00C9EF .Label_C9EF al 00C9F3 .Label_C9F3 al 00C9E2 .Label_C9E2 -al 00C9D7 .Label_C9D7 +al 00C9D7 .UpdateSprites6 al 00C9D6 .Label_C9D6 al 00C9C2 .Label_C9C2 al 00C9BB .Label_C9BB @@ -847,46 +847,46 @@ al 00C977 .Label_C977 al 00C99A .Label_C99A al 00C995 .Label_C995 al 00C963 .Label_C963 -al 00C94B .Label_C94B +al 00C94B .UpdateSprites5_1 al 00C92B .Label_C92B al 00C94A .Label_C94A -al 00C8EE .Label_C8EE -al 00C8E0 .Label_C8E0 +al 00C8EE .UpdateSprites4_5 +al 00C8E0 .UpdateSprites3_6 al 00C8D9 .Label_C8D9 al 00C8BF .Label_C8BF -al 00C8A4 .Label_C8A4 -al 00C89A .Label_C89A -al 00C891 .Label_C891 -al 00C883 .Label_C883 -al 00C868 .Label_C868 +al 00C8A4 .UpdateSprites2_11 +al 00C89A .UpdateSprites2_10 +al 00C891 .ClearSpriteRAM +al 00C883 .InitSprites2_1 +al 00C868 .UpdateSprites2_9 al 00C853 .Label_C853 -al 00C83D .Label_C83D +al 00C83D .UpdateSprites2_8 al 00C829 .Label_C829 -al 00C821 .Label_C821 -al 00C81D .Label_C81D +al 00C821 .InitGameState +al 00C81D .GameLoopEntry_5 al 00C813 .Label_C813 al 00C7FD .Label_C7FD al 00C7F7 .Label_C7F7 -al 00C7F5 .Label_C7F5 +al 00C7F5 .UpdateSprites4_4 al 00C7CF .Label_C7CF al 00C7CA .Label_C7CA al 00C7C5 .Label_C7C5 -al 00C7C1 .Label_C7C1 +al 00C7C1 .UpdateSprites4_3 al 00C7A5 .Label_C7A5 al 00C77B .Label_C77B -al 00C777 .Label_C777 +al 00C777 .UpdateSprites4_1 al 00C76F .Label_C76F al 00C759 .Label_C759 -al 00C73D .Label_C73D -al 00C728 .Label_C728 -al 00C726 .Label_C726 +al 00C73D .UpdateSprites3_5 +al 00C728 .UpdateSprites2_7 +al 00C726 .CheckZp55 al 00C718 .Label_C718 -al 00C6FB .Label_C6FB +al 00C6FB .UpdateSprites3_4 al 00C67F .Label_C67F al 00C664 .Label_C664 al 00C626 .Label_C626 al 00C63A .Label_C63A -al 00C620 .Label_C620 +al 00C620 .CheckZp14 al 00C60F .Label_C60F al 00C608 .Label_C608 al 00C5F9 .Label_C5F9 @@ -894,10 +894,10 @@ al 00C5FC .Label_C5FC al 00C5EF .Label_C5EF al 00C5ED .Label_C5ED al 00C5DB .Label_C5DB -al 00C5D3 .Label_C5D3 +al 00C5D3 .UpdateSprites3_3 al 00C5C9 .Label_C5C9 al 00C5A9 .Label_C5A9 -al 00C5A7 .Label_C5A7 +al 00C5A7 .UpdateSprites2_5 al 00C5B0 .Label_C5B0 al 00C5D2 .Label_C5D2 al 00C597 .Label_C597 @@ -906,17 +906,17 @@ al 00C586 .Label_C586 al 00C582 .Label_C582 al 00C579 .Label_C579 al 00C553 .Label_C553 -al 00C542 .Label_C542 +al 00C542 .UpdateSprites_3 al 00C508 .Label_C508 al 00C4F6 .Label_C4F6 al 00C4E8 .Label_C4E8 al 00C4D9 .Label_C4D9 -al 00C4D7 .Label_C4D7 +al 00C4D7 .InitSprites_3 al 00C4CD .Label_C4CD al 00C4C8 .Label_C4C8 -al 00C4C0 .Label_C4C0 -al 00C44A .Label_C44A -al 00C437 .Label_C437 +al 00C4C0 .UpdateSprites3_1 +al 00C44A .UpdateSprites2_4 +al 00C437 .CheckZp34 al 00C436 .Label_C436 al 00C39F .Label_C39F al 00C38D .Label_C38D @@ -925,17 +925,17 @@ al 00C2CE .Label_C2CE al 00C2C1 .Label_C2C1 al 00C2C4 .Label_C2C4 al 00C2B0 .Label_C2B0 -al 00C2AB .Label_C2AB +al 00C2AB .UpdateSprites2_3 al 00C279 .Label_C279 al 00C274 .Label_C274 al 00C253 .Label_C253 al 00C23F .Label_C23F al 00C23B .Label_C23B -al 00C218 .Label_C218 +al 00C218 .UpdateSprites_1 al 00C207 .Label_C207 al 00C1FE .Label_C1FE al 00C21D .Label_C21D -al 00C21A .Label_C21A +al 00C21A .UpdateSprites2_1 al 00C1F0 .Label_C1F0 al 00C1D7 .Label_C1D7 al 00C1D0 .Label_C1D0 @@ -946,28 +946,28 @@ al 00C17F .Label_C17F al 00C182 .Label_C182 al 00C1D6 .Label_C1D6 al 00C166 .Label_C166 -al 00C150 .Label_C150 -al 00C14E .Label_C14E -al 00C148 .Label_C148 -al 00C141 .Label_C141 +al 00C150 .CopySprites +al 00C14E .InitSprites_1 +al 00C148 .WaitVBlankFrame2 +al 00C141 .UpdateGameState2_5 al 00C135 .Label_C135 -al 00C10A .Label_C10A -al 00C0FA .Label_C0FA +al 00C10A .UpdateGameState6 +al 00C0FA .UpdateGameState3_1 al 00C0F3 .Label_C0F3 -al 00C138 .Label_C138 -al 00C100 .Label_C100 -al 00C103 .Label_C103 +al 00C138 .UpdateGameState2_4 +al 00C100 .UpdateGameState4 +al 00C103 .UpdateGameState5 al 00C11A .Label_C11A -al 00C126 .Label_C126 -al 00C0D3 .Label_C0D3 -al 00C095 .Label_C095 -al 00C083 .Label_C083 +al 00C126 .GameLoopEntry_4 +al 00C0D3 .GameStateUpdate +al 00C095 .NmiFrameUpdate2 +al 00C083 .NmiFrameUpdate al 00C076 .NmiHandler -al 00C070 .Label_C070 -al 00C06D .Label_C06D -al 00C05E .Label_C05E -al 00C058 .Label_C058 -al 00C041 .Label_C041 -al 00C024 .Label_C024 -al 00C01E .Label_C01E +al 00C070 .GameLoopEntry_1 +al 00C06D .MainGameLoop +al 00C05E .InitAPU_3 +al 00C058 .InitAPU_1 +al 00C041 .ClearZeropage +al 00C024 .WaitVBlank2_1 +al 00C01E .WaitVBlank_1 al 00C014 .Reset