REM File: IO9.inc - dead*.bas, find*.bas, helpedit.bas, runprog.bas.

' default to integer variables
DEFINT A-Z

' load arrays at runtime
REM $DYNAMIC

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

' DOS Data Transfer Area
TYPE DTAtype
 Drive AS STRING * 1
 SearchTemplate AS STRING * 11
 SearchAttr AS STRING * 1
 EntryCount AS STRING * 2
 ClusterNumber AS STRING * 2
 Reserved AS STRING * 4
 FileAttr AS STRING * 1
 FileTime AS STRING * 2
 FileDate AS STRING * 2
 FileSize AS STRING * 4
 ASCIIZfilename AS STRING * 13
END TYPE

' help.dat structure
TYPE HelpType
 NextRecNum AS INTEGER
 CommandName AS STRING * 15
 Text AS STRING * 78
END TYPE

' helpedit structure
TYPE HelpType2 ' 32 bytes
 CName AS STRING * 15
 Filename AS STRING * 12
 Buffer AS STRING * 5
END TYPE

' declare interrupt structures
COMMON SHARED InregsX As RegTypeX
COMMON SHARED OutRegsX As RegTypeX

' declare help record structures
COMMON SHARED HelpStruc() AS HelpType2
COMMON SHARED Temp.ArrayS() AS STRING

' declare dta filename variable
COMMON SHARED ASCIIZ AS STRING * 260

' declare help data file variable
COMMON SHARED EditFile As Integer

' declare program dta
COMMON SHARED BASIC.DTA.SEG AS INTEGER, BASIC.DTA.OFF AS INTEGER

' declare common arrays
COMMON SHARED Routines() AS STRING
COMMON SHARED Variables() As String

' declare helpedit variables
COMMON SHARED NodeX AS String
COMMON SHARED LineX As String

' declare help structures
COMMON SHARED HelpRecord AS HelpType
COMMON SHARED HelpRecLen AS Integer

' declare dta
COMMON SHARED DTAfile AS DTAtype

' declare file date, time, and size work variables
COMMON SHARED File.Work.Date AS SINGLE, File.Work.Time AS SINGLE
COMMON SHARED WorkHour AS SINGLE, WorkMinute AS SINGLE, WorkSeconds AS SINGLE
COMMON SHARED WorkDay AS SINGLE, WorkMonth AS SINGLE, WorkYear AS SINGLE
COMMON SHARED File.Date AS STRING * 10, File.Time AS STRING * 8, File.Size AS DOUBLE

' declare constants
CONST False=0
CONST True=-1
CONST Untrue=1
CONST SFalse=0!
CONST STrue=-1!
CONST DFalse=0#
CONST DTrue=-1#
CONST Nul=""

' declare config constants
CONST MaxConfigArray1=40
CONST MaxConfigArray2=150
CONST MaxConfigArray3=100

' declare interrupt subroutine
DECLARE SUB InterruptX(N As Integer,I As RegTypeX,O As RegTypeX)

' declare formatting function
Declare Function Form$(X#)
Declare Function Timeit!()

rem -end-
