Skip to content

Foundation: libsgc(SGC 操作ライブラリ WAL)と chip8 の移行 - #145

Merged
src3453 merged 2 commits into
mainfrom
claude/project-thread-1hgh2a
Oct 24, 2026
Merged

src3453 merged 2 commits into
mainfrom
claude/project-thread-1hgh2a

Conversation

@src3453

@src3453 src3453 commented Oct 24, 2026

Copy link
Copy Markdown
Owner

Requested by src3453 · project thread

概要

/dev/sgc を扱うユーザー空間ライブラリ libsgc を、liblzma と同様の WAL(image ID sgc ABI 1.0、/lib/sgc.1.wal)として追加します。fnd WAL を import する WAL です。

  • 2D コマンド(SET_COLOR/SCREEN_FILL/LINE/RECT/TRIANGLE/GLYPH/raw)のバッファ構築。同色の SET_COLOR 省略、座標の 16 bit 化、描画されない図形(面積のない矩形・一直線の三角形)は積まない。
  • FIFO への投入は非ブロッキング。バッファが埋まれば一度 flush し、なお入らなければコマンドを分割せず FND_E_WOULD_BLOCK。cpt_sgc_flush_wait は上限付きで待つ。
  • /dev/fb0 の初期化(320×240 INDEX8 の確認、CLUT 書き込み)を cpt_sgc_display_init に集約。
  • chip8 の SGC 描画を libsgc に置き換え。boot/build.py が sgc.1.wal をビルドして chip8 に import させる。
  • 仕様(API §9.3 末尾)、foundation/README.md、MEMORY.md を更新。

テスト

  • python -m unittest discover -s foundation/tests/libsgc(ホストのモデル検証と Foundation 上の WAL 呼び出し・画素確認)3/3、FND_MM=slot でも 3/3
  • foundation/tests/chip8 15 件(1 skip)VM/slot とも通過、foundation/tests/sgc 3/3 通過
  • 環境: clang-20 + llvmlite 0.46(release の testbench)

Closes #143


Generated by Claude Code

@src3453 src3453 added this to the Foundation OS milestone Oct 24, 2026 — with Claude
@src3453 src3453 added the in-review label Oct 24, 2026 — with Claude
@src3453 src3453 self-assigned this Oct 24, 2026
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W6VD9WyujwQe1QkutGBLhh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Foundation: SGC 操作ライブラリ libsgc(/lib/sgc.1.wal)

2 participants