A2osX/INC/MLI.I.txt
burniouf 8dea8d82c3 ProDOS.FX : Many bugfixes & improvement
A2osX : bugfixes in KERNEL
2023-11-20 21:22:55 +01:00

200 lines
4.7 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
* PRODOS Constants
*--------------------------------------
MLI.MAXPATH .EQ 64
*--------------------------------------
* PRODOS Defines
*--------------------------------------
MLI.ALLOCIRQ .EQ $40
MLI.DEALLOCIRQ .EQ $41
MLI.ATALK .EQ $42
MLI.QUIT .EQ $65
MLI.READBLOCK .EQ $80
MLI.WRITEBLOCK .EQ $81
MLI.GETTIME .EQ $82
MLI.CREATE .EQ $C0
MLI.DESTROY .EQ $C1
MLI.RENAME .EQ $C2
MLI.SFINFO .EQ $C3
MLI.GFINFO .EQ $C4
MLI.ONLINE .EQ $C5
MLI.SETPREFIX .EQ $C6
MLI.GETPREFIX .EQ $C7
MLI.OPEN .EQ $C8
MLI.NEWLINE .EQ $C9
MLI.READ .EQ $CA
MLI.WRITE .EQ $CB
MLI.CLOSE .EQ $CC
MLI.FLUSH .EQ $CD
MLI.SETMARK .EQ $CE
MLI.GETMARK .EQ $CF
MLI.SETEOF .EQ $D0
MLI.GETEOF .EQ $D1
MLI.SETBUF .EQ $D2
MLI.GETBUF .EQ $D3
* ProDOS FX
MLI.SFINFOEX .EQ $D4
MLI.GFINFOEX .EQ $D5
MLI.ACL .EQ $D6
*--------------------------------------
* 7 6 5 4 3 2 1 0
* +--+--+--+--+--+--+--+--+
* |D |RN|B |Reserved|W |R |
* +--+--+--+--+--+--+--+--+
*
* D: Destroy enable bit
* RN: Rename enable bit
* B: Backup needed bit
* W: Write enable bit
* R: Read enable bit
*
* Bit 2 = Invisible Bit (TECH NOTE #23)
*--------------------------------------
S.FI.A .EQ $03
S.FI.A.R .EQ $01
S.FI.A.W .EQ $02
S.FI.A.I .EQ $04
S.FI.A.B .EQ $20
S.FI.A.RN .EQ $40
S.FI.A.D .EQ $80
S.FI.A.FULL .EQ $C3
S.FI.T .EQ $04
S.FI.T.TXT .EQ $04
S.FI.T.BIN .EQ $06
S.FI.T.DIR .EQ $0F
S.FI.T.ASM .EQ $FA
S.FI.T.BAS .EQ $FC
S.FI.T.PIX .EQ $CB
S.FI.T.FON .EQ $CC
S.FI.T.PAK .EQ $CF
S.FI.T.SYS .EQ $FF
S.FI.AUXTYPE .EQ $05
S.FI.TBLKS .EQ $05
S.FI.ST .EQ $07
S.FI.ST.STD .EQ $01
S.FI.ST.DIR .EQ $0D
S.FI.UBLKS .EQ $08
*--------------------------------------
* DATE:
* 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
* +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
* | Year | Month | Day |
* +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
* TIME:
* 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
* +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
* |0 0 0| Hour | |0 0| Minute |
* +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
*--------------------------------------
S.FI.MDATE .EQ $0A
S.FI.MTIME .EQ $0C
S.FI.CDATE .EQ $0E
S.FI.CTIME .EQ $10
*
S.FI .EQ $12
*--------------------------------------
S.FIEX.FILENAME .EQ 0
S.FIEX.TYPE .EQ 16
S.FIEX.KEYPTR .EQ 17
S.FIEX.BLKUSED .EQ 19
S.FIEX.EOF .EQ 21
S.FIEX.CTIME .EQ 24
S.FIEX.VERSION .EQ 28
S.FIEX.MVERSION .EQ 29
S.FIEX.ACCESS .EQ 30
S.FIEX.AUXTYPE .EQ 31
S.FIEX.MTIME .EQ 33
S.FIEX.BLKPTR .EQ 37
S.FIEX.ACL .EQ 40 57.00
S.FIEX.ACL.UID .EQ 42
S.FIEX.ACL.GID .EQ 44
S.FIEX.ACL.MOD .EQ 46
*
S.FIEX .EQ 48
*--------------------------------------
TBX.EnumBlk .EQ 0
TBX.EnumNext .EQ 1
TBX.MemReset .EQ 2
*--------------------------------------
MLI .EQ $BF00
GP.DISPATCH .EQ $BF03
GP.CLOCK .EQ $BF06
GP.SYSERR .EQ $BF09
GP.SYSDEATH .EQ $BF0C
GP.ERROR .EQ $BF0F
GP.DEVPTRS .EQ $BF10
*DEVPTRS0D1 .EQ $BF10
*DEVPTRS1D1 .EQ $BF12
*DEVPTRS2D1 .EQ $BF14
*DEVPTRS3D1 .EQ $BF16
*DEVPTRS4D1 .EQ $BF18
*DEVPTRS5D1 .EQ $BF1A
*DEVPTRS6D1 .EQ $BF1C
*DEVPTRS7D1 .EQ $BF1E
*DEVPTRS0D2 .EQ $BF20
*DEVPTRS1D2 .EQ $BF22
*DEVPTRS2D2 .EQ $BF24
GP.DEVPTRS3D2 .EQ $BF26
*DEVPTRS4D2 .EQ $BF28
*DEVPTRS5D2 .EQ $BF2A
*DEVPTRS6D2 .EQ $BF2C
*DEVPTRS7D2 .EQ $BF2E
GP.DEVNUM .EQ $BF30
GP.DEVCNT .EQ $BF31 0 -> 13
GP.DEVLST .EQ $BF32 -> $BF3F
*DEVLST0END .EQ $BF40 A 0 was added to ensure list ended with 0 if 14 devices in list
*PRODOSCOPYRIGHT .EQ $BF41 ;free->$BF4B
GP.MLIENTRY .EQ $BF4B to bypass ATLK hook
GP.MEMTABL .EQ $BF58 -> $BF6F
GP.BUFTABL .EQ $BF70
*INTRUPT1 .EQ $BF80
*INTRUPT2 .EQ $BF82
*INTRUPT3 .EQ $BF84
*INTRUPT4 .EQ $BF86
GP.DATE .EQ $BF90
GP.TIME .EQ $BF92
GP.FLEVEL .EQ $BF94
GP.BUBIT .EQ $BF95
*SPARE1 .EQ $BF96
GP.NEWPFXPTR .EQ $BF97
GP.MACHID .EQ $BF98
MACHID.T .EQ %11001000
*MACHID.T.II .EQ %00000000
*MACHID.T.IIp .EQ %01000000
MACHID.T.IIe .EQ %10000000
MACHID.T.IIc .EQ %10001000
*MACHID.T.III .EQ %11000000
MACHID.M .EQ %00110000
MACHID.M.128 .EQ %00110000
*MACHID.M.64 .EQ %00100000
*MACHID.M.48 .EQ %00010000
*MACHID.SPARE .EQ %00000100
MACHID.COL80 .EQ %00000010
MACHID.CLK .EQ %00000001
GP.SLTBYT .EQ $BF99
GP.PFXPTR .EQ $BF9A
GP.MLIACTV .EQ $BF9B
*CMDADR .EQ $BF9C
*SAVEX .EQ $BF9E
*SAVEY .EQ $BF9F
*--------------------------------------
* GP.MLIEXIT $BFA0
* GP.MLICONT $BFB7
*--------------------------------------
*BNKBYT1 .EQ $BFF4
*BNKBYT2 .EQ $BFF5
*SYS.RTS .EQ $BFF6 code -> $BFFB
*IBAKVER .EQ $BFFC
*IVERSION .EQ $BFFD
*KBAKVER .EQ $BFFE
GP.KVER .EQ $BFFF
*--------------------------------------
MAN
SAVE inc/mli.i