refactor: replace emu/console.pas with hookable wasm.vm.io abstraction #1

Merged
t3hn3rd merged 1 commits from feature/compatability into develop 2026-03-03 21:32:30 +00:00
Owner

All VM output now funnels through a single writechar hook
(TIOWriteCharHook) that the OS/emulator layer provides at startup.
High-level helpers (writestring, writeintWND, writehexpair, etc.)
are built entirely on writechar.

  • Add src/wasm/vm/wasm.vm.io.pas (hookable IO layer)
  • Add src/wasm/test/infra/wasm.test.io.pas (15 assertions)
  • Update ~75 files: console -> wasm.vm.io in uses clauses
  • Wire emu_writechar (RTL Write wrapper) in WASURO.lpr
  • Remove emu/console.pas dependency from all wasm code
All VM output now funnels through a single writechar hook (TIOWriteCharHook) that the OS/emulator layer provides at startup. High-level helpers (writestring, writeintWND, writehexpair, etc.) are built entirely on writechar. - Add src/wasm/vm/wasm.vm.io.pas (hookable IO layer) - Add src/wasm/test/infra/wasm.test.io.pas (15 assertions) - Update ~75 files: console -> wasm.vm.io in uses clauses - Wire emu_writechar (RTL Write wrapper) in WASURO.lpr - Remove emu/console.pas dependency from all wasm code
t3hn3rd added 1 commit 2026-03-03 21:32:04 +00:00
All VM output now funnels through a single writechar hook
(TIOWriteCharHook) that the OS/emulator layer provides at startup.
High-level helpers (writestring, writeintWND, writehexpair, etc.)
are built entirely on writechar.

- Add src/wasm/vm/wasm.vm.io.pas (hookable IO layer)
- Add src/wasm/test/infra/wasm.test.io.pas (15 assertions)
- Update ~75 files: console -> wasm.vm.io in uses clauses
- Wire emu_writechar (RTL Write wrapper) in WASURO.lpr
- Remove emu/console.pas dependency from all wasm code
t3hn3rd merged commit ac4c631a5c into develop 2026-03-03 21:32:30 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Spexeah/Wasuro#1