A2osX/SYS/KERNEL.S.JMP.txt

481 lines
8.9 KiB
Plaintext
Raw Normal View History

2017-12-22 21:24:30 +00:00
NEW
2019-05-25 19:24:07 +00:00
AUTO 3,1
2016-06-07 06:10:18 +00:00
*--------------------------------------
2019-05-04 21:13:50 +00:00
* $E000-E1FF System calls Jump Table
*--------------------------------------
* Bank 1
*--------------------------------------
2019-07-29 15:38:55 +00:00
K.SYSCALL .DA 0 $00
2019-05-04 21:13:50 +00:00
.DA K.ChMod
2018-10-04 15:30:14 +00:00
.DA K.FStat
.DA K.Stat
2018-06-18 06:22:50 +00:00
.DA K.MKDir
.DA K.MKNod
.DA K.MKFIFO
2019-02-04 16:37:15 +00:00
.DA K.Pipe
2019-12-02 16:47:53 +00:00
2018-06-18 06:22:50 +00:00
.DA K.OpenDir $10
.DA K.ReadDir
2018-09-06 15:36:44 +00:00
.DA K.FClose
2018-07-11 15:13:29 +00:00
.DA K.Open
.DA K.Close
.DA K.Read
.DA K.Write
.DA K.IOCTL
2018-06-18 06:22:50 +00:00
.DA K.FPutC $20
.DA K.PutChar
.DA K.GetC
.DA K.GetChar
.DA K.FPutS
2018-06-18 06:22:50 +00:00
.DA K.PutS
2018-07-27 13:34:34 +00:00
.DA K.FGetS
2018-01-15 06:50:44 +00:00
.DA 0
2019-12-02 16:47:53 +00:00
.DA K.FOpen $30
2018-06-18 06:22:50 +00:00
.DA K.FClose
2017-01-12 17:43:45 +00:00
.DA K.FRead
.DA K.FWrite
2018-06-18 06:22:50 +00:00
.DA K.FFlush
2017-01-12 17:43:45 +00:00
.DA K.FSeek
.DA K.FTell
2018-06-18 06:22:50 +00:00
.DA K.FEOF
2018-06-18 06:22:50 +00:00
.DA K.Remove $40
2017-01-12 17:43:45 +00:00
.DA K.Rename
.DA 0
.DA 0
2018-12-18 14:37:07 +00:00
.DA 0
2018-06-18 06:22:50 +00:00
.DA K.GetDevByName
.DA K.GetDevStatus
2018-07-17 15:45:59 +00:00
.DA K.MKDev
2019-12-02 16:47:53 +00:00
.DA 0 $50
2018-06-18 06:22:50 +00:00
.DA K.SScanF
.DA 0
2019-08-30 15:16:58 +00:00
.DA K.PrintF2
2018-06-18 06:22:50 +00:00
.DA K.PrintF
.DA K.SPrintF
.DA K.FPrintF
.DA 0
2019-12-02 16:47:53 +00:00
.DA 0 $60
2019-05-04 21:13:50 +00:00
.DA K.ChTyp
2019-07-29 15:38:55 +00:00
.DA 0
.DA 0
2019-05-04 21:13:50 +00:00
.DA 0
.DA 0
.DA K.ChOwn
.DA K.ChGrp
.DA K.AToF $70
2018-06-18 06:22:50 +00:00
.DA K.AToI
.DA K.AToL
.DA K.StrToF
.DA K.StrToL
2019-09-02 15:34:10 +00:00
.DA K.StrToUL
2018-06-18 06:22:50 +00:00
.DA K.RealPath
2018-12-17 15:21:32 +00:00
.DA 0
2016-09-21 15:20:37 +00:00
*--------------------------------------
* Bank 2
*--------------------------------------
2018-06-18 06:22:50 +00:00
.DA K.StrLen $80
.DA K.StrCpy
.DA K.StrCat
2018-12-20 16:23:43 +00:00
.DA K.StrDup
2018-06-18 06:22:50 +00:00
.DA K.StrUpr
.DA K.StrLwr
2018-01-15 16:51:44 +00:00
.DA K.StrCmp
2018-09-06 12:27:37 +00:00
.DA K.StrCaseCmp
2018-06-18 06:22:50 +00:00
.DA K.Time $90
.DA K.CTime2Time
.DA K.PTime2Time
2018-01-15 16:51:44 +00:00
.DA K.StrFTime
2018-06-18 06:22:50 +00:00
.DA K.LoadLib
.DA K.UnloadLib
.DA K.LoadDrv
2018-06-28 15:26:34 +00:00
.DA K.InsDrv
2018-10-25 15:31:41 +00:00
.DA K.ExecL $A0
.DA K.ExecV
2018-10-15 15:39:21 +00:00
.DA 0
2018-12-04 13:20:35 +00:00
.DA K.Kill
2019-07-29 15:38:55 +00:00
.DA K.LoadFile
.DA K.LoadTxtFile
.DA K.GetMemStat
2018-12-18 14:37:07 +00:00
.DA 0
2018-10-16 15:48:03 +00:00
.DA K.Args2ArgV $B0
.DA K.ArgV
2018-06-18 06:22:50 +00:00
.DA K.ExpandStr
2018-06-28 15:26:34 +00:00
.DA K.FileSearch
2018-06-18 06:22:50 +00:00
.DA K.PutEnv
2016-09-21 15:20:37 +00:00
.DA K.SetEnv
2018-06-18 06:22:50 +00:00
.DA K.GetEnv
.DA K.UnsetEnv
2019-12-02 16:47:53 +00:00
2019-07-10 15:39:02 +00:00
.DA 0 $C0
.DA 0
.DA 0
.DA 0
.DA 0
2017-10-27 14:56:46 +00:00
.DA 0
2019-08-01 14:59:15 +00:00
.DA 0
.DA 0
2017-10-27 14:56:46 +00:00
2019-07-19 14:05:22 +00:00
.DA K.GetPWUID $D0
.DA K.GetPWName
.DA K.PutPW
2019-10-11 13:06:33 +00:00
.DA K.FlushEtcPasswd
2019-07-10 15:39:02 +00:00
.DA 0
.DA 0
.DA 0
2019-07-26 14:23:07 +00:00
.DA X.OSD
2016-06-07 06:10:18 +00:00
*--------------------------------------
* $E000
*--------------------------------------
2019-01-30 06:20:13 +00:00
.DA K.GetMem $E0
2018-06-18 06:22:50 +00:00
.DA K.GetMem0
2019-01-30 06:20:13 +00:00
.DA K.GetMemPtr
.DA K.FreeMem
2019-06-19 15:56:59 +00:00
.DA K.GetMem K.NewStkObj
2019-03-15 16:20:28 +00:00
.DA K.LoadStkObj
2019-06-19 15:56:59 +00:00
.DA K.GetMemPtr K.GetStkObjPtr
.DA K.FreeMem K.FreeStkObj
*--------------------------------------
2019-03-15 16:20:28 +00:00
.DA K.SListGetData $F0
.DA K.SListAddData
2019-01-30 06:20:13 +00:00
.DA K.SListSetData
.DA K.SListGetByID
2019-01-30 06:20:13 +00:00
2019-03-13 16:29:24 +00:00
.DA K.SListNewKey
2019-01-30 06:20:13 +00:00
.DA K.SListLookup
.DA K.SListNew
2018-06-18 06:22:50 +00:00
.DA K.SListFree
2016-09-26 16:00:52 +00:00
*--------------------------------------
* LO Byte :
* #RRAMWRAMBNK1,#RRAMWRAMBNK2
* HI Byte :
* Flags (ROOT....)
2016-09-05 06:10:04 +00:00
*--------------------------------------
K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
2019-10-03 06:25:27 +00:00
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $10
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $20
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $30
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $40
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $50
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $60
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $70
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
*--------------------------------------
.DA #RRAMWRAMBNK2 $80
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2 $90
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2 $A0
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2 $B0
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
2017-10-27 14:56:46 +00:00
.DA #RRAMWRAMBNK2 $C0
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
2019-10-11 13:06:33 +00:00
.DA #$C0 $D0 : PWDX
2017-10-27 14:56:46 +00:00
.DA #$80
2019-10-11 13:06:33 +00:00
.DA #$C0 PWDX
2017-10-27 14:56:46 +00:00
.DA #$80
2019-10-11 13:06:33 +00:00
.DA #$C0 PWDX
2017-10-27 14:56:46 +00:00
.DA #$80
2019-10-11 13:06:33 +00:00
.DA #0 PWD
2017-10-27 14:56:46 +00:00
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
2019-07-26 14:23:07 +00:00
.DA #$C0 Off Screen Driver
2017-10-27 14:56:46 +00:00
.DA #$80
*--------------------------------------
2019-06-19 15:56:59 +00:00
.DA #0 $E0 : MemMgr at $E000
.DA #$80
.DA #0
.DA #$80
.DA #0
.DA #$80
.DA #0
.DA #$80
2019-06-20 06:39:28 +00:00
.DA #$C0 NewStkObj
2019-06-19 15:56:59 +00:00
.DA #$80
.DA #0
.DA #$80
2019-06-20 06:39:28 +00:00
.DA #$C0 GetStkObjPtr
2019-06-19 15:56:59 +00:00
.DA #$80
2019-06-20 06:39:28 +00:00
.DA #$C0 FreeStkObj
2019-06-19 15:56:59 +00:00
.DA #$80
2017-01-12 17:43:45 +00:00
*--------------------------------------
2019-07-29 15:38:55 +00:00
.DA #$C0 $F0 : SLIST
2019-06-19 15:56:59 +00:00
.DA #$80
2019-07-29 15:38:55 +00:00
.DA #$C0
2019-06-19 15:56:59 +00:00
.DA #$80
2019-07-29 15:38:55 +00:00
.DA #$C0
2019-06-19 15:56:59 +00:00
.DA #$80
2019-07-29 15:38:55 +00:00
.DA #$C0
2019-06-19 15:56:59 +00:00
.DA #$80
2019-07-29 15:38:55 +00:00
.DA #$C0
2019-06-19 15:56:59 +00:00
.DA #$80
2019-07-29 15:38:55 +00:00
.DA #$C0
2019-06-19 15:56:59 +00:00
.DA #$80
2019-07-29 15:38:55 +00:00
.DA #$C0
2019-06-19 15:56:59 +00:00
.DA #$80
2019-07-29 15:38:55 +00:00
.DA #$C0
2019-06-19 15:56:59 +00:00
.DA #$80
*--------------------------------------
2019-08-05 13:30:58 +00:00
* K.SYSCALL2 : From KERNEL (MAIN,AUX), LIB
*--------------------------------------
2019-05-12 20:45:11 +00:00
K.SYSCALL2 bit K.SYSCALL.BANK,x Get Target BNK
2019-06-19 15:56:59 +00:00
bvc K.SYSCALL2.BANK
2019-08-05 13:30:58 +00:00
K.SYSCALL2.AUX sta SETREADAUX MAIN to AUX Mem API
2019-06-19 15:56:59 +00:00
sta SETWRITEAUX
jsr K.SYSCALL.JMP
sta CLRREADAUX
sta CLRWRITEAUX
rts
2019-08-05 13:30:58 +00:00
K.SYSCALL2.MAIN sta CLRREADAUX Coming from KERNEL in AUX...
sta CLRWRITEAUX
jsr .1
sta SETREADAUX
sta SETWRITEAUX
rts
.1 bit K.SYSCALL.BANK,x Get Target LC BNK
2019-12-02 16:47:53 +00:00
2019-08-05 13:30:58 +00:00
K.SYSCALL2.BANK bpl K.SYSCALL.JMP 0, E000, no BNK change
sta .7+1
2019-05-04 21:13:50 +00:00
lda $D000 #RRAMWRAMBNK1 or #RRAMWRAMBNK2
cmp K.SYSCALL.BANK,x
beq .7
pha remember source BNK
stx .6+1
lda K.SYSCALL.BANK,x
tax get Target BNK in x
bit $C000,x switch to Target BNK
bit $C000,x
jsr .6
2019-12-02 16:47:53 +00:00
2019-05-04 21:13:50 +00:00
stx .5+1 Save X
plx get back Source BNK
bit $C000,x switch to Target BNK
bit $C000,x
.5 ldx #$ff SELF MODIFIED
2019-01-26 14:01:05 +00:00
rts
2019-05-04 21:13:50 +00:00
.6 ldx #$ff SELF MODIFIED
.7 lda #$ff SELF MODIFIED
2019-05-05 17:15:37 +00:00
2019-05-04 21:13:50 +00:00
K.SYSCALL.JMP jmp (K.SYSCALL,x)
2019-01-26 14:01:05 +00:00
*--------------------------------------
2016-06-07 06:10:18 +00:00
MAN
2018-11-17 17:17:13 +00:00
SAVE USR/SRC/SYS/KERNEL.S.JMP
LOAD USR/SRC/SYS/KERNEL.S
2016-06-07 06:10:18 +00:00
ASM