Repository navigation
Expose the rest of the macOS-used API through the C ABI - #31
Merged
Merged
Conversation
The Windows shell only reaches the core through b88_* functions, and a good part of what the macOS app uses had none: settings read-back, immersive audio stems, mouse, screen text and glyphs, the cassette, disk write-back, save states with thumbnail and host sections, .pat parsing, the .n80 memory image, and the Paste Text / Tape Auto Boot / memory-image sequencers. Add 42 functions for them. Existing functions keep their signatures and behaviour. Disk writes reach macOS through PC88.onDiskWritten; a C host cannot take a callback, so the context records them and b88_take_disk_written polls, as the FDD sound events already do. The new functions live in CApiMachine, CApiMedia and CApiTyping, so the CI export check now reads every file under Sources/CApi. The debugger (@_spi(Debug)) and timeline scripts are left out on purpose. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 tasks done
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.
Summary
b88_*として42関数追加(既存関数のシグネチャ・挙動は不変)onDiskWrittenはコールバックの代わりにポーリング).patの解析、.n80メモリイメージCApiMachine.swift/CApiMedia.swift/CApiTyping.swiftに分けたため、CI の DLL エクスポート確認がSources/CApi/*.swift全体を見るよう修正@_spi(Debug))とタイムラインスクリプトは対象外Test plan
swift test(1013件すべて通過、C ABI を直接呼ぶテスト11件を追加)@_cdecl80個が一致scripts/check-api.sh:公開 API の互換破壊なし🤖 Generated with Claude Code