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(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm)
subroutestrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPm)
subroutestrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPm)
routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm)
routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm)
@ -37,7 +37,7 @@ cryptocmdmanrouteu:
subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu)
subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu)
subrouteustrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPu)
subrouteustrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPu)
routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu)
routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu)

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
cryptocmdROT: .db "ROT", 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:
cryptocmdROTfArg1:
ld hl, FshCmdArgFlags

View File

@ -1,6 +1,6 @@
cryptocmdXOR: .db "XOR", 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:
cryptocmdXORfArg1:
ld hl, FshCmdArgFlags
@ -34,7 +34,7 @@ cryptocmdXORfArg2Get:
ld hl, cryptocmdXORfDMessage
call printprompt
ld hl, FshScratch
ld de, FshScratchSize - 4
ld de, FshScratchSize - 1 / 2
call inputcharstr
call _NewLine
cryptocmdXORfExe:

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

View File

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

View File

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

View File

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

View File

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