home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ray Tracing Box
/
RAY_CD.mdf
/
ray_util
/
showpic
/
show_pic.bi
< prev
next >
Wrap
Text File
|
1994-02-15
|
3KB
|
70 lines
'*********************************SHOW_PIC.BI ********************************
' MODIFIED with QB.BI & JOHNS.BI
'JRD NOTE:
'Special $INCLUDE: file for SHOW_PIC.BAS
'2/15/94
'
'One User Defined TYPE for -both- CALL INTERRUPT and CALL INTERRUPTX
'
'The only difference is in the DECLARE, both use RegType as TYPE
'Be sure to change "RegTypeX" to "RegType" in the INTERRUPTX call.
'August 17, 1993
'
'QuickBASIC can use 10 of the 14 Registers (Built-in integer variables)
TYPE RegType
ax AS INTEGER 'Accumulator Register
bx AS INTEGER 'Base "
cx AS INTEGER 'Count "
dx AS INTEGER 'Data "
bp AS INTEGER 'Base Pointer "
si AS INTEGER 'Source Index "
di AS INTEGER 'Destination Index "
flags AS INTEGER 'Flags "
ds AS INTEGER 'Data Segment "
es AS INTEGER 'Extra Segment "
END TYPE
'User defined TYPE for FileExists SUB
TYPE DTA 'used by DOS services
Reserved AS STRING * 21 'reserved for use by DOS
Attribute AS STRING * 1 'the file's attribute
FileTime AS STRING * 2 'the file's time
FileDate AS STRING * 2 'the file's date
FileSize AS LONG 'the file's size
FileName AS STRING * 13 'the file's name
END TYPE
' DECLARE statements for the 2 routines
' -------------------------------------
'
' Generate a software interrupt, loading all but the segment registers
'
DECLARE SUB INTERRUPT (IntNum AS INTEGER, InRegs AS RegType, OutRegs AS RegType)
'
' Generate a software interrupt, loading all registers
'
DECLARE SUB INTERRUPTX (IntNum AS INTEGER, InRegs AS RegType, OutRegs AS RegType)
'
'
' 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() AS INTEGER, outarray() AS INTEGER)
'
' Generate a software interrupt, loading all the registers
' (old version)
'
DECLARE SUB INT86XOLD (IntNum AS INTEGER, inarray() AS INTEGER, outarray() AS INTEGER)
'