Kernel version 0.9 : Appletalk, ATBROWSE Command added....

Bugfix in F.CloseA
This commit is contained in:
Rémy GIBERT 2017-04-28 17:04:16 +02:00
parent a8e07582c4
commit bff3a943b7
12 changed files with 203 additions and 34 deletions

166
BIN/ATBROWSE.S.txt Normal file
View File

@ -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

View File

@ -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

View File

@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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
*--------------------------------------

12
INC/APPLETALK.I.txt Normal file
View File

@ -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

View File

@ -35,6 +35,9 @@ AUTO 6
.DO ]1=MLIDEALLOCIRQ
lda #1
.FIN
.DO ]1=MLIATALK
lda #1
.FIN
.DO ]1=MLIREADBLOCK
lda #3
.FIN

View File

@ -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:

View File

@ -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

View File

@ -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