mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 16:31:01 +00:00
0ba83392d4
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
141 lines
4.2 KiB
OpenEdge ABL
141 lines
4.2 KiB
OpenEdge ABL
|
|
{
|
|
Created: Saturday, July 27, 1991 at 11:38 PM
|
|
SCSI.p
|
|
Pascal Interface to the Macintosh Libraries
|
|
|
|
Copyright Apple Computer, Inc. 1986-1991
|
|
All rights reserved
|
|
This file is used in these builds: Mac32 BigBang Sys606
|
|
|
|
|
|
Change History (most recent first):
|
|
|
|
<4> 7/31/91 JL Updated Copyright.
|
|
<3> 1/27/91 LN Checked in Database generate file from DSG.
|
|
<2> 10/3/90 JAL Added Inline Code.
|
|
|
|
To Do:
|
|
}
|
|
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT SCSI;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingSCSI}
|
|
{$SETC UsingSCSI := 1}
|
|
|
|
{$I+}
|
|
{$SETC SCSIIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingTypes}
|
|
{$I $$Shell(PInterfaces)Types.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := SCSIIncludes}
|
|
|
|
CONST
|
|
scInc = 1;
|
|
scNoInc = 2;
|
|
scAdd = 3;
|
|
scMove = 4;
|
|
scLoop = 5;
|
|
scNop = 6;
|
|
scStop = 7;
|
|
scComp = 8;
|
|
scCommErr = 2; {communications error, operation timeout}
|
|
scArbNBErr = 3; {arbitration timeout waiting for not BSY}
|
|
scBadParmsErr = 4; {bad parameter or TIB opcode}
|
|
scPhaseErr = 5; {SCSI bus not in correct phase for attempted operation}
|
|
scCompareErr = 6; {data compare error}
|
|
scMgrBusyErr = 7; {SCSI Manager busy }
|
|
scSequenceErr = 8; {attempted operation is out of sequence}
|
|
scBusTOErr = 9; {CPU bus timeout}
|
|
scComplPhaseErr = 10; {SCSI bus wasn't in Status phase}
|
|
sbSIGWord = $4552;
|
|
pMapSIG = $504D;
|
|
|
|
TYPE
|
|
Block0 = PACKED RECORD
|
|
sbSig: INTEGER; {unique value for SCSI block 0}
|
|
sbBlkSize: INTEGER; {block size of device}
|
|
sbBlkCount: LONGINT; {number of blocks on device}
|
|
sbDevType: INTEGER; {device type}
|
|
sbDevId: INTEGER; {device id}
|
|
sbData: LONGINT; {not used}
|
|
sbDrvrCount: INTEGER; {driver descriptor count}
|
|
ddBlock: LONGINT; {1st driver's starting block}
|
|
ddSize: INTEGER; {size of 1st driver (512-byte blks)}
|
|
ddType: INTEGER; {system type (1 for Mac+)}
|
|
ddPad: ARRAY [0..242] OF INTEGER; {ARRAY[0..242] OF INTEGER; not used}
|
|
END;
|
|
|
|
Partition = PACKED RECORD
|
|
pmSig: INTEGER; {unique value for map entry blk}
|
|
pmSigPad: INTEGER; {currently unused}
|
|
pmMapBlkCnt: LONGINT; {# of blks in partition map}
|
|
pmPyPartStart: LONGINT; {physical start blk of partition}
|
|
pmPartBlkCnt: LONGINT; {# of blks in this partition}
|
|
pmPartName: PACKED ARRAY [0..31] OF CHAR; {ASCII partition name}
|
|
pmParType: PACKED ARRAY [0..31] OF CHAR; {ASCII partition type}
|
|
pmLgDataStart: LONGINT; {log. # of partition's 1st data blk}
|
|
pmDataCnt: LONGINT; {# of blks in partition's data area}
|
|
pmPartStatus: LONGINT; {bit field for partition status}
|
|
pmLgBootStart: LONGINT; {log. blk of partition's boot code}
|
|
pmBootSize: LONGINT; {number of bytes in boot code}
|
|
pmBootAddr: LONGINT; {memory load address of boot code}
|
|
pmBootAddr2: LONGINT; {currently unused}
|
|
pmBootEntry: LONGINT; {entry point of boot code}
|
|
pmBootEntry2: LONGINT; {currently unused}
|
|
pmBootCksum: LONGINT; {checksum of boot code}
|
|
pmProcessor: PACKED ARRAY [0..15] OF CHAR; {ASCII for the processor type}
|
|
pmPad: ARRAY [0..187] OF INTEGER; {512 bytes long currently unused}
|
|
END;
|
|
|
|
SCSIInstr = RECORD
|
|
scOpcode: INTEGER;
|
|
scParam1: LONGINT;
|
|
scParam2: LONGINT;
|
|
END;
|
|
|
|
|
|
FUNCTION SCSIReset: OSErr;
|
|
INLINE $4267,$A815;
|
|
FUNCTION SCSIGet: OSErr;
|
|
INLINE $3F3C,$0001,$A815;
|
|
FUNCTION SCSISelect(targetID: INTEGER): OSErr;
|
|
INLINE $3F3C,$0002,$A815;
|
|
FUNCTION SCSICmd(buffer: Ptr;count: INTEGER): OSErr;
|
|
INLINE $3F3C,$0003,$A815;
|
|
FUNCTION SCSIRead(tibPtr: Ptr): OSErr;
|
|
INLINE $3F3C,$0005,$A815;
|
|
FUNCTION SCSIRBlind(tibPtr: Ptr): OSErr;
|
|
INLINE $3F3C,$0008,$A815;
|
|
FUNCTION SCSIWrite(tibPtr: Ptr): OSErr;
|
|
INLINE $3F3C,$0006,$A815;
|
|
FUNCTION SCSIWBlind(tibPtr: Ptr): OSErr;
|
|
INLINE $3F3C,$0009,$A815;
|
|
FUNCTION SCSIComplete(VAR stat: INTEGER;VAR message: INTEGER;wait: LONGINT): OSErr;
|
|
INLINE $3F3C,$0004,$A815;
|
|
FUNCTION SCSIStat: INTEGER;
|
|
INLINE $3F3C,$000A,$A815;
|
|
FUNCTION SCSISelAtn(targetID: INTEGER): OSErr;
|
|
INLINE $3F3C,$000B,$A815;
|
|
FUNCTION SCSIMsgIn(VAR message: INTEGER): OSErr;
|
|
INLINE $3F3C,$000C,$A815;
|
|
FUNCTION SCSIMsgOut(message: INTEGER): OSErr;
|
|
INLINE $3F3C,$000D,$A815;
|
|
|
|
|
|
{$ENDC} { UsingSCSI }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|