Implement Hardware I/O Simulator (OUT/INP/WAIT/MOTOR, port emulation)

New portio.c module following the virmem.c dispatch-by-address pattern,
emulating 8253 PIT channel 2 (speaker frequency), PPI port B (speaker
on/off), CGA mode/color select registers, game port (joystick stub),
COM1 serial (transmitter-ready stub), and floating bus default (0xFF).

OUT/WAIT/MOTOR statements and INP()/STICK()/STRIG() functions now fully
functional. Continuous tone generation via PulseAudio pthread worker for
programs that drive the speaker through OUT &H43/&H42/&H61.
This commit is contained in:
Eremey Valetov
2026-03-28 18:27:19 -04:00
parent 0d9f29aa7a
commit e100290dd3
12 changed files with 407 additions and 3 deletions
+9
View File
@@ -0,0 +1,9 @@
INP(0)= 255
INP(&H201)= 240
COM1 LSR= 96
PPI= 0
CGA MODE= 0
MOTOR OK
STICK(0)= 128
STRIG(0)= 0
DONE
+1
View File
@@ -0,0 +1 @@
SPEAKER OK