mirror of https://github.com/A2osX/A2osX.git
Modified ProDOS.FX IRQ handler
This commit is contained in:
parent
1e78e4ef84
commit
5ce42af7a7
Binary file not shown.
Binary file not shown.
|
@ -1,221 +1,221 @@
|
|||
NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF bin/hmacmd5
|
||||
*--------------------------------------
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/mli.e.i
|
||||
.INB inc/libcrypt.i
|
||||
*--------------------------------------
|
||||
FILEBUF.SIZE .EQ 4096
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
ZPPtr1 .BS 2
|
||||
ZPDataBufPtr .BS 2
|
||||
ZPDataLen .BS 2
|
||||
|
||||
ArgIndex .BS 1
|
||||
Arg1 .BS 1
|
||||
Arg2 .BS 1
|
||||
bText .BS 1
|
||||
bKey .BS 1
|
||||
hFile .BS 1
|
||||
hDataBuf .BS 1
|
||||
hHMACMD5Ctx .BS 1
|
||||
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* 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 CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #16 SS
|
||||
.DA #ZS.END-ZS.START ZP
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Relocation Table
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBCRYPT .DA LIBCRYPT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBCRYPT
|
||||
>SYSCALL LoadLib
|
||||
bcs .9
|
||||
|
||||
sta hLIBCRYPT
|
||||
|
||||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN ldy #S.PS.ARGC
|
||||
lda (pPS),y
|
||||
beq .99
|
||||
.0 ldx #0
|
||||
|
||||
.1 inc ArgIndex
|
||||
lda ArgIndex
|
||||
phx
|
||||
>SYSCALL ArgV
|
||||
plx
|
||||
bcs .8
|
||||
|
||||
>STYA ZPPtr1
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
bne .4
|
||||
ldy #1
|
||||
lda (ZPPtr1),y
|
||||
beq .99
|
||||
|
||||
ldy #OptionVars-OptionList-1
|
||||
|
||||
.2 cmp OptionList,y
|
||||
beq .3
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
.3 ldx OptionVars,y
|
||||
sec
|
||||
ror 0,x
|
||||
bra .1
|
||||
|
||||
.4 txa
|
||||
bpl .99
|
||||
lda ArgIndex
|
||||
sta $fe,x
|
||||
bra .0
|
||||
|
||||
.8 lda Arg1
|
||||
beq .99
|
||||
lda Arg2
|
||||
beq .99
|
||||
|
||||
lda bText
|
||||
beq CS.RUN.FILE
|
||||
*--------------------------------------
|
||||
CS.RUN.TEXT lda Arg1
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
lda Arg2
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
>PUSHEA.G HMACMD5Buf
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.HMACMD5
|
||||
jmp CS.RUN.PRINT
|
||||
*--------------------------------------
|
||||
CS.RUN.FILE >LDYAI FILEBUF.SIZE
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
>STYA ZPDataBufPtr
|
||||
stx hDataBuf
|
||||
|
||||
lda Arg1
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
>PUSHBI O.RDONLY
|
||||
>PUSHBI 0 ftype
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
sta hFile
|
||||
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Init
|
||||
bcs .9
|
||||
|
||||
sta hHMACMD5Ctx
|
||||
|
||||
.1 >SLEEP
|
||||
|
||||
>PUSHB hFile
|
||||
>PUSHW ZPDataBufPtr Dst Ptr
|
||||
>PUSHWI FILEBUF.SIZE Bytes To Read
|
||||
>SYSCALL FRead
|
||||
bcc .2
|
||||
|
||||
cmp #MLI.E.EOF
|
||||
beq .8
|
||||
|
||||
.9 rts
|
||||
|
||||
.2 >STYA ZPDataLen
|
||||
|
||||
>SLEEP
|
||||
|
||||
>PUSHB hHMACMD5Ctx
|
||||
>PUSHW ZPDataBufPtr
|
||||
>PUSHW ZPDataLen
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Update
|
||||
bra .1
|
||||
|
||||
.8 >PUSHB hHMACMD5Ctx
|
||||
>PUSHEA.G HMACMD5Buf
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Finalize
|
||||
|
||||
CS.RUN.PRINT >LEA.G HMACMD5Buf
|
||||
>SYSCALL PutS
|
||||
lda #0
|
||||
* sec
|
||||
* rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT lda hLIBCRYPT
|
||||
beq .1
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
.1 lda hDataBuf
|
||||
beq .2
|
||||
|
||||
>SYSCALL FreeMem
|
||||
.2 lda hFile
|
||||
beq .3
|
||||
|
||||
>SYSCALL FClose
|
||||
|
||||
.3 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBCRYPT .AZ "libcrypt"
|
||||
hLIBCRYPT .BS 1
|
||||
*--------------------------------------
|
||||
OptionList .AS "DdKk"
|
||||
OptionVars .DA #bText,#bText, #bKey,#bKey
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AZ "Usage : HMACMD5 [ -d input text | input file -k key ]\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
HMACMD5Buf .BS 33
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/hmacmd5.s
|
||||
ASM
|
||||
NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF bin/hmacmd5
|
||||
*--------------------------------------
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/mli.e.i
|
||||
.INB inc/libcrypt.i
|
||||
*--------------------------------------
|
||||
FILEBUF.SIZE .EQ 4096
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
ZPPtr1 .BS 2
|
||||
ZPDataBufPtr .BS 2
|
||||
ZPDataLen .BS 2
|
||||
|
||||
ArgIndex .BS 1
|
||||
Arg1 .BS 1
|
||||
Arg2 .BS 1
|
||||
bText .BS 1
|
||||
bKey .BS 1
|
||||
hFile .BS 1
|
||||
hDataBuf .BS 1
|
||||
hHMACMD5Ctx .BS 1
|
||||
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* 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 CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #16 SS
|
||||
.DA #ZS.END-ZS.START ZP
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Relocation Table
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBCRYPT .DA LIBCRYPT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBCRYPT
|
||||
>SYSCALL LoadLib
|
||||
bcs .9
|
||||
|
||||
sta hLIBCRYPT
|
||||
|
||||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN ldy #S.PS.ARGC
|
||||
lda (pPS),y
|
||||
beq .99
|
||||
.0 ldx #0
|
||||
|
||||
.1 inc ArgIndex
|
||||
lda ArgIndex
|
||||
phx
|
||||
>SYSCALL ArgV
|
||||
plx
|
||||
bcs .8
|
||||
|
||||
>STYA ZPPtr1
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
bne .4
|
||||
ldy #1
|
||||
lda (ZPPtr1),y
|
||||
beq .99
|
||||
|
||||
ldy #OptionVars-OptionList-1
|
||||
|
||||
.2 cmp OptionList,y
|
||||
beq .3
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
.3 ldx OptionVars,y
|
||||
sec
|
||||
ror 0,x
|
||||
bra .1
|
||||
|
||||
.4 txa
|
||||
bpl .99
|
||||
lda ArgIndex
|
||||
sta $fe,x
|
||||
bra .0
|
||||
|
||||
.8 lda Arg1
|
||||
beq .99
|
||||
lda Arg2
|
||||
beq .99
|
||||
|
||||
lda bText
|
||||
beq CS.RUN.FILE
|
||||
*--------------------------------------
|
||||
CS.RUN.TEXT lda Arg1
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
lda Arg2
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
>PUSHEA.G HMACMD5Buf
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.HMACMD5
|
||||
jmp CS.RUN.PRINT
|
||||
*--------------------------------------
|
||||
CS.RUN.FILE >LDYAI FILEBUF.SIZE
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
>STYA ZPDataBufPtr
|
||||
stx hDataBuf
|
||||
|
||||
lda Arg1
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
>PUSHBI O.RDONLY
|
||||
>PUSHBI 0 ftype
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
sta hFile
|
||||
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Init
|
||||
bcs .9
|
||||
|
||||
sta hHMACMD5Ctx
|
||||
|
||||
.1 >SLEEP
|
||||
|
||||
>PUSHB hFile
|
||||
>PUSHW ZPDataBufPtr Dst Ptr
|
||||
>PUSHWI FILEBUF.SIZE Bytes To Read
|
||||
>SYSCALL FRead
|
||||
bcc .2
|
||||
|
||||
cmp #MLI.E.EOF
|
||||
beq .8
|
||||
|
||||
.9 rts
|
||||
|
||||
.2 >STYA ZPDataLen
|
||||
|
||||
>SLEEP
|
||||
|
||||
>PUSHB hHMACMD5Ctx
|
||||
>PUSHW ZPDataBufPtr
|
||||
>PUSHW ZPDataLen
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Update
|
||||
bra .1
|
||||
|
||||
.8 >PUSHB hHMACMD5Ctx
|
||||
>PUSHEA.G HMACMD5Buf
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Finalize
|
||||
|
||||
CS.RUN.PRINT >LEA.G HMACMD5Buf
|
||||
>SYSCALL PutS
|
||||
lda #0
|
||||
* sec
|
||||
* rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT lda hLIBCRYPT
|
||||
beq .1
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
.1 lda hDataBuf
|
||||
beq .2
|
||||
|
||||
>SYSCALL FreeMem
|
||||
.2 lda hFile
|
||||
beq .3
|
||||
|
||||
>SYSCALL FClose
|
||||
|
||||
.3 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBCRYPT .AZ "libcrypt"
|
||||
hLIBCRYPT .BS 1
|
||||
*--------------------------------------
|
||||
OptionList .AS "DdKk"
|
||||
OptionVars .DA #bText,#bText, #bKey,#bKey
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AZ "Usage : HMACMD5 [ -d input text | input file -k key ]\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
HMACMD5Buf .BS 33
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/hmacmd5.s
|
||||
ASM
|
||||
|
|
|
@ -398,6 +398,7 @@ CS.RUN.LOOP.RUN jsr CORE.Run
|
|||
CS.RUN.LOOP.END ldy #S.PS.RC
|
||||
sta (pPS),y
|
||||
bcc CS.RUN.LOOP.80
|
||||
|
||||
tay
|
||||
beq CS.RUN.LOOP.80 0 = EOF
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ NEW
|
|||
IO.D2.SeekTimeR .EQ 58 LIBBLKDEV Recalibration
|
||||
IO.D2.SeekTimeF .EQ 58 LIBBLKDEV Track Formatter
|
||||
IO.D2.SeekTimeB .EQ 58 LIBBLKDEV Boot Block
|
||||
IO.D2.SeekTimeP .EQ 48 ProDOS.FX initial
|
||||
IO.D2.SeekTimeP .EQ 58 ProDOS.FX initial
|
||||
IO.D2.SeekTimeI .EQ 10 ProDOS.FX increment -> until > 128
|
||||
*--------------------------------------
|
||||
IO.D2.Ph0Off .EQ $C080
|
||||
|
|
|
@ -11,6 +11,8 @@ S.NETBIOS .EQ 4
|
|||
S.SMB.H.PROTO .EQ 0 \xFF 'SMB'
|
||||
S.SMB.H.CMD .EQ 4
|
||||
S.SMB.H.CMD.CLOSE .EQ $04
|
||||
S.SMB.H.CMD.READ.ANDX .EQ $2E
|
||||
S.SMB.H.CMD.WRITE.ANDX .EQ $2F
|
||||
S.SMB.H.CMD.TRANS2 .EQ $32
|
||||
S.SMB.H.CMD.NEGOTIATE .EQ $72
|
||||
S.SMB.H.CMD.SESSION.SETUP.ANDX .EQ $73
|
||||
|
|
|
@ -129,7 +129,7 @@ ndsk2 sta dent save low adr of device call entry.
|
|||
|
||||
sty iobuff y=0
|
||||
sty idxl
|
||||
sty idxh
|
||||
sty idxh
|
||||
sty idxp
|
||||
sty blok+1
|
||||
|
||||
|
@ -299,7 +299,7 @@ BB.Wait100usecA phx (3)
|
|||
|
||||
dec (2)
|
||||
bne .1 (3)
|
||||
|
||||
|
||||
plx (4)
|
||||
|
||||
rts (6)
|
||||
|
@ -310,7 +310,7 @@ BB.Trk2Qtrk asl x2
|
|||
bit BB.HdrVol
|
||||
bpl .1 x4
|
||||
bvs .1 > $C0 ? (VOL=254)
|
||||
|
||||
|
||||
lsr x3
|
||||
|
||||
.1 adc #$ff SELF MODIFIED
|
||||
|
@ -333,12 +333,14 @@ BB.Seek lda BB.HdrTrk get track we're on
|
|||
bne .1
|
||||
|
||||
jsr .20 we are on 0/4 or 2/4 track
|
||||
|
||||
lda #1
|
||||
bra .9 no wait, next operation will be phy/plx/Ph0On,y
|
||||
|
||||
|
||||
.1 cmp BB.TargetQTrack we are on 1/4 or 3/4
|
||||
|
||||
|
||||
bcs .2 if CS, C > T, must move out
|
||||
|
||||
|
||||
inc CC: C < T, ON next PH
|
||||
|
||||
.HS B0 BCS
|
||||
|
@ -370,10 +372,10 @@ BB.Seek lda BB.HdrTrk get track we're on
|
|||
|
||||
lda IO.D2.Ph0Off,x we must go to 0/4 or 2/4 : Off Prev Ph
|
||||
bra .8 go wait....
|
||||
|
||||
|
||||
.5 phy we must go on 1/4 or 3/4
|
||||
plx Y already ON, -> X for Ph0Off,x
|
||||
|
||||
|
||||
bcs .6 if CS, C > T, must move out
|
||||
|
||||
inc CC: C < T, ON next PH
|
||||
|
@ -381,9 +383,10 @@ BB.Seek lda BB.HdrTrk get track we're on
|
|||
.6 jsr .20 now X and Y on
|
||||
|
||||
.8 lda #IO.D2.SeekTimeB
|
||||
jsr BB.Wait100usecA ...wait...
|
||||
|
||||
.9 lda BB.CurrentQTrack
|
||||
.9 jsr BB.Wait100usecA ...wait...
|
||||
|
||||
lda BB.CurrentQTrack
|
||||
cmp BB.TargetQTrack
|
||||
bne .3
|
||||
|
||||
|
@ -394,10 +397,10 @@ BB.Seek lda BB.HdrTrk get track we're on
|
|||
|
||||
ldy BB.Slotn0
|
||||
lda IO.D2.DrvOn,y
|
||||
|
||||
|
||||
lda IO.D2.Ph0Off,x
|
||||
|
||||
lda IO.D2.DrvOn,y
|
||||
|
||||
lda IO.D2.DrvOn,y
|
||||
*--------------------------------------
|
||||
BB.Read ldx BB.Slotn0
|
||||
|
||||
|
@ -413,7 +416,7 @@ rdhead sec anticipate error.
|
|||
clc indicate reading header.
|
||||
|
||||
ldy #0 Retry cnt waiting D5
|
||||
|
||||
|
||||
rddata php carry set if reading sector.
|
||||
|
||||
rd0 iny
|
||||
|
|
|
@ -84,13 +84,14 @@ D2.MoveHead.SEI lda D2.CurrentQTrack
|
|||
bne .1
|
||||
|
||||
jsr D2.SeekPhOnY we are on 0/4 or 2/4 track
|
||||
|
||||
lda #1
|
||||
bra .9 no wait, next operation will be phy/plx/Ph0On,y
|
||||
|
||||
.1 cmp D2.TargetQTrack we are on 1/4 or 3/4
|
||||
|
||||
|
||||
bcs .2 if CS, C > T, must move out
|
||||
|
||||
|
||||
inc CC: C < T, ON next PH
|
||||
|
||||
.HS B0 BCS
|
||||
|
@ -116,10 +117,10 @@ D2.MoveHead.SEI lda D2.CurrentQTrack
|
|||
|
||||
lda IO.D2.Ph0Off,x we must go to 0/4 or 2/4 : Off Prev Ph
|
||||
bra .8 go wait....
|
||||
|
||||
|
||||
.5 phy we must go on 1/4 or 3/4
|
||||
plx Y already ON, -> X for Ph0Off,x
|
||||
|
||||
|
||||
bcs .6 if CS, C > T, must move out
|
||||
|
||||
inc CC: C < T, ON next PH
|
||||
|
@ -127,6 +128,7 @@ D2.MoveHead.SEI lda D2.CurrentQTrack
|
|||
.6 jsr D2.SeekPhOnY now X and Y on
|
||||
|
||||
.8 lda #IO.D2.SeekTimeF
|
||||
|
||||
.9 jsr D2.Wait100usecA ...wait...
|
||||
|
||||
lda D2.CurrentQTrack
|
||||
|
@ -139,13 +141,13 @@ D2.MoveHead.SEI lda D2.CurrentQTrack
|
|||
|
||||
ldy D2.Slotn0
|
||||
lda IO.D2.DrvOn,y
|
||||
|
||||
|
||||
lda IO.D2.Ph0Off,x
|
||||
|
||||
lda IO.D2.DrvOn,y
|
||||
|
||||
rts
|
||||
|
||||
|
||||
D2.SeekPhOnY and #6
|
||||
ora D2.Slotn0
|
||||
tay
|
||||
|
@ -229,11 +231,11 @@ D2.TrkWrite16s >PULLW ZPPtr1
|
|||
|
||||
lda ZPPtr1+1
|
||||
bne .7
|
||||
|
||||
|
||||
ldy #$57
|
||||
ldx #2
|
||||
lda #$96
|
||||
|
||||
|
||||
.3 sta (ZPPtr2)
|
||||
inc ZPPtr2
|
||||
bne .4
|
||||
|
@ -243,7 +245,7 @@ D2.TrkWrite16s >PULLW ZPPtr1
|
|||
bne .3
|
||||
dex
|
||||
bne .3
|
||||
|
||||
|
||||
bra .8
|
||||
|
||||
.7 jsr D2.PutData
|
||||
|
@ -260,10 +262,10 @@ D2.TrkWrite16s >PULLW ZPPtr1
|
|||
|
||||
lda #0
|
||||
sta (ZPPtr2)
|
||||
|
||||
|
||||
bit D2.VolNum
|
||||
bvc .80
|
||||
|
||||
|
||||
jsr D2.HeadSelect
|
||||
|
||||
.80 jsr D2.WriteTrackPtr2
|
||||
|
@ -370,10 +372,10 @@ D2.HeadSelect lda D2.HeadNum A = 0/1
|
|||
|
||||
ora D2.Slotn0
|
||||
tax x=n0/n2
|
||||
|
||||
|
||||
lda IO.D2.Ph0On,x
|
||||
lda IO.D2.Ph0On+4,x
|
||||
|
||||
|
||||
lda #1
|
||||
jsr D2.Wait100usecA
|
||||
|
||||
|
|
|
@ -9,7 +9,11 @@ CIFS2.ChMod
|
|||
*--------------------------------------
|
||||
CIFS.FStat
|
||||
*--------------------------------------
|
||||
CIFS2.FStat lda #MLI.E.BADCALL
|
||||
CIFS2.FStat
|
||||
txa
|
||||
ora #$80
|
||||
|
||||
* lda #MLI.E.BADCALL
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -35,15 +39,7 @@ CIFS.Stat >STYA pPath resolved path
|
|||
|
||||
jsr SetT2ReqLenYA
|
||||
|
||||
pha
|
||||
>PUSHB MountTable+3 hSocket
|
||||
>PUSHW ZPReqPtr
|
||||
|
||||
pla
|
||||
>PUSHYA
|
||||
|
||||
ldx #LIBTCPIP.Send
|
||||
jsr GO.LIBTCPIP
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
|
@ -115,14 +111,7 @@ CIFS.MKDir >STYA pPath resolved path
|
|||
|
||||
jsr SetT2ReqLenYA
|
||||
|
||||
pha
|
||||
>PUSHB MountTable+3 hSocket
|
||||
>PUSHW ZPReqPtr
|
||||
pla
|
||||
>PUSHYA
|
||||
|
||||
ldx #LIBTCPIP.Send
|
||||
jsr GO.LIBTCPIP
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
|
@ -275,15 +264,7 @@ CIFS.ReadDir.Send
|
|||
|
||||
jsr SetT2ReqLenYA
|
||||
|
||||
pha
|
||||
|
||||
>PUSHB MountTable+3 hSocket
|
||||
>PUSHW ZPReqPtr
|
||||
pla
|
||||
>PUSHYA
|
||||
|
||||
ldx #LIBTCPIP.Send
|
||||
jsr GO.LIBTCPIP
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
|
@ -536,6 +517,8 @@ CIFS2.ChOwn
|
|||
*--------------------------------------
|
||||
CIFS.FOpen >STYA pPath resolved path
|
||||
|
||||
jsr GetGTX
|
||||
|
||||
ldx #S.SMB.H.CMD.NT.CREATE.ANDX
|
||||
jsr RequestSetupX
|
||||
|
||||
|
@ -573,14 +556,7 @@ CIFS.FOpen >STYA pPath resolved path
|
|||
|
||||
jsr SetReqLenYAtA
|
||||
|
||||
pha
|
||||
>PUSHB MountTable+3 hSocket
|
||||
>PUSHW ZPReqPtr
|
||||
pla
|
||||
>PUSHYA
|
||||
|
||||
ldx #LIBTCPIP.Send
|
||||
jsr GO.LIBTCPIP
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
|
@ -605,14 +581,14 @@ CIFS2.FOpen jsr ReadSocket
|
|||
>SYSCALL2 GetMem
|
||||
bcs .99
|
||||
|
||||
>STYA ZPPtr2
|
||||
>STYA pFD
|
||||
|
||||
lda #S.FD.T.REG
|
||||
sta (ZPPtr2)
|
||||
sta (pFD)
|
||||
|
||||
lda hHandler
|
||||
ldy #S.FD.PFT
|
||||
sta (ZPPtr2),y
|
||||
sta (pFD),y
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+6 FileID
|
||||
lda (ZPRespPtr),y
|
||||
|
@ -621,10 +597,10 @@ CIFS2.FOpen jsr ReadSocket
|
|||
lda (ZPRespPtr),y
|
||||
|
||||
ldy #S.FD.REG.REF+1
|
||||
sta (ZPPtr2),y
|
||||
sta (pFD),y
|
||||
dey
|
||||
pla
|
||||
sta (ZPPtr2),y
|
||||
sta (pFD),y
|
||||
|
||||
ldy #4 path
|
||||
|
||||
|
@ -661,33 +637,44 @@ CIFS2.FOpen jsr ReadSocket
|
|||
*--------------------------------------
|
||||
CIFS.FClose jsr GetPFD
|
||||
|
||||
jsr GetGtx
|
||||
|
||||
ldx #S.SMB.H.CMD.CLOSE
|
||||
jsr RequestSetupX
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda SMB.ComCreate.H,x
|
||||
.1 lda SMB.ComClose.H,x
|
||||
sta (ZPReqPtr),y
|
||||
iny
|
||||
inx
|
||||
cpx #SMB.ComCreate.H.Len
|
||||
cpx #SMB.ComClose.H.Len
|
||||
bne .1
|
||||
|
||||
tya save Y = LEN
|
||||
phy save Y = LEN
|
||||
|
||||
ldy #S.FD.REG.REF
|
||||
lda (pFD),y
|
||||
pha
|
||||
iny
|
||||
lda (pFD),y
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+2 FileID
|
||||
sta (ZPReqPtr),y
|
||||
pla
|
||||
dey
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
ply
|
||||
|
||||
tya
|
||||
|
||||
iny Skip ByteCount
|
||||
iny
|
||||
|
||||
jsr SetReqLenYAtA
|
||||
|
||||
pha
|
||||
>PUSHB MountTable+3 hSocket
|
||||
>PUSHW ZPReqPtr
|
||||
pla
|
||||
>PUSHYA
|
||||
|
||||
ldx #LIBTCPIP.Send
|
||||
jsr GO.LIBTCPIP
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
|
@ -744,12 +731,91 @@ CIFS2.FRead
|
|||
clc
|
||||
>RET 5
|
||||
*--------------------------------------
|
||||
CIFS.FWrite
|
||||
clc
|
||||
>RET 5
|
||||
CIFS.FWrite ldy #4
|
||||
lda (pStack),y
|
||||
|
||||
jsr GetPFD
|
||||
|
||||
jsr GetGTX
|
||||
|
||||
ldx #S.SMB.H.CMD.WRITE.ANDX
|
||||
jsr RequestSetupX
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda SMB.ComWrite.H,x
|
||||
sta (ZPReqPtr),y
|
||||
iny
|
||||
inx
|
||||
cpx #SMB.ComWrite.H.Len
|
||||
bne .1
|
||||
|
||||
sty LenOfs
|
||||
|
||||
iny
|
||||
iny
|
||||
|
||||
sty ZPReqLen
|
||||
stz ZPReqLen+1
|
||||
|
||||
ldy #S.FD.REG.REF
|
||||
lda (pFD),y
|
||||
pha
|
||||
iny
|
||||
lda (pFD),y
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+6 FileID
|
||||
sta (ZPReqPtr),y
|
||||
pla
|
||||
dey
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
jsr SetReqLen
|
||||
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
|
||||
.9 >RET 5
|
||||
*--------------------------------------
|
||||
CIFS2.FWrite
|
||||
CIFS2.FWrite ldy #4
|
||||
lda (pStack),y
|
||||
|
||||
jsr ReadSocket
|
||||
bcs .9
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||
lda (ZPRespPtr),y
|
||||
clc
|
||||
beq .8
|
||||
|
||||
lda #MLI.E.IO
|
||||
sec
|
||||
|
||||
.8 jsr FreeRespData
|
||||
|
||||
stz CIFS.Status
|
||||
|
||||
>RET 5
|
||||
|
||||
.9 cmp #E.NODATA
|
||||
bne .99
|
||||
|
||||
dec CIFS.Retries
|
||||
beq .98
|
||||
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
|
||||
.98 lda #MLI.E.IO
|
||||
|
||||
.99 sec
|
||||
stz CIFS.Status
|
||||
|
||||
>RET 5
|
||||
*--------------------------------------
|
||||
CIFS.FFlush
|
||||
|
@ -764,7 +830,9 @@ CIFS.Remove
|
|||
CIFS2.Remove
|
||||
CIFS.Rename
|
||||
CIFS2.Rename
|
||||
lda #MLI.E.BADCALL
|
||||
* lda #MLI.E.BADCALL
|
||||
txa
|
||||
ora #$80
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
|
|
@ -35,6 +35,7 @@ auxtype .BS 2
|
|||
ZPRespPtr .BS 2
|
||||
|
||||
bFlag .BS 1
|
||||
LenOfs .BS 1
|
||||
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
|
@ -152,7 +153,7 @@ LIB.LOAD >LDYA L.LIBTCPIP
|
|||
>SYSCALL2 GetMemPtr
|
||||
>STYA pLIBTCPIP
|
||||
|
||||
>LDYAI 256
|
||||
>LDYAI 512
|
||||
>SYSCALL2 GetMem
|
||||
bcs .9
|
||||
|
||||
|
@ -318,18 +319,11 @@ CIFS.SessionSetup
|
|||
|
||||
jsr SetReqLenYAtA
|
||||
|
||||
phy
|
||||
pha
|
||||
|
||||
ldy #6 hSocket
|
||||
lda (pStack),y
|
||||
>PUSHA
|
||||
>PUSHW ZPReqPtr
|
||||
|
||||
pla
|
||||
ply
|
||||
>PUSHYA
|
||||
|
||||
>PUSHW ZPReqLen
|
||||
ldx #LIBTCPIP.Send
|
||||
jsr GO.LIBTCPIP
|
||||
bcs .99
|
||||
|
@ -451,20 +445,9 @@ CIFS.TreeConnect
|
|||
|
||||
jsr SetReqLenYAtA
|
||||
|
||||
phy
|
||||
pha
|
||||
|
||||
ldy #4 hSocket
|
||||
lda (pStack),y
|
||||
>PUSHA
|
||||
>PUSHW ZPReqPtr
|
||||
|
||||
pla
|
||||
ply
|
||||
>PUSHYA
|
||||
|
||||
ldx #LIBTCPIP.Send
|
||||
jsr GO.LIBTCPIP
|
||||
jsr WriteSocketA
|
||||
bcs .99
|
||||
|
||||
lda #0
|
||||
|
@ -586,9 +569,12 @@ GetPFD tax
|
|||
>STYA pFD
|
||||
rts
|
||||
*--------------------------------------
|
||||
MakeTrans2Req lda MountTable+2
|
||||
GetGTX lda MountTable+2
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPCtxPtr
|
||||
rts
|
||||
*--------------------------------------
|
||||
MakeTrans2Req jsr GetGTX
|
||||
|
||||
ldx #S.SMB.H.CMD.TRANS2
|
||||
jsr RequestSetupX
|
||||
|
@ -668,6 +654,21 @@ AppendPath ldx #0
|
|||
|
||||
.5 rts
|
||||
*--------------------------------------
|
||||
SetReqLen lda ZPReqLen
|
||||
sec
|
||||
sbc LenOfs
|
||||
|
||||
ldy LenOfs
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
iny
|
||||
|
||||
lda ZPReqLen+1
|
||||
sbc #0
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
bra SetReqLenNETBIOS
|
||||
*--------------------------------------
|
||||
* Y = LEN from S.NETBIOS.TYPE
|
||||
* A = Ptr to LEN Word
|
||||
*--------------------------------------
|
||||
|
@ -678,8 +679,10 @@ SetReqLenYAtA sty ZPReqLen
|
|||
pha
|
||||
|
||||
tya
|
||||
|
||||
dec
|
||||
dec
|
||||
|
||||
sec
|
||||
sbc ZPPtr1
|
||||
ply
|
||||
|
@ -722,7 +725,6 @@ SetReqLenNETBIOS
|
|||
dey
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
>LDYA ZPReqLen
|
||||
rts
|
||||
*--------------------------------------
|
||||
Sleep ldy #S.PS.PID
|
||||
|
@ -904,6 +906,14 @@ ClearSocket jsr ReadSocket
|
|||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
WriteSocket lda MountTable+3 hSocket
|
||||
|
||||
WriteSocketA >PUSHA
|
||||
>PUSHW ZPReqPtr
|
||||
>PUSHW ZPReqLen
|
||||
ldx #LIBTCPIP.Send
|
||||
jmp (pLIBTCPIP)
|
||||
*--------------------------------------
|
||||
ReadSocket lda MountTable+3 hSocket
|
||||
ldx #LIBTCPIP.Recv
|
||||
GO.LIBTCPIP jmp (pLIBTCPIP)
|
||||
|
@ -1033,15 +1043,13 @@ SMB.ComWrite.H .DA #12 WORD COUNT
|
|||
.BS 4 Offset
|
||||
.HS 00000000 Timeout
|
||||
.HS 0001 WriteMode=WritethroughMode
|
||||
.BS 2 Remaining
|
||||
.HS 0000 Remaining
|
||||
.HS 0000 Reserved
|
||||
.BS 2 DataLength
|
||||
.BS 2 DataOffset
|
||||
SMB.ComWrite.H.Len .EQ *-SMB.ComWrite.H
|
||||
.BS 2 ByteCount
|
||||
SMB.ComWrite.T
|
||||
* .BS 2 ByteCount
|
||||
* DATA.....
|
||||
SMB.ComWrite.T.Len .EQ *-SMB.ComWrite.T
|
||||
*--------------------------------------
|
||||
SMB.Trans2.H .DA #15 WORD COUNT
|
||||
.BS 2 TotalParamCount
|
||||
|
|
|
@ -35,10 +35,9 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA LIB.LOAD
|
||||
.DA LIB.UNLOAD
|
||||
.DA LIBTUI.Init
|
||||
.DA LIBTUI.Close
|
||||
.DA Init
|
||||
.DA Close
|
||||
*--------------------------------------
|
||||
|
||||
L.SEQ.INIT .DA SEQ.INIT
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
|
@ -48,7 +47,7 @@ LIB.LOAD clc
|
|||
LIB.UNLOAD clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
LIBTUI.Init >LDYAI 256
|
||||
Init >LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
|
@ -58,7 +57,7 @@ LIBTUI.Init >LDYAI 256
|
|||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
LIBTUI.Close clc
|
||||
Close clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
LIBTUI.LBOXNew >PULLB hCtx
|
||||
|
|
|
@ -106,13 +106,18 @@ mliy .DA #0 MLI Y register savearea
|
|||
*--------------------------------------
|
||||
GP.MLIEXIT eor $E000 test for rom enable
|
||||
beq .1 taken if ram enabled
|
||||
|
||||
sta RROMBNK2 read ROM
|
||||
bne .2 always
|
||||
|
||||
.1 lda bnkbyt2 for alternate ram
|
||||
eor $D000 test
|
||||
beq .2 branch if not alternate ram
|
||||
|
||||
lda RRAMWRAMBNK2 else enable alt $D000
|
||||
|
||||
.2 pla return code
|
||||
|
||||
rti re-enable interrupts and return
|
||||
*--------------------------------------
|
||||
GP.MLICONT sec
|
||||
|
@ -151,7 +156,7 @@ GP.FREE2 .EQ $BFEB-*
|
|||
*--------------------------------------
|
||||
GP.IRQV bit RRAMWRAMBNK1 ***NEW ROM ONLY IRQ $fffe > $Cxxx space***
|
||||
bit RRAMWRAMBNK1 Entry used when rom/mainLC/auxLC
|
||||
jmp XDOS.IRQV
|
||||
jmp IRQ
|
||||
*--------------------------------------
|
||||
bnkbyt1 .DA #0
|
||||
bnkbyt2 .DA #0
|
||||
|
|
|
@ -3,69 +3,78 @@ NEW
|
|||
*--------------------------------------
|
||||
* this routine handles interrupts and is coded to reach 'lreset' precisely at
|
||||
* address $FFCB (ROM rts opcode) for rom switching to function.
|
||||
* $2D9B-2DFF moved to $FF9B-FFFF
|
||||
* $FF9B
|
||||
*--------------------------------------
|
||||
IRQ.START
|
||||
XDOS.IRQV ldx #$FA save 6 bytes of page 0
|
||||
IRQ ldx #$FA save 6 bytes of page 0
|
||||
|
||||
.2 lda $00,x
|
||||
sta svzerop-$FA,x
|
||||
sta IRQ.ZPSave-$FA,x
|
||||
inx
|
||||
bne .2
|
||||
|
||||
ldx #0
|
||||
lda mslot
|
||||
sta IRQ.DoneCn+2
|
||||
|
||||
.3 stx irqXindex
|
||||
* ldx #0
|
||||
|
||||
lda inttbl+1,x test for a valid routine.
|
||||
.3 lda inttbl+1,x test for a valid routine.
|
||||
beq .4 branch if no routine.
|
||||
|
||||
jsr gointX execute
|
||||
phx
|
||||
jsr IRQ.GoX
|
||||
plx
|
||||
|
||||
bcc irqdone
|
||||
bcc IRQ.Done
|
||||
|
||||
.4 ldx irqXindex
|
||||
inx
|
||||
.4 inx
|
||||
inx
|
||||
cpx #10
|
||||
bne .3
|
||||
|
||||
inc irqcount allow 255 unclaimed interrupts
|
||||
bne irqdone before system death.
|
||||
inc IRQ.Cnt allow 255 unclaimed interrupts
|
||||
bne IRQ.Done before system death.
|
||||
|
||||
lda #$01 bad irq so
|
||||
jsr GP.SysDeath kill the system.
|
||||
|
||||
*--------------------------------------
|
||||
.LIST ON
|
||||
IRQ.FREE1 .EQ $ffc8-*
|
||||
.LIST OFF
|
||||
|
||||
|
||||
.BS IRQ.FREE1
|
||||
|
||||
gorom sta RROMBNK2 hits ROM rts at $FFCB
|
||||
|
||||
* 'lreset' address must = $FFCB for rom switch i/o to work
|
||||
IRQ.Reset1 sta RROMBNK2
|
||||
.DO *=$FFCB
|
||||
* hits ROM rts at $FFCB
|
||||
.ELSE
|
||||
ERROR
|
||||
.FIN
|
||||
*--------------------------------------
|
||||
IRQ.Done ldx #$FA
|
||||
|
||||
lreset lda /resetv-1
|
||||
pha
|
||||
lda #resetv-1
|
||||
pha
|
||||
jmp gorom
|
||||
|
||||
irqdone ldx #$FA
|
||||
|
||||
.1 lda svzerop-$FA,x restore the zero page
|
||||
.1 lda IRQ.ZPSave-$FA,x restore the zero page
|
||||
sta $00,x
|
||||
inx
|
||||
bne .1
|
||||
|
||||
|
||||
lda CLRC8ROM
|
||||
|
||||
IRQ.DoneCn lda $C100 SELF MODIFIED
|
||||
lda IRQ.DoneCn+2
|
||||
sta mslot
|
||||
|
||||
rti
|
||||
*--------------------------------------
|
||||
IRQ.GoX jmp (inttbl,x) interrupt routine x
|
||||
|
||||
gointX jmp (inttbl,x) interrupt routine x
|
||||
IRQ.Reset lda /resetv-1
|
||||
pha
|
||||
lda #resetv-1
|
||||
pha
|
||||
bra IRQ.Reset1
|
||||
|
||||
irqcount .HS 00 # of unclaimed interrupts.
|
||||
irqXindex .HS 00
|
||||
svzerop .HS 000000000000
|
||||
IRQ.Cnt .HS 00 # of unclaimed interrupts.
|
||||
IRQ.ZPSave .HS 000000000000 6 bytes
|
||||
|
||||
.LIST ON
|
||||
IRQ.FREE2 .EQ $fffa-*
|
||||
|
@ -74,11 +83,12 @@ IRQ.FREE2 .EQ $fffa-*
|
|||
.BS IRQ.FREE2
|
||||
|
||||
.DA nmivect nmi handler
|
||||
.DA lreset reset handler
|
||||
.DA IRQ.Reset reset handler
|
||||
irqv .DA * PATCHED with ROM vector by LDR
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
IRQ.LEN .EQ *-IRQ.START
|
||||
IRQ.LEN .EQ *-IRQ
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/PRODOS.FX/PRODOS.S.IRQ
|
||||
LOAD USR/SRC/PRODOS.FX/PRODOS.S
|
||||
|
|
|
@ -168,7 +168,7 @@ m128k sta idapple Save MACHID in temp location
|
|||
lda /MLI
|
||||
jsr X.Unpak.XatYA
|
||||
|
||||
jsr lc1in switch in language card bank 1.
|
||||
jsr LDR.LCBNK1
|
||||
|
||||
ldx #PAKME.XRW-PAKME.Table
|
||||
ldy #$D000
|
||||
|
@ -202,15 +202,15 @@ LDR.IRQ lda RROMWRAMBNK2
|
|||
ldy irqv interrupt vector
|
||||
ldx irqv+1 x = high byte
|
||||
|
||||
jsr lc1in set language card bank 1 to r/w
|
||||
jsr LDR.LCBNK1
|
||||
|
||||
sta SETALTZP
|
||||
stx irqv+1 interrupt vector
|
||||
sty irqv save irq vector in aux lc
|
||||
stx irqv+1
|
||||
|
||||
sta CLRALTZP
|
||||
stx irqv+1 save irq vector in main lc
|
||||
sty irqv
|
||||
stx irqv+1 save irq vector in main lc
|
||||
|
||||
lda #calldisp
|
||||
sta jspare+1 P8 system death vector
|
||||
|
@ -238,7 +238,7 @@ LDR.IIGS sta cortflag
|
|||
* stz vmode force setvid to reset cursor
|
||||
* jsr setvid reset output to screen
|
||||
|
||||
* jsr lc1in set language card bank 1 to r/w
|
||||
* jsr LDR.LCBNK1
|
||||
|
||||
lda #'C'
|
||||
ldx PAKME.CCLK
|
||||
|
@ -346,7 +346,10 @@ LDR.SetupQC bit RRAMWRAMBNK2 read/write RAM bank 2
|
|||
|
||||
lda #$EE byte to distinguish LC bank 2
|
||||
sta $D000
|
||||
jmp lc1in switch in LC bank 1
|
||||
*--------------------------------------
|
||||
LDR.LCBNK1 lda RRAMWRAMBNK1 switch in LC bank 1
|
||||
lda RRAMWRAMBNK1
|
||||
rts
|
||||
*--------------------------------------
|
||||
DS1216E.DATA1 .EQ idxl
|
||||
DS1216E.DATA2 .EQ A1L
|
||||
|
@ -375,6 +378,8 @@ LDR.ClkDevScan lda RDCXROM
|
|||
bne .1
|
||||
|
||||
sta $C300
|
||||
lda $C00B Workaround for Ultrawarp bug
|
||||
|
||||
lda $C304 Reset DS1216E comparison register with READ A2=1
|
||||
|
||||
ldx #8 Read 8 bytes...
|
||||
|
@ -490,7 +495,7 @@ LDR.SetupCLK stx ZPInBufPtr
|
|||
ldx #LDR.MSG.CLK
|
||||
jsr LDR.PrintX
|
||||
|
||||
jsr lc1in
|
||||
jsr LDR.LCBNK1
|
||||
|
||||
lda #$D742
|
||||
sta ZPOutBufPtr
|
||||
|
@ -510,7 +515,7 @@ LDR.SetupRAM lda DEVCNT
|
|||
cmp #13
|
||||
bcs LDR.SetupCLK.RTS
|
||||
|
||||
jsr lc1in
|
||||
jsr LDR.LCBNK1
|
||||
|
||||
ldx #PAKME.RAM-PAKME.Table
|
||||
ldy #$FF00
|
||||
|
@ -805,7 +810,7 @@ LDR.MountSPDevs ldx #LDR.DEVPTRS.CNT-1
|
|||
sec
|
||||
rts
|
||||
|
||||
.3 jsr lc1in write enable LC ram bank 1.
|
||||
.3 jsr LDR.LCBNK1
|
||||
|
||||
tya divide index by 2
|
||||
lsr
|
||||
|
@ -1092,9 +1097,6 @@ LDR.3F0 .DA breakv
|
|||
jmp oldrst ctrl-y vector
|
||||
.HS 004000
|
||||
.DA GP.IRQV global page interrupt vector
|
||||
lc1in lda RRAMWRAMBNK1
|
||||
lda RRAMWRAMBNK1
|
||||
rts
|
||||
*--------------------------------------
|
||||
* patch to gsos vectors so error is returned for os calls - rev note #101
|
||||
*--------------------------------------
|
||||
|
|
|
@ -178,6 +178,7 @@ XDOS.intmgr sta A4L interrupt command
|
|||
ldy #$03 get address of routine.
|
||||
lda (A3L),y must not be zero page.
|
||||
beq badint error if it is.
|
||||
|
||||
sta inttbl-2,x save high address
|
||||
dey
|
||||
lda (A3L),y
|
||||
|
|
|
@ -743,11 +743,13 @@ XDOS.SPParams.B .HS 0000 data buffer
|
|||
.HS 000000 block number (3 bytes)
|
||||
*--------------------------------------
|
||||
.DO XRWDBG=1
|
||||
|
||||
|
||||
XRW.DEBUG.BASE .EQ $750
|
||||
|
||||
XRW.DEBUG sta CLRPAGE2
|
||||
|
||||
lda #" "
|
||||
sta $722
|
||||
sta XRW.DEBUG.BASE+$22
|
||||
|
||||
lda #"R"
|
||||
bit XRW.bWrite
|
||||
|
@ -755,7 +757,7 @@ XRW.DEBUG sta CLRPAGE2
|
|||
|
||||
lda #"W"
|
||||
|
||||
.1 sta $723
|
||||
.1 sta XRW.DEBUG.BASE+$23
|
||||
|
||||
ldx #$24
|
||||
|
||||
|
@ -781,7 +783,7 @@ XRW.DEBUG.PBYTEx
|
|||
|
||||
adc #6
|
||||
|
||||
.8 sta $700,x
|
||||
.8 sta XRW.DEBUG.BASE,x
|
||||
inx
|
||||
rts
|
||||
|
||||
|
|
|
@ -395,11 +395,11 @@ XRW.TestWP ldx A2L
|
|||
.LIST ON
|
||||
XRW.Write bit IO.D2.ReadProt,x (4) PREWRITE MODE
|
||||
.LIST OFF
|
||||
* bit IO.D2.ReadMode,x (4)
|
||||
bit IO.D2.ReadMode,x (4)
|
||||
|
||||
lda #$FF (2)
|
||||
|
||||
nop (2)
|
||||
* nop (2)
|
||||
|
||||
sta IO.D2.WriteMode,x (5) goto write mode
|
||||
ora IO.D2.WShift,x (4)
|
||||
|
@ -784,6 +784,7 @@ XRW.SeekYA sta XRW.D2Trk-1,x will be current track at the end
|
|||
bne .1
|
||||
|
||||
jsr XRW.SeekPhOnY we are on 0/4 or 2/4 track : PhY on
|
||||
|
||||
lda #1
|
||||
bra .9 no wait, next operation will be phy/plx/Ph0On,y
|
||||
|
||||
|
@ -827,6 +828,7 @@ XRW.SeekYA sta XRW.D2Trk-1,x will be current track at the end
|
|||
.6 jsr XRW.SeekPhOnY now X and Y on
|
||||
|
||||
.8 lda XRW.SeekTime
|
||||
|
||||
.9 jsr XRW.Wait100usecA ...wait...
|
||||
|
||||
lda XRW.CurrentQTrack
|
||||
|
|
|
@ -11,7 +11,7 @@ LOWERCASE .EQ 1
|
|||
ACL .EQ 1
|
||||
LOGO .EQ 1
|
||||
*--------------------------------------
|
||||
XRWDBG .EQ 0
|
||||
XRWDBG .EQ 1
|
||||
*--------------------------------------
|
||||
.INB inc/zp.i
|
||||
.INB inc/io.i
|
||||
|
|
Loading…
Reference in New Issue