mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 09:01:14 +00:00
- DOSBox now starts at session_start and persists in background - /dosbox command attaches UI to running instance (Ctrl+Q detaches) - Added dosbox tool with actions: send_keys, screenshot, read_text - Bundled QuickBASIC 4.5 files, mounted at C:\QB on startup - Agent can interact with DOSBox programmatically via tool Use: pi -e ./examples/extensions/pi-dosbox Then: /dosbox to view, or let agent use the dosbox tool
71 lines
1.9 KiB
Text
71 lines
1.9 KiB
Text
'***
|
|
' QB.BI - Assembly Support Include File
|
|
'
|
|
' Copyright <C> 1987 Microsoft Corporation
|
|
'
|
|
' Purpose:
|
|
' This include file defines the types and gives the DECLARE
|
|
' statements for the assembly language routines ABSOLUTE,
|
|
' INTERRUPT, INTERRUPTX, INT86OLD, and INT86XOLD.
|
|
'
|
|
'***************************************************************************
|
|
'
|
|
' Define the type needed for INTERRUPT
|
|
'
|
|
TYPE RegType
|
|
ax AS INTEGER
|
|
bx AS INTEGER
|
|
cx AS INTEGER
|
|
dx AS INTEGER
|
|
bp AS INTEGER
|
|
si AS INTEGER
|
|
di AS INTEGER
|
|
flags AS INTEGER
|
|
END TYPE
|
|
'
|
|
' Define the type needed for INTERUPTX
|
|
'
|
|
TYPE RegTypeX
|
|
ax AS INTEGER
|
|
bx AS INTEGER
|
|
cx AS INTEGER
|
|
dx AS INTEGER
|
|
bp AS INTEGER
|
|
si AS INTEGER
|
|
di AS INTEGER
|
|
flags AS INTEGER
|
|
ds AS INTEGER
|
|
es AS INTEGER
|
|
END TYPE
|
|
'
|
|
' DECLARE statements for the 5 routines
|
|
' -------------------------------------
|
|
'
|
|
' Generate a software interrupt, loading all but the segment registers
|
|
'
|
|
DECLARE SUB INTERRUPT (intnum AS INTEGER,inreg AS RegType,outreg AS RegType)
|
|
'
|
|
' Generate a software interrupt, loading all registers
|
|
'
|
|
DECLARE SUB INTERRUPTX (intnum AS INTEGER,inreg AS RegTypeX, outreg AS RegTypeX)
|
|
'
|
|
' Call a routine at an absolute address.
|
|
' NOTE: If the routine called takes parameters, then they will have to
|
|
' be added to this declare statement before the parameter given.
|
|
'
|
|
DECLARE SUB ABSOLUTE (address AS INTEGER)
|
|
'
|
|
' Generate a software interrupt, loading all but the segment registers
|
|
' (old version)
|
|
'
|
|
DECLARE SUB INT86OLD (intnum AS INTEGER,_
|
|
inarray(1) AS INTEGER,_
|
|
outarray(1) AS INTEGER)
|
|
'
|
|
' Gemerate a software interrupt, loading all the registers
|
|
' (old version)
|
|
'
|
|
DECLARE SUB INT86XOLD (intnum AS INTEGER,_
|
|
inarray(1) AS INTEGER,_
|
|
outarray(1) AS INTEGER)
|
|
'
|