From abe29c162df2c794ebe09078973537683f8659c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 30 Jan 2019 06:20:13 +0000 Subject: [PATCH] Kernel 0.92 --- INC/A2osX.I.txt | 32 +++++++++++++------------- INC/KERNEL.I.txt | 2 ++ SYS/KERNEL.S.BIN.txt | 2 +- SYS/KERNEL.S.DEF.txt | 1 - SYS/KERNEL.S.JMP.txt | 30 ++++++++++++------------ SYS/KERNEL.S.MEM.txt | 53 ++++++++----------------------------------- SYS/KERNEL.S.PS.txt | 2 +- SYS/KERNEL.S.STAT.txt | 33 +++++++++++++++++++++++++++ 8 files changed, 78 insertions(+), 77 deletions(-) diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 9ba20127..b04cfd46 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -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 diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index f17e3d3d..1a3a9c2c 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -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 diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 8899cff3..84fae25a 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -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 diff --git a/SYS/KERNEL.S.DEF.txt b/SYS/KERNEL.S.DEF.txt index a18a1a36..9c24c2a2 100644 --- a/SYS/KERNEL.S.DEF.txt +++ b/SYS/KERNEL.S.DEF.txt @@ -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 diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 19f70af8..1c50653a 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -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 diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index b6a4c91e..0ec0577e 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -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 diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 76cb7cc3..df7d6b29 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -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 diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index 6a531c4d..905eebbd 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -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