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 2492c10f..8ed7c772 100644 Binary files a/Floppies/A2OSX.BOOT.po and b/Floppies/A2OSX.BOOT.po differ diff --git a/Floppies/A2OSX.BUILD.po b/Floppies/A2OSX.BUILD.po index 25b5b9a5..960b27c3 100644 Binary files a/Floppies/A2OSX.BUILD.po and b/Floppies/A2OSX.BUILD.po differ diff --git a/Floppies/A2OSX.SRC.po b/Floppies/A2OSX.SRC.po index 90fce9d9..c45e8783 100644 Binary files a/Floppies/A2OSX.SRC.po and b/Floppies/A2OSX.SRC.po differ diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 5415f396..e60d7149 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -63,8 +63,8 @@ UsrBuf256 .EQ $0C00 Main KrnBuf256 .EQ $0D00 Main *-------------------------------------- K.MLI.PARAMS .EQ $0E00 Main, 18 bytes min for GetFileInfo -K.MLI.PATH .EQ K.MLI.PARAMS+18 -K.S.STAT .EQ K.MLI.PATH+65 S.STAT for internal kernel operations (DIR,FIO) +K.MLI.PATH .EQ K.MLI.PARAMS+32 (ATLK needs MORE!!!...32 max for now +K.S.STAT .EQ K.MLI.PATH+64 S.STAT for internal kernel operations (DIR,FIO) K.S.DEVSTAT .EQ K.S.STAT+64 K.S.PORTCALL .EQ K.S.DEVSTAT+64 S.DEVSTAT=25 or higher depends on dev type *-------------------------------------- diff --git a/INC/APPLETALK.I.txt b/INC/APPLETALK.I.txt new file mode 100644 index 00000000..8e7b33ad --- /dev/null +++ b/INC/APPLETALK.I.txt @@ -0,0 +1,12 @@ +PR#3 +PREFIX /A2OSX.BUILD +NEW +INC 1 +AUTO 6 + .LIST OFF +*-------------------------------------- +ATGetInfo .EQ $02 +ATLookupName .EQ $10 +*-------------------------------------- +MAN +SAVE /A2OSX.BUILD/INC/APPLETALK.I diff --git a/INC/MACROS.I.txt b/INC/MACROS.I.txt index 4f4ffe48..78b21f94 100644 --- a/INC/MACROS.I.txt +++ b/INC/MACROS.I.txt @@ -35,6 +35,9 @@ AUTO 6 .DO ]1=MLIDEALLOCIRQ lda #1 .FIN + .DO ]1=MLIATALK + lda #1 + .FIN .DO ]1=MLIREADBLOCK lda #3 .FIN diff --git a/SYS/KERNEL.S.DIR.txt b/SYS/KERNEL.S.DIR.txt index e50d1ad4..b5711cc3 100644 --- a/SYS/KERNEL.S.DIR.txt +++ b/SYS/KERNEL.S.DIR.txt @@ -59,6 +59,7 @@ K.OpenDirYA jsr PFT.CheckPathYA rts .98 pha save MLI error + lda K.ReadDirA.hDir jsr K.CloseDirA.1 pla get back MLI error sec @@ -572,27 +573,7 @@ ADDF.DST .DA #S.STAT.P.TYPE,#S.STAT.BLOCKS,#S.STAT.BLOCKS+1 * none, always succeed. *\------------------------------------- K.CloseDirA .EQ K.FCloseA - -* jsr PFT.CheckNodeA -* sta K.ReadDirA.hDir -* jsr K.GetMemPtrA -* >STYA 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