From 16deea21122d2f35b8e173f6a3fc372b64a5489e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 6 Oct 2016 17:50:20 +0200 Subject: [PATCH] Kernel version 0.8 : Fixing bugs in K.FileSearch with ';' search path --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes DRV/CONSOLE.DRV.S.txt | 2 +- INC/A2osX.I.txt | 14 +++---- SBIN/SHELL.S.CMD.txt | 8 +++- SYS/KERNEL.S.BIN.txt | 21 +++++++---- SYS/KERNEL.S.DEV.txt | 22 +++++++++-- SYS/KERNEL.S.ENV.txt | 1 + SYS/KERNEL.S.EVT.txt | 32 ++-------------- SYS/KERNEL.S.FIO.txt | 49 ++++++++++++++++-------- SYS/KERNEL.S.JMP.txt | 28 ++++---------- SYS/KERNEL.S.RUN.txt | 85 +++++++++++++++++++----------------------- SYS/KERNEL.S.TSK.txt | 14 +++---- 13 files changed, 135 insertions(+), 141 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 8b5b494ea0554686718cd4c8d22fdd02a47bc725..dd4049bbf4eb3d037ddb24bba96cccb3ea445fcf 100644 GIT binary patch delta 5455 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 S=`+R&G~;&s;Ne>Q@c#f1{NYmo delta 5448 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≦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 Pphu0alr3ZTYajf7j1G5G delta 18970 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 SYS.ExpandPStrYA Cmd.Exec.EXT ldy #1 lda CMD,y cmp #'/' Command line is already full path, no search - beq .3 + bne .10 + jmp .3 - >LDYA L.ENV.PATH push ENVNAME=PATH for search +.10 >LDYA L.ENV.PATH push ENVNAME=PATH for search >SYSCALL SYS.GetEnvYA get value for ENV=PATH bcs .1 No PATH, try in CD >PUSHYA push search list + >PUSHW L.CMD >SYSCALL SYS.FileSearch bcc .2 @@ -109,6 +111,8 @@ Cmd.Exec.EXT ldy #1 .2 phx save X=hMem, Y,A = Filename >PUSHYA + + >PUSHW L.CMD replace CMD in TmpBuffer with full path >SYSCALL SYS.PStrCpy pla diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 357315b8..0e012923 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -193,16 +193,21 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O dey bpl .1 - ldy #S.DEV.JMP Setup Main JMP - lda DevMgr.Free - sta (ZPQuickPtr2),y - tax - iny - lda DevMgr.Free+1 + ldy #S.DEV.ID + lda DevMgr.LastDevID sta (ZPQuickPtr2),y - stx ZPQuickPtr2 set Ptr2 to Dest CODE - sta ZPQuickPtr2+1 + dey #S.DEV.JMP+1 Setup Main JMP + lda DevMgr.Free+1 + sta (ZPQuickPtr2),y + tax + + dey #S.DEV.JMP + lda DevMgr.Free + sta (ZPQuickPtr2),y + + sta ZPQuickPtr2 set Ptr2 to Dest CODE + stx ZPQuickPtr2+1 ldy #H.BIN.DRV.CODE.O lda (pDrv),y diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 1d4eb84d..a0a5d9b3 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -162,12 +162,28 @@ DevMgr.SYS.GetEvent ldx #3 .1 stx DevMgr.SYS.CPULOADI - jsr K.GetKeyboardEvent - bcc .8 + lda OPENAPPLE + bmi .9 Open apple key, not for us... + lda KBD + bpl .9 + sta KBDSTROBE + + and #$7F + + ldy #S.EVT.DATALO + sta (pEvent),y + iny S.EVT.DATAHI + lda #0 + sta (pEvent),y + lda #S.EVT.F.KEY + sta (pEvent) + + clc + rts .9 lda #0 Error = no event sec -.8 rts + rts *-------------------------------------- DevMgr.SYS.COut phx phy diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 87206d02..bd8084ff 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -288,6 +288,7 @@ K.GetEnvYA >STYA ZPQuickPtr2 bcs .9 jsr ENV.NextEnvPtr1 Skip NAME >LDYA ZPQuickPtr1 + clc just in case ADC in NextEnvPtr1 disturb CC .9 rts *-------------------------------------- * K.UnsetEnvYA diff --git a/SYS/KERNEL.S.EVT.txt b/SYS/KERNEL.S.EVT.txt index deca3b8a..b82019bd 100644 --- a/SYS/KERNEL.S.EVT.txt +++ b/SYS/KERNEL.S.EVT.txt @@ -5,32 +5,6 @@ INC 1 AUTO 6 .LIST OFF *-------------------------------------- -K.GetKeyboardEvent - lda KBD - bpl .9 - sta KBDSTROBE - - and #$7F - ldy #S.EVT.DATA - sta (pEvent),y - iny - lda OPENAPPLE - asl - lda SOLIDAPPLE - ror - and #$C0 - sta (pEvent),y - - lda #S.EVT.F.KEY - sta (pEvent) - clc - rts - -.9 inc A2osX.RANDOM16 - sta A2osX.RANDOM16+1 - sec no event - rts -*-------------------------------------- * EVT.GetEvents : * IN : * OUT : @@ -101,7 +75,7 @@ EVT.GetEvents.DEV jsr EVT.GetEvents.Add - bcc .9 Event Q is full, exit now with CC + bcs .8 Event Q is full, exit now with CC .2 lda pDev clc @@ -115,10 +89,10 @@ EVT.GetEvents.DEV cmp DevMgr.LastDevID bne .1 - lda EVTMGR.COUNT if 0, exit with CS=no event (from cmp) + lda EVTMGR.COUNT if 0, exit with CS (from cmp), and A=0 "no event" beq .9 - clc +.8 clc .9 rts *-------------------------------------- EVT.GetEvents.Add diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index 360e883a..34c6e8b1 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -16,10 +16,18 @@ AUTO 6 K.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA >PULLYA Get Search list >SYSCALL SYS.ExpandPStrYA Expand it (SYSCALL to BNK1) - bcs .99 +* bcs .99 + bcc .10 + rts - stx K.FileSearch.hSrch - >STYA ZPQuickPtr2 expanded search list ; +.98 lda K.FileSearch.hSrch Discard Expanded hSrch list + jsr K.FreeMemA + lda #SYSMGR.ERRFNF + sec + rts + +.10 stx K.FileSearch.hSrch + >STYA ZPQuickPtr3 ZPQuickPtr2 trashed by K.STAT !!! expanded search list ; stz K.FileSearch.Index @@ -29,16 +37,17 @@ K.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA ldy K.FileSearch.Index .2 tya - cmp (ZPQuickPtr2) end of src string ? + cmp (ZPQuickPtr3) end of src string ? beq .3 end of string, try it.... iny - lda (ZPQuickPtr2),y + lda (ZPQuickPtr3),y cmp #';' - beq .3 + beq .31 inx sta KrnBuf256,x bra .2 - + +.31 iny skip ';' for next try .3 txa beq .98 String is empty....nothing to try @@ -56,6 +65,12 @@ K.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA stx KrnBuf256 set string length + lda #'!' + >SYSCALL SYS.COutA + >LDYAI KrnBuf256 + >SYSCALL SYS.PSTROutYA + >DEBUG + >PUSHWI KrnSTAT >PUSHWI KrnBuf256 jsr K.STAT @@ -63,15 +78,15 @@ K.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA lda K.FileSearch.hSrch Discard Expanded hSrch list jsr K.FreeMemA + lda #'@' + >SYSCALL SYS.COutA + >LDYAI KrnBuf256 + >SYSCALL SYS.PSTROutYA + >DEBUG + >LDYAI KrnBuf256 >SYSCALL SYS.NewPStrYA .99 rts - -.98 lda K.FileSearch.hSrch Discard Expanded hSrch list - jsr K.FreeMemA - lda #SYSMGR.ERRFNF - sec - rts *-------------------------------------- K.FileSearch.hSrch .BS 1 K.FileSearch.Index .BS 1 @@ -99,14 +114,16 @@ K.GetFullPathYA >STYA ZPQuickPtr3 Ptr1 & 2 used by StrCpy jsr K.GetMemPtrA >PUSHYA >PUSHWI KrnBuf256 - jsr K.PStrCpy + >SYSCALL SYS.PStrCpy .1 >PUSHW ZPQuickPtr3 >PUSHWI KrnBuf256 - jsr K.PStrCat + >SYSCALL SYS.PStrCat >LDYAI KrnBuf256 - jmp K.NewPStrYA + >SYSCALL SYS.NewPStrYA + rts + .9 sec rts *-------------------------------------- diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 3dfa452c..5f9ea24e 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -99,7 +99,6 @@ KERNEL.SYSCALL .DA K.GetDevByIDA $90 .DA K.GetDevByNameYA .DA K.GetDevInfoA - .DA K.GetKeyboardEvent *-------------------------------------- * LO Byte : * #RRAMWRAMBNK1 or #RRAMWRAMBNK2 @@ -253,23 +252,14 @@ KERNEL.SYSCALL.FLAGS .DA #$80 .DA #RRAMWRAMBNK2 *-------------------------------------- - .DA #$80 $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 + .DA 0 $80 : MemMgr at $E000 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 *-------------------------------------- .DA #$80 $90 : .DA #RRAMWRAMBNK2 @@ -277,8 +267,6 @@ KERNEL.SYSCALL.FLAGS .DA #RRAMWRAMBNK2 .DA #$80 .DA #RRAMWRAMBNK2 - .DA #$80 - .DA #RRAMWRAMBNK2 *-------------------------------------- MAN SAVE SYS/KERNEL.S.JMP diff --git a/SYS/KERNEL.S.RUN.txt b/SYS/KERNEL.S.RUN.txt index 26e6817a..0d9517c9 100644 --- a/SYS/KERNEL.S.RUN.txt +++ b/SYS/KERNEL.S.RUN.txt @@ -12,72 +12,63 @@ K.KernelRun jsr TSK.TskMgrRun bcs K.KernelRun CS=no event jsr TSK.DispatchEvents - bcc K.KernelRun CC=All Events Dispatched + bcc .4 CC=All Events Dispatched jsr PS.Select0 stz pEvent .1 lda (pEvent) - beq .81 - bmi .8 Discard any timer event - - bit #S.EVT.F.KEY any special key? - beq .7 + beq .3 - ldy #S.EVT.DATAHI Open-Apple? - lda (pEvent),y - bpl .7 - - dey S.EVT.DATALO - lda (pEvent),y - - cmp #'1' - bcc .8 - cmp #'5' - bcs .8 - and #$0F - - cmp A2osX.ASCREEN - beq .8 - - tax - lda A2osX.SCRNDEVS-1,x - beq .8 - - jsr K.GetDevByIDA - bcs .8 - - >STYA pDev - ldx #DEVMGR.SELECT - jsr pDevJmp - bcs .8 - - ldy #S.EVT.DATALO - lda (pEvent),y - and #$0F - sta A2osX.ASCREEN - bra .8 - -.7 ldy #S.EVT.DATAW2+1 -.71 >PUSHB (pEvent),y - dey - bpl .71 + bmi .2 Ignore & Discard any timer event >LDYAI MSG.DumpEvent jsr K.PStrOutYA -.8 jsr EVT.DestroyEvent +.2 jsr EVT.DestroyEvent -.81 lda pEvent +.3 lda pEvent clc adc #S.EVT sta pEvent lda EVTMGR.COUNT bne .1 - jmp K.KernelRun +.4 bit OPENAPPLE + bpl K.KernelRun + lda KBD + inc A2osX.RANDOM16 + sta A2osX.RANDOM16+1 + + bpl K.KernelRun + + cmp #"1" + bcc K.KernelRun + cmp #"5" + bcs K.KernelRun + + sta KBDSTROBE + + and #$0F + cmp A2osX.ASCREEN Same as active screen...nothing to do + beq K.KernelRun + + tax + lda A2osX.SCRNDEVS-1,x No device claimed this screen + beq K.KernelRun + + jsr K.GetDevByIDA x unmodified..... + bcs K.KernelRun ??? + + stx A2osX.ASCREEN + + >STYA pDev + ldx #DEVMGR.SELECT + jsr pDevJmp + bra K.KernelRun +*-------------------------------------- .9 jsr DevMgr.SYS.Select >LDYAI MSG.KRNLPANIC jsr K.PStrOutYA diff --git a/SYS/KERNEL.S.TSK.txt b/SYS/KERNEL.S.TSK.txt index 6fdf24b2..19375387 100644 --- a/SYS/KERNEL.S.TSK.txt +++ b/SYS/KERNEL.S.TSK.txt @@ -96,10 +96,6 @@ TSK.TskMgrRun >LDYAI TskMgr.Table+S.PS skip PS 0 * CC: Event Cleared *-------------------------------------- TSK.DispatchEvents - - lda EVTMGR.COUNT - beq * - >LDYAI TskMgr.Table+S.PS >STYA pPs @@ -110,12 +106,14 @@ TSK.DispatchEvents beq .9 lda (pPs) get S.PS.F - bit #S.PS.F.INUSE In use ? - beq .4 + bpl .4 - bit #S.PS.F.INIT+S.PS.F.SLEEP+S.PS.F.HOLD Init,Sleep or Waiting for Another Task to Terminate? +* bit #S.PS.F.INUSE In use ? +* beq .4 + + bit #S.PS.F.INIT+S.PS.F.HOLD Init or Waiting for Another Task to Terminate? bne .4 - + bit #S.PS.F.EVENT Accept Events ? beq .4