improved Xor

fixed help
This commit is contained in:
Stephen Toth 2018-07-13 23:13:55 -04:00
parent 18c8ce28e1
commit 884e1d0a41
14 changed files with 2944 additions and 2735 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@ cryptocmdmanroute:
subroutestrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORm) subroutestrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORm)
subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm) subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm)
subroutestrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPm) subroutestrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPm)
routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm) routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm)
routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm) routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm)
@ -37,7 +37,7 @@ cryptocmdmanrouteu:
subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu) subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu)
subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu) subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu)
subrouteustrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPu) subrouteustrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPu)
routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu) routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu)
routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu) routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu)

View File

@ -1,9 +1,9 @@
#include "includes/CryptoCommands/ENCRYPT.asm" #include "includes/CryptoCommands/ENCRYPT.asm"
#include "includes/CryptoCommands/ROT.asm" #include "includes/CryptoCommands/ROT.asm"
#include "includes/CryptoCommands/XOR.asm" #include "includes/CryptoCommands/XOR.asm"
#include "includes/CryptoCommands/HELP.asm" #include "includes/CryptoCommands/HELP.asm"
#include "includes/CryptoCommands/DECRYPT.asm" #include "includes/CryptoCommands/DECRYPT.asm"
#include "includes/CryptoCommands/unROT.asm" #include "includes/CryptoCommands/unROT.asm"
#include "includes/CryptoCommands/unXOR.asm" #include "includes/CryptoCommands/unXOR.asm"
#include "includes/CryptoCommands/unHELP.asm"

View File

@ -30,7 +30,7 @@ cryptocmdDECRYPTfExe:
cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf) cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf)
cryptocmdDECRYPTcmpjp(cryptocmdunXOR, cryptocmdunXORf) cryptocmdDECRYPTcmpjp(cryptocmdunXOR, cryptocmdunXORf)
cryptocmdDECRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) cryptocmdDECRYPTcmpjp(cryptocmdunHELP, cryptocmdunHELPf)
ld hl, FshCmdArg0 ld hl, FshCmdArg0
ld de, FshCmd ld de, FshCmd

View File

@ -61,6 +61,7 @@ cryptocmdHELPfExe:
#endmacro #endmacro
cryptocmdHELPmRowU(cryptocmdROT, cryptocmdROTu) cryptocmdHELPmRowU(cryptocmdROT, cryptocmdROTu)
cryptocmdHELPmRowU(cryptocmdXOR, cryptocmdXORu)
call _NewLine call _NewLine
jp Fin jp Fin

View File

@ -1,6 +1,6 @@
cryptocmdROT: .db "ROT", 0 cryptocmdROT: .db "ROT", 0
cryptocmdROTm: .db "ROT: Cypher, rotates the alphabet and encodes a string", 0 cryptocmdROTm: .db "ROT: Cypher, rotates the alphabet and encodes a string", 0
cryptocmdROTu: .db "ENCRYPT ROT <shift#>", 0 cryptocmdROTu: .db "ENCRYPT ROT <shift#> <message>", 0
cryptocmdROTf: cryptocmdROTf:
cryptocmdROTfArg1: cryptocmdROTfArg1:
ld hl, FshCmdArgFlags ld hl, FshCmdArgFlags
@ -56,4 +56,4 @@ cryptocmdROTfExe:
cryptocmdROTfDShift: .db "Shift= ", 0 cryptocmdROTfDShift: .db "Shift= ", 0
cryptocmdROTfDMessage: .db "Message= ", 0 cryptocmdROTfDMessage: .db "Message= ", 0
cryptocmdROTfDResult: .db "Result: ", 0 cryptocmdROTfDResult: .db "Result: ", 0

View File

@ -1,6 +1,6 @@
cryptocmdXOR: .db "XOR", 0 cryptocmdXOR: .db "XOR", 0
cryptocmdXORm: .db "XOR: Cypher, and encodes a string", 0 cryptocmdXORm: .db "XOR: Cypher, and encodes a string", 0
cryptocmdXORu: .db "ENCRYPT XOR <Key> <Message>", 0 cryptocmdXORu: .db "ENCRYPT XOR <key> <message>", 0
cryptocmdXORf: cryptocmdXORf:
cryptocmdXORfArg1: cryptocmdXORfArg1:
ld hl, FshCmdArgFlags ld hl, FshCmdArgFlags
@ -34,7 +34,7 @@ cryptocmdXORfArg2Get:
ld hl, cryptocmdXORfDMessage ld hl, cryptocmdXORfDMessage
call printprompt call printprompt
ld hl, FshScratch ld hl, FshScratch
ld de, FshScratchSize - 4 ld de, FshScratchSize - 1 / 2
call inputcharstr call inputcharstr
call _NewLine call _NewLine
cryptocmdXORfExe: cryptocmdXORfExe:
@ -64,4 +64,4 @@ cryptocmdXORfPrintEnd:
cryptocmdXORfDKey: .db "Key= ", 0 cryptocmdXORfDKey: .db "Key= ", 0
cryptocmdXORfDMessage: .db "Message= ", 0 cryptocmdXORfDMessage: .db "Message= ", 0
cryptocmdXORfDResult: .db "Result: ", 0 cryptocmdXORfDResult: .db "Result: ", 0

View File

@ -0,0 +1,69 @@
cryptocmdunHELP: .db "HELP", 0
cryptocmdunHELPm: .db "Help for cyphers", 0
cryptocmdunHELPu: .db "DECRYPT HELP", 0
cryptocmdunHELPf:
ld hl, FshCmdArgFlags
bit 2, (hl)
jr z, cryptocmdunHELPfExe
ld hl, ErrUsageo
call ErrSet
call ErrCatch
cryptocmdunHELPfExe:
ld hl, cryptocmdunHELPfLine1
call _PutS
call _NewLine
#macro cryptocmdunHELPmRow1(cmdXs)
xor a
ld (curCol), a
ld hl, cmdXs
call _PutS
call _NewLine
#endmacro
#macro cryptocmdunHELPmRowU(cmdXs, cmdXu)
xor a
ld (curCol), a
ld hl, cmdXs
call _PutS
ld a, ':'
call _PutC
ld a, ' '
call _PutC
ld hl, cmdXu
call _PutS
call _NewLine
#endmacro
#macro cryptocmdunHELPmRow2(cmdXs, cmdYs)
xor a
ld (curCol), a
ld hl, cmdXs
call _PutS
ld a, 9
ld (curcol), a
ld hl, cmdYs
call _PutS
call _NewLine
#endmacro
#macro cryptocmdunHELPmRow3(cmdXs, cmdYs, cmdZs)
xor a
ld (curCol), a
ld hl, cmdXs
call _PutS
ld a, 9
ld (curcol), a
ld hl, cmdYs
call _PutS
ld a, 19
ld (curcol), a
ld hl, cmdZs
call _PutS
call _NewLine
#endmacro
cryptocmdunHELPmRowU(cryptocmdunROT, cryptocmdunROTu)
cryptocmdunHELPmRowU(cryptocmdunXOR, cryptocmdunXORu)
call _NewLine
jp Fin
cryptocmdunHELPfLine1: .db "Available Cryptos:", 0

View File

@ -1,6 +1,6 @@
cryptocmdunXOR: .db "XOR", 0 cryptocmdunXOR: .db "XOR", 0
cryptocmdunXORm: .db "XOR: Cypher, and decodes a string", 0 cryptocmdunXORm: .db "XOR: Cypher, and decodes a string", 0
cryptocmdunXORu: .db "DECRYPT XOR", 0 cryptocmdunXORu: .db "DECRYPT XOR <key>", 0
cryptocmdunXORf: cryptocmdunXORf:
cryptocmdunXORfArg1: cryptocmdunXORfArg1:
ld hl, FshCmdArgFlags ld hl, FshCmdArgFlags
@ -52,8 +52,7 @@ cryptocmdunXORfArg2GetLoop:
inc hl inc hl
inc bc inc bc
jr cryptocmdunXORfArg2GetLoop jr cryptocmdunXORfArg2GetLoop
cryptocmdunXORfArg2GetLoopEnd: cryptocmdunXORfArg2GetLoopEnd:
call _NewLine call _NewLine
cryptocmdunXORfExe: cryptocmdunXORfExe:
ld hl, cryptocmdunXORfStringPBuffer ld hl, cryptocmdunXORfStringPBuffer

View File

@ -52,6 +52,7 @@ fshcmdHELPfExe:
fshcmdHELPmRow3(fshcmdMOVE, fshcmdCLS, fshcmdVAR) fshcmdHELPmRow3(fshcmdMOVE, fshcmdCLS, fshcmdVAR)
fshcmdHELPmRow3(fshcmdVARS, fshcmdSLEEP, fshcmdINFO) fshcmdHELPmRow3(fshcmdVARS, fshcmdSLEEP, fshcmdINFO)
fshcmdHELPmRow2(fshcmdHELP, fshcmdMAN) fshcmdHELPmRow2(fshcmdHELP, fshcmdMAN)
fshcmdHELPmRow2(cryptocmdENCRYPT, cryptocmdDECRYPT)
; Extention Point ; Extention Point
call _NewLine call _NewLine

View File

@ -7,7 +7,7 @@ FshVVars: .db "64w", 0
FshVMajor: .db "0", 0 FshVMajor: .db "0", 0
FshVMinor: .db "1", 0 FshVMinor: .db "1", 0
FshVPatch: .db "0", 0 FshVPatch: .db "0", 0
FshVBuild: .db "464", 0 FshVBuild: .db "490", 0
FshVSeparator: .db ".", 0 FshVSeparator: .db ".", 0
FshMotd2nd: .db "Press 2nd for numbers", 0 FshMotd2nd: .db "Press 2nd for numbers", 0
FshMotdHelp: .db "Type 'HELP' for help", 0 FshMotdHelp: .db "Type 'HELP' for help", 0

View File

@ -11,7 +11,7 @@ xorcrypt:
push bc push bc
call strlen call strlen
push de push de
push hl push hl
ld hl, 0 ld hl, 0
ld h, b ld h, b
ld l, c ld l, c
@ -22,28 +22,28 @@ xorcrypt:
sub a,c sub a,c
jp nc, xorcryptNSmaller jp nc, xorcryptNSmaller
ld c, $01 ld c, $01
ld a, 0 ld a, 0
ld l, 0 ld l, 0
xorcryptNSmaller: xorcryptNSmaller:
dec c dec c
jp nc, xorcryptNSmaller2 jp nc, xorcryptNSmaller2
ld c, 0 ld c, 0
xorcryptNSmaller2: xorcryptNSmaller2:
ld b, c ld b, c
ld c, l ;b=len(seed) c=len(string) ld c, l ;b=len(seed) c=len(string)
pop hl pop hl
or a, a or a, a
pop de pop de
jr z, xorcryptEnd jr z, xorcryptEnd
push de push de
ex de, hl; hl=seed ex de, hl; hl=seed
pop hl pop hl
push bc push bc
push de push de
ld de, 0 ld de, 0
ld e, b ld e, b
ld bc, 0 ld bc, 0
ld c, e ld c, e
add hl, bc add hl, bc
pop de pop de
pop bc pop bc
@ -51,16 +51,16 @@ xorcryptNSmaller2:
ld (hl), %10000000 ld (hl), %10000000
push bc push bc
dec b dec b
ld a, $FF ld a, $FF
cp a, b cp a, b
jr z, xorcryptPadLoopEnd jr z, xorcryptPadLoopEnd
ld a, $00 ld a, $00
cp a, b cp a, b
jr nz, xorcryptPadLoop jr nz, xorcryptPadLoop
inc b inc b
xorcryptPadLoop: xorcryptPadLoop:
inc hl inc hl
ld (hl), $11 ld (hl), 'e'
djnz xorcryptPadLoop djnz xorcryptPadLoop
xorcryptPadLoopEnd: xorcryptPadLoopEnd:
pop bc pop bc
@ -77,6 +77,10 @@ xorcryptEnd:
;or a, a ;or a, a
;jr z, xorcryptRandLoopEnd ;jr z, xorcryptRandLoopEnd
;call randomint ;call randomint
;or a, a
;jr nz, xorcryptRandLoopLD
;ld a, '/'
;xorcryptRandLoopLD:
;ld (hl), a ;ld (hl), a
;inc hl ;inc hl
;jr xorcryptRandLoop ;jr xorcryptRandLoop
@ -84,4 +88,4 @@ xorcryptEnd:
;pop hl ;pop hl
call strxor call strxor
ret ret

View File

@ -274,6 +274,10 @@ strxorLoop:
or a, a or a, a
jr z, strxorEnd jr z, strxorEnd
xor (hl) xor (hl)
or a, a
jr nz, strxorLoopLD
ld a, (hl)
strxorLoopLD:
ld (de), a ld (de), a
inc de inc de
inc hl inc hl