From 236dc5517a48c2e1a48ad33c74fb1bf1b695e413 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 16 Jan 2020 17:26:21 +0100 Subject: [PATCH] Kernel 0.93+ --- .Docs/KERNEL.md | 4 +-- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes SYS/KERNEL.S.ENV.txt | 68 ++++++++++++++++++++------------------- SYS/KERNEL.S.MEM.txt | 2 +- 4 files changed, 38 insertions(+), 36 deletions(-) diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index 6b3dbf1f..5c10ffec 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -135,10 +135,10 @@ And return, if found, the full path to it. ## ASM **In:** -`>PUSHWI filestat` +`>PUSHWI filename` `>PUSHWI fullpath` `>PUSHWI searchpath` -`>LDYAI filename` +`>PUSHWI filestat` ## RETURN VALUE CC : success diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index a85fe7080a85e2af16abe664242e00904fc35188..a013d02838fdd2d4866cb5f6c47f88e7f3adba15 100644 GIT binary patch delta 15247 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 delta 15317 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 filestat` +* `>PUSHWI filename` * `>PUSHWI fullpath` * `>PUSHWI searchpath` -* `>LDYAI filename` +* `>PUSHWI filestat` * ## RETURN VALUE * CC : success * DstBuf = FilePath * DstStat = S.STAT * CS : not found *\-------------------------------------- -K.FileSearch pha - >PULLW ENV.SearchPath +K.FileSearch >PULLW .4+1 DstStat >PULLW .2+1 DstBuf - >PULLW .4+1 DstStat - pla Y,A = filename - jsr ENV.Search.YA + >PULLW ENV.Search.2+1 path to search + >PULLW ENV.Search.4+1 filename to find + + stz ENV.Search.98+1 + + jsr ENV.Search bcs K.FileSearch.RTS ldx #$ff @@ -171,12 +172,15 @@ K.FileSearch pha K.FileSearch.RTS rts *-------------------------------------- -ENV.Search.CWD >STYA ZPPtr2 filename to find +ENV.Search.CWD >STYA ENV.Search.4+1 filename to find ldy #S.PS.hCWD lda (PS.NewPSPtr),y jsr K.GetMemPtr - >STYA ENV.SearchPath - bra ENV.Search.Ptr2 + >STYA ENV.Search.2+1 + + stz ENV.Search.98+1 + + bra ENV.Search ENV.Search.LIB ldx #0 .HS 2C BIT ABS @@ -184,70 +188,68 @@ ENV.Search.DRV ldx #2 .HS 2C BIT ABS ENV.Search.PATH ldx #4 - >STYA ZPPtr2 filename to find - >PUSHW ENV.VARS,x + >STYA ENV.Search.4+1 filename to find - >LDYA ENV.VARS,x + >PUSHW ENV.VARS,x >PUSHWI 0 allocate... jsr K.GetEnv get value for Search Path bcs K.FileSearch.RTS - >STYA ENV.SearchPath + >STYA ENV.Search.2+1 stx ENV.Search.98+1 -ENV.Search.Ptr2 >LDYA ZPPtr2 -ENV.Search.YA >STYA .4+1 - - stz .1+1 +ENV.Search stz ENV.Search.1+1 -.1 ldy #0 Self Modified Index in Search list string +ENV.Search.1 ldy #0 Self Modified Index in Search list string ldx #0 -.2 lda (ENV.SearchPath),y +ENV.Search.2 lda $ffff,y SELF MODIFIED - beq .3 end of string, try it.... + beq ENV.Search.3 end of string, try it.... iny cmp #':' - beq .3 + beq ENV.Search.3 sta K.Buf256,x inx - bra .2 + bra ENV.Search.2 -.3 txa +ENV.Search.3 txa beq ENV.Search.98 String is empty....nothing to try - sty .1+1 save current index + sty ENV.Search.1+1 save current index ldy #0 -.4 lda $ffff,y Self Modified, Append Filename... +ENV.Search.4 lda $ffff,y Self Modified, Append Filename... sta K.Buf256,x - beq .5 + beq ENV.Search.5 iny inx - bra .4 + bra ENV.Search.4 -.5 >PUSHWI K.S.STAT +ENV.Search.5 >PUSHWI K.S.STAT >LDYAI K.Buf256 >SYSCALL2 stat - bcs .1 Failed...retry next path... + bcs ENV.Search.1 Failed...retry next path... lda K.S.STAT+S.STAT.P.TYPE cmp #S.FI.T.DIR Dir ? - beq .1 + beq ENV.Search.1 jsr ENV.Search.98 Discard Expanded hSrch list clc rts ENV.Search.98 lda #$ff SELF MODIFIED : Discard Search list + beq .1 + jsr K.FreeMem - lda #MLI.E.FNOTFND +.1 lda #MLI.E.FNOTFND sec rts */-------------------------------------- diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 1c8d71ee..4274c756 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -285,7 +285,7 @@ K.FreeMem.ERR phx jsr K.SYSCALL2 plx lda #E.INVH - >DEBUGOA +* >DEBUG sec rts *--------------------------------------