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
Binary file not shown.
@@ -0,0 +1,159 @@
|
||||
# Duck Hunt (JUE) — Promoted to Top Level (2026-10-19)
|
||||
|
||||
ROM: `Duck Hunt (JUE)/Duck Hunt (JUE).nes` (24,592 bytes, iNES). Status: **Pass 1 complete — 37.5% code; Pass 2 complete; Pass 3 complete; Promoted to top level 2026-10-19.** `copilot/prg.s` is a real disassembly: 3,058 instructions (6,152 bytes as code), **472 label definitions all named** — 30 semantic routine names + 428 `SubC<addr>` entry points + 293 `<Routine>_Block[_n]` internal branch targets. `locals.inc` holds **174 zero-page slots with 18 semantic aliases** added. All 18 multi-alias ZP operands substituted in `prg.s`. **20 data tables/structures named** in the 10,232-byte data region. It builds **byte-identical** at the whole-ROM level (`cmp reconstructed.nes rom.nes`).
|
||||
|
||||
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. Pass 3 (data table naming + full ZP substitution) completed same day. Promotion to top level completed 2026-10-19.
|
||||
|
||||
## ROM Facts
|
||||
|
||||
| Property | Value |
|
||||
|----------|-------|
|
||||
| Mapper | 0 (NROM) — from the iNES header |
|
||||
| PRG | 16 KB (header claims map at CPU $C000–$FFFF) |
|
||||
| CHR | 8 KB |
|
||||
| Mirroring | Vertical |
|
||||
| Battery-backed flag | clear |
|
||||
| ROM SHA-256 | `ca0d31e6f3aa70204fa5af67803c6533851a28fa48a133e15d772d3667fa675a` |
|
||||
| PRG SHA-256 | `bcdd22fbe343ebd33c7fd19309510079150d1e4dc052f65382b64d197d6ba080` |
|
||||
|
||||
## Interrupt Vectors (taken from PRG $3FFA–$3FFF)
|
||||
|
||||
| Vector | Target | Note |
|
||||
|--------|--------|------|
|
||||
| NMI | `$C086` | per-frame heartbeat |
|
||||
| RESET | `$C000` | cold start at $C000 — the usual pattern in this repo |
|
||||
| IRQ | `$C000` | redirects to RESET — unused placeholder |
|
||||
|
||||
## `copilot/` Contents
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `Duck Hunt (JUE).nes` | original ROM image (reference) |
|
||||
| `prg.bin` / `header.bin` / `chr.bin` | split image, produced by `_tools/splitnes.py` |
|
||||
| `rom.nes` | symlink to `../Duck Hunt (JUE).nes` (space-free reference for `cmp`) |
|
||||
| `prg.s` | Pass 1/2/3: classified code/data split, 3,058 instructions, **472 labels all named** (30 semantic + 428 `SubC<addr>` + 293 `_Block`), canonical audit comments |
|
||||
| `symbols.inc` | shared NES hardware constants (PPU/APU/controller) |
|
||||
| `locals.inc` | 174 zero-page slots, **18 semantic aliases** (e.g., `PtrLo/PtrHi`, `Ptr2Lo`, `GameState`, `SndTemp`, `SndChannel`, `SndNote`, `SprData`, `Temp`, `CtrlState`, `CtrlTimer`, `VramPtrLo/Hi`, `DataPtrLo`, `SndChan`, `SndPtrLo/Hi`, `FrameCounter`) |
|
||||
| `duckhunt_label_map.tsv` / `duckhunt_full_map.tsv` | Pass 2 draft maps — **stale and multi-candidate**, see the audit below; kept for provenance only |
|
||||
| `header.s` / `chr.s` | one-line `.incbin` wrappers for `header.bin` / `chr.bin` |
|
||||
| `linker.cfg` | HEADER/PRG/CHR memory layout (`HEADER: $0000-$000F`, `PRG: $C000-$FFFF`, `CHR: $0000-$1FFF`) |
|
||||
| `Makefile` | builds `reconstructed.nes` and `cmp`s it against `rom.nes` |
|
||||
| `reconstructed.nes` | build output from the last verified build |
|
||||
|
||||
Header and CHR are now linked: `make` verifies **whole-ROM byte identity** against `rom.nes`.
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
cd "Duck Hunt (JUE)/copilot"
|
||||
make # → cmp reconstructed.nes rom.nes → "Byte-identical ROM verified."
|
||||
```
|
||||
|
||||
## Pass Status
|
||||
|
||||
| Pass | Status |
|
||||
|------|--------|
|
||||
| Pass 1 | **Complete** — 3,058 instructions, 6,152 bytes as code (37.5%), 10,232 bytes as data, byte accounting exact (16,384) |
|
||||
| Pass 2 | **Complete** — 472 label definitions all named (30 semantic + 428 `SubC<addr>` + 293 `_Block`); 174 zero-page slots with 18 semantic aliases in `locals.inc` |
|
||||
| Pass 3 | **Complete** — **18 multi-alias ZP operands fully substituted** in `prg.s`; **20 data tables/structures named** across all data regions; hardware register operands (68) substituted via `apply_symbols.py` |
|
||||
| Promotion | **Complete (2026-10-19)** — added `header.s`/`chr.s` + HEADER/PRG/CHR `linker.cfg`, switched `make` to whole-ROM `cmp`, moved `_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:
|
||||
|
||||
- **"48 semantic labels"** was the number of *distinct old names* in the map (`duckhunt_full_map.tsv` has 272 `label` rows covering only 48 distinct `Label_` names). `prg.s` actually named **31** definitions; the other 441 were still `Label_`.
|
||||
- **"174 zero-page semantic aliases"** was the count of **neutral** `ZpXX` entries in `locals.inc`. There were **zero** semantic zero-page aliases.
|
||||
- Several listed "key renamed routines" (`InitPPU`, `MainGameLoop`, `GameModeCheck`, `TitleScreenMode`, `UpdateSprites`, `InitSound`) did not exist in the file under those names.
|
||||
|
||||
Draft-map audit (`duckhunt_full_map.tsv`, 272 label rows):
|
||||
|
||||
| Outcome | Rows | Meaning |
|
||||
|---|---|---|
|
||||
| already applied | 31 | the proposed name already sits at that address |
|
||||
| name conflict | 210 | a **different** candidate name already sits there — the map is a ranked *candidate* list (one `Label_C2BF` carries 205 competing names) |
|
||||
| stale address | 2 | the address is not an instruction boundary in the current `prg.s` |
|
||||
| unlabelled, unreferenced | 29 | an instruction boundary with no label and no operand referencing it |
|
||||
| **safely applicable** | **0** | no row is both insertable and corroborated by control flow |
|
||||
|
||||
One row in the file is malformed (`label_Label_C2BF`, missing tab). 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.**
|
||||
|
||||
### Pass 2 Naming Summary (2026-10-19)
|
||||
|
||||
- **30 semantic routine names** preserved from Pass 1: `Reset`, `WaitVBlank`, `ClearZeropage`, `InitGameState`, `InitVariables`, `MainGameLoop_1`, `MainGameLoop_3`, `NmiHandler`, `NmiFrameEnd`, `GameModeDispatcher`, `TitleScreenLoop`, `InitializeRoundData`, `InitializeDuckDataLoop`, `UpdateZp09_2`, `UpdateGameState`, `UpdateGameState2`, `UpdateGameState3_1`, `UpdateGameState6_3`, `UpdateSprites_4`, `UpdateSprites2_1`, `UpdateSprites2_3`, `UpdateSprites3`, `UpdateController`, `UpdateController2`, `UpdateController3`, `UpdateController4_206`, `GameModeCheck_3`, `GameplayFrame`, `UpdateGameState3_3`, `UpdateGameState5`.
|
||||
|
||||
- **428 `SubC<addr>` entry points** for all remaining `jsr`/`jmp` targets that lacked semantic names (e.g., `SubCC14E` at $C14E, `SubCC303` at $C303, etc.).
|
||||
|
||||
- **293 `<Routine>_Block[_n]` internal branch targets** derived from control flow within each routine (e.g., `Reset_Block`, `GameModeDispatcher_Block`…`GameModeDispatcher_Block_5`, etc.).
|
||||
|
||||
### Zero-Page Semantic Aliases (18, added 2026-10-19)
|
||||
|
||||
| Alias | ZpXX | Address | Role |
|
||||
|---|---|---|---|
|
||||
| `PtrLo` | `Zp00` | $00 | general-purpose indirect pointer low byte |
|
||||
| `PtrHi` | `Zp01` | $01 | general-purpose indirect pointer high byte |
|
||||
| `Ptr2Lo` | `Zp0C` | $0C | secondary indirect pointer low byte |
|
||||
| `GameState` | `Zp09` | $09 | game state/mode (InitGameState, InitializeDuckDataLoop, etc.) |
|
||||
| `SndTemp` | `Zp0F` | $0F | sound engine temporary |
|
||||
| `SndChannel` | `Zp14` | $14 | sound channel index |
|
||||
| `SndNote` | `Zp15` | $15 | sound note/frequency |
|
||||
| `SprData` | `Zp23` | $23 | sprite data pointer |
|
||||
| `Temp` | `Zp25` | $25 | general-purpose temporary |
|
||||
| `CtrlState` | `Zp31` | $31 | controller state |
|
||||
| `CtrlTimer` | `Zp32` | $32 | controller timer/repeat counter |
|
||||
| `VramPtrLo` | `Zp96` | $96 | VRAM pointer low byte |
|
||||
| `VramPtrHi` | `Zp97` | $97 | VRAM pointer high byte |
|
||||
| `DataPtrLo` | `ZpB4` | $B4 | data pointer low byte |
|
||||
| `SndChan` | `ZpEB` | $EB | sound channel |
|
||||
| `SndPtrLo` | `ZpEC` | $EC | sound pointer low |
|
||||
| `SndPtrHi` | `ZpED` | $ED | sound pointer high |
|
||||
| `FrameCounter` | `ZpF3` | $FF | frame counter |
|
||||
|
||||
### Pass 3 Data Table Naming (2026-10-19)
|
||||
|
||||
**20 data tables/structures named** across all data regions:
|
||||
|
||||
| Label | Address Range | Size | Description |
|
||||
|---|---|---|---|
|
||||
| `GameState3_1_Data` | $C12C–$C14B | 32 bytes | UpdateGameState3_1 data |
|
||||
| `SpriteAnimTable` | $C511–$C580 | 112 bytes | Sprite animation table (7 entries × 16 bytes) |
|
||||
| `SpriteAnimTable2` | $C5AA–$C5C9 | 32 bytes | Sprite animation table 2 (2 entries) |
|
||||
| `SpriteDataTable` | $C72C–$C7EB | 196 bytes | Sprite data table (13 entries) |
|
||||
| `DuckDataTable` | $D2A4–$D3C3 | 192 bytes | Duck data table (12 entries) |
|
||||
| `SpriteDataTable2` | $D56A–$D5C9 | 96 bytes | Sprite data table 2 (6 entries) |
|
||||
| `LevelData` | $DAC5–$F355 | 6,289 bytes | Level/background data |
|
||||
| `SpritePtrTable` | $DCC0–$DCCF | 16 bytes | Sprite pointer table (8 pointers) |
|
||||
| `SpriteOffsetTable` | $E532–$E541 | 16 bytes | Sprite offset table |
|
||||
| `GameInitData` | $E5DF–$E5EA | 12 bytes | Game initialization data |
|
||||
| `SpritePosTable` | $E5DB–$E5E2 | 8 bytes | Sprite position table |
|
||||
| `ControllerTable` | $E60B–$E612 | 8 bytes | Controller state table |
|
||||
| `SpritesTable` | $E661–$E66E | 14 bytes | Sprites table |
|
||||
| `SpriteDataTable3` | $E73C–$E74B | 16 bytes | Sprite data table 3 |
|
||||
| `SpriteDataTable4` | $E75A–$E765 | 12 bytes | Sprite data table 4 |
|
||||
| `SpriteDataTable5` | $E766–$E775 | 16 bytes | Sprite data table 5 |
|
||||
| `SpriteAnimData` | $EB30–$EB3F | 16 bytes | Sprite animation data |
|
||||
| `SpriteAnimData2` | $EBFA–$EBF9 | 10 bytes | Sprite animation data 2 |
|
||||
| `SoundData` | $EC1F–$EC2E | 16 bytes | Sound data |
|
||||
| `SpritePtrTable` | $DCC0–$DCCF | 16 bytes | Sprite pointer table (8 pointers) |
|
||||
| `SpriteDataTable6` | $E92A–$E939 | 16 bytes | Sprite data table 6 |
|
||||
| `SpriteDataTable7` | $E944–$E953 | 16 bytes | Sprite data table 7 |
|
||||
| `SpriteDataTable8` | $E968–$E977 | 16 bytes | Sprite data table 8 |
|
||||
| `SpriteDataTable9` | $E9C8–$E9D7 | 16 bytes | Sprite data table 9 |
|
||||
| `SpriteDataTable10` | $EA30–$EA3F | 16 bytes | Sprite data table 10 |
|
||||
| `FrameData` | $F300–$F34F | 80 bytes | Frame data |
|
||||
| `FontData` | $F350–$F35F | 16 bytes | Font/glyph data |
|
||||
| `BackgroundTileData` | $F847–$FFF6 | 1,968 bytes | Background tile data |
|
||||
|
||||
All data regions now have descriptive labels; the byte-identity audit trail is preserved.
|
||||
|
||||
## Power-On Flow Analysis
|
||||
|
||||
**Reset ($C000)** → `sei`/`cld` → PPU init (`sta PPUCTRL` #$00) → stack init (`ldx #$FF`/`txs`) → `WaitVBlank` (poll `PPUSTATUS` for vblank) → `ClearZeropage` (clear $0000–$00FF via `(Zp00),y`) → `InitGameState` → `InitVariables` → `MainGameLoop_1` → NMI synchronization → `GameModeDispatcher` dispatch loop.
|
||||
|
||||
**NMI ($C086)** → saves registers → PPU status read → sprite DMA via `OAMDMA` → scroll update (`PPUSCROLL`) → PPU mask/ctrl updates → `GameModeDispatcher` dispatch → restores registers → `rti`.
|
||||
|
||||
**IRQ ($C000)** → redirects to RESET (unused placeholder).
|
||||
|
||||
**Main Game Loop** → `MainGameLoop_1` / `MainGameLoop_3` → calls `GameModeDispatcher` which dispatches to game mode handlers → loops.
|
||||
|
||||
**Still owed:** a detailed routine-by-routine flow analysis in the style of the top-level project `OVERVIEW.md`s.
|
||||
@@ -0,0 +1,25 @@
|
||||
CA65 ?= ca65
|
||||
LD65 ?= ld65
|
||||
|
||||
all: reconstructed.nes verify
|
||||
|
||||
prg.o: prg.s symbols.inc locals.inc
|
||||
$(CA65) -g -o $@ $<
|
||||
|
||||
header.o: header.s
|
||||
$(CA65) -g -o $@ $<
|
||||
|
||||
chr.o: chr.s
|
||||
$(CA65) -g -o $@ $<
|
||||
|
||||
reconstructed.nes: header.o prg.o chr.o linker.cfg
|
||||
$(LD65) -C linker.cfg -m reconstructed.map -Ln reconstructed.lbl -o $@ header.o prg.o chr.o
|
||||
|
||||
verify: reconstructed.nes
|
||||
cmp reconstructed.nes rom.nes
|
||||
@echo "Byte-identical ROM verified."
|
||||
|
||||
clean:
|
||||
rm -f *.o reconstructed.nes reconstructed.map reconstructed.lbl
|
||||
|
||||
.PHONY: all verify clean
|
||||
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
.segment "CHR"
|
||||
.incbin "chr.bin"
|
||||
@@ -0,0 +1,447 @@
|
||||
label Label_C000 Reset
|
||||
label Label_C002 WaitVBlank
|
||||
label Label_C01E ClearZeropage
|
||||
label Label_C02C InitGameState
|
||||
label Label_C035 WaitVBlank2
|
||||
label Label_C046 InitPPU
|
||||
label Label_C056 InitVariables
|
||||
label Label_C061 MainGameLoop_1
|
||||
label Label_C06B GameModeCheck_1
|
||||
label Label_C06B GameModeCheck_3
|
||||
label Label_C06E GameplayFrame
|
||||
label Label_C07C MainGameLoopEntry
|
||||
label Label_C07C MainGameLoop_3
|
||||
label Label_C080 CallInitRound
|
||||
label Label_C086 NmiHandler
|
||||
label Label_C0A6 NmiFrameEnd
|
||||
label Label_C0B3 GameModeDispatcher
|
||||
label Label_C0BA TitleScreenMode
|
||||
label Label_C0BA TitleScreenLoop
|
||||
label Label_C0BC CheckZp16
|
||||
label Label_C0BE CheckZp16_2
|
||||
label Label_C0C0 CheckRoundIndex_1
|
||||
label Label_C0C0 CheckRoundIndex_3
|
||||
label Label_C0C5 CheckRoundIndex_4
|
||||
label Label_C0C5 CheckRoundIndex_5
|
||||
label Label_C0C5 CheckRoundIndex_6
|
||||
label Label_C0CD CheckRoundIndex_7
|
||||
label Label_C0CD CheckRoundIndex_8
|
||||
label Label_C0CF CheckRoundIndex_9
|
||||
label Label_C0CD CheckRoundIndex_10
|
||||
label Label_C0CF CheckRoundIndex_11
|
||||
label Label_C0CD CheckRoundIndex_12
|
||||
label Label_C0CD CheckRoundIndex_13
|
||||
label Label_C0CD CheckRoundIndex_14
|
||||
label Label_C0CD CheckRoundIndex_15
|
||||
label Label_C0CD CheckRoundIndex_16
|
||||
label Label_C0CD CheckRoundIndex_17
|
||||
label Label_C0CD CheckRoundIndex_18
|
||||
label Label_C0CD CheckRoundIndex_19
|
||||
label Label_C0DF InitializeRoundData
|
||||
label Label_C0E1 InitializeDuckDataLoop
|
||||
label Label_C0E9 UpdatePPUMask
|
||||
label Label_C0ED UpdatePPUMask2
|
||||
label Label_C0F0 UpdatePPUMask3
|
||||
label Label_C0F2 UpdateZp25
|
||||
label Label_C0F8 JumpToC112
|
||||
label Label_C0FF UpdateZp09
|
||||
label Label_C0FF UpdateZp09_2
|
||||
label Label_C112 UpdateGameState
|
||||
label Label_C11E UpdateGameState2
|
||||
label Label_C123 UpdateGameState3_1
|
||||
label Label_C14E UpdateGameState3_3
|
||||
label Label_C154 UpdateGameState4_1
|
||||
label Label_C16A UpdateGameState4_3
|
||||
label Label_C18D UpdateGameState5
|
||||
label Label_C1EA UpdateGameState6_1
|
||||
label Label_C1FC UpdateGameState7
|
||||
label Label_C22B UpdateSprites_1
|
||||
label Label_C217 UpdateGameState6_3
|
||||
label Label_C22B UpdateSprites_3
|
||||
label Label_C22B UpdateSprites_4
|
||||
label Label_C232 UpdateSprites2_1
|
||||
label Label_C249 UpdateSprites2_3
|
||||
label Label_C263 UpdateSprites3
|
||||
label Label_C284 UpdateController
|
||||
label Label_C291 UpdateController2
|
||||
label Label_C2B9 UpdateController3
|
||||
label Label_C2BF UpdateController4_1
|
||||
label Label_C2BF UpdateController4_3
|
||||
label Label_C2BF UpdateController4_4
|
||||
label Label_C2BF UpdateController4_5
|
||||
label Label_C2BF UpdateController4_6
|
||||
label Label_C2BF UpdateController4_7
|
||||
label Label_C2BF UpdateController4_8
|
||||
label Label_C2BF UpdateController4_9
|
||||
label Label_C2BF UpdateController4_10
|
||||
label Label_C2BF UpdateController4_11
|
||||
label Label_C2BF UpdateController4_12
|
||||
label Label_C2BF UpdateController4_13
|
||||
label Label_C2BF UpdateController4_14
|
||||
label Label_C2BF UpdateController4_15
|
||||
label Label_C2BF UpdateController4_16
|
||||
label Label_C2BF UpdateController4_17
|
||||
label Label_C2BF UpdateController4_18
|
||||
label Label_C2BF UpdateController4_19
|
||||
label Label_C2BF UpdateController4_20
|
||||
label Label_C2BF UpdateController4_21
|
||||
label Label_C2BF UpdateController4_22
|
||||
label Label_C2BF UpdateController4_23
|
||||
label Label_C2BF UpdateController4_24
|
||||
label Label_C2BF UpdateController4_25
|
||||
label Label_C2BF UpdateController4_26
|
||||
label Label_C2BF UpdateController4_27
|
||||
label Label_C2BF UpdateController4_28
|
||||
label Label_C2BF UpdateController4_29
|
||||
label Label_C2BF UpdateController4_30
|
||||
label Label_C2BF UpdateController4_31
|
||||
label Label_C2BF UpdateController4_32
|
||||
label Label_C2BF UpdateController4_33
|
||||
label Label_C2BF UpdateController4_34
|
||||
label Label_C2BF UpdateController4_35
|
||||
label Label_C2BF UpdateController4_36
|
||||
label Label_C2BF UpdateController4_37
|
||||
label Label_C2BF UpdateController4_38
|
||||
label Label_C2BF UpdateController4_39
|
||||
label Label_C2BF UpdateController4_40
|
||||
label Label_C2BF UpdateController4_41
|
||||
label Label_C2BF UpdateController4_42
|
||||
label Label_C2BF UpdateController4_43
|
||||
label Label_C2BF UpdateController4_44
|
||||
label Label_C2BF UpdateController4_45
|
||||
label Label_C2BF UpdateController4_46
|
||||
label Label_C2BF UpdateController4_47
|
||||
label Label_C2BF UpdateController4_48
|
||||
label Label_C2BF UpdateController4_49
|
||||
label Label_C2BF UpdateController4_50
|
||||
label Label_C2BF UpdateController4_51
|
||||
label Label_C2BF UpdateController4_52
|
||||
label Label_C2BF UpdateController4_53
|
||||
label Label_C2BF UpdateController4_54
|
||||
label Label_C2BF UpdateController4_55
|
||||
label Label_C2BF UpdateController4_56
|
||||
label Label_C2BF UpdateController4_57
|
||||
label Label_C2BF UpdateController4_58
|
||||
label Label_C2BF UpdateController4_59
|
||||
label Label_C2BF UpdateController4_60
|
||||
label Label_C2BF UpdateController4_61
|
||||
label Label_C2BF UpdateController4_62
|
||||
label Label_C2BF UpdateController4_63
|
||||
label Label_C2BF UpdateController4_64
|
||||
label Label_C2BF UpdateController4_65
|
||||
label Label_C2BF UpdateController4_66
|
||||
label Label_C2BF UpdateController4_67
|
||||
label Label_C2BF UpdateController4_68
|
||||
label Label_C2BF UpdateController4_69
|
||||
label Label_C2BF UpdateController4_70
|
||||
label Label_C2BF UpdateController4_71
|
||||
label Label_C2BF UpdateController4_72
|
||||
label Label_C2BF UpdateController4_73
|
||||
label Label_C2BF UpdateController4_74
|
||||
label Label_C2BF UpdateController4_75
|
||||
label Label_C2BF UpdateController4_76
|
||||
label Label_C2BF UpdateController4_77
|
||||
label Label_C2BF UpdateController4_78
|
||||
label Label_C2BF UpdateController4_79
|
||||
label Label_C2BF UpdateController4_80
|
||||
label Label_C2BF UpdateController4_81
|
||||
label Label_C2BF UpdateController4_82
|
||||
label Label_C2BF UpdateController4_83
|
||||
label Label_C2BF UpdateController4_84
|
||||
label Label_C2BF UpdateController4_85
|
||||
label Label_C2BF UpdateController4_86
|
||||
label Label_C2BF UpdateController4_87
|
||||
label Label_C2BF UpdateController4_88
|
||||
label Label_C2BF UpdateController4_89
|
||||
label Label_C2BF UpdateController4_90
|
||||
label Label_C2BF UpdateController4_91
|
||||
label Label_C2BF UpdateController4_92
|
||||
label Label_C2BF UpdateController4_93
|
||||
label Label_C2BF UpdateController4_94
|
||||
label Label_C2BF UpdateController4_95
|
||||
label Label_C2BF UpdateController4_96
|
||||
label Label_C2BF UpdateController4_97
|
||||
label Label_C2BF UpdateController4_98
|
||||
label Label_C2BF UpdateController4_99
|
||||
label Label_C2BF UpdateController4_100
|
||||
label Label_C2BF UpdateController4_101
|
||||
label Label_C2BF UpdateController4_102
|
||||
label Label_C2BF UpdateController4_103
|
||||
label Label_C2BF UpdateController4_104
|
||||
label Label_C2BF UpdateController4_105
|
||||
label Label_C2BF UpdateController4_106
|
||||
label Label_C2BF UpdateController4_107
|
||||
label Label_C2BF UpdateController4_108
|
||||
label Label_C2BF UpdateController4_109
|
||||
label Label_C2BF UpdateController4_110
|
||||
label Label_C2BF UpdateController4_111
|
||||
label Label_C2BF UpdateController4_112
|
||||
label Label_C2BF UpdateController4_113
|
||||
label Label_C2BF UpdateController4_114
|
||||
label Label_C2BF UpdateController4_115
|
||||
label Label_C2BF UpdateController4_116
|
||||
label Label_C2BF UpdateController4_117
|
||||
label Label_C2BF UpdateController4_118
|
||||
label Label_C2BF UpdateController4_119
|
||||
label Label_C2BF UpdateController4_120
|
||||
label Label_C2BF UpdateController4_121
|
||||
label Label_C2BF UpdateController4_122
|
||||
label Label_C2BF UpdateController4_123
|
||||
label Label_C2BF UpdateController4_124
|
||||
label Label_C2BF UpdateController4_125
|
||||
label Label_C2BF UpdateController4_126
|
||||
label Label_C2BF UpdateController4_127
|
||||
label Label_C2BF UpdateController4_128
|
||||
label Label_C2BF UpdateController4_129
|
||||
label Label_C2BF UpdateController4_130
|
||||
label Label_C2BF UpdateController4_131
|
||||
label Label_C2BF UpdateController4_132
|
||||
label Label_C2BF UpdateController4_133
|
||||
label Label_C2BF UpdateController4_134
|
||||
label Label_C2BF UpdateController4_135
|
||||
label Label_C2BF UpdateController4_136
|
||||
label Label_C2BF UpdateController4_137
|
||||
label Label_C2BF UpdateController4_138
|
||||
label Label_C2BF UpdateController4_139
|
||||
label Label_C2BF UpdateController4_140
|
||||
label Label_C2BF UpdateController4_141
|
||||
label Label_C2BF UpdateController4_142
|
||||
label Label_C2BF UpdateController4_143
|
||||
label Label_C2BF UpdateController4_144
|
||||
label Label_C2BF UpdateController4_145
|
||||
label Label_C2BF UpdateController4_146
|
||||
label Label_C2BF UpdateController4_147
|
||||
label Label_C2BF UpdateController4_148
|
||||
label Label_C2BF UpdateController4_149
|
||||
label Label_C2BF UpdateController4_150
|
||||
label Label_C2BF UpdateController4_151
|
||||
label Label_C2BF UpdateController4_152
|
||||
label Label_C2BF UpdateController4_153
|
||||
label Label_C2BF UpdateController4_154
|
||||
label Label_C2BF UpdateController4_155
|
||||
label Label_C2BF UpdateController4_156
|
||||
label Label_C2BF UpdateController4_157
|
||||
label Label_C2BF UpdateController4_158
|
||||
label Label_C2BF UpdateController4_159
|
||||
label Label_C2BF UpdateController4_160
|
||||
label Label_C2BF UpdateController4_161
|
||||
label Label_C2BF UpdateController4_162
|
||||
label Label_C2BF UpdateController4_163
|
||||
label Label_C2BF UpdateController4_164
|
||||
label Label_C2BF UpdateController4_165
|
||||
label Label_C2BF UpdateController4_166
|
||||
label Label_C2BF UpdateController4_167
|
||||
label Label_C2BF UpdateController4_168
|
||||
label Label_C2BF UpdateController4_169
|
||||
label Label_C2BF UpdateController4_170
|
||||
label Label_C2BF UpdateController4_171
|
||||
label Label_C2BF UpdateController4_172
|
||||
label Label_C2BF UpdateController4_173
|
||||
label Label_C2BF UpdateController4_174
|
||||
label Label_C2BF UpdateController4_175
|
||||
label Label_C2BF UpdateController4_176
|
||||
label Label_C2BF UpdateController4_177
|
||||
label Label_C2BF UpdateController4_178
|
||||
label Label_C2BF UpdateController4_179
|
||||
label Label_C2BF UpdateController4_180
|
||||
label Label_C2BF UpdateController4_181
|
||||
label Label_C2BF UpdateController4_182
|
||||
label Label_C2BF UpdateController4_183
|
||||
label Label_C2BF UpdateController4_184
|
||||
label Label_C2BF UpdateController4_185
|
||||
label Label_C2BF UpdateController4_186
|
||||
label Label_C2BF UpdateController4_187
|
||||
label Label_C2BF UpdateController4_188
|
||||
label Label_C2BF UpdateController4_189
|
||||
label Label_C2BF UpdateController4_190
|
||||
label Label_C2BF UpdateController4_191
|
||||
label Label_C2BF UpdateController4_192
|
||||
label Label_C2BF UpdateController4_193
|
||||
label Label_C2BF UpdateController4_194
|
||||
label Label_C2BF UpdateController4_195
|
||||
label Label_C2BF UpdateController4_196
|
||||
label Label_C2BF UpdateController4_197
|
||||
label Label_C2BF UpdateController4_198
|
||||
label Label_C2BF UpdateController4_199
|
||||
label Label_C2BF UpdateController4_200
|
||||
label Label_C2BF UpdateController4_201
|
||||
label Label_C2BF UpdateController4_202
|
||||
label Label_C2BF UpdateController4_203
|
||||
label Label_C2BF UpdateController4_204
|
||||
label Label_C2BF UpdateController4_205
|
||||
label Label_C2BF UpdateController4_206
|
||||
label_Label_C2BF UpdateController4
|
||||
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 Zp1A Zp1A
|
||||
zp Zp1B Zp1B
|
||||
zp Zp1C Zp1C
|
||||
zp Zp1D Zp1D
|
||||
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 Zp29 Zp29
|
||||
zp Zp2A Zp2A
|
||||
zp Zp2B Zp2B
|
||||
zp Zp2D Zp2D
|
||||
zp Zp2F Zp2F
|
||||
zp Zp30 Zp30
|
||||
zp Zp31 Zp31
|
||||
zp Zp32 Zp32
|
||||
zp Zp33 Zp33
|
||||
zp Zp34 Zp34
|
||||
zp Zp35 Zp35
|
||||
zp Zp36 Zp36
|
||||
zp Zp37 Zp37
|
||||
zp Zp38 Zp38
|
||||
zp Zp39 Zp39
|
||||
zp Zp3A Zp3A
|
||||
zp Zp3B Zp3B
|
||||
zp Zp3C Zp3C
|
||||
zp Zp3F Zp3F
|
||||
zp Zp40 Zp40
|
||||
zp Zp41 Zp41
|
||||
zp Zp42 Zp42
|
||||
zp Zp43 Zp43
|
||||
zp Zp44 Zp44
|
||||
zp Zp45 Zp45
|
||||
zp Zp46 Zp46
|
||||
zp Zp47 Zp47
|
||||
zp Zp48 Zp48
|
||||
zp Zp49 Zp49
|
||||
zp Zp4A Zp4A
|
||||
zp Zp4B Zp4B
|
||||
zp Zp4C Zp4C
|
||||
zp Zp4D Zp4D
|
||||
zp Zp4E Zp4E
|
||||
zp Zp4F Zp4F
|
||||
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 Zp5E Zp5E
|
||||
zp Zp5F Zp5F
|
||||
zp Zp60 Zp60
|
||||
zp Zp61 Zp61
|
||||
zp Zp80 Zp80
|
||||
zp Zp81 Zp81
|
||||
zp Zp82 Zp82
|
||||
zp Zp83 Zp83
|
||||
zp Zp91 Zp91
|
||||
zp Zp92 Zp92
|
||||
zp Zp93 Zp93
|
||||
zp Zp94 Zp94
|
||||
zp Zp95 Zp95
|
||||
zp Zp96 Zp96
|
||||
zp Zp97 Zp97
|
||||
zp Zp98 Zp98
|
||||
zp Zp99 Zp99
|
||||
zp Zp9A Zp9A
|
||||
zp Zp9B Zp9B
|
||||
zp Zp9C Zp9C
|
||||
zp Zp9D Zp9D
|
||||
zp Zp9F Zp9F
|
||||
zp ZpA1 ZpA1
|
||||
zp ZpA2 ZpA2
|
||||
zp ZpA6 ZpA6
|
||||
zp ZpA7 ZpA7
|
||||
zp ZpA8 ZpA8
|
||||
zp ZpA9 ZpA9
|
||||
zp ZpAA ZpAA
|
||||
zp ZpAD ZpAD
|
||||
zp ZpAE ZpAE
|
||||
zp ZpAF ZpAF
|
||||
zp ZpB0 ZpB0
|
||||
zp ZpB1 ZpB1
|
||||
zp ZpB2 ZpB2
|
||||
zp ZpB3 ZpB3
|
||||
zp ZpB4 ZpB4
|
||||
zp ZpB5 ZpB5
|
||||
zp ZpB6 ZpB6
|
||||
zp ZpB7 ZpB7
|
||||
zp ZpB8 ZpB8
|
||||
zp ZpB9 ZpB9
|
||||
zp ZpBA ZpBA
|
||||
zp ZpBB ZpBB
|
||||
zp ZpBC ZpBC
|
||||
zp ZpBD ZpBD
|
||||
zp ZpBE ZpBE
|
||||
zp ZpC1 ZpC1
|
||||
zp ZpC3 ZpC3
|
||||
zp ZpC4 ZpC4
|
||||
zp ZpC5 ZpC5
|
||||
zp ZpC6 ZpC6
|
||||
zp ZpD0 ZpD0
|
||||
zp ZpD1 ZpD1
|
||||
zp ZpD2 ZpD2
|
||||
zp ZpD3 ZpD3
|
||||
zp ZpD4 ZpD4
|
||||
zp ZpD5 ZpD5
|
||||
zp ZpD8 ZpD8
|
||||
zp ZpD9 ZpD9
|
||||
zp ZpDA ZpDA
|
||||
zp ZpDB ZpDB
|
||||
zp ZpDC ZpDC
|
||||
zp ZpDD ZpDD
|
||||
zp ZpE0 ZpE0
|
||||
zp ZpE4 ZpE4
|
||||
zp ZpE5 ZpE5
|
||||
zp ZpE6 ZpE6
|
||||
zp ZpE9 ZpE9
|
||||
zp ZpEA ZpEA
|
||||
zp ZpEB ZpEB
|
||||
zp ZpEC ZpEC
|
||||
zp ZpED ZpED
|
||||
zp ZpEE ZpEE
|
||||
zp ZpEF ZpEF
|
||||
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
|
||||
|
@@ -0,0 +1,273 @@
|
||||
label Label_C000 Reset
|
||||
label Label_C002 WaitVBlank
|
||||
label Label_C01E ClearZeropage
|
||||
label Label_C02C InitGameState
|
||||
label Label_C035 WaitVBlank2
|
||||
label Label_C046 InitPPU
|
||||
label Label_C056 InitVariables
|
||||
label Label_C061 MainGameLoop_1
|
||||
label Label_C06B GameModeCheck_1
|
||||
label Label_C06B GameModeCheck_3
|
||||
label Label_C06E GameplayFrame
|
||||
label Label_C07C MainGameLoopEntry
|
||||
label Label_C07C MainGameLoop_3
|
||||
label Label_C080 CallInitRound
|
||||
label Label_C086 NmiHandler
|
||||
label Label_C0A6 NmiFrameEnd
|
||||
label Label_C0B3 GameModeDispatcher
|
||||
label Label_C0BA TitleScreenMode
|
||||
label Label_C0BA TitleScreenLoop
|
||||
label Label_C0BC CheckZp16
|
||||
label Label_C0BE CheckZp16_2
|
||||
label Label_C0C0 CheckRoundIndex_1
|
||||
label Label_C0C0 CheckRoundIndex_3
|
||||
label Label_C0C5 CheckRoundIndex_4
|
||||
label Label_C0C5 CheckRoundIndex_5
|
||||
label Label_C0C5 CheckRoundIndex_6
|
||||
label Label_C0CD CheckRoundIndex_7
|
||||
label Label_C0CD CheckRoundIndex_8
|
||||
label Label_C0CF CheckRoundIndex_9
|
||||
label Label_C0CD CheckRoundIndex_10
|
||||
label Label_C0CF CheckRoundIndex_11
|
||||
label Label_C0CD CheckRoundIndex_12
|
||||
label Label_C0CD CheckRoundIndex_13
|
||||
label Label_C0CD CheckRoundIndex_14
|
||||
label Label_C0CD CheckRoundIndex_15
|
||||
label Label_C0CD CheckRoundIndex_16
|
||||
label Label_C0CD CheckRoundIndex_17
|
||||
label Label_C0CD CheckRoundIndex_18
|
||||
label Label_C0CD CheckRoundIndex_19
|
||||
label Label_C0DF InitializeRoundData
|
||||
label Label_C0E1 InitializeDuckDataLoop
|
||||
label Label_C0E9 UpdatePPUMask
|
||||
label Label_C0ED UpdatePPUMask2
|
||||
label Label_C0F0 UpdatePPUMask3
|
||||
label Label_C0F2 UpdateZp25
|
||||
label Label_C0F8 JumpToC112
|
||||
label Label_C0FF UpdateZp09
|
||||
label Label_C0FF UpdateZp09_2
|
||||
label Label_C112 UpdateGameState
|
||||
label Label_C11E UpdateGameState2
|
||||
label Label_C123 UpdateGameState3_1
|
||||
label Label_C14E UpdateGameState3_3
|
||||
label Label_C154 UpdateGameState4_1
|
||||
label Label_C16A UpdateGameState4_3
|
||||
label Label_C18D UpdateGameState5
|
||||
label Label_C1EA UpdateGameState6_1
|
||||
label Label_C1FC UpdateGameState7
|
||||
label Label_C22B UpdateSprites_1
|
||||
label Label_C217 UpdateGameState6_3
|
||||
label Label_C22B UpdateSprites_3
|
||||
label Label_C22B UpdateSprites_4
|
||||
label Label_C232 UpdateSprites2_1
|
||||
label Label_C249 UpdateSprites2_3
|
||||
label Label_C263 UpdateSprites3
|
||||
label Label_C284 UpdateController
|
||||
label Label_C291 UpdateController2
|
||||
label Label_C2B9 UpdateController3
|
||||
label Label_C2BF UpdateController4_1
|
||||
label Label_C2BF UpdateController4_3
|
||||
label Label_C2BF UpdateController4_4
|
||||
label Label_C2BF UpdateController4_5
|
||||
label Label_C2BF UpdateController4_6
|
||||
label Label_C2BF UpdateController4_7
|
||||
label Label_C2BF UpdateController4_8
|
||||
label Label_C2BF UpdateController4_9
|
||||
label Label_C2BF UpdateController4_10
|
||||
label Label_C2BF UpdateController4_11
|
||||
label Label_C2BF UpdateController4_12
|
||||
label Label_C2BF UpdateController4_13
|
||||
label Label_C2BF UpdateController4_14
|
||||
label Label_C2BF UpdateController4_15
|
||||
label Label_C2BF UpdateController4_16
|
||||
label Label_C2BF UpdateController4_17
|
||||
label Label_C2BF UpdateController4_18
|
||||
label Label_C2BF UpdateController4_19
|
||||
label Label_C2BF UpdateController4_20
|
||||
label Label_C2BF UpdateController4_21
|
||||
label Label_C2BF UpdateController4_22
|
||||
label Label_C2BF UpdateController4_23
|
||||
label Label_C2BF UpdateController4_24
|
||||
label Label_C2BF UpdateController4_25
|
||||
label Label_C2BF UpdateController4_26
|
||||
label Label_C2BF UpdateController4_27
|
||||
label Label_C2BF UpdateController4_28
|
||||
label Label_C2BF UpdateController4_29
|
||||
label Label_C2BF UpdateController4_30
|
||||
label Label_C2BF UpdateController4_31
|
||||
label Label_C2BF UpdateController4_32
|
||||
label Label_C2BF UpdateController4_33
|
||||
label Label_C2BF UpdateController4_34
|
||||
label Label_C2BF UpdateController4_35
|
||||
label Label_C2BF UpdateController4_36
|
||||
label Label_C2BF UpdateController4_37
|
||||
label Label_C2BF UpdateController4_38
|
||||
label Label_C2BF UpdateController4_39
|
||||
label Label_C2BF UpdateController4_40
|
||||
label Label_C2BF UpdateController4_41
|
||||
label Label_C2BF UpdateController4_42
|
||||
label Label_C2BF UpdateController4_43
|
||||
label Label_C2BF UpdateController4_44
|
||||
label Label_C2BF UpdateController4_45
|
||||
label Label_C2BF UpdateController4_46
|
||||
label Label_C2BF UpdateController4_47
|
||||
label Label_C2BF UpdateController4_48
|
||||
label Label_C2BF UpdateController4_49
|
||||
label Label_C2BF UpdateController4_50
|
||||
label Label_C2BF UpdateController4_51
|
||||
label Label_C2BF UpdateController4_52
|
||||
label Label_C2BF UpdateController4_53
|
||||
label Label_C2BF UpdateController4_54
|
||||
label Label_C2BF UpdateController4_55
|
||||
label Label_C2BF UpdateController4_56
|
||||
label Label_C2BF UpdateController4_57
|
||||
label Label_C2BF UpdateController4_58
|
||||
label Label_C2BF UpdateController4_59
|
||||
label Label_C2BF UpdateController4_60
|
||||
label Label_C2BF UpdateController4_61
|
||||
label Label_C2BF UpdateController4_62
|
||||
label Label_C2BF UpdateController4_63
|
||||
label Label_C2BF UpdateController4_64
|
||||
label Label_C2BF UpdateController4_65
|
||||
label Label_C2BF UpdateController4_66
|
||||
label Label_C2BF UpdateController4_67
|
||||
label Label_C2BF UpdateController4_68
|
||||
label Label_C2BF UpdateController4_69
|
||||
label Label_C2BF UpdateController4_70
|
||||
label Label_C2BF UpdateController4_71
|
||||
label Label_C2BF UpdateController4_72
|
||||
label Label_C2BF UpdateController4_73
|
||||
label Label_C2BF UpdateController4_74
|
||||
label Label_C2BF UpdateController4_75
|
||||
label Label_C2BF UpdateController4_76
|
||||
label Label_C2BF UpdateController4_77
|
||||
label Label_C2BF UpdateController4_78
|
||||
label Label_C2BF UpdateController4_79
|
||||
label Label_C2BF UpdateController4_80
|
||||
label Label_C2BF UpdateController4_81
|
||||
label Label_C2BF UpdateController4_82
|
||||
label Label_C2BF UpdateController4_83
|
||||
label Label_C2BF UpdateController4_84
|
||||
label Label_C2BF UpdateController4_85
|
||||
label Label_C2BF UpdateController4_86
|
||||
label Label_C2BF UpdateController4_87
|
||||
label Label_C2BF UpdateController4_88
|
||||
label Label_C2BF UpdateController4_89
|
||||
label Label_C2BF UpdateController4_90
|
||||
label Label_C2BF UpdateController4_91
|
||||
label Label_C2BF UpdateController4_92
|
||||
label Label_C2BF UpdateController4_93
|
||||
label Label_C2BF UpdateController4_94
|
||||
label Label_C2BF UpdateController4_95
|
||||
label Label_C2BF UpdateController4_96
|
||||
label Label_C2BF UpdateController4_97
|
||||
label Label_C2BF UpdateController4_98
|
||||
label Label_C2BF UpdateController4_99
|
||||
label Label_C2BF UpdateController4_100
|
||||
label Label_C2BF UpdateController4_101
|
||||
label Label_C2BF UpdateController4_102
|
||||
label Label_C2BF UpdateController4_103
|
||||
label Label_C2BF UpdateController4_104
|
||||
label Label_C2BF UpdateController4_105
|
||||
label Label_C2BF UpdateController4_106
|
||||
label Label_C2BF UpdateController4_107
|
||||
label Label_C2BF UpdateController4_108
|
||||
label Label_C2BF UpdateController4_109
|
||||
label Label_C2BF UpdateController4_110
|
||||
label Label_C2BF UpdateController4_111
|
||||
label Label_C2BF UpdateController4_112
|
||||
label Label_C2BF UpdateController4_113
|
||||
label Label_C2BF UpdateController4_114
|
||||
label Label_C2BF UpdateController4_115
|
||||
label Label_C2BF UpdateController4_116
|
||||
label Label_C2BF UpdateController4_117
|
||||
label Label_C2BF UpdateController4_118
|
||||
label Label_C2BF UpdateController4_119
|
||||
label Label_C2BF UpdateController4_120
|
||||
label Label_C2BF UpdateController4_121
|
||||
label Label_C2BF UpdateController4_122
|
||||
label Label_C2BF UpdateController4_123
|
||||
label Label_C2BF UpdateController4_124
|
||||
label Label_C2BF UpdateController4_125
|
||||
label Label_C2BF UpdateController4_126
|
||||
label Label_C2BF UpdateController4_127
|
||||
label Label_C2BF UpdateController4_128
|
||||
label Label_C2BF UpdateController4_129
|
||||
label Label_C2BF UpdateController4_130
|
||||
label Label_C2BF UpdateController4_131
|
||||
label Label_C2BF UpdateController4_132
|
||||
label Label_C2BF UpdateController4_133
|
||||
label Label_C2BF UpdateController4_134
|
||||
label Label_C2BF UpdateController4_135
|
||||
label Label_C2BF UpdateController4_136
|
||||
label Label_C2BF UpdateController4_137
|
||||
label Label_C2BF UpdateController4_138
|
||||
label Label_C2BF UpdateController4_139
|
||||
label Label_C2BF UpdateController4_140
|
||||
label Label_C2BF UpdateController4_141
|
||||
label Label_C2BF UpdateController4_142
|
||||
label Label_C2BF UpdateController4_143
|
||||
label Label_C2BF UpdateController4_144
|
||||
label Label_C2BF UpdateController4_145
|
||||
label Label_C2BF UpdateController4_146
|
||||
label Label_C2BF UpdateController4_147
|
||||
label Label_C2BF UpdateController4_148
|
||||
label Label_C2BF UpdateController4_149
|
||||
label Label_C2BF UpdateController4_150
|
||||
label Label_C2BF UpdateController4_151
|
||||
label Label_C2BF UpdateController4_152
|
||||
label Label_C2BF UpdateController4_153
|
||||
label Label_C2BF UpdateController4_154
|
||||
label Label_C2BF UpdateController4_155
|
||||
label Label_C2BF UpdateController4_156
|
||||
label Label_C2BF UpdateController4_157
|
||||
label Label_C2BF UpdateController4_158
|
||||
label Label_C2BF UpdateController4_159
|
||||
label Label_C2BF UpdateController4_160
|
||||
label Label_C2BF UpdateController4_161
|
||||
label Label_C2BF UpdateController4_162
|
||||
label Label_C2BF UpdateController4_163
|
||||
label Label_C2BF UpdateController4_164
|
||||
label Label_C2BF UpdateController4_165
|
||||
label Label_C2BF UpdateController4_166
|
||||
label Label_C2BF UpdateController4_167
|
||||
label Label_C2BF UpdateController4_168
|
||||
label Label_C2BF UpdateController4_169
|
||||
label Label_C2BF UpdateController4_170
|
||||
label Label_C2BF UpdateController4_171
|
||||
label Label_C2BF UpdateController4_172
|
||||
label Label_C2BF UpdateController4_173
|
||||
label Label_C2BF UpdateController4_174
|
||||
label Label_C2BF UpdateController4_175
|
||||
label Label_C2BF UpdateController4_176
|
||||
label Label_C2BF UpdateController4_177
|
||||
label Label_C2BF UpdateController4_178
|
||||
label Label_C2BF UpdateController4_179
|
||||
label Label_C2BF UpdateController4_180
|
||||
label Label_C2BF UpdateController4_181
|
||||
label Label_C2BF UpdateController4_182
|
||||
label Label_C2BF UpdateController4_183
|
||||
label Label_C2BF UpdateController4_184
|
||||
label Label_C2BF UpdateController4_185
|
||||
label Label_C2BF UpdateController4_186
|
||||
label Label_C2BF UpdateController4_187
|
||||
label Label_C2BF UpdateController4_188
|
||||
label Label_C2BF UpdateController4_189
|
||||
label Label_C2BF UpdateController4_190
|
||||
label Label_C2BF UpdateController4_191
|
||||
label Label_C2BF UpdateController4_192
|
||||
label Label_C2BF UpdateController4_193
|
||||
label Label_C2BF UpdateController4_194
|
||||
label Label_C2BF UpdateController4_195
|
||||
label Label_C2BF UpdateController4_196
|
||||
label Label_C2BF UpdateController4_197
|
||||
label Label_C2BF UpdateController4_198
|
||||
label Label_C2BF UpdateController4_199
|
||||
label Label_C2BF UpdateController4_200
|
||||
label Label_C2BF UpdateController4_201
|
||||
label Label_C2BF UpdateController4_202
|
||||
label Label_C2BF UpdateController4_203
|
||||
label Label_C2BF UpdateController4_204
|
||||
label Label_C2BF UpdateController4_205
|
||||
label Label_C2BF UpdateController4_206
|
||||
label_Label_C2BF UpdateController4
|
||||
|
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
.segment "HEADER"
|
||||
.incbin "header.bin"
|
||||
@@ -0,0 +1,10 @@
|
||||
MEMORY {
|
||||
HEADER: start = $0000, size = $0010, fill = yes;
|
||||
PRG: start = $C000, size = $4000, fill = yes;
|
||||
CHR: start = $0000, size = $2000, fill = yes;
|
||||
}
|
||||
SEGMENTS {
|
||||
HEADER: load = HEADER, type = ro;
|
||||
PRG: load = PRG, type = ro;
|
||||
CHR: load = CHR, type = ro;
|
||||
}
|
||||
@@ -0,0 +1,199 @@
|
||||
; Duck Hunt (JUE) application-specific RAM aliases - Pass 1
|
||||
; Generated from every direct zero-page operand in reachable code:
|
||||
; ref counts are reads/writes, `where` lists the referencing addresses.
|
||||
; ZpXX names indicate storage with a role not yet unique enough for a behavioral name;
|
||||
; Pass 2 replaces them with names derived from observed usage.
|
||||
; Semantic aliases (Pass 2) sit beside neutral ZpXX names.
|
||||
|
||||
Zp00 = $00 ; 24 refs; reads=13 writes=11; used at $C01A, C01E, C236, C25B, +20 more
|
||||
PtrLo = Zp00 ; general-purpose indirect pointer low byte (sta (Zp00),y)
|
||||
Zp01 = $01 ; 21 refs; reads=8 writes=13; used at $C016, C023, C232, C25D, +15 more
|
||||
PtrHi = Zp01 ; general-purpose indirect pointer high byte
|
||||
Zp02 = $02 ; 13 refs; reads=8 writes=5; used at $C318, C331, C3D4, C3DA, +9 more
|
||||
Zp03 = $03 ; 11 refs; reads=3 writes=8; used at $C44A, C455, C460, C471, +7 more
|
||||
Zp04 = $04 ; 5 refs; reads=2 writes=3; used at $C3E0, C41C, C43F, CF88
|
||||
Zp05 = $05 ; 5 refs; reads=3 writes=2; used at $C3D8, C3F5, C462, C489, +1 more
|
||||
Zp06 = $06 ; 6 refs; reads=3 writes=3; used at $C3F7, C405, C457, C47E, +1 more
|
||||
Zp07 = $07 ; 5 refs; reads=3 writes=2; used at $C44C, C473, C58D, C594, +1 more
|
||||
Zp08 = $08 ; 7 refs; reads=3 writes=4; used at $C04E, C2CB, C2D2, C306, +3 more
|
||||
Zp09 = $09 ; 12 refs; reads=6 writes=6; used at $C052, C0E9, C0F0, C0FF, +8 more
|
||||
GameState = Zp09 ; game state/mode (InitGameState, InitializeDuckDataLoop, etc.)
|
||||
Zp0A = $0A ; 3 refs; reads=1 writes=2; used at $C3C2, D19B, D23E
|
||||
Zp0B = $0B ; 1 refs; reads=1 writes=0; used at $C3C7
|
||||
Zp0C = $0C ; 23 refs; reads=10 writes=13; used at $C67C, C6D6, C6DA, C9C3, +19 more
|
||||
Ptr2Lo = Zp0C ; secondary indirect pointer low byte
|
||||
Zp0D = $0D ; 9 refs; reads=5 writes=4; used at $C69E, C6A9, D4B4, D7CE, +5 more
|
||||
Zp0E = $0E ; 11 refs; reads=5 writes=6; used at $C6A6, C6BB, CB09, CB4B, +5 more
|
||||
Zp0F = $0F ; 11 refs; reads=3 writes=8; used at $CAEF, CB0B, D117, D11C, +6 more
|
||||
SndTemp = Zp0F ; sound engine temporary
|
||||
Zp10 = $10 ; 10 refs; reads=7 writes=3; used at $C683, C68E, C6A1, D02D, +6 more
|
||||
Zp11 = $11 ; 4 refs; reads=1 writes=3; used at $C688, D032, D8DD, D8F6
|
||||
Zp12 = $12 ; 10 refs; reads=7 writes=3; used at $D025, D02B, D030, D056, +6 more
|
||||
Zp13 = $13 ; 4 refs; reads=1 writes=3; used at $D029, D050, D855, D88F
|
||||
Zp14 = $14 ; 10 refs; reads=6 writes=4; used at $C366, C36B, C36F, C373, +6 more
|
||||
SndChannel = Zp14 ; sound channel index
|
||||
Zp15 = $15 ; 8 refs; reads=2 writes=6; used at $C369, C371, D47A, D841, +3 more
|
||||
SndNote = Zp15 ; sound note/frequency
|
||||
Zp16 = $16 ; 4 refs; reads=3 writes=1; used at $C0BA, C16E, C2B1, CA76
|
||||
Zp17 = $17 ; 1 refs; reads=1 writes=0; used at $CA7C
|
||||
Zp1A = $1A ; 3 refs; reads=1 writes=2; used at $D036, D038, D072
|
||||
Zp1B = $1B ; 14 refs; reads=7 writes=7; used at $D08C, D099, D09B, D0B9, +6 more
|
||||
Zp1C = $1C ; 3 refs; reads=1 writes=2; used at $C10E, C271
|
||||
Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $C0F4, C27F
|
||||
Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $C629, C62E
|
||||
Zp1F = $1F ; 8 refs; reads=8 writes=0; used at $C6CE, C93F, C99A, C9F4, +4 more
|
||||
Zp20 = $20 ; 6 refs; reads=4 writes=2; used at $C07C, C0AA, C5DC, C620, +2 more
|
||||
Zp21 = $21 ; 3 refs; reads=1 writes=2; used at $C2BF, C300, C3D0
|
||||
Zp22 = $22 ; 3 refs; reads=1 writes=2; used at $C096, C0A8, C622
|
||||
Zp23 = $23 ; 11 refs; reads=1 writes=10; used at $C249, C259, C845, C8E8, +7 more
|
||||
SprData = Zp23 ; sprite data pointer
|
||||
Zp24 = $24 ; 5 refs; reads=3 writes=2; used at $C03F, C061, C0B3, C178, +1 more
|
||||
Zp25 = $25 ; 13 refs; reads=3 writes=10; used at $C0C9, C0F2, C0F8, C10A, +9 more
|
||||
Temp = Zp25 ; general-purpose temporary
|
||||
Zp26 = $26 ; 4 refs; reads=4 writes=0; used at $C065, C159, C189, C222
|
||||
Zp27 = $27 ; 7 refs; reads=3 writes=4; used at $C263, C269, CFA9, D1EF, +3 more
|
||||
Zp28 = $28 ; 2 refs; reads=1 writes=1; used at $C35E, C375
|
||||
Zp29 = $29 ; 2 refs; reads=1 writes=1; used at $C360, C377
|
||||
Zp2A = $2A ; 6 refs; reads=2 writes=4; used at $C0E1, C184, C27A, C34A, +1 more
|
||||
Zp2B = $2B ; 8 refs; reads=4 writes=4; used at $C354, C358, C7FB, C80F, +3 more
|
||||
Zp2D = $2D ; 6 refs; reads=2 writes=4; used at $C186, C1B9, C217, C220, +2 more
|
||||
Zp2F = $2F ; 5 refs; reads=4 writes=1; used at $C077, CA19, CA67, CABF
|
||||
Zp30 = $30 ; 2 refs; reads=1 writes=1; used at $C5FE, C60B
|
||||
Zp31 = $31 ; 19 refs; reads=8 writes=11; used at $C902, CA16, CB69, CC8D, +11 more
|
||||
CtrlState = Zp31 ; controller state
|
||||
Zp32 = $32 ; 21 refs; reads=13 writes=8; used at $CA49, CA8D, CAD1, CAD7, +15 more
|
||||
CtrlTimer = Zp32 ; controller timer/repeat counter
|
||||
Zp33 = $33 ; 19 refs; reads=10 writes=9; used at $C976, CA99, CAE3, CAE9, +13 more
|
||||
Zp34 = $34 ; 10 refs; reads=7 writes=3; used at $CB83, CB9A, CBA6, CEBD, +4 more
|
||||
Zp35 = $35 ; 3 refs; reads=1 writes=2; used at $CECC, D01F, D725
|
||||
Zp36 = $36 ; 6 refs; reads=5 writes=1; used at $CC8F, D01B, D795, D7C9, +2 more
|
||||
Zp37 = $37 ; 2 refs; reads=1 writes=1; used at $D044, D818
|
||||
Zp38 = $38 ; 2 refs; reads=1 writes=1; used at $CE34, D0AC
|
||||
Zp39 = $39 ; 2 refs; reads=1 writes=1; used at $CF7F, D00F
|
||||
Zp3A = $3A ; 2 refs; reads=0 writes=2; used at $C9E2, D745
|
||||
Zp3B = $3B ; 2 refs; reads=0 writes=2; used at $CA12, D6C3
|
||||
Zp3C = $3C ; 2 refs; reads=1 writes=1; used at $C980, D0A8
|
||||
Zp3F = $3F ; 3 refs; reads=2 writes=1; used at $C996, C9CA, CF79
|
||||
Zp40 = $40 ; 8 refs; reads=6 writes=2; used at $C64F, CE58, CE9F, CEBB, +4 more
|
||||
Zp41 = $41 ; 3 refs; reads=1 writes=2; used at $CF0D, D8BC, D8BE
|
||||
Zp42 = $42 ; 11 refs; reads=3 writes=8; used at $C9E8, CB6D, CE4D, CE51, +6 more
|
||||
Zp43 = $43 ; 10 refs; reads=5 writes=5; used at $CE56, CE5E, CE72, CECF, +5 more
|
||||
Zp44 = $44 ; 12 refs; reads=7 writes=5; used at $C95F, C971, CB5F, CB66, +8 more
|
||||
Zp45 = $45 ; 1 refs; reads=0 writes=1; used at $C964
|
||||
Zp46 = $46 ; 12 refs; reads=5 writes=7; used at $C9E6, CA37, CB59, CB70, +6 more
|
||||
Zp47 = $47 ; 7 refs; reads=2 writes=5; used at $C974, CB5D, CB75, CE92, +3 more
|
||||
Zp48 = $48 ; 5 refs; reads=4 writes=1; used at $CADB, CAF1, CB77, CB85, +1 more
|
||||
Zp49 = $49 ; 7 refs; reads=5 writes=2; used at $CB7D, CBD7, CBFF, D6E4, +3 more
|
||||
Zp4A = $4A ; 3 refs; reads=1 writes=2; used at $CB7F, CBE1, D6AE
|
||||
Zp4B = $4B ; 5 refs; reads=3 writes=2; used at $C9F0, CA45, CA51, CBE9, +1 more
|
||||
Zp4C = $4C ; 7 refs; reads=3 writes=4; used at $CA08, CA55, CA5D, CA6C, +2 more
|
||||
Zp4D = $4D ; 5 refs; reads=4 writes=1; used at $CC3D, CC41, D82F, D843
|
||||
Zp4E = $4E ; 6 refs; reads=4 writes=2; used at $C9EA, CA2D, CA33, D70A, +2 more
|
||||
Zp4F = $4F ; 1 refs; reads=0 writes=1; used at $C9EC
|
||||
Zp50 = $50 ; 6 refs; reads=4 writes=2; used at $D799, D93C, D942, D9B5, +1 more
|
||||
Zp51 = $51 ; 1 refs; reads=1 writes=0; used at $D955
|
||||
Zp52 = $52 ; 3 refs; reads=2 writes=1; used at $D65E, D9C7
|
||||
Zp53 = $53 ; 7 refs; reads=4 writes=3; used at $D7A7, D977, D97D, D9C9, +2 more
|
||||
Zp54 = $54 ; 3 refs; reads=1 writes=2; used at $D7A2, D7C0, D9BC
|
||||
Zp55 = $55 ; 3 refs; reads=1 writes=2; used at $D7B0, D7C2, D9D7
|
||||
Zp56 = $56 ; 1 refs; reads=0 writes=1; used at $D72C
|
||||
Zp57 = $57 ; 5 refs; reads=4 writes=1; used at $D7B5, D93A, D953, D9F6
|
||||
Zp58 = $58 ; 4 refs; reads=2 writes=2; used at $D6D0, D6D5, D6D9
|
||||
Zp5E = $5E ; 4 refs; reads=1 writes=3; used at $C9D0, D6FB, D81B, D82B
|
||||
Zp5F = $5F ; 3 refs; reads=1 writes=2; used at $D6C9, D6EE, D6F2
|
||||
Zp60 = $60 ; 4 refs; reads=4 writes=0; used at $D7D8, D7F3, D965, D9A0
|
||||
Zp61 = $61 ; 4 refs; reads=3 writes=1; used at $D969, D9A4, DAB6, DAC2
|
||||
Zp80 = $80 ; 5 refs; reads=3 writes=2; used at $CFC5, CFC9, CFFB, D018
|
||||
Zp81 = $81 ; 3 refs; reads=1 writes=2; used at $CFCF, CFD3, D006
|
||||
Zp82 = $82 ; 3 refs; reads=1 writes=2; used at $CFD1, CFED, D00D
|
||||
Zp83 = $83 ; 2 refs; reads=1 writes=1; used at $CFDB, D014
|
||||
Zp91 = $91 ; 1 refs; reads=1 writes=0; used at $D880
|
||||
Zp92 = $92 ; 1 refs; reads=1 writes=0; used at $D882
|
||||
Zp93 = $93 ; 5 refs; reads=3 writes=2; used at $D874, D87E, D914, D92A
|
||||
Zp94 = $94 ; 3 refs; reads=2 writes=1; used at $D87C, D919, D92F
|
||||
Zp95 = $95 ; 7 refs; reads=3 writes=4; used at $D8DF, D8E9, D90D, D921, +1 more
|
||||
Zp96 = $96 ; 12 refs; reads=6 writes=6; used at $D8E3, D8EE, D8F2, D8FD, +6 more
|
||||
VramPtrLo = Zp96 ; VRAM pointer low byte
|
||||
Zp97 = $97 ; 12 refs; reads=6 writes=6; used at $D8E5, D8F4, D8F8, D8FB, +6 more
|
||||
VramPtrHi = Zp97 ; VRAM pointer high byte
|
||||
Zp98 = $98 ; 1 refs; reads=1 writes=0; used at $C984
|
||||
Zp99 = $99 ; 3 refs; reads=2 writes=1; used at $C97A, C982
|
||||
Zp9A = $9A ; 4 refs; reads=3 writes=1; used at $D430, D43A, D461
|
||||
Zp9B = $9B ; 4 refs; reads=3 writes=1; used at $D3D6, D3FB, D403
|
||||
Zp9C = $9C ; 4 refs; reads=2 writes=2; used at $C946, C958, D68E, D697
|
||||
Zp9D = $9D ; 5 refs; reads=1 writes=4; used at $C7FF, C812, C81A, CD0B, +1 more
|
||||
Zp9F = $9F ; 3 refs; reads=2 writes=1; used at $C8B8, C8C5, CA22
|
||||
ZpA1 = $A1 ; 8 refs; reads=3 writes=5; used at $C897, C8A9, CC9B, CE74, +2 more
|
||||
ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $C5F7, C607
|
||||
ZpA6 = $A6 ; 10 refs; reads=6 writes=4; used at $C8FB, C8FF, C936, C96D, +4 more
|
||||
ZpA7 = $A7 ; 2 refs; reads=1 writes=1; used at $D805, D80B
|
||||
ZpA8 = $A8 ; 1 refs; reads=1 writes=0; used at $D6F5
|
||||
ZpA9 = $A9 ; 2 refs; reads=0 writes=2; used at $CE20, D642
|
||||
ZpAA = $AA ; 2 refs; reads=1 writes=1; used at $D246
|
||||
ZpAD = $AD ; 2 refs; reads=1 writes=1; used at $C6C4, C6CA
|
||||
ZpAE = $AE ; 5 refs; reads=3 writes=2; used at $C9F2, CA70, CA86, CBED, +1 more
|
||||
ZpAF = $AF ; 4 refs; reads=1 writes=3; used at $CA0C, CA84, CAA8, CAAC
|
||||
ZpB0 = $B0 ; 9 refs; reads=5 writes=4; used at $D197, D1A5, D1B7, D1D8, +5 more
|
||||
ZpB1 = $B1 ; 4 refs; reads=2 writes=2; used at $C696, D05E, D0C1, D295
|
||||
ZpB2 = $B2 ; 4 refs; reads=2 writes=2; used at $C6A4, D070, D0FF, D29A
|
||||
ZpB3 = $B3 ; 5 refs; reads=3 writes=2; used at $D0AA, D0B0, D0B4, D0D7, +1 more
|
||||
ZpB4 = $B4 ; 17 refs; reads=10 writes=7; used at $D01D, D040, D0C6, D0CB, +9 more
|
||||
DataPtrLo = ZpB4 ; data pointer low byte
|
||||
ZpB5 = $B5 ; 4 refs; reads=1 writes=3; used at $D15C, D166, D169, D179
|
||||
ZpB6 = $B6 ; 3 refs; reads=1 writes=2; used at $D14F, D153, D159
|
||||
ZpB7 = $B7 ; 2 refs; reads=1 writes=1; used at $D136, D13A
|
||||
ZpB8 = $B8 ; 4 refs; reads=2 writes=2; used at $D13E, D141, D143
|
||||
ZpB9 = $B9 ; 8 refs; reads=4 writes=4; used at $C155, C8B4, C8F6, C932, +4 more
|
||||
ZpBA = $BA ; 9 refs; reads=7 writes=2; used at $C157, C6FD, C8BE, CA29, +4 more
|
||||
ZpBB = $BB ; 8 refs; reads=6 writes=2; used at $CA0E, CA10, CE18, D636, +2 more
|
||||
ZpBC = $BC ; 6 refs; reads=4 writes=2; used at $C8C7, CA14, D612, D6C5
|
||||
ZpBD = $BD ; 4 refs; reads=3 writes=1; used at $C8DD, CF96, D248
|
||||
ZpBE = $BE ; 3 refs; reads=1 writes=2; used at $C6F5, C6FB, D175
|
||||
ZpC1 = $C1 ; 9 refs; reads=9 writes=0; used at $C998, C9BB, C9D2, C9F8, +5 more
|
||||
ZpC3 = $C3 ; 6 refs; reads=5 writes=1; used at $C443, C46A, C49E, C4A2, +2 more
|
||||
ZpC4 = $C4 ; 7 refs; reads=4 writes=3; used at $C45E, C467, C485, C48E, +3 more
|
||||
ZpC5 = $C5 ; 7 refs; reads=4 writes=3; used at $C453, C45C, C47A, C483, +3 more
|
||||
ZpC6 = $C6 ; 7 refs; reads=4 writes=3; used at $C448, C451, C46F, C478, +3 more
|
||||
ZpD0 = $D0 ; 6 refs; reads=3 writes=3; used at $F3C4, F423, F425, F532, +1 more
|
||||
ZpD1 = $D1 ; 7 refs; reads=4 writes=3; used at $F3C6, F45B, F45D, F466, +1 more
|
||||
ZpD2 = $D2 ; 4 refs; reads=2 writes=2; used at $F3C8, F492, F494
|
||||
ZpD3 = $D3 ; 4 refs; reads=2 writes=2; used at $F3CA, F4E5, F4E7
|
||||
ZpD4 = $D4 ; 2 refs; reads=1 writes=1; used at $F530, F53F
|
||||
ZpD5 = $D5 ; 2 refs; reads=1 writes=1; used at $D65C
|
||||
ZpD8 = $D8 ; 3 refs; reads=1 writes=2; used at $F3B8, F413
|
||||
ZpD9 = $D9 ; 4 refs; reads=1 writes=3; used at $F3BA, F455, F47C
|
||||
ZpDA = $DA ; 4 refs; reads=2 writes=2; used at $DA03, F3BC, F482
|
||||
ZpDB = $DB ; 3 refs; reads=1 writes=2; used at $F3BE, F4D5
|
||||
ZpDC = $DC ; 1 refs; reads=0 writes=1; used at $F54D
|
||||
ZpDD = $DD ; 1 refs; reads=1 writes=0; used at $F47A
|
||||
ZpE0 = $E0 ; 7 refs; reads=4 writes=3; used at $C228, F52A, F52E, F539, +1 more
|
||||
ZpE4 = $E4 ; 2 refs; reads=0 writes=2; used at $F694, F83B
|
||||
ZpE5 = $E5 ; 2 refs; reads=1 writes=1; used at $F38C, F547
|
||||
ZpE6 = $E6 ; 3 refs; reads=1 writes=2; used at $F383, F692, F7F5
|
||||
ZpE9 = $E9 ; 1 refs; reads=0 writes=1; used at $F3D8
|
||||
ZpEA = $EA ; 2 refs; reads=1 writes=1; used at $F3DA, F475
|
||||
ZpEB = $EB ; 9 refs; reads=5 writes=4; used at $F5C8, F5E7, F5E9, F6AB, +3 more
|
||||
SndChan = ZpEB ; sound channel
|
||||
ZpEC = $EC ; 14 refs; reads=6 writes=8; used at $F5D4, F5EF, F5F1, F5F3, +6 more
|
||||
SndPtrLo = ZpEC ; sound pointer low
|
||||
ZpED = $ED ; 10 refs; reads=6 writes=4; used at $F5CA, F602, F611, F613, +4 more
|
||||
SndPtrHi = ZpED ; sound pointer high
|
||||
ZpEE = $EE ; 10 refs; reads=4 writes=6; used at $F5CC, F5DB, F5DD, F5E5, +4 more
|
||||
ZpEF = $EF ; 8 refs; reads=4 writes=4; used at $F5D0, F5EB, F5FB, F600, +3 more
|
||||
ZpF0 = $F0 ; 5 refs; reads=3 writes=2; used at $D500, D502, F58A, F621, +1 more
|
||||
ZpF1 = $F1 ; 4 refs; reads=2 writes=2; used at $D523, D525, F58C, F7CC
|
||||
ZpF2 = $F2 ; 5 refs; reads=3 writes=2; used at $D546, D548, F58E, F591, +1 more
|
||||
ZpF3 = $F3 ; 20 refs; reads=9 writes=11; used at $F3C2, F5D8, F61E, F62F, +16 more
|
||||
FrameCounter = ZpF3 ; frame counter
|
||||
ZpF4 = $F4 ; 2 refs; reads=0 writes=2; used at $F36C, F37A
|
||||
ZpF5 = $F5 ; 1 refs; reads=0 writes=1; used at $F370
|
||||
ZpF6 = $F6 ; 2 refs; reads=1 writes=1; used at $F372, F378
|
||||
ZpF7 = $F7 ; 1 refs; reads=0 writes=1; used at $F374
|
||||
ZpF8 = $F8 ; 2 refs; reads=1 writes=1; used at $F391, F427
|
||||
ZpF9 = $F9 ; 2 refs; reads=1 writes=1; used at $F396, F40F
|
||||
ZpFA = $FA ; 3 refs; reads=2 writes=1; used at $F39B, F45F, F46A
|
||||
ZpFB = $FB ; 2 refs; reads=1 writes=1; used at $F3A0, F451
|
||||
ZpFC = $FC ; 2 refs; reads=1 writes=1; used at $F3A5, F496
|
||||
ZpFD = $FD ; 2 refs; reads=1 writes=1; used at $F3AA, F47E
|
||||
ZpFE = $FE ; 2 refs; reads=1 writes=1; used at $F3AF, F4E9
|
||||
ZpFF = $FF ; 2 refs; reads=1 writes=1; used at $F3B4, F4D1
|
||||
Binary file not shown.
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,499 @@
|
||||
al 00F847 .BackgroundTileData
|
||||
al 00F836 .SubCF7CC_Block_20
|
||||
al 00F7FA .SubCF7CC_Block_13
|
||||
al 00F840 .SubCF7CC_Block_11
|
||||
al 00F81B .SubCF7CC_Block_9
|
||||
al 00F815 .SubCF7CC_Block_7
|
||||
al 00F80F .SubCF7CC_Block_6
|
||||
al 00F809 .SubCF7CC_Block_5
|
||||
al 00F803 .SubCF7CC_Block_2
|
||||
al 00F7FD .SubCF7CC_Block
|
||||
al 00F7CC .SubCF7CC
|
||||
al 00F7C6 .SubCF7CC_Block_4
|
||||
al 00F826 .SubCF7CC_Block_21
|
||||
al 00F7C0 .SubCF7CC_Block_3
|
||||
al 00F82F .SubCF7CC_Block_19
|
||||
al 00F7BA .SubCF7CC_Block_8
|
||||
al 00F7A8 .SubCF7CC_Block_12
|
||||
al 00F79C .SubCF6CF_Block_9
|
||||
al 00F791 .SubCF7CC_Block_10
|
||||
al 00F730 .SubCF6CF_Block_8
|
||||
al 00F6FE .SubCF6CF_Block_7
|
||||
al 00F703 .SubCF6CF_Block_5
|
||||
al 00F6E8 .SubCF6CF_Block_2
|
||||
al 00F6CF .SubCF6CF
|
||||
al 00F6B4 .SubCF6CF_Block_6
|
||||
al 00F6B3 .SubCF68C_Block
|
||||
al 00F6A2 .SubCF6CF_Block_4
|
||||
al 00F68C .SubCF68C
|
||||
al 00F688 .SubCF6CF_Block
|
||||
al 00F675 .SubCF6CF_Block_3
|
||||
al 00F654 .SubCF621_Block_8
|
||||
al 00F655 .SubCF621_Block_6
|
||||
al 00F639 .SubCF621_Block_4
|
||||
al 00F641 .SubCF621_Block_3
|
||||
al 00F669 .SubCF621_Block
|
||||
al 00F621 .SubCF621
|
||||
al 00F5FB .SubCF591_Block_5
|
||||
al 00F5DB .SubCF621_Block_5
|
||||
al 00F5DA .SubCF591_Block_6
|
||||
al 00F5BF .SubCF621_Block_2
|
||||
al 00F5A8 .SubCF591_Block_3
|
||||
al 00F59A .SubCF591_Block_2
|
||||
al 00F5A2 .SubCF591_Block
|
||||
al 00F591 .SubCF591
|
||||
al 00F581 .SubCF581
|
||||
al 00F58A .SubCF56C_Block
|
||||
al 00F56C .SubCF56C
|
||||
al 00F564 .SubCF564
|
||||
al 00F563 .SubCF544_Block
|
||||
al 00F552 .SubCF564_Block_2
|
||||
al 00F544 .SubCF544
|
||||
al 00F541 .SubCF51C_Block_4
|
||||
al 00F536 .SubCF51C_Block_2
|
||||
al 00F52A .SubCF51C_Block
|
||||
al 00F51C .SubCF51C
|
||||
al 00F501 .SubCF40F_Block_12
|
||||
al 00F4D1 .SubCF40F_Block_10
|
||||
al 00F477 .SubCF40F_Block_8
|
||||
al 00F475 .SubCF40F_Block_7
|
||||
al 00F46C .SubCF40F_Block_6
|
||||
al 00F47E .SubCF40F_Block_5
|
||||
al 00F443 .SubCF40F_Block_3
|
||||
al 00F451 .SubCF40F_Block_2
|
||||
al 00F40F .SubCF40F
|
||||
al 00F3D0 .SubCF3D0
|
||||
al 00F383 .SubCF383
|
||||
al 00F378 .SubCF36A_Block
|
||||
al 00F36A .SubCF36A
|
||||
al 00F366 .SubCF366
|
||||
al 00F362 .SubCF362
|
||||
al 00F36C .SubCF366_Block
|
||||
al 00F35E .SubCF35E
|
||||
al 00F225 .FontData
|
||||
al 00F1E5 .FrameData
|
||||
al 00EBD5 .SoundData
|
||||
al 00EB65 .SpriteAnimData2
|
||||
al 00EAF5 .SpriteAnimData
|
||||
al 00E955 .SpriteDataTable10
|
||||
al 00E925 .SpriteDataTable7
|
||||
al 00E8D5 .SpriteDataTable6
|
||||
al 00E895 .SpriteDataTable9
|
||||
al 00E895 .SpriteDataTable8
|
||||
al 00E725 .SpriteDataTable3
|
||||
al 00E715 .SpriteDataTable4
|
||||
al 00E6F5 .SpriteDataTable5
|
||||
al 00E615 .SpritesTable
|
||||
al 00E5D5 .ControllerTable
|
||||
al 00E5C5 .GameInitData
|
||||
al 00E5C5 .SpritePosTable
|
||||
al 00E525 .SpriteOffsetTable
|
||||
al 00DCB5 .SpritePtrTable
|
||||
al 00DAC5 .LevelData
|
||||
al 00DAC2 .SubCD9F6_Block_2
|
||||
al 00DAC0 .SubCD9F6_Block
|
||||
al 00DAB5 .SubCDAB5
|
||||
al 00D9F6 .SubCD9F6
|
||||
al 00D9F5 .SubCD9E2_Block_2
|
||||
al 00D9AB .SubCD991_Block_2
|
||||
al 00D993 .SubCD991_Block_3
|
||||
al 00D991 .SubCD991
|
||||
al 00D9D5 .SubCD977_Block_2
|
||||
al 00D9CE .SubCD977_Block
|
||||
al 00D9E2 .SubCD9E2
|
||||
al 00D970 .SubCD959_Block_2
|
||||
al 00D95B .SubCD959_Block_3
|
||||
al 00D959 .SubCD959
|
||||
al 00D9C7 .SubCD93A_Block_3
|
||||
al 00D9BA .SubCD93A_Block_2
|
||||
al 00D9B3 .SubCD93A_Block
|
||||
al 00D977 .SubCD977
|
||||
al 00D93A .SubCD93A
|
||||
al 00D937 .SubCD907_Block_3
|
||||
al 00D921 .SubCD907_Block
|
||||
al 00D91B .SubCD907_Block_2
|
||||
al 00D907 .SubCD907
|
||||
al 00D8FA .SubCD8DB_Block
|
||||
al 00D8E9 .SubCD8DB_Block_2
|
||||
al 00D8DB .SubCD8DB
|
||||
al 00D8CC .SubCD8AE_Block_2
|
||||
al 00D8BB .SubCD8AE_Block
|
||||
al 00D8B0 .SubCD8AE_Block_3
|
||||
al 00D8AE .SubCD8AE
|
||||
al 00D82F .SubCD82F
|
||||
al 00D82B .SubCD81B_Block
|
||||
al 00D81B .SubCD81B
|
||||
al 00D81A .SubCD805_Block
|
||||
al 00D805 .SubCD805
|
||||
al 00D7F9 .SubCD7F9
|
||||
al 00D7E0 .SubCD7CE_Block_2
|
||||
al 00D7DC .SubCD7CE_Block
|
||||
al 00D7D4 .SubCD7F9_Block
|
||||
al 00D7CE .SubCD7CE
|
||||
al 00D7C5 .SubCD7C5
|
||||
al 00D7BE .SubCD652_Block_15
|
||||
al 00D7B5 .SubCD652_Block_14
|
||||
al 00D7A7 .SubCD652_Block_13
|
||||
al 00D78F .SubCD78F
|
||||
al 00D73E .SubCD652_Block_12
|
||||
al 00D74D .SubCD652_Block_10
|
||||
al 00D700 .SubCD652_Block_8
|
||||
al 00D6FD .SubCD652_Block_7
|
||||
al 00D6EE .SubCD652_Block_6
|
||||
al 00D6EC .SubCD652_Block_5
|
||||
al 00D6E0 .SubCD652_Block_4
|
||||
al 00D6D5 .SubCD6D5
|
||||
al 00D697 .SubCD652_Block_2
|
||||
al 00D6D4 .SubCD652_Block
|
||||
al 00D678 .SubCD678
|
||||
al 00D652 .SubCD652
|
||||
al 00D646 .SubCD5EE_Block_9
|
||||
al 00D640 .SubCD5EE_Block_8
|
||||
al 00D651 .SubCD5EE_Block_10
|
||||
al 00D627 .SubCD5EE_Block_5
|
||||
al 00D64B .SubCD5EE_Block_3
|
||||
al 00D612 .SubCD5EE_Block_2
|
||||
al 00D600 .SubCD5EE_Block
|
||||
al 00D5EE .SubCD5EE
|
||||
al 00D5D2 .SubCD5D2
|
||||
al 00D56A .SpriteDataTable2
|
||||
al 00D54B .SubCD54B
|
||||
al 00D53C .SubCD53C
|
||||
al 00D52C .SubCD52C
|
||||
al 00D546 .SubCD53C_Block_2
|
||||
al 00D528 .SubCD528
|
||||
al 00D521 .SubCD521
|
||||
al 00D515 .SubCD515
|
||||
al 00D509 .SubCD509
|
||||
al 00D523 .SubCD515_Block_3
|
||||
al 00D505 .SubCD505
|
||||
al 00D4FE .SubCD4FE
|
||||
al 00D4F6 .SubCD4F6
|
||||
al 00D4EE .SubCD4EE
|
||||
al 00D4EA .SubCD4EA
|
||||
al 00D4E6 .SubCD4E6
|
||||
al 00D500 .SubCD4F6_Block_2
|
||||
al 00D4E2 .SubCD4E2
|
||||
al 00D4D4 .SubCD46C_Block_6
|
||||
al 00D4C0 .SubCD46C_Block_5
|
||||
al 00D4CF .SubCD4CF
|
||||
al 00D4A1 .SubCD46C_Block_4
|
||||
al 00D4AB .SubCD46C_Block_3
|
||||
al 00D485 .SubCD46C_Block_2
|
||||
al 00D4BC .SubCD46C_Block
|
||||
al 00D46C .SubCD46C
|
||||
al 00D464 .SubCD464
|
||||
al 00D44C .SubCD428_Block_5
|
||||
al 00D446 .SubCD446
|
||||
al 00D461 .SubCD428_Block_3
|
||||
al 00D428 .SubCD428
|
||||
al 00D413 .SubCD3DF_Block_8
|
||||
al 00D40B .SubCD3DF_Block_5
|
||||
al 00D409 .SubCD3DF_Block_4
|
||||
al 00D3FB .SubCD3DF_Block_2
|
||||
al 00D3DF .SubCD3DF
|
||||
al 00D427 .SubCD428_Block_4
|
||||
al 00D3D2 .SubCD3D2
|
||||
al 00D2A4 .DuckDataTable
|
||||
al 00D292 .SubCD292
|
||||
al 00D28A .SubCD28A
|
||||
al 00D26A .SubCD26A
|
||||
al 00D268 .SubCD259_Block
|
||||
al 00D266 .SubCD266
|
||||
al 00D259 .SubCD259
|
||||
al 00D256 .SubCD222_Block_3
|
||||
al 00D235 .SubCD28A_Block
|
||||
al 00D246 .SubCD222_Block_2
|
||||
al 00D270 .SubCD222_Block
|
||||
al 00D222 .SubCD222
|
||||
al 00D207 .SubCD160_Block_13
|
||||
al 00D1E6 .SubCD160_Block_12
|
||||
al 00D1F4 .SubCD160_Block_10
|
||||
al 00D1CD .SubCD160_Block_11
|
||||
al 00D1DD .SubCD160_Block_9
|
||||
al 00D1C7 .SubCD160_Block_7
|
||||
al 00D1B5 .SubCD160_Block_6
|
||||
al 00D1CA .SubCD160_Block_5
|
||||
al 00D19F .SubCD160_Block_4
|
||||
al 00D168 .SubCD160_Block_2
|
||||
al 00D164 .SubCD160_Block_3
|
||||
al 00D169 .SubCD160_Block
|
||||
al 00D160 .SubCD160
|
||||
al 00D153 .SubCD131_Block_3
|
||||
al 00D140 .SubCD131_Block_2
|
||||
al 00D13C .SubCD131_Block_6
|
||||
al 00D141 .SubCD131_Block
|
||||
al 00D131 .SubCD131
|
||||
al 00D12B .SubCD12B
|
||||
al 00D12A .SubCD117_Block_2
|
||||
al 00D123 .SubCD117_Block
|
||||
al 00D117 .SubCD117
|
||||
al 00D114 .SubCD114
|
||||
al 00D10E .SubCD10E
|
||||
al 00D0FE .SubCD08F_Block_5
|
||||
al 00D0E9 .SubCD08F_Block_4
|
||||
al 00D0B9 .SubCD08F_Block_3
|
||||
al 00D0A0 .SubCD08F_Block_2
|
||||
al 00D08F .SubCD08F
|
||||
al 00D08E .SubCD08E
|
||||
al 00D08C .SubCD044_Block_5
|
||||
al 00D06D .SubCD044_Block_2
|
||||
al 00D04F .SubCD044_Block
|
||||
al 00D044 .SubCD044
|
||||
al 00D042 .SubCD042
|
||||
al 00D050 .SubCD01B_Block
|
||||
al 00D038 .SubCD08F_Block
|
||||
al 00D01B .SubCD01B
|
||||
al 00D001 .SubCCFF9_Block
|
||||
al 00CFF9 .SubCCFF9
|
||||
al 00CFD3 .SubCCFC5_Block_2
|
||||
al 00CFF8 .SubCCFC5_Block
|
||||
al 00CFC5 .SubCCFC5
|
||||
al 00CFBA .SubCCFBA
|
||||
al 00CFB9 .SubCCF96_Block
|
||||
al 00CF96 .SubCCF96
|
||||
al 00CF78 .SubCCF39_Block_5
|
||||
al 00CF7F .SubCCF39_Block_3
|
||||
al 00CF56 .SubCCF56
|
||||
al 00CF39 .SubCCF39
|
||||
al 00CF36 .SubCCF16_Block_2
|
||||
al 00CF33 .SubCCF16_Block
|
||||
al 00CF2A .SubCCF2A
|
||||
al 00CF16 .SubCCF16
|
||||
al 00CF0B .SubCCF0B
|
||||
al 00CEE1 .SubCCEC9_Block_2
|
||||
al 00CEC9 .SubCCEC9
|
||||
al 00CEC4 .SubCCE4D_Block_11
|
||||
al 00CEB5 .SubCCE4D_Block_10
|
||||
al 00CEA8 .SubCCE4D_Block_9
|
||||
al 00CE9C .SubCCE4D_Block_8
|
||||
al 00CED4 .SubCCE4D_Block_7
|
||||
al 00CE8C .SubCCE4D_Block_6
|
||||
al 00CEAD .SubCCE4D_Block_4
|
||||
al 00CEE6 .SubCCEC9_Block
|
||||
al 00CE72 .SubCCE4D_Block_2
|
||||
al 00CE56 .SubCCE4D_Block
|
||||
al 00CE4D .SubCCE4D
|
||||
al 00CE2E .SubCCE2E
|
||||
al 00CE20 .SubCCE20
|
||||
al 00CE29 .SubCCD44_Block
|
||||
al 00CE18 .SubCCE18
|
||||
al 00CD44 .SubCCD44
|
||||
al 00CD3C .SubCCD3C
|
||||
al 00CD05 .SubCCCA9_Block
|
||||
al 00CCFD .SubCCCFD
|
||||
al 00CCA9 .SubCCCA9
|
||||
al 00CCA8 .SubCCC94_Block
|
||||
al 00CC94 .SubCCC94
|
||||
al 00CC8B .SubCCC8B
|
||||
al 00CC4C .SubCCBD9_Block_12
|
||||
al 00CC3D .SubCCC3D
|
||||
al 00CC16 .SubCCBD9_Block_9
|
||||
al 00CC14 .SubCCBD9_Block_7
|
||||
al 00CBFB .SubCCBD9_Block_5
|
||||
al 00CBF9 .SubCCBD9_Block_3
|
||||
al 00CBE6 .SubCCBD9_Block
|
||||
al 00CBD9 .SubCCBD9
|
||||
al 00CBD7 .SubCCBC3_Block_2
|
||||
al 00CBD1 .SubCCBC3_Block
|
||||
al 00CBC6 .SubCCBD9_Block_10
|
||||
al 00CBC0 .SubCCB77_Block_10
|
||||
al 00CBA8 .SubCCB77_Block_7
|
||||
al 00CBB0 .SubCCB77_Block_5
|
||||
al 00CBBC .SubCCB77_Block_6
|
||||
al 00CBA2 .SubCCB77_Block
|
||||
al 00CB77 .SubCCB77
|
||||
al 00CB70 .SubCCB59_Block
|
||||
al 00CBC3 .SubCCBC3
|
||||
al 00CB59 .SubCCB59
|
||||
al 00CB56 .SubCCB56
|
||||
al 00CB52 .SubCCB52
|
||||
al 00CB37 .SubCCAED_Block_10
|
||||
al 00CB29 .SubCCAED_Block_6
|
||||
al 00CB50 .SubCCAED_Block_17
|
||||
al 00CB45 .SubCCAED_Block_15
|
||||
al 00CB4B .SubCCAED_Block_14
|
||||
al 00CB1B .SubCCAED_Block_2
|
||||
al 00CB06 .SubCCAED_Block
|
||||
al 00CAED .SubCCAED
|
||||
al 00CADB .SubCCAA5_Block_6
|
||||
al 00CACA .SubCCAA5_Block_5
|
||||
al 00CABF .SubCCAA5_Block_4
|
||||
al 00CAA5 .SubCCAA5
|
||||
al 00CAE9 .SubCC9D0_Block_24
|
||||
al 00CAE3 .SubCC9D0_Block_23
|
||||
al 00CAD7 .SubCCAD7
|
||||
al 00CAD1 .SubCC9D0_Block_22
|
||||
al 00CA8D .SubCC9D0_Block_21
|
||||
al 00CAA8 .SubCC9D0_Block_20
|
||||
al 00CA8A .SubCCAA5_Block
|
||||
al 00CA5F .SubCC9D0_Block_17
|
||||
al 00CA66 .SubCC9D0_Block_14
|
||||
al 00CA70 .SubCC9D0_Block_16
|
||||
al 00CA53 .SubCC9D0_Block_11
|
||||
al 00CA42 .SubCC9D0_Block_12
|
||||
al 00CA45 .SubCC9D0_Block_10
|
||||
al 00CA3E .SubCC9D0_Block_9
|
||||
al 00CA29 .SubCC9D0_Block_7
|
||||
al 00CA22 .SubCC9D0_Block_6
|
||||
al 00CA19 .SubCCA19
|
||||
al 00CA0A .SubCCA0A
|
||||
al 00CA08 .SubCC9D0_Block_5
|
||||
al 00CA0E .SubCC9D0_Block_3
|
||||
al 00C9E2 .SubCC9D0_Block_2
|
||||
al 00C9D0 .SubCC9D0
|
||||
al 00C9C9 .SubCC996_Block_5
|
||||
al 00C9B2 .SubCC996_Block_4
|
||||
al 00C9B9 .SubCC996_Block
|
||||
al 00C996 .SubCC996
|
||||
al 00C992 .SubCC902_Block_8
|
||||
al 00C980 .SubCC902_Block_7
|
||||
al 00C955 .SubCC902_Block_5
|
||||
al 00C958 .SubCC902_Block_6
|
||||
al 00C946 .SubCC902_Block_3
|
||||
al 00C932 .SubCC932
|
||||
al 00C931 .SubCC902_Block_2
|
||||
al 00C902 .SubCC902
|
||||
al 00C8E5 .SubCC890_Block_10
|
||||
al 00C8FB .SubCC890_Block_6
|
||||
al 00C8C4 .SubCC890_Block_5
|
||||
al 00C901 .SubCC890_Block_11
|
||||
al 00C8B4 .SubCC890_Block_2
|
||||
al 00C8A2 .SubCC890_Block
|
||||
al 00C890 .SubCC890
|
||||
al 00C86E .SubCC86E
|
||||
al 00C839 .SubCC839
|
||||
al 00C818 .SubCC7FB_Block_3
|
||||
al 00C81C .SubCC7FB_Block_2
|
||||
al 00C7FB .SubCC7FB
|
||||
al 00C72C .SpriteDataTable
|
||||
al 00C71D .SubCC71D
|
||||
al 00C70C .SubCC6F5_Block_3
|
||||
al 00C70A .SubCC6F5_Block_2
|
||||
al 00C701 .SubCC6F5_Block_4
|
||||
al 00C6F5 .SubCC6F5
|
||||
al 00C6E2 .SubCC6C4_Block_3
|
||||
al 00C6DA .SubCC6C4_Block_4
|
||||
al 00C6D6 .SubCC6C4_Block_2
|
||||
al 00C6C4 .SubCC6C4
|
||||
al 00C69E .SubCC68E_Block_2
|
||||
al 00C694 .SubCC6F5_Block
|
||||
al 00C695 .SubCC68E_Block
|
||||
al 00C68E .SubCC68E
|
||||
al 00C67C .SubCC67C
|
||||
al 00C659 .SubCC655_Block
|
||||
al 00C655 .SubCC655
|
||||
al 00C64F .SubCC61E_Block_3
|
||||
al 00C64B .SubCC64B
|
||||
al 00C645 .SubCC61E_Block_2
|
||||
al 00C641 .SubCC641
|
||||
al 00C62E .SubCC62E
|
||||
al 00C62D .SubCC61E_Block
|
||||
al 00C625 .SubCC625
|
||||
al 00C61E .SubCC61E
|
||||
al 00C617 .SubCC617
|
||||
al 00C60B .SubCC607_Block
|
||||
al 00C607 .SubCC607
|
||||
al 00C5FB .SubCC5F7_Block
|
||||
al 00C5F7 .SubCC5F7
|
||||
al 00C5EE .SubCC5EE
|
||||
al 00C5E8 .SubCC5EE_Block
|
||||
al 00C5E1 .SubCC5E1
|
||||
al 00C5DC .SubCC5D9_Block
|
||||
al 00C5D9 .SubCC5D9
|
||||
al 00C5AA .SpriteAnimTable2
|
||||
al 00C59A .SubCC588_Block
|
||||
al 00C588 .SubCC588
|
||||
al 00C511 .SpriteAnimTable
|
||||
al 00C502 .SubCC502
|
||||
al 00C4FF .SubCC4E0_Block_2
|
||||
al 00C4F3 .SubCC4E0_Block
|
||||
al 00C4E0 .SubCC4E0
|
||||
al 00C4D7 .SubCC4BF_Block_3
|
||||
al 00C4DB .SubCC4BF_Block_2
|
||||
al 00C4CA .SubCC4BF_Block
|
||||
al 00C4BF .SubCC4BF
|
||||
al 00C4BE .SubCC437_Block_7
|
||||
al 00C4A2 .SubCC437_Block_6
|
||||
al 00C49C .SubCC437_Block_5
|
||||
al 00C447 .SubCC437_Block_3
|
||||
al 00C46E .SubCC437_Block_2
|
||||
al 00C46A .SubCC437_Block
|
||||
al 00C437 .SubCC437
|
||||
al 00C436 .SubCC426_Block
|
||||
al 00C426 .SubCC426
|
||||
al 00C3FC .SubCC3CE_Block
|
||||
al 00C3E5 .SubCC3CE_Block_2
|
||||
al 00C3CE .SubCC3CE
|
||||
al 00C3C1 .SubCC3C1
|
||||
al 00C3B8 .SubCC3B8
|
||||
al 00C3A4 .SubCC35E_Block_3
|
||||
al 00C3A1 .SubCC35E_Block_4
|
||||
al 00C39E .SubCC35E_Block_2
|
||||
al 00C392 .SubCC35E_Block
|
||||
al 00C37C .SubCC3B8_Block
|
||||
al 00C35E .SubCC35E
|
||||
al 00C35A .SubCC348_Block_2
|
||||
al 00C354 .SubCC348_Block_3
|
||||
al 00C348 .SubCC348
|
||||
al 00C341 .SubCC303_Block_4
|
||||
al 00C328 .SubCC303_Block_3
|
||||
al 00C312 .SubCC303_Block
|
||||
al 00C303 .SubCC303
|
||||
al 00C2EA .UpdateController4_206_Block_3
|
||||
al 00C2DB .UpdateController4_206_Block_4
|
||||
al 00C2F4 .UpdateController4_206_Block_2
|
||||
al 00C302 .UpdateController4_206_Block
|
||||
al 00C2BF .UpdateController4_206
|
||||
al 00C2B9 .UpdateController3
|
||||
al 00C2BE .UpdateController2_Block_3
|
||||
al 00C2B6 .UpdateController2_Block_2
|
||||
al 00C293 .UpdateController2_Block
|
||||
al 00C291 .UpdateController2
|
||||
al 00C284 .UpdateController
|
||||
al 00C277 .UpdateSprites3_Block_4
|
||||
al 00C283 .UpdateSprites3_Block_3
|
||||
al 00C263 .UpdateSprites3
|
||||
al 00C25B .UpdateSprites3_Block_2
|
||||
al 00C262 .UpdateSprites3_Block
|
||||
al 00C249 .UpdateSprites2_3
|
||||
al 00C23F .SubCC23B_Block
|
||||
al 00C23B .SubCC23B
|
||||
al 00C232 .UpdateSprites2_1
|
||||
al 00C22B .UpdateSprites_4
|
||||
al 00C222 .UpdateGameState6_3_Block
|
||||
al 00C20B .UpdateGameState_Block_2
|
||||
al 00C1EA .UpdateGameState6_1
|
||||
al 00C1C8 .UpdateGameState_Block
|
||||
al 00C217 .UpdateGameState6_3
|
||||
al 00C1BB .SubCC14E_Block_8
|
||||
al 00C1B2 .UpdateGameState
|
||||
al 00C1A3 .SubCC14E_Block_7
|
||||
al 00C1B7 .SubCC14E_Block_6
|
||||
al 00C1A9 .SubCC14E_Block_5
|
||||
al 00C190 .SubCC14E_Block_4
|
||||
al 00C189 .SubCC14E_Block_3
|
||||
al 00C199 .SubCC14E_Block_2
|
||||
al 00C176 .SubCC14E_Block
|
||||
al 00C18D .UpdateGameState5
|
||||
al 00C14E .SubCC14E
|
||||
al 00C12C .GameState3_1_Data
|
||||
al 00C112 .SubCC112
|
||||
al 00C0E1 .InitializeDuckDataLoop
|
||||
al 00C0DF .InitializeRoundData
|
||||
al 00C0FF .UpdateZp09_2
|
||||
al 00C123 .UpdateGameState3_1
|
||||
al 00C11E .UpdateGameState2
|
||||
al 00C0BA .TitleScreenLoop
|
||||
al 00C0B3 .GameModeDispatcher
|
||||
al 00C0A6 .NmiFrameEnd
|
||||
al 00C086 .NmiHandler
|
||||
al 00C06E .GameplayFrame
|
||||
al 00C06B .GameModeCheck_3
|
||||
al 00C061 .MainGameLoop_1
|
||||
al 00C07C .MainGameLoop_3
|
||||
al 00C056 .InitVariables
|
||||
al 00C02C .InitGameState
|
||||
al 00C01E .ClearZeropage
|
||||
al 00C002 .WaitVBlank
|
||||
al 00C000 .Reset
|
||||
@@ -0,0 +1,32 @@
|
||||
Modules list:
|
||||
-------------
|
||||
header.o:
|
||||
HEADER Offs=000000 Size=000010 Align=00001 Fill=0000
|
||||
prg.o:
|
||||
PRG Offs=000000 Size=004000 Align=00001 Fill=0000
|
||||
chr.o:
|
||||
CHR Offs=000000 Size=002000 Align=00001 Fill=0000
|
||||
|
||||
|
||||
Segment list:
|
||||
-------------
|
||||
Name Start End Size Align
|
||||
----------------------------------------------------
|
||||
CHR 000000 001FFF 002000 00001
|
||||
HEADER 000000 00000F 000010 00001
|
||||
PRG 00C000 00FFFF 004000 00001
|
||||
|
||||
|
||||
Exports list by name:
|
||||
---------------------
|
||||
|
||||
|
||||
|
||||
Exports list by value:
|
||||
----------------------
|
||||
|
||||
|
||||
|
||||
Imports list:
|
||||
-------------
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Symlink
+1
@@ -0,0 +1 @@
|
||||
../Duck Hunt (JUE).nes
|
||||
@@ -0,0 +1,242 @@
|
||||
59 PtrHi
|
||||
61 PtrLo
|
||||
73 PtrLo
|
||||
76 PtrHi
|
||||
106 GameState
|
||||
254 Temp
|
||||
290 GameState
|
||||
293 GameState
|
||||
294 Temp
|
||||
297 Temp
|
||||
310 GameState
|
||||
313 GameState
|
||||
315 Temp
|
||||
355 Temp
|
||||
403 Temp
|
||||
652 PtrHi
|
||||
654 PtrLo
|
||||
695 SprData
|
||||
704 SprData
|
||||
715 PtrLo
|
||||
716 PtrHi
|
||||
764 Temp
|
||||
815 PtrLo
|
||||
817 PtrLo
|
||||
878 PtrLo
|
||||
880 PtrHi
|
||||
900 PtrLo
|
||||
903 PtrLo
|
||||
917 PtrLo
|
||||
932 PtrLo
|
||||
977 PtrHi
|
||||
985 PtrLo
|
||||
1080 SndChannel
|
||||
1082 SndNote
|
||||
1083 SndChannel
|
||||
1086 SndChannel
|
||||
1087 SndNote
|
||||
1088 SndChannel
|
||||
1091 SndChannel
|
||||
1104 PtrLo
|
||||
1107 PtrLo
|
||||
1166 PtrLo
|
||||
1172 PtrLo
|
||||
1173 PtrLo
|
||||
1175 PtrHi
|
||||
1176 PtrHi
|
||||
1189 PtrLo
|
||||
1241 PtrHi
|
||||
1244 PtrLo
|
||||
1270 PtrLo
|
||||
1271 PtrLo
|
||||
1273 PtrHi
|
||||
1274 PtrHi
|
||||
1459 PtrHi
|
||||
1517 PtrHi
|
||||
1518 PtrHi
|
||||
1521 PtrHi
|
||||
1552 PtrHi
|
||||
1566 PtrHi
|
||||
1656 GameState
|
||||
1668 GameState
|
||||
1682 GameState
|
||||
1753 PtrLo
|
||||
1754 PtrHi
|
||||
1783 Temp
|
||||
1808 Temp
|
||||
1834 PtrLo
|
||||
1914 Ptr2Lo
|
||||
2021 Ptr2Lo
|
||||
2033 Ptr2Lo
|
||||
2126 PtrLo
|
||||
2127 PtrHi
|
||||
2213 SprData
|
||||
2215 Temp
|
||||
2335 SprData
|
||||
2377 CtrlState
|
||||
2565 Ptr2Lo
|
||||
2568 Ptr2Lo
|
||||
2668 CtrlState
|
||||
2752 CtrlTimer
|
||||
2846 CtrlTimer
|
||||
2933 CtrlTimer
|
||||
2946 CtrlTimer
|
||||
2997 Ptr2Lo
|
||||
2998 SndTemp
|
||||
3002 Ptr2Lo
|
||||
3003 Ptr2Lo
|
||||
3020 Ptr2Lo
|
||||
3022 SndTemp
|
||||
3159 CtrlState
|
||||
3297 CtrlTimer
|
||||
3353 CtrlTimer
|
||||
3372 CtrlTimer
|
||||
3469 CtrlState
|
||||
3511 CtrlState
|
||||
3550 CtrlState
|
||||
3581 CtrlState
|
||||
3623 Temp
|
||||
3636 CtrlState
|
||||
3708 CtrlState
|
||||
3732 CtrlTimer
|
||||
3733 CtrlTimer
|
||||
3788 CtrlTimer
|
||||
3789 CtrlTimer
|
||||
3895 CtrlTimer
|
||||
3916 CtrlState
|
||||
3956 CtrlTimer
|
||||
4039 SprData
|
||||
4150 CtrlTimer
|
||||
4176 DataPtrLo
|
||||
4205 DataPtrLo
|
||||
4261 CtrlTimer
|
||||
4375 DataPtrLo
|
||||
4377 DataPtrLo
|
||||
4380 DataPtrLo
|
||||
4382 DataPtrLo
|
||||
4387 Ptr2Lo
|
||||
4391 Ptr2Lo
|
||||
4402 DataPtrLo
|
||||
4404 DataPtrLo
|
||||
4424 DataPtrLo
|
||||
4426 DataPtrLo
|
||||
4439 CtrlTimer
|
||||
4463 SndTemp
|
||||
4467 SndTemp
|
||||
4639 SprData
|
||||
4663 SprData
|
||||
4754 SprData
|
||||
4770 GameState
|
||||
4772 GameState
|
||||
4788 GameState
|
||||
4789 GameState
|
||||
4830 SprData
|
||||
4901 SprData
|
||||
4964 Ptr2Lo
|
||||
5195 SndChannel
|
||||
5197 SndNote
|
||||
5199 SndChannel
|
||||
5200 SndTemp
|
||||
5213 SndChannel
|
||||
5217 SndTemp
|
||||
5255 Ptr2Lo
|
||||
5300 SndChannel
|
||||
5545 SprData
|
||||
5549 Temp
|
||||
5681 Temp
|
||||
5717 CtrlState
|
||||
5765 Ptr2Lo
|
||||
5768 Ptr2Lo
|
||||
5791 CtrlState
|
||||
5897 CtrlTimer
|
||||
5900 CtrlTimer
|
||||
5906 Ptr2Lo
|
||||
5929 Ptr2Lo
|
||||
5946 CtrlState
|
||||
5966 DataPtrLo
|
||||
6030 CtrlState
|
||||
6044 Ptr2Lo
|
||||
6045 DataPtrLo
|
||||
6105 Ptr2Lo
|
||||
6107 DataPtrLo
|
||||
6195 SndChannel
|
||||
6196 SndNote
|
||||
6226 SndChannel
|
||||
6229 SndNote
|
||||
6248 CtrlTimer
|
||||
6301 SndNote
|
||||
6318 SndNote
|
||||
6341 VramPtrLo
|
||||
6342 VramPtrHi
|
||||
6357 VramPtrLo
|
||||
6359 VramPtrLo
|
||||
6360 VramPtrHi
|
||||
6362 VramPtrHi
|
||||
6374 VramPtrHi
|
||||
6375 VramPtrLo
|
||||
6378 VramPtrLo
|
||||
6379 VramPtrHi
|
||||
6391 VramPtrLo
|
||||
6392 VramPtrHi
|
||||
6397 VramPtrLo
|
||||
6400 VramPtrHi
|
||||
6413 VramPtrLo
|
||||
6414 VramPtrHi
|
||||
6426 VramPtrLo
|
||||
6427 VramPtrHi
|
||||
6429 VramPtrLo
|
||||
6432 VramPtrHi
|
||||
6466 Ptr2Lo
|
||||
6467 SndTemp
|
||||
6536 Ptr2Lo
|
||||
6542 SndTemp
|
||||
6618 Ptr2Lo
|
||||
6619 SndTemp
|
||||
6660 Ptr2Lo
|
||||
6661 SndTemp
|
||||
6681 CtrlState
|
||||
7281 FrameCounter
|
||||
7722 SndChan
|
||||
7723 SndPtrHi
|
||||
7728 SndPtrLo
|
||||
7730 FrameCounter
|
||||
7758 SndChan
|
||||
7759 SndChan
|
||||
7762 SndPtrLo
|
||||
7763 SndPtrLo
|
||||
7764 SndPtrLo
|
||||
7765 SndPtrLo
|
||||
7782 SndPtrHi
|
||||
7785 SndPtrLo
|
||||
7788 SndPtrHi
|
||||
7789 SndPtrHi
|
||||
7794 FrameCounter
|
||||
7815 FrameCounter
|
||||
7849 FrameCounter
|
||||
7851 FrameCounter
|
||||
7898 FrameCounter
|
||||
7900 FrameCounter
|
||||
7917 FrameCounter
|
||||
7919 FrameCounter
|
||||
7932 FrameCounter
|
||||
7966 SndChan
|
||||
7967 FrameCounter
|
||||
7969 FrameCounter
|
||||
7991 SndChan
|
||||
7994 SndChan
|
||||
7995 SndChan
|
||||
7998 FrameCounter
|
||||
8000 FrameCounter
|
||||
8024 FrameCounter
|
||||
8046 SndPtrLo
|
||||
8047 SndPtrHi
|
||||
8049 FrameCounter
|
||||
8051 FrameCounter
|
||||
8075 SndPtrLo
|
||||
8076 SndPtrLo
|
||||
8080 SndPtrLo
|
||||
8081 SndPtrHi
|
||||
8086 SndPtrHi
|
||||
8087 SndPtrHi
|
||||
8092 FrameCounter
|
||||
8094 FrameCounter
|
||||
|
@@ -0,0 +1,108 @@
|
||||
; =============================================================================
|
||||
; Nintendo Entertainment System hardware symbols
|
||||
; =============================================================================
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; PPU registers
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
PPUCTRL = $2000
|
||||
PPUMASK = $2001
|
||||
PPUSTATUS = $2002
|
||||
OAMADDR = $2003
|
||||
OAMDATA = $2004
|
||||
PPUSCROLL = $2005
|
||||
PPUADDR = $2006
|
||||
PPUDATA = $2007
|
||||
|
||||
OAMDMA = $4014
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; Controller ports
|
||||
;
|
||||
; $4016:
|
||||
; Write: controller strobe
|
||||
; Read: controller port 1
|
||||
;
|
||||
; $4017:
|
||||
; Read: controller port 2
|
||||
; Write: APU frame counter
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
JOY1 = $4016
|
||||
JOY2 = $4017
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU pulse channel 1
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUPULSE1CTRL = $4000
|
||||
APUPULSE1SWEEP = $4001
|
||||
APUPULSE1TIMERLO = $4002
|
||||
APUPULSE1TIMERHI = $4003
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU pulse channel 2
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUPULSE2CTRL = $4004
|
||||
APUPULSE2SWEEP = $4005
|
||||
APUPULSE2TIMERLO = $4006
|
||||
APUPULSE2TIMERHI = $4007
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU triangle channel
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUTRIANGLECTRL = $4008
|
||||
APUTRIANGLETIMERLO = $400A
|
||||
APUTRIANGLETIMERHI = $400B
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU noise channel
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUNOISECTRL = $400C
|
||||
APUNOISEPERIOD = $400E
|
||||
APUNOISELENGTH = $400F
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU DMC channel
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUDMCCTRL = $4010
|
||||
APUDMCDIRECT = $4011
|
||||
APUDMCADDR = $4012
|
||||
APUDMCLENGTH = $4013
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU status and frame counter
|
||||
;
|
||||
; $4015:
|
||||
; Write: enable or disable the five APU channels
|
||||
; Read: channel and interrupt status
|
||||
;
|
||||
; $4017:
|
||||
; Write: APU frame-counter mode and IRQ inhibit
|
||||
; Read: controller port 2
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUSTATUS = $4015
|
||||
APUFRAMECOUNTER = $4017
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; Controller masks
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
PAD_RIGHT = $01
|
||||
PAD_LEFT = $02
|
||||
PAD_DOWN = $04
|
||||
PAD_UP = $08
|
||||
PAD_START = $10
|
||||
PAD_SELECT = $20
|
||||
PAD_B = $40
|
||||
PAD_A = $80
|
||||
|
||||
PAD_HORIZONTAL = PAD_LEFT | PAD_RIGHT
|
||||
PAD_VERTICAL = PAD_UP | PAD_DOWN
|
||||
PAD_DPAD = PAD_HORIZONTAL | PAD_VERTICAL
|
||||
Reference in new issue
Block a user