Repository navigation
Conversation
regread.a counted errors in 16 bits, which wrap within a 4-second dwell once most reads fail: at nS_PLAprop 400 the $FF page row printed +1248 for about 66,800 wrong reads. Error counters are now 24-bit.
kfox
marked this pull request as ready for review
October 30, 2026 01:55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
tools/bench/regsweep.pyand its C64 side,tools/bench/regread.a. Together they measure the NTSC/PAL read margin of whichever Special IO handler is chosen in Settings, asdocs/Architecture/Constraints.mdasks for a new handler. They are the tools behind the margin figures in #81.How it works
regread.afinds the cartridge's layout: plain REU, REU with the TR page at$DE00, or GeoRAM with the TR page at$DF00.$C000:$DF10-$DF1Freading$FFbeside a TR page at$DE00;TRM/TRBIDs.regsweep.py DWELL VALUE...builds and launches the program, setsnS_PLApropwithtp###for each value, and prints the errors counted inDWELLseconds. It restores the defaults withtdat the end.acmeonPATHand an image built withDbg_SerTimChg, and refuses up front on one built without it.Verified on a TR+ in an NTSC C128, using a
Dbg_SerTimChgbuild of #81 under REU+USB Mouse/Disk:regsweep.py 4 150 240 250 260reported the layout as "REU with the TR page at $DE00".Reviewed at medium, plus a low review of that review's fix commit.
$FF pageprinted +1248 atnS_PLAprop400.