From 41338d85f7accfdd13860926755f43fa6b107ab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sat, 11 Aug 2018 12:57:57 +0200 Subject: [PATCH] Kernel 0.9.2 --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/FORMAT.S.txt | 33 ++++++++++++------------- BIN/LS.S.txt | 5 ++-- BIN/MEMDUMP.S.txt | 27 ++++++++------------- BIN/X.CPMVRM.S.txt | 51 +++++++++++++++------------------------ INC/A2osX.I.txt | 9 ++++--- SBIN/GETTY.S.txt | 2 +- SBIN/SHELL.S.CMD.txt | 4 +-- SYS/KERNEL.S.DEV.txt | 3 ++- SYS/KERNEL.S.DIRENT.txt | 28 +++++++++------------ SYS/KERNEL.S.MEM.txt | 4 +-- SYS/KERNEL.S.PS.txt | 5 ++-- SYS/KERNEL.S.STDIO.txt | 5 ++-- SYS/KERNEL.S.STDLIB.txt | 2 +- 15 files changed, 77 insertions(+), 101 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index c9c91d8f93284e59d04fca7d5d6c685eb4541a4c..cae7d11015dee7cb157d6ab8bb30f841181dca37 100644 GIT binary patch delta 12841 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 diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index c9c47345b7123d0d2b80cfeb13a95a8a1296073e..1e403c0c0c88ec2dd186c20d89e1ae99bafd7933 100644 GIT binary patch delta 25834 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 delta 25640 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.G hDev - bne .5 Already have a dev name...go get VolName - +.4 >LDA.G hDevFD + bne .5 Already have a dev...go get VolName + >LDYA ZPPtr1 - >SYSCALL GetDevByName + >SYSCALL GetDevByName bcs .99 + >STYA ZPPtrFD txa - >STA.G hDev + >SYSCALL GetDevByID + txa + >STA.G hDevFD bra .1 .5 ldy #$ff @@ -201,19 +205,15 @@ CS.RUN.InitCat >LDA.G CatSize rts *-------------------------------------- CS.RUN.BuildCat >PUSHEA.G DIB - >LDA.G hDev + >LDA.G hDevFD >SYSCALL GetDevStatus bcs .99 - >LDA.G hDev - >SYSCALL GetDevByID - bcs .99 - - pha - tya + lda ZPPtrFD +* clc adc #S.FD.DEV.NAME sta ZPPtr2 - pla + lda ZPPtrFD+1 adc /S.FD.DEV.NAME sta ZPPtr2+1 @@ -259,8 +259,7 @@ CS.RUN.BuildCat >PUSHEA.G DIB *-------------------------------------- CS.RUN.WriteCat >PUSHEA.G IOCTL >PUSHBI IOCTL.WRITEBLOCK - >LDA.G hDev - + >LDA.G hDevFD >SYSCALL IOCTL bcs .9 @@ -335,7 +334,7 @@ DS.START ArgIndex .BS 1 bLL .BS 1 VolName .BS 16 -hDev .BS 5 +hDevFD .BS 5 CatSize .BS 1 CatOptions .BS 1 BlkCnt .BS 1 diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index d3d263fd..b51f3257 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -411,11 +411,10 @@ CS.DOEVENT sec CS.QUIT jsr LeaveSubDir bcc CS.QUIT - ldy #hFilter - lda (pData),y + >LDA.G hFilter beq .3 >SYSCALL FreeMem - + .3 clc rts *-------------------------------------- diff --git a/BIN/MEMDUMP.S.txt b/BIN/MEMDUMP.S.txt index 07eec68c..6b7fde75 100644 --- a/BIN/MEMDUMP.S.txt +++ b/BIN/MEMDUMP.S.txt @@ -68,26 +68,21 @@ CS.RUN >SYSCALL GetChar cmp #19 Ctrl-S ? bne .12 - ldy #bSTOP - lda (pData),y + >LDA.G bSTOP eor #$ff sta (pData),y bra .13 -.12 ldy #bSTOP - lda #0 - sta (pData),y +.12 >STZ.G bSTOP -.13 ldy #bSTOP - lda (pData),y +.13 >LDA.G bSTOP bne .8 >LDA.G MEM.COUNT >CMP.G MemStat+S.MSTAT.MLast beq .10 - ldy #LINE.COUNT - lda (pData),y + >LDA.G LINE.COUNT bne .1 >LDYA L.MSG0 @@ -111,20 +106,17 @@ CS.RUN >SYSCALL GetChar .9 sec rts -.10 ldy #LINE.COUNT - lda (pData),y +.10 >LDA.G LINE.COUNT clc adc #FOOTERLEN cmp #PAGELEN bcc .11 lda #$FF - ldy #bSTOP - sta (pData),y + >STA.G bSTOP - lda #0 - ldy #LINE.COUNT - sta (pData),y + inc + >STA.G LINE.COUNT clc rts @@ -157,6 +149,7 @@ CS.RUN >SYSCALL GetChar >PUSHYA >LDYA L.MSG.FREE >SYSCALL printf + lda #0 sec rts *-------------------------------------- @@ -294,7 +287,7 @@ MSG3 .AZ "High Memory: $%H\r\n" MSG4 .AZ "Free ULimit: $%H\r\n" MSG5 .AZ "Low Memory: $%H\r\n" MSG.FREE .AZ "\r\nFree Memory: %D Bytes.\r\n" -MSG.FLAGS .AS "UZCNA--" +MSG.FLAGS .AS "UZNAfcds" *-------------------------------------- .DUMMY .OR 0 diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 507ea502..1625cf86 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -19,7 +19,7 @@ CS.START cld .DA 0 .DA CS.END-CS.START CS .DA DS.END-DS.START DS - .DA #16 SS + .DA #64 SS .DA #8 ZP .DA 0 *-------------------------------------- @@ -52,15 +52,10 @@ CS.INIT >STYA ZPPtr1 lda (ZPPtr1) - cmp #2 - bne .4 - - ldy #1 - lda (ZPPtr1),y cmp #'-' bne .4 - iny + ldy #1 lda (ZPPtr1),y ldx OptionList @@ -81,9 +76,7 @@ CS.INIT sta (pData),y bra .1 -.4 tax Save len - - >LDA.G index +.4 >LDA.G index .DO X.COPY.TO.DEST=1 bne .5 Already have a Src dir... @@ -199,9 +192,7 @@ CS.RUN >SYSCALL GetChar bcc .21 rts -.21 ldy #hToDelete - lda #0 - sta (pData),y Cancel delete if any +.21 >STZ.G hToDelete Cancel delete if any jmp CS.RUN.NEXT .FIN .FIN @@ -231,8 +222,7 @@ CS.RUN >SYSCALL GetChar .3 jsr GetEntry bcs CS.RUN.LEAVE - ldy #hFilter - lda (pData),y + >LDA.G hFilter beq .4 No filter.... >SYSCALL GetMemPtr @@ -470,8 +460,7 @@ CS.RUN.DIR.MSG sec .HS 90 bcc opcode CS.RUN.FILE.MSG clc - ldy #bQuiet - lda (pData),y + >LDA.G bQuiet bmi .8 php @@ -503,8 +492,7 @@ CS.RUN.FILE.MSG clc .DO X.COPY.TO.DEST=1 CS.RUN.OVERWRITE.MSG - ldy #bQuiet - lda (pData),y + >LDA.G bQuiet bmi .1 jsr CS.RUN.CR @@ -557,8 +545,7 @@ CS.RUN.CopyStart jsr CS.RUN.Open bcs .99 - ldy #hSrcFile - sta (pData),y + >STA.G hSrcFile ldy #hDstFullPath lda #SYS.FOpen.W+SYS.FOpen.X @@ -579,8 +566,7 @@ CS.RUN.CopyStart rts .9 pha - ldy #hSrcFile - lda (pData),y + >LDA.G hSrcFile >SYSCALL fclose pla @@ -605,7 +591,6 @@ CS.RUN.Open phy Save Filename ply jsr CS.RUN.GetPathY - >SYSCALL FOpen rts *-------------------------------------- @@ -656,8 +641,7 @@ CS.RUN.Copy stz .90+1 beq CS.RUN.CopyEnd >SYSCALL FreeMem *-------------------------------------- -CS.RUN.CopyEnd ldy #hSrcFile - lda (pData),y +CS.RUN.CopyEnd >LDA.G hSrcFile >SYSCALL fclose ldy #hDstFile @@ -774,15 +758,13 @@ CS.QUIT jsr LeaveSubDir .DO X.COPY.TO.DEST=1 - ldy #bCopy - lda (pData),y + >LDA.G bCopy bpl .1 - ldy #hSrcFile - lda (pData),y + >LDA.G hSrcFile >SYSCALL fclose - ldy #hDstFile - lda (pData),y + + >LDA.G hDstFile >SYSCALL fclose .1 ldy #hDstFullPath @@ -796,6 +778,9 @@ CS.QUIT jsr LeaveSubDir ldy #hSrcFullPath jsr CS.QUIT.FREE + ldy #hFilter + jsr CS.QUIT.FREE + clc rts *-------------------------------------- @@ -806,3 +791,5 @@ CS.QUIT.FREE lda (pData),y *-------------------------------------- MAN SAVE /A2OSX.SRC/BIN/X.CPMVRM.S +LOAD /A2OSX.SRC/BIN/CP.S +ASM diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 06bab1a7..973dc8f4 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -259,9 +259,12 @@ K.E.FTB .EQ $CC File Too Big Error S.MEM.F .EQ 0 S.MEM.F.INUSE .EQ %10000000 (Internal Flag) S.MEM.F.INIT0 .EQ %01000000 Fill with "0" -S.MEM.F.CODE .EQ %00100000 -S.MEM.F.NOMOVE .EQ %00010000 -S.MEM.F.ALIGN .EQ %00001000 +S.MEM.F.NOMOVE .EQ %00100000 +S.MEM.F.ALIGN .EQ %00010000 +S.MEM.F.FD .EQ %00001000 +S.MEM.F.CODE .EQ %00000100 +S.MEM.F.DATA .EQ %00000010 +S.MEM.F.STACK .EQ %00000001 S.MEM.REFCNT .EQ 1 S.MEM.OWNERPID .EQ 2 S.MEM.BIN .EQ 3 diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index 6e225c50..f6163b33 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -220,7 +220,7 @@ CS.DOEVENT lda (pEvent) *-------------------------------------- CS.QUIT >LDA.G hBinName beq .1 - >SYSCALL FreeMem +* >SYSCALL FreeMem .1 >LDA.G hDEV beq .8 diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index 7f012ef5..e47af92e 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -147,7 +147,7 @@ Cmd.Exec.Done php >LDA.G CMD.hFullpath beq .1 >SYSCALL FreeMem - + >STZ.G CMD.hFullpath .1 pla plp rts @@ -280,7 +280,7 @@ Cmd.Exec.PWD ldy #S.PS.hPREFIX *-------------------------------------- Cmd.Exec.CD lda (ZPPTR2) bne .1 - + >LDYA L.ENV.HOME >SYSCALL GetEnv bcs Cmd.Exec.PWD diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 029f7a7e..364aeb88 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -123,7 +123,8 @@ K.MKDev >STYA .1+1 beq .9 >LDYAI S.FD.DEV - jsr K.GetMem + ldx #S.MEM.F.FD + jsr MEM.GetMem.YAX >STYA .2+1 phx diff --git a/SYS/KERNEL.S.DIRENT.txt b/SYS/KERNEL.S.DIRENT.txt index 7ee1e59e..7db4cfc0 100644 --- a/SYS/KERNEL.S.DIRENT.txt +++ b/SYS/KERNEL.S.DIRENT.txt @@ -23,12 +23,12 @@ K.OpenDir jsr PFT.CheckPathYA jsr K.GetMem0 bcs .99 - >STYA ZPPtr1 + >STYA pFD stx .8+1 - ldy #S.FD.T Done by GetMem0 + ldy #S.FD.T lda #S.FD.T.DIR - sta (ZPPtr1),y + sta (pFD),y ldy #1 lda (ZPPtr2),y One char ? @@ -49,7 +49,7 @@ K.OpenDir jsr PFT.CheckPathYA lda K.MLI.PARAMS+5 get ref_num ldy #S.FD.DIR.REF - sta (ZPPtr1),y + sta (pFD),y .8 lda #$ff Self Modified clc @@ -78,7 +78,6 @@ K.OpenDir jsr PFT.CheckPathYA * A = EC * note : A = 0 means no more entry *\-------------------------------------- -K.ReadDir.hDir .BS 1 K.ReadDir.hMem .BS 1 K.ReadDir.BufSize .BS 2 K.ReadDir.ECIB .BS 1 @@ -88,12 +87,11 @@ K.ReadDir.EPB .BS 1 K.ReadDir.EC .BS 2 *-------------------------------------- K.ReadDir jsr PFT.CheckNodeA - sta K.ReadDir.hDir jsr K.GetMemPtr - >STYA ZPPtr1 + >STYA pFD ldy #S.FD.DIR.REF - lda (ZPPtr1),y + lda (pFD),y beq K.ReadDir.ROOT jmp K.ReadDir.DIR @@ -104,7 +102,7 @@ K.ReadDir.NoMore *-------------------------------------- K.ReadDir.ROOT ldy #S.FD.DIR.FC did we already returned something ? - lda (ZPPtr1),y + lda (pFD),y bne K.ReadDir.NoMore stz K.MLI.PARAMS+1 All Volumes @@ -218,7 +216,7 @@ K.ReadDir.ROOT .5 ldy #S.FD.DIR.FC lda #16 - sta (ZPPtr1),y Flag that we returned somthing for next time + sta (pFD),y Flag that we returned somthing for next time jmp K.ReadDir.EXIT *-------------------------------------- @@ -249,7 +247,7 @@ K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF bcs .98 ldy #S.FD.DIR.EL Check if first run.... - lda (ZPPtr1),y + lda (pFD),y bne .2 no, we have all we need.... ldy #$1f+3 @@ -273,7 +271,7 @@ K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF .2 ldy #S.FD.DIR.EL+3 ldx #3 -.3 lda (ZPPtr1),y get this session parameters from S.DIR +.3 lda (pFD),y get this session parameters from S.DIR sta K.ReadDir.EL,x dey dex @@ -408,15 +406,11 @@ K.ReadDir.DIR2 jsr K.ReadDir.GetBuf * lda #0 S.MEM.F.INIT0 already did this * sta (ZPPtr4) Ending 0 - lda K.ReadDir.hDir Restore ZPPtr1 trashed by STR API calls - jsr K.GetMemPtr - >STYA ZPPtr1 - ldx #3 ldy #S.FD.DIR.EL+3 .81 lda K.ReadDir.EL,x Store back this session prameters to S.DIR - sta (ZPPtr1),y + sta (pFD),y dey dex bpl .81 diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index c14c20d4..838c920e 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -175,7 +175,7 @@ Mem.ReqFlags .BS 1 store requested Flags * Out: *-------------------------------------- Mem.AddSlot >STYA ZPMemMgrTmp1 save req size - ldx Mem.LastSlot + ldx Mem.LastSlot inx beq .99 > 255 ERR:OUT OF SLOT @@ -197,7 +197,7 @@ Mem.AddSlot >STYA ZPMemMgrTmp1 save req size ldy #S.MEM.PTR sta Mem.Free set as system Mem.Free value - sta (ZPMemMgrSPtr),y store is as base address of new slot + sta (ZPMemMgrSPtr),y store it as base address of new slot iny pla get back Mem.Free HI sta Mem.Free+1 diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 5d260df8..e5c69810 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -282,7 +282,8 @@ PS.Load jsr BIN.Load Y,A=filename full path lda (ZPPtr4),y tay txa Y,A = DS.SIZE - jsr K.GetMem0 + ldx #S.MEM.F.INIT0+S.MEM.F.DATA + jsr MEM.GetMem.YAX bcs .9 phy @@ -311,7 +312,7 @@ PS.Load jsr BIN.Load Y,A=filename full path .HS 2C bit abs .3 lda #0 - ldx #S.MEM.F.ALIGN + ldx #S.MEM.F.ALIGN+S.MEM.F.STACK jsr MEM.GetMem.YAX bcs .9 diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index fa08af5f..9e0a8fc8 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -948,8 +948,8 @@ K.FOpen.10 lda #S.FD.REG adc K.MLI.PATH tay lda #0 - - jsr K.GetMem0 + ldx #S.MEM.F.INIT0+S.MEM.F.FD + jsr MEM.GetMem.YAX bcs K.FOpen.9 >STYA pFD @@ -1039,7 +1039,6 @@ K.FOpen.AUXTYPE .BS 2 *\-------------------------------------- K.FClose jsr PFT.CheckNodeA sta .8+1 - jsr K.GetMemPtr >STYA pFD diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index 22019417..470a37b9 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -278,7 +278,7 @@ STDLIB.32.Clear ldx #3 bpl .1 rts */-------------------------------------- -* # realpath +* # RealPath * Return the canonicalized absolute pathname * ## C * `unsigned short int realpath (const char* str);`