2015-03-14 21:48:35 +00:00
|
|
|
|
PR#3
|
2017-03-29 15:48:15 +00:00
|
|
|
|
PREFIX /A2OSX.BUILD
|
2017-07-17 05:59:30 +00:00
|
|
|
|
LOMEM $900
|
2015-03-14 21:48:35 +00:00
|
|
|
|
INC 1
|
|
|
|
|
AUTO 6
|
|
|
|
|
.LIST OFF
|
|
|
|
|
*--------------------------------------
|
2016-03-13 21:50:43 +00:00
|
|
|
|
* KERNEL CONSTANTS DEFINITON
|
|
|
|
|
*--------------------------------------
|
2016-08-24 15:42:33 +00:00
|
|
|
|
K.ENV.SIZE .EQ 256
|
2017-03-15 16:44:15 +00:00
|
|
|
|
K.FLT.MAX .EQ 4
|
|
|
|
|
K.EVT.MAX .EQ 8
|
|
|
|
|
K.DEV.MAX .EQ 32
|
2016-03-13 21:50:43 +00:00
|
|
|
|
K.PS.MAX .EQ 64
|
|
|
|
|
*--------------------------------------
|
2016-10-07 06:09:25 +00:00
|
|
|
|
* Kernel ZP Aux
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2016-03-13 21:50:43 +00:00
|
|
|
|
ZPKERNEL .EQ $0
|
|
|
|
|
*--------------------------------------
|
2016-10-07 06:09:25 +00:00
|
|
|
|
ZPMEMMGR .EQ $10
|
2016-08-17 06:25:58 +00:00
|
|
|
|
*--------------------------------------
|
2016-10-07 06:09:25 +00:00
|
|
|
|
pCode .EQ $20
|
|
|
|
|
pData .EQ $22
|
|
|
|
|
pStack .EQ $24
|
2015-03-14 21:48:35 +00:00
|
|
|
|
|
2017-03-27 15:32:30 +00:00
|
|
|
|
*pLib .EQ $26
|
2016-10-07 06:09:25 +00:00
|
|
|
|
pDrv .EQ $28
|
2015-03-14 21:48:35 +00:00
|
|
|
|
|
2016-10-07 06:09:25 +00:00
|
|
|
|
pPs .EQ $2A
|
|
|
|
|
pDev .EQ $2C
|
|
|
|
|
pEvent .EQ $2E
|
|
|
|
|
*--------------------------------------
|
2017-03-19 21:36:13 +00:00
|
|
|
|
ZPBIN .EQ $30
|
2016-09-02 15:14:24 +00:00
|
|
|
|
*--------------------------------------
|
2017-01-12 17:43:45 +00:00
|
|
|
|
* $42-$47 ProDOS Block Device Drivers Main
|
2016-10-07 06:09:25 +00:00
|
|
|
|
*--------------------------------------
|
2016-09-02 15:14:24 +00:00
|
|
|
|
* $5E-$C8 RESERVED APPLESOFT Main/Aux (ROM Call, no need to switch back MainZP)
|
|
|
|
|
*--------------------------------------
|
2017-03-19 21:36:13 +00:00
|
|
|
|
ZPDRV .EQ $D0
|
2016-10-07 06:09:25 +00:00
|
|
|
|
ZPLIB .EQ $E0 32 bytes for TCPIP
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2015-11-10 20:48:42 +00:00
|
|
|
|
* Memory Map
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
A2osX.SaveSM .EQ $100 Aux
|
2015-03-14 21:48:35 +00:00
|
|
|
|
A2osX.SaveSX .EQ $101 Aux
|
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
* Main $200 -> 2FF : (Used By ProDOS,Clock DRV....)
|
|
|
|
|
* Main $300 -> 3EF : <free>
|
|
|
|
|
* Main $3F0 -> 3FF : SYS Vectors (reset,IRQ...)
|
|
|
|
|
* Aux $200 -> 3FD : /RAM Driver
|
|
|
|
|
* Aux $3FE -> 3FF : IRQ Vector
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2017-08-24 06:47:31 +00:00
|
|
|
|
K.S.STAT .EQ $0300 S.STAT for internal kernel operations
|
|
|
|
|
K.S.DEVSTAT .EQ $0340 S.DEVSTAT=25 or higher depends on dev type
|
|
|
|
|
K.SP.PARAMS .EQ $0380 Max 9 bytes
|
|
|
|
|
K.MLI.PARAMS .EQ $0390 Main, 18 bytes min for GetFileInfo (ATLK needs MORE!!!...32 max for now)
|
|
|
|
|
K.MLI.PATH .EQ $03B0 64+1 -> $03D0
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2016-09-26 16:02:14 +00:00
|
|
|
|
*** $3F0-$3FF IRQ Handler.... ***
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Main/Aux $400 -> $7FF : Console Screen
|
|
|
|
|
* Main/Aux $800 -> $BFF : System Screen
|
|
|
|
|
*--------------------------------------
|
2017-08-24 06:47:31 +00:00
|
|
|
|
*UsrBuf256 .EQ $0C00 Main
|
2016-09-26 16:02:14 +00:00
|
|
|
|
*--------------------------------------
|
2017-08-24 12:46:48 +00:00
|
|
|
|
K.Buf256 .EQ $0D00 Main
|
2016-08-17 06:25:58 +00:00
|
|
|
|
*--------------------------------------
|
2017-08-24 12:46:48 +00:00
|
|
|
|
K.STACK .EQ $0F00 Up to $0FFF
|
2016-10-29 19:58:21 +00:00
|
|
|
|
*--------------------------------------
|
2016-08-24 15:42:33 +00:00
|
|
|
|
*** Z80 Reserved $0F00-10FF***
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
Z80STACK .EQ $0FFF (0FFFFh) Down to $0F00
|
2016-09-26 16:02:14 +00:00
|
|
|
|
Z80JMP .EQ $1000 (00000h) Up To $10FF
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
2017-03-15 16:44:15 +00:00
|
|
|
|
FltMgr.Table .EQ $1100 K.FLT.MAX*S.FLT.SIZE=8*32=128b
|
2016-03-13 21:50:43 +00:00
|
|
|
|
*--------------------------------------
|
2017-03-15 16:44:15 +00:00
|
|
|
|
EvtMgr.Table .EQ $1180 K.EVT.MAX*S.EVT.SIZE=16*8=128b
|
2016-08-24 15:42:33 +00:00
|
|
|
|
*--------------------------------------
|
2017-03-15 16:44:15 +00:00
|
|
|
|
DevMgr.Table .EQ $1200 K.DEV.MAX*S.DEV.SIZE=32*16=512b
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
TskMgr.Table .EQ $1400 K.PS.MAX*S.PS.SIZE=64*16=1k
|
|
|
|
|
*--------------------------------------
|
2016-08-17 06:25:58 +00:00
|
|
|
|
* MemMgr : $1800->$1FFF MAIN/AUX (2 kBytes)
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
2016-10-07 15:28:17 +00:00
|
|
|
|
MemMgr.Table .EQ $1800 Slot 0 is Reserved
|
|
|
|
|
MemMgr.LoMem .EQ $1800
|
2015-11-10 20:48:42 +00:00
|
|
|
|
MemMgr.Free .EQ $1802
|
2016-10-07 15:28:17 +00:00
|
|
|
|
MemMgr.HiMem .EQ $1804
|
2015-11-10 20:48:42 +00:00
|
|
|
|
MemMgr.LastSlot .EQ $1806
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
MemMgr.MLoMem .EQ $2000
|
2016-11-25 16:20:28 +00:00
|
|
|
|
MemMgr.MHiMem .EQ $BD00
|
2015-11-10 20:48:42 +00:00
|
|
|
|
MemMgr.XLoMem .EQ $2000
|
|
|
|
|
MemMgr.XHiMem .EQ $C000
|
|
|
|
|
*--------------------------------------
|
2016-09-29 15:30:15 +00:00
|
|
|
|
DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC
|
|
|
|
|
*--------------------------------------
|
2015-03-14 21:48:35 +00:00
|
|
|
|
* A2osX GLOBAL PAGE
|
2016-11-25 16:20:28 +00:00
|
|
|
|
* $BD00->$BD0F : Public Vetors
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2016-11-25 16:20:28 +00:00
|
|
|
|
A2osX.SYSCALL .EQ $BD00
|
|
|
|
|
A2osX.LIBCALL .EQ $BD03
|
|
|
|
|
A2osX.MLICALL .EQ $BD06
|
2017-07-01 13:45:53 +00:00
|
|
|
|
*
|
|
|
|
|
A2osX.BADCALL .EQ $BD0C
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
2016-11-25 16:20:28 +00:00
|
|
|
|
pCodeJmp .EQ $BD10
|
2017-03-27 15:32:30 +00:00
|
|
|
|
*pLibJmp .EQ $BD13
|
2016-11-25 16:20:28 +00:00
|
|
|
|
pDrvJmp .EQ $BD16
|
|
|
|
|
pDevJmp .EQ $BD19
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2016-06-07 06:10:18 +00:00
|
|
|
|
* $BEE0->$BEEF : Public Variables
|
2015-06-03 18:30:57 +00:00
|
|
|
|
*--------------------------------------
|
2016-06-07 06:10:18 +00:00
|
|
|
|
A2osX.ASCREEN .EQ $BEE0 Active Screen
|
2016-10-07 15:28:17 +00:00
|
|
|
|
A2osX.SCRNDEVS .EQ $BEE1 -> $BEE4 (4 screen devices)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
|
2016-12-05 17:04:42 +00:00
|
|
|
|
A2osX.CPUTYPE .EQ $BEE5
|
2017-01-25 16:18:35 +00:00
|
|
|
|
A2osX.CPUSPEED .EQ $BEE6 WORD, (->255.99 Mhz)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
|
2017-01-25 16:18:35 +00:00
|
|
|
|
A2osX.Z80SLOT .EQ $BEE8
|
|
|
|
|
A2osX.Z80SPEED .EQ $BEE9 WORD
|
2016-03-13 21:50:43 +00:00
|
|
|
|
|
2017-01-25 16:18:35 +00:00
|
|
|
|
A2osX.TIMER16 .EQ $BEEC WORD
|
|
|
|
|
A2osX.RANDOM16 .EQ $BEEE WORD
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2016-06-07 06:10:18 +00:00
|
|
|
|
* $BEF0->$BEFF : Kernel Config Block
|
|
|
|
|
*--------------------------------------
|
2017-04-13 16:04:05 +00:00
|
|
|
|
A2osX.HZ .EQ $BEF0 5/6 for 50/60Hz
|
|
|
|
|
A2osX.CHROOT .EQ $BEF8 ChRooting to /RAMx
|
2016-12-05 17:04:42 +00:00
|
|
|
|
A2osX.SLOTS .EQ $BEF8 $BEF9->$BEFF, 7 slots
|
2017-01-25 16:18:35 +00:00
|
|
|
|
A2osX.SLOTS.Z80 .EQ $80
|
|
|
|
|
A2osX.SLOTS.VSDRIVE .EQ $81
|
|
|
|
|
A2osX.SLOTS.ATCARD .EQ $82
|
|
|
|
|
A2osX.SLOTS.DII .EQ $C0
|
|
|
|
|
A2osX.SLOTS.BLK .EQ $C1
|
|
|
|
|
A2osX.SLOTS.SP .EQ $C2
|
2017-01-25 21:46:40 +00:00
|
|
|
|
A2osX.SLOTS.COM .EQ $E0
|
|
|
|
|
A2osX.SLOTS.XY .EQ $E1
|
|
|
|
|
A2osX.SLOTS.NET .EQ $E2
|
2017-01-25 16:18:35 +00:00
|
|
|
|
A2osX.SLOTS.DISABLE .EQ $FF
|
2016-06-07 06:10:18 +00:00
|
|
|
|
*--------------------------------------
|
2015-11-10 20:48:42 +00:00
|
|
|
|
H.BIN.HEADER .EQ 0
|
2016-03-13 21:50:43 +00:00
|
|
|
|
H.BIN.HEADER.DRV65 .EQ $4CD8 6502:cld,jmp abs
|
|
|
|
|
H.BIN.HEADER.LIB65 .EQ $7CD8 6502:cld,jmp (abs,x)
|
|
|
|
|
H.BIN.HEADER.BIN65 .EQ $7CD8 6502:cld,jmp (abs,x)
|
2017-03-15 16:44:15 +00:00
|
|
|
|
*H.BIN.HEADER.LIB80 .EQ $A28D Z80:
|
|
|
|
|
*H.BIN.HEADER.BIN80 .EQ $A28D Z80:
|
2015-11-10 20:48:42 +00:00
|
|
|
|
H.BIN.JMP .EQ 2
|
2017-03-15 16:44:15 +00:00
|
|
|
|
*H.BIN.CODE.TYPE .EQ 4
|
|
|
|
|
*H.BIN.VERSION .EQ 5
|
2015-11-10 20:48:42 +00:00
|
|
|
|
H.BIN.CODE.LEN .EQ 8
|
2016-09-30 15:04:55 +00:00
|
|
|
|
*
|
|
|
|
|
H.BIN.EXE.DS.SIZE .EQ 10
|
2017-08-28 15:35:10 +00:00
|
|
|
|
H.BIN.EXE.SS.SIZE .EQ 12
|
2016-09-30 15:04:55 +00:00
|
|
|
|
H.BIN.EXE.REL.TABLE .EQ 16
|
|
|
|
|
*
|
2016-10-04 16:01:07 +00:00
|
|
|
|
H.BIN.DRV.HEADER.O .EQ 10
|
2015-11-10 20:48:42 +00:00
|
|
|
|
H.BIN.DRV.CODE.O .EQ 12
|
|
|
|
|
H.BIN.DRV.CODE.LEN .EQ 14
|
2017-03-15 16:44:15 +00:00
|
|
|
|
H.BIN.DRV.REL.TABLE .EQ 0
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
* A2osX.SYSCALL Functions Indexes
|
|
|
|
|
*--------------------------------------
|
2017-08-25 15:02:16 +00:00
|
|
|
|
* .EQ $00
|
|
|
|
|
* .EQ $02
|
|
|
|
|
SYS.Stat .EQ $04
|
|
|
|
|
SYS.MKDir.YA .EQ $06
|
|
|
|
|
SYS.MKNod.YA .EQ $08
|
|
|
|
|
SYS.MKFIFO .EQ $0A
|
|
|
|
|
* .EQ $0C
|
|
|
|
|
* .EQ $0E
|
2015-11-10 20:48:42 +00:00
|
|
|
|
|
2017-08-25 15:02:16 +00:00
|
|
|
|
SYS.OpenDir.YA .EQ $10
|
|
|
|
|
SYS.ReadDir.A .EQ $12
|
|
|
|
|
SYS.CloseDir.A .EQ $14
|
|
|
|
|
* .EQ $16-$1E
|
|
|
|
|
|
|
|
|
|
SYS.FPutC.AY .EQ $20
|
|
|
|
|
SYS.PutChar.A .EQ $22
|
|
|
|
|
SYS.GetC.A .EQ $24
|
|
|
|
|
SYS.GetChar .EQ $26
|
|
|
|
|
SYS.FPutS .EQ $28
|
|
|
|
|
SYS.PutS.YA .EQ $2A
|
|
|
|
|
SYS.FGetS .EQ $2C
|
|
|
|
|
SYS.GetS.YA .EQ $2E
|
|
|
|
|
|
|
|
|
|
SYS.FOpen .EQ $30
|
2017-01-12 17:43:45 +00:00
|
|
|
|
SYS.FOpen.R .EQ $01 Open For Read
|
|
|
|
|
SYS.FOpen.W .EQ $02 Open For Write
|
|
|
|
|
SYS.FOpen.A .EQ $04 Append
|
|
|
|
|
SYS.FOpen.T .EQ $08 Open/Append in Text mode
|
|
|
|
|
SYS.FOpen.X .EQ $80 Create if not exists
|
2017-08-25 15:02:16 +00:00
|
|
|
|
SYS.FClose.A .EQ $32
|
|
|
|
|
SYS.FRead .EQ $34
|
|
|
|
|
SYS.FWrite .EQ $36
|
|
|
|
|
SYS.FFlush .EQ $38
|
|
|
|
|
SYS.FSeek .EQ $3A
|
2017-01-12 17:43:45 +00:00
|
|
|
|
SYS.FSeek.SET .EQ $00
|
|
|
|
|
SYS.FSeek.CUR .EQ $01
|
|
|
|
|
SYS.FSeek.END .EQ $02
|
2017-08-25 15:02:16 +00:00
|
|
|
|
SYS.FTell .EQ $3C
|
|
|
|
|
SYS.FEOF .EQ $3E
|
|
|
|
|
SYS.Remove.YA .EQ $40
|
|
|
|
|
SYS.Rename .EQ $42
|
2017-08-28 15:35:10 +00:00
|
|
|
|
* .EQ $44
|
|
|
|
|
* .EQ $46
|
|
|
|
|
|
|
|
|
|
SYS.GetDevByID.A .EQ $48
|
|
|
|
|
SYS.GetDevByName.YA .EQ $4A
|
|
|
|
|
SYS.GetDevStatus.A .EQ $4C
|
|
|
|
|
* .EQ $4E
|
2017-08-25 15:02:16 +00:00
|
|
|
|
|
|
|
|
|
* .EQ $50
|
|
|
|
|
SYS.SScanF .EQ $52
|
|
|
|
|
* .EQ $54
|
|
|
|
|
* .EQ $56
|
|
|
|
|
SYS.PrintF.YA .EQ $58
|
|
|
|
|
SYS.SPrintF.YA .EQ $5A
|
|
|
|
|
SYS.FPrintF.YA .EQ $5C
|
|
|
|
|
* .EQ $5E
|
|
|
|
|
|
|
|
|
|
SYS.FileSearch .EQ $60
|
|
|
|
|
SYS.GetFullPath.YA .EQ $62
|
|
|
|
|
SYS.LoadFile .EQ $64
|
|
|
|
|
SYS.SaveFile .EQ $66
|
|
|
|
|
|
|
|
|
|
SYS.ChTyp .EQ $68
|
|
|
|
|
SYS.ChMod .EQ $6A
|
|
|
|
|
SYS.ChOwn .EQ $6C
|
|
|
|
|
SYS.ChGrp .EQ $6E
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* .EQ $70
|
2017-08-28 15:35:10 +00:00
|
|
|
|
SYS.StrCpy .EQ $72
|
|
|
|
|
SYS.StrCat .EQ $74
|
|
|
|
|
SYS.StrMatch .EQ $76
|
|
|
|
|
SYS.StrUprYA .EQ $78
|
|
|
|
|
SYS.StrLwrYA .EQ $7A
|
2017-08-25 15:02:16 +00:00
|
|
|
|
SYS.StrFTime .EQ $7C
|
|
|
|
|
* .EQ $7E
|
|
|
|
|
|
|
|
|
|
SYS.AToF .EQ $80
|
|
|
|
|
SYS.AToI.YA .EQ $82
|
|
|
|
|
SYS.AToL .EQ $84
|
|
|
|
|
* .EQ $86-$8E
|
|
|
|
|
|
|
|
|
|
SYS.TimeYA .EQ $90
|
|
|
|
|
SYS.CTime2Time .EQ $92
|
|
|
|
|
SYS.PTime2Time .EQ $94
|
|
|
|
|
* .EQ $96
|
|
|
|
|
|
2017-08-28 15:35:10 +00:00
|
|
|
|
* .EQ $98
|
|
|
|
|
* .EQ $9A
|
|
|
|
|
* .EQ $9C
|
2017-07-01 13:45:53 +00:00
|
|
|
|
* .EQ $9E
|
2017-08-25 15:02:16 +00:00
|
|
|
|
|
|
|
|
|
SYS.ExecProcessNewEnvYA .EQ $A0
|
|
|
|
|
SYS.ExecProcessYA .EQ $A2
|
|
|
|
|
SYS.CreateProcessNewEnvYA .EQ $A4
|
|
|
|
|
SYS.CreateProcessYA .EQ $A6
|
|
|
|
|
SYS.GetPSByIDA .EQ $A8
|
|
|
|
|
* .EQ $AA
|
|
|
|
|
SYS.Sleep .EQ $AC
|
2017-01-12 17:43:45 +00:00
|
|
|
|
* .EQ $AE
|
2017-08-25 15:02:16 +00:00
|
|
|
|
|
|
|
|
|
SYS.GetArgC .EQ $B0
|
|
|
|
|
SYS.GetArg.A .EQ $B2
|
|
|
|
|
SYS.ExpandStr.YA .EQ $B4
|
|
|
|
|
* .EQ $B6
|
|
|
|
|
|
|
|
|
|
SYS.PutEnv.YA .EQ $B8
|
|
|
|
|
SYS.SetEnv .EQ $BA
|
|
|
|
|
SYS.GetEnv.YA .EQ $BC
|
|
|
|
|
SYS.UnsetEnv.YA .EQ $BE
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
SYS.GetMem .EQ $C0
|
|
|
|
|
SYS.FreeMem.A .EQ $C2
|
|
|
|
|
SYS.GetMemPtr.A .EQ $C4
|
|
|
|
|
SYS.GetMemByID.A .EQ $C6
|
|
|
|
|
|
|
|
|
|
SYS.GetMem.YA .EQ $C8
|
|
|
|
|
SYS.GetMem0.YA .EQ $CA
|
|
|
|
|
* .EQ $CC
|
|
|
|
|
* .EQ $CE
|
|
|
|
|
|
|
|
|
|
SYS.SetLoMem .EQ $D0
|
|
|
|
|
SYS.GetMemStat.YA .EQ $D2
|
|
|
|
|
* .EQ $D4
|
|
|
|
|
* .EQ $D6
|
|
|
|
|
|
|
|
|
|
SYS.LoadStkObj.YA .EQ $D8
|
|
|
|
|
SYS.GetStkObj.A .EQ $DA
|
|
|
|
|
SYS.FreeStkObj.A .EQ $DC
|
|
|
|
|
* .EQ $DE
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
SYS.LoadLib.YA .EQ $E0
|
|
|
|
|
SYS.UnloadLib.A .EQ $E2
|
|
|
|
|
SYS.LoadDrv.YA .EQ $E4
|
2016-10-07 15:28:17 +00:00
|
|
|
|
*--------------------------------------
|
2016-01-16 22:06:36 +00:00
|
|
|
|
* ProDOS ERROR CODES : $00->$5F
|
|
|
|
|
* Lib ERROR CODES : $80->$BF
|
|
|
|
|
* Kernel ERROR CODES : $C0->$FF
|
|
|
|
|
*--------------------------------------
|
2015-11-10 20:48:42 +00:00
|
|
|
|
MEMMGR.ERROOM .EQ $FF Out Of Memory Error
|
|
|
|
|
MEMMGR.ERROOH .EQ $FE Out Of Handle Error
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
DEVMGR.ERROOM .EQ $EF Out Of Memory Error
|
|
|
|
|
DEVMGR.ERROOH .EQ $EE Out Of Handle Error
|
2016-01-04 07:17:33 +00:00
|
|
|
|
DEVMGR.ERRICL .EQ $ED Invalid Command Line
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
TSKMGR.ERROOH .EQ $DF Out Of Handle Error
|
|
|
|
|
TSKMGR.ERRNSP .EQ $DD No Such Process Error
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
SYSMGR.ERRSYN .EQ $CF Syntax Error
|
|
|
|
|
SYSMGR.ERRENVF .EQ $CE Env is Full
|
2016-10-04 16:01:07 +00:00
|
|
|
|
SYSMGR.ERRIBIN .EQ $CD Invalid BIN format
|
2015-11-10 20:48:42 +00:00
|
|
|
|
SYSMGR.ERRFTB .EQ $CC File Too Big Error
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* MEM STRUCT
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
S.MEM.F .EQ 0
|
|
|
|
|
S.MEM.F.AUX .EQ %10000000 Request Stock Object
|
|
|
|
|
S.MEM.F.INIT0 .EQ %01000000 Fill with "0"
|
|
|
|
|
S.MEM.F.CODE .EQ %00100000
|
|
|
|
|
S.MEM.F.NOMOVE .EQ %00010000
|
|
|
|
|
S.MEM.F.ALIGN .EQ %00001000
|
|
|
|
|
S.MEM.F.INUSE .EQ %10000000 (Internal Flag)
|
|
|
|
|
S.MEM.REFCNT .EQ 1
|
|
|
|
|
S.MEM.OWNERPID .EQ 2
|
|
|
|
|
S.MEM.BIN .EQ 3
|
|
|
|
|
S.MEM.PTR .EQ 4
|
|
|
|
|
S.MEM.LEN .EQ 6
|
|
|
|
|
*
|
2016-10-03 15:59:36 +00:00
|
|
|
|
S.MEM .EQ 8
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
2016-12-08 16:53:29 +00:00
|
|
|
|
S.MEMSTAT.ML .EQ 0
|
|
|
|
|
S.MEMSTAT.MF .EQ 2
|
|
|
|
|
S.MEMSTAT.MH .EQ 4
|
|
|
|
|
*
|
|
|
|
|
S.MEMSTAT.XL .EQ 8
|
|
|
|
|
S.MEMSTAT.XF .EQ 10
|
|
|
|
|
S.MEMSTAT.XH .EQ 12
|
|
|
|
|
*
|
|
|
|
|
S.MEMSTAT.DL .EQ 16
|
|
|
|
|
S.MEMSTAT.DF .EQ 18
|
|
|
|
|
S.MEMSTAT.DH .EQ 20
|
|
|
|
|
*
|
|
|
|
|
S.MEMSTAT .EQ 24
|
|
|
|
|
*--------------------------------------
|
2016-12-09 16:36:24 +00:00
|
|
|
|
* DEVMGR (new API) = Smartport
|
2016-12-06 16:57:00 +00:00
|
|
|
|
*--------------------------------------
|
2017-01-12 17:43:45 +00:00
|
|
|
|
* JMP : (A=Device)
|
|
|
|
|
* DRV : AUXLC entry point
|
|
|
|
|
* BLK : ROM Entry point Cn($Cnff)
|
|
|
|
|
* PRT : ROM Entry point Cn($Cnff)+3
|
2017-03-15 16:44:15 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
S.DEV.DRV.JMP .EQ 2
|
|
|
|
|
S.DEV.S .EQ 4
|
2017-01-12 17:43:45 +00:00
|
|
|
|
S.DEV.S.BLOCK .EQ %10000000
|
|
|
|
|
S.DEV.S.WRITE .EQ %01000000
|
|
|
|
|
S.DEV.S.READ .EQ %00100000
|
|
|
|
|
S.DEV.S.ONLINE .EQ %00010000
|
|
|
|
|
S.DEV.S.NOFMT .EQ %00001000
|
|
|
|
|
S.DEV.S.WENABL .EQ %00000100
|
|
|
|
|
S.DEV.S.IRQ .EQ %00000010
|
|
|
|
|
S.DEV.S.OPENED .EQ %00000001
|
2017-03-15 16:44:15 +00:00
|
|
|
|
S.DEV.F .EQ 5
|
|
|
|
|
*S.DEV.F.PRT .EQ %10000000
|
|
|
|
|
*S.DEV.F.BLK .EQ %01000000
|
|
|
|
|
*S.DEV.F.DII .EQ %00100000
|
|
|
|
|
S.DEV.BUSID .EQ 6
|
|
|
|
|
S.DEV.DEVID .EQ 7
|
|
|
|
|
S.DEV.ROM.JMP .EQ 8 word
|
|
|
|
|
*
|
|
|
|
|
S.DEV.NAME .EQ 11 L+4 MAX
|
2017-01-12 17:43:45 +00:00
|
|
|
|
*
|
2017-03-15 16:44:15 +00:00
|
|
|
|
S.DEV .EQ 16
|
2017-01-12 17:43:45 +00:00
|
|
|
|
*----------- Smartport ----------------
|
|
|
|
|
DEVMGR.STATUS .EQ 0
|
|
|
|
|
DEVMGR.READBLOCK .EQ 2
|
|
|
|
|
DEVMGR.WRITEBLOCK .EQ 4
|
|
|
|
|
DEVMGR.FORMAT .EQ 6
|
|
|
|
|
DEVMGR.CONTROL .EQ 8
|
|
|
|
|
DEVMGR.INIT .EQ 10
|
|
|
|
|
DEVMGR.OPEN .EQ 12
|
|
|
|
|
DEVMGR.CLOSE .EQ 14
|
|
|
|
|
DEVMGR.READ .EQ 16
|
|
|
|
|
DEVMGR.WRITE .EQ 18
|
2017-02-02 17:30:07 +00:00
|
|
|
|
DEVMGR.IRQ .EQ 20
|
2017-01-12 17:43:45 +00:00
|
|
|
|
*--------------------------------------
|
2017-06-02 15:14:42 +00:00
|
|
|
|
* 'GFX' Class Driver Functions
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
DEVMGR.GFX.SETPIXEL .EQ 22
|
|
|
|
|
DEVMGR.GFX.GETPIXEL .EQ 24
|
|
|
|
|
DEVMGR.GFX.HLINE .EQ 26
|
|
|
|
|
DEVMGR.GFX.VLINE .EQ 28
|
2017-06-09 15:36:05 +00:00
|
|
|
|
DEVMGR.GFX.FILLRECT .EQ 30
|
|
|
|
|
DEVMGR.GFX.BITBLT .EQ 32
|
2017-06-02 15:14:42 +00:00
|
|
|
|
*--------------------------------------
|
2017-01-12 17:43:45 +00:00
|
|
|
|
S.DEVSTAT.S .EQ 0
|
|
|
|
|
S.DEVSTAT.S.BLOCK .EQ %10000000
|
|
|
|
|
S.DEVSTAT.S.WRITE .EQ %01000000
|
|
|
|
|
S.DEVSTAT.S.READ .EQ %00100000
|
|
|
|
|
S.DEVSTAT.S.ONLINE .EQ %00010000
|
|
|
|
|
S.DEVSTAT.S.NOFMT .EQ %00001000
|
|
|
|
|
S.DEVSTAT.S.WENABL .EQ %00000100
|
|
|
|
|
S.DEVSTAT.S.IRQ .EQ %00000010
|
|
|
|
|
S.DEVSTAT.S.OPENED .EQ %00000001
|
|
|
|
|
S.DEVSTAT.SIZE .EQ 1 3 bytes
|
|
|
|
|
S.DEVSTAT.IDSTRING .EQ 4 1 (LEN) + 16 MAX
|
2017-06-02 15:14:42 +00:00
|
|
|
|
S.DEVSTAT.T .EQ 21
|
|
|
|
|
S.DEVSTAT.T.RAM .EQ $00 Memory Expansion Card (RAM disk)
|
|
|
|
|
S.DEVSTAT.T.3.5 .EQ $01 3.5" disk
|
|
|
|
|
S.DEVSTAT.T.PROFILE .EQ $02 ProFile-type hard disk
|
|
|
|
|
S.DEVSTAT.T.GENSCSI .EQ $03 Generic SCSI
|
|
|
|
|
S.DEVSTAT.T.ROM .EQ $04 ROM disk
|
|
|
|
|
S.DEVSTAT.T.CDROM .EQ $05 SCSI CD-ROM
|
|
|
|
|
S.DEVSTAT.T.TAPE .EQ $06 SCSI tape or other SCSI sequential device
|
|
|
|
|
S.DEVSTAT.T.HD .EQ $07 SCSI hard disk
|
2017-01-12 22:04:44 +00:00
|
|
|
|
* .EQ $08 Reserved
|
2017-06-02 15:14:42 +00:00
|
|
|
|
S.DEVSTAT.T.SPRINTER .EQ $09 SCSI printer
|
|
|
|
|
S.DEVSTAT.T.5.25 .EQ $0A 5-1/4" disk
|
2017-01-12 22:04:44 +00:00
|
|
|
|
* .EQ $0B Reserved
|
|
|
|
|
* .EQ $0C Reserved
|
2017-06-02 15:14:42 +00:00
|
|
|
|
S.DEVSTAT.T.PRINTER .EQ $0D Printer
|
|
|
|
|
S.DEVSTAT.T.CLOCK .EQ $0E Clock
|
|
|
|
|
S.DEVSTAT.T.MODEM .EQ $0F Modem
|
|
|
|
|
S.DEVSTAT.T.DISKII .EQ $10
|
|
|
|
|
S.DEVSTAT.T.PRODOS .EQ $11
|
|
|
|
|
S.DEVSTAT.T.NET .EQ $12 Network board
|
|
|
|
|
S.DEVSTAT.T.XY .EQ $13 X,Y Pointing Device
|
|
|
|
|
S.DEVSTAT.T.CHAR .EQ $14
|
|
|
|
|
S.DEVSTAT.T.GFX .EQ $15
|
2017-01-12 17:43:45 +00:00
|
|
|
|
S.DEVSTAT.SUBTYPE .EQ 22
|
|
|
|
|
S.DEVSTAT.SUBTYPE.EXT .EQ $80
|
|
|
|
|
S.DEVSTAT.SUBTYPE.DSKSW .EQ $40
|
|
|
|
|
S.DEVSTAT.SUBTYPE.NOREM .EQ $20
|
|
|
|
|
S.DEVSTAT.VERSION .EQ 23
|
2017-01-12 22:04:44 +00:00
|
|
|
|
S.DEVSTAT .EQ 25
|
|
|
|
|
*--------------------------------------
|
2015-11-10 20:48:42 +00:00
|
|
|
|
* PS STRUCT
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
S.PS.F .EQ 0
|
|
|
|
|
S.PS.F.INUSE .EQ %10000000
|
2016-10-06 15:50:20 +00:00
|
|
|
|
S.PS.F.INIT .EQ %01000000
|
|
|
|
|
S.PS.F.HOLD .EQ %00100000
|
|
|
|
|
S.PS.F.SLEEP .EQ %00010000
|
|
|
|
|
S.PS.F.EVENT .EQ %00001000
|
|
|
|
|
S.PS.F.ENV .EQ %00000100
|
2017-01-12 17:43:45 +00:00
|
|
|
|
S.PS.PPID .EQ 1
|
|
|
|
|
S.PS.PID .EQ 2
|
|
|
|
|
S.PS.CPID .EQ 3
|
|
|
|
|
S.PS.hCS .EQ 4
|
|
|
|
|
S.PS.hDS .EQ 5
|
2017-08-24 06:47:31 +00:00
|
|
|
|
S.PS.hSS .EQ 6
|
2017-01-12 17:43:45 +00:00
|
|
|
|
S.PS.hENV .EQ 7
|
|
|
|
|
S.PS.hCMDLINE .EQ 8
|
2017-08-24 06:47:31 +00:00
|
|
|
|
S.PS.hPREFIX .EQ 9
|
2017-01-12 17:43:45 +00:00
|
|
|
|
S.PS.hStdIn .EQ 10
|
|
|
|
|
S.PS.hStdOut .EQ 11
|
|
|
|
|
S.PS.hStdErr .EQ 12
|
2016-10-29 19:58:21 +00:00
|
|
|
|
S.PS.RC .EQ 13
|
2015-11-10 20:48:42 +00:00
|
|
|
|
S.PS.PC .EQ 14
|
|
|
|
|
*
|
2016-10-03 15:59:36 +00:00
|
|
|
|
S.PS .EQ 16
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
* LIB Function Indexes
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
LIBMGR.LOAD .EQ 0
|
|
|
|
|
LIBMGR.UNLOAD .EQ 2
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Task Function Indexes
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TSKMGR.INIT .EQ 0
|
|
|
|
|
TSKMGR.RUN .EQ 2
|
|
|
|
|
TSKMGR.DOEVENT .EQ 4
|
|
|
|
|
TSKMGR.QUIT .EQ 6
|
|
|
|
|
*--------------------------------------
|
2015-11-10 20:48:42 +00:00
|
|
|
|
* EVENT STRUCT
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
S.EVT.F .EQ 0
|
2016-03-13 21:50:43 +00:00
|
|
|
|
S.EVT.F.T10TH .EQ %10000000
|
|
|
|
|
S.EVT.F.T1SEC .EQ %01000000
|
2015-11-10 20:48:42 +00:00
|
|
|
|
S.EVT.F.hMEM2 .EQ %00100000 Indicates That S.EVT.DATAHI is a hMem
|
|
|
|
|
S.EVT.F.hMEM1 .EQ %00010000 Indicates That S.EVT.DATALO is a hMem
|
2016-03-13 21:50:43 +00:00
|
|
|
|
|
2015-11-10 20:48:42 +00:00
|
|
|
|
S.EVT.hDEV .EQ 1
|
|
|
|
|
S.EVT.DATA .EQ 2
|
|
|
|
|
S.EVT.DATALO .EQ 2
|
|
|
|
|
S.EVT.DATAHI .EQ 3
|
|
|
|
|
S.EVT.DATAW1 .EQ 4
|
|
|
|
|
S.EVT.DATAW2 .EQ 6
|
|
|
|
|
*
|
2016-03-13 21:50:43 +00:00
|
|
|
|
S.EVT .EQ 8
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*--------------------------------------
|
2016-09-22 15:46:01 +00:00
|
|
|
|
S.TIME.CENTURY .EQ 0 19,20,21....
|
|
|
|
|
S.TIME.YEAR .EQ 1 0.99
|
|
|
|
|
S.TIME.MONTH .EQ 2 1..12
|
|
|
|
|
S.TIME.DAY .EQ 3 1..31
|
|
|
|
|
S.TIME.HOUR .EQ 4 0..23
|
|
|
|
|
S.TIME.MINUTE .EQ 5 0..59
|
|
|
|
|
S.TIME.SECOND .EQ 6 0..61
|
|
|
|
|
S.TIME.WDAY .EQ 7 1..7
|
2015-11-10 20:48:42 +00:00
|
|
|
|
*
|
2016-09-22 15:46:01 +00:00
|
|
|
|
S.TIME .EQ 8
|
2016-08-30 20:26:19 +00:00
|
|
|
|
*--------------------------------------
|
2016-12-09 16:36:24 +00:00
|
|
|
|
S.PFT.PATH .EQ 0 /dev, /mnt
|
|
|
|
|
S.PFT.HANDLER .EQ 16
|
|
|
|
|
S.PFT.DATA .EQ 24 8 bytes OPAQUE data for handler
|
|
|
|
|
*
|
|
|
|
|
S.PFT .EQ 32
|
|
|
|
|
*--------------------------------------
|
2016-08-30 20:26:19 +00:00
|
|
|
|
* S.STAT
|
2016-08-24 15:42:33 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
S.STAT.MODE .EQ 0
|
|
|
|
|
S.STAT.MODE.XO .EQ $0001
|
|
|
|
|
S.STAT.MODE.WO .EQ $0002
|
|
|
|
|
S.STAT.MODE.RO .EQ $0004
|
|
|
|
|
S.STAT.MODE.XG .EQ $0008
|
|
|
|
|
S.STAT.MODE.WG .EQ $0010
|
|
|
|
|
S.STAT.MODE.RG .EQ $0020
|
|
|
|
|
S.STAT.MODE.XU .EQ $0040
|
|
|
|
|
S.STAT.MODE.WU .EQ $0080
|
|
|
|
|
S.STAT.MODE.RU .EQ $0100
|
2016-10-29 19:58:21 +00:00
|
|
|
|
*S.STAT.MODE.SST .EQ $0200
|
2016-10-18 15:56:06 +00:00
|
|
|
|
*S.STAT.MODE.SGID .EQ $0400
|
|
|
|
|
*S.STAT.MODE.SUID .EQ $0800
|
|
|
|
|
|
2016-12-09 16:36:24 +00:00
|
|
|
|
S.STAT.MODE.REG .EQ $0000
|
|
|
|
|
S.STAT.MODE.DIR .EQ $1000
|
|
|
|
|
*S.STAT.MODE.CDEV .EQ $2000
|
|
|
|
|
*S.STAT.MODE.BDEV .EQ $3000
|
|
|
|
|
*S.STAT.MODE.LNK .EQ $4000
|
|
|
|
|
*S.STAT.MODE.DSOCK .EQ $5000
|
|
|
|
|
*S.STAT.MODE.SSOCK .EQ $6000
|
|
|
|
|
*S.STAT.MODE.FIFO .EQ $7000
|
2016-10-18 15:56:06 +00:00
|
|
|
|
|
2016-09-01 15:42:38 +00:00
|
|
|
|
S.STAT.DEV .EQ 2 WORD
|
|
|
|
|
S.STAT.UID .EQ 4 WORD
|
|
|
|
|
S.STAT.GID .EQ 6 WORD
|
|
|
|
|
S.STAT.INO .EQ 8 QWORD
|
|
|
|
|
S.STAT.NLINK .EQ 16 WORD
|
|
|
|
|
S.STAT.SIZE .EQ 18 DWORD
|
2016-10-14 06:23:05 +00:00
|
|
|
|
S.STAT.ATIME .EQ 22 S.TIME
|
|
|
|
|
S.STAT.MTIME .EQ 30 S.TIME
|
|
|
|
|
S.STAT.CTIME .EQ 38 S.TIME
|
|
|
|
|
S.STAT.BLOCKS .EQ 46 DWORD
|
|
|
|
|
S.STAT.BLKSIZE .EQ 50 WORD
|
2016-12-09 16:36:24 +00:00
|
|
|
|
S.STAT.P.TYPE .EQ 52 BYTE
|
2017-08-22 06:37:03 +00:00
|
|
|
|
S.STAT.P.AUXTYPE .EQ 53 WORD
|
2016-12-09 16:36:24 +00:00
|
|
|
|
S.STAT.P.SLOT .EQ 55 BYTE
|
|
|
|
|
S.STAT.P.DRIVE .EQ 56 BYTE
|
2017-08-22 06:37:03 +00:00
|
|
|
|
S.STAT.P.DEVSTATUS .EQ 57 BYTE
|
|
|
|
|
*S.STAT.P.DEVCNFLCT .EQ 58 BYTE
|
|
|
|
|
S.STAT.P.DEVBLOCKS .EQ 59 BYTE
|
2016-08-24 15:42:33 +00:00
|
|
|
|
*
|
2016-10-14 06:23:05 +00:00
|
|
|
|
S.STAT .EQ 64
|
2016-08-24 15:42:33 +00:00
|
|
|
|
*--------------------------------------
|
2016-12-09 16:36:24 +00:00
|
|
|
|
* S.NODE
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
S.NODE.HANDLER .EQ 0 0=KRNL,!0=hLIB (LIBNFS,LIBTCPIP.....)
|
|
|
|
|
S.NODE.T .EQ 1
|
|
|
|
|
S.NODE.T.REG .EQ 0
|
|
|
|
|
S.NODE.T.DIR .EQ 1
|
|
|
|
|
S.NODE.T.CDEV .EQ 2
|
|
|
|
|
S.NODE.T.BDEV .EQ 3
|
|
|
|
|
S.NODE.T.LNK .EQ 4
|
|
|
|
|
S.NODE.T.DSOCK .EQ 5
|
|
|
|
|
S.NODE.T.SSOCK .EQ 6
|
|
|
|
|
S.NODE.T.FIFO .EQ 7
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
S.NODE.REG.REF .EQ 2
|
|
|
|
|
S.NODE.REG.IOBUF .EQ 3
|
2016-12-08 16:53:29 +00:00
|
|
|
|
*
|
2016-12-09 16:36:24 +00:00
|
|
|
|
S.NODE.REG .EQ 4
|
2016-12-08 16:53:29 +00:00
|
|
|
|
*--------------------------------------
|
2016-12-09 16:36:24 +00:00
|
|
|
|
S.NODE.DIR.REF .EQ 2
|
|
|
|
|
S.NODE.DIR.IOBUF .EQ 3
|
|
|
|
|
S.NODE.DIR.EL .EQ 4
|
|
|
|
|
S.NODE.DIR.EPB .EQ 5
|
|
|
|
|
S.NODE.DIR.FC .EQ 6 word
|
2016-12-08 16:53:29 +00:00
|
|
|
|
*
|
2016-12-09 16:36:24 +00:00
|
|
|
|
S.NODE.DIR .EQ 8
|
2016-12-08 16:53:29 +00:00
|
|
|
|
*--------------------------------------
|
2016-12-09 16:36:24 +00:00
|
|
|
|
S.NODE.DEV.ID .EQ 2
|
2017-01-12 17:43:45 +00:00
|
|
|
|
S.NODE.DEV.JMP .EQ 3 word
|
2016-08-26 15:10:38 +00:00
|
|
|
|
*
|
2017-01-12 17:43:45 +00:00
|
|
|
|
S.NODE.DEV .EQ 5
|
2016-12-08 16:53:29 +00:00
|
|
|
|
*--------------------------------------
|
2016-12-09 16:36:24 +00:00
|
|
|
|
* S.NODE.LNK
|
2016-08-24 15:42:33 +00:00
|
|
|
|
*--------------------------------------
|
2017-03-09 07:11:44 +00:00
|
|
|
|
S.NODE.SSOCK.HSKT .EQ 2
|
2017-03-28 15:46:12 +00:00
|
|
|
|
S.NODE.SSOCK.OPEN .EQ 3
|
|
|
|
|
S.NODE.SSOCK.CLOSE .EQ 4
|
|
|
|
|
S.NODE.SSOCK.READ .EQ 5
|
|
|
|
|
S.NODE.SSOCK.WRITE .EQ 6
|
|
|
|
|
S.NODE.SSOCK.STATUS .EQ 7
|
2017-03-09 07:11:44 +00:00
|
|
|
|
*
|
|
|
|
|
S.NODE.SSOCK .EQ 8
|
|
|
|
|
*--------------------------------------
|
2016-12-09 16:36:24 +00:00
|
|
|
|
S.NODE.FIFO.S .EQ 2
|
|
|
|
|
S.NODE.FIFO.S.Opened .EQ 1
|
|
|
|
|
S.NODE.FIFO.S.Closed .EQ 2
|
|
|
|
|
S.NODE.FIFO.hMem .EQ 3
|
|
|
|
|
S.NODE.FIFO.Tail .EQ 4
|
|
|
|
|
S.NODE.FIFO.Head .EQ 5
|
2016-08-26 15:10:38 +00:00
|
|
|
|
*
|
2017-01-12 17:43:45 +00:00
|
|
|
|
S.NODE.FIFO .EQ 6
|
2016-08-24 15:42:33 +00:00
|
|
|
|
*--------------------------------------
|
2015-03-14 21:48:35 +00:00
|
|
|
|
MAN
|
2017-03-29 15:48:15 +00:00
|
|
|
|
SAVE /A2OSX.BUILD/INC/A2OSX.I
|