mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-26 13:49:18 +00:00
488 lines
8.4 KiB
Plaintext
488 lines
8.4 KiB
Plaintext
PR#3
|
||
PREFIX /A2OSX.BUILD
|
||
LOMEM $A00
|
||
INC 1
|
||
AUTO 6
|
||
*--------------------------------------
|
||
* $E000-E0FF K.SYSCALL.JMP Jmp Table
|
||
*--------------------------------------
|
||
* Bank 1
|
||
*--------------------------------------
|
||
K.SYSCALL.JMP .DA 0 $00
|
||
.DA 0
|
||
.DA K.Stat
|
||
.DA K.MKDir.YA
|
||
.DA K.MKNod.YA
|
||
.DA K.MKFIFO
|
||
.DA 0
|
||
.DA 0
|
||
|
||
.DA K.OpenDir.YA $10
|
||
.DA K.ReadDir.A
|
||
.DA K.CloseDir.A
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
|
||
.DA K.FPutC.AY $20
|
||
.DA K.PutChar.A
|
||
.DA K.GetC.A
|
||
.DA K.GetChar
|
||
.DA K.FPutS
|
||
.DA K.PutS.YA
|
||
.DA K.FGetS
|
||
.DA K.GetS.YA
|
||
|
||
.DA K.FOpen $30
|
||
.DA K.FClose.A
|
||
.DA K.FRead
|
||
.DA K.FWrite
|
||
.DA K.FFlush.A
|
||
.DA K.FSeek
|
||
.DA K.FTell.A
|
||
.DA K.FEOF.A
|
||
|
||
.DA K.Remove.YA $40
|
||
.DA K.Rename
|
||
.DA 0
|
||
.DA 0
|
||
.DA K.GetDevByID.A
|
||
.DA K.GetDevByName.YA
|
||
.DA K.GetDevStatus.A
|
||
.DA 0
|
||
|
||
.DA 0 $50
|
||
.DA K.SScanF
|
||
.DA 0
|
||
.DA 0
|
||
.DA K.PrintF.YA
|
||
.DA K.SPrintF.YA
|
||
.DA K.FPrintF.YA
|
||
.DA 0
|
||
|
||
.DA K.FileSearch $60
|
||
.DA K.GetFullPath.YA
|
||
.DA K.LoadFile
|
||
.DA K.SaveFile
|
||
.DA K.ChTyp
|
||
.DA K.ChMod
|
||
.DA K.ChOwn
|
||
.DA K.ChGrp
|
||
*--------------------------------------
|
||
* Bank 2
|
||
*--------------------------------------
|
||
.DA K.StrLen.YA $70
|
||
.DA K.StrCpy
|
||
.DA K.StrCat
|
||
.DA K.StrMatch
|
||
.DA K.StrUpr.YA
|
||
.DA K.StrLwr.YA
|
||
.DA K.StrFTime
|
||
.DA 0
|
||
|
||
.DA K.AToF $80
|
||
.DA K.AToI.YA
|
||
.DA K.AToL
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
|
||
.DA K.Time.YA $90
|
||
.DA K.CTime2Time
|
||
.DA K.PTime2Time
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
|
||
.DA K.ExecProcessNewEnv.YA $A0
|
||
.DA K.ExecProcess.YA
|
||
.DA K.CreateProcessNewEnv.YA
|
||
.DA K.CreateProcess.YA
|
||
.DA K.GetPSByID.A
|
||
.DA 0
|
||
.DA K.Sleep
|
||
.DA 0
|
||
|
||
.DA K.GetArgC $B0
|
||
.DA K.GetArg.A
|
||
.DA K.ExpandStr.YA
|
||
.DA 0
|
||
.DA K.PutEnv.YA
|
||
.DA K.SetEnv
|
||
.DA K.GetEnv.YA
|
||
.DA K.UnsetEnv.YA
|
||
*--------------------------------------
|
||
* $E000
|
||
*--------------------------------------
|
||
.DA K.GetMem $C0
|
||
.DA K.FreeMem.A
|
||
.DA K.GetMemPtr.A
|
||
.DA K.GetMemByID.A
|
||
.DA K.GetMem.YA
|
||
.DA K.GetMem0.YA
|
||
.DA 0
|
||
.DA 0
|
||
*--------------------------------------
|
||
.DA K.SetLoMem $D0
|
||
.DA K.GetMemStat.YA
|
||
.DA 0
|
||
.DA 0
|
||
.DA K.LoadStkObj.YA
|
||
.DA K.GetStkObj.A
|
||
.DA K.FreeStkObj.A
|
||
.DA 0
|
||
*--------------------------------------
|
||
.DA K.LoadLib.YA $E0
|
||
.DA K.UnloadLib.A
|
||
.DA K.LoadDrv.YA
|
||
*--------------------------------------
|
||
* LO Byte :
|
||
* #RRAMWRAMBNK1,#RRAMWRAMBNK2
|
||
* HI Byte :
|
||
* Flags (ROOT....)
|
||
*--------------------------------------
|
||
K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00
|
||
.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 $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 #RRAMWRAMBNK2 $70
|
||
.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 $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
|
||
*--------------------------------------
|
||
.DA 0 $C0 : MemMgr at $E000
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
*--------------------------------------
|
||
.DA 0 $D0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
*--------------------------------------
|
||
.DA 0 $E0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
*--------------------------------------
|
||
PullPtr1Ptr2Ptr3
|
||
sec
|
||
.HS 90 bcc
|
||
PullPtr1Ptr2 clc
|
||
>PULLW ZPPtr1
|
||
>PULLW ZPPtr2
|
||
bcc .9
|
||
>PULLW ZPPtr3
|
||
.9 rts
|
||
*/--------------------------------------
|
||
* # NewPStrYA
|
||
* Create a new copy of PSTR
|
||
* ## In:
|
||
* Y,A = PTR to buffer
|
||
* ## Out:
|
||
* CC : success
|
||
* Y,A = PTR to String
|
||
* X = hMem (PSTR)
|
||
* CS : error
|
||
* A = SYS error code
|
||
*\--------------------------------------
|
||
K.NewPStr.YA >STYA ZPPtr2
|
||
lda (ZPPtr2)
|
||
inc
|
||
tay
|
||
lda #0 Y,A = len of new string
|
||
jsr K.GetMem.YA
|
||
bcs .9
|
||
|
||
>STYA ZPPtr1
|
||
|
||
lda (ZPPtr2)
|
||
sta (ZPPtr1)
|
||
tay
|
||
beq .2
|
||
|
||
.1 lda (ZPPtr2),y
|
||
sta (ZPPtr1),y
|
||
dey
|
||
bne .1
|
||
|
||
.2 >LDYA ZPPtr1
|
||
|
||
clc
|
||
.9 rts
|
||
*--------------------------------------
|
||
K.NewCStr.YA >STYA ZPPtr1
|
||
lda (ZPPtr1)
|
||
inc
|
||
tay
|
||
lda #0 Y,A = len of new string
|
||
jsr K.GetMem.YA
|
||
bcs .9
|
||
|
||
>STYA ZPPtr2
|
||
|
||
lda (ZPPtr1)
|
||
tay
|
||
phy
|
||
beq .2
|
||
|
||
.1 lda (ZPPtr1),y
|
||
dey
|
||
sta (ZPPtr2),y
|
||
bne .1
|
||
|
||
.2 ply
|
||
lda #0
|
||
sta (ZPPtr2),y
|
||
|
||
>LDYA ZPPtr1
|
||
|
||
clc
|
||
.9 rts
|
||
*--------------------------------------
|
||
|
||
MAN
|
||
SAVE /A2OSX.SRC/SYS/KERNEL.S.JMP
|
||
LOAD /A2OSX.SRC/SYS/KERNEL.S
|
||
ASM
|