From bff3a943b76439130e3d8a28524ade7bec465529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 28 Apr 2017 17:04:16 +0200 Subject: [PATCH] Kernel version 0.9 : Appletalk, ATBROWSE Command added.... Bugfix in F.CloseA --- BIN/ATBROWSE.S.txt | 166 ++++++++++++++++++++++++++++++++++++++++ DRV/SSC.DRV.S.txt | 5 +- DRV/SSC.I.DRV.S.txt | 4 +- Floppies/A2OSX.BOOT.po | Bin 143360 -> 143360 bytes Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes INC/A2osX.I.txt | 4 +- INC/APPLETALK.I.txt | 12 +++ INC/MACROS.I.txt | 3 + SYS/KERNEL.S.DIR.txt | 21 +---- SYS/KERNEL.S.FILE.txt | 8 +- SYS/KERNEL.S.MEM.txt | 14 ++-- 12 files changed, 203 insertions(+), 34 deletions(-) create mode 100644 BIN/ATBROWSE.S.txt create mode 100644 INC/APPLETALK.I.txt diff --git a/BIN/ATBROWSE.S.txt b/BIN/ATBROWSE.S.txt new file mode 100644 index 00000000..51ebd21d --- /dev/null +++ b/BIN/ATBROWSE.S.txt @@ -0,0 +1,166 @@ +PR#3 +PREFIX /A2OSX.BUILD +NEW +INC 1 +AUTO 6 + .LIST OFF + .OP 65C02 + .OR $2000 + .TF /A2OSX.BUILD/BIN/ATBROWSE +*-------------------------------------- + .INB /A2OSX.BUILD/INC/MACROS.I + .INB /A2OSX.BUILD/INC/A2OSX.I + .INB /A2OSX.BUILD/INC/PRODOS.I + .INB /A2OSX.BUILD/INC/MLI.ERR.I + .INB /A2OSX.BUILD/INC/APPLETALK.I +*-------------------------------------- +ZPPTR1 .EQ ZPBIN +ZPPTR2 .EQ ZPBIN+2 +*-------------------------------------- +* File Header (16 Bytes) +*-------------------------------------- +CS.START cld + jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA 0 + .DA CS.END-CS.START Code Length To Relocate + .DA 0 Data Segment to Allocate + .DA 0 + .DA 0 +*-------------------------------------- +* Relocation Table +*-------------------------------------- +.1 .DA CS.INIT + .DA CS.RUN + .DA CS.DOEVENT + .DA CS.QUIT +L.MSG.NOATK .DA MSG.NOATK +L.MSG.NETNODE .DA MSG.NETNODE +L.SEARCH.STRING .DA SEARCH.STRING +L.MSG.DUMP0 .DA MSG.DUMP0 +L.MSG.DUMP .DA MSG.DUMP + .DA 0 +*-------------------------------------- +CS.INIT clc + rts +*-------------------------------------- +CS.RUN stz K.MLI.PARAMS Sync + lda #ATGetInfo + sta K.MLI.PARAMS+1 + >MLICALL MLIATALK + bcc .10 + + pha + >LDYA L.MSG.NOATK + >SYSCALL CPrintFYA + pla + sec +.99 rts + +.10 >PUSHB K.MLI.PARAMS+$E NODE + >PUSHW K.MLI.PARAMS+$8 NET + >LDYA L.MSG.NETNODE + >SYSCALL CPrintFYA + + stz K.MLI.PARAMS Sync + lda #ATLookupName + + >LDYA L.SEARCH.STRING + >STYA K.MLI.PARAMS+$08 Entry Name Ptr + + lda #4 + sta K.MLI.PARAMS+$C RetInt + sta K.MLI.PARAMS+$D RetCnt + + >LDYAI 1024 + >STYA K.MLI.PARAMS+$10 BufLen + + >PUSHBI 0 + >SYSCALL GetMem + bcs .99 + + >STYA K.MLI.PARAMS+$12 BufPtr + + >STYA ZPPTR1 + + txa + ldy #hBuf + sta (pData),y + + lda #16 + sta K.MLI.PARAMS+$16 MaxMatch + + >MLICALL MLIATALK + bcs .99 + + lda K.MLI.PARAMS+$17 + beq .8 + + >LDYA L.MSG.DUMP0 + >SYSCALL CPrintFYA + bcs .9 + +.1 lda ZPPTR1 + clc + adc #5 + sta ZPPTR2 + lda ZPPTR1+1 + adc #0 + sta ZPPTR2+2 + + >PUSHW ZPPTR2 + + ldy #4 + +.2 >PUSHB (ZPPTR1),y + dey + bpl .2 + + >LDYA L.MSG.DUMP + >SYSCALL CPrintFYA + bcs .9 + + lda ZPPTR2 + sec + adc (ZPPTR2) + sta ZPPTR1 + lda ZPPTR2+1 + adc #0 + sta ZPPTR1+1 + + dec K.MLI.PARAMS+$17 + bne .2 + + lda #0 +.8 sec +.9 rts +*-------------------------------------- +CS.DOEVENT sec + rts +*-------------------------------------- +CS.QUIT ldy #hBuf + lda (pData),y + beq .8 + >SYSCALL FreeMemA + +.8 clc + rts +*-------------------------------------- +CS.END +MSG.NOATK >CSTR "AppleTalk Not Loaded.\r\n" +MSG.NETNODE >CSTR "Network/Node:$%H/$%h\r\n" +SEARCH.STRING >PSTR "*:*@*" +MSG.DUMP0 >CSTR "Net Nod SkT En# Name\r\n" +MSG.DUMP >CSTR "%H $%h $%h $%h %S\r\n" +*-------------------------------------- + .DUMMY + .OR 0 +DS.START +hBuf .BS 1 +DS.END + .ED +*-------------------------------------- +MAN +SAVE /A2OSX.SRC/BIN/ATBROWSE.S +ASM diff --git a/DRV/SSC.DRV.S.txt b/DRV/SSC.DRV.S.txt index ac22974c..50b379d6 100644 --- a/DRV/SSC.DRV.S.txt +++ b/DRV/SSC.DRV.S.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.BUILD -NEW +LOMEM $A00 INC 1 AUTO 6 .LIST OFF @@ -36,6 +36,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME .DA 0 End Of Reloc Table *-------------------------------------- Dev.Detect >STYA ARGS + >LDYA L.MSG.DETECT >SYSCALL PPrintFYA @@ -184,7 +185,7 @@ WRITE pha * and #SSC.STATUS.DCD+SSC.STATUS.DSR * beq .9 - + and #SSC.STATUS.TDRE Outgoing char? beq .1 diff --git a/DRV/SSC.I.DRV.S.txt b/DRV/SSC.I.DRV.S.txt index 3159afbc..a7d9a7fc 100644 --- a/DRV/SSC.I.DRV.S.txt +++ b/DRV/SSC.I.DRV.S.txt @@ -39,7 +39,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME .DA 0 End Of Reloc Table *-------------------------------------- Dev.Detect >STYA ARGS - + >LDYA L.MSG.DETECT >SYSCALL PPrintFYA @@ -149,7 +149,7 @@ OPEN php stz INBUF.TAIL stz OUTBUF.HEAD stz OUTBUF.TAIL - + lda #SSC.CTL.CLKINT+SSC.CTL.B9600+SSC.CTL.8D+SSC.CTL.1S+SSC.CMD.NOP sta SSC.CTL,x diff --git a/Floppies/A2OSX.BOOT.po b/Floppies/A2OSX.BOOT.po index 2492c10f5a6cecee9e0eb7d7149b51d23f88a3fc..8ed7c7727f3dcd9b7a5c51e14cdb5d2d41e654a1 100644 GIT binary patch delta 5797 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 UInpCJvLiX6M{?w6a>7>p2e5G>+yDRo delta 7533 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 ZPPtr1 - K.CloseDirA.1 .EQ K.FCloseA.1 - -* ldy #S.NODE.DIR.REF -* lda (ZPPtr1),y -* beq .1 -* sta K.MLI.PARAMS+1 -* >MLICALL MLICLOSE - -*.1 ldy #S.NODE.DIR.IOBUF -* lda (ZPPtr1),y -* beq .2 -* jsr K.FreeMemA -* -*.2 lda K.ReadDirA.hDir -* jmp K.FreeMemA */------------------------------------- * # MKDirYA * ## In: diff --git a/SYS/KERNEL.S.FILE.txt b/SYS/KERNEL.S.FILE.txt index 8c68da48..9a078e97 100644 --- a/SYS/KERNEL.S.FILE.txt +++ b/SYS/KERNEL.S.FILE.txt @@ -132,11 +132,13 @@ hFILE .BS 1 * ## Out : *\-------------------------------------- K.FCloseA jsr PFT.CheckNodeA - sta K.FCloseA.2+1 + pha jsr K.GetMemPtrA >STYA ZPPtr1 - -K.FCloseA.1 ldy #S.NODE.REG.REF + pla + +K.FCloseA.1 sta K.FCloseA.2+1 + ldy #S.NODE.REG.REF lda (ZPPtr1),y beq .1 sta K.MLI.PARAMS+1 diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 94614732..31a85aa4 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -114,7 +114,7 @@ K.GetMem >PULLB MemMgr.ReqFlags store requested flags and #S.MEM.F.INIT0 beq .8 - jsr MemMgr.Init0 X not madified + jsr MemMgr.Init0 X not modified .8 lda #0 ldy #S.MEM.BIN @@ -225,18 +225,22 @@ MemMgr.Init0 ldy #S.MEM.PTR ply y=not lo count + phx + ldx #0 + .1 iny bne .2 inc beq .8 -.2 stz $ffff - inc .2+1 +.2 stz $ffff,x + inx bne .1 inc .2+2 bne .1 -.8 rts +.8 plx + rts */-------------------------------------- * # FreeMemA * ## In: @@ -453,7 +457,7 @@ MEM.GetMemByNameYA ldx MemMgr.LastSlot beq .9 - >STYA ZPMemMgrSrcPtr SAVE /A2OSX.SRC/BINPATH + >STYA ZPMemMgrSrcPtr SAVE BINPATH >LDYAI MemMgr.Table >STYA ZPMemMgrTmp1