mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-07 09:37:34 +00:00
Kernel 0.94++
This commit is contained in:
parent
e1e6bf1ade
commit
97b731b996
Binary file not shown.
@ -357,6 +357,44 @@ CSH.Lookup phy Y = len
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.MainExec lda #0
|
||||
>PUSHA
|
||||
|
||||
ldy #S.PS.ARGC
|
||||
lda (pPS),y
|
||||
|
||||
>PUSHA push int ARGC
|
||||
|
||||
>PUSHW ZPCSHConst push int ARGV
|
||||
|
||||
stz ArgIndex
|
||||
|
||||
.1 lda ArgIndex
|
||||
>SYSCALL ArgC
|
||||
bcs .2
|
||||
|
||||
inc ArgIndex
|
||||
|
||||
pha
|
||||
tya
|
||||
|
||||
sta (ZPCSHConst)
|
||||
pla
|
||||
|
||||
ldy #1
|
||||
sta (ZPCSHConst),y
|
||||
|
||||
lda ZPCSHConst
|
||||
* clc
|
||||
adc #2
|
||||
sta ZPCSHConst
|
||||
bcc .1
|
||||
|
||||
inc ZPCSHConst+1
|
||||
bra .1
|
||||
|
||||
.2
|
||||
*--------------------------------------
|
||||
CSH.ZPPtr1GetNextW
|
||||
jsr CSH.ZPPtr1NextW
|
||||
*--------------------------------------
|
||||
|
212
BIN/MD4.S.txt
Normal file
212
BIN/MD4.S.txt
Normal file
@ -0,0 +1,212 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF bin/md4
|
||||
*--------------------------------------
|
||||
.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
|
||||
Arg .BS 1
|
||||
bText .BS 1
|
||||
hFile .BS 1
|
||||
hDataBuf .BS 1
|
||||
hMD4Ctx .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
|
||||
|
||||
.1 inc ArgIndex
|
||||
lda ArgIndex
|
||||
>SYSCALL ArgV
|
||||
bcs .8
|
||||
|
||||
>STYA ZPPtr1
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
bne .4
|
||||
ldy #1
|
||||
lda (ZPPtr1),y
|
||||
beq .99
|
||||
|
||||
ldx #OptionVars-OptionList-1
|
||||
|
||||
.2 cmp OptionList,x
|
||||
beq .3
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
.3 ldy OptionVars,x
|
||||
lda #$80
|
||||
sta 0,y
|
||||
bra .1
|
||||
|
||||
.4 lda Arg
|
||||
bne .99
|
||||
|
||||
lda ArgIndex
|
||||
sta Arg
|
||||
bra .1
|
||||
|
||||
.8 lda Arg
|
||||
beq .99
|
||||
|
||||
lda bText
|
||||
beq CS.RUN.FILE
|
||||
*--------------------------------------
|
||||
CS.RUN.TEXT lda Arg
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
>PUSHEA.G MD4Buf
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD4
|
||||
jmp CS.RUN.PRINT
|
||||
*--------------------------------------
|
||||
CS.RUN.FILE >LDYAI FILEBUF.SIZE
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
>STYA ZPDataBufPtr
|
||||
stx hDataBuf
|
||||
|
||||
lda Arg
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
>PUSHBI O.RDONLY
|
||||
>PUSHBI 0 ftype
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
sta hFile
|
||||
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD4Init
|
||||
bcs .9
|
||||
|
||||
sta hMD4Ctx
|
||||
|
||||
.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 hMD4Ctx
|
||||
>PUSHW ZPDataBufPtr
|
||||
>PUSHW ZPDataLen
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD4Update
|
||||
bra .1
|
||||
|
||||
.8 >PUSHB hMD4Ctx
|
||||
>PUSHEA.G MD4Buf
|
||||
>LIBCALL hLIBCRYPT,LIBCRYPT.MD4Finalize
|
||||
|
||||
CS.RUN.PRINT >LEA.G MD4Buf
|
||||
>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 .AZ "Dd"
|
||||
OptionVars .DA #bText,#bText
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AZ "Usage : MD4 [ -d input text | input file ]\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
MD4Buf .BS 33
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/md4.s
|
||||
ASM
|
@ -200,18 +200,18 @@ NSC.Read php
|
||||
|
||||
jsr NSC.Select
|
||||
|
||||
ldx #7
|
||||
ldx #8 Read 8 bytes...
|
||||
|
||||
.1 ldy #8
|
||||
|
||||
.2 lda $C304
|
||||
lsr
|
||||
ror DS1216E.DATA,x
|
||||
ror DS1216E.DATA-1,x
|
||||
dey
|
||||
bne .2
|
||||
|
||||
dex
|
||||
bpl .1
|
||||
bne .1
|
||||
|
||||
plp
|
||||
bmi .8
|
||||
@ -231,10 +231,11 @@ NSC.Write php
|
||||
|
||||
jsr NSC.Select
|
||||
|
||||
ldx #7
|
||||
ldx #8 Write 8 bytes...
|
||||
|
||||
.3 lda DS1216E.DATA,x
|
||||
.3 lda DS1216E.DATA-1,x
|
||||
phx
|
||||
|
||||
ldx #8 ....of 8 bits
|
||||
|
||||
.4 ldy #0
|
||||
@ -251,7 +252,7 @@ NSC.Write php
|
||||
|
||||
plx
|
||||
dex
|
||||
bpl .3
|
||||
bne .3
|
||||
|
||||
plp
|
||||
bmi .8
|
||||
@ -265,9 +266,10 @@ NSC.Select sta $C300
|
||||
lda $C00B Workaround for Ultrawarp bug
|
||||
|
||||
lda $C304 Reset DS1216E comparison register with READ A2=1
|
||||
ldx #7 Read 8 bytes...
|
||||
|
||||
.3 lda DS1216E.PATTERN,x
|
||||
ldx #8 Read 8 bytes...
|
||||
|
||||
.3 lda DS1216E.PATTERN-1,x
|
||||
phx
|
||||
ldx #8 ....of 8 bits
|
||||
|
||||
@ -285,7 +287,7 @@ NSC.Select sta $C300
|
||||
|
||||
plx
|
||||
dex
|
||||
bpl .3
|
||||
bne .3
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -6,11 +6,14 @@ LIBCRYPT.MD4 .EQ 4
|
||||
LIBCRYPT.MD4Init .EQ 6
|
||||
LIBCRYPT.MD4Update .EQ 8
|
||||
LIBCRYPT.MD4Finalize .EQ 10
|
||||
*--------------------------------------
|
||||
LIBCRYPT.MD5 .EQ 12
|
||||
LIBCRYPT.MD5Init .EQ LIBCRYPT.MD4Init
|
||||
LIBCRYPT.MD5Update .EQ 14
|
||||
LIBCRYPT.MD5Finalize .EQ LIBCRYPT.MD4Finalize
|
||||
*--------------------------------------
|
||||
LIBCRYPT.HMACMD5 .EQ 16
|
||||
*--------------------------------------
|
||||
* S.MD4, S.MD5 STRUCT
|
||||
*--------------------------------------
|
||||
S.MD4.ABCD0 .EQ 0
|
||||
|
@ -10,11 +10,12 @@ 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.TRANS2 .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.CMD.NT.CREATE.ANDX .EQ $A0
|
||||
S.SMB.H.CMD.NT.CREATE.ANDX .EQ $A2
|
||||
S.SMB.H.STATUS .EQ 5
|
||||
S.SMB.H.FLAGS .EQ 9
|
||||
S.SMB.H.FLAGS.LOCKANDREADOK .EQ 1
|
||||
|
@ -534,79 +534,44 @@ CIFS2.ChOwn
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
*CIFS.FOpen >STYA pPath resolved path
|
||||
CIFS.FOpen >STYA pPath resolved path
|
||||
|
||||
* ldx #S.SMB.H.CMD.NT.CREATE.ANDX
|
||||
|
||||
|
||||
|
||||
*--------------------------------------
|
||||
CIFS.FOpen jsr MakeTrans2Req
|
||||
ldx #S.SMB.H.CMD.NT.CREATE.ANDX
|
||||
jsr RequestSetupX
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda SMB.Open2,x
|
||||
.1 lda SMB.ComCreate.H,x
|
||||
sta (ZPReqPtr),y
|
||||
iny
|
||||
inx
|
||||
cpx #SMB.Open2.Len
|
||||
cpx #SMB.ComCreate.H.Len
|
||||
bne .1
|
||||
|
||||
phy save Y = LEN
|
||||
|
||||
jsr GetPathLen
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+6
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
ply
|
||||
phy
|
||||
|
||||
ldy #5
|
||||
lda (pStack),y
|
||||
sta pPath+1
|
||||
|
||||
dey
|
||||
lda (pStack),y
|
||||
sta pPath
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
dey flags
|
||||
lda (pStack),y
|
||||
pha
|
||||
|
||||
and #O.RDWR
|
||||
dec
|
||||
lda #2
|
||||
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+9 AccessMode
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
lda #$52
|
||||
iny
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+19 OpenMode
|
||||
|
||||
pla
|
||||
pha
|
||||
and #O.CREATE
|
||||
beq .2
|
||||
iny Skip ByteCount
|
||||
iny
|
||||
|
||||
lda #$12
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
.2 pla
|
||||
* and #O.APPEND
|
||||
* beq .3
|
||||
|
||||
lda (ZPReqPtr),y
|
||||
ora #1
|
||||
* sta (ZPReqPtr),y
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H.FLAGS2+1
|
||||
lda #$40
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
.3 ply
|
||||
|
||||
jsr AppendPath
|
||||
|
||||
lda #0
|
||||
sta (ZPReqPtr),y
|
||||
iny
|
||||
|
||||
jsr SetT2ReqLenYA
|
||||
pla
|
||||
|
||||
jsr SetReqLenYAtA
|
||||
|
||||
pha
|
||||
>PUSHB MountTable+3 hSocket
|
||||
@ -634,11 +599,49 @@ CIFS2.FOpen jsr ReadSocket
|
||||
|
||||
lda #MLI.E.DUPFILE
|
||||
sec
|
||||
bra .80
|
||||
|
||||
.8 jsr FreeRespData
|
||||
.8 >LDYAI S.FD.REG
|
||||
>SYSCALL2 GetMem
|
||||
bcs .99
|
||||
|
||||
>STYA ZPPtr2
|
||||
|
||||
lda #S.FD.T.REG
|
||||
sta (ZPPtr2)
|
||||
|
||||
lda hHandler
|
||||
ldy #S.FD.PFT
|
||||
sta (ZPPtr2),y
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+6 FileID
|
||||
lda (ZPRespPtr),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPRespPtr),y
|
||||
|
||||
ldy #S.FD.REG.REF+1
|
||||
sta (ZPPtr2),y
|
||||
dey
|
||||
pla
|
||||
sta (ZPPtr2),y
|
||||
|
||||
ldy #4 path
|
||||
|
||||
lda (pStack),y
|
||||
>PUSHA
|
||||
lda (pStack),y
|
||||
>PUSHA
|
||||
|
||||
>PUSHWZ mod
|
||||
txa hFD
|
||||
>PUSHA
|
||||
>SYSCALL2 mknod
|
||||
|
||||
.80 jsr FreeRespData
|
||||
|
||||
stz CIFS.Status
|
||||
>RET 4
|
||||
>RET 6
|
||||
|
||||
.9 cmp #E.NODATA
|
||||
bne .99
|
||||
@ -654,14 +657,101 @@ CIFS2.FOpen jsr ReadSocket
|
||||
|
||||
.99 sec
|
||||
stz CIFS.Status
|
||||
>RET 4
|
||||
>RET 6
|
||||
*--------------------------------------
|
||||
CIFS.FClose jsr GetPFD
|
||||
|
||||
ldx #S.SMB.H.CMD.CLOSE
|
||||
jsr RequestSetupX
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda SMB.ComCreate.H,x
|
||||
sta (ZPReqPtr),y
|
||||
iny
|
||||
inx
|
||||
cpx #SMB.ComCreate.H.Len
|
||||
bne .1
|
||||
|
||||
tya save Y = LEN
|
||||
|
||||
iny Skip ByteCount
|
||||
iny
|
||||
|
||||
jsr SetReqLenYAtA
|
||||
|
||||
pha
|
||||
>PUSHB MountTable+3 hSocket
|
||||
>PUSHW ZPReqPtr
|
||||
pla
|
||||
>PUSHYA
|
||||
|
||||
ldx #LIBTCPIP.Send
|
||||
jsr GO.LIBTCPIP
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CIFS2.FClose sta hFILE
|
||||
|
||||
jsr ReadSocket
|
||||
bcs .9
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||
lda (ZPRespPtr),y
|
||||
clc
|
||||
beq .8
|
||||
|
||||
lda #MLI.E.DUPFILE
|
||||
sec
|
||||
bra .80
|
||||
|
||||
.8 lda hFILE
|
||||
jsr CIFS.CloseDir
|
||||
|
||||
clc
|
||||
|
||||
.80 jsr FreeRespData
|
||||
|
||||
stz CIFS.Status
|
||||
rts
|
||||
|
||||
.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
|
||||
rts
|
||||
*--------------------------------------
|
||||
CIFS.FClose
|
||||
CIFS2.FClose
|
||||
CIFS.FRead
|
||||
clc
|
||||
>RET 5
|
||||
*--------------------------------------
|
||||
CIFS2.FRead
|
||||
clc
|
||||
>RET 5
|
||||
*--------------------------------------
|
||||
CIFS.FWrite
|
||||
clc
|
||||
>RET 5
|
||||
*--------------------------------------
|
||||
CIFS2.FWrite
|
||||
clc
|
||||
>RET 5
|
||||
*--------------------------------------
|
||||
CIFS.FFlush
|
||||
CIFS2.FFlush
|
||||
CIFS.FSeek
|
||||
|
@ -419,7 +419,8 @@ CIFS.TreeConnect
|
||||
bne .1
|
||||
|
||||
phy save Y = LEN
|
||||
iny
|
||||
|
||||
iny Skip ByteCount
|
||||
iny
|
||||
|
||||
lda #0
|
||||
@ -631,6 +632,15 @@ RequestSetupX phx
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
GetPathLen ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (pPath),y
|
||||
bne .1
|
||||
|
||||
tya
|
||||
rts
|
||||
*--------------------------------------
|
||||
AppendPath ldx #0
|
||||
|
||||
.1 lda (pPath)
|
||||
@ -980,14 +990,14 @@ SMB.TreeConnect.H.Len .EQ *-SMB.TreeConnect.H
|
||||
* .AZ "_temp" PATH
|
||||
SMB.TreeConnect.T
|
||||
.AZ "A:" Disk Share
|
||||
SMB.TreeConnect.T.Len .EQ *-SMB.TreeConnect.T
|
||||
*-------------------------------------- #$04
|
||||
SMB.ComCreate.H .DA #18 WORD COUNT
|
||||
SMB.TreeConnect.T.Len .EQ *-SMB.TreeConnect.T
|
||||
*--------------------------------------
|
||||
SMB.ComCreate.H .DA #24 WORD COUNT
|
||||
.HS FF000000 NO MORE CMD
|
||||
.HS 00 Reserved
|
||||
.BS 2 NameLength
|
||||
.HS 00000000 Flags
|
||||
.BS 4 RootDirectoryFID
|
||||
.HS 00000000 RootDirectoryFID
|
||||
.BS 4 DesiredAccess
|
||||
.HS 0000000000000000 AllocationSize
|
||||
.HS 00000000 ExtFileAttributes
|
||||
@ -995,17 +1005,17 @@ SMB.ComCreate.H .DA #18 WORD COUNT
|
||||
.BS 4 CreateDisposition
|
||||
.HS 00000000 CreateOptions
|
||||
.HS 00000000 ImpersonationLevel
|
||||
.HS 00 SecurityFlags
|
||||
.HS 00 SMB_Data
|
||||
.HS 00 SecurityFlags
|
||||
SMB.ComCreate.H.Len .EQ *-SMB.ComCreate.H
|
||||
* .BS 2 ByteCount
|
||||
* .AZ "path\file"
|
||||
*-------------------------------------- #$04
|
||||
*--------------------------------------
|
||||
SMB.ComClose.H .DA #3 WORD COUNT
|
||||
.BS 2 FID
|
||||
.HS 00000000 LastTimeModified
|
||||
.HS 0000 ByteCount
|
||||
SMB.ComClose.H.Len .EQ *-SMB.ComClose.H
|
||||
*-------------------------------------- #$2E
|
||||
*--------------------------------------
|
||||
SMB.ComRead.H .DA #10 WORD COUNT
|
||||
.HS FF000000 NO MORE CMD
|
||||
.BS 2 FID
|
||||
@ -1016,7 +1026,7 @@ SMB.ComRead.H .DA #10 WORD COUNT
|
||||
.HS 0000 Remaining
|
||||
.HS 0000 ByteCount
|
||||
SMB.ComRead.H.Len .EQ *-SMB.ComRead.H
|
||||
*-------------------------------------- #$2F
|
||||
*--------------------------------------
|
||||
SMB.ComWrite.H .DA #12 WORD COUNT
|
||||
.HS FF000000 NO MORE CMD
|
||||
.BS 2 FID
|
||||
@ -1051,20 +1061,6 @@ SMB.Trans2.H .DA #15 WORD COUNT
|
||||
.HS 00 Reserved3
|
||||
SMB.Trans2.H.Len .EQ *-SMB.Trans2.H
|
||||
*--------------------------------------
|
||||
SMB.Open2 .DA 0 TRANS2_OPEN2
|
||||
.BS 2 PrmCnt
|
||||
.HS 000000 Padding
|
||||
.HS 0000 Flags
|
||||
.BS 2 AccessMode
|
||||
.HS 0000 Reserved1
|
||||
.BS 2 FileAttributes
|
||||
.HS 00000000 CreationTime
|
||||
.BS 2 OpenMode
|
||||
.HS 00000000 AllocationSize
|
||||
.HS 00000000000000000000 Reserved
|
||||
* .AZ "filename"
|
||||
SMB.Open2.Len .EQ *-SMB.Open2
|
||||
*--------------------------------------
|
||||
SMB.FindFirst2 .DA 1 TRANS2_FIND_FIRST2
|
||||
.BS 2 PrmCnt
|
||||
.HS 000000 Padding
|
||||
@ -1118,6 +1114,7 @@ MountTable .BS 2 pMountPoint
|
||||
.BS 1 hSMBContext
|
||||
.BS 1 hSocket
|
||||
*--------------------------------------
|
||||
hFILE .BS 1
|
||||
StatBuf .BS S.STAT
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -8,8 +8,6 @@ NEW
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/libcrypt.i
|
||||
*--------------------------------------
|
||||
* https://waterjuiceweb.wordpress.com/aes/
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPLIB
|
||||
@ -20,7 +18,7 @@ ZPHashPtr .BS 2
|
||||
|
||||
ZPChunkLen .BS 2
|
||||
|
||||
MD.MODE .BS 1
|
||||
* MD.MODE .BS 1 32 BYTES MAX !!!!!
|
||||
|
||||
MD4.ABCD
|
||||
MD5.ABCD
|
||||
@ -131,6 +129,8 @@ CS.START cld
|
||||
.DA MD4Finalize
|
||||
.DA MD5
|
||||
.DA MD5Update
|
||||
.DA HMACMD5
|
||||
*--------------------------------------
|
||||
J.MD4.XXXX .DA MD4.0015
|
||||
.DA MD4.1631
|
||||
.DA MD4.3247
|
||||
@ -149,8 +149,8 @@ LIB.UNLOAD clc
|
||||
* # C
|
||||
* `void MD4 (const char* str, char* digest);`
|
||||
* # ASM
|
||||
* `>PUSHW digest`
|
||||
* `>PUSHW str`
|
||||
* `>PUSHW digest`
|
||||
* `>LIBCALL hLIBCRYPT,LIBCRYPT.MD4`
|
||||
* ## RETURN VALUE
|
||||
* CC
|
||||
@ -163,17 +163,17 @@ MD4 lda #0
|
||||
* # C
|
||||
* `void MD5 (const char* str, char* digest);`
|
||||
* # ASM
|
||||
* `>PUSHW digest`
|
||||
* `>PUSHW str`
|
||||
* `>PUSHW digest`
|
||||
* `>LIBCALL hLIBCRYPT,LIBCRYPT.MD5`
|
||||
* ## RETURN VALUE
|
||||
* CC
|
||||
*\--------------------------------------
|
||||
MD5 lda #1
|
||||
sta MD.MODE
|
||||
>PULLW ZPDataPtr
|
||||
>PULLW ZPHashPtr
|
||||
>LDYA ZPDataPtr
|
||||
>PULLYA
|
||||
>STYA ZPDataPtr
|
||||
>SYSCALL2 strlen
|
||||
>STYA ZPDataLen
|
||||
.1 jsr MD4Init
|
||||
@ -195,7 +195,7 @@ MD5 lda #1
|
||||
* ## MD4Init
|
||||
* Initialize a MD4 computation
|
||||
* # C
|
||||
* `hMD4 MD5init();`
|
||||
* `hMD4 MD4init();`
|
||||
* # ASM
|
||||
* `>LIBCALL hLIBCRYPT,LIBCRYPT.MD4Init`
|
||||
* ## RETURN VALUE
|
||||
@ -241,9 +241,9 @@ MD5Init >LDYAI S.MD4
|
||||
* # C
|
||||
* `void MD4update (hMD4 MD4, char* data, int len);`
|
||||
* # ASM
|
||||
* `>PUSHW len`
|
||||
* `>PUSHB MD4`
|
||||
* `>PUSHW data`
|
||||
* `>LDA.G MD4`
|
||||
* `>PUSHW len`
|
||||
* `>hLIBCRYPT,LIBCRYPT.MD4Update`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
@ -255,19 +255,21 @@ MD4Update lda #0
|
||||
* # C
|
||||
* `void MD5update (hMD5 MD5, char* data, int len);`
|
||||
* # ASM
|
||||
* `>PUSHW len`
|
||||
* `>PUSHB MD5`
|
||||
* `>PUSHW data`
|
||||
* `>LDA.G MD5`
|
||||
* `>PUSHW len`
|
||||
* `>hLIBCRYPT,LIBCRYPT.MD5Update`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
MD5Update lda #1
|
||||
sta MD.MODE
|
||||
|
||||
>PULLW ZPDataLen get LEN
|
||||
>PULLW ZPDataPtr get DATA
|
||||
|
||||
>PULLA
|
||||
>SYSCALL2 GetMemPtr get MD5 Context
|
||||
>STYA ZPCtxPtr
|
||||
>PULLW ZPDataPtr get DATA
|
||||
>PULLW ZPDataLen get LEN
|
||||
|
||||
MD4Update.I
|
||||
MD5Update.I ldy #S.MD4.FINALIZED
|
||||
@ -355,8 +357,8 @@ MD5Update.I ldy #S.MD4.FINALIZED
|
||||
* # C
|
||||
* `void MD4finalize (hMD4 MD4, char* digest);`
|
||||
* # ASM
|
||||
* `>PUSHB MD4`
|
||||
* `>PUSHW digest`
|
||||
* `>LDA.G MD4`
|
||||
* `>LIBCALL hLIBCRYPT,LIBCRYPT.MD4Finalize`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
@ -365,17 +367,20 @@ MD5Update.I ldy #S.MD4.FINALIZED
|
||||
* # C
|
||||
* `void MD5finalize (hMD5 MD5, char* digest);`
|
||||
* # ASM
|
||||
* `>PUSHB MD5`
|
||||
* `>PUSHW digest`
|
||||
* `>LDA.G MD5`
|
||||
* `>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Finalize`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
MD4Finalize
|
||||
MD5Finalize pha
|
||||
MD5Finalize >PULLW ZPHashPtr
|
||||
>PULLA
|
||||
pha
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPCtxPtr get MD5 Context
|
||||
>PULLW ZPHashPtr
|
||||
|
||||
jsr MD4Finalize.I
|
||||
|
||||
pla
|
||||
>SYSCALL2 FreeMem
|
||||
rts
|
||||
@ -421,6 +426,24 @@ MD5Finalize.I ldy #S.MD4.FINALIZED
|
||||
sta (ZPHashPtr)
|
||||
clc
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* ## HMACMD5
|
||||
* Return HMACMD5 Hash for input String
|
||||
* # C
|
||||
* `void HMACMD5(const char* str, const char* key, char* digest);`
|
||||
* # ASM
|
||||
* `>PUSHW str`
|
||||
* `>PUSHW key`
|
||||
* `>PUSHW digest`
|
||||
* `>LIBCALL hLIBCRYPT,LIBCRYPT.HMACMD5`
|
||||
* ## RETURN VALUE
|
||||
* CC
|
||||
*\--------------------------------------
|
||||
* https://github.com/fab13n/org.eclipse.mihini/blob/master/libs/hmac-md5/hmac_rfc2104/hmac-md5.c
|
||||
*--------------------------------------
|
||||
HMACMD5
|
||||
*--------------------------------------
|
||||
* https://waterjuiceweb.wordpress.com/aes/
|
||||
*--------------------------------------
|
||||
* PRIVATE
|
||||
*--------------------------------------
|
||||
@ -803,6 +826,8 @@ MD4.DIGITS .AS "0123456789ABCDEF"
|
||||
*--------------------------------------
|
||||
ZPDataLen .BS 2
|
||||
|
||||
MD.MODE .BS 1
|
||||
|
||||
MD4.DTemp
|
||||
MD5.DTemp .BS 4
|
||||
MD4.F
|
||||
|
@ -145,8 +145,8 @@ m128k sta idapple Save MACHID in temp location
|
||||
tsb LDR.MSG.PRODOS+1
|
||||
tsb LDR.MSG.PRODOS+2
|
||||
|
||||
sec
|
||||
jsr LDR.ScrInit80
|
||||
jsr LDR.Scr80Select
|
||||
jsr LDR.Scr80Init
|
||||
|
||||
ldx #$F
|
||||
|
||||
@ -351,15 +351,15 @@ LDR.SetupQC bit RRAMWRAMBNK2 read/write RAM bank 2
|
||||
DS1216E.DATA1 .EQ idxl
|
||||
DS1216E.DATA2 .EQ A1L
|
||||
*--------------------------------------
|
||||
LDR.ClkDevScan php
|
||||
LDR.ClkDevScan lda RDCXROM
|
||||
|
||||
php
|
||||
sei
|
||||
|
||||
lda RDCXROM
|
||||
php
|
||||
|
||||
sta SETCXROM
|
||||
|
||||
sta $C300
|
||||
lda $C00B Workaround for Ultrawarp bug
|
||||
|
||||
ldx #8
|
||||
|
||||
@ -416,9 +416,7 @@ LDR.ClkDevScan php
|
||||
|
||||
sta CLRCXROM
|
||||
|
||||
.8 plp
|
||||
|
||||
ldx #8
|
||||
.8 ldx #8
|
||||
|
||||
.9 lda DS1216E.DATA1-1,x
|
||||
cmp DS1216E.DATA2-1,x
|
||||
@ -900,9 +898,36 @@ LDR.SetDevID ldy #$FE check attributes byte.
|
||||
sta devid
|
||||
rts
|
||||
*--------------------------------------
|
||||
LDR.ScrInit80 sta CLRC3ROM TODO: support 80COL cards with ROM ???
|
||||
LDR.Scr80Select php
|
||||
sei
|
||||
|
||||
sta SETC3ROM
|
||||
|
||||
lda #$8C Reset 80 col screen ($0C:HOME)
|
||||
ldx #COL80IDX.Cnt-1
|
||||
|
||||
.1 ldy COL80IDX,x
|
||||
lda $C300,y
|
||||
cmp COL80VAL,x
|
||||
bne .9
|
||||
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
lda $C30C is it an apple 80 col compatible card?
|
||||
and #$F0
|
||||
cmp #$80
|
||||
bne .9
|
||||
|
||||
|
||||
plp
|
||||
rts
|
||||
|
||||
.9 sta CLRC3ROM
|
||||
|
||||
plp
|
||||
rts
|
||||
*--------------------------------------
|
||||
LDR.Scr80Init lda #$8C Reset 80 col screen ($0C:HOME)
|
||||
jsr $C300
|
||||
|
||||
jsr setnorm
|
||||
@ -1141,6 +1166,10 @@ DS1216E.SIG .HS 5CA33AC55CA33AC5 Reverted 7->0
|
||||
dskid .HS 08.20.28.00.58.03.70
|
||||
sltbit .HS 02040810204080
|
||||
*--------------------------------------
|
||||
COL80IDX .HS 05070BFA + $C30C and $80 = $80
|
||||
COL80IDX.Cnt .EQ *-COL80IDX
|
||||
COL80VAL .HS 3818012C
|
||||
*--------------------------------------
|
||||
LDR.MLIOL.P .DA #2
|
||||
.DA #$60
|
||||
.DA pbuf+1
|
||||
|
@ -7,15 +7,16 @@ NEW
|
||||
*--------------------------------------
|
||||
DS1216E.DATA .EQ $200 Reverted YY MM DD Day HH mm SS CS
|
||||
*--------------------------------------
|
||||
NCLK.START php
|
||||
NCLK.START lda RDCXROM
|
||||
|
||||
php
|
||||
sei NO IRQ !!!
|
||||
|
||||
lda RDCXROM because no IRQ handler at $C3FA...
|
||||
php
|
||||
|
||||
sta SETCXROM ... after this
|
||||
sta SETCXROM
|
||||
|
||||
sta $C300
|
||||
lda $C00B Workaround for Ultrawarp bug
|
||||
|
||||
lda $C304 Reset DS1216E comparison register with READ A2=1
|
||||
|
||||
ldx #8 Read 8 bytes...
|
||||
@ -101,8 +102,7 @@ NCLK.START php
|
||||
|
||||
sta CLRCXROM
|
||||
|
||||
.8 plp
|
||||
rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
DS1216E.PATTERN .HS 5CA33AC55CA33AC5 Reverted 7->0
|
||||
*--------------------------------------
|
||||
|
@ -52,15 +52,15 @@ NSC.Print sty TmpPtr1
|
||||
DS1216E.DATA1 .EQ $10
|
||||
DS1216E.DATA2 .EQ $18
|
||||
*--------------------------------------
|
||||
NSC.Detect php
|
||||
NSC.Detect lda RDCXROM
|
||||
|
||||
php
|
||||
sei
|
||||
|
||||
lda RDCXROM
|
||||
php
|
||||
|
||||
sta SETCXROM
|
||||
|
||||
sta $C300
|
||||
lda $C00B Workaround for Ultrawarp bug
|
||||
|
||||
ldx #8
|
||||
|
||||
@ -118,9 +118,7 @@ NSC.Detect php
|
||||
|
||||
sta CLRCXROM
|
||||
|
||||
.8 plp
|
||||
|
||||
ldx #8
|
||||
.8 ldx #8
|
||||
|
||||
.81 lda DS1216E.DATA1-1,x
|
||||
cmp DS1216E.DATA2-1,x
|
||||
@ -199,15 +197,16 @@ NSC.MSG3 .AZ -"DS1216E Driver Successfully Installed."
|
||||
DS1216E.DATA .EQ $200 Reverted YY MM DD Day HH mm SS CS
|
||||
*--------------------------------------
|
||||
NSCDRV.B.START .EQ *
|
||||
NSCDRV php
|
||||
NSCDRV lda RDCXROM
|
||||
|
||||
php
|
||||
sei
|
||||
|
||||
lda RDCXROM
|
||||
php
|
||||
|
||||
sta SETCXROM
|
||||
|
||||
sta $C300
|
||||
lda $C00B Workaround for Ultrawarp bug
|
||||
|
||||
lda $C304 Reset DS1216E comparison register with READ A2=1
|
||||
|
||||
ldx #8 Read 8 bytes...
|
||||
@ -293,8 +292,7 @@ NSCDRV.R5 lda DS1216E.DATA+4 Get HH
|
||||
|
||||
sta CLRCXROM
|
||||
|
||||
.8 plp
|
||||
rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
DS1216E.PATTERN .HS 5CA33AC55CA33AC5 Reverted 7->0
|
||||
*--------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user