Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-06-13 21:27:06 +02:00
parent 014bc70ed7
commit 7eefe84082
12 changed files with 272 additions and 111 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -364,8 +364,9 @@ CS.RUN.LL.DISKII
sec
rts
.8 ldx #0
jsr CS.RUN.SeekToX
.8
* ldx #0
* jsr CS.RUN.SeekToX
>PUSHW L.MSG.CRLF
>PUSHBI 0
@ -434,8 +435,8 @@ CS.RUN.LL.DISKII.V
dec Counter
bne .1
ldx #0
jsr CS.RUN.SeekToX
* ldx #0
* jsr CS.RUN.SeekToX
>PUSHW L.MSG.CRLF
>PUSHBI 0

View File

@ -6,12 +6,14 @@ 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.00000001
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
@ -30,4 +32,3 @@ S.SMB.HEADER .EQ 32
*--------------------------------------
MAN
SAVE INC/NET.SMB.I

View File

@ -2,12 +2,6 @@ NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
* prodos universal boot loader. this is the second stage boot
* for all apple manufactured apple ii disk drives.
* it is located at block zero (0) of a prodos or sos formatted
* disk(ette). if booted in apple /// native mode, the regular
* sos boot will be attempted.
*--------------------------------------
dcmd .EQ $42 disk command (=1 for read)
unit .EQ $43 (16*slot)+(128*(drive-1))
buff .EQ $44 ram address
@ -20,7 +14,7 @@ idxp .EQ $4e index byte pointer
iobuff .EQ $60
* the following are for disk ii only
dbuf .EQ $26
slotz .EQ $2b
BB.Slotn0 .EQ $2b
oddbits .EQ $3c
sector .EQ $3d
@ -116,8 +110,9 @@ modboot ldy mods-1,x
cpx #8
bcs .1
lda endcode-1,x
sta zzzend-1,x
lda endcode-1,x
sta zzzend-1,x
.1 dex
bne modboot
@ -125,9 +120,9 @@ modboot ldy mods-1,x
sta BB.HdrPtr
stx BB.HdrPtr+1 X=0
lda /d2io reset device entry
lda /BB.ReadBlock reset device entry
sta dent+1 to point at disk ii routines.
lda #d2io get low addr (must be <$80)
lda #BB.ReadBlock get low addr (must be <$80)
*--------------------------------------
ndsk2 ldy #0 make sure y=0 again.
cmp #$f9
@ -183,22 +178,23 @@ nxdent1 clc
nxdent2 sty idxl
ldy #0
ldy #6
lookpro lda (idxl),y look for matching name.
cmp BB.ProDOS,y
bne nxdent branch if no match.
iny
cpy #7
bne lookpro
dey
bpl lookpro
ldy #$10 get file type & index block addr.
* ldy #$10 get file type & index block addr.
* lda (idxl),y
* cmp #S.FI.T.SYS is it a system file?
* bne booterr
iny
* iny
ldy #$11
lda (idxl),y
sta blok
iny
@ -252,7 +248,7 @@ mods .DA #mod1,#mod2,#mod3,#mod4,#mod5,#mod6,#mod7,#mod8,#mod8+1,#mod9
mods.cnt .EQ *-mods
chgs .DA #chg1,#chg2,#chg3,#chg4,#chg5,#chg6,#chg7,#$91,#BB.HdrPtr,#BB.HdrTrk
endcode ldx slotz
endcode ldx BB.Slotn0
clc
rts
@ -263,7 +259,7 @@ endcode ldx slotz
BB.ProDOS .DA #$26 $20 = storage type + 6 = "PRODOS" len
.AS "PRODOS"
*--------------------------------------
d2io lda blok figure out track & sector.
BB.ReadBlock lda blok figure out track & sector.
and #7 strip track for now.
cmp #4
and #3
@ -284,19 +280,20 @@ d2io lda blok figure out track & sector.
lda buff+1
sta dbuf+1
ldx slotz
ldx BB.Slotn0
lda IO.D2.DrvOn,x
lda IO.D2.Ph0Off,x
jsr BB.Seek go read sector.
inc dbuf+1 bump address
inc sector
inc sector and sector #
bcs quitrd branch if error.
bcs .9 branch if error.
jsr BB.Seek
quitrd ldy IO.D2.DrvOff,x
.9 ldy IO.D2.DrvOff,x
rts return error status in carry.
*--------------------------------------
BB.Seek lda BB.HdrTrk get track we're on
@ -342,7 +339,7 @@ BB.Seek lda BB.HdrTrk get track we're on
.4 sta BB.CurrentQTrack
and #6
ora slotz
ora BB.Slotn0
tax
pha
tya
@ -353,8 +350,7 @@ BB.Seek lda BB.HdrTrk get track we're on
.5 lda IO.D2.Ph0On,x
ply
lda #114
jsr BB.Wait100usecA
jsr BB.WaitPh
bra .1
* Last QTrack
@ -375,34 +371,36 @@ BB.Seek lda BB.HdrTrk get track we're on
lda IO.D2.Ph0On,x
phx
lda #104
jsr BB.Wait100usecA
jsr BB.WaitPh
jsr BB.Wait25600usec
.80 jsr BB.Wait25600usec
plx
lda IO.D2.Ph0Off,x
.80 lda IO.D2.Ph0Off,y
lda IO.D2.Ph0Off,y
bra BB.Read
.8 tya
beq BB.Read
jsr D2.Wait25600usec
pha
bra .80
*--------------------------------------
BB.WaitPh lda #204
.HS 2C BIT ABS
BB.Wait25600usec
lda #0
BB.Wait100usecA sec (6) JSR (2)
sec (6) JSR (2)
.1 ldx #19 (2)
.2 dex (2) delay 86 usec.
bne .2 (2+) 2 + 5x16 + 2 + 2
* ldx slotz (3)
* bit IO.D2.RData,x (4) Slow down ACC boards
ldx BB.Slotn0 (3)
bit IO.D2.RData,x (4) Slow down ACC boards
sbc #1 (2)
bne .1 (2+)
@ -420,7 +418,7 @@ BB.Trk2Qtrk asl x2
.1 adc #$ff SELF MODIFIED
BB.Trk2Qtrk.RTS rts
*--------------------------------------
BB.Read ldx slotz
BB.Read ldx BB.Slotn0
ldy #$7f allow 127 mistakes.
sty BB.RetryCnt
@ -431,6 +429,7 @@ tryread plp fix stack.
rdhead sec anticipate error.
dec BB.RetryCnt if = 0 then give up!
beq BB.Trk2Qtrk.RTS branch if can't fine/read sector.
clc indicate reading header.
rddata php carry set if reading sector.
@ -482,13 +481,13 @@ rdhd1 ldy #3 read in trk,sect,&volume #.
mod8 .EQ *-zzstart
rdhd2 sta (BB.HdrPtr),y save last result in .. , BB.HdrTrk , BB.HdrVol , ..
rdhd3 lda IO.D2.RData,x
rdhd3 lda IO.D2.RData,x
bpl rdhd3
rol
sta oddbits save odd bits (7,5,3,1)
rdhd4 lda IO.D2.RData,x
rdhd4 lda IO.D2.RData,x
bpl rdhd4
and oddbits combine even and odd to form value.
@ -562,7 +561,7 @@ twobit dex all done with this group?
iny
bne twobit
*--------------------------------------
zzzend ldx slotz
zzzend ldx BB.Slotn0
clc indicate good read.
rts

View File

@ -25,25 +25,30 @@ D2Recalibrate >PULLB DrvSlt
jsr CheckDiskII
bcs .9
stz MoveTo
lda #162
sta MoveFrom
jsr D2MoveHead.1
jsr D2.Wait25600usec
jsr D2.Wait25600usec
ldx Slotn0
lda IO.D2.Ph0On,x
jsr D2.Wait25600usec
jsr D2.Wait25600usec
ldy #166
.1 lda IO.D2.Ph0Off,x
tya
and #6
ora Slotn0
tax
lda IO.D2.Ph0On,x
phx
lda #204
jsr D2.Wait100usecA
plx
dey
dey
cpy #$fe
bne .1
ldx Slotn0
lda IO.D2.Ph0Off,x
jsr D2.Wait25600usec
jsr D2.Wait25600usec
clc
.9 rts
*/--------------------------------------
@ -104,7 +109,7 @@ D2MoveHead.1 ldy #0
.5 lda IO.D2.Ph0On,x
ply
lda #54
lda #204
jsr D2.Wait100usecA
bra .1
@ -126,10 +131,10 @@ D2MoveHead.1 ldy #0
lda IO.D2.Ph0On,x
phx
lda #154
lda #204
jsr D2.Wait100usecA
* jsr D2.Wait25600usec
jsr D2.Wait25600usec
plx
lda IO.D2.Ph0Off,x
@ -148,7 +153,7 @@ D2.Wait25600usec
lda #0
D2.Wait100usecA sec (2)
.1 ldx #18 (2)
.1 ldx #19 (2)
.2 dex (2)
bne .2 (3)
@ -183,6 +188,13 @@ D2TrkWrite16s >PULLW ZPPtr1
jsr CheckDiskII
bcs .9
ldx Slotn0
lda IO.D2.Ph0Off,x
lda IO.D2.Ph1Off,x
lda IO.D2.Ph2Off,x
lda IO.D2.Ph3Off,x
>LDYAI TRACK16.LEN+1
>SYSCALL2 getmem
bcs .9

View File

@ -18,11 +18,11 @@ TRACK16.LEN .EQ 6400
TRACK16.GAP1 .EQ 80 800 bits
* 16 * (
*Address field = D5AA96 + 4x2 + DEAAEB = 14 112 bits
TRACK16.GAP2 .EQ 5 60 bits
TRACK16.GAP2 .EQ 6 60 bits
*Data field = D5AAAD + 342 + CS + DEAAEB = 349 2792 bits
TRACK16.GAP3 .EQ 17 170 bits
* )
* 80 + 16 * (14 + 6 + 349 + 17) = 6256 49984 bits
* 80 + 16 * (14 + 6 + 349 + 17) = 6256 50144 bits
*--------------------------------------
TRACK9.LEN .EQ 6511
*--------------------------------------
@ -537,6 +537,39 @@ ProDOS.Boot .HS 01.38.b0.03.4c.32.a1.86.43.c9.03.08.8a.29.70.4a
.HS d0.e3.a0.7f.84.52.08.28.38.c6.52.f0.ce.18.08.88
.HS f0.f5.bd.8c.c0.10.fb.00.00.00.00.00.00.00.00.00
*--------------------------------------
SOS.Boot .HS 4c.6e.a0.53.4f.53.20.42.4f.4f.54.20.20.31.2e.31
.HS 20.0a.53.4f.53.2e.4b.45.52.4e.45.4c.20.20.20.20
.HS 20.53.4f.53.20.4b.52.4e.4c.49.2f.4f.20.45.52.52
.HS 4f.52.08.00.46.49.4c.45.20.27.53.4f.53.2e.4b.45
.HS 52.4e.45.4c.27.20.4e.4f.54.20.46.4f.55.4e.44.25
.HS 00.49.4e.56.41.4c.49.44.20.4b.45.52.4e.45.4c.20
.HS 46.49.4c.45.3a.00.00.0c.00.1e.0e.1e.04.a4.78.d8
.HS a9.77.8d.df.ff.a2.fb.9a.2c.10.c0.a9.40.8d.ca.ff
.HS a9.07.8d.ef.ff.a2.00.ce.ef.ff.8e.00.20.ad.00.20
.HS d0.f5.a9.01.85.e0.a9.00.85.e1.a9.00.85.85.a9.a2
.HS 85.86.20.be.a1.e6.e0.a9.00.85.e6.e6.86.e6.86.e6
.HS e6.20.be.a1.a0.02.b1.85.85.e0.c8.b1.85.85.e1.d0
.HS ea.a5.e0.d0.e6.ad.6c.a0.85.e2.ad.6d.a0.85.e3.18
.HS a5.e3.69.02.85.e5.38.a5.e2.ed.23.a4.85.e4.a5.e5
.HS e9.00.85.e5.a0.00.b1.e2.29.0f.cd.11.a0.d0.21.a8
.HS b1.e2.d9.11.a0.d0.19.88.d0.f6.a0.00.b1.e2.29.f0
.HS c9.20.f0.3e.c9.f0.f0.08.ae.64.a0.a0.13.4c.d4.a1
.HS 18.a5.e2.6d.23.a4.85.e2.a5.e3.69.00.85.e3.a5.e4
.HS c5.e2.a5.e5.e5.e3.b0.bc.18.a5.e4.6d.23.a4.85.e2
.HS a5.e5.69.00.85.e3.c6.e6.d0.95.ae.4f.a0.a0.1b.4c
.HS d4.a1.a0.11.b1.e2.85.e0.c8.b1.e2.85.e1.ad.66.a0
.HS 85.85.ad.67.a0.85.86.20.be.a1.ad.68.a0.85.85.ad
.HS 69.a0.85.86.ad.00.0c.85.e0.ad.00.0d.85.e1.20.be
.HS a1.a2.07.bd.00.1e.dd.21.a0.f0.08.ae.64.a0.a0.13
.HS 4c.d4.a1.ca.10.ed.a9.00.85.e7.e6.e7.e6.86.e6.86
.HS a6.e7.bd.00.0c.85.e0.bd.00.0d.85.e1.a5.e0.d0.04
.HS a5.e1.f0.06.20.be.a1.4c.8a.a1.18.ad.6a.a0.6d.08
.HS 1e.85.e8.ad.6b.a0.6d.09.1e.85.e9.6c.e8.00.a9.01
.HS 85.87.a5.e0.a6.e1.20.79.f4.b0.01.60.ae.32.a0.a0
.HS 09.4c.d4.a1.84.e7.38.a9.28.e5.e7.4a.18.65.e7.a8
.HS bd.29.a0.99.a7.05.ca.88.c6.e7.d0.f4.ad.40.c0.4c
.HS ef.a1.00.00.00.00.00.00.00.00.00.00.00.00.00.00
*--------------------------------------
ProDOSFX.Boot .INB usr/src/lib/libblkdev.s.bb
*--------------------------------------
* Block 2 : First DIR block

View File

@ -563,7 +563,7 @@ XRW.Wait100usec lda #1
XRW.Wait100usecA
sec (2)
.1 ldx #16 (2)
.1 ldx #17 (2)
.2 dex (2)
bne .2 (3)
@ -792,7 +792,7 @@ XRW.Seek pha save target track
.5 lda IO.D2.Ph0On,x
ply
lda #94
lda #204
jsr XRW.Wait100usecA
bra .1
@ -812,11 +812,11 @@ XRW.Seek pha save target track
lda IO.D2.Ph0On,x
phx
lda #154
lda #204
jsr XRW.Wait100usecA
* lda #0 wait 25.6 ms
* jsr XRW.Wait100usecA
lda #0 wait 25.6 ms
jsr XRW.Wait100usecA
plx
lda IO.D2.Ph0Off,x

View File

@ -3,15 +3,16 @@ NEW
.LIST OFF
.OP 65C02 Target CPU, must match CPU level in header
.OR $2000 usualy $2000, but any value > $100 allowed
.TF SBIN/CIFSD
.TF sbin/cifsd
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/ETH.I
.INB INC/LIBTCPIP.I
.INB INC/NET.SMB.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.e.i
.INB inc/eth.i
.INB inc/libtcpip.i
.INB inc/net.smb.i
*--------------------------------------
TIMEOUT.MAX .EQ 100 10 sec.
TIMEOUT.MAX .EQ 100 20 sec.
*--------------------------------------
* Zero Page Segment, up to 32 bytes
*--------------------------------------
@ -19,6 +20,8 @@ TIMEOUT.MAX .EQ 100 10 sec.
.OR ZPBIN
ZS.START
ZPIPCfgPtr .BS 2
hResp .BS 1
ZPRespPtr .BS 2
TimeOut .BS 1
ZS.END
.ED
@ -44,9 +47,12 @@ CS.START cld
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBTCPIP .DA LIBTCPIP
L.MSG.TCPIPERR .DA MSG.TCPIPERR
L.MSG.USAGE .DA MSG.USAGE
L.MSG.UNKNOWN .DA MSG.UNKNOWN
L.SMB.Negotiate .DA SMB.Negotiate
L.SMB.NegReq .DA SMB.NegReq
L.SMB.SessSetup .DA SMB.SessSetup
L.SMB.TreeConnReq .DA SMB.TreeConnReq
.DA 0
*--------------------------------------
* Called once at process creation
@ -56,31 +62,44 @@ CS.INIT >LDYA L.LIBTCPIP
>SYSCALL LoadLib
bcs .9
sta hLIBTCPIP
>LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
bcs .9
>STYA ZPIPCfgPtr
lda (ZPIPCfgPtr) Configured ?
bmi .8
lda #E.SYN
sec
rts
.8 clc
clc
.9 rts
*--------------------------------------
* Called until exit with CS
* if RUN exits with CC, RUN entered again
*--------------------------------------
CS.RUN jsr CS.RUN.CheckArgs
CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
bcs .9
>STYA ZPIPCfgPtr
lda (ZPIPCfgPtr) Configured ?
bmi .1
>LDYA L.MSG.TCPIPERR
>SYSCALL PutS
lda #E.SYN
sec
rts
.1 jsr CS.RUN.CheckArgs
bcs .90
jsr CS.RUN.Connect
>DEBUG
bcs .9
>SLEEP
jsr CS.RUN.Negotiate
bcs .9
jsr CS.RUN.SessSetup
bcs .9
lda #0
sec
clc
.9 rts
.90 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
@ -95,38 +114,45 @@ CS.RUN.CheckArgs
lda #TIMEOUT.MAX
sta TimeOut
.1 >PUSHEA.G SA.REMOTE+S.SOCKADDR.ADDR
lda #1
>SYSCALL ArgV
>PUSHYA
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
bcc .2
>SLEEP
lda TimeOut
bne .1
>PUSHW L.MSG.UNKNOWN
lda #1
>SYSCALL ArgV
>PUSHYA
>PUSHBI 2
>LDYA L.MSG.UNKNOWN
>SYSCALL PrintF
sec
.9 rts
.2 lda #AF.INET
>STA.G SA.LOCAL
>STA.G SA.REMOTE
ldy #S.IPCFG.IP+3
.3 lda (ZPIPCfgPtr),y
pha
dey
cpy #S.IPCFG.IP-1
bne .3
ldy #SA.REMOTE+S.SOCKADDR.PORT
.4 pla
sta (pData),y
iny
cpy #SA.REMOTE+S.SOCKADDR.PORT+4
bne .4
lda #TCP.PORT.CIFS
>STA.G SA.REMOTE+S.SOCKADDR.PORT
iny
@ -138,7 +164,7 @@ CS.RUN.CheckArgs
rts
*--------------------------------------
CS.RUN.Connect >PUSHBI 0 no protocol
lda #S.SOCKET.T.SEQPACKET
lda #S.SOCKET.T.SEQPKT
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
bcs .9
@ -148,20 +174,70 @@ CS.RUN.Connect >PUSHBI 0 no protocol
>LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
bcs .9
>PUSHEA.G SA.REMOTE
>LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Connect
.9 rts
*--------------------------------------
CS.RUN.Negotiate
>PUSHWI SMB.Negotiate.end-SMB.Negotiate
>PUSHW L.SMB.Negotiate
lda #TIMEOUT.MAX
sta TimeOut
.1 >PUSHWI SMB.NegReq.end-SMB.NegReq
>PUSHW L.SMB.NegReq
>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 stx hResp
>STYA ZPRespPtr
ldy #$3f
lda (ZPRespPtr),y
iny
ora (ZPRespPtr),y
bne .9
ldy #$5B
lda (ZPRespPtr),y
cmp #5
bne .9
lda hResp
>SYSCALL FreeMem
* clc
rts
.9 lda hResp
>SYSCALL FreeMem
.99 lda #MLI.E.INVPATH
sec
rts
*--------------------------------------
* Called if option S.PS.F.EVENT enabled in Header
* Timer Event : every 10th seconds
CS.RUN.SessSetup
clc
rts
*--------------------------------------
CS.DOEVENT lda (pEvent)
bpl .9 is it a TIMER event?
@ -174,7 +250,10 @@ CS.DOEVENT lda (pEvent)
* Called once, when RUN exited with CS
* Put code for unloading LIB here
*--------------------------------------
CS.QUIT lda hLIBTCPIP
CS.QUIT >LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
lda hLIBTCPIP
beq .8
>SYSCALL UnloadLib
@ -185,18 +264,22 @@ CS.END
*--------------------------------------
* Initialized DATA
*--------------------------------------
LIBTCPIP .AZ "LIBTCPIP"
LIBTCPIP .AZ "libtcpip"
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"
*--------------------------------------
SMB.Negotiate .DA #$FF
SMB.NegReq .DA #0 DIRECT TCP TRANSPORT
.DA #0 24 BITS LENGTH
.DA /SMB.NegReq.end-1-*
.DA #SMB.NegReq.end-1-*
.DA #$FF
.AS "SMB"
.DA #S.SMB.HEADER.CMD.NEGOTIATE
.HS 00000000
.DA #0 S.SMB.HEADER.FLAGS
.DA /S.SMB.HEADER.FLAGS2.LONGNAMES
.DA #S.SMB.HEADER.FLAGS2.LONGNAMES
.DA S.SMB.HEADER.FLAGS2.LONGNAMES
.DA 0 PIDHI
.HS 0000000000000000 SECFEAT
.DA 0 RSVD
@ -205,13 +288,45 @@ SMB.Negotiate .DA #$FF
.DA 0 UID
.DA 0 MID
.DA #0 WORD COUNT
.DA /SMB.Negotiate.end-*
.DA #SMB.Negotiate.end-*
.DA #SMB.NegReq.end-2-*
.DA /SMB.NegReq.end-2-*
.DA #2
.AZ "PC NETWORK PROGRAM 1.0"
.DA #2
.AZ "LANMAN1.0"
.DA #2
.AZ "Windows for Workgroups 3.1a"
.DA #2
.AZ "LM1.2X002"
.DA #2
.AZ "LANMAN2.1"
.DA #2
.AZ "NT LM 0.12"
SMB.Negotiate.end .EQ *
.DA #2
.AZ "SMB 2.002"
.DA #2
.AZ "SMB 2.???"
SMB.NegReq.end .EQ *
*--------------------------------------
* Per Process DATA segement (0 filled before INIT)
SMB.SessSetup .DA #0 DIRECT TCP TRANSPORT
.DA #0 24 BITS LENGTH
.DA /SMB.SessSetup.end-1-*
.DA #SMB.SessSetup.end-1-*
.DA #$FF
.AS "SMB"
.DA #S.SMB.HEADER.CMD.SESSION.SETUP.ANDX
SMB.SessSetup.end .EQ *
*--------------------------------------
SMB.TreeConnReq .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.HEADER.CMD.TREE.CONNECT.ANDX
SMB.TreeConnReq.end .EQ *
*--------------------------------------
.DUMMY
.OR 0
@ -229,5 +344,5 @@ DS.END
.ED
*--------------------------------------
MAN
SAVE USR/SRC/SBIN/CIFSD
SAVE usr/src/sbin/cifsd
ASM

View File

@ -250,9 +250,9 @@ CS.RUN >PUSHB DevID
lda (pBuf)
cmp #$ff
beq .8
beq .23
cmp #1
beq .8
beq .23
>PUSHW L.MSG.DBG
@ -265,7 +265,7 @@ CS.RUN >PUSHB DevID
>PUSHBI 50
>SYSCALL printf
.FIN
.23 .FIN
ldx #0