Field ports batch 2 with the porting tools (15-30 routines) #54
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
First batch made with draftc.py / draft_check.py / liveness / groundtruth / portstyle. Next field routines in docs/coverage.md order that the tools can draft (skip frame-crossing ones, #37). Measure: routines per session and tokens per routine (agent usage / routines).
Merged in PR #55. Field batch 2: 15 field routines ported with the tools (draftc -> draft_check -> port -> generated bridge -> groundtruth + shadow).
Ported: SetTopSpriteMSB, SetBtmSpriteMSB, FixPlayerSpritePriority, UpdateObjLayerPriorityAfter, UpdateMosaic, UpdateFixedColor, UpdatePalAnimPulse, UpdateShake, Rand (field), ShiftPrevLetter, DrawLetter, CopyDlgTextToBuf, ClearTextGfxBuf, CloseMapTitleWindow, CheckTimer.
New tool:
tools/portbridge.pygenerates each bridge and registry row from the routine's drafts (entry guards, live outputs from liveness, don't-care set, hardware writes); the porter states how each live output the routine may change is left (--set/--same), the tool refuses otherwise. Documented in docs/drafts.md.Validation
ctest -LE slow27/27 each.Skipped: SetWindowSelect (PPU compare noise, needs a window video service), TfrBGAnimGfx/TfrBG3AnimGfx/TfrObjGfxSub (VRAM DMA with partial register setups: need a vid VRAM upload service; TfrObjGfxSub keeps everything live), InitBG1/2VScroll, _c0249a, UpdateBG1, UpdateBG3HScroll, UpdateScrollHDMA, InitMaskHDMAData, _c0714a, MoveObjs, DrawOverlaySprites, LoadLetterGfx, UpdateDlgWindow (larger, scratch-heavy: next batch). Frame-crossing routines not attempted (#37).