Skip to content

[Parked, do not merge] m2c output for the PAL prototype's nineteen extra functions - #11

Draft
carrdylan52 wants to merge 1 commit into
Adubbz:masterfrom
carrdylan52:parked/pal-prototype-extras-20260913
Draft

carrdylan52 wants to merge 1 commit into
Adubbz:masterfrom
carrdylan52:parked/pal-prototype-extras-20260913

Conversation

@carrdylan52

Copy link
Copy Markdown
Contributor

Parked for later. This should stay unmerged while the repository targets NTSC 1.02. It becomes relevant if the target moves to the July 12, 2001 PAL prototype (SCUS_971.11, VER = 0.01, VMODE = PAL, Dark Cloud Ver3.07 2001/07/12), which keeps the most code.

Both programs keep their symbol tables. The prototype names 4,082 functions and retail 4,067; nineteen are prototype-only. All of it is under re/ai/pal-prototype/, and nothing there is built:

  • overview.md describes each function, the retail symbols the menus still drive, and what is left out.
  • m2c/ has unmatched, untyped m2c output for each, with build/ctx.c as context.
  • extract.py regenerates m2c/ from the prototype disc inside dcdecomp_dev. It resolves @NNN jump tables and strings by the address the instructions build, because those names repeat across units.

The functions:

  • Debug menu: EdDebugMenu, which EditLoop and MainDraw call while debug_menu_mode is set. Its pages are DM_Main, DM_Flag and DM_Sound.
    • DM_Main: debug camera, parameter/character/message display, debug move, run event n, talk event n, events on/off, language.
    • DM_Flag: game, map, completion and talk flags; the dungeon floor; the party count.
    • DM_Sound: BGM, sound effects and sound sets.
  • Debug helpers: EdDPrintCamera, EdDPrintChara, InitDebugItemGet, EdEventStopPlay, EdCheckEventPause, SndBgmDisable, SndBgmPause, SndGetBgmDisableFlag.
  • PAL presentation: MGAdjustScreen, _GET_LANG_CODE, _GET_TV_MODE, DrawEuroSpecialFont, Get_NameTemp_PutX, DrawOptionScreenWaku, StartMessageDraw.

re/ is in .gitignore, so these were added with -f, like the existing re/ai notes.

Not covered: about 2,600 functions that share a name in both programs but differ in size.

🤖 Generated with Claude Code

Not for merging while the target is NTSC 1.02. The July 12, 2001 PAL
prototype's SCUS_971.11 names nineteen functions that retail does not,
including the EdDebugMenu pages. re/ai/pal-prototype/overview.md
describes them, m2c/ holds the unmatched output, and extract.py
regenerates it from the prototype disc.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant