Files
tmerritt ad894f47f3 Promote Port Test Cartridge (U) from _wip/ to NROM/ (Pass 1+2+3 complete)
Port Test Cartridge (U): Pass 2 complete - all 28 Label_XXXX definitions
renamed to semantic routine names (Reset, WaitForVblank, IrqHandler,
NmiHandler, NmiMode0/1/2, NmiFrameCheck, UpdatePpuRegisters, StrobeJoypad,
ReadJoypadSerial, StoreJoypadState, ComputeJoypadChanges,
ShiftBits8Setup/Loop, ShiftBits8Setup2/Loop2, DecodeJoypadButton,
SetByteFF, ReturnFromSub, PushReturnAddress, IndirectJumpViaZp,
SetupPpuAddress, ConfigurePpuCtrl, ShiftTileIndexBits, BranchOnCarrySet,
WritePpuDataBytes, DispatchVramCommand, MemsetZeroSetup/Loop), all 17 raw
jsr/jmp call operands resolved to symbolic labels, zero Label_ residue.
Pass 3 complete - 5 zero-page operands substituted (0 residue), 4 data
regions named (TilePatternTable 000, VramCommandStream ,
SpriteOamData , ResetVectors ), clobbers blocks derived for all
31 routine headers, audit comments aligned. make stays byte-identical.

git mv from _wip/NROM/ to NROM/Port Test Cartridge (U)/; root README.md
inventory updated (row 42 main table, row 55 status table); WIP.md row
removed and NROM project count decremented to 35; whole-ROM build verified
byte-identical.

Promote 10-Yard Fight (U) from _wip/ to NROM/ (Pass 1+2+3 complete)

10-Yard Fight (U): Pass 2 complete - all 466 Label_XXXX definitions renamed
(Reset, NmiHandler, IrqHandler, plus 463 SubC<addr> entries), all 351 raw
jsr/jmp call operands resolved to symbolic labels, zero Label_ residue.
Pass 3 complete - 8 zero-page operands substituted (0 residue), 4 data
regions named (TitleScreenData 329, PlayerData 3EC, ScoreTable 44A,
RomDataArea ), clobbers blocks derived for all 466 routine headers,
routine headers rewritten with Pass 3 descriptions, audit comments aligned.
make stays byte-identical.

git mv from _wip/NROM/ to NROM/10-Yard Fight (U)/; root README.md inventory
updated (row 43 main table, row 56 status table); WIP.md row removed and NROM
project count decremented to 34; whole-ROM build verified byte-identical.

Promote Chubby Cherub (U) from _wip/ to NROM/ (Pass 1+2+3 complete)

Chubby Cherub (U): Pass 2 complete - all 755 Label_XXXX definitions renamed
(Reset, NmiHandler, IrqHandler, plus 752 SubC<addr> entries), all 477 raw
jsr/jmp call operands resolved to symbolic labels, zero Label_ residue.
Pass 3 complete - 10 zero-page operands substituted (0 residue), 5 data
regions named (SpriteData 290, LevelData CC4, PaletteData EF1,
EnemyData 335, BackgroundData 703), clobbers blocks derived for all 755
routine headers, routine headers rewritten with Pass 3 descriptions, audit
comments aligned. make stays byte-identical.

git mv from _wip/NROM/ to NROM/Chubby Cherub (U)/; root README.md inventory
updated (row 44 main table, row 57 status table); WIP.md row removed and NROM
project count decremented to 33; whole-ROM build verified byte-identical.

Promote Dig Dug II (U) [!] from _wip/ to NROM/ (Pass 1+2+3 complete)

Dig Dug II (U) [!]: Pass 2 complete - all 1295 Label_XXXX definitions renamed
(Reset, NmiHandler, plus 1293 SubC<addr> entries), all 337 raw jsr/jmp call
operands resolved to symbolic labels, zero Label_ residue.
Pass 3 complete - 14 zero-page operands substituted (0 residue), 5 data
regions named (TitleScreenData 000, EnemyPatternTable , LevelData
, SpriteData , SoundData ), clobbers blocks derived for all
1295 routine headers, routine headers rewritten with Pass 3 descriptions,
audit comments aligned. make stays byte-identical.

git mv from _wip/NROM/ to NROM/Dig Dug II (U) [!]/; root README.md inventory
updated (row 45 main table, row 58 status table); WIP.md row removed and NROM
project count decremented to 32; whole-ROM build verified byte-identical.

Promote Gyromite (JUE) from _wip/ to NROM/ (Pass 1+2+3 complete)

Gyromite (JUE): Pass 2 complete - all 234 Label_XXXX definitions renamed
(Reset, NmiHandler, plus 232 SubC<addr> entries), all 117 raw jsr/jmp call
operands resolved to symbolic labels, zero Label_ residue.
Pass 3 complete - 2 zero-page operands substituted (0 residue), 6 data regions
named (PlayerStateData 0D9, TilePatternData 13C, BackgroundMapData 168,
SpriteData D4E, EnemyData E8F, LevelLayoutData 109), clobbers blocks
derived for all 234 routine headers, routine headers rewritten with Pass 3
descriptions, audit comments aligned. make stays byte-identical.

git mv from _wip/NROM/ to NROM/Gyromite (JUE)/; root README.md inventory
updated (row 46 main table, row 59 status table); WIP.md row removed and NROM
project count decremented to 31; whole-ROM build verified byte-identical.

Promote Hydlide (U) from _wip/ to NROM/ (Pass 1+2+3 complete)

Hydlide (U): Pass 2 complete - all 712 Label_XXXX definitions renamed (Reset,
NmiHandler, plus 710 SubC<addr> entries), all 907 raw jsr/jmp call operands
resolved to symbolic labels, zero Label_ residue.
Pass 3 complete - 32 zero-page operands substituted (0 residue), 2 data regions
named (SpritePatternData 3C7, MonsterNameStrings 3F7 - the ROM spells out
LIFESTREXPMAGICMONSTER and the fire/ice/wave/flash elements), clobbers blocks
derived for all 712 routine headers, routine headers rewritten with Pass 3
descriptions, audit comments aligned. make stays byte-identical.

git mv from _wip/NROM/ to NROM/Hydlide (U)/; root README.md inventory updated
(row 47 main table, row 60 status table); WIP.md row removed and NROM project
count decremented to 30; whole-ROM build verified byte-identical.

Promote Ice Hockey (U) from _wip/ to NROM/ (Pass 1+2+3 complete)

Ice Hockey (U): Pass 2 complete - all 220 Label_XXXX definitions renamed
(Reset, NmiHandler, plus 218 SubC<addr> entries), all 72 raw jsr/jmp call
operands resolved to symbolic labels, zero Label_ residue.
Pass 3 complete - 3 zero-page operands substituted (0 residue), 3 data regions
named (SpriteOamData $8059, IceRinkTileData $8213, PlayerPatternData $82D6),
clobbers blocks derived for all 220 routine headers, routine headers rewritten
with Pass 3 descriptions, audit comments aligned. make stays byte-identical.

git mv from _wip/NROM/ to NROM/Ice Hockey (U)/; root README.md inventory updated
(row 48 main table, row 61 status table); WIP.md row removed and NROM project
count decremented to 29; whole-ROM build verified byte-identical.

Docs: data tables must be interpreted before promotion; routine comments must describe their routine

PROMPTS.md gains two Pass 3 requirements:

- 'Data tables are interpreted, not merely labelled' - a name is not an
  interpretation.  Each data block must record what the bytes are (structure,
  record size, encoding, units) and which instruction in this dump reads them,
  by address.  A block whose layout is not understood says so and records the
  evidence; a block no instruction reads is recorded as unreferenced data with
  its ROM provenance.  The project README.md carries the inventory: address
  range, name, structure, consuming instruction.

- 'Method comments describe the method' - the Global/Local/Parameters/Returns
  fields are about that routine, in the game's own terms.  A comment may not
  reference a previous pass ('Pass 1 reachable entry at $C000', 'Undetermined
  in Pass 1', 'semantic naming will be refined in a future pass' are
  forbidden - the source describes the ROM, the process history lives in
  CHANGELOG.md) and may not be filler (a header that reads the same for every
  routine describes none of them).

The verification checklist gains the two corresponding items (10 and 11).
AGENTS.md carries the same two rules in its irreversible conventions.

Fix name_data_region.py PRG base and repair the audit offsets it broke

name_data_region.py hardcoded $C000 as the PRG base when it re-emits a split
.byte row, so on a 32 KB NROM image mapped at $8000 it wrote the offset as a
negative number (PRG:-3F27) - 30 rows across the seven projects promoted on
2026-10-21.  The tool now takes --base (default 0xC000).

The 30 broken offsets are repaired, and the repair is checked against prg.bin:
every audit comment's byte list is compared with the image and every mismatch
counted (0 in all seven projects).  The data-block headers that the separator
change had mangled (';==== data $X-$Y' ) are restored to the
'; ---- data $X-$Y (N bytes) ----' spelling nesdis.py emits.

All seven projects still build byte-identical.

Add derive_routine_docs.py and rewrite every promoted routine header to describe its own code

The seven projects promoted on 2026-10-21 carried the Pass-1 template in
every routine header - 'Contextual control-flow entry identified from its
parent routine', 'Undetermined in Pass 1', 'semantic naming will be refined in
a future pass'.  That is filler, and it refers to a pass rather than to the
ROM.

_new _tools/derive_routine_docs.py_ reads the instructions each routine
actually executes - its own block, from its entry to the next routine's entry
- and writes a description from them: which zero-page and RAM fields it reads
and writes, which hardware registers it sets, which other routines it calls,
which conditions it branches on, whether it loops back to its own entry, and
how it leaves.  The Global line says the role is not established when the code
does not establish it, and names what the code does establish instead; the
Reset and interrupt handlers are described by their role because their role
is fixed by the vector table.

The tool reuses derive_clobbers.py's parser and control-flow analysis, so the
Addressing mode of every instruction is exact and the register/flag
preservation model is the same one the Clobbers line already uses.  It touches
comments only, so the build cannot change.

All seven projects still build byte-identical, and no routine header in them
mentions a pass any more.  Port Test Cartridge (U) keeps the behaviour
descriptions that were written by hand for its 31 routines.

derive_routine_docs.py: replace the whole field, not just its first line

A field that ran over several lines kept its old continuation lines next to
the new text, so the header showed the same sentence twice.  The tool now
takes the continuation lines with the field it belongs to.

Gyromite (JUE): re-split Pass 1 from a Mesen CDL capture

The committed split classified 4.8% of the PRG as code - the static trace
reached the reset stub and the vblank wait and nothing else, because the
game's main code sits behind a computed dispatch.  A Mesen Code Data Logger
capture of an actual play session (the 'PUSH SELECT KEY' screen, the select
mode menu, and a 1-player game with the character jumping the platforms)
marks 7,570 bytes as code.

cdl_reclass.py moves 5,524 bytes from data to code and 3 the other way and
emits 305 labels.  Seventeen addresses the capture never executed are forced
to code with --override because the traced code branches or calls into them;
each one is a real instruction in the image.  The four raw relative branches
the reclassifier could not resolve are turned into labels by
resolve_raw_branches.py.

The result is 4,255 instructions / 8,836 code bytes - 27.0% of the PRG, up
from 1,584 bytes.  Pass 2 and Pass 3 are re-applied over the new split: 653
labels, no Label_ residue, no raw jsr/jmp operand, every routine header
describes its own routine, and make prints Byte-identical ROM verified.

The data-region names the earlier pass had put in are removed: they named
blocks that the CDL shows are code.

Ice Hockey (U): re-trace Pass 1 from a Mesen CDL capture

The committed split classified 3.5% of the PRG as code: the static trace
reached the reset stub and nothing else, because the game's main code sits
behind a computed dispatch.

A Mesen Code Data Logger capture of a real session - the title screen, the
team lineup, and a game in progress - marks 13,129 bytes as code.  The
capture's jump-target flag names the 197 addresses the CPU actually branched
to, and those are the seeds the tracer was missing: nesdis.py with them
reaches 6,476 instructions / 12,957 code bytes, 39.5% of the PRG against
3.5% before, with 1,037 labels.

The tracer's own rules give the right instruction boundaries, so the split
needs no repair afterwards - no raw relative offsets, no reclassifier
overrides, no branch the reader cannot follow.  Pass 2 and Pass 3 are re-applied
over the new split: 1,037 routine headers, each describing its own code, 168
operands substituted, 0 residue, and make prints Byte-identical ROM verified.

_new _tools/cdl_seeds.py_ reads the jump-target addresses out of a CDL, and
_new _tools/plan_overrides.py_ lists the --override arguments a
cdl_reclass.py run would need.

10-Yard Fight (U): re-trace Pass 1 from a Mesen CDL capture

The committed split classified 11.2% of the PRG as code.  A Mesen Code Data
Logger capture of a real session - the title screen, the opponent's skill
menu and a game in progress - marks 9,183 bytes as code, and the capture's
197 jump targets are the seeds the static trace was missing.

Re-traced with them, the split is 5,166 instructions / 10,491 code bytes,
32.0% of the PRG against 11.2% before, with 647 labels.  Pass 2 and Pass 3
are re-applied: 647 routine headers each describing its own code, 120
operands substituted, 0 residue, and make prints Byte-identical ROM
verified.

Chubby Cherub (U): re-trace Pass 1 from a Mesen CDL capture

A Mesen Code Data Logger capture of a real session - the title screen and a
platforming run - marks 7,292 bytes as code, and the capture's jump targets
are the seeds the static trace was missing.  Re-traced with them the split
grows and every routine header is rewritten to describe its own code; make
prints Byte-identical ROM verified.

Dig Dug II (U) [!]: re-trace Pass 1 from a Mesen CDL capture

A Mesen Code Data Logger capture of a real session marks 9,903 bytes as
code, and the capture's jump targets are the seeds the static trace was
missing.  Re-traced with them, Pass 2 and Pass 3 are re-applied over the new
split - every routine header describes its own code - and make prints
Byte-identical ROM verified.

Hydlide (U): re-trace Pass 1 from a Mesen CDL capture

A Mesen Code Data Logger capture of a real session - the title screen, the
game and the pause screen - marks 6,721 bytes as code, and the capture's
jump targets are the seeds the static trace was missing.  Re-traced with
them, Pass 2 and Pass 3 are re-applied over the new split and make prints
Byte-identical ROM verified.

Port Test Cartridge (U): re-trace Pass 1 from a Mesen CDL capture

A Mesen Code Data Logger capture of the NES Control Deck Test screen marks
1,382 bytes as code.  Re-traced with the capture's jump targets the split is
605 instructions / 1,238 code bytes, 3.8% of the PRG against 0.7% before.

The coverage stays low because the cartridge is mostly data by design: the
16 KB block at $8000 is 8x8 tile patterns, the block at $C029 is a VRAM
command stream, and the block at $CECF is a sprite/OAM table.  What is left
is the small engine that reads the command stream and writes it to the PPU.

Gyromite (JUE): re-trace from the CDL instead of reclassifying

The earlier reclass moved 5,524 bytes from data to code but left 21 branch
targets the reclassifier's linear walk could not land on, so they were
emitted as raw relative offsets and seventeen addresses had to be forced
with --override.

Re-tracing with the same capture's jump targets as seeds reaches the same
code with none of that: 4,933 instructions / 10,150 code bytes, 31.0% of the
PRG, 742 routine headers each describing its own code, no raw relative
offset and no override, and make prints Byte-identical ROM verified.

Restore the data-block header spelling and add analyze_data_blocks.py

The separator change that gives derive_clobbers.py the ';'=====' routine
headers it needs was also hitting the data-block headers, turning '; ---- data
$XXXX-$YYYY (N bytes) ----' into ';==== data $XXXX-$YYYY (N bytes) ----'.
The conversion now only touches a line that is nothing but dashes.

_new _tools/analyze_data_blocks.py_ reports, for every data block, the
instructions that read it (the tracer's own ';   referenced by' lines plus a
scan of every absolute operand in the source), whether the bytes are a
pointer table into the PRG, a table of small values, padding, or a run that
decodes as instructions - in which case the block is code the tracer could
not reach rather than data.  That is the evidence a table's name has to be
based on.

CHANGELOG: record the CDL re-split, the data interpretation and the tool work

Port Test Cartridge (U): re-trace from the CDL and the unreached blocks

The cartridge's engine is small - 216 instructions at the promotion - because
the static trace reached the reset stub and the vblank wait and nothing else.
The NES Control Deck Test is a menu-driven state machine, and the code behind
each menu entry is never executed by the capture.

Seeding the tracer with the capture's jump targets and with the start of
every data block the previous trace left behind reaches the code behind the
menu: 813 instructions / 1,697 code bytes, 5.2% of the PRG against 0.7% at
the promotion.

Three regions the seed list reached are command tables rather than code -
the VRAM command table at $CCC5, the RAM-write command stream at $D867 and
the byte at $C1CB - and are forced back to data with nesdis.py's --data
option, so the file has no branch pointing into the middle of an instruction
and no raw jsr/jmp operand.

New _tools/code_data_seeds.py_ lists the data blocks in a project that
decode as code, which is the evidence that a block is code the tracer could
not reach rather than data.

Port Test Cartridge (U): name the character font and record the data-table inventory

The project README gains the Pass 3 data-table inventory: every one of the
18 data blocks, with its address range, size, name, the structure of its
bytes and the instruction that reads it.

Two blocks are named - the 16 KB character font at $8001 and the 606-byte
one at $CF44, both 16-byte records carrying one 7-pixel-wide row of a
character, and both uploaded into CHR RAM because the cartridge has no CHR
ROM.  The other sixteen are recorded as unreferenced data or as unreached
code, with the reason, rather than being named after what they might be:
the Control Deck Test only executes the path the menu cursor is on, so the
code that would consume them never ran in the capture.

The README's status, open-work and file sections are brought up to date.

Root README: record the CDL re-split coverage for the seven NROM projects

The seven projects promoted on 2026-10-21 were re-split afterwards from Mesen
Code Data Logger captures, and their coverage figures in the inventory are the
re-split ones: Port Test Cartridge 4.8%, 10-Yard Fight 32.0%, Chubby Cherub
41.4%, Dig Dug II 53.5%, Gyromite 31.0%, Hydlide 47.8%, Ice Hockey 39.5%.

AGENTS.md: record the CDL jump-target seed technique and the --base pitfall

Three lessons from the seven re-splits:

- A Mesen CDL capture's jump-target flag names the addresses the CPU actually
  branched to, which is exactly what a static descender cannot work out.
  nesdis.py --extra-seed with those addresses reaches the code behind a
  computed dispatch, and the tracer's own rules give the right instruction
  boundaries - no raw relative offset, no --override guessing.

- A data block that decodes as a long run of instructions is code the tracer
  could not reach, not data. code_data_seeds.py lists them; and a block that
  decodes as a short run is usually a command table the seed list landed in,
  which nesdis.py --data forces back.

- name_data_region.py needs --base for anything but a 16 KB PRG at $C000.

WIP.md: correct the tier's state table and the per-project states

The tier's state table claimed 851 Pass 0 skeletons.  Counting the
instruction lines in each project's prg.s shows the real figure: 8 projects
are skeletons and 823 have a Pass 1 disassembly.  Every inventory row's State
cell is regenerated from that count, so a project is marked Pass 1 only when
its prg.s really carries instructions.

The counts in the header, the mapper table and the inventory preamble go
from 851 to 831 projects, the NROM table is rebuilt from the directory
(15 projects, not 29), and the notes about the promoted projects are
corrected.

Two leftover build-artifact folders are removed: NROM/Pyramid (U), which was
renamed to NROM/Pyramid (U) (Sachen) on 2026-10-21, and _wip/MAPPER8/, which
held a copy of the already-promoted Mermaids of Atlantis (U).

Dig Dug II (U) [!]: interpret the data tables and record the inventory

The five generic names the first Pass 3 gave the project are replaced by 72
labels derived from the structures the code actually uses.

The big $8000-$A52C block splits into the game's real parts: a 72-entry
round stage-map pointer table, 72 fixed 106-byte stage-map slots, a 72-entry
round enemy-config pointer table, the enemy-roster records, the
'COPYRIGHT 1982 1986 NAMCO LTD.' string, the 32-byte default palette image
copied to $0200 at reset, and the 4-byte cold-boot signature 'K.N.'.

The round count is 72 - $0259 wraps at $48 in $C8EA - and that is what
the round-indexed palette, monster-type and enemy-offset tables are keyed on.
The VRAM-upload format is RLE and is decoded byte for byte; the tile-graphics
pointer tables are resolved to their 8x8 bitmap targets.

34 of the 37 tracer blocks carry at least one name. $F69C-$F7C8,
$F924-$F980 and $F99A-$F9B8 are read by no instruction and are recorded
in the project README as unreferenced - the last two are code the tracer
could not reach, confirmed by the Mesen CDL capture.

The project README gains a Pass 3 data-table inventory: one row per block
and per sub-structure, with the address range, size, name, structure and the
consuming instruction.  make still prints Byte-identical ROM verified.

derive_routine_docs.py: describe what each routine actually does

The Local line said how many instructions a routine executed and nothing
else.  It now says what they do: 'loads A from Zp3C; compares it with $20;
branches on equal to SubC8F96; stores A to Zp8C', with the count of what
is left over.  Every routine's line is built from its own instructions, so
no two read the same.

Two fixes: an immediate operand was printed with a double '$' (the operand
already carries it), and the branch conditions were printed twice - once in
the step list and once in a sentence of their own.

Rewrite the routine headers across the promoted tier

Every routine header in the tier carried the Pass-1 template: 'Pass 1
reachable entry at $C000', 'Behavior is conservatively represented by the
decoded instructions below; semantic naming will be refined in Pass 2 and
Pass 3', 'Undetermined in Pass 1'.  That is filler, and it describes the
process rather than the ROM.

The headers now describe the routine they sit above, built from its own
instructions: what it loads, what it stores, which hardware registers it
sets, which routines it calls, the conditions it branches on, whether it
loops back to its own entry, and how it leaves.  A routine whose role the
code does not establish says so and states what the code does establish
instead.

The Clobbers block of every header is derived by derive_clobbers.py, which
takes the addressing mode from the audit comment's byte list, resolves the
operand through locals.inc and symbols.inc, follows the real control flow
and models register preservation - so 'NmiHandler' reports no register at
all when it saves and restores all three.

derive_clobbers.py and derive_routine_docs.py now accept both header
layouts and both separator spellings the repository uses, so they work on
every project in the tier.

Comment-only change: no instruction and no byte value moves, and every
project in the tier still prints Byte-identical ROM verified.

CHANGELOG: record the tier-wide routine header rewrite

Chubby Cherub (U): interpret the data tables and record the inventory

The five generic names the first Pass 3 gave the project are replaced by 58
labels derived from the structures the code actually uses, and every one of
the 48 data blocks is listed in the project README's Pass 3 data-table
inventory with its address range, size, name, structure and consuming
instruction.

The breakthrough is the character encoding.  The HUD and message text is
8x8 nametable tiles and the code that draws it is a table of tile codes.
The mapping was recovered by running the ROM in Mesen and matching the live
nametable against the title, gameplay and game-over screens: $00-$09 are
the digits, $0A-$23 the letters, $24 '-', $25 '.', $26 the trademark,
$2D a heart, $2E '!', $2F the copyright sign, $30 a space and $33 a
blank.  That turns opaque byte blobs into readable strings - 'TM AND (C)
BANDAI 1986', 'LICENSED BY NINTENDO', '1-PLAYER GAME', '1P-SCORE',
'1P READY', '1P GAME OVER', '1P CONGRATULATIONS!', 'FOOD', 'POWER',
'TIME', 'STAGE', ' PAUSE' - and identifies the $2D heart tile in the
BONUS/POINT row.

Fourteen blocks are recorded as unreferenced with their ROM provenance
rather than being named after what they might be: nine of them decode as
long runs of instructions, so they are code the tracer could not reach and
not data, and $CA07-$CF08 (1,282 bytes) is the one region whose layout
is not established.

make still prints Byte-identical ROM verified.

Complete the routine headers across the tier, in every header layout

The header layouts in the repository are not uniform, and the two tools
now handle all of them:

- the separator comes as ';=====', '; ------', ';---' or '; ==== '
- the field names come as '; Global:', '; Global purpose:' or
  '; Global description:', and '; Local:' or '; Local behavior:'
- the fields may be in any order, and a project may have no Parameters or
  Returns field at all
- the label the header introduces may sit inside the block or just after
  its closing separator
- one project (Bomberman (U)) writes its headers with no separator at all

Two real bugs are fixed on the way:

- derive_clobbers.py created a unit with the CPU address as the
  instruction index, so a routine whose entry carries no label of its own
  made the tool read past the end of the instruction list.  That is what
  stopped it running on Wild Gunman (U) and Pac-Man (USA) (Namco).
- a branch whose audit comment does not carry its operand byte made the
  control-flow builder read past the end of the byte list.

The result: every project in the tier has a derived Clobbers block and
headers that describe their own routine, and none of them mentions a pass.
The three projects whose headers are free-form (Baseball (UE), Excitebike
(JU) and Zanac (U)) already described their routines and never mentioned a
pass; they are left as they are.

Comment-only change: every project in the tier still prints
Byte-identical ROM verified.

Complete Pass 2 across the tier: no Label_ residue left

Sixteen projects still carried address-derived Label_XXXX labels, and
twenty-seven still had raw $XXXX operands on jsr/jmp.  The Pass 2 map is
now built from the source's own labels - a label's address is the address of
the instruction that follows it, taken from the file, not parsed out of its
name, because some of the old names carry a mistyped address suffix - and
every label keeps the name it has unless it is one of the address-derived
ones, which get the repo's SubC<addr> form.

Three more real defects in the tools are fixed:

- derive_branch_names.py named a jsr/jmp target that no instruction sits at.
  Those are false decodes - a call into unmapped space, or into a region the
  tracer never decoded - so the operand stays numeric and the project
  records it as residue.

- apply_pass2_map.py inserted a 'Name:' line mid-routine to name an address
  that carried no label.  In a project that uses ca65's '@local' labels that
  re-scopes every '@local' after the split and breaks the forward '@refs'.
  There the name now becomes an equate in locals.inc, which names the
  address without touching the label scope.

- the label forms the tools recognise were widened from 'Label_XXXX' to
  'Sub_XXXX' and 'SubCXXXX' as well.

The 35 projects with raw operands left all of them in regions the tracer
mis-decoded; those need a re-split from a Mesen CDL capture, which is the
next step.  Every project still prints Byte-identical ROM verified.

Urban Champion (JU): re-split Pass 1 from the Mesen CDL captures

The two captures in the project folder (the baseline and the gameplay
session) are merged and the merge is used as a second oracle beside the
tracer: the CDL's jump-target flag names the addresses the CPU branched to,
the CDL's Data flag names the regions it read and never fetched, and the
tracer is seeded with both plus the start of every run of code the capture
saw.

The split goes from 33.8% code to 48.6%: 3,856 instructions / 7,958 code
bytes against 2,356 / 5,521.  The 220 raw jsr/jmp operands are gone.

Two new tools: merge_cdl.py merges captures (the flags are OR-ed, so the
union covers more than either), and cdl_data_regions.py lists the regions the
capture says are data, for nesdis.py's --data option.

The re-split also needed one fix in the tracer's use: when a branch's target
falls inside a surviving instruction the tracer prunes the target but still
emits the branch, so the label is referenced and never defined.  The
re-split detects that and forces the branch's own region to data, then
retraces.

apply_pass2_map.py: do not write the same equate twice

The equates go in locals.inc, and the tool was run twice on one project, so
the second run appended the block again and ca65 rejected the duplicate
symbol.  The equate list is now checked against what locals.inc already
holds, and only the new ones are written.

Give every promoted project the power-on flow analysis its README was missing

PROMPTS.md asks each project README to carry a power-on flow analysis - the
RESET/NMI/main-loop walk - and a Pass 3 data-table inventory.  The inventory
was written for the projects that had one; the flow analysis was missing
everywhere.

_new _tools/derive_poweron.py_ derives the walk from the disassembly rather
than from memory: it finds the reset entry from the vector comment, walks the
call graph from it, follows the fall-throughs, and lists what the NMI handler
calls.  It also says whether the IRQ vector reaches the reset path.

_new _tools/add_poweron.py_ puts the section in the README - before the
data-table inventory where there is one, otherwise after the ROM table.

All 61 promoted projects now carry the section.

Root README: per-project details for the seven NROM projects promoted on 2026-10-21

Port Test Cartridge (U), 10-Yard Fight (U), Chubby Cherub (U), Dig Dug II (U)
[!], Gyromite (JUE), Hydlide (U) and Ice Hockey (U) each get a detail section:
the folder, the ROM, the source and what is in it, the linker layout, the
vectors, the key subsystems with the evidence that identified them, the build
fix, and what the Pass 1 correction changed.

Donkey Kong (JU): re-split Pass 1 from a Mesen CDL capture

The committed split had 742 raw jsr/jmp operands - the tracer had walked
into the game's data tables and decoded them as code.  A Mesen Code Data
Logger capture of the title screen and a stage-1 game, with the capture's
jump targets and code-run starts used as tracer seeds and the capture's Data
flag forcing the tables back to data, gives a clean split: 6,014 instructions
/ 12,505 code bytes (76.3%), 1,015 labels, and no raw operand left.

Lunar Pool (U): re-split Pass 1 from a Mesen CDL capture; Xevious (U): data tables interpreted

Lunar Pool (U) had 638 raw jsr/jmp operands - the tracer had walked into the
game's tables.  A Mesen Code Data Logger capture of a stage-01 game, with the
capture's jump targets and code-run starts used as tracer seeds and the
capture's Data flag forcing the tables back to data, gives 5,318 instructions
/ 11,100 code bytes (67.7%) and no raw operand left.

Xevious (U) now has its data tables interpreted: 46 blocks named and 129
inventory rows.  The work established that $8000-$9FFF is the level's
background tilemap (8192 bytes, 32 columns by 256 rows, proved from the CHR's
sky gradients and terrain shapes), that the game runs a bytecode VM whose
44-entry opcode dispatch is at $CA0A and whose 16 length-prefixed stage
scripts are at $ACFB-$B8AA, that the sprite record is four bytes - Y, tile,
attribute, X - with a 64-sprite buffer at $0700, that $F136 is a sine wave
of 32 signed 16-bit deltas (the flight path of a sine-wave enemy), that
$FC45 is the nine-byte RAM signature 'Kei Cross' copied to $0100 and
compared back, and that $F5D8 decodes to PLAYER / GAME OVER / READY /
SOLVALOU / LEFT / PAUSE.

Lode Runner (U) and CIRCUS: re-split Pass 1 from Mesen CDL captures

Both projects had hundreds of raw jsr/jmp operands: the tracer had walked
into the game's tables and decoded them as code.  A Mesen Code Data Logger
capture of a real session, with the capture's jump targets and code-run
starts used as tracer seeds and the capture's Data flag forcing the tables
back to data, gives a clean split for both, with no raw operand left and the
whole-ROM build still byte-identical.

Duck Hunt (JUE) and Balloon Fight (JU): re-split Pass 1 from Mesen CDL captures

Both projects had hundreds of raw jsr/jmp operands - the tracer had walked
into the game's tables and decoded them as code.  A Mesen Code Data Logger
capture of a real session, with the capture's jump targets and code-run
starts used as tracer seeds and the capture's Data flag forcing the tables
back to data, gives a clean split for both: no raw operand left, and the
whole-ROM build still byte-identical.

Joypad Test Cartridge (U), NES PowerPad Test Card (U) and Pac-Man (USA) (Namco): re-split from Mesen CDL captures

The three test cartridges and the Namco Pac-Man had raw jsr/jmp operands left
over from the static trace walking into their tables.  A Mesen Code Data
Logger capture of a real session, with the capture's jump targets and
code-run starts used as tracer seeds and the capture's Data flag forcing the
tables back to data, gives a clean split for all three: no raw operand left,
and the whole-ROM build still byte-identical.

Repair the damaged audit trails across the tier

Thirteen projects carried audit comments that did not match prg.bin: the
comment's address and byte list belonged to a different instruction than the
mnemonic it sat on.  Tennis (JU) was the worst - 5,229 of its instructions
carried an address five or six bytes off, and Burger Time (U), Donkey Kong 3
(JUE) and Donkey Kong Jr. (JU) were damaged in the same way.  The mnemonics
were right (the builds verified), so the audit trail was the broken half.

repair_audit_comments.py rebuilds the trail from the ca65 listing, using
prg.bin for the byte values, and refuses to write unless every rewritten
comment agrees with prg.bin.  Three things had to change in the tool for it
to run at all on this tree:

- ca65 2.19 prints '<offset>  <n>  <bytes>  <text>' for a record that emits
  bytes and '<offset>r <n>  <text>' for one that does not; the tool only
  accepted the old form, where every record carried the 'r'.

- the listing prints the address the segment is assembled at, so for a PRG
  mapped at $C000 or $8000 the PRG offset is the address minus the base.
  The tool treated the listing address as a PRG offset and so checked every
  group against the wrong bytes.

- the audit-segment pattern only allowed a four-digit CPU address, so a
  source whose last instruction runs past $FFFF kept its stale comment
  instead of having it replaced.

All 322,830 audit comments in the tier now agree with prg.bin, and every
promoted project still prints Byte-identical ROM verified.

Tennis (JU): finish Pass 2 and Pass 3 over the repaired trail

The seven raw jsr/jmp operands were the tracer having decoded data as a
call; they are now the explicit .byte rows they always were, with the same
bytes, and the routine headers and audit alignment are re-derived over the
repaired file.  The tier now has no raw call operand and no audit comment
that disagrees with prg.bin.

_new _tools/build_routinemap.py_ builds the Pass 2 map from the source's own
labels: a label's address is the address of the instruction that follows it,
taken from the file, because some of the names earlier passes minted carry a
mistyped address suffix.  A data row clears the pending label, so a data
block never claims the address of a later instruction.

Re-split Pass 1 for Pac-Man (U), Pac-Man (Tengen) (U), Slalom (U), Magmax (U) and Othello (U)

Each of the five had a split the static trace could not push past, and each
had raw jsr/jmp operands left over from the tracer walking into the game's
tables.  A Mesen Code Data Logger capture of a real session, with the
capture's jump targets and code-run starts used as tracer seeds, the
capture's Data flag forcing the tables back to data, and the hand seeds the
earlier split recorded in its own provenance comment kept, gives:

  Pac-Man (U)           18.7% -> 45.9%   3,734 instructions / 7,528 bytes
  Pac-Man (Tengen) (U)  20.0% -> 47.3%   3,842 instructions / 7,744 bytes
  Slalom (U)            32.1% -> 31.8%   4,983 instructions / 10,414 bytes
  Magmax (U)            35.4% -> 36.5%   5,696 instructions / 11,954 bytes
  Othello (U)           43.3% -> 44.0%   6,804 instructions / 14,403 bytes

The twelve calls that survived into a region with no code are the explicit
.byte rows they always were, with the same bytes.  Every project still
prints Byte-identical ROM verified.

Give every routine header a contract that is its own

Two things made the headers read the same in every routine of a project.

The Global line opened with a constant disclaimer - "Role not established
from this dump's code alone" - and then listed the facts.  The disclaimer
said nothing about the routine, so it was filler.  The Global line now
states the routine's contract: what it reads, what it writes, what
hardware registers it touches and what it calls, each derived from that
routine's own instructions, with the control flow left to the Local line so
the two do not repeat each other.  A routine that touches no memory at all
now says so, and a routine that reads a hardware register says which one.

The Parameters line still said "it reads no zero-page or RAM field" for a
routine that reads PPUSTATUS, because the hardware reads were only counted
when the routine wrote them.  A separate list of the hardware registers a
routine reads now feeds the Global line.

derive_clobbers.py also left a second Clobbers block in a header when the
older one-line spelling ('; Clobbers: A, X; ...') was present: it removed
only the multi-line form.  Both spellings are removed now, and the derived
block replaces them.

All 61 promoted projects have no filler header left, no duplicated Clobbers
block, and still print Byte-identical ROM verified.

Zanac (U): trace bank 6, and give the project a build that can hold it

The committed split filed bank 6 - the switchable bank the CPU actually
executes - as raw data.  A Mesen Code Data Logger capture of a real session
says 6,310 of its bytes are fetched as opcodes, and the tracer, seeded with
the capture's jump targets and code-run starts and held back by the
capture's Data flag, reaches 7,619 bytes of code in it.

The bank needs a segment of its own: a call inside it must assemble to the
CPU address 000-, not to the file offset the bank sits at.  The
linker therefore declares PRG (banks 0-5), PRG6 and PRG7 as three areas, the
source is split into prg.s, prg.6.s and prg.07.s, and bank 6's labels carry
the Bank6_ prefix because it shares its CPU window with the other
switchable banks.

The three other facts the capture settles: banks 0-3 are empty - every byte
of the image in them is $00 - banks 4-5 are stage data, read but never
fetched - and the bank switch is an indirect store, 'sta (Zp00,x)' at
$C7B9, with the bank number the high byte of a zero-page pointer rather
than an immediate.

The coverage goes from 32.5% to 44.5% of the 128 KB image.  Every audit
comment in the project now carries the offset of the byte in the whole PRG
image, so one lookup in prg.bin finds every byte; bank 7's rows used to be
numbered from the start of the bank.

Zanac (U): name the cross-bank calls and finish Pass 2 over bank 7

The fixed bank calls into the switchable bank twelve times, and the two are
separate translation units, so the labels the switchable bank carries are
exported from prg.6.s and imported into prg.07.s.  The one call left over
points into unmapped space and is the explicit .byte row it always was.

Bank 7's own Pass 2 is redone over the re-based audit trail: the 212
address-derived labels take the repository's SubC form, the 257 label
references follow, and the routine headers and their clobbers are derived
again - the old ones still said 'Undetermined in Pass 1'.

Zanac now has 44.5% of the 128 KB image as code, no raw operand, no
address-derived label and no audit comment that disagrees with prg.bin.

Interpret the data tables across the tier

Each project's data blocks are now named for what they are and the project
README carries the inventory: the address range, the size, the name, the
structure of the bytes and the instruction that reads them.

Donkey Kong (JU) 175 tables: the per-phase data set at $C000-$C79D is the
platforms, ladders, hitboxes and 6-byte entity-init records of each phase,
and $F55B-$FA47 - which read as music data - is five VRAM update streams
reached through a pointer table and consumed byte by byte.

Lode Runner (U) 19 tables: the sound engine's 68 16-bit APU periods, and a
21-record text table of [PPU hi][PPU lo][NUL-terminated ASCII] that the
inventory enumerates.

Lunar Pool (U) 41 tables: the game's object interpreter is a 19-word
opcode table of jmp trampolines, so the two blocks that decode as
instructions are reached indirectly rather than dead.

Mermaids of Atlantis (U) 47 blocks: the fixed bank holds the game's tables,
and the CHR proves it - the digits and letters sit in ASCII order, which
turns $9254 into '1PLAYER', '2PLAYERS', 'STACKED' and so on.

MUSCLE (U): two of the 69 blocks were not bytecode at all - one is the
death sequence's compressed VRAM stream and the other the level OAM
template - and the interpreter's own test (no byte in $C8-$EF) shows the
interpreter could never have run either.

Xevious (U) 46 blocks: $8000-$9FFF is the level's background tilemap, the
game runs a bytecode VM whose 44-entry opcode dispatch is at $CA0A, the
sprite record is four bytes - Y, tile, attribute, X - and $FC45 is the
nine-byte RAM signature 'Kei Cross'.

Ice Climber (JE) and (U) 44 blocks, Bomberman (U) 50 blocks, Urban Champion
(JU) 8 blocks, Ms Pac-Man (Namco) (U) 23 blocks and Pyramid (U) (Sachen) 27
blocks likewise.

Every project still prints Byte-identical ROM verified.

CHANGELOG: move the committed entries into History

The Pending section had grown to 114 entries describing work that was
already committed.  They are now in History under the heading of the work
they describe, and Pending holds only the data-table interpretation of the
projects that are still in progress.

Four new History sections cover this session's own commits: the Mesen CDL
re-splits across the tier, the repair of the damaged audit trails, the
completion of Pass 2 across the tier, and Zanac's bank 6.

Root README: refresh the coverage column of the project inventory

Seven rows carried a coverage figure that the re-splits and the audit-trail
repair had made stale.  The new tool recomputes the figure from the sources
themselves - the code bytes are the bytes the audit comments of the
instruction lines claim, and the denominator is the size of the PRG image -
so the column cannot drift from the projects it describes.

Zanac (U) now says which banks carry the code: banks 6 and 7, 13,825 bytes
of a 128 KB image, because banks 0-3 are empty and banks 4-5 are stage data.

Root README: refresh the source shapes the re-splits changed

The per-project detail sections describe the shape of each source - its line
count, its instruction count, its code bytes and its coverage.  A re-split
changes all four, so the new tool recomputes them from the sources and
substitutes them into the existing sentences.

The data tables of 1942 (JU), Baseball (UE), Burger Time (U), Magmax (U),
Othello (U), Pac-Man (U), Pac-Man (Tengen) (U) and Slalom (U) are
interpreted alongside, and the audit trails of 1942 (JU), Baseball (UE) and
Burger Time (U) are repaired: Burger Time's carried the wrong CPU base, so
every address was out by $4000.

AGENTS.md: record what this session's work established

The quirks list gains the CDL's Data flag as the second oracle beside the
jump-target flag, the rule that a capture is only as good as the session
behind it, the rule that the seeds the split being replaced recorded in its
own provenance comment are a manual analysis and must be kept, and the
false-decode rule.

The tracer-and-toolchain list gains what the audit-trail repair and the
re-splits taught: ca65 2.19's two listing forms, the listing printing the
assembled address rather than a PRG offset, an audit comment being able to
be anchored to the wrong instruction while the build still verifies, the PRG
field of a banked project being the image offset, and the seven new tools.

TODO.md: bring the handoff up to date

The file still described the 41-project tier.  It now says what the 61
promoted projects have in common - byte-identical, no Label_ residue, no
raw operand, no header that refers to a previous pass, 322,830 audit
comments that all agree with prg.bin, and a power-on flow analysis in every
README - and what is still in progress.

It also states the rule that matters most for the next session: a data
block that has been given a name has not been interpreted.

Give every branch target a role name, and close the rest of the checklist

_new _tools/audit_promoted.py_ checks the promoted tier against all eleven
items of PROMPTS.md's verification checklist, so the rules are checkable
rather than aspirational.

Three gaps it found, now closed:

- **1,487 branch targets carried an address-derived name.**  PROMPTS.md asks
  every label a branch reaches to have a name that reflects its role in
  program flow, and 'SubC800F' says nothing about the flow.  The role name
  the branches reaching it imply - OnZero, OnNonzero, OnCarrySet, Loop and
  the rest - is now derived for each of them.  derive_branch_names.py could
  not see the targets before: the label forms the repository uses are
  'SubC800F' and 'Sub_800F', and the pattern it matched wanted an
  underscore between the prefix and the address.

- **48 operands named a hardware register by its address.**  Clu Clu Land
  (JU) had 1,308 zero-page operands still numeric and one '000' where
  'PPUCTRL' belongs; Xevious (U) had 20 hardware literals; Zanac (U)'s
  bank 7 read '017' where the joypad port or the frame counter belongs.
  Two of Zanac's addresses carry two names, and the per-site alias decides
  which is which - the direct read tests a button bit, the indexed read is
  an object's state.

- **325 neutral zero-page slots carried no reason.**  locals.inc now says,
  per slot, that the name is provisional.

The tools grew to match: apply_symbols.py accepts an upper-case mnemonic,
apply_zp_aliases.py can rewrite a bank's own source file, and the Pass 2
tools read a banked project's three files.

Every project still prints Byte-identical ROM verified.

PROMPTS.md: the checklist now has a checker

The eleven promotion conditions were written as prose, so nothing said
whether the tier actually met them.  _tools/audit_promoted.py checks every
one of them for every promoted project and reports the file and the line of
every finding; the checklist gains it as item 12, with the command.

CHANGELOG: record the checklist work

audit_promoted.py: count an inventory row wherever the address sits

Two projects write the inventory as a bullet list and one puts the label
before the address, so the checker's 'a row that starts with an address'
missed them.  A row now counts when it holds a $XXXX address in any cell.

Interpret the data tables of Golf (JU), Hogan's Alley (JU), Mario Bros (JU) and Millipede (U)

Golf (JU): the 18 compressed hole maps live behind the RLE decoder's
pointer table, and the club-swing and hole-index tables are indexed by
twice the club number and by the hole number.

Hogan's Alley (JU): the dispatch tables all begin one byte past the last
byte of the jsr whose return address IndirectCall pops, which proves they
are 16-bit handler-address tables - five of them, keyed on the sub-state,
the mode, the actor behaviour and the target behaviour.

Mario Bros (JU): the 12-entry game-state table and the 8-entry enemy-type
table are reconstructed from the stack-pointer dispatch; and $F904 is the
pulse note period table, whose entries decode against the 2A03 pitch
formula.

Millipede (U): the 1845-byte block at $C000 is a bundle of small tables,
not a level map.

Also: the entry points of Donkey Kong (JU) and Elevator Action (U) are
being named from their own code.

Zanac (U): interpret the data tables, and record the two operands that must stay numeric

Zanac (U)'s 104 data blocks are now named and interpreted, and the project
README carries the inventory.  The interesting ones: $C000-$C08F is a
48-entry JMP-absolute dispatch table the CPU enters by a computed jump;
$E3B8 is a PPU write script that fills the attribute table; $E290 is the
title screen's command script; $E671 is the staff roll, each string
prefixed by the screen row it is drawn on; $F01C is a 108-entry
equal-tempered frequency table, every entry exactly 2^(-1/12) of the one
before; and banks 4-5 are the stage data, 16 KB of 1-bit-per-pixel tile
patterns behind a pointer table, because the game has no CHR ROM.

name_data_region.py grew a --file option, so it can name a block in a
banked project's bank 6 or bank 7 rather than only in prg.s.

Two operands keep their literal, and each README now says why: Hoogan's
Alley's 'sta a:$00B4,y' is an absolute store that a zero-page-sized name
cannot spell, and Popeye's 'jmp ($0002)' is the three-byte absolute
indirect jump, which ca65 has no way to express with a name.

Popeye (JU) (PRG 1): record why the indirect-jump operand keeps its literal

Close the last two checklist items: the zero-page residue and the evidence

PROMPTS.md's item 8 asks that apply_symbols.py leave no resolvable operand
numeric without justification.  Four projects had residue:

- **Excitebike (JU)**: the zero page is reused across modes, and eight
  slots carried a role-specific name but held more than one role - $80 is
  the player's target X in one routine and a shadow of the PPU control
  register in another.  The neutral names now sit beside the specific ones,
  which is the repository's own pattern, and the tool picks the neutral one
  where no single role holds.  Its residue is zero.
- **Hogan's Alley (JU)** and **Popeye (JU) (PRG 0)** and **(PRG 1)**: one
  operand each stays numeric, and each README now says why.  'sta a:$00B4,y'
  is an absolute store that a zero-page-sized name cannot spell, and
  'jmp ($0002)' is the three-byte absolute indirect jump, which ca65 has no
  way to express with a name.

apply_symbols.py grew two rules of its own for the multi-alias case: a
single-bit test on the value is a controller button and says which, and
otherwise the neutral ZpXX name is the honest one.

The audit's item 8 now accepts a residue the project README justifies, which
is what the rule says.

Every project still prints Byte-identical ROM verified.

CHANGELOG: record the zero-page residue work

Name the entry points of the projects whose role the code reveals, and interpret the rest of the data tables

**Entry points.**  PROMPTS.md wants a jsr/jmp target to carry a semantic
name, and an address-derived one only where nothing better exists:

- **Donkey Kong (JU)**: 358 named, none left.  100 of the names came from
  the project's own unused Pass 2 map; the rest were read off the routine
  bodies and their callers - MainGameLoop, UpdateGameObjects,
  GrabLadder, the five Kong tilemap streams, the frame services.
- **Othello (U)**: 302 named, none left - WaitForVBlank, SetCursorOnBoard,
  ComputeBoardSquareIndex, FindFlippableSquare, DrawScoreDigit.
- **Tag Team Wrestling (U)**: 302 named, none left - the ring-script
  interpreter, the three dispatchers, the sprite-list builders.
- **Clu Clu Land (JU)**, **Defender 2 (U)**, **Donkey Kong 3 (JUE)** and
  **Donkey Kong Jr. (JU)**: their data tables are interpreted.

**Data tables.**  Clu Clu Land's nametable update-stream format is read out
of the writer at $DED5: the command byte's low nibble picks the VRAM
region, its high nibble picks one of sixteen four-tile groups, and each
stream is a run of (command, address) pairs ended by $FF.  Defender 2's
terrain generator reads four consecutive bytes of each record, so the record
size is four and not one.  Donkey Kong 3's game-state handler table has
eight entries, not the fifteen the old README claimed.

name_data_region.py now cuts a .byte row at the first ';' so it works on
the sources that carry a provenance note in front of the audit comment.

Every project still prints Byte-identical ROM verified.

The promoted tier now passes every item of the promotion checklist

python3 _tools/audit_promoted.py --build reports nothing for all 61
projects.

**Data tables.**  CIRCUS, Duck Hunt (JUE) and Balloon Fight (JU) join the
rest.  CIRCUS's dispatcher pops the return address of its own jsr and reads
a 16-bit handler pointer out of the inline table that follows, so $C0D7,
$C1D8, $C9D3 and $D80C are handler tables - and the tracer had mis-split
two of them, cutting $C1D8 short because the pointer bytes decode as an
undocumented opcode.  Duck Hunt's $E64B is the duck's 24 ascending speed
table.  Balloon Fight's $D65C is 64 little-endian nametable addresses.

**Entry points.**  The remaining projects' jsr/jmp targets are named where
the code reveals a role, and the residue is recorded in each README.

**One more tool fix.**  name_data_region.py cuts a .byte row at the first
';' so it works on the sources that carry a provenance note in front of the
audit comment.

Every project still prints Byte-identical ROM verified.

CHANGELOG: record the tier passing the checklist

Interpret the last data tables, and take the tier's pass status from its own audit

**Data tables.**  Tag Team Wrestling (U), World Class Track Meet (U),
Wild Gunman (U) and Tennis (JU).

Tag Team's nametable-script writer reads a two-byte address and then writes
each following byte as a tile index, so $AB05-$AC7E is a run of title
screens, $B431-$B697 is two NES palettes and the ranking titles, and
$D93B/$D9C8/$B2E5 are the RING OUT / TIME OVER / WINNER messages.  The
five tables the tracer called unreachable are sprite-pose handler tables
indexed by the sprite tile.

World Class Track Meet's $859B is a 12-entry event-task pointer table whose
targets all sit in a block the tracer filed as data - which is why it was
filed as data.  Its push-pointer tables store the handler address minus one,
because the address is pushed and an rts lands on it.

Wild Gunman's earlier Pass 3 was hollow: the tracer reached 49.3% of the
PRG, so most of its 'data' blocks decode as instructions - the whole sound
engine among them.  The wrong SpritePositionTable name is gone.

Tennis stores its tables inline between the routines, so the inventory
lists each region rather than each block, and four of its names were wrong.

**Root README.**  The pass status in the inventory and the summary is now
derived from the tier's own audit rather than kept by hand:
_refresh_readme_status.py_ rewrites the column from what
_audit_promoted.py_ finds.

Every project still prints Byte-identical ROM verified.

Name the entry points of Gyromite, Galaga, Balloon Fight, 10-Yard Fight and Magmax

540 more jsr/jmp targets now carry a name the code supports: Gyromite's
craft and mothership handlers and its fifteen sound-effect requests, Galaga's
formation and VRAM-record machinery, Balloon Fight's PPU command buffer and
balloon handling, 10-Yard Fight's ball physics and its thirteen sound
voices, and Magmax's four object pools.

Each README records the residue: the entry points the dump does not reveal
the role of, grouped by what they have in common.

Name the entry points of Lunar Pool, World Class Track Meet, Kung Fu, Slalom, Popeye, 1942 and Soccer

1,159 more jsr/jmp targets now carry a name the code supports.

Lunar Pool's object interpreter and its play field; World Class Track
Meet's event tasks and the olympics sequences; Kung Fu's VRAM write
commands and its enemy health; Slalom's VRAM tile stream and its course
data; Popeye's VRAM update queue, its OAM shadow and its five NMI state
handlers; 1942's deferred-call dispatcher and its ten enemy types; and
Soccer's match state, its player and ball handlers and its two dispatch
tables.

Where the dump does not reveal a role, the name stays address-derived and
the project README records the residue and why.

Root README: take the pass status from the tier's audit

refresh_readme_status.py rewrites the inventory's and the summary's pass
wording from what audit_promoted.py finds, so the two cannot disagree.
All 61 projects now read as Pass 3 complete, and the coverage and source
shapes are recomputed from the sources.

Remaining entry-point naming

Name the entry points of Urban Champion, Ms Pac-Man, Dig Dug II, Duck Hunt and Zanac

665 more jsr/jmp targets now carry a name the code supports.

Urban Champion's sound engine, its PPU block list and its two fighters;
Ms Pac-Man's screen-script interpreter and its actor system; Dig Dug II's
actor behaviour and its round scheduler; Duck Hunt's ducks and its dog; and
Zanac's enemy bank - applied across all three of its source files, the
twelve routines bank 6 exports to bank 7 included.

Ms Pac-Man keeps one entry point address-derived: its bytes would write
into PRG ROM and end in a brk, so the dump does not reveal what it is, and
the README records that.

CHANGELOG: record the entry-point naming

Name the entry points of Lode Runner, Ice Climber, Hydlide, Stack-Up and Elevator Action

Re-align the audit comments to the canonical column

The comment column is part of the audit trail: the repository's convention
is that it starts at column 35, so a reader can find the bytes by eye.
Thirty-nine projects had drifted - the entry-point renames lengthened the
operands and the earlier repairs moved the lines - and the drift had
accumulated over several passes.

align_audit_comments.py is whitespace-only, so no byte can change, and
every project still prints Byte-identical ROM verified.

Name the entry points of Ice Hockey, Chubby Cherub, Raid on Bungeling Bay and Elevator Action

1,127 more jsr/jmp targets now carry a name the code supports.

Ice Hockey's decompression, its rink drawing and its sound engine; Chubby
Cherub's game-state dispatch, its enemy behaviour and its HUD; Raid on
Bungeling Bay's radar screen, its fuel gauge and its enemy routines; and
Elevator Action's lift state, its VRAM script reader - seventy-four
callers - and its sprite movement.

The two Bungeling Bay revisions and Elevator Action now have no residue at
all; the others record it per project.

CHANGELOG: record the audit-comment re-alignment

Remaining entry-point naming

Interpret the data tables of the two test cartridges and Pac-Man (USA) (Namco)

**Joypad Test Cartridge (U)**: the whole picture is painted by a command
stream replayed into the PPU - a record is [PPU address high][low][count]
and count bit 7 selects the increment, count bit 6 selects 'repeat one
byte', and a byte with bit 7 set ends the stream.  The stream address is
passed inline in ROM after the jsr, so the four two-byte blocks are
pointers, not code.

**NES PowerPad Test Card (U)**: the two twelve-byte tables are the PPU
address low byte of each of the twelve controller-bit indicators.  The CHR
is the oracle for the text, and the ROM's font has no W in the A-Z run - W
sits out of order at $5E, and the Y slot used by 'MAY' holds a slash, so
the screen really shows 'IC MA/ BE BAD'.

**Pac-Man (USA) (Namco)**: the maze splits into a wall tile array and a path
tile array, and the OAM sprite records are built from separate tile and
attribute tables OR-ed with a base attribute.  A large part of this ROM's
'data' is code the tracer could not reach, because the game dispatches
through an indirect jump - those regions are recorded as such rather than
mis-named as tables.

CHANGELOG: record the tier reaching completion

Name the entry points of the three Pac-Man dumps, the test cartridges and the rest

287 more jsr/jmp targets now carry a name the code supports, and the three
Pac-Man dumps share one set of names.

Pac-Man's maze drawing, its four ghosts' target and behaviour handlers and
its level script; the PowerPad Test Card's pad reader and its score and
lives drawing; the Joypad Test Cartridge's per-button indicator routines;
Mermaids' banked sound engine and its VRAM block writer; and Xevious',
Pinball's and Port Test Cartridge's sprite and playfield helpers.

Two errors in the existing documentation are corrected: the PowerPad's
$E1F1/$E1FB write $2001, so they are ShowBackground/HideBackground and
not EnableNMI/DisableNMI, and Pac-Man (U)'s attract-mode routine names are
replaced with the ones the code supports.

Every project still prints Byte-identical ROM verified.

CHANGELOG: the final entry-point numbers
2026-10-22 00:33:54 -04:00

41 KiB

18000Sub_8000
2801ASub_OnNonzero
38026Sub_OnNonzero2
4802FSub_Loop
5803DSub_OnNonnegative
6803FSub_OnNonzero3
79BF0Sub_9BF0
89BF3Sub_9BF3
99BF6Sub_9BF6
109BF9Sub_9BF9
119BFDSub_OnNonzero4
129C05Sub_OnNonnegative2
139C1ASub_9C1A
149C2ESub_Loop2
159C39Sub_Loop3
169C3ASub_9C3A
179C48Sub_Loop4
189C5ESub_Loop5
199C61Sub_Loop6
209C7FSub_Loop7
219C9ASub_Loop8
229CAFSub_Loop9
239CC4Sub_Loop10
249CCASub_9CCA
259CD3Sub_Loop11
269CDBSub_Loop12
279CDESub_Loop13
289CEDSub_Loop14
299CFFSub_Loop15
309D10Sub_Loop16
319D16Sub_Loop17
329D29Sub_Loop18
339D3ASub_Loop19
349D40Sub_Loop20
359D53Sub_Loop21
369D5FSub_Loop22
379D6CSub_Loop23
389D71Sub_Loop24
399D8ESub_Loop25
409DA7Sub_Loop26
419DA8Sub_9DA8
429DBCSub_OnNonzero5
439DC4Sub_Loop27
449DCCSub_9DCC
459DDASub_Loop28
469DDESub_9DDE
479DE3Sub_Loop29
489DEBSub_Loop30
499DF1Sub_Loop31
509DF9Sub_Loop32
519E02Sub_Loop33
529E1DSub_Loop34
539E22Sub_Loop35
549E3ASubC9E3A
559E45Sub_Loop36
569E4DSub_Loop37
579E4FSub_Loop38
589E52Sub_Loop39
599E78Sub_9E78
609E86Sub_Loop40
619E91Sub_Loop41
629E93Sub_Loop42
639E9FSub_Loop43
649EABSub_Loop44
659EB7Sub_Loop45
669EC7Sub_Loop46
679ECBSub_9ECB
689F13Sub_Loop47
699F22Sub_9F22
709F43Sub_Loop48
719F4CSub_9F4C
729F5ASub_Loop49
739F6FSub_OnCarryClear
749F8BSub_Loop50
759F9CSub_9F9C
769FAASub_9FAA
779FC1Sub_OnNonnegative3
789FCCSub_OnNonnegative4
799FD5Sub_Loop51
809FD9Sub_Loop52
819FEBSub_9FEB
82A03FSub_Loop53
83A048Sub_Loop54
84A05ESub_Loop55
85A061Sub_Loop56
86A069Sub_Loop57
87A06ASub_Loop58
88A070Sub_OnZero
89A089Sub_Loop59
90A0ACSub_OnNonzero6
91A0BDSub_Loop60
92A0FCSub_A0FC
93A116Sub_Loop61
94A11FSub_A11F
95A129Sub_OnNonnegative5
96A131SubCA131
97A152SubCA152
98A165SubCA165
99A17ESubCA17E
100A192Sub_Loop62
101A199SubCA199
102A1A7SubCA1A7
103A1A8Sub_OnNonzero7
104A1B4SubCA1B4
105A1BESubCA1BE
106A1CFSubCA1CF
107A1D6SubCA1D6
108A1DDSubCA1DD
109A1E8Sub_Loop63
110A1E9SubCA1E9
111A1FESubCA1FE
112A214SubCA214
113A22ASubCA22A
114A22DSub_OnNonzero8
115A239SubCA239
116A241SubCA241
117A249SubCA249
118A253SubCA253
119A25DSubCA25D
120A268SubCA268
121A273SubCA273
122A303SubCA303
123A35CSub_A35C
124A36FSub_A36F
125A9F1Sub_A9F1
126A9F4Sub_A9F4
127A9F7Sub_A9F7
128AA1DSub_AA1D
129AA3CSub_Loop64
130AA48Sub_Loop65
131AA7CSub_AA7C
132AA7DSubCAA7D
133AAB1SubCAAB1
134AADDSub_Loop66
135AC9ASub_AC9A
136ACABSub_Loop67
137ACBFSub_Loop68
138AD0CSubCAD0C
139AD15SubCAD15
140AD2BSub_Loop69
141AD39Sub_Loop70
142AD3DSub_AD3D
143AD9DSubCAD9D
144ADB1SubCADB1
145ADCDSub_Loop71
146ADCFSubCADCF
147ADF1Sub_Loop72
148ADF9Sub_Loop73
149AFA0SubCAFA0
150AFA4SubCAFA4
151AFB8SubCAFB8
152AFDASub_Loop74
153AFDESub_Loop75
154B004Sub_Loop76
155B007Sub_B007
156B0C1SubCB0C1
157B0C8SubCB0C8
158B0D5SubCB0D5
159B0DFSub_Loop77
160B0EBSub_Loop78
161B102Sub_Loop79
162B108Sub_Loop80
163B10ESub_Loop81
164B114Sub_B114
165B12ESub_Loop82
166B138Sub_Loop83
167B193Sub_Loop84
168B198Sub_Loop85
169B1A3Sub_Loop86
170B1A9Sub_Loop87
171B1B2Sub_Loop88
172B1B5Sub_B1B5
173B1BBSub_Loop89
174B1C4Sub_Loop90
175B1CESub_Loop91
176B1DDSub_Loop92
177B1E4Sub_Loop93
178B1FFSub_Loop94
179B205Sub_B205
180B20DSub_Loop95
181B217Sub_Loop96
182B21DSub_Loop97
183B221Sub_B221
184B2C6SubCB2C6
185B2D9Sub_Loop98
186B3CASubCB3CA
187B3D2SubCB3D2
188B3D7Sub_B3D7
189B414SubCB414
190B42ESub_Loop99
191B698SubCB698
192B6A5SubCB6A5
193B6AESub_Loop100
194B6B1SubCB6B1
195B6D3Sub_Loop101
196B6E7Sub_Loop102
197B6EESub_Loop103
198B6F7Sub_Loop104
199B706Sub_Loop105
200B70FSub_Loop106
201B718Sub_Loop107
202B724Sub_Loop108
203B72ASub_Loop109
204B736Sub_Loop110
205B73CSub_B73C
206B747Sub_Loop111
207B754Sub_Loop112
208B762Sub_Loop113
209B7D4Sub_Loop114
210B7DFSub_Loop115
211B7F4Sub_Loop116
212B7FCSub_Loop117
213B811Sub_Loop118
214B821SubCB821
215B82DSub_Loop119
216B830Sub_B830
217B835Sub_Loop120
218B837Sub_B837
219B83ASub_B83A
220B83DSubCB83D
221B847Sub_Loop121
222B86ASub_Loop122
223B877Sub_Loop123
224B87FSub_Loop124
225B886Sub_Loop125
226B88BSubCB88B
227B897Sub_Loop126
228B8A7Sub_Loop127
229B8AESub_Loop128
230B8B0Sub_B8B0
231B8B3SubCB8B3
232B8B6SubCB8B6
233B8CDSub_Loop129
234B8EESub_B8EE
235B8F7Sub_Loop130
236B8FCSub_Loop131
237B90DSub_B90D
238B928Sub_Loop132
239B94DSub_Loop133
240B957Sub_Loop134
241B97ASub_B97A
242B9C0SubCB9C0
243B9C8Sub_OnNonzero9
244B9DESub_Loop135
245BA70Sub_BA70
246BA88Sub_Loop136
247BA89Sub_BA89
248BA90Sub_Loop137
249BAA3Sub_Loop138
250BAB3Sub_OnZero2
251BACESub_BACE
252BACFSub_BACF
253BAD2Sub_BAD2
254BADASub_Loop139
255BADDSub_Loop140
256BB02Sub_Loop141
257BB19Sub_Loop142
258BB27Sub_Loop143
259BB2ASub_Loop144
260BB30Sub_Loop145
261BB3CSub_BB3C
262BB4ASub_Loop146
263BB67Sub_Loop147
264BB6CSub_Loop148
265BB74Sub_BB74
266BB91Sub_Loop149
267BB9DSub_Loop150
268BBACSub_Loop151
269BBAESub_BBAE
270BBAFSub_BBAF
271BBCESub_Loop152
272BBDBSub_Loop153
273BBEASub_Loop154
274BBF9Sub_Loop155
275BC04Sub_Loop156
276BC18Sub_Loop157
277BC1CSub_BC1C
278BC21Sub_Loop158
279BC3FSub_Loop159
280BC43Sub_Loop160
281BC46Sub_Loop161
282BC48Sub_BC48
283BC55Sub_Loop162
284BC59Sub_BC59
285BC61Sub_Loop163
286BC69Sub_Loop164
287BC81Sub_Loop165
288BC8DSub_Loop166
289BC9DSub_Loop167
290BCA6Sub_BCA6
291BCCFSub_Loop168
292BCDFSub_Loop169
293BD05Sub_Loop170
294BD17Sub_Loop171
295BD2BSub_BD2B
296BD2DSub_BD2D
297BD2ESub_BD2E
298BD67Sub_Loop172
299BD71Sub_BD71
300BD86Sub_Loop173
301BD95Sub_Loop174
302BD97Sub_BD97
303BD98Sub_BD98
304BDA2Sub_Loop175
305BDAESub_Loop176
306BDC3SubCBDC3
307BDEASub_Loop177
308BDF9Sub_Loop178
309BE0DSub_Loop179
310BE22Sub_Loop180
311BE2CSub_BE2C
312BE35Sub_BE35
313BE3CSub_Loop181
314BE3ESub_Loop182
315BE42Sub_BE42
316BE49Sub_Loop183
317BE56Sub_Loop184
318BE78Sub_Loop185
319BE96Sub_Loop186
320BEB3Sub_Loop187
321BEB8Sub_BEB8
322BED2Sub_Loop188
323BEEBSub_Loop189
324BEFDSub_Loop190
325BF00Sub_Loop191
326BF0ASub_Loop192
327BF0DSub_Loop193
328BF10Sub_Loop194
329BF15Sub_Loop195
330BF2FSub_Loop196
331BF39Sub_Loop197
332BF3ESub_BF3E
333BF3FSubCBF3F
334BF4FSub_Loop198
335BF61SubCBF61
336BF68SubCBF68
337BF78Sub_Loop199
338BF8ASubCBF8A
339BFA4Sub_Loop200
340BFABSubCBFAB
341BFB2Sub_Loop201
342BFC0SubCBFC0
343BFC7Sub_Loop202
344BFE8SubCBFE8
345BFE9Sub_BFE9
346BFEDSub_BFED
347C00DSub_C00D
348C017Sub_Loop203
349C02CSubCC02C
350C040SubCC040
351C04CSub_Loop204
352C05ESub_Loop205
353C060SubCC060
354C068Sub_Loop206
355C070Sub_Loop207
356C079Sub_C079
357C080Sub_Loop208
358C082Sub_Loop209
359C09DSub_Loop210
360C0B5Sub_Loop211
361C0D0Sub_Loop212
362C0D4SubCC0D4
363C0F2Sub_Loop213
364C117Sub_Loop214
365C134Sub_Loop215
366C13BSub_Loop216
367C14ASub_Loop217
368C15ASub_Loop218
369C15ESub_Loop219
370C16ESub_Loop220
371C172Sub_Loop221
372C182Sub_Loop222
373C186Sub_C186
374C196Sub_Loop223
375C197Sub_C197
376C1B1Sub_Loop224
377C1C2Sub_C1C2
378C1EDSub_Loop225
379C1F3Sub_C1F3
380C1F8Sub_Loop226
381C202Sub_Loop227
382C208Sub_Loop228
383C216Sub_Loop229
384C219Sub_Loop230
385C226Sub_Loop231
386C22ESub_C22E
387C239Sub_Loop232
388C248Sub_Loop233
389C253Sub_Loop234
390C260Sub_Loop235
391C269Sub_Loop236
392C26FSub_Loop237
393C27FSub_Loop238
394C28CSub_Loop239
395C29ASub_Loop240
396C2A7Sub_Loop241
397C2B1Sub_Loop242
398C2BDSub_C2BD
399C2BESubCC2BE
400C2CESub_Loop243
401C2E0SubCC2E0
402C2E7SubCC2E7
403C2F7Sub_Loop244
404C309SubCC309
405C328Sub_Loop245
406C33ASub_Loop246
407C341SubCC341
408C348Sub_Loop247
409C356SubCC356
410C35DSub_Loop248
411C37ESub_C37E
412C382Sub_C382
413C39FSub_C39F
414C3A9Sub_Loop249
415C3B5Sub_Loop250
416C3CASubCC3CA
417C3CDSubCC3CD
418C3D0Sub_C3D0
419C3E4Sub_Loop251
420C3FFSub_C3FF
421C406Sub_Loop252
422C408Sub_Loop253
423C40CSub_C40C
424C415Sub_Loop254
425C422Sub_Loop255
426C444Sub_Loop256
427C462Sub_Loop257
428C477Sub_Loop258
429C479Sub_C479
430C4A6Sub_Loop259
431C4ABSub_Loop260
432C4B0Sub_Loop261
433C4B5Sub_Loop262
434C4B7Sub_C4B7
435C4DASub_C4DA
436C4EFSub_Loop263
437C4F6Sub_Loop264
438C4F9Sub_Loop265
439C50BSub_Loop266
440C50ESub_Loop267
441C518Sub_Loop268
442C51BSub_Loop269
443C531Sub_Loop270
444C534Sub_Loop271
445C53DSub_Loop272
446C53FSub_C53F
447C55ASub_Loop273
448C566Sub_Loop274
449C572Sub_Loop275
450C577Sub_C577
451C591Sub_Loop276
452C59BSub_C59B
453C59DSub_C59D
454C5B8Sub_Loop277
455C5C4Sub_Loop278
456C5D0Sub_Loop279
457C5D2Sub_C5D2
458C5D6Sub_C5D6
459C5E8Sub_Loop280
460C5E9SubCC5E9
461C5F9Sub_Loop281
462C60BSubCC60B
463C612SubCC612
464C622Sub_Loop282
465C634SubCC634
466C636SubCC636
467C64ESub_Loop283
468C655SubCC655
469C65CSub_Loop284
470C66ASubCC66A
471C671Sub_Loop285
472C692SubCC692
473C693Sub_C693
474C697Sub_C697
475C69ASubCC69A
476C6CESub_C6CE
477C6E6Sub_Loop286
478C6EDSub_Loop287
479C6F7Sub_Loop288
480C706Sub_Loop289
481C70ASubCC70A
482C712Sub_C712
483C727Sub_C727
484C731Sub_Loop290
485C745Sub_Loop291
486C747Sub_C747
487C752Sub_Loop292
488C773Sub_Loop293
489C788Sub_Loop294
490C7A3Sub_Loop295
491C7B5Sub_C7B5
492C7C0Sub_Loop296
493C7C2Sub_C7C2
494C7D0Sub_C7D0
495C7F9Sub_C7F9
496C7FASub_C7FA
497C81CSub_Loop297
498C82ASub_Loop298
499C83FSubCC83F
500C84BSub_Loop299
501C852Sub_Loop300
502C876Sub_Loop301
503C87ESub_C87E
504C885Sub_Loop302
505C88DSub_Loop303
506C899Sub_Loop304
507C8B5Sub_Loop305
508C8BDSub_C8BD
509C8C4Sub_Loop306
510C8CCSub_Loop307
511C8D5Sub_C8D5
512C8DDSubCC8DD
513C8E0SubCC8E0
514C8F1Sub_Loop308
515C8FCSub_Loop309
516C903Sub_Loop310
517C90FSub_Loop311
518C92ESub_Loop312
519C939Sub_Loop313
520C943Sub_Loop314
521C94FSub_Loop315
522C96ESub_Loop316
523C979Sub_Loop317
524C980Sub_Loop318
525C989Sub_C989
526C999Sub_Loop319
527C99CSub_C99C
528C9A9Sub_Loop320
529C9CDSub_Loop321
530C9E6Sub_Loop322
531C9EESub_Loop323
532C9F5Sub_Loop324
533CA1BSub_Loop325
534CA2DSub_Loop326
535CA35SubCCA35
536CA42Sub_Loop327
537CA49Sub_Loop328
538CA63Sub_Loop329
539CA73Sub_CA73
540CA78Sub_Loop330
541CA7BSubCCA7B
542CA81Sub_CA81
543CA94Sub_Loop331
544CAA0Sub_Loop332
545CAAFSub_Loop333
546CAB8Sub_CAB8
547CAC0Sub_Loop334
548CAC3SubCCAC3
549CAC9Sub_CAC9
550CADESub_Loop335
551CAE9Sub_CAE9
552CAF1Sub_Loop336
553CAF4SubCCAF4
554CB0ASub_Loop337
555CB16Sub_Loop338
556CB1ESub_Loop339
557CB27Sub_CB27
558CB2CSub_Loop340
559CB33Sub_Loop341
560CB3DSub_Loop342
561CB44Sub_Loop343
562CB50Sub_Loop344
563CB5BSub_Loop345
564CB64Sub_Loop346
565CB7ASubCCB7A
566CB97Sub_Loop347
567CB9CSub_CB9C
568CBA8Sub_Loop348
569CBAFSub_Loop349
570CBBFSub_Loop350
571CBC4Sub_CBC4
572CBCESub_Loop351
573CBD5Sub_Loop352
574CBE6Sub_Loop353
575CBF7Sub_Loop354
576CC08Sub_CC08
577CC21Sub_Loop355
578CC28Sub_Loop356
579CC33Sub_Loop357
580CC3ASub_Loop358
581CC40Sub_Loop359
582CC4ESub_Loop360
583CC58Sub_Loop361
584CC60Sub_Loop362
585CC67Sub_Loop363
586CC6ASub_Loop364
587CC7FSub_Loop365
588CC90Sub_Loop366
589CCA0Sub_Loop367
590CCA5Sub_CCA5
591CCA7Sub_CCA7
592CCAASub_CCAA
593CCB1Sub_Loop368
594CCD0Sub_Loop369
595CCDCSub_Loop370
596CCE4Sub_Loop371
597CCEDSub_CCED
598CCF5Sub_Loop372
599CCFDSub_Loop373
600CD0ESub_CD0E
601CD15Sub_Loop374
602CD28Sub_Loop375
603CD39SubCCD39
604CD52Sub_Loop376
605CD63Sub_Loop377
606CD6ASub_Loop378
607CD7FSub_Loop379
608CD86Sub_Loop380
609CDACSub_Loop381
610CDB6Sub_CDB6
611CDBDSub_Loop382
612CDCDSub_Loop383
613CDE2Sub_Loop384
614CE00Sub_Loop385
615CE0ASub_CE0A
616CE11Sub_Loop386
617CE26Sub_Loop387
618CE34Sub_CE34
619CE3CSubCCE3C
620CE55Sub_Loop388
621CE66Sub_Loop389
622CE6DSub_Loop390
623CE7DSub_Loop391
624CE82Sub_CE82
625CE8CSub_Loop392
626CE94Sub_Loop393
627CEA1Sub_Loop394
628CEA4Sub_Loop395
629CEBASub_Loop396
630CEC3Sub_Loop397
631CECBSub_Loop398
632CED7Sub_Loop399
633CEEASub_Loop400
634CEF6Sub_Loop401
635CEFCSub_Loop402
636CEFFSub_Loop403
637CF11Sub_Loop404
638CF24Sub_Loop405
639CF30Sub_Loop406
640CF3FSub_Loop407
641CF48Sub_CF48
642CF4BSub_Loop408
643CF5DSub_Loop409
644CF64Sub_CF64
645CF67Sub_CF67
646CF6ESub_CF6E
647CF71SubCCF71
648CF7ESub_Loop410
649CF8ASub_Loop411
650CF96Sub_Loop412
651CF9ESub_Loop413
652CFA7Sub_CFA7
653CFAASub_Loop414
654CFC5Sub_Loop415
655CFDASub_Loop416
656CFECSub_Loop417
657CFEFSub_Loop418
658D006Sub_Loop419
659D01BSub_Loop420
660D02BSub_Loop421
661D02ESub_D02E
662D031Sub_D031
663D04ESub_Loop422
664D055Sub_Loop423
665D068Sub_Loop424
666D074Sub_Loop425
667D083Sub_Loop426
668D08CSub_D08C
669D08FSubCD08F
670D09CSub_Loop427
671D0A4Sub_Loop428
672D0C1Sub_Loop429
673D0C6Sub_Loop430
674D0D1Sub_Loop431
675D0D6Sub_Loop432
676D0DESub_Loop433
677D0E5Sub_Loop434
678D101Sub_Loop435
679D10DSub_Loop436
680D11CSub_Loop437
681D125Sub_D125
682D12DSubCD12D
683D148Sub_Loop438
684D15DSub_Loop439
685D16BSub_Loop440
686D16ESub_Loop441
687D173Sub_Loop442
688D17DSub_Loop443
689D185SubCD185
690D187Sub_Loop444
691D18ESub_D18E
692D196Sub_Loop445
693D1BESub_Loop446
694D1D1Sub_Loop447
695D1D5Sub_D1D5
696D1EASub_Loop448
697D1F5Sub_Loop449
698D1F7Sub_Loop450
699D223Sub_Loop451
700D23BSub_Loop452
701D244Sub_Loop453
702D246Sub_Loop454
703D262Sub_Loop455
704D26BSub_Loop456
705D270Sub_Loop457
706D29BSub_Loop458
707D2A9Sub_Loop459
708D2B9Sub_Loop460
709D2BBSub_D2BB
710D2C5Sub_Loop461
711D2D5Sub_Loop462
712D2DDSub_D2DD
713D2E2Sub_D2E2
714D2E4Sub_D2E4
715D2E8Sub_D2E8
716D2FFSub_D2FF
717D304Sub_D304
718D332Sub_D332
719D333Sub_D333
720D33FSub_Loop463
721D34BSub_Loop464
722D353Sub_Loop465
723D35CSub_D35C
724D35DSub_D35D
725D369Sub_Loop466
726D375Sub_Loop467
727D37DSub_Loop468
728D386Sub_D386
729D387Sub_D387
730D3A5Sub_Loop469
731D3B5Sub_D3B5
732D3BASub_Loop470
733D3BCSub_D3BC
734D3BDSub_D3BD
735D3DFSub_Loop471
736D3F0Sub_Loop472
737D3F2Sub_D3F2
738D3F3Sub_D3F3
739D408Sub_Loop473
740D41ASub_Loop474
741D421Sub_Loop475
742D42CSub_Loop476
743D430Sub_D430
744D435Sub_Loop477
745D437Sub_D437
746D438Sub_D438
747D440Sub_Loop478
748D448Sub_Loop479
749D4AESub_D4AE
750D4AFSub_D4AF
751D4D8Sub_Loop480
752D4E7Sub_Loop481
753D520Sub_Loop482
754D538Sub_Loop483
755D53FSub_Loop484
756D553Sub_Loop485
757D565Sub_Loop486
758D583Sub_Loop487
759D588Sub_Loop488
760D58ESub_D58E
761D5B4Sub_Loop489
762D5C3Sub_Loop490
763D5CBSub_Loop491
764D5CCSub_D5CC
765D5E8Sub_Loop492
766D5EASub_Loop493
767D5EBSub_D5EB
768D5F9Sub_Loop494
769D60BSub_Loop495
770D614Sub_Loop496
771D615Sub_D615
772D61FSub_Loop497
773D632Sub_Loop498
774D639Sub_Loop499
775D640Sub_Loop500
776D647Sub_Loop501
777D64ESub_Loop502
778D653Sub_Loop503
779D66ASub_Loop504
780D66DSub_Loop505
781D674Sub_Loop506
782D67CSub_Loop507
783D67FSub_D67F
784D69FSub_Loop508
785D6A4Sub_Loop509
786D6AESub_Loop510
787D6B3Sub_Loop511
788D6D0Sub_Loop512
789D6D6Sub_D6D6
790D6DBSub_D6DB
791D6EESub_Loop513
792D701Sub_Loop514
793D70ASub_Loop515
794D714Sub_D714
795D719Sub_D719
796D73CSub_Loop516
797D740Sub_D740
798D74FSub_Loop517
799D755SubCD755
800D768Sub_D768
801D76BSub_D76B
802D772Sub_Loop518
803D782Sub_D782
804D789Sub_Loop519
805D7A6Sub_D7A6
806D7A9Sub_D7A9
807D7BESub_Loop520
808D7D1Sub_Loop521
809D7D8Sub_Loop522
810D7DASub_D7DA
811D7EFSub_Loop523
812D7F3SubCD7F3
813D7F5Sub_D7F5
814D7FCSub_Loop524
815D800Sub_D800
816D805Sub_Loop525
817D81CSub_Loop526
818D81FSub_Loop527
819D826Sub_Loop528
820D82ESub_Loop529
821D831Sub_D831
822D851Sub_Loop530
823D856Sub_Loop531
824D860Sub_Loop532
825D865Sub_Loop533
826D882Sub_Loop534
827D888Sub_D888
828D88DSub_D88D
829D8A0Sub_Loop535
830D8B3Sub_Loop536
831D8BCSub_Loop537
832D8C6Sub_D8C6
833D8C8Sub_D8C8
834D8D2Sub_Loop538
835D8E2Sub_Loop539
836D8E3SubCD8E3
837D8E4SubCD8E4
838D8EDSub_D8ED
839D91ESub_Loop540
840D938Sub_Loop541
841D93ASub_Loop542
842D948Sub_D948
843D94FSub_Loop543
844D96DSub_Loop544
845D97ASub_Loop545
846D987Sub_Loop546
847D993Sub_Loop547
848D9A2Sub_Loop548
849D9B9Sub_Loop549
850D9C7Sub_Loop550
851D9E6Sub_D9E6
852DA02SubCDA02
853DA16Sub_Loop551
854DA1FSub_Loop552
855DA26Sub_Loop553
856DA29SubCDA29
857DA2ESubCDA2E
858DA33SubCDA33
859DA3BSub_Loop554
860DA42Sub_Loop555
861DA47SubCDA47
862DA48SubCDA48
863DA49SubCDA49
864DA4ASubCDA4A
865DA4CSub_DA4C
866DA57SubCDA57
867DA58Sub_Loop556
868DA75Sub_Loop557
869DA9CSub_DA9C
870DAB8SubCDAB8
871DACCSub_Loop558
872DAD5Sub_Loop559
873DADCSub_Loop560
874DADFSubCDADF
875DAE4SubCDAE4
876DAE9SubCDAE9
877DAF1Sub_Loop561
878DAF8Sub_Loop562
879DAFDSubCDAFD
880DAFESubCDAFE
881DAFFSubCDAFF
882DB00SubCDB00
883DB02Sub_DB02
884DB0DSubCDB0D
885DB0ESub_Loop563
886DB3BSub_DB3B
887DB49Sub_Loop564
888DB5DSub_Loop565
889DB71Sub_Loop566
890DBA8Sub_Loop567
891DBAESub_Loop568
892DBC1Sub_Loop569
893DBF8Sub_Loop570
894DBFESub_Loop571
895DC15Sub_Loop572
896DC19Sub_DC19
897DC2ASub_Loop573
898DC33Sub_OnNonzero10
899DC54Sub_Loop574
900DC5ASub_Loop575
901DC64Sub_DC64
902DC6BSub_Loop576
903DC79Sub_Loop577
904DC87Sub_Loop578
905DC9CSubCDC9C
906DC9FSubCDC9F
907DCB1Sub_Loop579
908DCB4Sub_Loop580
909DCBESub_Loop581
910DCC4Sub_Loop582
911DCCESub_Loop583
912DCD4Sub_Loop584
913DCDASubCDCDA
914DCDDSub_DCDD
915DCEASub_Loop585
916DCEDSub_Loop586
917DD01Sub_Loop587
918DD09Sub_Loop588
919DD10Sub_Loop589
920DD13Sub_Loop590
921DD1ESub_Loop591
922DD25Sub_Loop592
923DD28Sub_Loop593
924DD3DSub_Loop594
925DD47Sub_Loop595
926DD4FSub_Loop596
927DD57Sub_Loop597
928DD5ESub_Loop598
929DD72Sub_Loop599
930DD7ASub_Loop600
931DD81Sub_Loop601
932DD84Sub_Loop602
933DD93Sub_Loop603
934DD9ASub_Loop604
935DD9DSub_Loop605
936DDB6Sub_Loop606
937DDC0Sub_Loop607
938DDC8Sub_Loop608
939DDD0Sub_Loop609
940DDD7Sub_Loop610
941DDDASub_DDDA
942DDE0SubCDDE0
943DDE3SubCDDE3
944DDE6SubCDDE6
945DDE9SubCDDE9
946DDF5Sub_Loop611
947DDFBSubCDDFB
948DE04Sub_Loop612
949DE07SubCDE07
950DE1DSub_Loop613
951DE20Sub_Loop614
952DE26Sub_Loop615
953DE2CSub_Loop616
954DE32Sub_Loop617
955DE35SubCDE35
956DEBCSub_DEBC
957DEC7Sub_Loop618
958DEF5Sub_Loop619
959DF09Sub_Loop620
960DF10Sub_Loop621
961DF2BSub_Loop622
962DF32Sub_Loop623
963DF35Sub_Loop624
964DF3CSub_Loop625
965DF44Sub_Loop626
966DF47Sub_Loop627
967DF4FSub_Loop628
968DF56Sub_Loop629
969DF59Sub_Loop630
970DF61Sub_Loop631
971DF69Sub_Loop632
972DF79Sub_Loop633
973DF8BSub_Loop634
974DF93Sub_Loop635
975DFB2Sub_DFB2
976DFB3Sub_DFB3
977DFC4Sub_Loop636
978DFC7Sub_DFC7
979DFC8Sub_DFC8
980DFD9Sub_Loop637
981DFDCSub_DFDC
982DFDDSub_DFDD
983DFE4Sub_DFE4
984DFEBSub_Loop638
985DFEFSub_Loop639
986DFF3Sub_DFF3
987E014SubCE014
988E017SubCE017
989E1AASub_E1AA
990E1C7Sub_Loop640
991E1C9Sub_OnNonzero11
992E1E2Sub_Loop641
993E1E4Sub_OnNonzero12
994E1F1Sub_Loop642
995E201Sub_Loop643
996E213Sub_Loop644
997E21BSub_Loop645
998E232Sub_Loop646
999E244Sub_OnNonzero13
1000E252Sub_Loop647
1001E2D2Sub_E2D2
1002E2E1Sub_Loop648
1003E30ESub_Loop649
1004E317Sub_Loop650
1005E341Sub_E341
1006E342Sub_E342
1007E34ESub_Loop651
1008E355Sub_Loop652
1009E365Sub_E365
1010E378Sub_E378
1011E397Sub_Loop653
1012E3B4Sub_Loop654
1013E3D1Sub_Loop655
1014E3D6Sub_E3D6
1015E3F3Sub_Loop656
1016E400Sub_Loop657
1017E401Sub_E401
1018E40BSub_Loop658
1019E430Sub_Loop659
1020E438Sub_Loop660
1021E43DSub_Loop661
1022E440Sub_Loop662
1023E458Sub_Loop663
1024E45ESub_Loop664
1025E465Sub_Loop665
1026E478Sub_Loop666
1027E480Sub_Loop667
1028E4CDSub_E4CD
1029E534Sub_E534
1030E535Sub_E535
1031E53FSub_Loop668
1032E55DSub_Loop669
1033E565Sub_Loop670
1034E57DSub_Loop671
1035E583Sub_Loop672
1036E58ASub_Loop673
1037E59DSub_Loop674
1038E5ADSub_OnNonzero14
1039E5C0Sub_Loop675
1040E5C1Sub_E5C1
1041E5D6Sub_Loop676
1042E5F5Sub_Loop677
1043E5F6Sub_E5F6
1044E5FESub_Loop678
1045E60FSub_Loop679
1046E61ASub_OnNonzero15
1047E626Sub_E626
1048E62CSub_OnNonzero16
1049E635Sub_Loop680
1050E636Sub_E636
1051E652Sub_E652
1052E65ESub_OnNonzero17
1053E6FFSub_E6FF
1054E72BSub_Loop681
1055E73CSub_Loop682
1056E74DSub_Loop683
1057E7BFSub_E7BF
1058E7EASub_Loop684
1059E830Sub_E830
1060E871Sub_E871
1061E892Sub_Loop685
1062E8B3Sub_E8B3
1063E8CESub_E8CE
1064E8D5Sub_Loop686
1065E8E0Sub_Loop687
1066E8ECSub_Loop688
1067E8EFSub_Loop689
1068E8FBSub_Loop690
1069E901Sub_E901
1070E90DSub_Loop691
1071E91CSub_Loop692
1072E932Sub_E932
1073E93DSub_E93D
1074E94DSub_Loop693
1075E953Sub_Loop694
1076E955Sub_E955
1077E9C6Sub_E9C6
1078E9DCSub_Loop695
1079E9E0Sub_OnNonzero18
1080E9F2Sub_OnNonzero19
1081EA13Sub_Loop696
1082EA32Sub_OnNonzero20
1083EA5BSub_Loop697
1084EA5FSub_Loop698
1085EA67Sub_EA67
1086EA8BSub_Loop699
1087EA98Sub_OnNonzero21
1088EAA7Sub_Loop700
1089EAAFSub_Loop701
1090EAB9Sub_Loop702
1091EAC4Sub_Loop703
1092EACDSub_Loop704
1093EADESub_EADE
1094EAF6Sub_Loop705
1095EB1FSub_Loop706
1096EB39Sub_EB39
1097EB57Sub_Loop707
1098EB63Sub_OnNonzero22
1099EB7BSub_Loop708
1100EB81Sub_Loop709
1101EBAASub_Loop710
1102EBBBSub_Loop711
1103EBCASub_Loop712
1104EBD8Sub_EBD8
1105EBE4Sub_EBE4
1106EBFBSub_Loop713
1107EC08Sub_Loop714
1108EC10Sub_EC10
1109EC15Sub_Loop715
1110EC2CSub_Loop716
1111EC31Sub_Loop717
1112EC3ESub_Loop718
1113EC40Sub_Loop719
1114EC42Sub_Loop720
1115EC43Sub_EC43
1116EC54Sub_Loop721
1117EC69Sub_Loop722
1118EC7BSub_Loop723
1119EC80Sub_Loop724
1120ECA4Sub_Loop725
1121ECC9Sub_Loop726
1122ECD4Sub_Loop727
1123ECE1Sub_Loop728
1124ECEFSub_Loop729
1125ECF4Sub_Loop730
1126ED04Sub_Loop731
1127ED0CSub_ED0C
1128ED0DSubCED0D
1129ED0ESubCED0E
1130ED0FSubCED0F
1131ED14SubCED14
1132ED15SubCED15
1133ED16SubCED16
1134ED1BSubCED1B
1135ED22SubCED22
1136ED23SubCED23
1137ED4DSub_ED4D
1138ED7BSub_Loop732
1139ED85Sub_ED85
1140ED8BSub_Loop733
1141EDA4Sub_Loop734
1142EDAESub_EDAE
1143EDB4Sub_Loop735
1144EDC4SubCEDC4
1145EDC7SubCEDC7
1146EDCDSubCEDCD
1147EDD6SubCEDD6
1148EDDCSubCEDDC
1149EDE5SubCEDE5
1150EDEBSubCEDEB
1151EDF4SubCEDF4
1152EDFASubCEDFA
1153EE00Sub_EE00
1154EE05Sub_EE05
1155EE19Sub_Loop736
1156EE1BSub_Loop737
1157EE27Sub_Loop738
1158EE2DSub_Loop739
1159EE2ESub_EE2E
1160EE43Sub_Loop740
1161EE45Sub_Loop741
1162EE46Sub_EE46
1163EE5ASub_Loop742
1164EE5CSub_Loop743
1165EE5DSub_EE5D
1166EE72Sub_Loop744
1167EE74Sub_Loop745
1168EE87Sub_EE87
1169EEAFSub_Loop746
1170EEC5Sub_EEC5
1171EEC7Sub_OnNonzero23
1172EED9Sub_EED9
1173EEE7Sub_Loop747
1174EEEDSub_EEED
1175EF1ASub_Loop748
1176EF2BSub_Loop749
1177EF2FSub_EF2F
1178EF3BSub_EF3B
1179EF4BSub_EF4B
1180EF7ESub_Loop750
1181EF88Sub_Loop751
1182EF8DSub_EF8D
1183EF9DSub_EF9D
1184EFC0Sub_OnZero3
1185EFCCSub_Loop752
1186EFCDSubCEFCD
1187EFCFSubCEFCF
1188EFE0Sub_EFE0
1189F00FSub_Loop753
1190F010Sub_F010
1191F01CSub_F01C
1192F028Sub_F028
1193F036Sub_F036
1194F03CSub_Loop754
1195F03DSub_F03D
1196F058Sub_Loop755
1197F059Sub_F059
1198F060Sub_OnNonzero24
1199F069Sub_Loop756
1200F0BBSub_F0BB
1201F0D1Sub_Loop757
1202F0D5Sub_F0D5
1203F0DESub_OnNonzero25
1204F121Sub_F121
1205F13ASub_Loop758
1206F13DSub_Loop759
1207F156Sub_Loop760
1208F159Sub_Loop761
1209F15ASub_F15A
1210F16CSub_Loop762
1211F18DSub_Loop763
1212F192Sub_F192
1213F196Sub_F196
1214F1A2Sub_Loop764
1215F1C3Sub_F1C3
1216F1E8Sub_Loop765
1217F1FDSub_F1FD
1218F211Sub_Loop766
1219F21ESub_Loop767
1220F222Sub_Loop768
1221F226Sub_Loop769
1222F227Sub_F227
1223F228Sub_OnNonzero26
1224F22FSub_F22F
1225F238Sub_Loop770
1226F23FSub_Loop771
1227F255SubCF255
1228F272SubCF272
1229F27FSubCF27F
1230F28CSubCF28C
1231F299SubCF299
1232F2ACSubCF2AC
1233F2BBSubCF2BB
1234F2C1SubCF2C1
1235F2C4Sub_Loop772
1236F2CASub_Loop773
1237F2D5Sub_Loop774
1238FD13Sub_FD13
1239FD16SubCFD16
1240FD19Sub_FD19
1241FD1CSub_FD1C
1242FD1FSub_FD1F
1243FD22Sub_FD22
1244FD25SubCFD25
1245FD28Sub_FD28
1246FD2BSub_FD2B
1247FD2ESub_FD2E
1248FD31Sub_FD31
1249FD34Sub_FD34
1250FD37Sub_FD37
1251FD3ASub_FD3A
1252FD3DSubCFD3D
1253FD40Sub_FD40
1254FD43Reset
1255FD4DReset_OnNonnegative
1256FD52Reset_OnNonnegative2
1257FD85Sub_FD85
1258FD9CSub_FD9C
1259FDA4Sub_FDA4
1260FDB2Reset_OnNonzero
1261FDB8Reset_OnNonzero2
1262FDC0Reset_Loop
1263FDC5Reset_Loop2
1264FDC8Reset_OnZero
1265FDD1Sub_FDD1
1266FDD8Reset_OnNonnegative3
1267FDE3Sub_FDE3
1268FDF1Sub_FDF1
1269FDF5Reset_OnNonzero3
1270FE0DSub_FE0D
1271FE17Reset_OnNonzero4
1272FE1FReset_Loop3
1273FE28Reset_Loop4
1274FE34Sub_FE34
1275FE49Reset_Loop5
1276FE50Reset_OnNonzero5
1277FE6DSub_FE6D
1278FE78Reset_OnNonzero6
1279FE7FReset_Loop6
1280FE88Reset_Loop7
1281FEADReset_Loop8
1282FEC5Reset_Loop9
1283FECFReset_Loop10
1284FED6Reset_Loop11
1285FEF9Reset_Loop12
1286FF11Reset_Loop13
1287FF1BReset_Loop14
1288FF22Reset_Loop15
1289FF2ASub_FF2A
1290FF3DSub_FF3D
1291FF53Sub_FF53
1292FF5ASub_FF5A
1293FF65Sub_FF65
1294FF84Sub_FF84
1295FF89Sub_FF89
1296FF9DReset_Loop16
1297FFC0Reset_Loop17
1298FFC4Sub_FFC4
1299FFCDNmiHandler
1300# ---- derived internal branch-target names ----
13018000Sub_8000
1302801ASub_OnNonzero
13038026Sub_OnNonzero2
1304802FSub_Loop
1305803DSub_OnNonnegative
1306803FSub_OnNonzero3
13079BF0Sub_9BF0
13089BF3Sub_9BF3
13099BF6Sub_9BF6
13109BF9Sub_9BF9
13119BFDSub_OnNonzero4
13129C05Sub_OnNonnegative2
13139C1ASub_9C1A
13149C2ESub_Loop2
13159C39Sub_Loop3
13169C3ASub_9C3A
13179C48Sub_Loop4
13189C5ESub_Loop5
13199C61Sub_Loop6
13209C7FSub_Loop7
13219C9ASub_Loop8
13229CAFSub_Loop9
13239CC4Sub_Loop10
13249CCASub_9CCA
13259CD3Sub_Loop11
13269CDBSub_Loop12
13279CDESub_Loop13
13289CEDSub_Loop14
13299CFFSub_Loop15
13309D10Sub_Loop16
13319D16Sub_Loop17
13329D29Sub_Loop18
13339D3ASub_Loop19
13349D40Sub_Loop20
13359D53Sub_Loop21
13369D5FSub_Loop22
13379D6CSub_Loop23
13389D71Sub_Loop24
13399D8ESub_Loop25
13409DA7Sub_Loop26
13419DA8Sub_9DA8
13429DBCSub_OnNonzero5
13439DC4Sub_Loop27
13449DCCSub_9DCC
13459DDASub_Loop28
13469DDESub_9DDE
13479DE3Sub_Loop29
13489DEBSub_Loop30
13499DF1Sub_Loop31
13509DF9Sub_Loop32
13519E02Sub_Loop33
13529E1DSub_Loop34
13539E22Sub_Loop35
13549E3ASubC9E3A
13559E45Sub_Loop36
13569E4DSub_Loop37
13579E4FSub_Loop38
13589E52Sub_Loop39
13599E78Sub_9E78
13609E86Sub_Loop40
13619E91Sub_Loop41
13629E93Sub_Loop42
13639E9FSub_Loop43
13649EABSub_Loop44
13659EB7Sub_Loop45
13669EC7Sub_Loop46
13679ECBSub_9ECB
13689F13Sub_Loop47
13699F22Sub_9F22
13709F43Sub_Loop48
13719F4CSub_9F4C
13729F5ASub_Loop49
13739F6FSub_OnCarryClear
13749F8BSub_Loop50
13759F9CSub_9F9C
13769FAASub_9FAA
13779FC1Sub_OnNonnegative3
13789FCCSub_OnNonnegative4
13799FD5Sub_Loop51
13809FD9Sub_Loop52
13819FEBSub_9FEB
1382A03FSub_Loop53
1383A048Sub_Loop54
1384A05ESub_Loop55
1385A061Sub_Loop56
1386A069Sub_Loop57
1387A06ASub_Loop58
1388A070Sub_OnZero
1389A089Sub_Loop59
1390A0ACSub_OnNonzero6
1391A0BDSub_Loop60
1392A0FCSub_A0FC
1393A116Sub_Loop61
1394A11FSub_A11F
1395A129Sub_OnNonnegative5
1396A131SubCA131
1397A152SubCA152
1398A165SubCA165
1399A17ESubCA17E
1400A192Sub_Loop62
1401A199SubCA199
1402A1A7SubCA1A7
1403A1A8Sub_OnNonzero7
1404A1B4SubCA1B4
1405A1BESubCA1BE
1406A1CFSubCA1CF
1407A1D6SubCA1D6
1408A1DDSubCA1DD
1409A1E8Sub_Loop63
1410A1E9SubCA1E9
1411A1FESubCA1FE
1412A214SubCA214
1413A22ASubCA22A
1414A22DSub_OnNonzero8
1415A239SubCA239
1416A241SubCA241
1417A249SubCA249
1418A253SubCA253
1419A25DSubCA25D
1420A268SubCA268
1421A273SubCA273
1422A303SubCA303
1423A35CSub_A35C
1424A36FSub_A36F
1425A9F1Sub_A9F1
1426A9F4Sub_A9F4
1427A9F7Sub_A9F7
1428AA1DSub_AA1D
1429AA3CSub_Loop64
1430AA48Sub_Loop65
1431AA7CSub_AA7C
1432AA7DSubCAA7D
1433AAB1SubCAAB1
1434AADDSub_Loop66
1435AC9ASub_AC9A
1436ACABSub_Loop67
1437ACBFSub_Loop68
1438AD0CSubCAD0C
1439AD15SubCAD15
1440AD2BSub_Loop69
1441AD39Sub_Loop70
1442AD3DSub_AD3D
1443AD9DSubCAD9D
1444ADB1SubCADB1
1445ADCDSub_Loop71
1446ADCFSubCADCF
1447ADF1Sub_Loop72
1448ADF9Sub_Loop73
1449AFA0SubCAFA0
1450AFA4SubCAFA4
1451AFB8SubCAFB8
1452AFDASub_Loop74
1453AFDESub_Loop75
1454B004Sub_Loop76
1455B007Sub_B007
1456B0C1SubCB0C1
1457B0C8SubCB0C8
1458B0D5SubCB0D5
1459B0DFSub_Loop77
1460B0EBSub_Loop78
1461B102Sub_Loop79
1462B108Sub_Loop80
1463B10ESub_Loop81
1464B114Sub_B114
1465B12ESub_Loop82
1466B138Sub_Loop83
1467B193Sub_Loop84
1468B198Sub_Loop85
1469B1A3Sub_Loop86
1470B1A9Sub_Loop87
1471B1B2Sub_Loop88
1472B1B5Sub_B1B5
1473B1BBSub_Loop89
1474B1C4Sub_Loop90
1475B1CESub_Loop91
1476B1DDSub_Loop92
1477B1E4Sub_Loop93
1478B1FFSub_Loop94
1479B205Sub_B205
1480B20DSub_Loop95
1481B217Sub_Loop96
1482B21DSub_Loop97
1483B221Sub_B221
1484B2C6SubCB2C6
1485B2D9Sub_Loop98
1486B3CASubCB3CA
1487B3D2SubCB3D2
1488B3D7Sub_B3D7
1489B414SubCB414
1490B42ESub_Loop99
1491B698SubCB698
1492B6A5SubCB6A5
1493B6AESub_Loop100
1494B6B1SubCB6B1
1495B6D3Sub_Loop101
1496B6E7Sub_Loop102
1497B6EESub_Loop103
1498B6F7Sub_Loop104
1499B706Sub_Loop105
1500B70FSub_Loop106
1501B718Sub_Loop107
1502B724Sub_Loop108
1503B72ASub_Loop109
1504B736Sub_Loop110
1505B73CSub_B73C
1506B747Sub_Loop111
1507B754Sub_Loop112
1508B762Sub_Loop113
1509B7D4Sub_Loop114
1510B7DFSub_Loop115
1511B7F4Sub_Loop116
1512B7FCSub_Loop117
1513B811Sub_Loop118
1514B821SubCB821
1515B82DSub_Loop119
1516B830Sub_B830
1517B835Sub_Loop120
1518B837Sub_B837
1519B83ASub_B83A
1520B83DSubCB83D
1521B847Sub_Loop121
1522B86ASub_Loop122
1523B877Sub_Loop123
1524B87FSub_Loop124
1525B886Sub_Loop125
1526B88BSubCB88B
1527B897Sub_Loop126
1528B8A7Sub_Loop127
1529B8AESub_Loop128
1530B8B0Sub_B8B0
1531B8B3SubCB8B3
1532B8B6SubCB8B6
1533B8CDSub_Loop129
1534B8EESub_B8EE
1535B8F7Sub_Loop130
1536B8FCSub_Loop131
1537B90DSub_B90D
1538B928Sub_Loop132
1539B94DSub_Loop133
1540B957Sub_Loop134
1541B97ASub_B97A
1542B9C0SubCB9C0
1543B9C8Sub_OnNonzero9
1544B9DESub_Loop135
1545BA70Sub_BA70
1546BA88Sub_Loop136
1547BA89Sub_BA89
1548BA90Sub_Loop137
1549BAA3Sub_Loop138
1550BAB3Sub_OnZero2
1551BACESub_BACE
1552BACFSub_BACF
1553BAD2Sub_BAD2
1554BADASub_Loop139
1555BADDSub_Loop140
1556BB02Sub_Loop141
1557BB19Sub_Loop142
1558BB27Sub_Loop143
1559BB2ASub_Loop144
1560BB30Sub_Loop145
1561BB3CSub_BB3C
1562BB4ASub_Loop146
1563BB67Sub_Loop147
1564BB6CSub_Loop148
1565BB74Sub_BB74
1566BB91Sub_Loop149
1567BB9DSub_Loop150
1568BBACSub_Loop151
1569BBAESub_BBAE
1570BBAFSub_BBAF
1571BBCESub_Loop152
1572BBDBSub_Loop153
1573BBEASub_Loop154
1574BBF9Sub_Loop155
1575BC04Sub_Loop156
1576BC18Sub_Loop157
1577BC1CSub_BC1C
1578BC21Sub_Loop158
1579BC3FSub_Loop159
1580BC43Sub_Loop160
1581BC46Sub_Loop161
1582BC48Sub_BC48
1583BC55Sub_Loop162
1584BC59Sub_BC59
1585BC61Sub_Loop163
1586BC69Sub_Loop164
1587BC81Sub_Loop165
1588BC8DSub_Loop166
1589BC9DSub_Loop167
1590BCA6Sub_BCA6
1591BCCFSub_Loop168
1592BCDFSub_Loop169
1593BD05Sub_Loop170
1594BD17Sub_Loop171
1595BD2BSub_BD2B
1596BD2DSub_BD2D
1597BD2ESub_BD2E
1598BD67Sub_Loop172
1599BD71Sub_BD71
1600BD86Sub_Loop173
1601BD95Sub_Loop174
1602BD97Sub_BD97
1603BD98Sub_BD98
1604BDA2Sub_Loop175
1605BDAESub_Loop176
1606BDC3SubCBDC3
1607BDEASub_Loop177
1608BDF9Sub_Loop178
1609BE0DSub_Loop179
1610BE22Sub_Loop180
1611BE2CSub_BE2C
1612BE35Sub_BE35
1613BE3CSub_Loop181
1614BE3ESub_Loop182
1615BE42Sub_BE42
1616BE49Sub_Loop183
1617BE56Sub_Loop184
1618BE78Sub_Loop185
1619BE96Sub_Loop186
1620BEB3Sub_Loop187
1621BEB8Sub_BEB8
1622BED2Sub_Loop188
1623BEEBSub_Loop189
1624BEFDSub_Loop190
1625BF00Sub_Loop191
1626BF0ASub_Loop192
1627BF0DSub_Loop193
1628BF10Sub_Loop194
1629BF15Sub_Loop195
1630BF2FSub_Loop196
1631BF39Sub_Loop197
1632BF3ESub_BF3E
1633BF3FSubCBF3F
1634BF4FSub_Loop198
1635BF61SubCBF61
1636BF68SubCBF68
1637BF78Sub_Loop199
1638BF8ASubCBF8A
1639BFA4Sub_Loop200
1640BFABSubCBFAB
1641BFB2Sub_Loop201
1642BFC0SubCBFC0
1643BFC7Sub_Loop202
1644BFE8SubCBFE8
1645BFE9Sub_BFE9
1646BFEDSub_BFED
1647C00DSub_C00D
1648C017Sub_Loop203
1649C02CSubCC02C
1650C040SubCC040
1651C04CSub_Loop204
1652C05ESub_Loop205
1653C060SubCC060
1654C068Sub_Loop206
1655C070Sub_Loop207
1656C079Sub_C079
1657C080Sub_Loop208
1658C082Sub_Loop209
1659C09DSub_Loop210
1660C0B5Sub_Loop211
1661C0D0Sub_Loop212
1662C0D4SubCC0D4
1663C0F2Sub_Loop213
1664C117Sub_Loop214
1665C134Sub_Loop215
1666C13BSub_Loop216
1667C14ASub_Loop217
1668C15ASub_Loop218
1669C15ESub_Loop219
1670C16ESub_Loop220
1671C172Sub_Loop221
1672C182Sub_Loop222
1673C186Sub_C186
1674C196Sub_Loop223
1675C197Sub_C197
1676C1B1Sub_Loop224
1677C1C2Sub_C1C2
1678C1EDSub_Loop225
1679C1F3Sub_C1F3
1680C1F8Sub_Loop226
1681C202Sub_Loop227
1682C208Sub_Loop228
1683C216Sub_Loop229
1684C219Sub_Loop230
1685C226Sub_Loop231
1686C22ESub_C22E
1687C239Sub_Loop232
1688C248Sub_Loop233
1689C253Sub_Loop234
1690C260Sub_Loop235
1691C269Sub_Loop236
1692C26FSub_Loop237
1693C27FSub_Loop238
1694C28CSub_Loop239
1695C29ASub_Loop240
1696C2A7Sub_Loop241
1697C2B1Sub_Loop242
1698C2BDSub_C2BD
1699C2BESubCC2BE
1700C2CESub_Loop243
1701C2E0SubCC2E0
1702C2E7SubCC2E7
1703C2F7Sub_Loop244
1704C309SubCC309
1705C328Sub_Loop245
1706C33ASub_Loop246
1707C341SubCC341
1708C348Sub_Loop247
1709C356SubCC356
1710C35DSub_Loop248
1711C37ESub_C37E
1712C382Sub_C382
1713C39FSub_C39F
1714C3A9Sub_Loop249
1715C3B5Sub_Loop250
1716C3CASubCC3CA
1717C3CDSubCC3CD
1718C3D0Sub_C3D0
1719C3E4Sub_Loop251
1720C3FFSub_C3FF
1721C406Sub_Loop252
1722C408Sub_Loop253
1723C40CSub_C40C
1724C415Sub_Loop254
1725C422Sub_Loop255
1726C444Sub_Loop256
1727C462Sub_Loop257
1728C477Sub_Loop258
1729C479Sub_C479
1730C4A6Sub_Loop259
1731C4ABSub_Loop260
1732C4B0Sub_Loop261
1733C4B5Sub_Loop262
1734C4B7Sub_C4B7
1735C4DASub_C4DA
1736C4EFSub_Loop263
1737C4F6Sub_Loop264
1738C4F9Sub_Loop265
1739C50BSub_Loop266
1740C50ESub_Loop267
1741C518Sub_Loop268
1742C51BSub_Loop269
1743C531Sub_Loop270
1744C534Sub_Loop271
1745C53DSub_Loop272
1746C53FSub_C53F
1747C55ASub_Loop273
1748C566Sub_Loop274
1749C572Sub_Loop275
1750C577Sub_C577
1751C591Sub_Loop276
1752C59BSub_C59B
1753C59DSub_C59D
1754C5B8Sub_Loop277
1755C5C4Sub_Loop278
1756C5D0Sub_Loop279
1757C5D2Sub_C5D2
1758C5D6Sub_C5D6
1759C5E8Sub_Loop280
1760C5E9SubCC5E9
1761C5F9Sub_Loop281
1762C60BSubCC60B
1763C612SubCC612
1764C622Sub_Loop282
1765C634SubCC634
1766C636SubCC636
1767C64ESub_Loop283
1768C655SubCC655
1769C65CSub_Loop284
1770C66ASubCC66A
1771C671Sub_Loop285
1772C692SubCC692
1773C693Sub_C693
1774C697Sub_C697
1775C69ASubCC69A
1776C6CESub_C6CE
1777C6E6Sub_Loop286
1778C6EDSub_Loop287
1779C6F7Sub_Loop288
1780C706Sub_Loop289
1781C70ASubCC70A
1782C712Sub_C712
1783C727Sub_C727
1784C731Sub_Loop290
1785C745Sub_Loop291
1786C747Sub_C747
1787C752Sub_Loop292
1788C773Sub_Loop293
1789C788Sub_Loop294
1790C7A3Sub_Loop295
1791C7B5Sub_C7B5
1792C7C0Sub_Loop296
1793C7C2Sub_C7C2
1794C7D0Sub_C7D0
1795C7F9Sub_C7F9
1796C7FASub_C7FA
1797C81CSub_Loop297
1798C82ASub_Loop298
1799C83FSubCC83F
1800C84BSub_Loop299
1801C852Sub_Loop300
1802C876Sub_Loop301
1803C87ESub_C87E
1804C885Sub_Loop302
1805C88DSub_Loop303
1806C899Sub_Loop304
1807C8B5Sub_Loop305
1808C8BDSub_C8BD
1809C8C4Sub_Loop306
1810C8CCSub_Loop307
1811C8D5Sub_C8D5
1812C8DDSubCC8DD
1813C8E0SubCC8E0
1814C8F1Sub_Loop308
1815C8FCSub_Loop309
1816C903Sub_Loop310
1817C90FSub_Loop311
1818C92ESub_Loop312
1819C939Sub_Loop313
1820C943Sub_Loop314
1821C94FSub_Loop315
1822C96ESub_Loop316
1823C979Sub_Loop317
1824C980Sub_Loop318
1825C989Sub_C989
1826C999Sub_Loop319
1827C99CSub_C99C
1828C9A9Sub_Loop320
1829C9CDSub_Loop321
1830C9E6Sub_Loop322
1831C9EESub_Loop323
1832C9F5Sub_Loop324
1833CA1BSub_Loop325
1834CA2DSub_Loop326
1835CA35SubCCA35
1836CA42Sub_Loop327
1837CA49Sub_Loop328
1838CA63Sub_Loop329
1839CA73Sub_CA73
1840CA78Sub_Loop330
1841CA7BSubCCA7B
1842CA81Sub_CA81
1843CA94Sub_Loop331
1844CAA0Sub_Loop332
1845CAAFSub_Loop333
1846CAB8Sub_CAB8
1847CAC0Sub_Loop334
1848CAC3SubCCAC3
1849CAC9Sub_CAC9
1850CADESub_Loop335
1851CAE9Sub_CAE9
1852CAF1Sub_Loop336
1853CAF4SubCCAF4
1854CB0ASub_Loop337
1855CB16Sub_Loop338
1856CB1ESub_Loop339
1857CB27Sub_CB27
1858CB2CSub_Loop340
1859CB33Sub_Loop341
1860CB3DSub_Loop342
1861CB44Sub_Loop343
1862CB50Sub_Loop344
1863CB5BSub_Loop345
1864CB64Sub_Loop346
1865CB7ASubCCB7A
1866CB97Sub_Loop347
1867CB9CSub_CB9C
1868CBA8Sub_Loop348
1869CBAFSub_Loop349
1870CBBFSub_Loop350
1871CBC4Sub_CBC4
1872CBCESub_Loop351
1873CBD5Sub_Loop352
1874CBE6Sub_Loop353
1875CBF7Sub_Loop354
1876CC08Sub_CC08
1877CC21Sub_Loop355
1878CC28Sub_Loop356
1879CC33Sub_Loop357
1880CC3ASub_Loop358
1881CC40Sub_Loop359
1882CC4ESub_Loop360
1883CC58Sub_Loop361
1884CC60Sub_Loop362
1885CC67Sub_Loop363
1886CC6ASub_Loop364
1887CC7FSub_Loop365
1888CC90Sub_Loop366
1889CCA0Sub_Loop367
1890CCA5Sub_CCA5
1891CCA7Sub_CCA7
1892CCAASub_CCAA
1893CCB1Sub_Loop368
1894CCD0Sub_Loop369
1895CCDCSub_Loop370
1896CCE4Sub_Loop371
1897CCEDSub_CCED
1898CCF5Sub_Loop372
1899CCFDSub_Loop373
1900CD0ESub_CD0E
1901CD15Sub_Loop374
1902CD28Sub_Loop375
1903CD39SubCCD39
1904CD52Sub_Loop376
1905CD63Sub_Loop377
1906CD6ASub_Loop378
1907CD7FSub_Loop379
1908CD86Sub_Loop380
1909CDACSub_Loop381
1910CDB6Sub_CDB6
1911CDBDSub_Loop382
1912CDCDSub_Loop383
1913CDE2Sub_Loop384
1914CE00Sub_Loop385
1915CE0ASub_CE0A
1916CE11Sub_Loop386
1917CE26Sub_Loop387
1918CE34Sub_CE34
1919CE3CSubCCE3C
1920CE55Sub_Loop388
1921CE66Sub_Loop389
1922CE6DSub_Loop390
1923CE7DSub_Loop391
1924CE82Sub_CE82
1925CE8CSub_Loop392
1926CE94Sub_Loop393
1927CEA1Sub_Loop394
1928CEA4Sub_Loop395
1929CEBASub_Loop396
1930CEC3Sub_Loop397
1931CECBSub_Loop398
1932CED7Sub_Loop399
1933CEEASub_Loop400
1934CEF6Sub_Loop401
1935CEFCSub_Loop402
1936CEFFSub_Loop403
1937CF11Sub_Loop404
1938CF24Sub_Loop405
1939CF30Sub_Loop406
1940CF3FSub_Loop407
1941CF48Sub_CF48
1942CF4BSub_Loop408
1943CF5DSub_Loop409
1944CF64Sub_CF64
1945CF67Sub_CF67
1946CF6ESub_CF6E
1947CF71SubCCF71
1948CF7ESub_Loop410
1949CF8ASub_Loop411
1950CF96Sub_Loop412
1951CF9ESub_Loop413
1952CFA7Sub_CFA7
1953CFAASub_Loop414
1954CFC5Sub_Loop415
1955CFDASub_Loop416
1956CFECSub_Loop417
1957CFEFSub_Loop418
1958D006Sub_Loop419
1959D01BSub_Loop420
1960D02BSub_Loop421
1961D02ESub_D02E
1962D031Sub_D031
1963D04ESub_Loop422
1964D055Sub_Loop423
1965D068Sub_Loop424
1966D074Sub_Loop425
1967D083Sub_Loop426
1968D08CSub_D08C
1969D08FSubCD08F
1970D09CSub_Loop427
1971D0A4Sub_Loop428
1972D0C1Sub_Loop429
1973D0C6Sub_Loop430
1974D0D1Sub_Loop431
1975D0D6Sub_Loop432
1976D0DESub_Loop433
1977D0E5Sub_Loop434
1978D101Sub_Loop435
1979D10DSub_Loop436
1980D11CSub_Loop437
1981D125Sub_D125
1982D12DSubCD12D
1983D148Sub_Loop438
1984D15DSub_Loop439
1985D16BSub_Loop440
1986D16ESub_Loop441
1987D173Sub_Loop442
1988D17DSub_Loop443
1989D185SubCD185
1990D187Sub_Loop444
1991D18ESub_D18E
1992D196Sub_Loop445
1993D1BESub_Loop446
1994D1D1Sub_Loop447
1995D1D5Sub_D1D5
1996D1EASub_Loop448
1997D1F5Sub_Loop449
1998D1F7Sub_Loop450
1999D223Sub_Loop451
2000D23BSub_Loop452
2001D244Sub_Loop453
2002D246Sub_Loop454
2003D262Sub_Loop455
2004D26BSub_Loop456
2005D270Sub_Loop457
2006D29BSub_Loop458
2007D2A9Sub_Loop459
2008D2B9Sub_Loop460
2009D2BBSub_D2BB
2010D2C5Sub_Loop461
2011D2D5Sub_Loop462
2012D2DDSub_D2DD
2013D2E2Sub_D2E2
2014D2E4Sub_D2E4
2015D2E8Sub_D2E8
2016D2FFSub_D2FF
2017D304Sub_D304
2018D332Sub_D332
2019D333Sub_D333
2020D33FSub_Loop463
2021D34BSub_Loop464
2022D353Sub_Loop465
2023D35CSub_D35C
2024D35DSub_D35D
2025D369Sub_Loop466
2026D375Sub_Loop467
2027D37DSub_Loop468
2028D386Sub_D386
2029D387Sub_D387
2030D3A5Sub_Loop469
2031D3B5Sub_D3B5
2032D3BASub_Loop470
2033D3BCSub_D3BC
2034D3BDSub_D3BD
2035D3DFSub_Loop471
2036D3F0Sub_Loop472
2037D3F2Sub_D3F2
2038D3F3Sub_D3F3
2039D408Sub_Loop473
2040D41ASub_Loop474
2041D421Sub_Loop475
2042D42CSub_Loop476
2043D430Sub_D430
2044D435Sub_Loop477
2045D437Sub_D437
2046D438Sub_D438
2047D440Sub_Loop478
2048D448Sub_Loop479
2049D4AESub_D4AE
2050D4AFSub_D4AF
2051D4D8Sub_Loop480
2052D4E7Sub_Loop481
2053D520Sub_Loop482
2054D538Sub_Loop483
2055D53FSub_Loop484
2056D553Sub_Loop485
2057D565Sub_Loop486
2058D583Sub_Loop487
2059D588Sub_Loop488
2060D58ESub_D58E
2061D5B4Sub_Loop489
2062D5C3Sub_Loop490
2063D5CBSub_Loop491
2064D5CCSub_D5CC
2065D5E8Sub_Loop492
2066D5EASub_Loop493
2067D5EBSub_D5EB
2068D5F9Sub_Loop494
2069D60BSub_Loop495
2070D614Sub_Loop496
2071D615Sub_D615
2072D61FSub_Loop497
2073D632Sub_Loop498
2074D639Sub_Loop499
2075D640Sub_Loop500
2076D647Sub_Loop501
2077D64ESub_Loop502
2078D653Sub_Loop503
2079D66ASub_Loop504
2080D66DSub_Loop505
2081D674Sub_Loop506
2082D67CSub_Loop507
2083D67FSub_D67F
2084D69FSub_Loop508
2085D6A4Sub_Loop509
2086D6AESub_Loop510
2087D6B3Sub_Loop511
2088D6D0Sub_Loop512
2089D6D6Sub_D6D6
2090D6DBSub_D6DB
2091D6EESub_Loop513
2092D701Sub_Loop514
2093D70ASub_Loop515
2094D714Sub_D714
2095D719Sub_D719
2096D73CSub_Loop516
2097D740Sub_D740
2098D74FSub_Loop517
2099D755SubCD755
2100D768Sub_D768
2101D76BSub_D76B
2102D772Sub_Loop518
2103D782Sub_D782
2104D789Sub_Loop519
2105D7A6Sub_D7A6
2106D7A9Sub_D7A9
2107D7BESub_Loop520
2108D7D1Sub_Loop521
2109D7D8Sub_Loop522
2110D7DASub_D7DA
2111D7EFSub_Loop523
2112D7F3SubCD7F3
2113D7F5Sub_D7F5
2114D7FCSub_Loop524
2115D800Sub_D800
2116D805Sub_Loop525
2117D81CSub_Loop526
2118D81FSub_Loop527
2119D826Sub_Loop528
2120D82ESub_Loop529
2121D831Sub_D831
2122D851Sub_Loop530
2123D856Sub_Loop531
2124D860Sub_Loop532
2125D865Sub_Loop533
2126D882Sub_Loop534
2127D888Sub_D888
2128D88DSub_D88D
2129D8A0Sub_Loop535
2130D8B3Sub_Loop536
2131D8BCSub_Loop537
2132D8C6Sub_D8C6
2133D8C8Sub_D8C8
2134D8D2Sub_Loop538
2135D8E2Sub_Loop539
2136D8E3SubCD8E3
2137D8E4SubCD8E4
2138D8EDSub_D8ED
2139D91ESub_Loop540
2140D938Sub_Loop541
2141D93ASub_Loop542
2142D948Sub_D948
2143D94FSub_Loop543
2144D96DSub_Loop544
2145D97ASub_Loop545
2146D987Sub_Loop546
2147D993Sub_Loop547
2148D9A2Sub_Loop548
2149D9B9Sub_Loop549
2150D9C7Sub_Loop550
2151D9E6Sub_D9E6
2152DA02SubCDA02
2153DA16Sub_Loop551
2154DA1FSub_Loop552
2155DA26Sub_Loop553
2156DA29SubCDA29
2157DA2ESubCDA2E
2158DA33SubCDA33
2159DA3BSub_Loop554
2160DA42Sub_Loop555
2161DA47SubCDA47
2162DA48SubCDA48
2163DA49SubCDA49
2164DA4ASubCDA4A
2165DA4CSub_DA4C
2166DA57SubCDA57
2167DA58Sub_Loop556
2168DA75Sub_Loop557
2169DA9CSub_DA9C
2170DAB8SubCDAB8
2171DACCSub_Loop558
2172DAD5Sub_Loop559
2173DADCSub_Loop560
2174DADFSubCDADF
2175DAE4SubCDAE4
2176DAE9SubCDAE9
2177DAF1Sub_Loop561
2178DAF8Sub_Loop562
2179DAFDSubCDAFD
2180DAFESubCDAFE
2181DAFFSubCDAFF
2182DB00SubCDB00
2183DB02Sub_DB02
2184DB0DSubCDB0D
2185DB0ESub_Loop563
2186DB3BSub_DB3B
2187DB49Sub_Loop564
2188DB5DSub_Loop565
2189DB71Sub_Loop566
2190DBA8Sub_Loop567
2191DBAESub_Loop568
2192DBC1Sub_Loop569
2193DBF8Sub_Loop570
2194DBFESub_Loop571
2195DC15Sub_Loop572
2196DC19Sub_DC19
2197DC2ASub_Loop573
2198DC33Sub_OnNonzero10
2199DC54Sub_Loop574
2200DC5ASub_Loop575
2201DC64Sub_DC64
2202DC6BSub_Loop576
2203DC79Sub_Loop577
2204DC87Sub_Loop578
2205DC9CSubCDC9C
2206DC9FSubCDC9F
2207DCB1Sub_Loop579
2208DCB4Sub_Loop580
2209DCBESub_Loop581
2210DCC4Sub_Loop582
2211DCCESub_Loop583
2212DCD4Sub_Loop584
2213DCDASubCDCDA
2214DCDDSub_DCDD
2215DCEASub_Loop585
2216DCEDSub_Loop586
2217DD01Sub_Loop587
2218DD09Sub_Loop588
2219DD10Sub_Loop589
2220DD13Sub_Loop590
2221DD1ESub_Loop591
2222DD25Sub_Loop592
2223DD28Sub_Loop593
2224DD3DSub_Loop594
2225DD47Sub_Loop595
2226DD4FSub_Loop596
2227DD57Sub_Loop597
2228DD5ESub_Loop598
2229DD72Sub_Loop599
2230DD7ASub_Loop600
2231DD81Sub_Loop601
2232DD84Sub_Loop602
2233DD93Sub_Loop603
2234DD9ASub_Loop604
2235DD9DSub_Loop605
2236DDB6Sub_Loop606
2237DDC0Sub_Loop607
2238DDC8Sub_Loop608
2239DDD0Sub_Loop609
2240DDD7Sub_Loop610
2241DDDASub_DDDA
2242DDE0SubCDDE0
2243DDE3SubCDDE3
2244DDE6SubCDDE6
2245DDE9SubCDDE9
2246DDF5Sub_Loop611
2247DDFBSubCDDFB
2248DE04Sub_Loop612
2249DE07SubCDE07
2250DE1DSub_Loop613
2251DE20Sub_Loop614
2252DE26Sub_Loop615
2253DE2CSub_Loop616
2254DE32Sub_Loop617
2255DE35SubCDE35
2256DEBCSub_DEBC
2257DEC7Sub_Loop618
2258DEF5Sub_Loop619
2259DF09Sub_Loop620
2260DF10Sub_Loop621
2261DF2BSub_Loop622
2262DF32Sub_Loop623
2263DF35Sub_Loop624
2264DF3CSub_Loop625
2265DF44Sub_Loop626
2266DF47Sub_Loop627
2267DF4FSub_Loop628
2268DF56Sub_Loop629
2269DF59Sub_Loop630
2270DF61Sub_Loop631
2271DF69Sub_Loop632
2272DF79Sub_Loop633
2273DF8BSub_Loop634
2274DF93Sub_Loop635
2275DFB2Sub_DFB2
2276DFB3Sub_DFB3
2277DFC4Sub_Loop636
2278DFC7Sub_DFC7
2279DFC8Sub_DFC8
2280DFD9Sub_Loop637
2281DFDCSub_DFDC
2282DFDDSub_DFDD
2283DFE4Sub_DFE4
2284DFEBSub_Loop638
2285DFEFSub_Loop639
2286DFF3Sub_DFF3
2287E014SubCE014
2288E017SubCE017
2289E1AASub_E1AA
2290E1C7Sub_Loop640
2291E1C9Sub_OnNonzero11
2292E1E2Sub_Loop641
2293E1E4Sub_OnNonzero12
2294E1F1Sub_Loop642
2295E201Sub_Loop643
2296E213Sub_Loop644
2297E21BSub_Loop645
2298E232Sub_Loop646
2299E244Sub_OnNonzero13
2300E252Sub_Loop647
2301E2D2Sub_E2D2
2302E2E1Sub_Loop648
2303E30ESub_Loop649
2304E317Sub_Loop650
2305E341Sub_E341
2306E342Sub_E342
2307E34ESub_Loop651
2308E355Sub_Loop652
2309E365Sub_E365
2310E378Sub_E378
2311E397Sub_Loop653
2312E3B4Sub_Loop654
2313E3D1Sub_Loop655
2314E3D6Sub_E3D6
2315E3F3Sub_Loop656
2316E400Sub_Loop657
2317E401Sub_E401
2318E40BSub_Loop658
2319E430Sub_Loop659
2320E438Sub_Loop660
2321E43DSub_Loop661
2322E440Sub_Loop662
2323E458Sub_Loop663
2324E45ESub_Loop664
2325E465Sub_Loop665
2326E478Sub_Loop666
2327E480Sub_Loop667
2328E4CDSub_E4CD
2329E534Sub_E534
2330E535Sub_E535
2331E53FSub_Loop668
2332E55DSub_Loop669
2333E565Sub_Loop670
2334E57DSub_Loop671
2335E583Sub_Loop672
2336E58ASub_Loop673
2337E59DSub_Loop674
2338E5ADSub_OnNonzero14
2339E5C0Sub_Loop675
2340E5C1Sub_E5C1
2341E5D6Sub_Loop676
2342E5F5Sub_Loop677
2343E5F6Sub_E5F6
2344E5FESub_Loop678
2345E60FSub_Loop679
2346E61ASub_OnNonzero15
2347E626Sub_E626
2348E62CSub_OnNonzero16
2349E635Sub_Loop680
2350E636Sub_E636
2351E652Sub_E652
2352E65ESub_OnNonzero17
2353E6FFSub_E6FF
2354E72BSub_Loop681
2355E73CSub_Loop682
2356E74DSub_Loop683
2357E7BFSub_E7BF
2358E7EASub_Loop684
2359E830Sub_E830
2360E871Sub_E871
2361E892Sub_Loop685
2362E8B3Sub_E8B3
2363E8CESub_E8CE
2364E8D5Sub_Loop686
2365E8E0Sub_Loop687
2366E8ECSub_Loop688
2367E8EFSub_Loop689
2368E8FBSub_Loop690
2369E901Sub_E901
2370E90DSub_Loop691
2371E91CSub_Loop692
2372E932Sub_E932
2373E93DSub_E93D
2374E94DSub_Loop693
2375E953Sub_Loop694
2376E955Sub_E955
2377E9C6Sub_E9C6
2378E9DCSub_Loop695
2379E9E0Sub_OnNonzero18
2380E9F2Sub_OnNonzero19
2381EA13Sub_Loop696
2382EA32Sub_OnNonzero20
2383EA5BSub_Loop697
2384EA5FSub_Loop698
2385EA67Sub_EA67
2386EA8BSub_Loop699
2387EA98Sub_OnNonzero21
2388EAA7Sub_Loop700
2389EAAFSub_Loop701
2390EAB9Sub_Loop702
2391EAC4Sub_Loop703
2392EACDSub_Loop704
2393EADESub_EADE
2394EAF6Sub_Loop705
2395EB1FSub_Loop706
2396EB39Sub_EB39
2397EB57Sub_Loop707
2398EB63Sub_OnNonzero22
2399EB7BSub_Loop708
2400EB81Sub_Loop709
2401EBAASub_Loop710
2402EBBBSub_Loop711
2403EBCASub_Loop712
2404EBD8Sub_EBD8
2405EBE4Sub_EBE4
2406EBFBSub_Loop713
2407EC08Sub_Loop714
2408EC10Sub_EC10
2409EC15Sub_Loop715
2410EC2CSub_Loop716
2411EC31Sub_Loop717
2412EC3ESub_Loop718
2413EC40Sub_Loop719
2414EC42Sub_Loop720
2415EC43Sub_EC43
2416EC54Sub_Loop721
2417EC69Sub_Loop722
2418EC7BSub_Loop723
2419EC80Sub_Loop724
2420ECA4Sub_Loop725
2421ECC9Sub_Loop726
2422ECD4Sub_Loop727
2423ECE1Sub_Loop728
2424ECEFSub_Loop729
2425ECF4Sub_Loop730
2426ED04Sub_Loop731
2427ED0CSub_ED0C
2428ED0DSubCED0D
2429ED0ESubCED0E
2430ED0FSubCED0F
2431ED14SubCED14
2432ED15SubCED15
2433ED16SubCED16
2434ED1BSubCED1B
2435ED22SubCED22
2436ED23SubCED23
2437ED4DSub_ED4D
2438ED7BSub_Loop732
2439ED85Sub_ED85
2440ED8BSub_Loop733
2441EDA4Sub_Loop734
2442EDAESub_EDAE
2443EDB4Sub_Loop735
2444EDC4SubCEDC4
2445EDC7SubCEDC7
2446EDCDSubCEDCD
2447EDD6SubCEDD6
2448EDDCSubCEDDC
2449EDE5SubCEDE5
2450EDEBSubCEDEB
2451EDF4SubCEDF4
2452EDFASubCEDFA
2453EE00Sub_EE00
2454EE05Sub_EE05
2455EE19Sub_Loop736
2456EE1BSub_Loop737
2457EE27Sub_Loop738
2458EE2DSub_Loop739
2459EE2ESub_EE2E
2460EE43Sub_Loop740
2461EE45Sub_Loop741
2462EE46Sub_EE46
2463EE5ASub_Loop742
2464EE5CSub_Loop743
2465EE5DSub_EE5D
2466EE72Sub_Loop744
2467EE74Sub_Loop745
2468EE87Sub_EE87
2469EEAFSub_Loop746
2470EEC5Sub_EEC5
2471EEC7Sub_OnNonzero23
2472EED9Sub_EED9
2473EEE7Sub_Loop747
2474EEEDSub_EEED
2475EF1ASub_Loop748
2476EF2BSub_Loop749
2477EF2FSub_EF2F
2478EF3BSub_EF3B
2479EF4BSub_EF4B
2480EF7ESub_Loop750
2481EF88Sub_Loop751
2482EF8DSub_EF8D
2483EF9DSub_EF9D
2484EFC0Sub_OnZero3
2485EFCCSub_Loop752
2486EFCDSubCEFCD
2487EFCFSubCEFCF
2488EFE0Sub_EFE0
2489F00FSub_Loop753
2490F010Sub_F010
2491F01CSub_F01C
2492F028Sub_F028
2493F036Sub_F036
2494F03CSub_Loop754
2495F03DSub_F03D
2496F058Sub_Loop755
2497F059Sub_F059
2498F060Sub_OnNonzero24
2499F069Sub_Loop756
2500F0BBSub_F0BB
The file is too large to be shown. View Raw