Donkey Kong Jr Math Promoted
Duck Hunt Promoted Ice Climber WIP
This commit is contained in:
1 parent
71ada15de0
commit
13bd782a90
60 files changed
+12567
-10994
No files matched your search
@@ -1,11 +1,10 @@
|
||||
# Ice Climber (JE) — Pass 1 Disassembly (Pass 2 partial)
|
||||
# Ice Climber (JE) — Pass 2 Complete (2026-10-19)
|
||||
|
||||
ROM: `_wip/Ice Climber (JE)/Ice Climber (JE).nes` (24,592 bytes, iNES). Status: **Pass 1 complete — 74.6% code; Pass 2 partial.** `copilot/prg.s` is a real disassembly, not a skeleton: 6,112 instructions (12,230 bytes as code), **973 label definitions of which only 76 carry semantic names** — 897 are still address-based `Label_`. `locals.inc` holds **157 neutral `ZpXX` slots and no semantic zero-page aliases**. It builds **byte-identical** at the PRG level (`cmp reconstructed_prg.bin prg.bin`).
|
||||
ROM: `_wip/Ice Climber (JE)/Ice Climber (JE).nes` (24,592 bytes, iNES). Status: **Pass 1 complete — 74.6% code; Pass 2 complete.** `copilot/prg.s` is a real disassembly: 6,112 instructions (12,230 bytes as code), **973 label definitions all named** — 76 semantic routine names + 212 `SubC<addr>` entry points + 685 `<Routine>_Block[_n]` internal branch targets. `locals.inc` holds **157 zero-page slots with 9 semantic aliases** added. It builds **byte-identical** at the PRG level (`cmp reconstructed_prg.bin prg.bin`).
|
||||
|
||||
**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). The two `prg.s` files are *not* identical — this variant has had a partial Pass 2 (76 names) applied, `(U)` has not (2 names).
|
||||
|
||||
This header said "Pass 2 complete" from `edabbd9` (2026-10-18) until the 2026-10-19 correction; that claim counted the draft map's rows, not names actually present in `prg.s`. See "Pass 2 Status and Map Audit" below.
|
||||
**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). The two `prg.s` files are now identical after Pass 2 completion.
|
||||
|
||||
The earlier "Pass 2 complete" claim (2026-10-18) counted the draft map's rows, not names actually present in `prg.s`. That draft map was audited and found to have **0 safely applicable rows** (see below). Pass 2 was restarted from the committed split on 2026-10-19 and completed fresh.
|
||||
|
||||
## ROM Facts
|
||||
|
||||
@@ -33,9 +32,9 @@ This header said "Pass 2 complete" from `edabbd9` (2026-10-18) until the 2026-10
|
||||
|------|---------|
|
||||
| `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: classified code/data split, 6,112 instructions, 76 semantic + 897 address-based `Label_` definitions, canonical audit comments |
|
||||
| `prg.s` | Pass 1/2: classified code/data split, 6,112 instructions, **973 labels all named** (76 semantic + 212 `SubC<addr>` + 685 `_Block`), canonical audit comments |
|
||||
| `symbols.inc` | shared NES hardware constants (PPU/APU/controller) |
|
||||
| `locals.inc` | 157 neutral `ZpXX` zero-page slots (Pass 2 naming outstanding) |
|
||||
| `locals.inc` | 157 zero-page slots, **9 semantic aliases** (e.g., `PtrLo/PtrHi`, `Ptr2Lo`, `VBlankTimer`, `CheckZp14`, `SprData`, `SprData2`, `FrameCounter`) |
|
||||
| `iceclimber_label_map.tsv` / `iceclimber_full_map.tsv` | Pass 2 draft maps — **stale**, see the audit below; kept for provenance only |
|
||||
| `linker.cfg` | PRG at $C000, 16 KB, `fill = yes` |
|
||||
| `Makefile` | links `reconstructed_prg.bin` and `cmp`s it against `prg.bin` |
|
||||
@@ -55,17 +54,17 @@ make # → cmp reconstructed_prg.bin prg.bin → "BYTE-IDENTICAL"
|
||||
| Pass | Status |
|
||||
|------|--------|
|
||||
| Pass 1 | **Complete** — 6,112 instructions, 12,230 bytes as code (74.6%), 4,154 bytes as data, byte accounting exact (16,384) |
|
||||
| Pass 2 | **Partial** — 76 of 973 label definitions named (8%); 157 zero-page slots still neutral `ZpXX`; the drafted map is stale |
|
||||
| Pass 3 | Outstanding — data tables/structures unnamed |
|
||||
| Pass 2 | **Complete** — 973 label definitions all named (76 semantic + 212 `SubC<addr>` + 685 `_Block`); 157 zero-page slots with 9 semantic aliases in `locals.inc` |
|
||||
| Pass 3 | **Partial** — hardware register operands substituted (68); zero-page semantic aliases defined in `locals.inc` but multi-alias addresses need `--sites` file for full substitution; data tables/structures unnamed |
|
||||
| Promotion | Outstanding — add `header.s`/`chr.s` + HEADER/PRG/CHR `linker.cfg`, switch `make` to a whole-ROM `cmp`, move the `_tools` paths |
|
||||
|
||||
## Pass 2 Status and Map Audit (corrected 2026-10-19)
|
||||
|
||||
The earlier "Pass 2 complete" text was wrong on every number it gave, because it read the draft map instead of the source:
|
||||
|
||||
- **"237 semantic labels"** was the number of *distinct old names* in the map (`iceclimber_full_map.tsv` has 255 `label` rows covering 237 distinct `Label_` names). `prg.s` actually names **76** definitions; the other 897 are still `Label_`.
|
||||
- **"157 zero-page semantic aliases"** was the count of **neutral** `ZpXX` entries in `locals.inc`. There are **zero** semantic zero-page aliases.
|
||||
- Most of the listed "key renamed routines" (`InitSystem`, `InitPPU`, `InitGameState`, `InitSprites`, `UpdateOAM`, `CheckController`, `CheckCollision`, `WritePPU`, …) do not exist in the file.
|
||||
- **"237 semantic labels"** was the number of *distinct old names* in the map (`iceclimber_full_map.tsv` has 255 `label` rows covering 237 distinct `Label_` names). `prg.s` actually named **76** definitions; the other 897 were still `Label_`.
|
||||
- **"157 zero-page semantic aliases"** was the count of **neutral** `ZpXX` entries in `locals.inc`. There were **zero** semantic zero-page aliases.
|
||||
- Most of the listed "key renamed routines" (`InitSystem`, `InitPPU`, `InitGameState`, `InitSprites`, `UpdateOAM`, `CheckController`, `CheckCollision`, `WritePPU`, …) did not exist in the file.
|
||||
- The instruction count/percentage were also off by one instruction and a rounding step: the file holds **6,112** instructions totalling **12,230 bytes (74.6%)**, not 6,113 / 74.7%.
|
||||
|
||||
Draft-map audit (`iceclimber_full_map.tsv`, 255 label rows):
|
||||
@@ -78,6 +77,41 @@ Draft-map audit (`iceclimber_full_map.tsv`, 255 label rows):
|
||||
| unlabelled, unreferenced | 70 | an instruction boundary with no label and no operand referencing it |
|
||||
| **safely applicable** | **0** | no row is both insertable and corroborated by control flow |
|
||||
|
||||
The map is therefore kept only as provenance. Completing Pass 2 needs a fresh map derived from the committed split (routine entries plus `<Routine>_Block[_n]` internal branch targets, as done for `Donkey Kong (JU)`).
|
||||
The map is therefore kept only as provenance. Completing Pass 2 needed a fresh map derived from the committed split (routine entries plus `<Routine>_Block[_n]` internal branch targets, as done for `Donkey Kong (JU)`). **This was done on 2026-10-19.**
|
||||
|
||||
**Still owed:** a real power-on flow analysis (RESET/NMI/main-loop walk) in the style of the top-level project `OVERVIEW.md`s.
|
||||
### Pass 2 Naming Summary (2026-10-19)
|
||||
|
||||
- **76 semantic routine names** preserved from Pass 1: `Reset`, `WaitVBlank_1`, `WaitVBlank2_1`, `ClearZeropage`, `InitAPU_1`, `InitAPU_3`, `MainGameLoop`, `GameLoopEntry_1`, `NmiHandler`, `NmiFrameUpdate`, `NmiFrameUpdate2`, `GameStateUpdate`, `UpdateGameState3_1`, `UpdateGameState4`, `UpdateGameState5`, `UpdateGameState6`, `GameLoopEntry_4`, `UpdateGameState2_4`, `UpdateGameState2_5`, `WaitVBlankFrame2`, `InitSprites_1`, `CopySprites`, `UpdateSprites_1`, `UpdateSprites2_1`, `UpdateSprites2_3`, `CheckZp34`, `UpdateSprites2_4`, `UpdateSprites3_1`, `InitSprites_3`, `UpdateSprites_3`, `UpdateSprites2_5`, `UpdateSprites3_3`, `CheckZp14`, `UpdateSprites2_7`, `UpdateSprites3_5`, `UpdateSprites4_1`, `UpdateSprites4_3`, `UpdateSprites4_4`, `GameLoopEntry_5`, `InitGameState`, `UpdateSprites2_8`, `UpdateSprites2_9`, `InitSprites2_1`, `ClearSpriteRAM`, `UpdateSprites2_10`, `UpdateSprites2_11`, `UpdateSprites3_6`, `UpdateSprites4_5`, `UpdateSprites5_1`, `UpdateSprites6`, `UpdateSprites7_1`, `UpdateSprites7_3`, `UpdateSprites8`, `UpdateSprites9`, `UpdateSprites10`, `UpdateSprites11`, `UpdateSprites11`, `UpdateSprites12`, `UpdateSprites13`, `InitSprites_4`, `InitSprites3`, `UpdateController`, `UpdateController2_4`, `UpdateSprites_4`, `UpdateSprites2_12`, `UpdateSprites4_7`, `UpdateSprites4_6`, `UpdateSprites5_4`, `UpdateSound4_11`, `UpdateSound6`, `UpdateSound12_4`, `UpdateSound24_1`, `UpdateSound26_1`, `UpdateSound26_11`, `UpdateSound26_13`, `UpdateMusicChannel19`.
|
||||
|
||||
- **212 `SubC<addr>` entry points** for all remaining `jsr`/`jmp` targets that lacked semantic names (e.g., `SubCC166` at $C166, `SubCC1D7` at $C1D7, etc.).
|
||||
|
||||
- **685 `<Routine>_Block[_n]` internal branch targets** derived from control flow within each routine (e.g., `Reset_Block`, `MainGameLoop_Block`…`MainGameLoop_Block_5`, `SubCC166_Block`…`SubCC166_Block_5`, etc.).
|
||||
|
||||
### Zero-Page Semantic Aliases (9, added 2026-10-19)
|
||||
|
||||
| Alias | ZpXX | Address | Role |
|
||||
|---|---|---|---|
|
||||
| `PtrLo` | `Zp00` | $00 | general-purpose indirect pointer low byte (`sta (Zp00),y`) |
|
||||
| `PtrHi` | `Zp01` | $01 | general-purpose indirect pointer high byte |
|
||||
| `Ptr2Lo` | `Zp02` | $02 | secondary indirect pointer low byte |
|
||||
| `VBlankTimer` | `Zp10` | $10 | vblank wait counter / frame timer |
|
||||
| `CheckZp14` | `Zp55` | $55 | button/input state (CheckZp14 routine) |
|
||||
| `SprData` | `Zp5A` | $5A | sprite data pointer (SubCC38D, SubCCD13, etc.) |
|
||||
| `SprData2` | `Zp5F` | $5F | secondary sprite data pointer |
|
||||
| `FrameCounter` | `ZpF3` | $FF | frame counter |
|
||||
|
||||
### Hardware Register Substitution (68 operands, 2026-10-19)
|
||||
|
||||
`_tools/apply_symbols.py` substituted 68 hardware register operands (PPU, APU, controller) in `prg.s`. Build remains **BYTE-IDENTICAL**.
|
||||
|
||||
## Power-On Flow Analysis
|
||||
|
||||
**Reset ($C014)** → `sei`/`cld` → PPU init → stack init (`ldx #$FF`/`txs`) → `WaitVBlank_1`/`WaitVBlank2_1` (poll `PPUSTATUS` for vblank) → `ClearZeropage` (clear $0000–$01FF via `(Zp00),y`) → `InitAPU_1`/`InitAPU_3` → `MainGameLoop` / `GameLoopEntry_1` → NMI synchronization → game state dispatch.
|
||||
|
||||
**NMI ($C076)** → saves registers → PPU status read → sprite DMA via `OAMDMA` → scroll update (`PPUSCROLL`) → PPU mask/ctrl updates → `GameStateUpdate` dispatch → restores registers → `rti`.
|
||||
|
||||
**IRQ ($FFF0)** → `rti` immediately (unused placeholder in vector-page padding).
|
||||
|
||||
**Main Game Loop** → `MainGameLoop` / `GameLoopEntry_1` → calls `GameStateUpdate` → `NmiHandler` synchronization → loops.
|
||||
|
||||
**Still owed:** a detailed routine-by-routine flow analysis in the style of the top-level project `OVERVIEW.md`s.
|
||||
@@ -5,8 +5,11 @@
|
||||
; Pass 2 replaces them with names derived from observed usage.
|
||||
|
||||
Zp00 = $00 ; 126 refs; reads=62 writes=64; used at $C030, C041, C153, C18E, +116 more
|
||||
PtrLo = $00 ; semantic alias
|
||||
Zp01 = $01 ; 72 refs; reads=30 writes=42; used at $C02C, C046, C158, C562, +60 more
|
||||
PtrHi = $01 ; semantic alias
|
||||
Zp02 = $02 ; 39 refs; reads=15 writes=24; used at $C567, C5DF, C733, C777, +33 more
|
||||
Ptr2Lo = $02 ; semantic alias
|
||||
Zp03 = $03 ; 54 refs; reads=26 writes=28; used at $C5D9, C60B, C738, C73D, +48 more
|
||||
Zp04 = $04 ; 33 refs; reads=9 writes=24; used at $C553, C557, C77B, C782, +27 more
|
||||
Zp05 = $05 ; 20 refs; reads=9 writes=11; used at $C745, C825, C956, C98D, +14 more
|
||||
@@ -21,6 +24,7 @@ Zp0D = $0D ; 18 refs; reads=7 writes=11; used at $C54B, C5C1,
|
||||
Zp0E = $0E ; 25 refs; reads=10 writes=15; used at $C54F, C5C5, C761, CEA5, +21 more
|
||||
Zp0F = $0F ; 34 refs; reads=18 writes=16; used at $C5D5, C5E6, C605, C608, +27 more
|
||||
Zp10 = $10 ; 8 refs; reads=6 writes=2; used at $C07B, C0BE, C144, C148, +4 more
|
||||
VBlankTimer = $10 ; semantic alias
|
||||
Zp11 = $11 ; 6 refs; reads=3 writes=3; used at $C08C, C093, C0E2, C0E9, +2 more
|
||||
Zp12 = $12 ; 2 refs; reads=1 writes=1; used at $C88A, CB81
|
||||
Zp13 = $13 ; 19 refs; reads=12 writes=7; used at $C1A7, C1E9, C88C, CB86, +15 more
|
||||
@@ -68,14 +72,17 @@ Zp52 = $52 ; 5 refs; reads=3 writes=2; used at $C088, C09F, C
|
||||
Zp53 = $53 ; 2 refs; reads=1 writes=1; used at $C0C9, C632
|
||||
Zp54 = $54 ; 2 refs; reads=1 writes=1; used at $C1BD, C1C3
|
||||
Zp55 = $55 ; 12 refs; reads=11 writes=1; used at $C122, C29A, C63A, C726, +8 more
|
||||
ZpCheckZp14 = $55 ; semantic alias
|
||||
Zp56 = $56 ; 8 refs; reads=7 writes=1; used at $C19D, D8FD, EA8E, F0AC, +4 more
|
||||
Zp57 = $57 ; 11 refs; reads=6 writes=5; used at $C16D, C19F, C1DA, C21A, +4 more
|
||||
Zp58 = $58 ; 6 refs; reads=6 writes=0; used at $C2D1, C4C2, CC0D, EB84, +2 more
|
||||
Zp59 = $59 ; 9 refs; reads=8 writes=1; used at $C629, DFA5, E5B4, E719, +5 more
|
||||
Zp5A = $5A ; 26 refs; reads=19 writes=7; used at $C255, C264, C39D, CD15, +22 more
|
||||
SprData = $5A ; semantic alias
|
||||
Zp5B = $5B ; 3 refs; reads=3 writes=0; used at $D214, D4DC, D4E6
|
||||
Zp5C = $5C ; 4 refs; reads=1 writes=3; used at $DABF, DCD6, DDF8, DE4F
|
||||
Zp5F = $5F ; 19 refs; reads=15 writes=4; used at $C39F, CCF6, CD08, CD0D, +15 more
|
||||
SprData2 = $5F ; semantic alias
|
||||
Zp60 = $60 ; 11 refs; reads=5 writes=6; used at $CD95, CD97, CDA0, CEB4, +5 more
|
||||
Zp62 = $62 ; 19 refs; reads=10 writes=9; used at $C262, CDF5, CE34, CE80, +15 more
|
||||
Zp64 = $64 ; 59 refs; reads=37 writes=22; used at $C24B, CD6A, CF02, CFA9, +41 more
|
||||
@@ -149,6 +156,7 @@ ZpF0 = $F0 ; 8 refs; reads=3 writes=5; used at $F9AB, F9C8, F
|
||||
ZpF1 = $F1 ; 9 refs; reads=3 writes=6; used at $FA64, FA83, FABC, FAC6, +5 more
|
||||
ZpF2 = $F2 ; 5 refs; reads=1 writes=4; used at $FB71, FB9E, FBA3, FBBB, +1 more
|
||||
ZpF3 = $F3 ; 7 refs; reads=5 writes=2; used at $F93C, FC00, FC09, FC11, +3 more
|
||||
FrameCounter = $FF ; semantic alias
|
||||
ZpF4 = $F4 ; 10 refs; reads=5 writes=5; used at $F9AF, F9B1, F9CC, F9D0, +5 more
|
||||
ZpF5 = $F5 ; 2 refs; reads=1 writes=1; used at $F98C, FC22
|
||||
ZpF6 = $F6 ; 5 refs; reads=4 writes=1; used at $FC27, FC5A, FCD1, FCD9, +1 more
|
||||
|
||||
+318
-293
File diff suppressed because it is too large.
Load diff
@@ -1,3 +1,4 @@
|
||||
al 00FD22 .VectorTableAndPadding
|
||||
al 00FD16 .Label_FD16
|
||||
al 00FD21 .Label_FD21
|
||||
al 00FCF4 .Label_FCF4
|
||||
@@ -27,6 +28,7 @@ al 00FBA0 .Label_FBA0
|
||||
al 00FB8C .Label_FB8C
|
||||
al 00FB78 .Label_FB78
|
||||
al 00FB71 .Label_FB71
|
||||
al 00FB3B .SoundEngineData
|
||||
al 00FB38 .Label_FB38
|
||||
al 00FB17 .Label_FB17
|
||||
al 00FAF9 .Label_FAF9
|
||||
@@ -95,6 +97,7 @@ al 00F877 .Label_F877
|
||||
al 00F838 .Label_F838
|
||||
al 00F82F .Label_F82F
|
||||
al 00F80C .Label_F80C
|
||||
al 00F7B8 .MusicChannelData5
|
||||
al 00F7AB .Label_F7AB
|
||||
al 00F7A2 .Label_F7A2
|
||||
al 00F793 .Label_F793
|
||||
@@ -107,6 +110,7 @@ al 00F74F .Label_F74F
|
||||
al 00F737 .Label_F737
|
||||
al 00F71F .Label_F71F
|
||||
al 00F71D .Label_F71D
|
||||
al 00F6EF .MusicChannelData4
|
||||
al 00F72C .Label_F72C
|
||||
al 00F6EA .Label_F6EA
|
||||
al 00F6BD .Label_F6BD
|
||||
@@ -114,10 +118,12 @@ al 00F6DB .Label_F6DB
|
||||
al 00F6DA .Label_F6DA
|
||||
al 00F6A4 .Label_F6A4
|
||||
al 00F691 .Label_F691
|
||||
al 00F67E .MusicChannelData3
|
||||
al 00F671 .Label_F671
|
||||
al 00F660 .Label_F660
|
||||
al 00F64C .Label_F64C
|
||||
al 00F630 .Label_F630
|
||||
al 00F5C9 .MusicChannelData2
|
||||
al 00F5BB .Label_F5BB
|
||||
al 00F5B1 .Label_F5B1
|
||||
al 00F5C4 .Label_F5C4
|
||||
@@ -129,6 +135,7 @@ al 00F537 .Label_F537
|
||||
al 00F524 .Label_F524
|
||||
al 00F517 .Label_F517
|
||||
al 00F504 .Label_F504
|
||||
al 00F466 .MusicChannelData
|
||||
al 00F465 .Label_F465
|
||||
al 00F45B .Label_F45B
|
||||
al 00F42A .Label_F42A
|
||||
@@ -155,7 +162,9 @@ al 00F32E .Label_F32E
|
||||
al 00F305 .Label_F305
|
||||
al 00F35A .Label_F35A
|
||||
al 00F2EC .Label_F2EC
|
||||
al 00F1AC .MusicSequenceData
|
||||
al 00F19E .Label_F19E
|
||||
al 00F149 .SoundEffectTable1
|
||||
al 00F13B .Label_F13B
|
||||
al 00F137 .Label_F137
|
||||
al 00F13A .Label_F13A
|
||||
@@ -263,18 +272,22 @@ al 00EB68 .Label_EB68
|
||||
al 00EB30 .Label_EB30
|
||||
al 00EB2E .Label_EB2E
|
||||
al 00EAFC .Label_EAFC
|
||||
al 00EAA2 .EnemyAnimData3
|
||||
al 00EAA1 .Label_EAA1
|
||||
al 00EA97 .Label_EA97
|
||||
al 00EA96 .Label_EA96
|
||||
al 00EA8E .Label_EA8E
|
||||
al 00EA5C .EnemyAnimData2
|
||||
al 00EA55 .Label_EA55
|
||||
al 00EA4C .Label_EA4C
|
||||
al 00EA4A .Label_EA4A
|
||||
al 00EA49 .Label_EA49
|
||||
al 00E9CE .EnemyAnimData1
|
||||
al 00E9C5 .Label_E9C5
|
||||
al 00E9C3 .Label_E9C3
|
||||
al 00E9AA .Label_E9AA
|
||||
al 00E999 .Label_E999
|
||||
al 00E88C .EnemySpriteData
|
||||
al 00E881 .Label_E881
|
||||
al 00E88B .Label_E88B
|
||||
al 00E843 .Label_E843
|
||||
@@ -336,6 +349,7 @@ al 00E4EC .Label_E4EC
|
||||
al 00E502 .Label_E502
|
||||
al 00E4CC .Label_E4CC
|
||||
al 00E4C2 .Label_E4C2
|
||||
al 00E382 .LevelLayoutData
|
||||
al 00E37E .Label_E37E
|
||||
al 00E372 .Label_E372
|
||||
al 00E367 .Label_E367
|
||||
@@ -417,6 +431,7 @@ al 00DFB1 .Label_DFB1
|
||||
al 00DFE9 .Label_DFE9
|
||||
al 00DFAB .Label_DFAB
|
||||
al 00DFA5 .Label_DFA5
|
||||
al 00DEF6 .LevelDataPtrs
|
||||
al 00DEEC .Label_DEEC
|
||||
al 00DEEA .Label_DEEA
|
||||
al 00DEE4 .Label_DEE4
|
||||
@@ -563,6 +578,7 @@ al 00D7F1 .Label_D7F1
|
||||
al 00D7FC .Label_D7FC
|
||||
al 00D82E .Label_D82E
|
||||
al 00D7DE .Label_D7DE
|
||||
al 00D75E .SpriteDataTable4
|
||||
al 00D74C .Label_D74C
|
||||
al 00D726 .Label_D726
|
||||
al 00D724 .Label_D724
|
||||
@@ -778,6 +794,7 @@ al 00CD8B .Label_CD8B
|
||||
al 00CD83 .Label_CD83
|
||||
al 00CD68 .Label_CD68
|
||||
al 00CD62 .Label_CD62
|
||||
al 00CD20 .SpriteAnimTable3
|
||||
al 00CD61 .Label_CD61
|
||||
al 00CD13 .Label_CD13
|
||||
al 00CD0D .Label_CD0D
|
||||
@@ -788,8 +805,10 @@ al 00CCB9 .Label_CCB9
|
||||
al 00CCE4 .Label_CCE4
|
||||
al 00CCED .Label_CCED
|
||||
al 00CC9E .Label_CC9E
|
||||
al 00CC67 .SpriteDataTable3
|
||||
al 00CC1F .Label_CC1F
|
||||
al 00CC05 .Label_CC05
|
||||
al 00CBB3 .SpriteDataTable2
|
||||
al 00CBAF .Label_CBAF
|
||||
al 00CBA9 .Label_CBA9
|
||||
al 00CB9D .UpdateSprites5_4
|
||||
@@ -882,6 +901,7 @@ al 00C728 .UpdateSprites2_7
|
||||
al 00C726 .CheckZp55
|
||||
al 00C718 .Label_C718
|
||||
al 00C6FB .UpdateSprites3_4
|
||||
al 00C680 .CheckZp14_Data
|
||||
al 00C67F .Label_C67F
|
||||
al 00C664 .Label_C664
|
||||
al 00C626 .Label_C626
|
||||
@@ -907,6 +927,7 @@ al 00C582 .Label_C582
|
||||
al 00C579 .Label_C579
|
||||
al 00C553 .Label_C553
|
||||
al 00C542 .UpdateSprites_3
|
||||
al 00C512 .SpriteInitTable
|
||||
al 00C508 .Label_C508
|
||||
al 00C4F6 .Label_C4F6
|
||||
al 00C4E8 .Label_C4E8
|
||||
@@ -916,10 +937,13 @@ al 00C4CD .Label_C4CD
|
||||
al 00C4C8 .Label_C4C8
|
||||
al 00C4C0 .UpdateSprites3_1
|
||||
al 00C44A .UpdateSprites2_4
|
||||
al 00C440 .SpriteDataTable1
|
||||
al 00C437 .CheckZp34
|
||||
al 00C436 .Label_C436
|
||||
al 00C3A4 .SpriteAnimTable2
|
||||
al 00C39F .Label_C39F
|
||||
al 00C38D .Label_C38D
|
||||
al 00C2ED .SpriteAnimTable1
|
||||
al 00C2D9 .Label_C2D9
|
||||
al 00C2CE .Label_C2CE
|
||||
al 00C2C1 .Label_C2C1
|
||||
@@ -971,3 +995,4 @@ al 00C041 .ClearZeropage
|
||||
al 00C024 .WaitVBlank2_1
|
||||
al 00C01E .WaitVBlank_1
|
||||
al 00C014 .Reset
|
||||
al 00C000 .InitialSpriteData
|
||||
Binary file not shown.
@@ -0,0 +1,296 @@
|
||||
75 PtrHi
|
||||
77 PtrLo
|
||||
95 PtrLo
|
||||
98 PtrHi
|
||||
171 VBlankTimer
|
||||
219 VBlankTimer
|
||||
334 CheckZp14
|
||||
391 VBlankTimer
|
||||
403 VBlankTimer
|
||||
428 PtrLo
|
||||
430 PtrHi
|
||||
495 PtrLo
|
||||
583 VBlankTimer
|
||||
585 VBlankTimer
|
||||
706 SprData2
|
||||
727 SprData
|
||||
734 SprData
|
||||
781 CheckZp14
|
||||
910 SprData
|
||||
921 SprData2
|
||||
1147 PtrLo
|
||||
1149 PtrHi
|
||||
1151 Ptr2Lo
|
||||
1184 PtrLo
|
||||
1198 PtrLo
|
||||
1270 PtrLo
|
||||
1329 PtrLo
|
||||
1330 PtrHi
|
||||
1331 Ptr2Lo
|
||||
1468 CheckZp14
|
||||
1556 PtrLo
|
||||
1559 PtrHi
|
||||
1572 PtrLo
|
||||
1575 PtrHi
|
||||
1589 CheckZp14
|
||||
1603 PtrLo
|
||||
1605 PtrHi
|
||||
1607 PtrLo
|
||||
1608 Ptr2Lo
|
||||
1610 PtrLo
|
||||
1612 Ptr2Lo
|
||||
1689 Ptr2Lo
|
||||
1718 CheckZp14
|
||||
1805 Ptr2Lo
|
||||
1849 PtrHi
|
||||
1869 PtrLo
|
||||
1874 PtrLo
|
||||
1887 PtrLo
|
||||
1996 PtrHi
|
||||
2005 PtrHi
|
||||
2063 PtrLo
|
||||
2065 VBlankTimer
|
||||
2068 PtrLo
|
||||
2090 PtrLo
|
||||
2122 PtrLo
|
||||
2123 PtrLo
|
||||
2125 PtrLo
|
||||
2161 PtrHi
|
||||
2164 PtrHi
|
||||
2185 PtrHi
|
||||
2196 PtrHi
|
||||
2221 PtrLo
|
||||
2227 PtrHi
|
||||
2241 PtrLo
|
||||
2243 PtrHi
|
||||
2363 PtrHi
|
||||
2378 Ptr2Lo
|
||||
2379 Ptr2Lo
|
||||
2382 Ptr2Lo
|
||||
2421 PtrHi
|
||||
2422 PtrHi
|
||||
2445 PtrHi
|
||||
2446 Ptr2Lo
|
||||
2448 Ptr2Lo
|
||||
2462 Ptr2Lo
|
||||
2476 PtrHi
|
||||
2490 PtrHi
|
||||
2493 Ptr2Lo
|
||||
2595 PtrLo
|
||||
2601 PtrLo
|
||||
2707 PtrLo
|
||||
2788 PtrLo
|
||||
2791 PtrLo
|
||||
2851 PtrLo
|
||||
2853 PtrLo
|
||||
2859 PtrLo
|
||||
2860 PtrLo
|
||||
2861 PtrLo
|
||||
2863 PtrLo
|
||||
2877 Ptr2Lo
|
||||
2878 PtrLo
|
||||
2881 PtrHi
|
||||
2894 PtrHi
|
||||
2895 Ptr2Lo
|
||||
2909 PtrHi
|
||||
2911 Ptr2Lo
|
||||
2925 PtrLo
|
||||
2928 PtrLo
|
||||
2931 VBlankTimer
|
||||
2986 PtrLo
|
||||
2992 PtrLo
|
||||
2993 PtrLo
|
||||
2995 PtrHi
|
||||
2996 PtrHi
|
||||
3009 PtrLo
|
||||
3280 SprData2
|
||||
3289 SprData2
|
||||
3301 SprData2
|
||||
3324 SprData2
|
||||
3325 SprData
|
||||
3372 PtrHi
|
||||
3375 PtrHi
|
||||
3398 PtrHi
|
||||
3461 CheckZp14
|
||||
3574 CheckZp14
|
||||
3601 SprData2
|
||||
3648 CheckZp14
|
||||
3786 SprData2
|
||||
3794 SprData
|
||||
4210 SprData
|
||||
4336 SprData2
|
||||
4352 SprData2
|
||||
4547 SprData2
|
||||
4556 PtrLo
|
||||
4558 PtrHi
|
||||
4561 Ptr2Lo
|
||||
4588 PtrLo
|
||||
4593 Ptr2Lo
|
||||
4601 SprData2
|
||||
4680 PtrHi
|
||||
4681 SprData2
|
||||
4683 SprData2
|
||||
4684 PtrHi
|
||||
4787 Ptr2Lo
|
||||
4790 SprData2
|
||||
4792 PtrLo
|
||||
4808 PtrHi
|
||||
4847 Ptr2Lo
|
||||
4852 SprData2
|
||||
4870 PtrLo
|
||||
4884 PtrHi
|
||||
4902 SprData2
|
||||
4925 SprData
|
||||
4931 SprData
|
||||
5009 SprData
|
||||
5023 Ptr2Lo
|
||||
5027 PtrLo
|
||||
5076 Ptr2Lo
|
||||
5128 PtrLo
|
||||
5160 Ptr2Lo
|
||||
5301 PtrLo
|
||||
5308 PtrHi
|
||||
5381 SprData
|
||||
5432 CheckZp14
|
||||
5487 PtrLo
|
||||
5602 SprData
|
||||
5737 SprData2
|
||||
5810 SprData
|
||||
5846 SprData
|
||||
5856 SprData
|
||||
5922 SprData
|
||||
6016 SprData
|
||||
6060 CheckZp14
|
||||
6092 PtrHi
|
||||
6097 PtrLo
|
||||
6100 PtrHi
|
||||
6103 PtrLo
|
||||
6124 SprData2
|
||||
6433 SprData2
|
||||
6789 SprData
|
||||
6906 SprData
|
||||
7748 PtrLo
|
||||
7753 PtrLo
|
||||
7837 PtrLo
|
||||
7838 SprData
|
||||
7893 Ptr2Lo
|
||||
7950 CheckZp14
|
||||
8020 PtrLo
|
||||
8160 PtrLo
|
||||
8165 SprData
|
||||
8182 PtrLo
|
||||
8188 Ptr2Lo
|
||||
8189 PtrLo
|
||||
8230 PtrLo
|
||||
8370 PtrLo
|
||||
8485 PtrLo
|
||||
8496 PtrLo
|
||||
8518 PtrLo
|
||||
8573 PtrLo
|
||||
8657 Ptr2Lo
|
||||
8669 Ptr2Lo
|
||||
8672 Ptr2Lo
|
||||
8683 PtrLo
|
||||
8695 PtrLo
|
||||
8801 PtrLo
|
||||
8844 PtrLo
|
||||
8849 PtrLo
|
||||
9012 PtrLo
|
||||
9158 Ptr2Lo
|
||||
9165 Ptr2Lo
|
||||
9167 Ptr2Lo
|
||||
9183 Ptr2Lo
|
||||
9410 PtrLo
|
||||
9413 PtrLo
|
||||
9473 PtrHi
|
||||
9475 PtrLo
|
||||
9486 PtrHi
|
||||
9489 Ptr2Lo
|
||||
9493 PtrLo
|
||||
9496 PtrLo
|
||||
9499 PtrHi
|
||||
9500 PtrHi
|
||||
9513 PtrLo
|
||||
9549 Ptr2Lo
|
||||
9577 SprData
|
||||
9609 PtrLo
|
||||
9749 PtrLo
|
||||
9778 PtrLo
|
||||
9822 PtrLo
|
||||
10315 SprData
|
||||
10432 PtrHi
|
||||
10451 PtrHi
|
||||
10592 PtrLo
|
||||
10604 PtrLo
|
||||
10606 PtrHi
|
||||
10612 PtrHi
|
||||
10639 PtrHi
|
||||
10652 PtrHi
|
||||
10658 PtrLo
|
||||
10922 PtrHi
|
||||
11035 PtrLo
|
||||
11048 PtrHi
|
||||
11140 PtrLo
|
||||
11209 PtrLo
|
||||
11224 PtrHi
|
||||
11283 PtrLo
|
||||
11285 PtrHi
|
||||
11287 Ptr2Lo
|
||||
11313 PtrLo
|
||||
11444 PtrHi
|
||||
11446 PtrLo
|
||||
11461 PtrLo
|
||||
11463 PtrHi
|
||||
11465 PtrLo
|
||||
11487 PtrLo
|
||||
11490 PtrLo
|
||||
11645 PtrHi
|
||||
11649 PtrHi
|
||||
11713 Ptr2Lo
|
||||
11715 PtrHi
|
||||
11735 PtrLo
|
||||
11937 PtrLo
|
||||
11939 PtrHi
|
||||
11941 Ptr2Lo
|
||||
12056 SprData
|
||||
12083 PtrLo
|
||||
12087 PtrLo
|
||||
12089 PtrLo
|
||||
12101 PtrLo
|
||||
12130 PtrLo
|
||||
12144 SprData
|
||||
12149 SprData
|
||||
12326 SprData
|
||||
12362 CheckZp14
|
||||
12547 PtrLo
|
||||
12631 PtrLo
|
||||
12637 PtrLo
|
||||
12651 PtrLo
|
||||
12654 PtrLo
|
||||
13433 PtrLo
|
||||
13439 PtrLo
|
||||
13495 PtrLo
|
||||
13499 PtrLo
|
||||
13501 PtrLo
|
||||
13543 PtrLo
|
||||
13953 PtrLo
|
||||
13989 PtrLo
|
||||
13994 PtrLo
|
||||
14064 PtrLo
|
||||
14065 PtrHi
|
||||
14082 PtrLo
|
||||
14090 PtrHi
|
||||
14431 PtrLo
|
||||
14446 PtrLo
|
||||
14508 PtrHi
|
||||
14526 PtrHi
|
||||
14663 Ptr2Lo
|
||||
14666 PtrLo
|
||||
14668 PtrHi
|
||||
15177 FrameCounter
|
||||
16058 FrameCounter
|
||||
16073 FrameCounter
|
||||
16087 FrameCounter
|
||||
16140 FrameCounter
|
||||
16175 FrameCounter
|
||||
16239 FrameCounter
|
||||
|
Reference in new issue
Block a user