mirror of
https://github.com/A2osX/A2osX.git
synced 2024-05-28 12:41:34 +00:00
Kernel 0.94
This commit is contained in:
parent
7eefe84082
commit
61bc2d9be8
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -405,27 +405,15 @@ CS.RUN.LL.DISKII.V
|
|||
.1 ldx #8
|
||||
|
||||
.2 phx
|
||||
|
||||
>PUSHW L.MSG.VERIFY
|
||||
>PUSHB CurTrack
|
||||
>PUSHW.G IOCTL+S.IOCTL.BLKNUM
|
||||
>PUSHBI 3
|
||||
>SYSCALL PrintF
|
||||
|
||||
jsr CS.RUN.LL.DISKII.VP
|
||||
plx
|
||||
bcs .9
|
||||
|
||||
phx
|
||||
|
||||
>PUSHB hDevID
|
||||
>PUSHBI IOCTL.READBLOCK
|
||||
>PUSHEA.G IOCTL
|
||||
>SYSCALL IOCTL
|
||||
|
||||
jsr CS.RUN.LL.DISKII.VR
|
||||
plx
|
||||
bcs .9
|
||||
|
||||
|
||||
>INCW.G IOCTL+S.IOCTL.BLKNUM
|
||||
|
||||
dex
|
||||
|
@ -434,9 +422,31 @@ CS.RUN.LL.DISKII.V
|
|||
inc CurTrack
|
||||
dec Counter
|
||||
bne .1
|
||||
|
||||
lda TrkCnt
|
||||
sta Counter
|
||||
|
||||
.3 ldx #8
|
||||
|
||||
dec CurTrack
|
||||
|
||||
.4 >DECW.G IOCTL+S.IOCTL.BLKNUM
|
||||
|
||||
* ldx #0
|
||||
* jsr CS.RUN.SeekToX
|
||||
phx
|
||||
jsr CS.RUN.LL.DISKII.VP
|
||||
plx
|
||||
bcs .9
|
||||
|
||||
phx
|
||||
jsr CS.RUN.LL.DISKII.VR
|
||||
plx
|
||||
bcs .9
|
||||
|
||||
dex
|
||||
bne .4
|
||||
|
||||
dec Counter
|
||||
bne .3
|
||||
|
||||
>PUSHW L.MSG.CRLF
|
||||
>PUSHBI 0
|
||||
|
@ -444,6 +454,21 @@ CS.RUN.LL.DISKII.V
|
|||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.LL.DISKII.VP
|
||||
>PUSHW L.MSG.VERIFY
|
||||
>PUSHB CurTrack
|
||||
>PUSHW.G IOCTL+S.IOCTL.BLKNUM
|
||||
>PUSHBI 3
|
||||
>SYSCALL PrintF
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.LL.DISKII.VR
|
||||
>PUSHB hDevID
|
||||
>PUSHBI IOCTL.READBLOCK
|
||||
>PUSHEA.G IOCTL
|
||||
>SYSCALL IOCTL
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.MotorOn sec
|
||||
.HS 90 BCC
|
||||
CS.RUN.MotorOff clc
|
||||
|
|
|
@ -2,6 +2,8 @@ NEW
|
|||
AUTO 3,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
IO.D2.SeekTime .EQ 200
|
||||
*--------------------------------------
|
||||
IO.D2.Ph0Off .EQ $C080
|
||||
IO.D2.Ph0On .EQ $C081
|
||||
IO.D2.Ph1Off .EQ $C082
|
||||
|
|
|
@ -3,32 +3,33 @@ NEW
|
|||
*--------------------------------------
|
||||
TCP.PORT.CIFS .EQ 445
|
||||
*--------------------------------------
|
||||
S.SMB.HEADER.PROTO .EQ 0 \xFF 'SMB'
|
||||
S.SMB.HEADER.CMD .EQ 4
|
||||
S.SMB.HEADER.CMD.NEGOTIATE .EQ $72
|
||||
S.SMB.HEADER.CMD.SESSION.SETUP.ANDX .EQ $73
|
||||
S.SMB.HEADER.CMD.TREE.CONNECT.ANDX .EQ $75
|
||||
S.SMB.HEADER.STATUS .EQ 5
|
||||
S.SMB.HEADER.FLAGS .EQ 9
|
||||
S.SMB.HEADER.FLAGS.LOCKANDREADOK .EQ 1
|
||||
S.SMB.HEADER.FLAGS.REPLY .EQ 128
|
||||
S.SMB.HEADER.FLAGS2 .EQ 10
|
||||
S.SMB.HEADER.FLAGS2.LONGNAMES .EQ %00000000.01000001
|
||||
S.SMB.HEADER.FLAGS2.EAS .EQ %00000000.00000010
|
||||
S.SMB.HEADER.FLAGS2.SECSIGN .EQ %00000000.00000100
|
||||
S.SMB.HEADER.FLAGS2.DFS .EQ %00010000.00000000
|
||||
S.SMB.HEADER.FLAGS2.READIFEXEC .EQ %00100000.00000000
|
||||
S.SMB.HEADER.FLAGS2.NTSTATUS .EQ %01000000.00000000
|
||||
S.SMB.HEADER.FLAGS2.UNICODE .EQ %10000000.00000000
|
||||
S.SMB.HEADER.PIDHI .EQ 12
|
||||
S.SMB.HEADER.SECFEAT .EQ 14
|
||||
S.SMB.HEADER.RSVD .EQ 22
|
||||
S.SMB.HEADER.TID .EQ 24
|
||||
S.SMB.HEADER.PIDLO .EQ 26
|
||||
S.SMB.HEADER.UID .EQ 28
|
||||
S.SMB.HEADER.MID .EQ 30
|
||||
S.SMB.H.PROTO .EQ 0 \xFF 'SMB'
|
||||
S.SMB.H.CMD .EQ 4
|
||||
S.SMB.H.CMD.TRANSACTION2 .EQ $32
|
||||
S.SMB.H.CMD.NEGOTIATE .EQ $72
|
||||
S.SMB.H.CMD.SESSION.SETUP.ANDX .EQ $73
|
||||
S.SMB.H.CMD.TREE.CONNECT.ANDX .EQ $75
|
||||
S.SMB.H.STATUS .EQ 5
|
||||
S.SMB.H.FLAGS .EQ 9
|
||||
S.SMB.H.FLAGS.LOCKANDREADOK .EQ 1
|
||||
S.SMB.H.FLAGS.REPLY .EQ 128
|
||||
S.SMB.H.FLAGS2 .EQ 10
|
||||
S.SMB.H.FLAGS2.LONGNAMES .EQ %00000000.01000001
|
||||
S.SMB.H.FLAGS2.EAS .EQ %00000000.00000010
|
||||
S.SMB.H.FLAGS2.SECSIGN .EQ %00000000.00000100
|
||||
S.SMB.H.FLAGS2.DFS .EQ %00010000.00000000
|
||||
S.SMB.H.FLAGS2.READIFEXEC .EQ %00100000.00000000
|
||||
S.SMB.H.FLAGS2.NTSTATUS .EQ %01000000.00000000
|
||||
S.SMB.H.FLAGS2.UNICODE .EQ %10000000.00000000
|
||||
S.SMB.H.PIDHI .EQ 12
|
||||
S.SMB.H.SECFEAT .EQ 14
|
||||
S.SMB.H.RSVD .EQ 22
|
||||
S.SMB.H.TID .EQ 24
|
||||
S.SMB.H.PIDLO .EQ 26
|
||||
S.SMB.H.UID .EQ 28
|
||||
S.SMB.H.MID .EQ 30
|
||||
*
|
||||
S.SMB.HEADER .EQ 32
|
||||
S.SMB.H .EQ 32
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE INC/NET.SMB.I
|
||||
|
|
|
@ -327,14 +327,13 @@ BB.Seek lda BB.HdrTrk get track we're on
|
|||
* Current > Target, must move out
|
||||
|
||||
.2 cmp #$FF
|
||||
beq .6 one QT remaining
|
||||
bcs .60 one QT remaining
|
||||
|
||||
lda BB.CurrentQTrack
|
||||
bit #1 from QT1 or QT3
|
||||
bne .3
|
||||
and #$FE from QT1 or QT3
|
||||
|
||||
dec
|
||||
.3 dec
|
||||
dec
|
||||
|
||||
.4 sta BB.CurrentQTrack
|
||||
|
||||
|
@ -355,29 +354,31 @@ BB.Seek lda BB.HdrTrk get track we're on
|
|||
|
||||
* Last QTrack
|
||||
|
||||
.6 bcs .60
|
||||
|
||||
tya
|
||||
.6 tya
|
||||
inc
|
||||
inc
|
||||
and #$f6
|
||||
tax
|
||||
lda IO.D2.Ph0On,x
|
||||
bra .7
|
||||
|
||||
.60 tya
|
||||
tax
|
||||
* sec
|
||||
adc #5
|
||||
|
||||
.7 and #$f6
|
||||
tax
|
||||
lda IO.D2.Ph0On,x
|
||||
and #$f6
|
||||
tay
|
||||
lda IO.D2.Ph0On,y
|
||||
|
||||
phx
|
||||
.7 phx
|
||||
jsr BB.WaitPh
|
||||
|
||||
.80 jsr BB.Wait25600usec
|
||||
|
||||
plx
|
||||
lda IO.D2.Ph0Off,x
|
||||
lda IO.D2.Ph0Off,y
|
||||
lda IO.D2.Ph0Off,x
|
||||
bra BB.Read
|
||||
|
||||
.8 tya
|
||||
|
@ -387,7 +388,7 @@ BB.Seek lda BB.HdrTrk get track we're on
|
|||
|
||||
bra .80
|
||||
*--------------------------------------
|
||||
BB.WaitPh lda #204
|
||||
BB.WaitPh lda #IO.D2.SeekTime
|
||||
.HS 2C BIT ABS
|
||||
BB.Wait25600usec
|
||||
lda #0
|
||||
|
@ -399,8 +400,8 @@ BB.Wait25600usec
|
|||
.2 dex (2) delay 86 usec.
|
||||
bne .2 (2+) 2 + 5x16 + 2 + 2
|
||||
|
||||
ldx BB.Slotn0 (3)
|
||||
bit IO.D2.RData,x (4) Slow down ACC boards
|
||||
* ldx BB.Slotn0 (3)
|
||||
* bit IO.D2.DrvOn,x (4) Slow down ACC boards
|
||||
|
||||
sbc #1 (2)
|
||||
bne .1 (2+)
|
||||
|
|
|
@ -27,9 +27,13 @@ D2Recalibrate >PULLB DrvSlt
|
|||
|
||||
ldx Slotn0
|
||||
|
||||
ldy #166
|
||||
ldy #168
|
||||
|
||||
.1 lda IO.D2.Ph0Off,x
|
||||
|
||||
dey
|
||||
dey
|
||||
|
||||
tya
|
||||
|
||||
and #6
|
||||
|
@ -37,18 +41,33 @@ D2Recalibrate >PULLB DrvSlt
|
|||
tax
|
||||
lda IO.D2.Ph0On,x
|
||||
|
||||
phx
|
||||
lda #204
|
||||
* lda #IO.D2.SeekTime
|
||||
lda #0
|
||||
jsr D2.Wait100usecA
|
||||
plx
|
||||
dey
|
||||
dey
|
||||
cpy #$fe
|
||||
|
||||
cpy #0
|
||||
bne .1
|
||||
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
|
||||
ldx Slotn0
|
||||
lda IO.D2.Ph0Off,x
|
||||
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
jsr D2.Wait25600usec
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
|
@ -75,70 +94,82 @@ D2MoveHead.1 ldy #0
|
|||
* Current < Target, must move in
|
||||
|
||||
cmp #2
|
||||
bcc .6 one QT remaining
|
||||
bcc .5 one QT remaining
|
||||
|
||||
lda MoveFrom 2 or more
|
||||
and #$FE from QT1 or QT3
|
||||
inc
|
||||
inc
|
||||
bra .4
|
||||
bra .3
|
||||
|
||||
* Current > Target, must move out
|
||||
|
||||
.2 cmp #$FF
|
||||
beq .6 one QT remaining
|
||||
bcs .6 one QT remaining
|
||||
|
||||
lda MoveFrom
|
||||
bit #1 from QT1 or QT3
|
||||
bne .3
|
||||
|
||||
dec
|
||||
.3 dec
|
||||
|
||||
.4 sta MoveFrom
|
||||
.3 and #$FE
|
||||
|
||||
sta MoveFrom
|
||||
|
||||
and #6
|
||||
ora Slotn0
|
||||
tax
|
||||
pha
|
||||
tya
|
||||
beq .5
|
||||
beq .4
|
||||
|
||||
lda IO.D2.Ph0Off,y
|
||||
* nop
|
||||
* nop
|
||||
|
||||
.5 lda IO.D2.Ph0On,x
|
||||
* lda #1
|
||||
* jsr D2.Wait100usecA
|
||||
|
||||
.4 lda IO.D2.Ph0On,x
|
||||
ply
|
||||
|
||||
lda #204
|
||||
* lda #IO.D2.SeekTime
|
||||
lda #0
|
||||
jsr D2.Wait100usecA
|
||||
bra .1
|
||||
|
||||
* Last QTrack
|
||||
|
||||
.6 bcs .60
|
||||
|
||||
tya
|
||||
.5 tya
|
||||
inc
|
||||
inc
|
||||
bra .7
|
||||
|
||||
.60 tya
|
||||
clc
|
||||
adc #6
|
||||
|
||||
.7 and #$f6
|
||||
and #$f6
|
||||
tax
|
||||
lda IO.D2.Ph0On,x
|
||||
bra .7
|
||||
|
||||
.6 tya
|
||||
tax
|
||||
* sec
|
||||
adc #5
|
||||
|
||||
and #$f6
|
||||
tay
|
||||
lda IO.D2.Ph0On,y
|
||||
|
||||
phx
|
||||
lda #204
|
||||
.7
|
||||
* lda #IO.D2.SeekTime
|
||||
lda #0
|
||||
jsr D2.Wait100usecA
|
||||
|
||||
jsr D2.Wait25600usec
|
||||
|
||||
plx
|
||||
lda IO.D2.Ph0Off,x
|
||||
lda IO.D2.Ph0Off,y
|
||||
* nop
|
||||
* nop
|
||||
* lda #1
|
||||
* jsr D2.Wait100usecA
|
||||
|
||||
lda IO.D2.Ph0Off,x
|
||||
|
||||
jsr D2.Wait25600usec
|
||||
rts
|
||||
|
||||
.8 tya
|
||||
|
@ -147,11 +178,13 @@ D2MoveHead.1 ldy #0
|
|||
jsr D2.Wait25600usec
|
||||
|
||||
lda IO.D2.Ph0Off,y
|
||||
|
||||
jsr D2.Wait25600usec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
D2.Wait25600usec
|
||||
lda #0
|
||||
D2.Wait100usecA sec (2)
|
||||
D2.Wait100usecA phx (3)
|
||||
|
||||
.1 ldx #19 (2)
|
||||
|
||||
|
@ -159,26 +192,44 @@ D2.Wait100usecA sec (2)
|
|||
bne .2 (3)
|
||||
|
||||
ldx Slotn0 (3)
|
||||
bit IO.D2.RData,x (4) Slow down ACC boards
|
||||
bit IO.D2.DrvOn,x (4) Slow down ACC boards
|
||||
|
||||
sec (2)
|
||||
sbc #1 (2)
|
||||
bne .1 (3)
|
||||
|
||||
rts
|
||||
plx (4)
|
||||
rts (6)
|
||||
*/--------------------------------------
|
||||
* # D2TrkRead16s
|
||||
* Write a track (16 sectors)
|
||||
* PUSHB = DSSS0000
|
||||
* PUSHB = TrackNum * 4 : 0->136+
|
||||
* PUSHW = Ptr to 16*256 buffer
|
||||
* ## RETURN VALUE
|
||||
* CC : success, A = VolNum
|
||||
* CS : A = Error
|
||||
*\--------------------------------------
|
||||
D2TrkRead16s
|
||||
D2TrkRead16s >PULLW ZPPtr1
|
||||
>PULLB TrkNum
|
||||
>PULLB DrvSlt
|
||||
|
||||
jsr CheckDiskII
|
||||
bcs .9
|
||||
|
||||
|
||||
lda VolNum
|
||||
clc
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # D2TrkWrite16s
|
||||
* Write a track (16 sectors)
|
||||
* **In:**
|
||||
* PUSHB = DSSS0000
|
||||
* PUSHB = TrackNum * 4 : 0->136+
|
||||
* PUSHW = Ptr to 16*256 buffer
|
||||
* ## RETURN VALUE
|
||||
* CC : success
|
||||
* CS : A = Error
|
||||
* A=0, currently starting/seeking...
|
||||
*\--------------------------------------
|
||||
D2TrkWrite16s >PULLW ZPPtr1
|
||||
>PULLB TrkNum
|
||||
|
|
|
@ -415,8 +415,10 @@ SKT.shutdown.TCP
|
|||
|
||||
lda #S.SOCKET.TCP.S.FINWT1
|
||||
jmp SKT.StoreTCB.S
|
||||
|
||||
.1 cmp #S.SOCKET.TCP.S.CLWAIT
|
||||
beq .3
|
||||
|
||||
.2 lda #S.TCP.OPTIONS.RST
|
||||
jsr TCP.OUT.SendOptA Send RST
|
||||
bcs .9
|
||||
|
|
|
@ -220,25 +220,30 @@ TCP.IN.JMP.ESTBLSH
|
|||
jsr TCP.AddAYToSktCacheAtX
|
||||
|
||||
jsr SKT.StoreTCB update socket
|
||||
* jsr TCP.SetSocketTCPO.ACK ...and ack data
|
||||
lda #S.TCP.OPTIONS.ACK
|
||||
jsr TCP.OUT.SendOptA
|
||||
* bcs *
|
||||
jsr TCP.SetSocketTCPO.ACK ...and ack data
|
||||
|
||||
.7 ldy #S.TCP.OPTIONS
|
||||
lda (ZPFrameInPtr),y
|
||||
and #S.TCP.OPTIONS.FIN
|
||||
beq .8
|
||||
|
||||
lda #S.SOCKET.TCP.S.CLWAIT
|
||||
ldy #S.SOCKET.TCP.S
|
||||
sta (ZPPtrSKT),y
|
||||
jsr TCP.IN.ACKTheFIN
|
||||
jsr SKT.StoreTCB update socket
|
||||
|
||||
lda #S.TCP.OPTIONS.FIN+S.TCP.OPTIONS.ACK
|
||||
jsr TCP.SetSocketTCPO FIN received, Send FIN.ACK
|
||||
* jsr TCP.OUT.SendOptA
|
||||
|
||||
.8 clc
|
||||
lda #S.SOCKET.TCP.S.LASTACK
|
||||
ldy #S.SOCKET.TCP.S
|
||||
sta (ZPPtrSKT),y
|
||||
|
||||
.8 ldy #S.SOCKET.TCP.O
|
||||
lda (ZPPtrSKT),y
|
||||
beq .80
|
||||
|
||||
jmp TCP.OUT.SendOptA
|
||||
|
||||
.80 clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
|
@ -249,6 +254,7 @@ TCP.IN.JMP.LASTACK
|
|||
lda (ZPFrameInPtr),y
|
||||
bit #S.TCP.OPTIONS.ACK
|
||||
beq .8
|
||||
|
||||
ldy #S.SOCKET.TCP.S
|
||||
lda #S.SOCKET.TCP.S.TIMEWT
|
||||
sta (ZPPtrSKT),y
|
||||
|
@ -275,7 +281,11 @@ TCP.IN.JMP.FINWT1
|
|||
.1 jsr TCP.IN.ACKTheFIN FIN/ACK
|
||||
|
||||
lda #S.TCP.OPTIONS.FIN+S.TCP.OPTIONS.ACK
|
||||
bra TCP.IN.JMP.FINWT.ACK Send FIN.ACK
|
||||
jsr TCP.OUT.SendOptA FIN received, Send ACK
|
||||
bcs TCP.IN.JMP.TIMEWT.RTS
|
||||
|
||||
lda #S.SOCKET.TCP.S.LASTACK
|
||||
jmp SKT.StoreTCB.S
|
||||
*--------------------------------------
|
||||
TCP.IN.JMP.FINWT2
|
||||
ldy #S.TCP.OPTIONS only accept ACK packet
|
||||
|
@ -284,11 +294,11 @@ TCP.IN.JMP.FINWT2
|
|||
bit #S.TCP.OPTIONS.ACK
|
||||
beq TCP.IN.JMP.TIMEWT
|
||||
jsr SKT.GetTCB
|
||||
|
||||
jsr TCP.IN.ACKTheFIN
|
||||
|
||||
lda #S.TCP.OPTIONS.ACK
|
||||
|
||||
TCP.IN.JMP.FINWT.ACK
|
||||
jsr TCP.OUT.SendOptA FIN received, Send ACK
|
||||
bcs TCP.IN.JMP.TIMEWT.RTS
|
||||
|
||||
|
@ -315,7 +325,9 @@ TCP.IN.JMP.TIMEWT.RTS
|
|||
TCP.IN.ACKTheSYN
|
||||
ldy #S.TCP.SEQNUM+3 Get Remote SEQ
|
||||
ldx #3
|
||||
|
||||
sec
|
||||
|
||||
.3 lda (ZPFrameInPtr),y Set OUTACK=SEQ+1 for new socket...
|
||||
adc #0
|
||||
sta SKT.Cache+S.SOCKET.TCP.INSEQNUM,x
|
||||
|
@ -326,8 +338,8 @@ TCP.IN.ACKTheSYN
|
|||
rts
|
||||
*--------------------------------------
|
||||
TCP.IN.ACKTheFIN
|
||||
jsr TCP.SetSocketTCPO.ACK
|
||||
ldx #3
|
||||
|
||||
.1 inc SKT.Cache+S.SOCKET.TCP.INSEQNUM,x
|
||||
bne .8
|
||||
dex
|
||||
|
|
|
@ -35,7 +35,8 @@ L59A6 lda XRW.LastUnitUsed
|
|||
jsr XRW.CheckMotorOnX check if previous drive running.
|
||||
beq L59BD branch if stopped.
|
||||
|
||||
jsr XRW.Wait100usec
|
||||
lda #1
|
||||
jsr XRW.Wait100usecA
|
||||
|
||||
lda XRW.montimeh
|
||||
bne L59A6
|
||||
|
@ -95,9 +96,7 @@ L59BD ldx A2L
|
|||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
* read/write a track/sector
|
||||
|
||||
regrwts ldy #3
|
||||
regrwts ldy #1
|
||||
sty XRW.RecalibrateCnt
|
||||
sta XRW.ReqSector
|
||||
|
||||
|
@ -146,7 +145,8 @@ L537C plp was motor on ?
|
|||
|
||||
* motor was off, wait for it to speed up
|
||||
|
||||
L537F jsr XRW.Wait100usec wait 100us for each count in montime
|
||||
L537F lda #1
|
||||
jsr XRW.Wait100usecA wait 100us for each count in montime
|
||||
|
||||
lda XRW.montimeh
|
||||
bmi L537F count up to 0000
|
||||
|
@ -161,7 +161,7 @@ L537F jsr XRW.Wait100usec wait 100us for each count in montime
|
|||
* locate the correct sector for this operation
|
||||
|
||||
L538E lda A4L get command #
|
||||
beq L53FD if 0 then status command
|
||||
beq XRW.TestWP if 0 then status command
|
||||
|
||||
lsr set carry = 1 for read, 0 for write.
|
||||
bcs L5398 must prenibblize for write
|
||||
|
@ -181,18 +181,21 @@ XRW.Recalibrate lda #MLI.E.IO anticipate a bad drive error.
|
|||
dec XRW.RecalibrateCnt
|
||||
bmi hndlerr
|
||||
|
||||
lda #54
|
||||
lda #41
|
||||
ldy XRW.UnitIndex
|
||||
sta XRW.D2Trk-1,y
|
||||
|
||||
lda #0
|
||||
sta XRW.D2VolNum-1,y
|
||||
|
||||
jsr XRW.Seek
|
||||
bra L5398
|
||||
|
||||
L53BE lda XRW.AddrField.T
|
||||
cmp XRW.ReqTrack
|
||||
beq L53D5 ok
|
||||
beq L53D5
|
||||
|
||||
jsr XRW.DEBUG
|
||||
jsr XRW.DEBUG
|
||||
|
||||
ldy XRW.UnitIndex
|
||||
|
||||
|
@ -229,18 +232,18 @@ hndlerr sec
|
|||
bit IO.D2.DrvOff,x turn off
|
||||
rts
|
||||
*--------------------------------------
|
||||
L53F4 jsr XRW.Write
|
||||
|
||||
statdne bcc L53E7 if no errors.
|
||||
lda #MLI.E.WRTPROT disk write protected.
|
||||
bne hndlerr always
|
||||
|
||||
L53FD ldx A2L
|
||||
XRW.TestWP ldx A2L
|
||||
lda IO.D2.ReadProt,x test for write protected
|
||||
lda IO.D2.ReadMode,x
|
||||
rol write protect-->carry-->bit 0=1
|
||||
lda IO.D2.RData,x keep in read mode
|
||||
bra statdne
|
||||
|
||||
L53F4 jsr XRW.Write
|
||||
|
||||
statdne bcc L53E7 if no errors.
|
||||
lda #MLI.E.WRTPROT disk write protected.
|
||||
bne hndlerr always
|
||||
*--------------------------------------
|
||||
* determine if motor is stopped
|
||||
*
|
||||
|
@ -558,28 +561,28 @@ wnibl sta IO.D2.WLoad,x (5) nibl write
|
|||
* montimel, montimeh are incremented once per 100 usec interval
|
||||
* for motor on timing.
|
||||
*--------------------------------------
|
||||
XRW.Wait100usec lda #1
|
||||
|
||||
XRW.Wait100usecA
|
||||
sec (2)
|
||||
phx (3)
|
||||
|
||||
.1 ldx #17 (2)
|
||||
.1 ldx #16 (2)
|
||||
|
||||
.2 dex (2)
|
||||
bne .2 (3)
|
||||
|
||||
ldx A2L (3)
|
||||
bit IO.D2.RData,x (4) Slow down ACC boards
|
||||
bit IO.D2.DrvOn,x (4) Slow down ACC boards
|
||||
|
||||
inc XRW.montimel (6)
|
||||
bne .3 (3)
|
||||
|
||||
inc XRW.montimeh (6)
|
||||
|
||||
.3 sbc #1 (2)
|
||||
.3 sec (2)
|
||||
sbc #1 (2)
|
||||
bne .1 (3)
|
||||
|
||||
rts
|
||||
plx (4)
|
||||
rts (6)
|
||||
*--------------------------------------
|
||||
* read subroutine (16-sector format)
|
||||
*
|
||||
|
@ -732,11 +735,12 @@ L57CD pla place last byte into user buffer
|
|||
* A = target track
|
||||
*--------------------------------------
|
||||
XRW.Seek pha save target track
|
||||
|
||||
ldx XRW.UnitIndex
|
||||
|
||||
jsr XRW.Trk2Qtrk
|
||||
sta XRW.TargetQTrack
|
||||
|
||||
jsr XRW.DEBUG2
|
||||
|
||||
lda XRW.D2Trk-1,x
|
||||
|
||||
|
@ -758,69 +762,82 @@ XRW.Seek pha save target track
|
|||
* Current < Target, must move in
|
||||
|
||||
cmp #2
|
||||
bcc .6 one QT remaining
|
||||
|
||||
bcc .5 one QT remaining
|
||||
|
||||
lda XRW.CurrentQTrack
|
||||
and #$FE from QT1 or QT3
|
||||
inc
|
||||
inc
|
||||
bra .4
|
||||
bra .3
|
||||
|
||||
* Current > Target, must move out
|
||||
|
||||
.2 cmp #$FF
|
||||
beq .6 one QT remaining
|
||||
|
||||
lda XRW.CurrentQTrack
|
||||
bit #1 from QT1 or QT3
|
||||
bne .3
|
||||
|
||||
dec
|
||||
.3 dec
|
||||
bcs .6 one QT remaining
|
||||
|
||||
.4 sta XRW.CurrentQTrack
|
||||
lda XRW.CurrentQTrack
|
||||
dec
|
||||
|
||||
.3 and #$FE from QT1 or QT3
|
||||
|
||||
sta XRW.CurrentQTrack
|
||||
|
||||
and #6
|
||||
ora A2L
|
||||
tax
|
||||
pha
|
||||
tya
|
||||
beq .5
|
||||
beq .4
|
||||
|
||||
lda IO.D2.Ph0Off,y
|
||||
* nop
|
||||
* nop
|
||||
|
||||
.5 lda IO.D2.Ph0On,x
|
||||
* lda #1
|
||||
* jsr XRW.Wait100usecA
|
||||
|
||||
.4 lda IO.D2.Ph0On,x
|
||||
ply
|
||||
|
||||
lda #204
|
||||
* lda #IO.D2.SeekTime
|
||||
lda #0
|
||||
jsr XRW.Wait100usecA
|
||||
bra .1
|
||||
|
||||
.6 bcs .60
|
||||
|
||||
tya
|
||||
.5 tya
|
||||
inc
|
||||
inc
|
||||
bra .7
|
||||
|
||||
.60 tya
|
||||
clc
|
||||
adc #6
|
||||
|
||||
.7 and #$f6
|
||||
and #$f6
|
||||
tax
|
||||
lda IO.D2.Ph0On,x
|
||||
bra .7
|
||||
|
||||
.6 tya
|
||||
tax
|
||||
* sec
|
||||
adc #5
|
||||
|
||||
and #$f6
|
||||
tay
|
||||
lda IO.D2.Ph0On,y
|
||||
|
||||
phx
|
||||
lda #204
|
||||
.7
|
||||
* lda #IO.D2.SeekTime
|
||||
lda #0
|
||||
jsr XRW.Wait100usecA
|
||||
|
||||
lda #0 wait 25.6 ms
|
||||
jsr XRW.Wait100usecA
|
||||
|
||||
plx
|
||||
lda IO.D2.Ph0Off,x
|
||||
lda IO.D2.Ph0Off,y
|
||||
* nop
|
||||
* nop
|
||||
* lda #1
|
||||
* jsr XRW.Wait100usecA
|
||||
|
||||
lda IO.D2.Ph0Off,x
|
||||
|
||||
lda #0 wait 25.6 ms
|
||||
jsr XRW.Wait100usecA
|
||||
rts
|
||||
|
||||
.8 tya
|
||||
|
@ -830,6 +847,9 @@ XRW.Seek pha save target track
|
|||
jsr XRW.Wait100usecA
|
||||
|
||||
lda IO.D2.Ph0Off,y
|
||||
|
||||
lda #0 wait 25.6 ms
|
||||
jsr XRW.Wait100usecA
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
XRW.Trk2Qtrk asl x2
|
||||
|
@ -924,22 +944,32 @@ rderr sec
|
|||
*--------------------------------------
|
||||
XRW.DEBUG phx
|
||||
|
||||
ldx #$20
|
||||
ldx #$1c
|
||||
lda XRW.AddrField.V
|
||||
jsr .6
|
||||
jsr XRW.DEBUG.PRINT
|
||||
|
||||
lda XRW.AddrField.T
|
||||
jsr .6
|
||||
jsr XRW.DEBUG.PRINT
|
||||
|
||||
inx
|
||||
|
||||
lda XRW.ReqTrack
|
||||
jsr .6
|
||||
|
||||
jsr XRW.DEBUG.PRINT
|
||||
|
||||
plx
|
||||
rts
|
||||
|
||||
.6 pha
|
||||
XRW.DEBUG2 phx
|
||||
pha
|
||||
ldx #$26
|
||||
jsr XRW.DEBUG.PRINT
|
||||
pla
|
||||
plx
|
||||
rts
|
||||
|
||||
XRW.DEBUG.PRINT
|
||||
|
||||
pha
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
|
|
303
SBIN/CIFSD.S.txt
303
SBIN/CIFSD.S.txt
|
@ -50,9 +50,11 @@ L.LIBTCPIP .DA LIBTCPIP
|
|||
L.MSG.TCPIPERR .DA MSG.TCPIPERR
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.UNKNOWN .DA MSG.UNKNOWN
|
||||
L.MSG.SESSION .DA MSG.SESSION
|
||||
L.SMB.NegReq .DA SMB.NegReq
|
||||
L.SMB.SessSetup .DA SMB.SessSetup
|
||||
L.SMB.TreeConnReq .DA SMB.TreeConnReq
|
||||
L.SMB.FindFirstReq .DA SMB.FindFirstReq
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Called once at process creation
|
||||
|
@ -69,7 +71,10 @@ CS.INIT >LDYA L.LIBTCPIP
|
|||
* Called until exit with CS
|
||||
* if RUN exits with CC, RUN entered again
|
||||
*--------------------------------------
|
||||
CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||
CS.RUN >LDA.G hSocket
|
||||
bne .8
|
||||
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||
bcs .9
|
||||
|
||||
>STYA ZPIPCfgPtr
|
||||
|
@ -93,10 +98,23 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
|||
jsr CS.RUN.Negotiate
|
||||
bcs .9
|
||||
|
||||
>SLEEP
|
||||
|
||||
jsr CS.RUN.SessSetup
|
||||
bcs .9
|
||||
|
||||
lda #0
|
||||
>SLEEP
|
||||
|
||||
jsr CS.RUN.TreeConn
|
||||
bcs .9
|
||||
|
||||
>SLEEP
|
||||
|
||||
jsr CIFS.OpenDir
|
||||
bcs .9
|
||||
|
||||
|
||||
.8 lda #0
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
|
@ -207,13 +225,12 @@ CS.RUN.Negotiate
|
|||
|
||||
bra .99
|
||||
|
||||
.3 stx hResp
|
||||
.3 sta hResp
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPRespPtr
|
||||
|
||||
ldy #$3f
|
||||
lda (ZPRespPtr),y
|
||||
iny
|
||||
ora (ZPRespPtr),y
|
||||
bne .9
|
||||
|
||||
ldy #$5B
|
||||
|
@ -235,8 +252,115 @@ CS.RUN.Negotiate
|
|||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.SessSetup
|
||||
lda #TIMEOUT.MAX
|
||||
sta TimeOut
|
||||
|
||||
.1 >PUSHWI SMB.SessSetup.end-SMB.SessSetup
|
||||
>PUSHW L.SMB.SessSetup
|
||||
>LDA.G hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
bcc .2
|
||||
|
||||
>SLEEP
|
||||
ldx TimeOut
|
||||
bne .1
|
||||
|
||||
bra .99
|
||||
|
||||
.2 >SLEEP
|
||||
|
||||
>LDA.G hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||
bcc .3
|
||||
|
||||
tay
|
||||
beq .2
|
||||
|
||||
bra .99
|
||||
|
||||
.3 sta hResp
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPRespPtr
|
||||
|
||||
ldy #$3f
|
||||
lda (ZPRespPtr),y
|
||||
bne .9
|
||||
|
||||
ldy #$56
|
||||
lda (ZPRespPtr),y
|
||||
sta SMB.TreeConnReq.UID
|
||||
iny
|
||||
lda (ZPRespPtr),y
|
||||
sta SMB.TreeConnReq.UID+1
|
||||
|
||||
>PUSHW L.MSG.SESSION
|
||||
lda #$63
|
||||
clc
|
||||
adc ZPRespPtr
|
||||
tay
|
||||
lda #0
|
||||
adc ZPRespPtr+1
|
||||
>PUSHYA
|
||||
|
||||
>PUSHBI 2
|
||||
>SYSCALL Printf
|
||||
|
||||
lda hResp
|
||||
>SYSCALL FreeMem
|
||||
* clc
|
||||
rts
|
||||
|
||||
.9 lda hResp
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.99 lda #MLI.E.INVPATH
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.TreeConn lda #TIMEOUT.MAX
|
||||
sta TimeOut
|
||||
|
||||
.1 >PUSHWI SMB.TreeConnReq.end-SMB.TreeConnReq
|
||||
>PUSHW L.SMB.TreeConnReq
|
||||
>LDA.G hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
bcc .2
|
||||
|
||||
>SLEEP
|
||||
ldx TimeOut
|
||||
bne .1
|
||||
|
||||
bra .99
|
||||
|
||||
.2 >SLEEP
|
||||
|
||||
>LDA.G hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||
bcc .3
|
||||
|
||||
tay
|
||||
beq .2
|
||||
|
||||
bra .99
|
||||
|
||||
.3 sta hResp
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPRespPtr
|
||||
|
||||
ldy #$3f
|
||||
lda (ZPRespPtr),y
|
||||
bne .9
|
||||
|
||||
lda hResp
|
||||
>SYSCALL FreeMem
|
||||
* clc
|
||||
rts
|
||||
|
||||
.9 lda hResp
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.99 lda #MLI.E.INVPATH
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT lda (pEvent)
|
||||
|
@ -260,6 +384,58 @@ CS.QUIT >LDA.G hSocket
|
|||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CIFS.OpenDir lda #TIMEOUT.MAX
|
||||
sta TimeOut
|
||||
|
||||
.1 >PUSHWI SMB.FindFirstReq.end-SMB.FindFirstReq
|
||||
>PUSHW L.SMB.FindFirstReq
|
||||
>LDA.G hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
bcc .2
|
||||
|
||||
>SLEEP
|
||||
ldx TimeOut
|
||||
bne .1
|
||||
|
||||
bra .99
|
||||
|
||||
.2 >SLEEP
|
||||
|
||||
>LDA.G hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||
bcc .3
|
||||
|
||||
tay
|
||||
beq .2
|
||||
|
||||
bra .99
|
||||
|
||||
.3 sta hResp
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPRespPtr
|
||||
|
||||
ldy #$3f
|
||||
lda (ZPRespPtr),y
|
||||
bne .9
|
||||
|
||||
lda hResp
|
||||
>SYSCALL FreeMem
|
||||
* clc
|
||||
rts
|
||||
|
||||
.9 lda hResp
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.99 lda #MLI.E.INVPATH
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CIFS.ReadDir
|
||||
*--------------------------------------
|
||||
CIFS.CloseDir
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
* Initialized DATA
|
||||
|
@ -269,6 +445,7 @@ hLIBTCPIP .BS 1
|
|||
MSG.TCPIPERR .AZ "HTTPD:TCP/IP Not initialized properly."
|
||||
MSG.USAGE .AZ "Usage : CIFSD <ip|host> sharename mountpoint"
|
||||
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
|
||||
MSG.SESSION .AZ "Connected to: %s\r\n"
|
||||
*--------------------------------------
|
||||
SMB.NegReq .DA #0 DIRECT TCP TRANSPORT
|
||||
.DA #0 24 BITS LENGTH
|
||||
|
@ -276,10 +453,10 @@ SMB.NegReq .DA #0 DIRECT TCP TRANSPORT
|
|||
.DA #SMB.NegReq.end-1-*
|
||||
.DA #$FF
|
||||
.AS "SMB"
|
||||
.DA #S.SMB.HEADER.CMD.NEGOTIATE
|
||||
.DA #S.SMB.H.CMD.NEGOTIATE
|
||||
.HS 00000000
|
||||
.DA #0 S.SMB.HEADER.FLAGS
|
||||
.DA S.SMB.HEADER.FLAGS2.LONGNAMES
|
||||
.DA #0 S.SMB.H.FLAGS
|
||||
.DA S.SMB.H.FLAGS2.LONGNAMES
|
||||
.DA 0 PIDHI
|
||||
.HS 0000000000000000 SECFEAT
|
||||
.DA 0 RSVD
|
||||
|
@ -287,9 +464,12 @@ SMB.NegReq .DA #0 DIRECT TCP TRANSPORT
|
|||
.DA $FEFF PIDLO
|
||||
.DA 0 UID
|
||||
.DA 0 MID
|
||||
|
||||
.DA #0 WORD COUNT
|
||||
|
||||
.DA #SMB.NegReq.end-2-*
|
||||
.DA /SMB.NegReq.end-2-*
|
||||
|
||||
.DA #2
|
||||
.AZ "PC NETWORK PROGRAM 1.0"
|
||||
.DA #2
|
||||
|
@ -314,8 +494,40 @@ SMB.SessSetup .DA #0 DIRECT TCP TRANSPORT
|
|||
.DA #SMB.SessSetup.end-1-*
|
||||
.DA #$FF
|
||||
.AS "SMB"
|
||||
.DA #S.SMB.HEADER.CMD.SESSION.SETUP.ANDX
|
||||
.DA #S.SMB.H.CMD.SESSION.SETUP.ANDX
|
||||
.HS 00000000
|
||||
.DA #0 S.SMB.H.FLAGS
|
||||
.DA S.SMB.H.FLAGS2.LONGNAMES
|
||||
.DA 0 PIDHI
|
||||
.HS 0000000000000000 SECFEAT
|
||||
.DA 0 RSVD
|
||||
.DA $FFFF TID
|
||||
.DA $FEFF PIDLO
|
||||
.DA 0 UID
|
||||
.DA 0 MID
|
||||
|
||||
.DA #13 WORD COUNT
|
||||
|
||||
.HS FF000000 NO MORE CMD
|
||||
.DA 1280 MAX BUFFER
|
||||
.DA 2 MAX MPX COUNT
|
||||
.HS 0000 VC NUMBER
|
||||
.HS 00000000 SESSION KEY
|
||||
.DA 0 CI PASS LEN
|
||||
.DA 0 CS PASS LEN
|
||||
.HS 00000000
|
||||
.HS 00000000 CAPABILITIES
|
||||
|
||||
.DA #SMB.SessSetup.end-2-*
|
||||
.DA /SMB.SessSetup.end-2-*
|
||||
|
||||
SMB.SessSetup.SecBlob
|
||||
* .AZ "" Password
|
||||
.AZ "GUEST" Account Name
|
||||
.AZ "?" Primary Domain
|
||||
SMB.SessSetup.SecBlob.LEN .EQ *-SMB.SessSetup.SecBlob
|
||||
.AZ "A2osX" Native OS
|
||||
.AZ "A2osX-CIFSD" Native LANMAN
|
||||
SMB.SessSetup.end .EQ *
|
||||
*--------------------------------------
|
||||
SMB.TreeConnReq .DA #0 DIRECT TCP TRANSPORT
|
||||
|
@ -324,9 +536,80 @@ SMB.TreeConnReq .DA #0 DIRECT TCP TRANSPORT
|
|||
.DA #SMB.TreeConnReq.end-1-*
|
||||
.DA #$FF
|
||||
.AS "SMB"
|
||||
.DA #S.SMB.HEADER.CMD.TREE.CONNECT.ANDX
|
||||
.DA #S.SMB.H.CMD.TREE.CONNECT.ANDX
|
||||
.HS 00000000
|
||||
.DA #0 S.SMB.H.FLAGS
|
||||
.DA S.SMB.H.FLAGS2.LONGNAMES
|
||||
.DA 0 PIDHI
|
||||
.HS 0000000000000000 SECFEAT
|
||||
.DA 0 RSVD
|
||||
.DA $FFFF TID
|
||||
.DA $FEFF PIDLO
|
||||
SMB.TreeConnReq.UID
|
||||
.DA 0 UID
|
||||
.DA 0 MID
|
||||
|
||||
.DA #4 WORD COUNT
|
||||
.HS FF000000 NO MORE CMD
|
||||
.DA 0
|
||||
.DA 1 PASSWORD LEN
|
||||
|
||||
.DA #SMB.TreeConnReq.end-2-*
|
||||
.DA /SMB.TreeConnReq.end-2-*
|
||||
|
||||
.AZ "" PASSWORD
|
||||
.AZ "\\SV-W2K-3\Apple" PATH
|
||||
.AZ "?????"
|
||||
SMB.TreeConnReq.end .EQ *
|
||||
*--------------------------------------
|
||||
SMB.FindFirstReq
|
||||
.DA #0 DIRECT TCP TRANSPORT
|
||||
.DA #0 24 BITS LENGTH
|
||||
.DA /SMB.TreeConnReq.end-1-*
|
||||
.DA #SMB.TreeConnReq.end-1-*
|
||||
.DA #$FF
|
||||
.AS "SMB"
|
||||
.DA #S.SMB.H.CMD.TRANSACTION2
|
||||
.HS 00000000
|
||||
.DA #0 S.SMB.H.FLAGS
|
||||
.DA S.SMB.H.FLAGS2.LONGNAMES
|
||||
.DA 0 PIDHI
|
||||
.HS 0000000000000000 SECFEAT
|
||||
.DA 0 RSVD
|
||||
.DA $FFFF TID
|
||||
.DA $FEFF PIDLO
|
||||
.DA 0 UID
|
||||
.DA 0 MID
|
||||
|
||||
.DA #$0F WORD COUNT
|
||||
.DA 0 TotalParamCount
|
||||
.DA 0 TotalDataCount
|
||||
.DA 256 MaxParameterCount
|
||||
.DA 1024 MaxDataCount
|
||||
.DA #1 MaxSetupCount
|
||||
.HS 00 Reserved1
|
||||
.DA 0 Flags
|
||||
.HS 00000000 Timeout
|
||||
.HS 0000 Reserved2
|
||||
.HS 0000 ParameterCount
|
||||
.HS 0000 ParameterOffset
|
||||
.DA SMB.FindFirstReq.end-2-* DataCount
|
||||
.HS 0000 DataOffset
|
||||
|
||||
.DA #1 SetupCount
|
||||
.HS 00 Reserved3
|
||||
|
||||
.DA 1 TRANS2_FIND_FIRST2
|
||||
|
||||
.DA SMB.FindFirstReq.end-2-*
|
||||
|
||||
.DA $373E SearchAttributes
|
||||
.DA 10 SearchCount
|
||||
.DA 0 Flags
|
||||
.DA $0104 InformationLevel
|
||||
.HS 00000000 SearchStorageType
|
||||
.DA "*" FileName
|
||||
SMB.FindFirstReq.end
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
Loading…
Reference in New Issue
Block a user