Repository navigation
Map the dictionary ROM through ports 0xF0/0xF1 - #36
Merged
Merged
Conversation
Ports 0xF0/0xF1 were a stub, so N88-日本語BASIC, which checks for the dictionary at boot, stopped with "ジショROMガアリマセン!". With JISYO.ROM loaded, port 0xF1 bit 0 = 0 now shows the 16KB bank that port 0xF0 selects at 0xC000-0xFFFF for reads, behind GVRAM; writes still reach RAM. Following XM8 1.20, a bank of 0x20 or more and port 0xF1 values other than 0x00/0x01 are ignored. PC88.ROM gains .dictionary, b88_load_rom takes kind 6, BootTester loads JISYO.ROM, and save states carry the mapping in a DICT section of its own so the format version stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adding PC88.ROM.dictionary broke the public API: the enum is not frozen, so a client switching over it exhaustively would stop compiling. PC88.loadDictionaryROM(_:) takes its place, as loadCDBios does for the CD BIOS, and BootSnapshot.capture gains an overload with a dictionaryROM argument so Quick Look thumbnails still get it. b88_load_rom kind 6 stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Ports 0xF0/0xF1 were a stub, so the PC-8801MA system disk (N88-日本語BASIC) stopped at boot with 「ジショROMガアリマセン!」: it maps bank 0 at 0xC000 and checks for
44 10.PC88.loadDictionaryROM(_:), aBootSnapshot.captureoverload takingdictionaryROM:, andb88_load_romkind 6. Additive only, so this wants a minor release; aPC88.ROMcase was tried first, butcheck-api.shrightly flagged it as breaking exhaustive switches. Kind 6 is a value an older DLL already ignores, so the C ABI only grows.DICTsection, so older versions still read them and the format version stays.Verification
swift test: 1053 tests pass, including new bus, save-state and ROM-loading tests.The app side (loading JISYO.ROM, docs, pin bump) follows in bubio/Bubilator88 after this is released.
🤖 Generated with Claude Code