1
0
mirror of https://github.com/A2osX/A2osX.git synced 2025-04-28 11:37:41 +00:00

Kernel 0.92

This commit is contained in:
Rémy GIBERT 2019-01-30 06:20:13 +00:00
parent d87e6df5f0
commit abe29c162d
8 changed files with 78 additions and 77 deletions

@ -139,7 +139,7 @@ SEEK.END .EQ $04
*--------------------------------------
* A2osX.SYSCALL Functions Indexes
*--------------------------------------
* .EQ $00
SYS.GetMemStat .EQ $00
* .EQ $02
SYS.FStat .EQ $04
SYS.Stat .EQ $06
@ -272,25 +272,25 @@ SYS.Tan .EQ $DA
SYS.ATan .EQ $DC
* .EQ $DF
*--------------------------------------
SYS.GetStkObjProp .EQ $E0
SYS.FreeMem .EQ $E2
SYS.GetMem .EQ $E0
SYS.GetMem0 .EQ $E2
SYS.GetMemPtr .EQ $E4
SYS.GetMemByID .EQ $E6
SYS.FreeMem .EQ $E6
SYS.GetMem .EQ $E8
SYS.GetMem0 .EQ $EA
SYS.GetMemStat .EQ $EC
SYS.SListAdd .EQ $EE
SYS.LoadStkObj .EQ $E8
SYS.NewStkObj .EQ $EA
SYS.FreeStkObj .EQ $EC
SYS.GetStkObjProp .EQ $EE
SYS.SListLookup .EQ $F0
SYS.SListGetByID .EQ $F2
SYS.SListUpdateByID .EQ $F4
SYS.SListNew .EQ $F6
SYS.SListAddData .EQ $F0
SYS.SListGetData .EQ $F2
SYS.SListSetData .EQ $F4
SYS.SListGetByID .EQ $F6
SYS.SListFree .EQ $F8
SYS.LoadStkObj .EQ $FA
SYS.NewStkObj .EQ $FC
SYS.FreeStkObj .EQ $FE
SYS.SListAddKey .EQ $F8
SYS.SListLookup .EQ $FA
SYS.SListNew .EQ $FC
SYS.SListFree .EQ $FE
*--------------------------------------
SYS.Kernel.JMP .EQ $E000
SYS.GuiOSD.JMP .EQ $E200

@ -3,6 +3,8 @@ PREFIX
AUTO 4,1
.LIST OFF
*--------------------------------------
Mem.Table .EQ $0800
*--------------------------------------
Dev.Table .EQ $1300 K.Dev.MAX*2
*--------------------------------------
Flt.Table.hPath .EQ $1338 K.FLT.MAX

@ -211,7 +211,7 @@ BIN.Load.1 >LDYA K.S.STAT+S.STAT.P.AUXTYPE
bcs .98
lda BIN.hMem Keep X=hMem
jsr K.GetMemByID X unmodified
jsr MEM.GetMemByID X unmodified
lda (ZPMemMgrSPtr)
ora #S.MEM.F.CODE This is a code segment

@ -105,7 +105,6 @@ SYS.BASL0 .EQ $400
*--------------------------------------
* MemMgr : $0800->$0FFF MAIN/AUX (2 kBytes)
*--------------------------------------
Mem.Table .EQ $0800 Slot 0 is Reserved
Mem.LoMem .EQ $0800
Mem.Free .EQ $0802
Mem.HiMem .EQ $0804

@ -6,7 +6,7 @@ AUTO 4,1
*--------------------------------------
* Bank 1
*--------------------------------------
K.SYSCALL.JMP .DA 0 $00
K.SYSCALL.JMP .DA K.GetMemStat $00
.DA 0
.DA K.FStat
.DA K.Stat
@ -136,23 +136,25 @@ K.SYSCALL.JMP .DA 0 $00
*--------------------------------------
* $E000
*--------------------------------------
.DA K.GetStkObjProp $E0
.DA K.FreeMem
.DA K.GetMemPtr
.DA K.GetMemByID
.DA K.GetMem
.DA K.GetMem $E0
.DA K.GetMem0
.DA K.GetMemStat
.DA K.SListAddKey
*--------------------------------------
.DA K.SListLookup $F0
.DA K.SListGetByID
.DA K.SListUpdateByID
.DA K.SListNew
.DA K.SListFree
.DA K.GetMemPtr
.DA K.FreeMem
.DA K.LoadStkObj
.DA K.NewStkObj
.DA K.FreeStkObj
.DA K.GetStkObjProp
*--------------------------------------
.DA K.SListAddData $F0
.DA K.SListGetData
.DA K.SListSetData
.DA K.SListGetByID
.DA K.SListAddKey
.DA K.SListLookup
.DA K.SListNew
.DA K.SListFree
*--------------------------------------
* LO Byte :
* #RRAMWRAMBNK1,#RRAMWRAMBNK2

@ -110,7 +110,7 @@ MEM.GetMem.YAX stx MEM.ReqFlags
beq .5
tax
jsr K.GetMemByID
jsr MEM.GetMemByID
bra .7
@ -314,7 +314,7 @@ K.FreeMem tay
bne K.FreeMem.BAD
.10 pha
jsr K.GetMemByID X unmodified
jsr MEM.GetMemByID X unmodified
lda (ZPMemMgrSPtr) In use ?
bmi .11
@ -334,7 +334,7 @@ K.FreeMem tay
ldy #S.MEM.BIN
lda (ZPMemMgrSPtr),y
jsr K.GetMemByID X unmodified
jsr MEM.GetMemByID X unmodified
lda (ZPMemMgrSPtr)
bpl * ***MUST BE ALLOCATED***
@ -344,7 +344,7 @@ K.FreeMem tay
.1 lda Mem.LastSlot
beq .8
jsr K.GetMemByID X unmodified
jsr MEM.GetMemByID X unmodified
lda (ZPMemMgrSPtr)
bmi .8 used, exit
@ -352,7 +352,7 @@ K.FreeMem tay
beq .80 empty list: go set Mem.Free=Mem.HiMem
lda Mem.LastSlot
jsr K.GetMemByID X unmodified
jsr MEM.GetMemByID X unmodified
lda (ZPMemMgrSPtr)
bpl .2 free again! loop
@ -414,7 +414,7 @@ K.GetMemPtr.ZPMemMgrSPtr
* Y,A = ZPMemMgrSPtr = PTR to S.MEM
* (X unmodified)
*\--------------------------------------
K.GetMemByID sta ZPMemMgrSPtr
MEM.GetMemByID sta ZPMemMgrSPtr
lda /Mem.Table/8
asl ZPMemMgrSPtr
rol
@ -426,41 +426,6 @@ K.GetMemByID sta ZPMemMgrSPtr
ldy ZPMemMgrSPtr
rts
*/--------------------------------------
* # GetMemStat
* **In:**
* Y,A = Ptr to 24 bytes buffer
* ## RETURN VALUE
* Buffer filled with memory stats
*\--------------------------------------
K.GetMemStat >STYA ZPMemMgrTmp1
ldy #22
ldx #6
.1 lda DevMgr.Stat,x
sta (ZPMemMgrTmp1),y
dey
dex
bpl .1
sta SETREADAUX
ldy #14
jsr .2
sta CLRREADAUX
ldy #6
.2 ldx #6
.3 lda Mem.Table,x
sta (ZPMemMgrTmp1),y
dey
dex
bpl .3
rts
*/--------------------------------------
* # SListAddData
* ## ASM
* `PUSHB Data`
@ -490,9 +455,9 @@ K.GetMemStat >STYA ZPMemMgrTmp1
* ## RETURN VALUE
* Y,A = Next DataID
*\--------------------------------------
SListAddData
SListGetData
SListSetData pha
K.SListAddData
K.SListGetData
K.SListSetData pha
>PULLW ZPSListID
*/--------------------------------------
* # SListGetByID

@ -315,7 +315,7 @@ PS.LoadBIN >LDYAI K.Buf256
ldy #S.PS.hCS
sta (PS.NewPSPtr),y save CS hMem in S.PS
* jsr K.GetMemByID
* jsr MEM.GetMemByID
* jsr PS.SetMemOwner Set Ownership
ldy #H.BIN.F Get Bin S.PS.F

@ -1,6 +1,39 @@
NEW
PREFIX
AUTO 4,1
*/--------------------------------------
* # GetMemStat
* **In:**
* Y,A = Ptr to 24 bytes buffer
* ## RETURN VALUE
* Buffer filled with memory stats
*\--------------------------------------
K.GetMemStat >STYA ZPPtr1
ldy #23
ldx #7
.1 lda DevMgr.Stat,x
sta (ZPPtr1),y
dey
dex
bpl .1
sta SETREADAUX
jsr .2
sta CLRREADAUX
.2 ldx #7
.3 lda Mem.Table,x
sta (ZPPtr1),y
dey
dex
bpl .3
rts
*--------------------------------------
* # FStat
* Return information about a hFILE