diff --git a/FSHa.asm b/FSHa.asm index 4fbaca1..0f808e2 100644 --- a/FSHa.asm +++ b/FSHa.asm @@ -18,11 +18,6 @@ Setup: CALL fshvarreset CALL printmotd - - ld hl, teststr - ld de, testkey - call xorcrypt - call _PutS Input: ;; TODO: Update status bar sometimes @@ -30,7 +25,7 @@ Input: CALL commandfill LD HL, PS1 - ;CALL printprompt + CALL printprompt LD HL, FshCmd LD DE, FshCmdInptSize @@ -80,7 +75,4 @@ FshFlags: .DB %00000000 #include "includes/man-db.asm" #include "includes/Command.asm" -teststr: .db "BADww", 0 -testkey: .db "OT", 0 - .end diff --git a/bin/FSHa.8xp b/bin/FSHa.8xp index 63be44f..a74a61c 100644 Binary files a/bin/FSHa.8xp and b/bin/FSHa.8xp differ diff --git a/bin/FSHa.lst b/bin/FSHa.lst index 2e2c24a..44001f7 100644 --- a/bin/FSHa.lst +++ b/bin/FSHa.lst @@ -114,2563 +114,2687 @@ Listing for file "FSHa.asm" 13 D1:A88D CD 28 08 02 CALL _homeup 14 D1:A891 CD 08 08 02 CALL _ClrLCDFull 15 D1:A895 - - - - - 16 D1:A895 CD 1B B4 D1 CALL drawstatusbar + 16 D1:A895 CD 95 B4 D1 CALL drawstatusbar 17 D1:A899 - - - - - 18 D1:A899 CD 50 B2 D1 CALL fshvarreset + 18 D1:A899 CD CA B2 D1 CALL fshvarreset 19 D1:A89D - - - - - 20 D1:A89D CD F6 B3 D1 CALL printmotd - 21 D1:A8A1 - - - - - 22 D1:A8A1 21 02 C6 D1 ld hl, teststr - 23 D1:A8A5 11 08 C6 D1 ld de, testkey - 24 D1:A8A9 CD 12 B5 D1 call xorcrypt - 25 D1:A8AD CD C0 07 02 call _PutS - 26 D1:A8B1 - - - - - 27 D1:A8B1 - - - - Input: - 28 D1:A8B1 - - - - ;; TODO: Update status bar sometimes - 29 D1:A8B1 3E 00 - - LD A, $00 - 30 D1:A8B3 CD 41 B0 D1 CALL commandfill - 31 D1:A8B7 - - - - - 32 D1:A8B7 21 37 A9 D1 LD HL, PS1 - 33 D1:A8BB - - - - ;CALL printprompt - 34 D1:A8BB - - - - - 35 D1:A8BB 21 9F EA D0 LD HL, FshCmd - 36 D1:A8BF 11 2C 00 00 LD DE, FshCmdInptSize - 37 D1:A8C3 CD 05 AD D1 CALL inputstr + 20 D1:A89D CD 70 B4 D1 CALL printmotd + 21 D1:A8A1 - - - - + 22 D1:A8A1 - - - - Input: + 23 D1:A8A1 - - - - ;; TODO: Update status bar sometimes + 24 D1:A8A1 3E 00 - - LD A, $00 + 25 D1:A8A3 CD BB B0 D1 CALL commandfill + 26 D1:A8A7 - - - - + 27 D1:A8A7 21 2B A9 D1 LD HL, PS1 + 28 D1:A8AB CD FB AA D1 CALL printprompt + 29 D1:A8AF - - - - + 30 D1:A8AF 21 9F EA D0 LD HL, FshCmd + 31 D1:A8B3 11 2C 00 00 LD DE, FshCmdInptSize + 32 D1:A8B7 CD 7F AD D1 CALL inputstr + 33 D1:A8BB - - - - + 34 D1:A8BB 21 9F EA D0 LD HL, FshCmd + 35 D1:A8BF CD D6 B0 D1 CALL fshparsecommand + 36 D1:A8C3 - - - - + 37 D1:A8C3 CD F0 07 02 CALL _NewLine 38 D1:A8C7 - - - - - 39 D1:A8C7 21 9F EA D0 LD HL, FshCmd - 40 D1:A8CB CD 5C B0 D1 CALL fshparsecommand - 41 D1:A8CF - - - - - 42 D1:A8CF CD F0 07 02 CALL _NewLine + 39 D1:A8C7 - - - - Decode: + 40 D1:A8C7 21 9F EA D0 LD HL, FshCmd + 41 D1:A8CB 11 CC EA D0 LD DE, FshCmdOP + 42 D1:A8CF CD 1B B6 D1 CALL commanddecode 43 D1:A8D3 - - - - - 44 D1:A8D3 - - - - Decode: - 45 D1:A8D3 21 9F EA D0 LD HL, FshCmd - 46 D1:A8D7 11 CC EA D0 LD DE, FshCmdOP - 47 D1:A8DB CD 7D B5 D1 CALL commanddecode - 48 D1:A8DF - - - - - 49 D1:A8DF - - - - Route: - 50 D1:A8DF 21 CC EA D0 LD HL, FshCmdOP - 51 D1:A8E3 C3 86 B5 D1 JP commandroute - 52 D1:A8E7 - - - - - 53 D1:A8E7 - - - - Fin: - 54 D1:A8E7 C3 B1 A8 D1 JP Input - 55 D1:A8EB - - - - - 56 D1:A8EB - - - - Err: - 57 D1:A8EB C3 7B B2 D1 JP ErrRoute - 58 D1:A8EF - - - - - 59 D1:A8EF - - - - Cleanup: - 60 D1:A8EF FD CB 03 C6 SET graphdraw,(IY+graphflags) - 61 D1:A8F3 CD 08 08 02 CALL _ClrLCDFull - 62 D1:A8F7 CD 18 08 02 CALL _ClrTxtShdw - 63 D1:A8FB CD 28 08 02 CALL _homeup - 64 D1:A8FF CD 3C 1A 02 call _DrawStatusBar - 65 D1:A903 - - - - - 66 D1:A903 - - - - Exit: - 67 D1:A903 FD CB 00 AE RES donePrgm,(iy+doneFlags) - 68 D1:A907 C9 - - - RET - 69 D1:A908 - - - - - 70 D1:A908 - - - - #include "includes/Text.inc" + 44 D1:A8D3 - - - - Route: + 45 D1:A8D3 21 CC EA D0 LD HL, FshCmdOP + 46 D1:A8D7 C3 24 B6 D1 JP commandroute + 47 D1:A8DB - - - - + 48 D1:A8DB - - - - Fin: + 49 D1:A8DB C3 A1 A8 D1 JP Input + 50 D1:A8DF - - - - + 51 D1:A8DF - - - - Err: + 52 D1:A8DF C3 F5 B2 D1 JP ErrRoute + 53 D1:A8E3 - - - - + 54 D1:A8E3 - - - - Cleanup: + 55 D1:A8E3 FD CB 03 C6 SET graphdraw,(IY+graphflags) + 56 D1:A8E7 CD 08 08 02 CALL _ClrLCDFull + 57 D1:A8EB CD 18 08 02 CALL _ClrTxtShdw + 58 D1:A8EF CD 28 08 02 CALL _homeup + 59 D1:A8F3 CD 3C 1A 02 call _DrawStatusBar + 60 D1:A8F7 - - - - + 61 D1:A8F7 - - - - Exit: + 62 D1:A8F7 FD CB 00 AE RES donePrgm,(iy+doneFlags) + 63 D1:A8FB C9 - - - RET + 64 D1:A8FC - - - - + 65 D1:A8FC - - - - #include "includes/Text.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Text.inc" - 1 D1:A908 - - - - ;STRINGS ------------------------- - 2 D1:A908 46 73 68 20 + 1 D1:A8FC - - - - ;STRINGS ------------------------- + 2 D1:A8FC 46 73 68 20 53 48 65 6C 6C 00 - - FshName: .db "Fsh SHell", 0 - 3 D1:A912 42 79 20 70 + 3 D1:A906 42 79 20 70 69 78 69 79 73 00 - - FshBy: .db "By pixiys", 0 - 4 D1:A91C 73 74 65 70 + 4 D1:A910 73 74 65 70 68 65 6E 6C 74 6F 74 68 2E 63 6F 6D 2F 66 73 68 2D 73 68 65 6C 6C 00 - FshSite: .db "stephenltoth.com/fsh-shell", 0 - 5 D1:A937 46 53 48 3E + 5 D1:A92B 46 53 48 3E 20 00 - - PS1: .db "FSH> ", 0 - 6 D1:A93D 36 34 77 00 FshVVars: .db "64w", 0 - 7 D1:A941 30 00 - - FshVMajor: .db "0", 0 - 8 D1:A943 31 00 - - FshVMinor: .db "1", 0 - 9 D1:A945 30 00 - - FshVPatch: .db "0", 0 - 10 D1:A947 32 30 35 00 FshVBuild: .db "205", 0 - 11 D1:A94B 2E 00 - - FshVSeparator: .db ".", 0 - 12 D1:A94D 50 72 65 73 + 6 D1:A931 36 34 77 00 FshVVars: .db "64w", 0 + 7 D1:A935 30 00 - - FshVMajor: .db "0", 0 + 8 D1:A937 31 00 - - FshVMinor: .db "1", 0 + 9 D1:A939 30 00 - - FshVPatch: .db "0", 0 + 10 D1:A93B 32 30 35 00 FshVBuild: .db "205", 0 + 11 D1:A93F 2E 00 - - FshVSeparator: .db ".", 0 + 12 D1:A941 50 72 65 73 73 20 32 6E 64 20 66 6F 72 20 6E 75 6D 62 65 72 73 00 - - FshMotd2nd: .db "Press 2nd for numbers", 0 - 13 D1:A963 54 79 70 65 + 13 D1:A957 54 79 70 65 20 27 48 45 4C 50 27 20 66 6F 72 20 68 65 6C 70 00 - - - FshMotdHelp: .db "Type 'HELP' for help", 0 Listing for file "FSHa.asm" - 71 D1:A978 00 - - - FshFlags: .DB %00000000 - 72 D1:A979 - - - - ; 0: Debug Flag - 73 D1:A979 - - - - ; 1: Error Flag - 74 D1:A979 - - - - ; 2: Program Flag - 75 D1:A979 - - - - - 76 D1:A979 - - - - #include "includes/lib/std/std.inc" + 66 D1:A96C 00 - - - FshFlags: .DB %00000000 + 67 D1:A96D - - - - ; 0: Debug Flag + 68 D1:A96D - - - - ; 1: Error Flag + 69 D1:A96D - - - - ; 2: Program Flag + 70 D1:A96D - - - - + 71 D1:A96D - - - - #include "includes/lib/std/std.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 1 D1:A979 - - - - #include "includes/lib/std/Math.asm" + 1 D1:A96D - - - - #include "includes/lib/std/Math.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Math.asm" - 1 D1:A979 - - - - ;;cpHLDE - 2 D1:A979 - - - - ;;Compares HL to DE. - 3 D1:A979 - - - - ;;Output: - 4 D1:A979 - - - - ;; Same as z80 CP instruction. - 5 D1:A979 - - - - cpHLDE: - 6 D1:A979 B7 - - - or a - 7 D1:A97A ED 52 - - sbc hl, de - 8 D1:A97C 19 - - - add hl,de - 9 D1:A97D C9 - - - ret - 10 D1:A97E - - - - - 11 D1:A97E - - - - ;;cpHLBC - 12 D1:A97E - - - - ;;Compares HL to BC. - 13 D1:A97E - - - - ;;Output: - 14 D1:A97E - - - - ;; Same as z80 CP instruction. - 15 D1:A97E - - - - cpHLBC: - 16 D1:A97E B7 - - - or a - 17 D1:A97F ED 42 - - sbc hl, bc - 18 D1:A981 09 - - - add hl,bc - 19 D1:A982 C9 - - - ret - 20 D1:A983 - - - - - 21 D1:A983 - - - - ;;cpBCDE - 22 D1:A983 - - - - ;;Compares DE to BC. - 23 D1:A983 - - - - ;;Output: - 24 D1:A983 - - - - ;; Same as z80 CP instruction. - 25 D1:A983 - - - - cpBCDE: - 26 D1:A983 E5 - - - push hl - 27 D1:A984 60 - - - ld h, b - 28 D1:A985 69 - - - ld l, c - 29 D1:A986 B7 - - - or a - 30 D1:A987 ED 52 - - sbc hl, de - 31 D1:A989 E1 - - - pop hl - 32 D1:A98A C9 - - - ret - 33 D1:A98B - - - - - 34 D1:A98B - - - - ;;mulAbyB - 35 D1:A98B - - - - ;;Multiplys AxB - 36 D1:A98B - - - - ;;Inputs: - 37 D1:A98B - - - - ;; A: Multiplier - 38 D1:A98B - - - - ;; B: Multiplicand - 39 D1:A98B - - - - ;;Outputs: - 40 D1:A98B - - - - ;; A: Product of A and B. - 41 D1:A98B - - - - mulAbyB: - 42 D1:A98B C5 - - - push bc - 43 D1:A98C 4F - - - ld c, a - 44 D1:A98D - - - - mulAbyBLoop: - 45 D1:A98D 81 - - - add a, c - 46 D1:A98E 10 FD - - djnz mulAbyBLoop - 47 D1:A990 91 - - - sub c - 48 D1:A991 C1 - - - pop bc - 49 D1:A992 C9 - - - ret - 50 D1:A993 - - - - - 51 D1:A993 - - - - ;;mulAbyHL - 52 D1:A993 - - - - ;;Multiplys AxHL - 53 D1:A993 - - - - ;;Inputs: - 54 D1:A993 - - - - ;; A: Multiplier - 55 D1:A993 - - - - ;; HL: Multiplicand - 56 D1:A993 - - - - ;;Outputs: - 57 D1:A993 - - - - ;; HL: Product of A and HL. - 58 D1:A993 - - - - mulAbyHL: - 59 D1:A993 C5 - - - push bc - 60 D1:A994 D5 - - - push de - 61 D1:A995 11 00 00 00 ld de, 0 - 62 D1:A999 EB - - - ex de, hl - 63 D1:A99A FE 00 - - cp 0 - 64 D1:A99C 28 04 - - jr z, mulAbyHLEnd - 65 D1:A99E 47 - - - ld b, a - 66 D1:A99F - - - - mulAbyHLLoop: - 67 D1:A99F 19 - - - add hl, de - 68 D1:A9A0 10 FD - - djnz mulAbyHLLoop - 69 D1:A9A2 - - - - mulAbyHLEnd: - 70 D1:A9A2 D1 - - - pop de - 71 D1:A9A3 C1 - - - pop bc - 72 D1:A9A4 C9 - - - ret - 73 D1:A9A5 - - - - - 74 D1:A9A5 - - - - ;;modHL - 75 D1:A9A5 - - - - ;;H % L => H - 76 D1:A9A5 - - - - ;;Inputs: - 77 D1:A9A5 - - - - ;; H: - 78 D1:A9A5 - - - - ;; L: - 79 D1:A9A5 - - - - modHL: - 80 D1:A9A5 C5 - - - push bc - 81 D1:A9A6 44 - - - ld b, h - 82 D1:A9A7 3E 00 - - ld a, 0 - 83 D1:A9A9 - - - - modHLLoop: - 84 D1:A9A9 3C - - - inc a - 85 D1:A9AA BD - - - cp a, l - 86 D1:A9AB 20 02 - - jr nz, modHLLoopEnd - 87 D1:A9AD 3E 00 - - ld a, 0 - 88 D1:A9AF - - - - modHLLoopEnd: - 89 D1:A9AF 10 F8 - - djnz modHLLoop - 90 D1:A9B1 67 - - - ld h, a - 91 D1:A9B2 C1 - - - pop bc - 92 D1:A9B3 C9 - - - ret - 93 D1:A9B4 - - - - - 94 D1:A9B4 - - - - - 95 D1:A9B4 - - - - - 96 D1:A9B4 - - - - ;;mul32By8 - 97 D1:A9B4 - - - - ;;Performs an unsigned multiplication of DEHL and A. - 98 D1:A9B4 - - - - ;;Outputs: - 99 D1:A9B4 - - - - ;; DEHL: product of DEHL and A - 100 D1:A9B4 - - - - mul32By8: - 101 D1:A9B4 C5 DD E5 - push bc \ push ix - 102 D1:A9B7 DD 2E 08 - ld ixl, 8 - 103 D1:A9BA D5 - - - push de - 104 D1:A9BB E5 - - - push hl - 105 D1:A9BC 21 00 00 00 ld hl, 0 - 106 D1:A9C0 54 - - - ld d, h - 107 D1:A9C1 5D - - - ld e, l - 108 D1:A9C2 - - - - mul32by8loop: - 109 D1:A9C2 29 - - - add hl, hl - 110 D1:A9C3 CB 13 - - rl e - 111 D1:A9C5 CB 12 - - rl d - 112 D1:A9C7 17 - - - rla - 113 D1:A9C8 30 0A - - jr nc, mul32by8noAdd - 114 D1:A9CA C1 - - - pop bc - 115 D1:A9CB 09 - - - add hl, bc - 116 D1:A9CC E3 - - - ex (sp), hl - 117 D1:A9CD E5 - - - push hl - 118 D1:A9CE ED 5A - - adc hl, de - 119 D1:A9D0 D1 - - - pop de - 120 D1:A9D1 EB - - - ex de, hl - 121 D1:A9D2 E3 - - - ex (sp), hl - 122 D1:A9D3 C5 - - - push bc - 123 D1:A9D4 - - - - mul32by8noAdd: - 124 D1:A9D4 DD 2D - - dec ixl - 125 D1:A9D6 20 EA - - jr nz, mul32by8loop - 126 D1:A9D8 C1 - - - pop bc - 127 D1:A9D9 C1 - - - pop bc - 128 D1:A9DA DD E1 C1 - pop ix \ pop bc - 129 D1:A9DD C9 - - - ret - 130 D1:A9DE - - - - + 1 D1:A96D - - - - ;;cpHLDE + 2 D1:A96D - - - - ;;Compares HL to DE. + 3 D1:A96D - - - - ;;Output: + 4 D1:A96D - - - - ;; Same as z80 CP instruction. + 5 D1:A96D - - - - cpHLDE: + 6 D1:A96D B7 - - - or a + 7 D1:A96E ED 52 - - sbc hl, de + 8 D1:A970 19 - - - add hl,de + 9 D1:A971 C9 - - - ret + 10 D1:A972 - - - - + 11 D1:A972 - - - - ;;cpHLBC + 12 D1:A972 - - - - ;;Compares HL to BC. + 13 D1:A972 - - - - ;;Output: + 14 D1:A972 - - - - ;; Same as z80 CP instruction. + 15 D1:A972 - - - - cpHLBC: + 16 D1:A972 B7 - - - or a + 17 D1:A973 ED 42 - - sbc hl, bc + 18 D1:A975 09 - - - add hl,bc + 19 D1:A976 C9 - - - ret + 20 D1:A977 - - - - + 21 D1:A977 - - - - ;;cpBCDE + 22 D1:A977 - - - - ;;Compares DE to BC. + 23 D1:A977 - - - - ;;Output: + 24 D1:A977 - - - - ;; Same as z80 CP instruction. + 25 D1:A977 - - - - cpBCDE: + 26 D1:A977 E5 - - - push hl + 27 D1:A978 60 - - - ld h, b + 28 D1:A979 69 - - - ld l, c + 29 D1:A97A B7 - - - or a + 30 D1:A97B ED 52 - - sbc hl, de + 31 D1:A97D E1 - - - pop hl + 32 D1:A97E C9 - - - ret + 33 D1:A97F - - - - + 34 D1:A97F - - - - ;;mulAbyB + 35 D1:A97F - - - - ;;Multiplys AxB + 36 D1:A97F - - - - ;;Inputs: + 37 D1:A97F - - - - ;; A: Multiplier + 38 D1:A97F - - - - ;; B: Multiplicand + 39 D1:A97F - - - - ;;Outputs: + 40 D1:A97F - - - - ;; A: Product of A and B. + 41 D1:A97F - - - - mulAbyB: + 42 D1:A97F C5 - - - push bc + 43 D1:A980 4F - - - ld c, a + 44 D1:A981 - - - - mulAbyBLoop: + 45 D1:A981 81 - - - add a, c + 46 D1:A982 10 FD - - djnz mulAbyBLoop + 47 D1:A984 91 - - - sub c + 48 D1:A985 C1 - - - pop bc + 49 D1:A986 C9 - - - ret + 50 D1:A987 - - - - + 51 D1:A987 - - - - ;;mulAbyHL + 52 D1:A987 - - - - ;;Multiplys AxHL + 53 D1:A987 - - - - ;;Inputs: + 54 D1:A987 - - - - ;; A: Multiplier + 55 D1:A987 - - - - ;; HL: Multiplicand + 56 D1:A987 - - - - ;;Outputs: + 57 D1:A987 - - - - ;; HL: Product of A and HL. + 58 D1:A987 - - - - mulAbyHL: + 59 D1:A987 C5 - - - push bc + 60 D1:A988 D5 - - - push de + 61 D1:A989 11 00 00 00 ld de, 0 + 62 D1:A98D EB - - - ex de, hl + 63 D1:A98E FE 00 - - cp 0 + 64 D1:A990 28 04 - - jr z, mulAbyHLEnd + 65 D1:A992 47 - - - ld b, a + 66 D1:A993 - - - - mulAbyHLLoop: + 67 D1:A993 19 - - - add hl, de + 68 D1:A994 10 FD - - djnz mulAbyHLLoop + 69 D1:A996 - - - - mulAbyHLEnd: + 70 D1:A996 D1 - - - pop de + 71 D1:A997 C1 - - - pop bc + 72 D1:A998 C9 - - - ret + 73 D1:A999 - - - - + 74 D1:A999 - - - - ;;modHL + 75 D1:A999 - - - - ;;H % L => H + 76 D1:A999 - - - - ;;Inputs: + 77 D1:A999 - - - - ;; H: + 78 D1:A999 - - - - ;; L: + 79 D1:A999 - - - - modHL: + 80 D1:A999 C5 - - - push bc + 81 D1:A99A 44 - - - ld b, h + 82 D1:A99B 3E 00 - - ld a, 0 + 83 D1:A99D - - - - modHLLoop: + 84 D1:A99D 3C - - - inc a + 85 D1:A99E BD - - - cp a, l + 86 D1:A99F 20 02 - - jr nz, modHLLoopEnd + 87 D1:A9A1 3E 00 - - ld a, 0 + 88 D1:A9A3 - - - - modHLLoopEnd: + 89 D1:A9A3 10 F8 - - djnz modHLLoop + 90 D1:A9A5 67 - - - ld h, a + 91 D1:A9A6 C1 - - - pop bc + 92 D1:A9A7 C9 - - - ret + 93 D1:A9A8 - - - - + 94 D1:A9A8 - - - - + 95 D1:A9A8 - - - - + 96 D1:A9A8 - - - - ;;mul32By8 + 97 D1:A9A8 - - - - ;;Performs an unsigned multiplication of DEHL and A. + 98 D1:A9A8 - - - - ;;Outputs: + 99 D1:A9A8 - - - - ;; DEHL: product of DEHL and A + 100 D1:A9A8 - - - - mul32By8: + 101 D1:A9A8 C5 DD E5 - push bc \ push ix + 102 D1:A9AB DD 2E 08 - ld ixl, 8 + 103 D1:A9AE D5 - - - push de + 104 D1:A9AF E5 - - - push hl + 105 D1:A9B0 21 00 00 00 ld hl, 0 + 106 D1:A9B4 54 - - - ld d, h + 107 D1:A9B5 5D - - - ld e, l + 108 D1:A9B6 - - - - mul32by8loop: + 109 D1:A9B6 29 - - - add hl, hl + 110 D1:A9B7 CB 13 - - rl e + 111 D1:A9B9 CB 12 - - rl d + 112 D1:A9BB 17 - - - rla + 113 D1:A9BC 30 0A - - jr nc, mul32by8noAdd + 114 D1:A9BE C1 - - - pop bc + 115 D1:A9BF 09 - - - add hl, bc + 116 D1:A9C0 E3 - - - ex (sp), hl + 117 D1:A9C1 E5 - - - push hl + 118 D1:A9C2 ED 5A - - adc hl, de + 119 D1:A9C4 D1 - - - pop de + 120 D1:A9C5 EB - - - ex de, hl + 121 D1:A9C6 E3 - - - ex (sp), hl + 122 D1:A9C7 C5 - - - push bc + 123 D1:A9C8 - - - - mul32by8noAdd: + 124 D1:A9C8 DD 2D - - dec ixl + 125 D1:A9CA 20 EA - - jr nz, mul32by8loop + 126 D1:A9CC C1 - - - pop bc + 127 D1:A9CD C1 - - - pop bc + 128 D1:A9CE DD E1 C1 - pop ix \ pop bc + 129 D1:A9D1 C9 - - - ret + 130 D1:A9D2 - - - - Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 2 D1:A9DE - - - - #include "includes/lib/std/Random.asm" + 2 D1:A9D2 - - - - #include "includes/lib/std/Random.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Random.asm" - 1 D1:A9DE - - - - ;;randomint - 2 D1:A9DE - - - - ;;Gets an 8-bit random number. - 3 D1:A9DE - - - - ;;Inputs: - 4 D1:A9DE - - - - ;; A: Seed - 5 D1:A9DE - - - - ;;Outputs: - 6 D1:A9DE - - - - ;; A: Random number (0-255) - 7 D1:A9DE - - - - ;;Notes: - 8 D1:A9DE - - - - ;; This is not cryptographically random. - 9 D1:A9DE - - - - randomint: - 10 D1:A9DE 32 31 AA D1 ld (randomintSeed), a - 11 D1:A9E2 E5 - - - push hl - 12 D1:A9E3 D5 - - - push de - 13 D1:A9E4 C5 - - - push bc - 14 D1:A9E5 2A 31 AA D1 ld hl, (randomintSeed) - 15 D1:A9E9 ED 5B 33 AA + 1 D1:A9D2 - - - - ;;randomint + 2 D1:A9D2 - - - - ;;Gets an 8-bit random number. + 3 D1:A9D2 - - - - ;;Inputs: + 4 D1:A9D2 - - - - ;; A: Seed + 5 D1:A9D2 - - - - ;;Outputs: + 6 D1:A9D2 - - - - ;; A: Random number (0-255) + 7 D1:A9D2 - - - - ;;Notes: + 8 D1:A9D2 - - - - ;; This is not cryptographically random. + 9 D1:A9D2 - - - - randomint: + 10 D1:A9D2 32 25 AA D1 ld (randomintSeed), a + 11 D1:A9D6 E5 - - - push hl + 12 D1:A9D7 D5 - - - push de + 13 D1:A9D8 C5 - - - push bc + 14 D1:A9D9 2A 25 AA D1 ld hl, (randomintSeed) + 15 D1:A9DD ED 5B 27 AA D1 - - - ld de, (randomintSeed+2) - 16 D1:A9EE 44 - - - ld b, h - 17 D1:A9EF 4D - - - ld c, l - 18 D1:A9F0 29 CB 13 CB + 16 D1:A9E2 44 - - - ld b, h + 17 D1:A9E3 4D - - - ld c, l + 18 D1:A9E4 29 CB 13 CB 12 - - - add hl, hl \ rl e \ rl d - 19 D1:A9F5 29 CB 13 CB + 19 D1:A9E9 29 CB 13 CB 12 - - - add hl, hl \ rl e \ rl d - 20 D1:A9FA 2C - - - inc l - 21 D1:A9FB 09 - - - add hl, bc - 22 D1:A9FC 22 31 AA D1 ld (randomintSeed), hl - 23 D1:AA00 2A 33 AA D1 ld hl, (randomintSeed+2) - 24 D1:AA04 ED 5A - - adc hl, de - 25 D1:AA06 22 34 AA D1 ld (randomintSeed+3), hl - 26 D1:AA0A EB - - - ex de, hl - 27 D1:AA0B 2A 31 AA D1 ld hl, (randomintSeed) - 28 D1:AA0F ED 5B 35 AA + 20 D1:A9EE 2C - - - inc l + 21 D1:A9EF 09 - - - add hl, bc + 22 D1:A9F0 22 25 AA D1 ld (randomintSeed), hl + 23 D1:A9F4 2A 27 AA D1 ld hl, (randomintSeed+2) + 24 D1:A9F8 ED 5A - - adc hl, de + 25 D1:A9FA 22 28 AA D1 ld (randomintSeed+3), hl + 26 D1:A9FE EB - - - ex de, hl + 27 D1:A9FF 2A 25 AA D1 ld hl, (randomintSeed) + 28 D1:AA03 ED 5B 29 AA D1 - - - ld de, (randomintSeed+4) - 29 D1:AA14 01 5E F9 00 ld bc, 63838 - 30 D1:AA18 29 CB 11 CB + 29 D1:AA08 01 5E F9 00 ld bc, 63838 + 30 D1:AA0C 29 CB 11 CB 10 - - - add hl, hl \ rl c \ rl b - 31 D1:AA1D ED 43 37 AA + 31 D1:AA11 ED 43 2B AA D1 - - - ld (randomintSeed+6), bc - 32 D1:AA22 9F - - - sbc a, a - 33 D1:AA23 E6 F1 - - and %11110001 - 34 D1:AA25 AD - - - xor l - 35 D1:AA26 6F - - - ld l, a - 36 D1:AA27 22 38 AA D1 ld (randomintSeed+7), hl - 37 D1:AA2B 7A - - - ld a, d - 38 D1:AA2C 80 - - - add a, b - 39 D1:AA2D C1 - - - pop bc - 40 D1:AA2E D1 - - - pop de - 41 D1:AA2F E1 - - - pop hl - 42 D1:AA30 C9 - - - ret - 43 D1:AA31 - - - - ;Actual random bytes - 44 D1:AA31 28 BE B3 BB + 32 D1:AA16 9F - - - sbc a, a + 33 D1:AA17 E6 F1 - - and %11110001 + 34 D1:AA19 AD - - - xor l + 35 D1:AA1A 6F - - - ld l, a + 36 D1:AA1B 22 2C AA D1 ld (randomintSeed+7), hl + 37 D1:AA1F 7A - - - ld a, d + 38 D1:AA20 80 - - - add a, b + 39 D1:AA21 C1 - - - pop bc + 40 D1:AA22 D1 - - - pop de + 41 D1:AA23 E1 - - - pop hl + 42 D1:AA24 C9 - - - ret + 43 D1:AA25 - - - - ;Actual random bytes + 44 D1:AA25 28 BE B3 BB A3 F1 97 AF 87 50 26 91 46 CC 5F C7 randomintSeed: .db $28, $BE, $B3, $BB, $a3, $f1, $97, $af, $87, $50, $26, $91, $46, $cc, $5f, $c7 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 3 D1:AA41 - - - - #include "includes/lib/std/Byte.asm" + 3 D1:AA35 - - - - #include "includes/lib/std/Byte.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Byte.asm" - 1 D1:AA41 - - - - ;;bytecmp - 2 D1:AA41 - - - - ;;Determines if two bytes are equal. - 3 D1:AA41 - - - - ;;Inputs: - 4 D1:AA41 - - - - ;; HL: Byte pointer - 5 D1:AA41 - - - - ;; DE: Byte pointer - 6 D1:AA41 - - - - ;;Outputs: - 7 D1:AA41 - - - - ;; Z: Set if equal, reset if not equal - 8 D1:AA41 - - - - bytecmp: - 9 D1:AA41 E5 - - - push hl - 10 D1:AA42 D5 - - - push de - 11 D1:AA43 1A - - - ld a, (de) - 12 D1:AA44 B7 - - - or a - 13 D1:AA45 BE - - - cp (hl) - 14 D1:AA46 D1 - - - pop de - 15 D1:AA47 E1 - - - pop hl - 16 D1:AA48 C9 - - - ret - 17 D1:AA49 - - - - - 18 D1:AA49 - - - - ;;bytecpy - 19 D1:AA49 - - - - ;; Copies a byte. - 20 D1:AA49 - - - - ;;Inputs: - 21 D1:AA49 - - - - ;; HL: Byte pointer - 22 D1:AA49 - - - - ;; DE: Destination - 23 D1:AA49 - - - - bytecpy: - 24 D1:AA49 D5 - - - push de - 25 D1:AA4A E5 - - - push hl - 26 D1:AA4B EB - - - ex de, hl - 27 D1:AA4C 1A - - - ld a, (de) - 28 D1:AA4D 77 - - - ld (hl), a - 29 D1:AA4E E1 - - - pop hl - 30 D1:AA4F D1 - - - pop de - 31 D1:AA50 C9 - - - ret + 1 D1:AA35 - - - - ;;bytecmp + 2 D1:AA35 - - - - ;;Determines if two bytes are equal. + 3 D1:AA35 - - - - ;;Inputs: + 4 D1:AA35 - - - - ;; HL: Byte pointer + 5 D1:AA35 - - - - ;; DE: Byte pointer + 6 D1:AA35 - - - - ;;Outputs: + 7 D1:AA35 - - - - ;; Z: Set if equal, reset if not equal + 8 D1:AA35 - - - - bytecmp: + 9 D1:AA35 E5 - - - push hl + 10 D1:AA36 D5 - - - push de + 11 D1:AA37 1A - - - ld a, (de) + 12 D1:AA38 B7 - - - or a + 13 D1:AA39 BE - - - cp (hl) + 14 D1:AA3A D1 - - - pop de + 15 D1:AA3B E1 - - - pop hl + 16 D1:AA3C C9 - - - ret + 17 D1:AA3D - - - - + 18 D1:AA3D - - - - ;;bytecpy + 19 D1:AA3D - - - - ;; Copies a byte. + 20 D1:AA3D - - - - ;;Inputs: + 21 D1:AA3D - - - - ;; HL: Byte pointer + 22 D1:AA3D - - - - ;; DE: Destination + 23 D1:AA3D - - - - bytecpy: + 24 D1:AA3D D5 - - - push de + 25 D1:AA3E E5 - - - push hl + 26 D1:AA3F EB - - - ex de, hl + 27 D1:AA40 1A - - - ld a, (de) + 28 D1:AA41 77 - - - ld (hl), a + 29 D1:AA42 E1 - - - pop hl + 30 D1:AA43 D1 - - - pop de + 31 D1:AA44 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 4 D1:AA51 - - - - #include "includes/lib/std/Mem.asm" + 4 D1:AA45 - - - - #include "includes/lib/std/Mem.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Mem.asm" - 1 D1:AA51 - - - - ;;memset - 2 D1:AA51 - - - - ;;Fills B amount of bytes from hl with a - 3 D1:AA51 - - - - ;;Inputs: - 4 D1:AA51 - - - - ;; HL: start - 5 D1:AA51 - - - - ;; B: how many bytes - 6 D1:AA51 - - - - ;; A: Byte - 7 D1:AA51 - - - - memset: - 8 D1:AA51 E5 - - - push hl - 9 D1:AA52 C5 - - - push bc - 10 D1:AA53 - - - - memsetLoop: - 11 D1:AA53 77 - - - ld (hl), a - 12 D1:AA54 23 - - - inc hl - 13 D1:AA55 10 FC - - djnz memsetLoop - 14 D1:AA57 C1 - - - pop bc - 15 D1:AA58 E1 - - - pop hl - 16 D1:AA59 C9 - - - ret + 1 D1:AA45 - - - - ;;memset + 2 D1:AA45 - - - - ;;Fills B amount of bytes from hl with a + 3 D1:AA45 - - - - ;;Inputs: + 4 D1:AA45 - - - - ;; HL: start + 5 D1:AA45 - - - - ;; B: how many bytes + 6 D1:AA45 - - - - ;; A: Byte + 7 D1:AA45 - - - - memset: + 8 D1:AA45 E5 - - - push hl + 9 D1:AA46 C5 - - - push bc + 10 D1:AA47 - - - - memsetLoop: + 11 D1:AA47 77 - - - ld (hl), a + 12 D1:AA48 23 - - - inc hl + 13 D1:AA49 10 FC - - djnz memsetLoop + 14 D1:AA4B C1 - - - pop bc + 15 D1:AA4C E1 - - - pop hl + 16 D1:AA4D C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 5 D1:AA5A - - - - #include "includes/lib/std/Char.asm" + 5 D1:AA4E - - - - #include "includes/lib/std/Char.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Char.asm" - 1 D1:AA5A - - - - #include "includes/tables/CSC.asm" + 1 D1:AA4E - - - - #include "includes/tables/CSC.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\tables\CSC.asm" - 1 D1:AA5A - - - - charMapCSC: - 2 D1:AA5A 22 57 52 4D + 1 D1:AA4E - - - - charMapCSC: + 2 D1:AA4E 22 57 52 4D 48 FF FF - .DB "\"WRMH", $FF, $FF - 3 D1:AA61 3F 5B 56 51 + 3 D1:AA55 3F 5B 56 51 4C 47 FF FF .DB Lquestion, Ltheta, "VQLG", $FF, $FF - 4 D1:AA69 3A 5A 55 50 + 4 D1:AA5D 3A 5A 55 50 4B 46 43 FF .DB ":ZUPKFC", $FF - 5 D1:AA71 20 59 54 4F + 5 D1:AA65 20 59 54 4F 4A 45 42 FF .DB " YTOJEB", $FF - 6 D1:AA79 FF 58 53 4E + 6 D1:AA6D FF 58 53 4E 49 44 41 - .DB $FF, "XSNIDA" - 7 D1:AA80 - - - - - 8 D1:AA80 - - - - numsymMapCSC - 9 D1:AA80 2B 2D 2A 2F + 7 D1:AA74 - - - - + 8 D1:AA74 - - - - numsymMapCSC + 9 D1:AA74 2B 2D 2A 2F 5E FF FF - .DB "+-*/^", $FF, $FF - 10 D1:AA87 5F 33 36 39 + 10 D1:AA7B 5F 33 36 39 29 C1 5D FF .DB "_369)", $C1, "]", $FF - 11 D1:AA8F 2E 32 35 38 + 11 D1:AA83 2E 32 35 38 28 7B 7D 3B .DB ".258({};" - 12 D1:AA97 30 31 34 37 + 12 D1:AA8B 30 31 34 37 2C 20 3C 3E 7C FF - - .DB "0147, <>|", $FF - 13 D1:AAA1 05 21 40 23 + 13 D1:AA95 05 21 40 23 25 26 - - .DB $05, "!@#%&" - 14 D1:AAA7 - - - - - 15 D1:AAA7 - - - - numMapCSC - 16 D1:AAA7 FF FF FF FF + 14 D1:AA9B - - - - + 15 D1:AA9B - - - - numMapCSC + 16 D1:AA9B FF FF FF FF FF FF FF - .DB $FF, $FF, $FF, $FF, $FF, $FF, $FF - 17 D1:AAAE FF 33 36 39 + 17 D1:AAA2 FF 33 36 39 FF FF FF FF .DB $FF, "369", $FF, $FF, $FF, $FF - 18 D1:AAB6 FF 32 35 38 + 18 D1:AAAA FF 32 35 38 FF FF FF FF .DB $FF, "258", $FF, $FF, $FF, $FF - 19 D1:AABE 30 31 34 37 + 19 D1:AAB2 30 31 34 37 FF FF FF FF FF FF - - .DB "0147", $FF, $FF, $FF, $FF, $FF, $FF - 20 D1:AAC8 FF FF FF FF + 20 D1:AABC FF FF FF FF FF FF - - .DB $FF, $FF, $FF, $FF, $FF, $FF Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Char.asm" - 2 D1:AACE - - - - ;;chartoascii - 3 D1:AACE - - - - ;;Converts a char to "ascii" - 4 D1:AACE - - - - ;;Inputs: - 5 D1:AACE - - - - ;; A: char code (csc) - 6 D1:AACE - - - - ;;Outputs: - 7 D1:AACE - - - - ;; A: ascii char - 8 D1:AACE - - - - chartoascii: - 9 D1:AACE E5 - - - push hl - 10 D1:AACF 21 00 00 00 ld hl, 0 - 11 D1:AAD3 26 00 - - ld h, 0 - 12 D1:AAD5 6F - - - ld l, a - 13 D1:AAD6 11 5A AA D1 ld de, charMapCSC - 14 D1:AADA 19 - - - add hl, de - 15 D1:AADB 7E - - - ld a, (hl) - 16 D1:AADC E1 - - - pop hl - 17 D1:AADD C9 - - - ret - 18 D1:AADE - - - - - 19 D1:AADE - - - - ;;Charnumtoascii - 20 D1:AADE - - - - ;;Converts a char to "ascii" - 21 D1:AADE - - - - ;;Inputs: - 22 D1:AADE - - - - ;; A: char code (csc) - 23 D1:AADE - - - - ;;Outputs: - 24 D1:AADE - - - - ;; A: ascii char - 25 D1:AADE - - - - charnumtoascii: - 26 D1:AADE E5 - - - push hl - 27 D1:AADF 21 00 00 00 ld hl, 0 - 28 D1:AAE3 26 00 - - ld h, 0 - 29 D1:AAE5 6F - - - ld l, a - 30 D1:AAE6 11 A7 AA D1 ld de, numMapCSC - 31 D1:AAEA 19 - - - add hl, de - 32 D1:AAEB 7E - - - ld a, (hl) - 33 D1:AAEC E1 - - - pop hl - 34 D1:AAED C9 - - - ret - 35 D1:AAEE - - - - - 36 D1:AAEE - - - - ;;charnumsymtoascii - 37 D1:AAEE - - - - ;;Converts a char to "ascii" - 38 D1:AAEE - - - - ;;Inputs: - 39 D1:AAEE - - - - ;; A: char code (csc) - 40 D1:AAEE - - - - ;;Outputs: - 41 D1:AAEE - - - - ;; A: ascii char - 42 D1:AAEE - - - - charnumsymtoascii: - 43 D1:AAEE E5 - - - push hl - 44 D1:AAEF 21 00 00 00 ld hl, 0 - 45 D1:AAF3 26 00 - - ld h, 0 - 46 D1:AAF5 6F - - - ld l, a - 47 D1:AAF6 11 80 AA D1 ld de, numsymMapCSC - 48 D1:AAFA 19 - - - add hl, de - 49 D1:AAFB 7E - - - ld a, (hl) - 50 D1:AAFC E1 - - - pop hl - 51 D1:AAFD C9 - - - ret + 2 D1:AAC2 - - - - ;;chartoascii + 3 D1:AAC2 - - - - ;;Converts a char to "ascii" + 4 D1:AAC2 - - - - ;;Inputs: + 5 D1:AAC2 - - - - ;; A: char code (csc) + 6 D1:AAC2 - - - - ;;Outputs: + 7 D1:AAC2 - - - - ;; A: ascii char + 8 D1:AAC2 - - - - chartoascii: + 9 D1:AAC2 E5 - - - push hl + 10 D1:AAC3 21 00 00 00 ld hl, 0 + 11 D1:AAC7 26 00 - - ld h, 0 + 12 D1:AAC9 6F - - - ld l, a + 13 D1:AACA 11 4E AA D1 ld de, charMapCSC + 14 D1:AACE 19 - - - add hl, de + 15 D1:AACF 7E - - - ld a, (hl) + 16 D1:AAD0 E1 - - - pop hl + 17 D1:AAD1 C9 - - - ret + 18 D1:AAD2 - - - - + 19 D1:AAD2 - - - - ;;Charnumtoascii + 20 D1:AAD2 - - - - ;;Converts a char to "ascii" + 21 D1:AAD2 - - - - ;;Inputs: + 22 D1:AAD2 - - - - ;; A: char code (csc) + 23 D1:AAD2 - - - - ;;Outputs: + 24 D1:AAD2 - - - - ;; A: ascii char + 25 D1:AAD2 - - - - charnumtoascii: + 26 D1:AAD2 E5 - - - push hl + 27 D1:AAD3 21 00 00 00 ld hl, 0 + 28 D1:AAD7 26 00 - - ld h, 0 + 29 D1:AAD9 6F - - - ld l, a + 30 D1:AADA 11 9B AA D1 ld de, numMapCSC + 31 D1:AADE 19 - - - add hl, de + 32 D1:AADF 7E - - - ld a, (hl) + 33 D1:AAE0 E1 - - - pop hl + 34 D1:AAE1 C9 - - - ret + 35 D1:AAE2 - - - - + 36 D1:AAE2 - - - - ;;charnumsymtoascii + 37 D1:AAE2 - - - - ;;Converts a char to "ascii" + 38 D1:AAE2 - - - - ;;Inputs: + 39 D1:AAE2 - - - - ;; A: char code (csc) + 40 D1:AAE2 - - - - ;;Outputs: + 41 D1:AAE2 - - - - ;; A: ascii char + 42 D1:AAE2 - - - - charnumsymtoascii: + 43 D1:AAE2 E5 - - - push hl + 44 D1:AAE3 21 00 00 00 ld hl, 0 + 45 D1:AAE7 26 00 - - ld h, 0 + 46 D1:AAE9 6F - - - ld l, a + 47 D1:AAEA 11 74 AA D1 ld de, numsymMapCSC + 48 D1:AAEE 19 - - - add hl, de + 49 D1:AAEF 7E - - - ld a, (hl) + 50 D1:AAF0 E1 - - - pop hl + 51 D1:AAF1 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 6 D1:AAFE - - - - #include "includes/lib/std/Cursor.asm" + 6 D1:AAF2 - - - - #include "includes/lib/std/Cursor.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Cursor.asm" - 1 D1:AAFE - - - - ;;cursorcharunderreset - 2 D1:AAFE - - - - ;;Sets curUnder to 0 - 3 D1:AAFE - - - - cursorcurunderreset: - 4 D1:AAFE E5 - - - push hl - 5 D1:AAFF 21 99 05 D0 ld hl, curUnder - 6 D1:AB03 36 20 - - ld (hl), ' ' - 7 D1:AB05 E1 - - - pop hl - 8 D1:AB06 C9 - - - ret + 1 D1:AAF2 - - - - ;;cursorcharunderreset + 2 D1:AAF2 - - - - ;;Sets curUnder to 0 + 3 D1:AAF2 - - - - cursorcurunderreset: + 4 D1:AAF2 E5 - - - push hl + 5 D1:AAF3 21 99 05 D0 ld hl, curUnder + 6 D1:AAF7 36 20 - - ld (hl), ' ' + 7 D1:AAF9 E1 - - - pop hl + 8 D1:AAFA C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 7 D1:AB07 - - - - #include "includes/lib/std/Print.asm" + 7 D1:AAFB - - - - #include "includes/lib/std/Print.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Print.asm" - 1 D1:AB07 - - - - ;;printprompt - 2 D1:AB07 - - - - ;;Sets curcol to 0 and prints prompt - 3 D1:AB07 - - - - ;;Inputs: - 4 D1:AB07 - - - - ;; HL: Prompt String Location - 5 D1:AB07 - - - - printprompt: - 6 D1:AB07 E5 - - - push hl - 7 D1:AB08 AF - - - xor a - 8 D1:AB09 32 96 05 D0 ld (CurCol), a - 9 D1:AB0D CD C0 07 02 call _PutS - 10 D1:AB11 E1 - - - pop hl - 11 D1:AB12 C9 - - - ret + 1 D1:AAFB - - - - ;;printprompt + 2 D1:AAFB - - - - ;;Sets curcol to 0 and prints prompt + 3 D1:AAFB - - - - ;;Inputs: + 4 D1:AAFB - - - - ;; HL: Prompt String Location + 5 D1:AAFB - - - - printprompt: + 6 D1:AAFB E5 - - - push hl + 7 D1:AAFC AF - - - xor a + 8 D1:AAFD 32 96 05 D0 ld (CurCol), a + 9 D1:AB01 CD C0 07 02 call _PutS + 10 D1:AB05 E1 - - - pop hl + 11 D1:AB06 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 8 D1:AB13 - - - - #include "includes/lib/std/Draw.asm" + 8 D1:AB07 - - - - #include "includes/lib/std/Draw.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Draw.asm" - 1 D1:AB13 - - - - ;;drawpixel - 2 D1:AB13 - - - - ;;Sets a pixel to specified color (565) - 3 D1:AB13 - - - - ;;Inputs: - 4 D1:AB13 - - - - ;; HL: color - 5 D1:AB13 - - - - ;; DE: vRam location - 6 D1:AB13 - - - - drawpixel: - 7 D1:AB13 E5 - - - push hl - 8 D1:AB14 D5 - - - push de - 9 D1:AB15 EB - - - ex de, hl - 10 D1:AB16 73 - - - ld (hl), e - 11 D1:AB17 23 - - - inc hl - 12 D1:AB18 72 - - - ld (hl), d - 13 D1:AB19 D1 - - - pop de - 14 D1:AB1A E1 - - - pop hl - 15 D1:AB1B C9 - - - ret - 16 D1:AB1C - - - - - 17 D1:AB1C - - - - ;;drawpixelxy - 18 D1:AB1C - - - - ;;Sets a pixel to specified color - 19 D1:AB1C - - - - ;;Inputs: - 20 D1:AB1C - - - - ;; HL: color - 21 D1:AB1C - - - - ;; DE: x - 22 D1:AB1C - - - - ;; A: y - 23 D1:AB1C - - - - drawpixelxy - 24 D1:AB1C D5 - - - push de - 25 D1:AB1D E5 - - - push hl - 26 D1:AB1E EB - - - ex de, hl - 27 D1:AB1F 29 - - - add hl, hl - 28 D1:AB20 E5 - - - push hl - 29 D1:AB21 21 80 02 00 ld hl, 640 - 30 D1:AB25 CD 93 A9 D1 call mulAbyHL - 31 D1:AB29 EB - - - ex de, hl - 32 D1:AB2A E1 - - - pop hl - 33 D1:AB2B 19 - - - add hl, de - 34 D1:AB2C 11 00 00 D4 ld de, vRam - 35 D1:AB30 19 - - - add hl, de - 36 D1:AB31 EB - - - ex de, hl - 37 D1:AB32 E1 - - - pop hl - 38 D1:AB33 CD 13 AB D1 call drawpixel - 39 D1:AB37 D1 - - - pop de - 40 D1:AB38 C9 - - - ret - 41 D1:AB39 - - - - - 42 D1:AB39 - - - - ;;drawrow - 43 D1:AB39 - - - - ;;Draws a row on lcd - 44 D1:AB39 - - - - ;;Inputs: - 45 D1:AB39 - - - - ;; A: y - 46 D1:AB39 - - - - ;; HL: color - 47 D1:AB39 - - - - drawrow: - 48 D1:AB39 E5 - - - push hl - 49 D1:AB3A C5 - - - push bc - 50 D1:AB3B E5 - - - push hl - 51 D1:AB3C 21 E0 01 00 ld hl, lcdHeight * 2 - 52 D1:AB40 CD 93 A9 D1 call mulAbyHL - 53 D1:AB44 11 00 00 D4 ld de, vRam - 54 D1:AB48 19 - - - add hl, de - 55 D1:AB49 EB - - - ex de, hl - 56 D1:AB4A E1 - - - pop hl - 57 D1:AB4B 01 40 01 00 ld bc, lcdWidth - 58 D1:AB4F - - - - drawrowLoop: - 59 D1:AB4F CD 13 AB D1 call drawpixel - 60 D1:AB53 13 - - - inc de - 61 D1:AB54 13 - - - inc de - 62 D1:AB55 0B - - - dec bc - 63 D1:AB56 E5 - - - push hl - 64 D1:AB57 21 00 00 00 ld hl, 0 - 65 D1:AB5B CD 7E A9 D1 call cpHLBC - 66 D1:AB5F E1 - - - pop hl - 67 D1:AB60 20 ED - - jr nz, drawrowLoop - 68 D1:AB62 C1 - - - pop bc - 69 D1:AB63 E1 - - - pop hl - 70 D1:AB64 C9 - - - ret - 71 D1:AB65 - - - - - 72 D1:AB65 - - - - ;;drawbar - 73 D1:AB65 - - - - ;;Loops drawing row - 74 D1:AB65 - - - - ;;Inputs: - 75 D1:AB65 - - - - ;; A: y - 76 D1:AB65 - - - - ;; [B]C: height - 77 D1:AB65 - - - - ;; HL: color - 78 D1:AB65 - - - - drawbar: - 79 D1:AB65 C5 - - - push bc - 80 D1:AB66 - - - - drawbarLoop: - 81 D1:AB66 CD 39 AB D1 call drawrow - 82 D1:AB6A 0B - - - dec bc - 83 D1:AB6B 3C - - - inc a - 84 D1:AB6C E5 - - - push hl - 85 D1:AB6D 21 00 00 00 ld hl, 0 - 86 D1:AB71 CD 7E A9 D1 call cpHLBC - 87 D1:AB75 E1 - - - pop hl - 88 D1:AB76 20 EE - - jr nz, drawbarLoop - 89 D1:AB78 C1 - - - pop bc - 90 D1:AB79 C9 - - - ret - 91 D1:AB7A - - - - - 92 D1:AB7A - - - - ;;drawrectfilled - 93 D1:AB7A - - - - ;;Draws a rectangle from coordinates (Slow) - 94 D1:AB7A - - - - ;;Inputs: - 95 D1:AB7A - - - - ;; DE: x - 96 D1:AB7A - - - - ;; C: y - 97 D1:AB7A - - - - ;; HL: width - 98 D1:AB7A - - - - ;; A: height - 99 D1:AB7A - - - - ;; IXH+IXL: color - 100 D1:AB7A - - - - drawrectfilled: - 101 D1:AB7A 19 - - - add hl, de - 102 D1:AB7B 81 - - - add a, c - 103 D1:AB7C 47 - - - ld b, a - 104 D1:AB7D - - - - drawrectfilledLoopY: - 105 D1:AB7D D5 - - - push de - 106 D1:AB7E - - - - drawrectfilledLoopX: - 107 D1:AB7E E5 - - - push hl - 108 D1:AB7F C5 - - - push bc - 109 D1:AB80 EB - - - ex de, hl - 110 D1:AB81 DD 54 - - ld d, ixh - 111 D1:AB83 DD 5D - - ld e, ixl - 112 D1:AB85 EB - - - ex de, hl - 113 D1:AB86 79 - - - ld a, c - 114 D1:AB87 CD 1C AB D1 call drawpixelxy - 115 D1:AB8B C1 - - - pop bc - 116 D1:AB8C E1 - - - pop hl - 117 D1:AB8D 13 - - - inc de - 118 D1:AB8E CD 79 A9 D1 call cpHLDE - 119 D1:AB92 20 EA - - jr nz, drawrectfilledLoopX - 120 D1:AB94 D1 - - - pop de - 121 D1:AB95 0C - - - inc c - 122 D1:AB96 78 - - - ld a, b - 123 D1:AB97 B9 - - - cp c - 124 D1:AB98 20 E3 - - jr nz, drawrectfilledLoopY - 125 D1:AB9A C9 - - - ret + 1 D1:AB07 - - - - ;;drawpixel + 2 D1:AB07 - - - - ;;Sets a pixel to specified color (565) + 3 D1:AB07 - - - - ;;Inputs: + 4 D1:AB07 - - - - ;; HL: color + 5 D1:AB07 - - - - ;; DE: vRam location + 6 D1:AB07 - - - - drawpixel: + 7 D1:AB07 E5 - - - push hl + 8 D1:AB08 D5 - - - push de + 9 D1:AB09 EB - - - ex de, hl + 10 D1:AB0A 73 - - - ld (hl), e + 11 D1:AB0B 23 - - - inc hl + 12 D1:AB0C 72 - - - ld (hl), d + 13 D1:AB0D D1 - - - pop de + 14 D1:AB0E E1 - - - pop hl + 15 D1:AB0F C9 - - - ret + 16 D1:AB10 - - - - + 17 D1:AB10 - - - - ;;drawpixelxy + 18 D1:AB10 - - - - ;;Sets a pixel to specified color + 19 D1:AB10 - - - - ;;Inputs: + 20 D1:AB10 - - - - ;; HL: color + 21 D1:AB10 - - - - ;; DE: x + 22 D1:AB10 - - - - ;; A: y + 23 D1:AB10 - - - - drawpixelxy + 24 D1:AB10 D5 - - - push de + 25 D1:AB11 E5 - - - push hl + 26 D1:AB12 EB - - - ex de, hl + 27 D1:AB13 29 - - - add hl, hl + 28 D1:AB14 E5 - - - push hl + 29 D1:AB15 21 80 02 00 ld hl, 640 + 30 D1:AB19 CD 87 A9 D1 call mulAbyHL + 31 D1:AB1D EB - - - ex de, hl + 32 D1:AB1E E1 - - - pop hl + 33 D1:AB1F 19 - - - add hl, de + 34 D1:AB20 11 00 00 D4 ld de, vRam + 35 D1:AB24 19 - - - add hl, de + 36 D1:AB25 EB - - - ex de, hl + 37 D1:AB26 E1 - - - pop hl + 38 D1:AB27 CD 07 AB D1 call drawpixel + 39 D1:AB2B D1 - - - pop de + 40 D1:AB2C C9 - - - ret + 41 D1:AB2D - - - - + 42 D1:AB2D - - - - ;;drawrow + 43 D1:AB2D - - - - ;;Draws a row on lcd + 44 D1:AB2D - - - - ;;Inputs: + 45 D1:AB2D - - - - ;; A: y + 46 D1:AB2D - - - - ;; HL: color + 47 D1:AB2D - - - - drawrow: + 48 D1:AB2D E5 - - - push hl + 49 D1:AB2E C5 - - - push bc + 50 D1:AB2F E5 - - - push hl + 51 D1:AB30 21 E0 01 00 ld hl, lcdHeight * 2 + 52 D1:AB34 CD 87 A9 D1 call mulAbyHL + 53 D1:AB38 11 00 00 D4 ld de, vRam + 54 D1:AB3C 19 - - - add hl, de + 55 D1:AB3D EB - - - ex de, hl + 56 D1:AB3E E1 - - - pop hl + 57 D1:AB3F 01 40 01 00 ld bc, lcdWidth + 58 D1:AB43 - - - - drawrowLoop: + 59 D1:AB43 CD 07 AB D1 call drawpixel + 60 D1:AB47 13 - - - inc de + 61 D1:AB48 13 - - - inc de + 62 D1:AB49 0B - - - dec bc + 63 D1:AB4A E5 - - - push hl + 64 D1:AB4B 21 00 00 00 ld hl, 0 + 65 D1:AB4F CD 72 A9 D1 call cpHLBC + 66 D1:AB53 E1 - - - pop hl + 67 D1:AB54 20 ED - - jr nz, drawrowLoop + 68 D1:AB56 C1 - - - pop bc + 69 D1:AB57 E1 - - - pop hl + 70 D1:AB58 C9 - - - ret + 71 D1:AB59 - - - - + 72 D1:AB59 - - - - ;;drawbar + 73 D1:AB59 - - - - ;;Loops drawing row + 74 D1:AB59 - - - - ;;Inputs: + 75 D1:AB59 - - - - ;; A: y + 76 D1:AB59 - - - - ;; [B]C: height + 77 D1:AB59 - - - - ;; HL: color + 78 D1:AB59 - - - - drawbar: + 79 D1:AB59 C5 - - - push bc + 80 D1:AB5A - - - - drawbarLoop: + 81 D1:AB5A CD 2D AB D1 call drawrow + 82 D1:AB5E 0B - - - dec bc + 83 D1:AB5F 3C - - - inc a + 84 D1:AB60 E5 - - - push hl + 85 D1:AB61 21 00 00 00 ld hl, 0 + 86 D1:AB65 CD 72 A9 D1 call cpHLBC + 87 D1:AB69 E1 - - - pop hl + 88 D1:AB6A 20 EE - - jr nz, drawbarLoop + 89 D1:AB6C C1 - - - pop bc + 90 D1:AB6D C9 - - - ret + 91 D1:AB6E - - - - + 92 D1:AB6E - - - - ;;drawrectfilled + 93 D1:AB6E - - - - ;;Draws a rectangle from coordinates (Slow) + 94 D1:AB6E - - - - ;;Inputs: + 95 D1:AB6E - - - - ;; DE: x + 96 D1:AB6E - - - - ;; C: y + 97 D1:AB6E - - - - ;; HL: width + 98 D1:AB6E - - - - ;; A: height + 99 D1:AB6E - - - - ;; IXH+IXL: color + 100 D1:AB6E - - - - drawrectfilled: + 101 D1:AB6E 19 - - - add hl, de + 102 D1:AB6F 81 - - - add a, c + 103 D1:AB70 47 - - - ld b, a + 104 D1:AB71 - - - - drawrectfilledLoopY: + 105 D1:AB71 D5 - - - push de + 106 D1:AB72 - - - - drawrectfilledLoopX: + 107 D1:AB72 E5 - - - push hl + 108 D1:AB73 C5 - - - push bc + 109 D1:AB74 EB - - - ex de, hl + 110 D1:AB75 DD 54 - - ld d, ixh + 111 D1:AB77 DD 5D - - ld e, ixl + 112 D1:AB79 EB - - - ex de, hl + 113 D1:AB7A 79 - - - ld a, c + 114 D1:AB7B CD 10 AB D1 call drawpixelxy + 115 D1:AB7F C1 - - - pop bc + 116 D1:AB80 E1 - - - pop hl + 117 D1:AB81 13 - - - inc de + 118 D1:AB82 CD 6D A9 D1 call cpHLDE + 119 D1:AB86 20 EA - - jr nz, drawrectfilledLoopX + 120 D1:AB88 D1 - - - pop de + 121 D1:AB89 0C - - - inc c + 122 D1:AB8A 78 - - - ld a, b + 123 D1:AB8B B9 - - - cp c + 124 D1:AB8C 20 E3 - - jr nz, drawrectfilledLoopY + 125 D1:AB8E C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 9 D1:AB9B - - - - #include "includes/lib/std/Array.asm" + 9 D1:AB8F - - - - #include "includes/lib/std/Array.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Array.asm" - 1 D1:AB9B - - - - ;;array2d - 2 D1:AB9B - - - - ;;gets the address of 2d array - 3 D1:AB9B - - - - ;;Inputs: - 4 D1:AB9B - - - - ;; H: y - 5 D1:AB9B - - - - ;; L: x width - 6 D1:AB9B - - - - ;; B: x - 7 D1:AB9B - - - - ;; DE: Array start - 8 D1:AB9B - - - - ;;Outputs: - 9 D1:AB9B - - - - ;; DE: Array loc address - 10 D1:AB9B - - - - array2d: - 11 D1:AB9B E5 - - - push hl - 12 D1:AB9C ED 6C - - mlt hl - 13 D1:AB9E 19 - - - add hl, de - 14 D1:AB9F 11 00 00 00 ld de, 0 - 15 D1:ABA3 58 - - - ld e, b - 16 D1:ABA4 19 - - - add hl, de - 17 D1:ABA5 EB - - - ex de, hl - 18 D1:ABA6 E1 - - - pop hl - 19 D1:ABA7 C9 - - - ret + 1 D1:AB8F - - - - ;;array2d + 2 D1:AB8F - - - - ;;gets the address of 2d array + 3 D1:AB8F - - - - ;;Inputs: + 4 D1:AB8F - - - - ;; H: y + 5 D1:AB8F - - - - ;; L: x width + 6 D1:AB8F - - - - ;; B: x + 7 D1:AB8F - - - - ;; DE: Array start + 8 D1:AB8F - - - - ;;Outputs: + 9 D1:AB8F - - - - ;; DE: Array loc address + 10 D1:AB8F - - - - array2d: + 11 D1:AB8F E5 - - - push hl + 12 D1:AB90 ED 6C - - mlt hl + 13 D1:AB92 19 - - - add hl, de + 14 D1:AB93 11 00 00 00 ld de, 0 + 15 D1:AB97 58 - - - ld e, b + 16 D1:AB98 19 - - - add hl, de + 17 D1:AB99 EB - - - ex de, hl + 18 D1:AB9A E1 - - - pop hl + 19 D1:AB9B C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 10 D1:ABA8 - - - - - 11 D1:ABA8 - - - - #include "includes/lib/std/String.asm" + 10 D1:AB9C - - - - #include "includes/lib/std/Hex.asm" +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Hex.asm" + 1 D1:AB9C - - - - ;;bytetohexstr + 2 D1:AB9C - - - - ;;converts byte to hex string + 3 D1:AB9C - - - - ;;Inputs: + 4 D1:AB9C - - - - ;; A: input byte + 5 D1:AB9C - - - - ;;Outputs: + 6 D1:AB9C - - - - ;; hl: output string location + 7 D1:AB9C - - - - bytetohexstr: + 8 D1:AB9C E5 - - - push hl + 9 D1:AB9D C5 - - - push bc + 10 D1:AB9E 01 00 00 00 ld bc, 0 + 11 D1:ABA2 4F - - - ld c, a + 12 D1:ABA3 06 0F - - ld b, $0F + 13 D1:ABA5 A0 - - - and a, b + 14 D1:ABA6 47 - - - ld b, a + 15 D1:ABA7 79 - - - ld a, c + 16 D1:ABA8 48 - - - ld c, b + 17 D1:ABA9 06 00 - - ld b, 0 + 18 D1:ABAB 21 E5 AB D1 ld hl, hexLUT + 19 D1:ABAF 09 - - - add hl, bc + 20 D1:ABB0 46 - - - ld b, (hl) + 21 D1:ABB1 21 E2 AB D1 ld hl, bytetohexstrBuf + 1 + 22 D1:ABB5 70 - - - ld (hl), b + 23 D1:ABB6 C1 - - - pop bc + 24 D1:ABB7 C5 - - - push bc + 25 D1:ABB8 01 00 00 00 ld bc, 0 + 26 D1:ABBC CB 3F - - srl a + 27 D1:ABBE CB 3F - - srl a + 28 D1:ABC0 CB 3F - - srl a + 29 D1:ABC2 CB 3F - - srl a + 30 D1:ABC4 47 - - - ld b, a + 31 D1:ABC5 79 - - - ld a, c + 32 D1:ABC6 48 - - - ld c, b + 33 D1:ABC7 06 00 - - ld b, 0 + 34 D1:ABC9 21 E5 AB D1 ld hl, hexLUT + 35 D1:ABCD 09 - - - add hl, bc + 36 D1:ABCE 46 - - - ld b, (hl) + 37 D1:ABCF 21 E1 AB D1 ld hl, bytetohexstrBuf + 38 D1:ABD3 70 - - - ld (hl), b + 39 D1:ABD4 C1 - - - pop bc + 40 D1:ABD5 21 E3 AB D1 ld hl, bytetohexstrBuf + 2 + 41 D1:ABD9 36 00 - - ld (hl), $00 + 42 D1:ABDB E1 - - - pop hl + 43 D1:ABDC 21 E1 AB D1 ld hl, bytetohexstrBuf + 44 D1:ABE0 C9 - - - ret + 45 D1:ABE1 - - - - + 46 D1:ABE1 00 00 00 00 bytetohexstrBuf: .db $00, $00, $00, $00 + 47 D1:ABE5 - - - - + 48 D1:ABE5 - - - - #include "includes/tables/hexLUT.asm" +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\tables\hexLUT.asm" + 1 D1:ABE5 30 31 32 33 + 34 35 36 37 + 38 39 41 42 + 43 44 45 46 + 00 - - - hexLUT: .db "0123456789ABCDEF", 0 +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Hex.asm" + 49 D1:ABF6 - - - - + 50 D1:ABF6 - - - - ;;hexToA + 51 D1:ABF6 - - - - ;;Converts a hexadecimal string to a number. + 52 D1:ABF6 - - - - ;;Inputs: + 53 D1:ABF6 - - - - ;; HL: String pointer + 54 D1:ABF6 - - - - ;;Outputs: + 55 D1:ABF6 - - - - ;; A: Value + 56 D1:ABF6 - - - - hexToA: + 57 D1:ABF6 C5 - - - push bc + 58 D1:ABF7 E5 - - - push hl + 59 D1:ABF8 06 00 - - ld b, 0 + 60 D1:ABFA 7E - - - _: ld a, (hl) + 61 D1:ABFB B7 - - - or a + 62 D1:ABFC 28 11 - - jr z, hexToA_ret + 63 D1:ABFE CB 10 CB 10 + CB 10 CB 10 rl b \ rl b \ rl b \ rl b + 64 D1:AC06 CD 13 AC D1 call hexToA_doConvert + 65 D1:AC0A B0 - - - or b + 66 D1:AC0B 47 - - - ld b, a + 67 D1:AC0C 23 - - - inc hl + 68 D1:AC0D 18 EB - - jr -_ + 69 D1:AC0F - - - - hexToA_ret: + 70 D1:AC0F 78 - - - ld a, b + 71 D1:AC10 E1 - - - pop hl + 72 D1:AC11 C1 - - - pop bc + 73 D1:AC12 C9 - - - ret + 74 D1:AC13 - - - - + 75 D1:AC13 - - - - hexToA_doConvert: + 76 D1:AC13 FE 61 - - cp 'a' ; Convert to lowercase + 77 D1:AC15 38 02 - - jr c, _ + 78 D1:AC17 D6 20 - - sub 'a' - 'A' + 79 D1:AC19 FE 41 - - _: cp 'A' ; Close gap between numbers and letter + 80 D1:AC1B 38 02 - - jr c, _ + 81 D1:AC1D D6 07 - - sub 'A'-('9'+1) + 82 D1:AC1F D6 30 - - _: sub '0' ; To number + 83 D1:AC21 C9 - - - ret +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" + 11 D1:AC22 - - - - + 12 D1:AC22 - - - - #include "includes/lib/std/String.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\String.asm" - 1 D1:ABA8 - - - - ;;strlen - 2 D1:ABA8 - - - - ;;Determines the length of a zero delimited string. - 3 D1:ABA8 - - - - ;;Inputs: - 4 D1:ABA8 - - - - ;; HL: String pointer - 5 D1:ABA8 - - - - ;;Outputs: - 6 D1:ABA8 - - - - ;; BC: String length - 7 D1:ABA8 - - - - strlen: - 8 D1:ABA8 F5 - - - push af - 9 D1:ABA9 E5 - - - push hl - 10 D1:ABAA AF - - - xor a - 11 D1:ABAB 47 - - - ld b, a - 12 D1:ABAC 4F - - - ld c, a - 13 D1:ABAD ED B1 - - cpir - 14 D1:ABAF - - - - ; bc = -bc - 15 D1:ABAF AF 91 4F 9F + 1 D1:AC22 - - - - ;;strlen + 2 D1:AC22 - - - - ;;Determines the length of a zero delimited string. + 3 D1:AC22 - - - - ;;Inputs: + 4 D1:AC22 - - - - ;; HL: String pointer + 5 D1:AC22 - - - - ;;Outputs: + 6 D1:AC22 - - - - ;; BC: String length + 7 D1:AC22 - - - - strlen: + 8 D1:AC22 F5 - - - push af + 9 D1:AC23 E5 - - - push hl + 10 D1:AC24 AF - - - xor a + 11 D1:AC25 47 - - - ld b, a + 12 D1:AC26 4F - - - ld c, a + 13 D1:AC27 ED B1 - - cpir + 14 D1:AC29 - - - - ; bc = -bc + 15 D1:AC29 AF 91 4F 9F 90 47 - - xor a \ sub c \ ld c, a \ sbc a, a \ sub b \ ld b, a - 16 D1:ABB5 0B - - - dec bc - 17 D1:ABB6 E1 - - - pop hl - 18 D1:ABB7 F1 - - - pop af - 19 D1:ABB8 C9 - - - ret - 20 D1:ABB9 - - - - - 21 D1:ABB9 - - - - ;;strcmp - 22 D1:ABB9 - - - - ;;Determines if two strings are equal, and checks alphabetical sort order. - 23 D1:ABB9 - - - - ;;Inputs: - 24 D1:ABB9 - - - - ;; HL: String pointer - 25 D1:ABB9 - - - - ;; DE: String pointer - 26 D1:ABB9 - - - - ;;Outputs: - 27 D1:ABB9 - - - - ;; Z: Set if equal, reset if not equal - 28 D1:ABB9 - - - - ;; C: Set if string HL is alphabetically earlier than string DE - 29 D1:ABB9 - - - - strcmp: - 30 D1:ABB9 E5 - - - push hl - 31 D1:ABBA D5 - - - push de - 32 D1:ABBB - - - - strcmpLoop: - 33 D1:ABBB 1A - - - ld a, (de) - 34 D1:ABBC B7 - - - or a - 35 D1:ABBD 28 07 - - jr z, strCmpEnd - 36 D1:ABBF BE - - - cp (hl) - 37 D1:ABC0 20 06 - - jr nz, strcmpExit - 38 D1:ABC2 23 - - - inc hl - 39 D1:ABC3 13 - - - inc de - 40 D1:ABC4 18 F5 - - jr strcmpLoop - 41 D1:ABC6 - - - - strcmpEnd: - 42 D1:ABC6 7E - - - ld a, (hl) - 43 D1:ABC7 B7 - - - or a - 44 D1:ABC8 - - - - strcmpExit: - 45 D1:ABC8 3F - - - ccf - 46 D1:ABC9 D1 - - - pop de - 47 D1:ABCA E1 - - - pop hl - 48 D1:ABCB C9 - - - ret - 49 D1:ABCC - - - - - 50 D1:ABCC - - - - ;;strcpy - 51 D1:ABCC - - - - ;;Copies a string. - 52 D1:ABCC - - - - ;;Inputs: - 53 D1:ABCC - - - - ;; HL: String pointer - 54 D1:ABCC - - - - ;; DE: Destination - 55 D1:ABCC - - - - ;;Notes: - 56 D1:ABCC - - - - ;; This will trample into undefined territory if you try to copy a string into some - 57 D1:ABCC - - - - ;;allocated memory it won't fit in. - 58 D1:ABCC - - - - strcpy: - 59 D1:ABCC D5 - - - push de - 60 D1:ABCD E5 - - - push hl - 61 D1:ABCE EB - - - ex de, hl - 62 D1:ABCF 1A - - - _: ld a, (de) - 63 D1:ABD0 77 - - - ld (hl), a - 64 D1:ABD1 B7 - - - or a - 65 D1:ABD2 28 04 - - jr z, _ - 66 D1:ABD4 23 13 - - inc hl \ inc de - 67 D1:ABD6 18 F7 - - jr -_ - 68 D1:ABD8 E1 - - - _: pop hl - 69 D1:ABD9 D1 - - - pop de - 70 D1:ABDA C9 - - - ret - 71 D1:ABDB - - - - - 72 D1:ABDB - - - - ;;strchr - 73 D1:ABDB - - - - ;;Returns a pointer on the first occurence of a character in a string. - 74 D1:ABDB - - - - ;;Inputs: - 75 D1:ABDB - - - - ;; HL: Haystack - 76 D1:ABDB - - - - ;; B: Needle - 77 D1:ABDB - - - - ;;Outputs: - 78 D1:ABDB - - - - ;; HL: Pointer to first occurence of character - 79 D1:ABDB - - - - ;; Z: Set if character found - 80 D1:ABDB - - - - ;; A: Destroyed - 81 D1:ABDB - - - - strchr: - 82 D1:ABDB - - - - strchrLoop: - 83 D1:ABDB 7E - - - ld a, (hl) - 84 D1:ABDC B7 - - - or a - 85 D1:ABDD 28 05 - - jr z, strchrNoCharFound - 86 D1:ABDF B8 - - - cp b - 87 D1:ABE0 C8 - - - ret z - 88 D1:ABE1 23 - - - inc hl - 89 D1:ABE2 18 F7 - - jr strchrLoop - 90 D1:ABE4 - - - - strchrNoCharFound: - 91 D1:ABE4 3C - - - inc a - 92 D1:ABE5 C9 - - - ret - 93 D1:ABE6 - - - - - 94 D1:ABE6 - - - - ;;strtob - 95 D1:ABE6 - - - - ;;Converts a string to a byte - 96 D1:ABE6 - - - - ;;Inputs: - 97 D1:ABE6 - - - - ;; HL: string pointer - 98 D1:ABE6 - - - - ;;Outputs: - 99 D1:ABE6 - - - - ;; A: byte - 100 D1:ABE6 - - - - strtob: - 101 D1:ABE6 C5 - - - push bc - 102 D1:ABE7 D5 - - - push de - 103 D1:ABE8 0E 00 - - ld c, 0 - 104 D1:ABEA - - - - strtobNumFind: - 105 D1:ABEA 7E - - - ld a, (hl) - 106 D1:ABEB FE 00 - - cp $00 - 107 D1:ABED CA 3F AC D1 jp z, strtobEXIT - 108 D1:ABF1 0E 00 - - ld c, 0 - 109 D1:ABF3 D6 31 - - sub '1' - 110 D1:ABF5 FE 3A - - cp '9' + 1 - 111 D1:ABF7 38 03 - - jr c, strtobNumWhile - 112 D1:ABF9 23 - - - inc hl - 113 D1:ABFA 18 EE - - jr strtobNumFind - 114 D1:ABFC - - - - strtobNumWhile: - 115 D1:ABFC E5 - - - push hl - 116 D1:ABFD - - - - strtobNumWhileLoop: - 117 D1:ABFD 79 - - - ld a, c - 118 D1:ABFE FE 03 - - cp 3 - 119 D1:AC00 D2 11 AC D1 jp nc, strtobConvert - 120 D1:AC04 7E - - - ld a, (hl) - 121 D1:AC05 D6 2F - - sub '0' - 1 - 122 D1:AC07 38 08 - - jr c, strtobConvert - 123 D1:AC09 FE 3A - - cp '9' + 1 - 124 D1:AC0B 30 04 - - jr nc, strtobConvert - 125 D1:AC0D 23 - - - inc hl - 126 D1:AC0E 0C - - - inc c - 127 D1:AC0F 18 EC - - jr strtobNumWhileLoop - 128 D1:AC11 - - - - strtobConvert: - 129 D1:AC11 2B - - - dec hl - 130 D1:AC12 7E - - - ld a, (hl) - 131 D1:AC13 D6 30 - - sub '0' - 132 D1:AC15 4F - - - ld c, a - 133 D1:AC16 2B - - - dec hl - 134 D1:AC17 D1 - - - pop de - 135 D1:AC18 CD 79 A9 D1 call cpHLDE - 136 D1:AC1C DA 3F AC D1 jp c, strtobExit - 137 D1:AC20 7E - - - ld a, (hl) - 138 D1:AC21 D6 30 - - sub '0' - 139 D1:AC23 06 0A - - ld b, 10 - 140 D1:AC25 CD 8B A9 D1 call mulAbyB - 141 D1:AC29 81 - - - add a, c - 142 D1:AC2A 4F - - - ld c, a - 143 D1:AC2B 2B - - - dec hl - 144 D1:AC2C CD 79 A9 D1 call cpHLDE - 145 D1:AC30 DA 3F AC D1 jp c, strtobExit - 146 D1:AC34 7E - - - ld a, (hl) - 147 D1:AC35 D6 30 - - sub '0' - 148 D1:AC37 06 64 - - ld b, 100 - 149 D1:AC39 CD 8B A9 D1 call mulAbyB - 150 D1:AC3D 81 - - - add a, c - 151 D1:AC3E 4F - - - ld c, a - 152 D1:AC3F - - - - strtobExit: - 153 D1:AC3F 79 - - - ld a, c - 154 D1:AC40 D1 - - - pop de - 155 D1:AC41 C1 - - - pop bc - 156 D1:AC42 C9 - - - ret - 157 D1:AC43 - - - - - 158 D1:AC43 - - - - ;;strtow - 159 D1:AC43 - - - - ;;Converts a string to a byte - 160 D1:AC43 - - - - ;;Inputs: - 161 D1:AC43 - - - - ;; HL: string pointer - 162 D1:AC43 - - - - ;;Outputs: - 163 D1:AC43 - - - - ;; HL: byte - 164 D1:AC43 - - - - strtow: - 165 D1:AC43 C5 - - - push bc - 166 D1:AC44 D5 - - - push de - 167 D1:AC45 01 00 00 00 ld bc, 0 - 168 D1:AC49 - - - - strtowNumFind: - 169 D1:AC49 7E - - - ld a, (hl) - 170 D1:AC4A FE 00 - - cp $00 - 171 D1:AC4C CA E2 AC D1 jp z, strtowEXIT - 172 D1:AC50 0E 00 - - ld c, 0 - 173 D1:AC52 D6 31 - - sub '1' - 174 D1:AC54 FE 3A - - cp '9' + 1 - 175 D1:AC56 38 03 - - jr c, strtowNumWhile - 176 D1:AC58 23 - - - inc hl - 177 D1:AC59 18 EE - - jr strtowNumFind - 178 D1:AC5B - - - - strtowNumWhile: - 179 D1:AC5B E5 - - - push hl - 180 D1:AC5C - - - - strtowNumWhileLoop: - 181 D1:AC5C 79 - - - ld a, c - 182 D1:AC5D FE 05 - - cp 5 - 183 D1:AC5F D2 70 AC D1 jp nc, strtowConvert - 184 D1:AC63 7E - - - ld a, (hl) - 185 D1:AC64 D6 2F - - sub '0' - 1 - 186 D1:AC66 38 08 - - jr c, strtowConvert - 187 D1:AC68 FE 3A - - cp '9' + 1 - 188 D1:AC6A 30 04 - - jr nc, strtowConvert - 189 D1:AC6C 23 - - - inc hl - 190 D1:AC6D 0C - - - inc c - 191 D1:AC6E 18 EC - - jr strtowNumWhileLoop - 192 D1:AC70 - - - - strtowConvert: - 193 D1:AC70 01 00 00 00 ld bc, 0 - 194 D1:AC74 2B - - - dec hl - 195 D1:AC75 7E - - - ld a, (hl) - 196 D1:AC76 D6 30 - - sub '0' - 197 D1:AC78 01 00 00 00 ld bc, 0 - 198 D1:AC7C 4F - - - ld c, a - 199 D1:AC7D 2B - - - dec hl - 200 D1:AC7E - - - - - 201 D1:AC7E D1 - - - pop de - 202 D1:AC7F CD 79 A9 D1 call cpHLDE - 203 D1:AC83 DA E2 AC D1 jp c, strtowExit - 204 D1:AC87 7E - - - ld a, (hl) - 205 D1:AC88 D6 30 - - sub '0' - 206 D1:AC8A E5 - - - push hl - 207 D1:AC8B 21 0A 00 00 ld hl, 10 - 208 D1:AC8F CD 93 A9 D1 call mulAbyHL - 209 D1:AC93 09 - - - add hl, bc - 210 D1:AC94 44 - - - ld b, h - 211 D1:AC95 4D - - - ld c, l - 212 D1:AC96 E1 - - - pop hl - 213 D1:AC97 2B - - - dec hl - 214 D1:AC98 - - - - - 215 D1:AC98 CD 79 A9 D1 call cpHLDE - 216 D1:AC9C DA E2 AC D1 jp c, strtowExit - 217 D1:ACA0 7E - - - ld a, (hl) - 218 D1:ACA1 D6 30 - - sub '0' - 219 D1:ACA3 E5 - - - push hl - 220 D1:ACA4 21 64 00 00 ld hl, 100 - 221 D1:ACA8 CD 93 A9 D1 call mulAbyHL - 222 D1:ACAC 09 - - - add hl, bc - 223 D1:ACAD 44 - - - ld b, h - 224 D1:ACAE 4D - - - ld c, l - 225 D1:ACAF E1 - - - pop hl - 226 D1:ACB0 2B - - - dec hl - 227 D1:ACB1 - - - - - 228 D1:ACB1 CD 79 A9 D1 call cpHLDE - 229 D1:ACB5 DA E2 AC D1 jp c, strtowExit - 230 D1:ACB9 7E - - - ld a, (hl) - 231 D1:ACBA D6 30 - - sub '0' - 232 D1:ACBC E5 - - - push hl - 233 D1:ACBD 21 E8 03 00 ld hl, 1000 - 234 D1:ACC1 CD 93 A9 D1 call mulAbyHL - 235 D1:ACC5 09 - - - add hl, bc - 236 D1:ACC6 44 - - - ld b, h - 237 D1:ACC7 4D - - - ld c, l - 238 D1:ACC8 E1 - - - pop hl - 239 D1:ACC9 2B - - - dec hl - 240 D1:ACCA - - - - - 241 D1:ACCA CD 79 A9 D1 call cpHLDE - 242 D1:ACCE DA E2 AC D1 jp c, strtowExit - 243 D1:ACD2 7E - - - ld a, (hl) - 244 D1:ACD3 D6 30 - - sub '0' - 245 D1:ACD5 E5 - - - push hl - 246 D1:ACD6 21 10 27 00 ld hl, 10000 - 247 D1:ACDA CD 93 A9 D1 call mulAbyHL - 248 D1:ACDE 09 - - - add hl, bc - 249 D1:ACDF 44 - - - ld b, h - 250 D1:ACE0 4D - - - ld c, l - 251 D1:ACE1 E1 - - - pop hl - 252 D1:ACE2 - - - - - 253 D1:ACE2 - - - - strtowExit: - 254 D1:ACE2 21 00 00 00 ld hl, 0 - 255 D1:ACE6 60 - - - ld h, b - 256 D1:ACE7 69 - - - ld l, c - 257 D1:ACE8 D1 - - - pop de - 258 D1:ACE9 C1 - - - pop bc - 259 D1:ACEA C9 - - - ret - 260 D1:ACEB - - - - - 261 D1:ACEB - - - - ;;strxor - 262 D1:ACEB - - - - ;;xor 2 strings together - 263 D1:ACEB - - - - ;;Inputs: - 264 D1:ACEB - - - - ;; HL: string 1 - 265 D1:ACEB - - - - ;; DE: string 2 - 266 D1:ACEB - - - - ;;Outputs: - 267 D1:ACEB - - - - ;; HL: Xor String Pointer - 268 D1:ACEB - - - - strxor: - 269 D1:ACEB D5 - - - push de - 270 D1:ACEC E5 - - - push hl - 271 D1:ACED EB - - - ex de, hl - 272 D1:ACEE - - - - strxorLoop: - 273 D1:ACEE 1A - - - ld a, (de) - 274 D1:ACEF B7 - - - or a, a - 275 D1:ACF0 28 06 - - jr z, strxorEnd - 276 D1:ACF2 AE - - - xor (hl) - 277 D1:ACF3 12 - - - ld (de), a - 278 D1:ACF4 13 - - - inc de - 279 D1:ACF5 23 - - - inc hl - 280 D1:ACF6 18 F6 - - jr strxorLoop - 281 D1:ACF8 - - - - strxorEnd: - 282 D1:ACF8 E1 - - - pop hl - 283 D1:ACF9 D1 - - - pop de - 284 D1:ACFA C9 - - - ret - 285 D1:ACFB - - - - - 286 D1:ACFB - - - - - 287 D1:ACFB - - - - ;;toLower [Strings] - 288 D1:ACFB - - - - ;;Converts every alpha character of a string to lowercase. - 289 D1:ACFB - - - - ;;Inputs: - 290 D1:ACFB - - - - ;; HL: Pointer to string - 291 D1:ACFB - - - - ;;Notes: - 292 D1:ACFB - - - - ;; This modifies the string in-place. - 293 D1:ACFB - - - - ;toLower: - 294 D1:ACFB - - - - ; push af \ push hl - 295 D1:ACFB - - - - ; ld a, (hl) - 296 D1:ACFB - - - - ; or a - 297 D1:ACFB - - - - ; jr z, toLowerExit - 298 D1:ACFB - - - - ; call isAlphaNum - 299 D1:ACFB - - - - ; jr nc, toLowerNotUpperAlpha - 300 D1:ACFB - - - - ; cp 'a' - 301 D1:ACFB - - - - ; jr nc, toLowerNotUpperAlpha - 302 D1:ACFB - - - - ; add a, 'a' - 'A' - 303 D1:ACFB - - - - ; ld (hl), a - 304 D1:ACFB - - - - ;toLowerNotUpperAlpha: - 305 D1:ACFB - - - - ; inc hl - 306 D1:ACFB - - - - ; jr toLower + 2 - 307 D1:ACFB - - - - ;toLowerExit: - 308 D1:ACFB - - - - ; pop hl \ pop af - 309 D1:ACFB - - - - ; ret - 310 D1:ACFB - - - - - 311 D1:ACFB - - - - ;;toUpper [Strings] - 312 D1:ACFB - - - - ;;Converts every alpha character of a string to uppercase. - 313 D1:ACFB - - - - ;;Inputs: - 314 D1:ACFB - - - - ;; HL: Pointer to string - 315 D1:ACFB - - - - ;;Notes: - 316 D1:ACFB - - - - ;; This modifies the string in-place. - 317 D1:ACFB - - - - ;toUpper: - 318 D1:ACFB - - - - ; push af \ push hl - 319 D1:ACFB - - - - ; ld a, (hl) - 320 D1:ACFB - - - - ; or a - 321 D1:ACFB - - - - ; jr z, toUpperExit - 322 D1:ACFB - - - - ; call isAlphaNum - 323 D1:ACFB - - - - ; jr nc, toUpperNotLowerAlpha - 324 D1:ACFB - - - - ; cp 'a' - 325 D1:ACFB - - - - ; jr c, toUpperNotLowerAlpha - 326 D1:ACFB - - - - ; sub 'a' - 'A' - 327 D1:ACFB - - - - ; ld (hl), a - 328 D1:ACFB - - - - ;toUpperNotLowerAlpha: - 329 D1:ACFB - - - - ; inc hl - 330 D1:ACFB - - - - ; jr toUpper + 2 - 331 D1:ACFB - - - - ;toUpperExit: - 332 D1:ACFB - - - - ; pop hl \ pop af - 333 D1:ACFB - - - - ; ret + 16 D1:AC2F 0B - - - dec bc + 17 D1:AC30 E1 - - - pop hl + 18 D1:AC31 F1 - - - pop af + 19 D1:AC32 C9 - - - ret + 20 D1:AC33 - - - - + 21 D1:AC33 - - - - ;;strcmp + 22 D1:AC33 - - - - ;;Determines if two strings are equal, and checks alphabetical sort order. + 23 D1:AC33 - - - - ;;Inputs: + 24 D1:AC33 - - - - ;; HL: String pointer + 25 D1:AC33 - - - - ;; DE: String pointer + 26 D1:AC33 - - - - ;;Outputs: + 27 D1:AC33 - - - - ;; Z: Set if equal, reset if not equal + 28 D1:AC33 - - - - ;; C: Set if string HL is alphabetically earlier than string DE + 29 D1:AC33 - - - - strcmp: + 30 D1:AC33 E5 - - - push hl + 31 D1:AC34 D5 - - - push de + 32 D1:AC35 - - - - strcmpLoop: + 33 D1:AC35 1A - - - ld a, (de) + 34 D1:AC36 B7 - - - or a + 35 D1:AC37 28 07 - - jr z, strCmpEnd + 36 D1:AC39 BE - - - cp (hl) + 37 D1:AC3A 20 06 - - jr nz, strcmpExit + 38 D1:AC3C 23 - - - inc hl + 39 D1:AC3D 13 - - - inc de + 40 D1:AC3E 18 F5 - - jr strcmpLoop + 41 D1:AC40 - - - - strcmpEnd: + 42 D1:AC40 7E - - - ld a, (hl) + 43 D1:AC41 B7 - - - or a + 44 D1:AC42 - - - - strcmpExit: + 45 D1:AC42 3F - - - ccf + 46 D1:AC43 D1 - - - pop de + 47 D1:AC44 E1 - - - pop hl + 48 D1:AC45 C9 - - - ret + 49 D1:AC46 - - - - + 50 D1:AC46 - - - - ;;strcpy + 51 D1:AC46 - - - - ;;Copies a string. + 52 D1:AC46 - - - - ;;Inputs: + 53 D1:AC46 - - - - ;; HL: String pointer + 54 D1:AC46 - - - - ;; DE: Destination + 55 D1:AC46 - - - - ;;Notes: + 56 D1:AC46 - - - - ;; This will trample into undefined territory if you try to copy a string into some + 57 D1:AC46 - - - - ;;allocated memory it won't fit in. + 58 D1:AC46 - - - - strcpy: + 59 D1:AC46 D5 - - - push de + 60 D1:AC47 E5 - - - push hl + 61 D1:AC48 EB - - - ex de, hl + 62 D1:AC49 1A - - - _: ld a, (de) + 63 D1:AC4A 77 - - - ld (hl), a + 64 D1:AC4B B7 - - - or a + 65 D1:AC4C 28 04 - - jr z, _ + 66 D1:AC4E 23 13 - - inc hl \ inc de + 67 D1:AC50 18 F7 - - jr -_ + 68 D1:AC52 E1 - - - _: pop hl + 69 D1:AC53 D1 - - - pop de + 70 D1:AC54 C9 - - - ret + 71 D1:AC55 - - - - + 72 D1:AC55 - - - - ;;strchr + 73 D1:AC55 - - - - ;;Returns a pointer on the first occurence of a character in a string. + 74 D1:AC55 - - - - ;;Inputs: + 75 D1:AC55 - - - - ;; HL: Haystack + 76 D1:AC55 - - - - ;; B: Needle + 77 D1:AC55 - - - - ;;Outputs: + 78 D1:AC55 - - - - ;; HL: Pointer to first occurence of character + 79 D1:AC55 - - - - ;; Z: Set if character found + 80 D1:AC55 - - - - ;; A: Destroyed + 81 D1:AC55 - - - - strchr: + 82 D1:AC55 - - - - strchrLoop: + 83 D1:AC55 7E - - - ld a, (hl) + 84 D1:AC56 B7 - - - or a + 85 D1:AC57 28 05 - - jr z, strchrNoCharFound + 86 D1:AC59 B8 - - - cp b + 87 D1:AC5A C8 - - - ret z + 88 D1:AC5B 23 - - - inc hl + 89 D1:AC5C 18 F7 - - jr strchrLoop + 90 D1:AC5E - - - - strchrNoCharFound: + 91 D1:AC5E 3C - - - inc a + 92 D1:AC5F C9 - - - ret + 93 D1:AC60 - - - - + 94 D1:AC60 - - - - ;;strtob + 95 D1:AC60 - - - - ;;Converts a string to a byte + 96 D1:AC60 - - - - ;;Inputs: + 97 D1:AC60 - - - - ;; HL: string pointer + 98 D1:AC60 - - - - ;;Outputs: + 99 D1:AC60 - - - - ;; A: byte + 100 D1:AC60 - - - - strtob: + 101 D1:AC60 C5 - - - push bc + 102 D1:AC61 D5 - - - push de + 103 D1:AC62 0E 00 - - ld c, 0 + 104 D1:AC64 - - - - strtobNumFind: + 105 D1:AC64 7E - - - ld a, (hl) + 106 D1:AC65 FE 00 - - cp $00 + 107 D1:AC67 CA B9 AC D1 jp z, strtobEXIT + 108 D1:AC6B 0E 00 - - ld c, 0 + 109 D1:AC6D D6 31 - - sub '1' + 110 D1:AC6F FE 3A - - cp '9' + 1 + 111 D1:AC71 38 03 - - jr c, strtobNumWhile + 112 D1:AC73 23 - - - inc hl + 113 D1:AC74 18 EE - - jr strtobNumFind + 114 D1:AC76 - - - - strtobNumWhile: + 115 D1:AC76 E5 - - - push hl + 116 D1:AC77 - - - - strtobNumWhileLoop: + 117 D1:AC77 79 - - - ld a, c + 118 D1:AC78 FE 03 - - cp 3 + 119 D1:AC7A D2 8B AC D1 jp nc, strtobConvert + 120 D1:AC7E 7E - - - ld a, (hl) + 121 D1:AC7F D6 2F - - sub '0' - 1 + 122 D1:AC81 38 08 - - jr c, strtobConvert + 123 D1:AC83 FE 3A - - cp '9' + 1 + 124 D1:AC85 30 04 - - jr nc, strtobConvert + 125 D1:AC87 23 - - - inc hl + 126 D1:AC88 0C - - - inc c + 127 D1:AC89 18 EC - - jr strtobNumWhileLoop + 128 D1:AC8B - - - - strtobConvert: + 129 D1:AC8B 2B - - - dec hl + 130 D1:AC8C 7E - - - ld a, (hl) + 131 D1:AC8D D6 30 - - sub '0' + 132 D1:AC8F 4F - - - ld c, a + 133 D1:AC90 2B - - - dec hl + 134 D1:AC91 D1 - - - pop de + 135 D1:AC92 CD 6D A9 D1 call cpHLDE + 136 D1:AC96 DA B9 AC D1 jp c, strtobExit + 137 D1:AC9A 7E - - - ld a, (hl) + 138 D1:AC9B D6 30 - - sub '0' + 139 D1:AC9D 06 0A - - ld b, 10 + 140 D1:AC9F CD 7F A9 D1 call mulAbyB + 141 D1:ACA3 81 - - - add a, c + 142 D1:ACA4 4F - - - ld c, a + 143 D1:ACA5 2B - - - dec hl + 144 D1:ACA6 CD 6D A9 D1 call cpHLDE + 145 D1:ACAA DA B9 AC D1 jp c, strtobExit + 146 D1:ACAE 7E - - - ld a, (hl) + 147 D1:ACAF D6 30 - - sub '0' + 148 D1:ACB1 06 64 - - ld b, 100 + 149 D1:ACB3 CD 7F A9 D1 call mulAbyB + 150 D1:ACB7 81 - - - add a, c + 151 D1:ACB8 4F - - - ld c, a + 152 D1:ACB9 - - - - strtobExit: + 153 D1:ACB9 79 - - - ld a, c + 154 D1:ACBA D1 - - - pop de + 155 D1:ACBB C1 - - - pop bc + 156 D1:ACBC C9 - - - ret + 157 D1:ACBD - - - - + 158 D1:ACBD - - - - ;;strtow + 159 D1:ACBD - - - - ;;Converts a string to a byte + 160 D1:ACBD - - - - ;;Inputs: + 161 D1:ACBD - - - - ;; HL: string pointer + 162 D1:ACBD - - - - ;;Outputs: + 163 D1:ACBD - - - - ;; HL: byte + 164 D1:ACBD - - - - strtow: + 165 D1:ACBD C5 - - - push bc + 166 D1:ACBE D5 - - - push de + 167 D1:ACBF 01 00 00 00 ld bc, 0 + 168 D1:ACC3 - - - - strtowNumFind: + 169 D1:ACC3 7E - - - ld a, (hl) + 170 D1:ACC4 FE 00 - - cp $00 + 171 D1:ACC6 CA 5C AD D1 jp z, strtowEXIT + 172 D1:ACCA 0E 00 - - ld c, 0 + 173 D1:ACCC D6 31 - - sub '1' + 174 D1:ACCE FE 3A - - cp '9' + 1 + 175 D1:ACD0 38 03 - - jr c, strtowNumWhile + 176 D1:ACD2 23 - - - inc hl + 177 D1:ACD3 18 EE - - jr strtowNumFind + 178 D1:ACD5 - - - - strtowNumWhile: + 179 D1:ACD5 E5 - - - push hl + 180 D1:ACD6 - - - - strtowNumWhileLoop: + 181 D1:ACD6 79 - - - ld a, c + 182 D1:ACD7 FE 05 - - cp 5 + 183 D1:ACD9 D2 EA AC D1 jp nc, strtowConvert + 184 D1:ACDD 7E - - - ld a, (hl) + 185 D1:ACDE D6 2F - - sub '0' - 1 + 186 D1:ACE0 38 08 - - jr c, strtowConvert + 187 D1:ACE2 FE 3A - - cp '9' + 1 + 188 D1:ACE4 30 04 - - jr nc, strtowConvert + 189 D1:ACE6 23 - - - inc hl + 190 D1:ACE7 0C - - - inc c + 191 D1:ACE8 18 EC - - jr strtowNumWhileLoop + 192 D1:ACEA - - - - strtowConvert: + 193 D1:ACEA 01 00 00 00 ld bc, 0 + 194 D1:ACEE 2B - - - dec hl + 195 D1:ACEF 7E - - - ld a, (hl) + 196 D1:ACF0 D6 30 - - sub '0' + 197 D1:ACF2 01 00 00 00 ld bc, 0 + 198 D1:ACF6 4F - - - ld c, a + 199 D1:ACF7 2B - - - dec hl + 200 D1:ACF8 - - - - + 201 D1:ACF8 D1 - - - pop de + 202 D1:ACF9 CD 6D A9 D1 call cpHLDE + 203 D1:ACFD DA 5C AD D1 jp c, strtowExit + 204 D1:AD01 7E - - - ld a, (hl) + 205 D1:AD02 D6 30 - - sub '0' + 206 D1:AD04 E5 - - - push hl + 207 D1:AD05 21 0A 00 00 ld hl, 10 + 208 D1:AD09 CD 87 A9 D1 call mulAbyHL + 209 D1:AD0D 09 - - - add hl, bc + 210 D1:AD0E 44 - - - ld b, h + 211 D1:AD0F 4D - - - ld c, l + 212 D1:AD10 E1 - - - pop hl + 213 D1:AD11 2B - - - dec hl + 214 D1:AD12 - - - - + 215 D1:AD12 CD 6D A9 D1 call cpHLDE + 216 D1:AD16 DA 5C AD D1 jp c, strtowExit + 217 D1:AD1A 7E - - - ld a, (hl) + 218 D1:AD1B D6 30 - - sub '0' + 219 D1:AD1D E5 - - - push hl + 220 D1:AD1E 21 64 00 00 ld hl, 100 + 221 D1:AD22 CD 87 A9 D1 call mulAbyHL + 222 D1:AD26 09 - - - add hl, bc + 223 D1:AD27 44 - - - ld b, h + 224 D1:AD28 4D - - - ld c, l + 225 D1:AD29 E1 - - - pop hl + 226 D1:AD2A 2B - - - dec hl + 227 D1:AD2B - - - - + 228 D1:AD2B CD 6D A9 D1 call cpHLDE + 229 D1:AD2F DA 5C AD D1 jp c, strtowExit + 230 D1:AD33 7E - - - ld a, (hl) + 231 D1:AD34 D6 30 - - sub '0' + 232 D1:AD36 E5 - - - push hl + 233 D1:AD37 21 E8 03 00 ld hl, 1000 + 234 D1:AD3B CD 87 A9 D1 call mulAbyHL + 235 D1:AD3F 09 - - - add hl, bc + 236 D1:AD40 44 - - - ld b, h + 237 D1:AD41 4D - - - ld c, l + 238 D1:AD42 E1 - - - pop hl + 239 D1:AD43 2B - - - dec hl + 240 D1:AD44 - - - - + 241 D1:AD44 CD 6D A9 D1 call cpHLDE + 242 D1:AD48 DA 5C AD D1 jp c, strtowExit + 243 D1:AD4C 7E - - - ld a, (hl) + 244 D1:AD4D D6 30 - - sub '0' + 245 D1:AD4F E5 - - - push hl + 246 D1:AD50 21 10 27 00 ld hl, 10000 + 247 D1:AD54 CD 87 A9 D1 call mulAbyHL + 248 D1:AD58 09 - - - add hl, bc + 249 D1:AD59 44 - - - ld b, h + 250 D1:AD5A 4D - - - ld c, l + 251 D1:AD5B E1 - - - pop hl + 252 D1:AD5C - - - - + 253 D1:AD5C - - - - strtowExit: + 254 D1:AD5C 21 00 00 00 ld hl, 0 + 255 D1:AD60 60 - - - ld h, b + 256 D1:AD61 69 - - - ld l, c + 257 D1:AD62 D1 - - - pop de + 258 D1:AD63 C1 - - - pop bc + 259 D1:AD64 C9 - - - ret + 260 D1:AD65 - - - - + 261 D1:AD65 - - - - ;;strxor + 262 D1:AD65 - - - - ;;xor 2 strings together + 263 D1:AD65 - - - - ;;Inputs: + 264 D1:AD65 - - - - ;; HL: string 1 + 265 D1:AD65 - - - - ;; DE: string 2 + 266 D1:AD65 - - - - ;;Outputs: + 267 D1:AD65 - - - - ;; HL: Xor String Pointer + 268 D1:AD65 - - - - strxor: + 269 D1:AD65 E5 - - - push hl + 270 D1:AD66 D5 - - - push de + 271 D1:AD67 EB - - - ex de, hl + 272 D1:AD68 - - - - strxorLoop: + 273 D1:AD68 1A - - - ld a, (de) + 274 D1:AD69 B7 - - - or a, a + 275 D1:AD6A 28 06 - - jr z, strxorEnd + 276 D1:AD6C AE - - - xor (hl) + 277 D1:AD6D 12 - - - ld (de), a + 278 D1:AD6E 13 - - - inc de + 279 D1:AD6F 23 - - - inc hl + 280 D1:AD70 18 F6 - - jr strxorLoop + 281 D1:AD72 - - - - strxorEnd: + 282 D1:AD72 D1 - - - pop de + 283 D1:AD73 E1 - - - pop hl + 284 D1:AD74 C9 - - - ret + 285 D1:AD75 - - - - + 286 D1:AD75 - - - - + 287 D1:AD75 - - - - ;;toLower [Strings] + 288 D1:AD75 - - - - ;;Converts every alpha character of a string to lowercase. + 289 D1:AD75 - - - - ;;Inputs: + 290 D1:AD75 - - - - ;; HL: Pointer to string + 291 D1:AD75 - - - - ;;Notes: + 292 D1:AD75 - - - - ;; This modifies the string in-place. + 293 D1:AD75 - - - - ;toLower: + 294 D1:AD75 - - - - ; push af \ push hl + 295 D1:AD75 - - - - ; ld a, (hl) + 296 D1:AD75 - - - - ; or a + 297 D1:AD75 - - - - ; jr z, toLowerExit + 298 D1:AD75 - - - - ; call isAlphaNum + 299 D1:AD75 - - - - ; jr nc, toLowerNotUpperAlpha + 300 D1:AD75 - - - - ; cp 'a' + 301 D1:AD75 - - - - ; jr nc, toLowerNotUpperAlpha + 302 D1:AD75 - - - - ; add a, 'a' - 'A' + 303 D1:AD75 - - - - ; ld (hl), a + 304 D1:AD75 - - - - ;toLowerNotUpperAlpha: + 305 D1:AD75 - - - - ; inc hl + 306 D1:AD75 - - - - ; jr toLower + 2 + 307 D1:AD75 - - - - ;toLowerExit: + 308 D1:AD75 - - - - ; pop hl \ pop af + 309 D1:AD75 - - - - ; ret + 310 D1:AD75 - - - - + 311 D1:AD75 - - - - ;;toUpper [Strings] + 312 D1:AD75 - - - - ;;Converts every alpha character of a string to uppercase. + 313 D1:AD75 - - - - ;;Inputs: + 314 D1:AD75 - - - - ;; HL: Pointer to string + 315 D1:AD75 - - - - ;;Notes: + 316 D1:AD75 - - - - ;; This modifies the string in-place. + 317 D1:AD75 - - - - ;toUpper: + 318 D1:AD75 - - - - ; push af \ push hl + 319 D1:AD75 - - - - ; ld a, (hl) + 320 D1:AD75 - - - - ; or a + 321 D1:AD75 - - - - ; jr z, toUpperExit + 322 D1:AD75 - - - - ; call isAlphaNum + 323 D1:AD75 - - - - ; jr nc, toUpperNotLowerAlpha + 324 D1:AD75 - - - - ; cp 'a' + 325 D1:AD75 - - - - ; jr c, toUpperNotLowerAlpha + 326 D1:AD75 - - - - ; sub 'a' - 'A' + 327 D1:AD75 - - - - ; ld (hl), a + 328 D1:AD75 - - - - ;toUpperNotLowerAlpha: + 329 D1:AD75 - - - - ; inc hl + 330 D1:AD75 - - - - ; jr toUpper + 2 + 331 D1:AD75 - - - - ;toUpperExit: + 332 D1:AD75 - - - - ; pop hl \ pop af + 333 D1:AD75 - - - - ; ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 12 D1:ACFB - - - - - 13 D1:ACFB - - - - #include "includes/lib/std/Input.asm" + 13 D1:AD75 - - - - + 14 D1:AD75 - - - - #include "includes/lib/std/Input.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Input.asm" - 1 D1:ACFB - - - - ;;inputgetkey - 2 D1:ACFB - - - - ;;Gets keycode - 3 D1:ACFB - - - - ;;Outputs: - 4 D1:ACFB - - - - ;; A: keycode - 5 D1:ACFB - - - - ;;Destroys: - 6 D1:ACFB - - - - ;; DE - 7 D1:ACFB - - - - inputgetkey: - 8 D1:ACFB EB - - - ex de, hl - 9 D1:ACFC CD 4C 01 02 call _GetCSC - 10 D1:AD00 EB - - - ex de, hl - 11 D1:AD01 B7 - - - or a - 12 D1:AD02 28 F7 - - jr z, inputgetkey - 13 D1:AD04 C9 - - - ret - 14 D1:AD05 - - - - - 15 D1:AD05 - - - - ;;inputstr - 16 D1:AD05 - - - - ;;Inputs string of length [Buffer Size] and puts it in (Destination) - 17 D1:AD05 - - - - ;;Inputs: - 18 D1:AD05 - - - - ;; HL: Destination - 19 D1:AD05 - - - - ;; D[E]: Buffer Size - 20 D1:AD05 - - - - ;;Ouptuts: - 21 D1:AD05 - - - - ;; (HL): String - 22 D1:AD05 - - - - inputstr: - 23 D1:AD05 D5 - - - push de - 24 D1:AD06 E5 - - - push hl - 25 D1:AD07 ED 53 25 AE + 1 D1:AD75 - - - - ;;inputgetkey + 2 D1:AD75 - - - - ;;Gets keycode + 3 D1:AD75 - - - - ;;Outputs: + 4 D1:AD75 - - - - ;; A: keycode + 5 D1:AD75 - - - - ;;Destroys: + 6 D1:AD75 - - - - ;; DE + 7 D1:AD75 - - - - inputgetkey: + 8 D1:AD75 EB - - - ex de, hl + 9 D1:AD76 CD 4C 01 02 call _GetCSC + 10 D1:AD7A EB - - - ex de, hl + 11 D1:AD7B B7 - - - or a + 12 D1:AD7C 28 F7 - - jr z, inputgetkey + 13 D1:AD7E C9 - - - ret + 14 D1:AD7F - - - - + 15 D1:AD7F - - - - ;;inputstr + 16 D1:AD7F - - - - ;;Inputs string of length [Buffer Size] and puts it in (Destination) + 17 D1:AD7F - - - - ;;Inputs: + 18 D1:AD7F - - - - ;; HL: Destination + 19 D1:AD7F - - - - ;; D[E]: Buffer Size + 20 D1:AD7F - - - - ;;Ouptuts: + 21 D1:AD7F - - - - ;; (HL): String + 22 D1:AD7F - - - - inputstr: + 23 D1:AD7F D5 - - - push de + 24 D1:AD80 E5 - - - push hl + 25 D1:AD81 ED 53 9F AE D1 - - - ld (inputstrSizeBuf), de - 26 D1:AD0C E5 - - - push hl - 27 D1:AD0D D5 - - - push de - 28 D1:AD0E 21 96 05 D0 ld hl, CurCol - 29 D1:AD12 11 27 AE D1 ld de, inputstrCurColBuf - 30 D1:AD16 CD 49 AA D1 call bytecpy - 31 D1:AD1A 21 95 05 D0 ld hl, CurRow - 32 D1:AD1E 11 28 AE D1 ld de, inputstrCurRowBuf - 33 D1:AD22 CD 49 AA D1 call bytecpy - 34 D1:AD26 D1 - - - pop de - 35 D1:AD27 E1 - - - pop hl - 36 D1:AD28 - - - - - 37 D1:AD28 FD CB 12 9E res Shift2nd, (IY + ShiftFlags) - 38 D1:AD2C CD B0 08 02 call _CursorOn - 39 D1:AD30 - - - - - 40 D1:AD30 AF - - - xor a - 41 D1:AD31 47 - - - ld b, a - 42 D1:AD32 - - - - inputstrKeyInput: - 43 D1:AD32 CD FE AA D1 call cursorcurunderreset - 44 D1:AD36 CD FB AC D1 call inputgetkey - 45 D1:AD3A - - - - - 46 D1:AD3A FE 36 - - cp sk2nd - 47 D1:AD3C CA 93 AD D1 jp z, inputstrKey2nd - 48 D1:AD40 FE 38 - - cp skDel - 49 D1:AD42 CA A1 AD D1 jp z, inputstrKeyDel - 50 D1:AD46 FE 0F - - cp skClear - 51 D1:AD48 CA C1 AD D1 jp z, inputstrKeyClear - 52 D1:AD4C FE 09 - - cp skEnter - 53 D1:AD4E CA 11 AE D1 jp z, inputstrKeyEnter - 54 D1:AD52 - - - - - 55 D1:AD52 4F - - - ld c, a - 56 D1:AD53 78 - - - ld a, b - 57 D1:AD54 D5 - - - push de - 58 D1:AD55 ED 5B 25 AE + 26 D1:AD86 E5 - - - push hl + 27 D1:AD87 D5 - - - push de + 28 D1:AD88 21 96 05 D0 ld hl, CurCol + 29 D1:AD8C 11 A1 AE D1 ld de, inputstrCurColBuf + 30 D1:AD90 CD 3D AA D1 call bytecpy + 31 D1:AD94 21 95 05 D0 ld hl, CurRow + 32 D1:AD98 11 A2 AE D1 ld de, inputstrCurRowBuf + 33 D1:AD9C CD 3D AA D1 call bytecpy + 34 D1:ADA0 D1 - - - pop de + 35 D1:ADA1 E1 - - - pop hl + 36 D1:ADA2 - - - - + 37 D1:ADA2 FD CB 12 9E res Shift2nd, (IY + ShiftFlags) + 38 D1:ADA6 CD B0 08 02 call _CursorOn + 39 D1:ADAA - - - - + 40 D1:ADAA AF - - - xor a + 41 D1:ADAB 47 - - - ld b, a + 42 D1:ADAC - - - - inputstrKeyInput: + 43 D1:ADAC CD F2 AA D1 call cursorcurunderreset + 44 D1:ADB0 CD 75 AD D1 call inputgetkey + 45 D1:ADB4 - - - - + 46 D1:ADB4 FE 36 - - cp sk2nd + 47 D1:ADB6 CA 0D AE D1 jp z, inputstrKey2nd + 48 D1:ADBA FE 38 - - cp skDel + 49 D1:ADBC CA 1B AE D1 jp z, inputstrKeyDel + 50 D1:ADC0 FE 0F - - cp skClear + 51 D1:ADC2 CA 3B AE D1 jp z, inputstrKeyClear + 52 D1:ADC6 FE 09 - - cp skEnter + 53 D1:ADC8 CA 8B AE D1 jp z, inputstrKeyEnter + 54 D1:ADCC - - - - + 55 D1:ADCC 4F - - - ld c, a + 56 D1:ADCD 78 - - - ld a, b + 57 D1:ADCE D5 - - - push de + 58 D1:ADCF ED 5B 9F AE D1 - - - ld de, (inputstrSizeBuf) - 59 D1:AD5A BB - - - cp e - 60 D1:AD5B D1 - - - pop de - 61 D1:AD5C 28 D4 - - jr z, inputstrKeyInput - 62 D1:AD5E 79 - - - ld a, c - 63 D1:AD5F - - - - - 64 D1:AD5F D6 0A - - sub skAdd - 65 D1:AD61 38 CF - - jr c, inputstrKeyInput - 66 D1:AD63 FE 26 - - cp skMath - skAdd + 1 - 67 D1:AD65 30 CB - - jr nc, inputstrKeyInput - 68 D1:AD67 - - - - - 69 D1:AD67 FD CB 12 5E bit Shift2nd, (IY + ShiftFlags) ; TIOS BASED - 70 D1:AD6B CC CE AA D1 call z, chartoascii - 71 D1:AD6F C4 EE AA D1 call nz, charnumsymtoascii - 72 D1:AD73 - - - - - 73 D1:AD73 FE FF - - cp $FF - 74 D1:AD75 28 BB - - jr z, inputstrKeyInput - 75 D1:AD77 - - - - - 76 D1:AD77 FD CB 05 96 res textScrolled, (iy+textFlags) - 77 D1:AD7B - - - - - 78 D1:AD7B CD B8 07 02 call _PutC - 79 D1:AD7F - - - - - 80 D1:AD7F 77 - - - ld (hl), a - 81 D1:AD80 23 - - - inc hl - 82 D1:AD81 04 - - - inc b - 83 D1:AD82 - - - - - 84 D1:AD82 FD CB 05 56 bit textScrolled, (iy+textFlags) - 85 D1:AD86 28 AA - - jr z, inputstrKeyInput - 86 D1:AD88 E5 - - - push hl - 87 D1:AD89 21 28 AE D1 ld hl, inputstrCurRowBuf - 88 D1:AD8D 7E - - - ld a, (hl) - 89 D1:AD8E 3D - - - dec a - 90 D1:AD8F 77 - - - ld (hl), a - 91 D1:AD90 E1 - - - pop hl - 92 D1:AD91 18 9F - - jr inputstrKeyInput - 93 D1:AD93 - - - - inputstrKey2nd: - 94 D1:AD93 E5 - - - push hl - 95 D1:AD94 21 92 00 D0 ld hl, Flags + ShiftFlags - 96 D1:AD98 7E - - - ld a, (hl) - 97 D1:AD99 EE 08 - - xor 1 << Shift2nd ; Toggle state of Shift2nd flag - 98 D1:AD9B 77 - - - ld (hl), a - 99 D1:AD9C E1 - - - pop hl - 100 D1:AD9D C3 32 AD D1 jp inputstrKeyInput - 101 D1:ADA1 - - - - inputstrKeyDel: - 102 D1:ADA1 78 - - - ld a, b - 103 D1:ADA2 FE 00 - - cp 0 - 104 D1:ADA4 CA 32 AD D1 jp z, inputstrKeyInput - 105 D1:ADA8 - - - - - 106 D1:ADA8 3E 20 - - ld a, ' ' - 107 D1:ADAA CD B4 07 02 call _PutMap - 108 D1:ADAE - - - - - 109 D1:ADAE E5 - - - push hl - 110 D1:ADAF 21 96 05 D0 ld hl, CurCol - 111 D1:ADB3 35 - - - dec (hl) - 112 D1:ADB4 E1 - - - pop hl - 113 D1:ADB5 - - - - - 114 D1:ADB5 3E 20 - - ld a, ' ' - 115 D1:ADB7 CD B4 07 02 call _PutMap - 116 D1:ADBB - - - - - 117 D1:ADBB 2B - - - dec hl - 118 D1:ADBC 05 - - - dec b - 119 D1:ADBD C3 32 AD D1 jp inputstrKeyInput - 120 D1:ADC1 - - - - - 121 D1:ADC1 - - - - inputstrKeyClear: - 122 D1:ADC1 78 - - - ld a, b - 123 D1:ADC2 FE 00 - - cp 0 - 124 D1:ADC4 CA 32 AD D1 jp z, inputstrKeyInput - 125 D1:ADC8 - - - - - 126 D1:ADC8 E5 - - - push hl - 127 D1:ADC9 D5 - - - push de - 128 D1:ADCA 21 27 AE D1 ld hl, inputstrCurColBuf - 129 D1:ADCE 11 96 05 D0 ld de, CurCol - 130 D1:ADD2 CD 49 AA D1 call bytecpy - 131 D1:ADD6 21 28 AE D1 ld hl, inputstrCurRowBuf - 132 D1:ADDA 11 95 05 D0 ld de, CurRow - 133 D1:ADDE CD 49 AA D1 call bytecpy - 134 D1:ADE2 D1 - - - pop de - 135 D1:ADE3 E1 - - - pop hl - 136 D1:ADE4 - - - - - 137 D1:ADE4 3E 20 - - ld a, ' ' - 138 D1:ADE6 04 - - - inc b - 139 D1:ADE7 - - - - inputstrKeyClearLoop: - 140 D1:ADE7 CD B8 07 02 call _PutC - 141 D1:ADEB 10 FA - - djnz inputstrKeyClearLoop - 142 D1:ADED 06 00 - - ld b, 0 - 143 D1:ADEF - - - - - 144 D1:ADEF D5 - - - push de - 145 D1:ADF0 E5 - - - push hl - 146 D1:ADF1 21 27 AE D1 ld hl, inputstrCurColBuf - 147 D1:ADF5 11 96 05 D0 ld de, CurCol - 148 D1:ADF9 CD 49 AA D1 call bytecpy - 149 D1:ADFD 21 28 AE D1 ld hl, inputstrCurRowBuf - 150 D1:AE01 11 95 05 D0 ld de, CurRow - 151 D1:AE05 CD 49 AA D1 call bytecpy - 152 D1:AE09 E1 - - - pop hl - 153 D1:AE0A D1 - - - pop de - 154 D1:AE0B E1 - - - pop hl - 155 D1:AE0C E5 - - - push hl - 156 D1:AE0D C3 32 AD D1 jp inputstrKeyInput - 157 D1:AE11 - - - - - 158 D1:AE11 - - - - inputstrKeyEnter: - 159 D1:AE11 36 00 - - ld (hl), 0 - 160 D1:AE13 CD A8 08 02 call _CursorOff - 161 D1:AE17 3E 20 - - ld a, ' ' - 162 D1:AE19 CD B4 07 02 call _PutMap - 163 D1:AE1D E1 - - - pop hl - 164 D1:AE1E D1 - - - pop de - 165 D1:AE1F FD CB 12 9E res Shift2nd, (IY + ShiftFlags) - 166 D1:AE23 C9 - - - ret - 167 D1:AE24 - - - - - 168 D1:AE24 00 - - - inputstrFlags: .db %00000000 - 169 D1:AE25 - - - - ; 0: num Flag - 170 D1:AE25 00 00 - - inputstrSizeBuf: .dw $0000 - 171 D1:AE27 00 - - - inputstrCurColBuf: .db $00 - 172 D1:AE28 00 - - - inputstrCurRowBuf: .db $00 - 173 D1:AE29 - - - - - 174 D1:AE29 - - - - ;;inputcharstr - 175 D1:AE29 - - - - ;;Inputs string of (only letters) of length [Buffer Size] and puts it in (Destination) - 176 D1:AE29 - - - - ;;Inputs: - 177 D1:AE29 - - - - ;; HL: Destination - 178 D1:AE29 - - - - ;; D[E]: Buffer Size - 179 D1:AE29 - - - - ;;Ouptuts: - 180 D1:AE29 - - - - ;; (HL): String - 181 D1:AE29 - - - - inputcharstr: - 182 D1:AE29 D5 - - - push de - 183 D1:AE2A E5 - - - push hl - 184 D1:AE2B ED 53 39 AF + 59 D1:ADD4 BB - - - cp e + 60 D1:ADD5 D1 - - - pop de + 61 D1:ADD6 28 D4 - - jr z, inputstrKeyInput + 62 D1:ADD8 79 - - - ld a, c + 63 D1:ADD9 - - - - + 64 D1:ADD9 D6 0A - - sub skAdd + 65 D1:ADDB 38 CF - - jr c, inputstrKeyInput + 66 D1:ADDD FE 26 - - cp skMath - skAdd + 1 + 67 D1:ADDF 30 CB - - jr nc, inputstrKeyInput + 68 D1:ADE1 - - - - + 69 D1:ADE1 FD CB 12 5E bit Shift2nd, (IY + ShiftFlags) ; TIOS BASED + 70 D1:ADE5 CC C2 AA D1 call z, chartoascii + 71 D1:ADE9 C4 E2 AA D1 call nz, charnumsymtoascii + 72 D1:ADED - - - - + 73 D1:ADED FE FF - - cp $FF + 74 D1:ADEF 28 BB - - jr z, inputstrKeyInput + 75 D1:ADF1 - - - - + 76 D1:ADF1 FD CB 05 96 res textScrolled, (iy+textFlags) + 77 D1:ADF5 - - - - + 78 D1:ADF5 CD B8 07 02 call _PutC + 79 D1:ADF9 - - - - + 80 D1:ADF9 77 - - - ld (hl), a + 81 D1:ADFA 23 - - - inc hl + 82 D1:ADFB 04 - - - inc b + 83 D1:ADFC - - - - + 84 D1:ADFC FD CB 05 56 bit textScrolled, (iy+textFlags) + 85 D1:AE00 28 AA - - jr z, inputstrKeyInput + 86 D1:AE02 E5 - - - push hl + 87 D1:AE03 21 A2 AE D1 ld hl, inputstrCurRowBuf + 88 D1:AE07 7E - - - ld a, (hl) + 89 D1:AE08 3D - - - dec a + 90 D1:AE09 77 - - - ld (hl), a + 91 D1:AE0A E1 - - - pop hl + 92 D1:AE0B 18 9F - - jr inputstrKeyInput + 93 D1:AE0D - - - - inputstrKey2nd: + 94 D1:AE0D E5 - - - push hl + 95 D1:AE0E 21 92 00 D0 ld hl, Flags + ShiftFlags + 96 D1:AE12 7E - - - ld a, (hl) + 97 D1:AE13 EE 08 - - xor 1 << Shift2nd ; Toggle state of Shift2nd flag + 98 D1:AE15 77 - - - ld (hl), a + 99 D1:AE16 E1 - - - pop hl + 100 D1:AE17 C3 AC AD D1 jp inputstrKeyInput + 101 D1:AE1B - - - - inputstrKeyDel: + 102 D1:AE1B 78 - - - ld a, b + 103 D1:AE1C FE 00 - - cp 0 + 104 D1:AE1E CA AC AD D1 jp z, inputstrKeyInput + 105 D1:AE22 - - - - + 106 D1:AE22 3E 20 - - ld a, ' ' + 107 D1:AE24 CD B4 07 02 call _PutMap + 108 D1:AE28 - - - - + 109 D1:AE28 E5 - - - push hl + 110 D1:AE29 21 96 05 D0 ld hl, CurCol + 111 D1:AE2D 35 - - - dec (hl) + 112 D1:AE2E E1 - - - pop hl + 113 D1:AE2F - - - - + 114 D1:AE2F 3E 20 - - ld a, ' ' + 115 D1:AE31 CD B4 07 02 call _PutMap + 116 D1:AE35 - - - - + 117 D1:AE35 2B - - - dec hl + 118 D1:AE36 05 - - - dec b + 119 D1:AE37 C3 AC AD D1 jp inputstrKeyInput + 120 D1:AE3B - - - - + 121 D1:AE3B - - - - inputstrKeyClear: + 122 D1:AE3B 78 - - - ld a, b + 123 D1:AE3C FE 00 - - cp 0 + 124 D1:AE3E CA AC AD D1 jp z, inputstrKeyInput + 125 D1:AE42 - - - - + 126 D1:AE42 E5 - - - push hl + 127 D1:AE43 D5 - - - push de + 128 D1:AE44 21 A1 AE D1 ld hl, inputstrCurColBuf + 129 D1:AE48 11 96 05 D0 ld de, CurCol + 130 D1:AE4C CD 3D AA D1 call bytecpy + 131 D1:AE50 21 A2 AE D1 ld hl, inputstrCurRowBuf + 132 D1:AE54 11 95 05 D0 ld de, CurRow + 133 D1:AE58 CD 3D AA D1 call bytecpy + 134 D1:AE5C D1 - - - pop de + 135 D1:AE5D E1 - - - pop hl + 136 D1:AE5E - - - - + 137 D1:AE5E 3E 20 - - ld a, ' ' + 138 D1:AE60 04 - - - inc b + 139 D1:AE61 - - - - inputstrKeyClearLoop: + 140 D1:AE61 CD B8 07 02 call _PutC + 141 D1:AE65 10 FA - - djnz inputstrKeyClearLoop + 142 D1:AE67 06 00 - - ld b, 0 + 143 D1:AE69 - - - - + 144 D1:AE69 D5 - - - push de + 145 D1:AE6A E5 - - - push hl + 146 D1:AE6B 21 A1 AE D1 ld hl, inputstrCurColBuf + 147 D1:AE6F 11 96 05 D0 ld de, CurCol + 148 D1:AE73 CD 3D AA D1 call bytecpy + 149 D1:AE77 21 A2 AE D1 ld hl, inputstrCurRowBuf + 150 D1:AE7B 11 95 05 D0 ld de, CurRow + 151 D1:AE7F CD 3D AA D1 call bytecpy + 152 D1:AE83 E1 - - - pop hl + 153 D1:AE84 D1 - - - pop de + 154 D1:AE85 E1 - - - pop hl + 155 D1:AE86 E5 - - - push hl + 156 D1:AE87 C3 AC AD D1 jp inputstrKeyInput + 157 D1:AE8B - - - - + 158 D1:AE8B - - - - inputstrKeyEnter: + 159 D1:AE8B 36 00 - - ld (hl), 0 + 160 D1:AE8D CD A8 08 02 call _CursorOff + 161 D1:AE91 3E 20 - - ld a, ' ' + 162 D1:AE93 CD B4 07 02 call _PutMap + 163 D1:AE97 E1 - - - pop hl + 164 D1:AE98 D1 - - - pop de + 165 D1:AE99 FD CB 12 9E res Shift2nd, (IY + ShiftFlags) + 166 D1:AE9D C9 - - - ret + 167 D1:AE9E - - - - + 168 D1:AE9E 00 - - - inputstrFlags: .db %00000000 + 169 D1:AE9F - - - - ; 0: num Flag + 170 D1:AE9F 00 00 - - inputstrSizeBuf: .dw $0000 + 171 D1:AEA1 00 - - - inputstrCurColBuf: .db $00 + 172 D1:AEA2 00 - - - inputstrCurRowBuf: .db $00 + 173 D1:AEA3 - - - - + 174 D1:AEA3 - - - - ;;inputcharstr + 175 D1:AEA3 - - - - ;;Inputs string of (only letters) of length [Buffer Size] and puts it in (Destination) + 176 D1:AEA3 - - - - ;;Inputs: + 177 D1:AEA3 - - - - ;; HL: Destination + 178 D1:AEA3 - - - - ;; D[E]: Buffer Size + 179 D1:AEA3 - - - - ;;Ouptuts: + 180 D1:AEA3 - - - - ;; (HL): String + 181 D1:AEA3 - - - - inputcharstr: + 182 D1:AEA3 D5 - - - push de + 183 D1:AEA4 E5 - - - push hl + 184 D1:AEA5 ED 53 B3 AF D1 - - - ld (inputcharstrSizeBuf), de - 185 D1:AE30 E5 - - - push hl - 186 D1:AE31 D5 - - - push de - 187 D1:AE32 21 96 05 D0 ld hl, CurCol - 188 D1:AE36 11 3B AF D1 ld de, inputcharstrCurColBuf - 189 D1:AE3A CD 49 AA D1 call bytecpy - 190 D1:AE3E 21 95 05 D0 ld hl, CurRow - 191 D1:AE42 11 3C AF D1 ld de, inputcharstrCurRowBuf - 192 D1:AE46 CD 49 AA D1 call bytecpy - 193 D1:AE4A D1 - - - pop de - 194 D1:AE4B E1 - - - pop hl - 195 D1:AE4C - - - - - 196 D1:AE4C CD B0 08 02 call _CursorOn - 197 D1:AE50 - - - - - 198 D1:AE50 AF - - - xor a - 199 D1:AE51 47 - - - ld b, a - 200 D1:AE52 - - - - inputcharstrKeyInput: - 201 D1:AE52 CD FE AA D1 call cursorcurunderreset - 202 D1:AE56 CD FB AC D1 call inputgetkey - 203 D1:AE5A - - - - - 204 D1:AE5A FE 38 - - cp skDel - 205 D1:AE5C CA A5 AE D1 jp z, inputcharstrKeyDel - 206 D1:AE60 FE 0F - - cp skClear - 207 D1:AE62 CA C5 AE D1 jp z, inputcharstrKeyClear - 208 D1:AE66 FE 09 - - cp skEnter - 209 D1:AE68 CA 2A AF D1 jp z, inputcharstrKeyEnter - 210 D1:AE6C - - - - - 211 D1:AE6C 4F - - - ld c, a - 212 D1:AE6D 78 - - - ld a, b - 213 D1:AE6E D5 - - - push de - 214 D1:AE6F ED 5B 39 AF + 185 D1:AEAA E5 - - - push hl + 186 D1:AEAB D5 - - - push de + 187 D1:AEAC 21 96 05 D0 ld hl, CurCol + 188 D1:AEB0 11 B5 AF D1 ld de, inputcharstrCurColBuf + 189 D1:AEB4 CD 3D AA D1 call bytecpy + 190 D1:AEB8 21 95 05 D0 ld hl, CurRow + 191 D1:AEBC 11 B6 AF D1 ld de, inputcharstrCurRowBuf + 192 D1:AEC0 CD 3D AA D1 call bytecpy + 193 D1:AEC4 D1 - - - pop de + 194 D1:AEC5 E1 - - - pop hl + 195 D1:AEC6 - - - - + 196 D1:AEC6 CD B0 08 02 call _CursorOn + 197 D1:AECA - - - - + 198 D1:AECA AF - - - xor a + 199 D1:AECB 47 - - - ld b, a + 200 D1:AECC - - - - inputcharstrKeyInput: + 201 D1:AECC CD F2 AA D1 call cursorcurunderreset + 202 D1:AED0 CD 75 AD D1 call inputgetkey + 203 D1:AED4 - - - - + 204 D1:AED4 FE 38 - - cp skDel + 205 D1:AED6 CA 1F AF D1 jp z, inputcharstrKeyDel + 206 D1:AEDA FE 0F - - cp skClear + 207 D1:AEDC CA 3F AF D1 jp z, inputcharstrKeyClear + 208 D1:AEE0 FE 09 - - cp skEnter + 209 D1:AEE2 CA A4 AF D1 jp z, inputcharstrKeyEnter + 210 D1:AEE6 - - - - + 211 D1:AEE6 4F - - - ld c, a + 212 D1:AEE7 78 - - - ld a, b + 213 D1:AEE8 D5 - - - push de + 214 D1:AEE9 ED 5B B3 AF D1 - - - ld de, (inputcharstrSizeBuf) - 215 D1:AE74 BB - - - cp e - 216 D1:AE75 D1 - - - pop de - 217 D1:AE76 28 DA - - jr z, inputcharstrKeyInput - 218 D1:AE78 79 - - - ld a, c - 219 D1:AE79 - - - - - 220 D1:AE79 D6 0A - - sub skAdd - 221 D1:AE7B 38 D5 - - jr c, inputcharstrKeyInput - 222 D1:AE7D FE 26 - - cp skMath - skAdd + 1 - 223 D1:AE7F 30 D1 - - jr nc, inputcharstrKeyInput - 224 D1:AE81 - - - - - 225 D1:AE81 CD CE AA D1 call chartoascii - 226 D1:AE85 - - - - - 227 D1:AE85 FE FF - - cp $FF - 228 D1:AE87 28 C9 - - jr z, inputcharstrKeyInput - 229 D1:AE89 - - - - - 230 D1:AE89 FD CB 05 96 res textScrolled, (iy+textFlags) - 231 D1:AE8D - - - - - 232 D1:AE8D CD B8 07 02 call _PutC - 233 D1:AE91 - - - - - 234 D1:AE91 77 - - - ld (hl), a - 235 D1:AE92 23 - - - inc hl - 236 D1:AE93 04 - - - inc b - 237 D1:AE94 - - - - - 238 D1:AE94 FD CB 05 56 bit textScrolled, (iy+textFlags) - 239 D1:AE98 28 B8 - - jr z, inputcharstrKeyInput - 240 D1:AE9A E5 - - - push hl - 241 D1:AE9B 21 3C AF D1 ld hl, inputcharstrCurRowBuf - 242 D1:AE9F 7E - - - ld a, (hl) - 243 D1:AEA0 3D - - - dec a - 244 D1:AEA1 77 - - - ld (hl), a - 245 D1:AEA2 E1 - - - pop hl - 246 D1:AEA3 18 AD - - jr inputcharstrKeyInput - 247 D1:AEA5 - - - - inputcharstrKeyDel: - 248 D1:AEA5 78 - - - ld a, b - 249 D1:AEA6 FE 00 - - cp 0 - 250 D1:AEA8 CA 52 AE D1 jp z, inputcharstrKeyInput - 251 D1:AEAC - - - - - 252 D1:AEAC 3E 20 - - ld a, ' ' - 253 D1:AEAE CD B4 07 02 call _PutMap - 254 D1:AEB2 - - - - - 255 D1:AEB2 E5 - - - push hl - 256 D1:AEB3 21 96 05 D0 ld hl, CurCol - 257 D1:AEB7 35 - - - dec (hl) - 258 D1:AEB8 E1 - - - pop hl - 259 D1:AEB9 - - - - - 260 D1:AEB9 3E 20 - - ld a, ' ' - 261 D1:AEBB CD B4 07 02 call _PutMap - 262 D1:AEBF - - - - - 263 D1:AEBF 2B - - - dec hl - 264 D1:AEC0 05 - - - dec b - 265 D1:AEC1 C3 52 AE D1 jp inputcharstrKeyInput - 266 D1:AEC5 - - - - - 267 D1:AEC5 - - - - inputcharstrKeyClear: - 268 D1:AEC5 78 - - - ld a, b - 269 D1:AEC6 FE 00 - - cp 0 - 270 D1:AEC8 CA 52 AE D1 jp z, inputcharstrKeyInput - 271 D1:AECC - - - - - 272 D1:AECC E5 - - - push hl - 273 D1:AECD 21 95 05 D0 ld hl, CurRow - 274 D1:AED1 4E - - - ld c, (hl) - 275 D1:AED2 E1 - - - pop hl - 276 D1:AED3 - - - - - 277 D1:AED3 E5 - - - push hl - 278 D1:AED4 D5 - - - push de - 279 D1:AED5 21 3B AF D1 ld hl, inputcharstrCurColBuf - 280 D1:AED9 11 96 05 D0 ld de, CurCol - 281 D1:AEDD CD 49 AA D1 call bytecpy - 282 D1:AEE1 21 3C AF D1 ld hl, inputcharstrCurRowBuf - 283 D1:AEE5 11 95 05 D0 ld de, CurRow - 284 D1:AEE9 CD 49 AA D1 call bytecpy - 285 D1:AEED D1 - - - pop de - 286 D1:AEEE E1 - - - pop hl - 287 D1:AEEF - - - - - 288 D1:AEEF 3E 20 - - ld a, ' ' - 289 D1:AEF1 04 - - - inc b - 290 D1:AEF2 - - - - inputcharstrKeyClearLoop: - 291 D1:AEF2 CD B8 07 02 call _PutC - 292 D1:AEF6 10 FA - - djnz inputcharstrKeyClearLoop - 293 D1:AEF8 - - - - - 294 D1:AEF8 E5 - - - push hl - 295 D1:AEF9 D5 - - - push de - 296 D1:AEFA 21 3B AF D1 ld hl, inputcharstrCurColBuf - 297 D1:AEFE 11 96 05 D0 ld de, CurCol - 298 D1:AF02 CD 49 AA D1 call bytecpy - 299 D1:AF06 D1 - - - pop de - 300 D1:AF07 E1 - - - pop hl - 301 D1:AF08 - - - - - 302 D1:AF08 D5 - - - push de - 303 D1:AF09 E5 - - - push hl - 304 D1:AF0A 21 3B AF D1 ld hl, inputcharstrCurColBuf - 305 D1:AF0E 11 96 05 D0 ld de, CurCol - 306 D1:AF12 CD 49 AA D1 call bytecpy - 307 D1:AF16 21 3C AF D1 ld hl, inputcharstrCurRowBuf - 308 D1:AF1A 11 95 05 D0 ld de, CurRow - 309 D1:AF1E CD 49 AA D1 call bytecpy - 310 D1:AF22 E1 - - - pop hl - 311 D1:AF23 D1 - - - pop de - 312 D1:AF24 E1 - - - pop hl - 313 D1:AF25 E5 - - - push hl - 314 D1:AF26 C3 52 AE D1 jp inputcharstrKeyInput - 315 D1:AF2A - - - - - 316 D1:AF2A - - - - inputcharstrKeyEnter: - 317 D1:AF2A 36 00 - - ld (hl), 0 - 318 D1:AF2C CD A8 08 02 call _CursorOff - 319 D1:AF30 3E 20 - - ld a, ' ' - 320 D1:AF32 CD B4 07 02 call _PutMap - 321 D1:AF36 E1 - - - pop hl - 322 D1:AF37 D1 - - - pop de - 323 D1:AF38 C9 - - - ret - 324 D1:AF39 - - - - - 325 D1:AF39 00 00 - - inputcharstrSizeBuf: .dw $0000 - 326 D1:AF3B 00 - - - inputcharstrCurColBuf: .db $00 - 327 D1:AF3C 00 - - - inputcharstrCurRowBuf: .db $00 - 328 D1:AF3D - - - - - 329 D1:AF3D - - - - ;;inputnumstr - 330 D1:AF3D - - - - ;;Inputs string of (only numbers) of length [Buffer Size] and puts it in (Destination) - 331 D1:AF3D - - - - ;;Inputs: - 332 D1:AF3D - - - - ;; HL: Destination - 333 D1:AF3D - - - - ;; D[E]: Buffer Size - 334 D1:AF3D - - - - ;;Ouptuts: - 335 D1:AF3D - - - - ;; (HL): String - 336 D1:AF3D - - - - inputnumstr: - 337 D1:AF3D D5 - - - push de - 338 D1:AF3E E5 - - - push hl - 339 D1:AF3F ED 53 3D B0 + 215 D1:AEEE BB - - - cp e + 216 D1:AEEF D1 - - - pop de + 217 D1:AEF0 28 DA - - jr z, inputcharstrKeyInput + 218 D1:AEF2 79 - - - ld a, c + 219 D1:AEF3 - - - - + 220 D1:AEF3 D6 0A - - sub skAdd + 221 D1:AEF5 38 D5 - - jr c, inputcharstrKeyInput + 222 D1:AEF7 FE 26 - - cp skMath - skAdd + 1 + 223 D1:AEF9 30 D1 - - jr nc, inputcharstrKeyInput + 224 D1:AEFB - - - - + 225 D1:AEFB CD C2 AA D1 call chartoascii + 226 D1:AEFF - - - - + 227 D1:AEFF FE FF - - cp $FF + 228 D1:AF01 28 C9 - - jr z, inputcharstrKeyInput + 229 D1:AF03 - - - - + 230 D1:AF03 FD CB 05 96 res textScrolled, (iy+textFlags) + 231 D1:AF07 - - - - + 232 D1:AF07 CD B8 07 02 call _PutC + 233 D1:AF0B - - - - + 234 D1:AF0B 77 - - - ld (hl), a + 235 D1:AF0C 23 - - - inc hl + 236 D1:AF0D 04 - - - inc b + 237 D1:AF0E - - - - + 238 D1:AF0E FD CB 05 56 bit textScrolled, (iy+textFlags) + 239 D1:AF12 28 B8 - - jr z, inputcharstrKeyInput + 240 D1:AF14 E5 - - - push hl + 241 D1:AF15 21 B6 AF D1 ld hl, inputcharstrCurRowBuf + 242 D1:AF19 7E - - - ld a, (hl) + 243 D1:AF1A 3D - - - dec a + 244 D1:AF1B 77 - - - ld (hl), a + 245 D1:AF1C E1 - - - pop hl + 246 D1:AF1D 18 AD - - jr inputcharstrKeyInput + 247 D1:AF1F - - - - inputcharstrKeyDel: + 248 D1:AF1F 78 - - - ld a, b + 249 D1:AF20 FE 00 - - cp 0 + 250 D1:AF22 CA CC AE D1 jp z, inputcharstrKeyInput + 251 D1:AF26 - - - - + 252 D1:AF26 3E 20 - - ld a, ' ' + 253 D1:AF28 CD B4 07 02 call _PutMap + 254 D1:AF2C - - - - + 255 D1:AF2C E5 - - - push hl + 256 D1:AF2D 21 96 05 D0 ld hl, CurCol + 257 D1:AF31 35 - - - dec (hl) + 258 D1:AF32 E1 - - - pop hl + 259 D1:AF33 - - - - + 260 D1:AF33 3E 20 - - ld a, ' ' + 261 D1:AF35 CD B4 07 02 call _PutMap + 262 D1:AF39 - - - - + 263 D1:AF39 2B - - - dec hl + 264 D1:AF3A 05 - - - dec b + 265 D1:AF3B C3 CC AE D1 jp inputcharstrKeyInput + 266 D1:AF3F - - - - + 267 D1:AF3F - - - - inputcharstrKeyClear: + 268 D1:AF3F 78 - - - ld a, b + 269 D1:AF40 FE 00 - - cp 0 + 270 D1:AF42 CA CC AE D1 jp z, inputcharstrKeyInput + 271 D1:AF46 - - - - + 272 D1:AF46 E5 - - - push hl + 273 D1:AF47 21 95 05 D0 ld hl, CurRow + 274 D1:AF4B 4E - - - ld c, (hl) + 275 D1:AF4C E1 - - - pop hl + 276 D1:AF4D - - - - + 277 D1:AF4D E5 - - - push hl + 278 D1:AF4E D5 - - - push de + 279 D1:AF4F 21 B5 AF D1 ld hl, inputcharstrCurColBuf + 280 D1:AF53 11 96 05 D0 ld de, CurCol + 281 D1:AF57 CD 3D AA D1 call bytecpy + 282 D1:AF5B 21 B6 AF D1 ld hl, inputcharstrCurRowBuf + 283 D1:AF5F 11 95 05 D0 ld de, CurRow + 284 D1:AF63 CD 3D AA D1 call bytecpy + 285 D1:AF67 D1 - - - pop de + 286 D1:AF68 E1 - - - pop hl + 287 D1:AF69 - - - - + 288 D1:AF69 3E 20 - - ld a, ' ' + 289 D1:AF6B 04 - - - inc b + 290 D1:AF6C - - - - inputcharstrKeyClearLoop: + 291 D1:AF6C CD B8 07 02 call _PutC + 292 D1:AF70 10 FA - - djnz inputcharstrKeyClearLoop + 293 D1:AF72 - - - - + 294 D1:AF72 E5 - - - push hl + 295 D1:AF73 D5 - - - push de + 296 D1:AF74 21 B5 AF D1 ld hl, inputcharstrCurColBuf + 297 D1:AF78 11 96 05 D0 ld de, CurCol + 298 D1:AF7C CD 3D AA D1 call bytecpy + 299 D1:AF80 D1 - - - pop de + 300 D1:AF81 E1 - - - pop hl + 301 D1:AF82 - - - - + 302 D1:AF82 D5 - - - push de + 303 D1:AF83 E5 - - - push hl + 304 D1:AF84 21 B5 AF D1 ld hl, inputcharstrCurColBuf + 305 D1:AF88 11 96 05 D0 ld de, CurCol + 306 D1:AF8C CD 3D AA D1 call bytecpy + 307 D1:AF90 21 B6 AF D1 ld hl, inputcharstrCurRowBuf + 308 D1:AF94 11 95 05 D0 ld de, CurRow + 309 D1:AF98 CD 3D AA D1 call bytecpy + 310 D1:AF9C E1 - - - pop hl + 311 D1:AF9D D1 - - - pop de + 312 D1:AF9E E1 - - - pop hl + 313 D1:AF9F E5 - - - push hl + 314 D1:AFA0 C3 CC AE D1 jp inputcharstrKeyInput + 315 D1:AFA4 - - - - + 316 D1:AFA4 - - - - inputcharstrKeyEnter: + 317 D1:AFA4 36 00 - - ld (hl), 0 + 318 D1:AFA6 CD A8 08 02 call _CursorOff + 319 D1:AFAA 3E 20 - - ld a, ' ' + 320 D1:AFAC CD B4 07 02 call _PutMap + 321 D1:AFB0 E1 - - - pop hl + 322 D1:AFB1 D1 - - - pop de + 323 D1:AFB2 C9 - - - ret + 324 D1:AFB3 - - - - + 325 D1:AFB3 00 00 - - inputcharstrSizeBuf: .dw $0000 + 326 D1:AFB5 00 - - - inputcharstrCurColBuf: .db $00 + 327 D1:AFB6 00 - - - inputcharstrCurRowBuf: .db $00 + 328 D1:AFB7 - - - - + 329 D1:AFB7 - - - - ;;inputnumstr + 330 D1:AFB7 - - - - ;;Inputs string of (only numbers) of length [Buffer Size] and puts it in (Destination) + 331 D1:AFB7 - - - - ;;Inputs: + 332 D1:AFB7 - - - - ;; HL: Destination + 333 D1:AFB7 - - - - ;; D[E]: Buffer Size + 334 D1:AFB7 - - - - ;;Ouptuts: + 335 D1:AFB7 - - - - ;; (HL): String + 336 D1:AFB7 - - - - inputnumstr: + 337 D1:AFB7 D5 - - - push de + 338 D1:AFB8 E5 - - - push hl + 339 D1:AFB9 ED 53 B7 B0 D1 - - - ld (inputnumstrSizeBuf), de - 340 D1:AF44 E5 - - - push hl - 341 D1:AF45 D5 - - - push de - 342 D1:AF46 21 96 05 D0 ld hl, CurCol - 343 D1:AF4A 11 3F B0 D1 ld de, inputnumstrCurColBuf - 344 D1:AF4E CD 49 AA D1 call bytecpy - 345 D1:AF52 21 95 05 D0 ld hl, CurRow - 346 D1:AF56 11 40 B0 D1 ld de, inputnumstrCurRowBuf - 347 D1:AF5A CD 49 AA D1 call bytecpy - 348 D1:AF5E D1 - - - pop de - 349 D1:AF5F E1 - - - pop hl - 350 D1:AF60 - - - - - 351 D1:AF60 CD B0 08 02 call _CursorOn - 352 D1:AF64 - - - - - 353 D1:AF64 AF - - - xor a - 354 D1:AF65 47 - - - ld b, a - 355 D1:AF66 - - - - - 356 D1:AF66 - - - - inputnumstrKeyInput: - 357 D1:AF66 CD FE AA D1 call cursorcurunderreset - 358 D1:AF6A CD FB AC D1 call inputgetkey - 359 D1:AF6E - - - - - 360 D1:AF6E FE 38 - - cp skDel - 361 D1:AF70 CA B9 AF D1 jp z, inputnumstrKeyDel - 362 D1:AF74 FE 0F - - cp skClear - 363 D1:AF76 CA D9 AF D1 jp z, inputnumstrKeyClear - 364 D1:AF7A FE 09 - - cp skEnter - 365 D1:AF7C CA 2E B0 D1 jp z, inputnumstrKeyEnter - 366 D1:AF80 - - - - - 367 D1:AF80 4F - - - ld c, a - 368 D1:AF81 78 - - - ld a, b - 369 D1:AF82 D5 - - - push de - 370 D1:AF83 ED 5B 3D B0 + 340 D1:AFBE E5 - - - push hl + 341 D1:AFBF D5 - - - push de + 342 D1:AFC0 21 96 05 D0 ld hl, CurCol + 343 D1:AFC4 11 B9 B0 D1 ld de, inputnumstrCurColBuf + 344 D1:AFC8 CD 3D AA D1 call bytecpy + 345 D1:AFCC 21 95 05 D0 ld hl, CurRow + 346 D1:AFD0 11 BA B0 D1 ld de, inputnumstrCurRowBuf + 347 D1:AFD4 CD 3D AA D1 call bytecpy + 348 D1:AFD8 D1 - - - pop de + 349 D1:AFD9 E1 - - - pop hl + 350 D1:AFDA - - - - + 351 D1:AFDA CD B0 08 02 call _CursorOn + 352 D1:AFDE - - - - + 353 D1:AFDE AF - - - xor a + 354 D1:AFDF 47 - - - ld b, a + 355 D1:AFE0 - - - - + 356 D1:AFE0 - - - - inputnumstrKeyInput: + 357 D1:AFE0 CD F2 AA D1 call cursorcurunderreset + 358 D1:AFE4 CD 75 AD D1 call inputgetkey + 359 D1:AFE8 - - - - + 360 D1:AFE8 FE 38 - - cp skDel + 361 D1:AFEA CA 33 B0 D1 jp z, inputnumstrKeyDel + 362 D1:AFEE FE 0F - - cp skClear + 363 D1:AFF0 CA 53 B0 D1 jp z, inputnumstrKeyClear + 364 D1:AFF4 FE 09 - - cp skEnter + 365 D1:AFF6 CA A8 B0 D1 jp z, inputnumstrKeyEnter + 366 D1:AFFA - - - - + 367 D1:AFFA 4F - - - ld c, a + 368 D1:AFFB 78 - - - ld a, b + 369 D1:AFFC D5 - - - push de + 370 D1:AFFD ED 5B B7 B0 D1 - - - ld de, (inputnumstrSizeBuf) - 371 D1:AF88 BB - - - cp e - 372 D1:AF89 D1 - - - pop de - 373 D1:AF8A 28 DA - - jr z, inputnumstrKeyInput - 374 D1:AF8C 79 - - - ld a, c - 375 D1:AF8D - - - - - 376 D1:AF8D D6 0A - - sub skAdd - 377 D1:AF8F 38 D5 - - jr c, inputnumstrKeyInput - 378 D1:AF91 FE 26 - - cp skMath - skAdd + 1 - 379 D1:AF93 30 D1 - - jr nc, inputnumstrKeyInput - 380 D1:AF95 - - - - - 381 D1:AF95 CD DE AA D1 call charnumtoascii - 382 D1:AF99 FE FF - - cp $FF - 383 D1:AF9B 28 C9 - - jr z, inputnumstrKeyInput - 384 D1:AF9D - - - - - 385 D1:AF9D FD CB 05 96 res textScrolled, (iy+textFlags) - 386 D1:AFA1 - - - - - 387 D1:AFA1 CD B8 07 02 call _PutC - 388 D1:AFA5 - - - - - 389 D1:AFA5 77 - - - ld (hl), a - 390 D1:AFA6 23 - - - inc hl - 391 D1:AFA7 04 - - - inc b - 392 D1:AFA8 - - - - - 393 D1:AFA8 FD CB 05 56 bit textScrolled, (iy+textFlags) - 394 D1:AFAC 28 B8 - - jr z, inputnumstrKeyInput - 395 D1:AFAE E5 - - - push hl - 396 D1:AFAF 21 40 B0 D1 ld hl, inputnumstrCurRowBuf - 397 D1:AFB3 7E - - - ld a, (hl) - 398 D1:AFB4 3D - - - dec a - 399 D1:AFB5 77 - - - ld (hl), a - 400 D1:AFB6 E1 - - - pop hl - 401 D1:AFB7 18 AD - - jr inputnumstrKeyInput - 402 D1:AFB9 - - - - inputnumstrkeydel: - 403 D1:AFB9 78 - - - ld a, b - 404 D1:AFBA FE 00 - - cp 0 - 405 D1:AFBC CA 66 AF D1 jp z, inputnumstrKeyInput - 406 D1:AFC0 - - - - - 407 D1:AFC0 3E 20 - - ld a, ' ' - 408 D1:AFC2 CD B4 07 02 call _PutMap - 409 D1:AFC6 - - - - - 410 D1:AFC6 E5 - - - push hl - 411 D1:AFC7 21 96 05 D0 ld hl, CurCol - 412 D1:AFCB 35 - - - dec (hl) - 413 D1:AFCC E1 - - - pop hl - 414 D1:AFCD - - - - - 415 D1:AFCD 3E 20 - - ld a, ' ' - 416 D1:AFCF CD B4 07 02 call _PutMap - 417 D1:AFD3 - - - - - 418 D1:AFD3 2B - - - dec hl - 419 D1:AFD4 05 - - - dec b - 420 D1:AFD5 C3 66 AF D1 jp inputnumstrKeyInput - 421 D1:AFD9 - - - - - 422 D1:AFD9 - - - - inputnumstrKeyClear: - 423 D1:AFD9 78 - - - ld a, b - 424 D1:AFDA FE 00 - - cp 0 - 425 D1:AFDC CA 66 AF D1 jp z, inputnumstrKeyInput - 426 D1:AFE0 - - - - - 427 D1:AFE0 E5 - - - push hl - 428 D1:AFE1 21 95 05 D0 ld hl, CurRow - 429 D1:AFE5 4E - - - ld c, (hl) - 430 D1:AFE6 E1 - - - pop hl - 431 D1:AFE7 - - - - - 432 D1:AFE7 E5 - - - push hl - 433 D1:AFE8 D5 - - - push de - 434 D1:AFE9 21 3F B0 D1 ld hl, inputnumstrCurColBuf - 435 D1:AFED 11 96 05 D0 ld de, CurCol - 436 D1:AFF1 CD 49 AA D1 call bytecpy - 437 D1:AFF5 21 40 B0 D1 ld hl, inputnumstrCurRowBuf - 438 D1:AFF9 11 95 05 D0 ld de, CurRow - 439 D1:AFFD CD 49 AA D1 call bytecpy - 440 D1:B001 D1 - - - pop de - 441 D1:B002 E1 - - - pop hl - 442 D1:B003 - - - - - 443 D1:B003 3E 20 - - ld a, ' ' - 444 D1:B005 04 - - - inc b - 445 D1:B006 - - - - inputnumstrKeyClearLoop: - 446 D1:B006 CD B8 07 02 call _PutC - 447 D1:B00A 10 FA - - djnz inputnumstrKeyClearLoop - 448 D1:B00C - - - - - 449 D1:B00C D5 - - - push de - 450 D1:B00D E5 - - - push hl - 451 D1:B00E 21 3F B0 D1 ld hl, inputnumstrCurColBuf - 452 D1:B012 11 96 05 D0 ld de, CurCol - 453 D1:B016 CD 49 AA D1 call bytecpy - 454 D1:B01A 21 40 B0 D1 ld hl, inputnumstrCurRowBuf - 455 D1:B01E 11 95 05 D0 ld de, CurRow - 456 D1:B022 CD 49 AA D1 call bytecpy - 457 D1:B026 E1 - - - pop hl - 458 D1:B027 D1 - - - pop de - 459 D1:B028 E1 - - - pop hl - 460 D1:B029 E5 - - - push hl - 461 D1:B02A C3 66 AF D1 jp inputnumstrKeyInput - 462 D1:B02E - - - - - 463 D1:B02E - - - - inputnumstrKeyEnter: - 464 D1:B02E 36 00 - - ld (hl), 0 - 465 D1:B030 CD A8 08 02 call _CursorOff - 466 D1:B034 3E 20 - - ld a, ' ' - 467 D1:B036 CD B4 07 02 call _PutMap - 468 D1:B03A E1 - - - pop hl - 469 D1:B03B D1 - - - pop de - 470 D1:B03C C9 - - - ret - 471 D1:B03D - - - - - 472 D1:B03D 00 00 - - inputnumstrSizeBuf: .dw $0000 - 473 D1:B03F 00 - - - inputnumstrCurColBuf: .db $00 - 474 D1:B040 00 - - - inputnumstrCurRowBuf: .db $00 + 371 D1:B002 BB - - - cp e + 372 D1:B003 D1 - - - pop de + 373 D1:B004 28 DA - - jr z, inputnumstrKeyInput + 374 D1:B006 79 - - - ld a, c + 375 D1:B007 - - - - + 376 D1:B007 D6 0A - - sub skAdd + 377 D1:B009 38 D5 - - jr c, inputnumstrKeyInput + 378 D1:B00B FE 26 - - cp skMath - skAdd + 1 + 379 D1:B00D 30 D1 - - jr nc, inputnumstrKeyInput + 380 D1:B00F - - - - + 381 D1:B00F CD D2 AA D1 call charnumtoascii + 382 D1:B013 FE FF - - cp $FF + 383 D1:B015 28 C9 - - jr z, inputnumstrKeyInput + 384 D1:B017 - - - - + 385 D1:B017 FD CB 05 96 res textScrolled, (iy+textFlags) + 386 D1:B01B - - - - + 387 D1:B01B CD B8 07 02 call _PutC + 388 D1:B01F - - - - + 389 D1:B01F 77 - - - ld (hl), a + 390 D1:B020 23 - - - inc hl + 391 D1:B021 04 - - - inc b + 392 D1:B022 - - - - + 393 D1:B022 FD CB 05 56 bit textScrolled, (iy+textFlags) + 394 D1:B026 28 B8 - - jr z, inputnumstrKeyInput + 395 D1:B028 E5 - - - push hl + 396 D1:B029 21 BA B0 D1 ld hl, inputnumstrCurRowBuf + 397 D1:B02D 7E - - - ld a, (hl) + 398 D1:B02E 3D - - - dec a + 399 D1:B02F 77 - - - ld (hl), a + 400 D1:B030 E1 - - - pop hl + 401 D1:B031 18 AD - - jr inputnumstrKeyInput + 402 D1:B033 - - - - inputnumstrkeydel: + 403 D1:B033 78 - - - ld a, b + 404 D1:B034 FE 00 - - cp 0 + 405 D1:B036 CA E0 AF D1 jp z, inputnumstrKeyInput + 406 D1:B03A - - - - + 407 D1:B03A 3E 20 - - ld a, ' ' + 408 D1:B03C CD B4 07 02 call _PutMap + 409 D1:B040 - - - - + 410 D1:B040 E5 - - - push hl + 411 D1:B041 21 96 05 D0 ld hl, CurCol + 412 D1:B045 35 - - - dec (hl) + 413 D1:B046 E1 - - - pop hl + 414 D1:B047 - - - - + 415 D1:B047 3E 20 - - ld a, ' ' + 416 D1:B049 CD B4 07 02 call _PutMap + 417 D1:B04D - - - - + 418 D1:B04D 2B - - - dec hl + 419 D1:B04E 05 - - - dec b + 420 D1:B04F C3 E0 AF D1 jp inputnumstrKeyInput + 421 D1:B053 - - - - + 422 D1:B053 - - - - inputnumstrKeyClear: + 423 D1:B053 78 - - - ld a, b + 424 D1:B054 FE 00 - - cp 0 + 425 D1:B056 CA E0 AF D1 jp z, inputnumstrKeyInput + 426 D1:B05A - - - - + 427 D1:B05A E5 - - - push hl + 428 D1:B05B 21 95 05 D0 ld hl, CurRow + 429 D1:B05F 4E - - - ld c, (hl) + 430 D1:B060 E1 - - - pop hl + 431 D1:B061 - - - - + 432 D1:B061 E5 - - - push hl + 433 D1:B062 D5 - - - push de + 434 D1:B063 21 B9 B0 D1 ld hl, inputnumstrCurColBuf + 435 D1:B067 11 96 05 D0 ld de, CurCol + 436 D1:B06B CD 3D AA D1 call bytecpy + 437 D1:B06F 21 BA B0 D1 ld hl, inputnumstrCurRowBuf + 438 D1:B073 11 95 05 D0 ld de, CurRow + 439 D1:B077 CD 3D AA D1 call bytecpy + 440 D1:B07B D1 - - - pop de + 441 D1:B07C E1 - - - pop hl + 442 D1:B07D - - - - + 443 D1:B07D 3E 20 - - ld a, ' ' + 444 D1:B07F 04 - - - inc b + 445 D1:B080 - - - - inputnumstrKeyClearLoop: + 446 D1:B080 CD B8 07 02 call _PutC + 447 D1:B084 10 FA - - djnz inputnumstrKeyClearLoop + 448 D1:B086 - - - - + 449 D1:B086 D5 - - - push de + 450 D1:B087 E5 - - - push hl + 451 D1:B088 21 B9 B0 D1 ld hl, inputnumstrCurColBuf + 452 D1:B08C 11 96 05 D0 ld de, CurCol + 453 D1:B090 CD 3D AA D1 call bytecpy + 454 D1:B094 21 BA B0 D1 ld hl, inputnumstrCurRowBuf + 455 D1:B098 11 95 05 D0 ld de, CurRow + 456 D1:B09C CD 3D AA D1 call bytecpy + 457 D1:B0A0 E1 - - - pop hl + 458 D1:B0A1 D1 - - - pop de + 459 D1:B0A2 E1 - - - pop hl + 460 D1:B0A3 E5 - - - push hl + 461 D1:B0A4 C3 E0 AF D1 jp inputnumstrKeyInput + 462 D1:B0A8 - - - - + 463 D1:B0A8 - - - - inputnumstrKeyEnter: + 464 D1:B0A8 36 00 - - ld (hl), 0 + 465 D1:B0AA CD A8 08 02 call _CursorOff + 466 D1:B0AE 3E 20 - - ld a, ' ' + 467 D1:B0B0 CD B4 07 02 call _PutMap + 468 D1:B0B4 E1 - - - pop hl + 469 D1:B0B5 D1 - - - pop de + 470 D1:B0B6 C9 - - - ret + 471 D1:B0B7 - - - - + 472 D1:B0B7 00 00 - - inputnumstrSizeBuf: .dw $0000 + 473 D1:B0B9 00 - - - inputnumstrCurColBuf: .db $00 + 474 D1:B0BA 00 - - - inputnumstrCurRowBuf: .db $00 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" Listing for file "FSHa.asm" - 77 D1:B041 - - - - #include "includes/lib/fsh/fsh.inc" + 72 D1:B0BB - - - - #include "includes/lib/fsh/fsh.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 1 D1:B041 - - - - #include "includes/lib/fsh/Command.asm" + 1 D1:B0BB - - - - #include "includes/lib/fsh/Command.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Command.asm" - 1 D1:B041 - - - - ;;commandfill - 2 D1:B041 - - - - ;;Fills command mem with byte a - 3 D1:B041 - - - - ;;Inputs: - 4 D1:B041 - - - - ;; A: byte - 5 D1:B041 - - - - commandfill: - 6 D1:B041 E5 - - - push hl - 7 D1:B042 C5 - - - push bc - 8 D1:B043 D5 - - - push de - 9 D1:B044 06 00 - - ld b, 0 - 10 D1:B046 11 00 00 00 ld de, 0 - 11 D1:B04A 4F - - - ld c, a - 12 D1:B04B 21 9F EA D0 ld hl, FshCmd - 13 D1:B04F - - - - commandfillLoop: - 14 D1:B04F 71 - - - ld (hl), c - 15 D1:B050 23 - - - inc hl - 16 D1:B051 04 - - - inc b - 17 D1:B052 13 - - - inc de - 18 D1:B053 78 - - - ld a, b - 19 D1:B054 FE 40 - - cp FshCmdSize - 20 D1:B056 38 F7 - - jr c, commandfillLoop - 21 D1:B058 D1 - - - pop de - 22 D1:B059 C1 - - - pop bc - 23 D1:B05A E1 - - - pop hl - 24 D1:B05B C9 - - - ret + 1 D1:B0BB - - - - ;;commandfill + 2 D1:B0BB - - - - ;;Fills command mem with byte a + 3 D1:B0BB - - - - ;;Inputs: + 4 D1:B0BB - - - - ;; A: byte + 5 D1:B0BB - - - - commandfill: + 6 D1:B0BB E5 - - - push hl + 7 D1:B0BC C5 - - - push bc + 8 D1:B0BD D5 - - - push de + 9 D1:B0BE 06 00 - - ld b, 0 + 10 D1:B0C0 11 00 00 00 ld de, 0 + 11 D1:B0C4 4F - - - ld c, a + 12 D1:B0C5 21 9F EA D0 ld hl, FshCmd + 13 D1:B0C9 - - - - commandfillLoop: + 14 D1:B0C9 71 - - - ld (hl), c + 15 D1:B0CA 23 - - - inc hl + 16 D1:B0CB 04 - - - inc b + 17 D1:B0CC 13 - - - inc de + 18 D1:B0CD 78 - - - ld a, b + 19 D1:B0CE FE 40 - - cp FshCmdSize + 20 D1:B0D0 38 F7 - - jr c, commandfillLoop + 21 D1:B0D2 D1 - - - pop de + 22 D1:B0D3 C1 - - - pop bc + 23 D1:B0D4 E1 - - - pop hl + 24 D1:B0D5 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 2 D1:B05C - - - - #include "includes/lib/fsh/Parse.asm" + 2 D1:B0D6 - - - - #include "includes/lib/fsh/Parse.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Parse.asm" - 1 D1:B05C - - - - ;;fshparsecommand - 2 D1:B05C - - - - ;;Inputs: - 3 D1:B05C - - - - ;; HL: FshCmd - 4 D1:B05C - - - - ;;b = buf row - 5 D1:B05C - - - - ;;c = char in row - 6 D1:B05C - - - - ;de = scratch - 7 D1:B05C - - - - fshparsecommand: - 8 D1:B05C E5 - - - push hl - 9 D1:B05D C5 - - - push bc - 10 D1:B05E D5 - - - push de - 11 D1:B05F E5 - - - push hl - 12 D1:B060 E5 - - - push hl - 13 D1:B061 21 73 B1 D1 ld hl, fshparsecommandCmd - 14 D1:B065 06 2D - - ld b, 45 - 15 D1:B067 3E 00 - - ld a, $00 - 16 D1:B069 CD 51 AA D1 call memset - 17 D1:B06D E1 - - - pop hl - 18 D1:B06E - - - - - 19 D1:B06E 01 00 00 00 ld bc, 0 - 20 D1:B072 11 00 00 00 ld de, 0 - 21 D1:B076 - - - - fshparsecommandLoop: - 22 D1:B076 7E - - - ld a, (hl) - 23 D1:B077 - - - - fshparsecommandCheckSpace: - 24 D1:B077 FE 20 - - cp ' ' ;end of word - 25 D1:B079 20 0C - - jr nz, fshparsecommandCheckEnd - 26 D1:B07B 3E 00 - - ld a, $00 - 27 D1:B07D CD A6 B1 D1 call fshparsecommandCopyChar - 28 D1:B081 0E 00 - - ld c, 0 - 29 D1:B083 04 - - - inc b - 30 D1:B084 23 - - - inc hl - 31 D1:B085 18 EF - - jr fshparsecommandLoop - 32 D1:B087 - - - - - 33 D1:B087 - - - - fshparsecommandCheckEnd: - 34 D1:B087 FE 00 - - cp $00 ;end of string - 35 D1:B089 28 13 - - jr z, fshparsecommandCheckArgStatus - 36 D1:B08B - - - - - 37 D1:B08B - - - - fshparsecommandLoopEnd: - 38 D1:B08B CD A6 B1 D1 call fshparsecommandCopyChar - 39 D1:B08F 23 - - - inc hl - 40 D1:B090 0C - - - inc c - 41 D1:B091 - - - - - 42 D1:B091 79 - - - ld a, c - 43 D1:B092 FE 08 - - cp FshCmdCmdSize - 44 D1:B094 20 E0 - - jr nz, fshparsecommandLoop - 45 D1:B096 - - - - ;inc hl - 46 D1:B096 0E 00 - - ld c, 0 - 47 D1:B098 04 - - - inc b - 48 D1:B099 78 - - - ld a, b - 49 D1:B09A FE 05 - - cp 5 - 50 D1:B09C 20 D8 - - jr nz, fshparsecommandLoop - 51 D1:B09E - - - - ; ld bc, 0 - 52 D1:B09E - - - - - 53 D1:B09E - - - - fshparsecommandCheckArgStatus: - 54 D1:B09E AF - - - xor a - 55 D1:B09F 21 CD EA D0 ld hl, FshCmdArgFlags - 56 D1:B0A3 77 - - - ld (hl), a - 57 D1:B0A4 - - - - fshparsecommandCheckArg0: - 58 D1:B0A4 21 7C B1 D1 ld hl, fshparsecommandArg0 - 59 D1:B0A8 7E - - - ld a, (hl) - 60 D1:B0A9 FE 00 - - cp $00 - 61 D1:B0AB 28 27 - - jr z, fshparsecommandCheckArg1 - 62 D1:B0AD 21 CD EA D0 ld hl, FshCmdArgFlags - 63 D1:B0B1 CB C6 - - set 0, (hl) - 64 D1:B0B3 7E - - - ld a, (hl) - 65 D1:B0B4 21 7C B1 D1 ld hl, fshparsecommandArg0 - 66 D1:B0B8 7E - - - ld a, (hl) - 67 D1:B0B9 D6 30 - - sub '0' - 68 D1:B0BB FE 0A - - cp '9' - '0' + 1 - 69 D1:B0BD 30 15 - - jr nc, fshparsecommandCheckArg1 - 70 D1:B0BF CD 43 AC D1 call strtow - 71 D1:B0C3 11 7C B1 D1 ld de, fshparsecommandArg0 - 72 D1:B0C7 EB - - - ex de, hl - 73 D1:B0C8 73 - - - ld (hl), e - 74 D1:B0C9 23 - - - inc hl - 75 D1:B0CA 72 - - - ld (hl), d - 76 D1:B0CB 34 - - - inc (hl) - 77 D1:B0CC 36 00 - - ld (hl), $00 - 78 D1:B0CE 21 CD EA D0 ld hl, FshCmdArgFlags - 79 D1:B0D2 CB CE - - set 1, (hl) - 80 D1:B0D4 - - - - fshparsecommandCheckArg1: - 81 D1:B0D4 21 85 B1 D1 ld hl, fshparsecommandArg1 - 82 D1:B0D8 7E - - - ld a, (hl) - 83 D1:B0D9 FE 00 - - cp $00 - 84 D1:B0DB 28 26 - - jr z, fshparsecommandCheckArg2 - 85 D1:B0DD 21 CD EA D0 ld hl, FshCmdArgFlags - 86 D1:B0E1 CB D6 - - set 2, (hl) - 87 D1:B0E3 21 85 B1 D1 ld hl, fshparsecommandArg1 - 88 D1:B0E7 7E - - - ld a, (hl) - 89 D1:B0E8 D6 30 - - sub '0' - 90 D1:B0EA FE 0A - - cp '9' - '0' + 1 - 91 D1:B0EC 30 15 - - jr nc, fshparsecommandCheckArg2 - 92 D1:B0EE CD 43 AC D1 call strtow - 93 D1:B0F2 11 85 B1 D1 ld de, fshparsecommandArg1 - 94 D1:B0F6 EB - - - ex de, hl - 95 D1:B0F7 73 - - - ld (hl), e - 96 D1:B0F8 23 - - - inc hl - 97 D1:B0F9 72 - - - ld (hl), d - 98 D1:B0FA 23 - - - inc hl - 99 D1:B0FB 36 00 - - ld (hl), $00 - 100 D1:B0FD 21 CD EA D0 ld hl, FshCmdArgFlags - 101 D1:B101 CB DE - - set 3, (hl) - 102 D1:B103 - - - - fshparsecommandCheckArg2: - 103 D1:B103 21 8E B1 D1 ld hl, fshparsecommandArg2 - 104 D1:B107 7E - - - ld a, (hl) - 105 D1:B108 FE 00 - - cp $00 - 106 D1:B10A 28 26 - - jr z, fshparsecommandCheckArg3 - 107 D1:B10C 21 CD EA D0 ld hl, FshCmdArgFlags - 108 D1:B110 CB E6 - - set 4, (hl) - 109 D1:B112 21 8E B1 D1 ld hl, fshparsecommandArg2 - 110 D1:B116 7E - - - ld a, (hl) - 111 D1:B117 D6 30 - - sub '0' - 112 D1:B119 FE 0A - - cp '9' - '0' + 1 - 113 D1:B11B 30 15 - - jr nc, fshparsecommandCheckArg3 - 114 D1:B11D CD 43 AC D1 call strtow - 115 D1:B121 11 8E B1 D1 ld de, fshparsecommandArg2 - 116 D1:B125 EB - - - ex de, hl - 117 D1:B126 73 - - - ld (hl), e - 118 D1:B127 23 - - - inc hl - 119 D1:B128 72 - - - ld (hl), d - 120 D1:B129 23 - - - inc hl - 121 D1:B12A 36 00 - - ld (hl), $00 - 122 D1:B12C 21 CD EA D0 ld hl, FshCmdArgFlags - 123 D1:B130 CB EE - - set 5, (hl) - 124 D1:B132 - - - - fshparsecommandCheckArg3: - 125 D1:B132 21 97 B1 D1 ld hl, fshparsecommandArg3 - 126 D1:B136 7E - - - ld a, (hl) - 127 D1:B137 FE 00 - - cp $00 - 128 D1:B139 28 26 - - jr z, fshparsecommandCopyBack - 129 D1:B13B 21 CD EA D0 ld hl, FshCmdArgFlags - 130 D1:B13F CB F6 - - set 6, (hl) - 131 D1:B141 21 97 B1 D1 ld hl, fshparsecommandArg3 - 132 D1:B145 7E - - - ld a, (hl) - 133 D1:B146 D6 30 - - sub '0' - 134 D1:B148 FE 0A - - cp '9' - '0' + 1 - 135 D1:B14A 30 15 - - jr nc, fshparsecommandCopyBack - 136 D1:B14C CD 43 AC D1 call strtow - 137 D1:B150 11 97 B1 D1 ld de, fshparsecommandArg3 - 138 D1:B154 EB - - - ex de, hl - 139 D1:B155 73 - - - ld (hl), e - 140 D1:B156 23 - - - inc hl - 141 D1:B157 72 - - - ld (hl), d - 142 D1:B158 23 - - - inc hl - 143 D1:B159 36 00 - - ld (hl), $00 - 144 D1:B15B 21 CD EA D0 ld hl, FshCmdArgFlags - 145 D1:B15F CB FE - - set 7, (hl) - 146 D1:B161 - - - - fshparsecommandCopyBack: - 147 D1:B161 E1 - - - pop hl - 148 D1:B162 C5 - - - push bc - 149 D1:B163 EB - - - ex de, hl - 150 D1:B164 21 73 B1 D1 ld hl, fshparsecommandCmd - 151 D1:B168 01 2D 00 00 ld bc, 45 - 152 D1:B16C ED B0 - - ldir - 153 D1:B16E C1 - - - pop bc - 154 D1:B16F - - - - - 155 D1:B16F D1 - - - pop de - 156 D1:B170 C1 - - - pop bc - 157 D1:B171 E1 - - - pop hl - 158 D1:B172 C9 - - - ret - 159 D1:B173 - - - - - 160 D1:B173 00 00 00 00 + 1 D1:B0D6 - - - - ;;fshparsecommand + 2 D1:B0D6 - - - - ;;Inputs: + 3 D1:B0D6 - - - - ;; HL: FshCmd + 4 D1:B0D6 - - - - ;;b = buf row + 5 D1:B0D6 - - - - ;;c = char in row + 6 D1:B0D6 - - - - ;de = scratch + 7 D1:B0D6 - - - - fshparsecommand: + 8 D1:B0D6 E5 - - - push hl + 9 D1:B0D7 C5 - - - push bc + 10 D1:B0D8 D5 - - - push de + 11 D1:B0D9 E5 - - - push hl + 12 D1:B0DA E5 - - - push hl + 13 D1:B0DB 21 ED B1 D1 ld hl, fshparsecommandCmd + 14 D1:B0DF 06 2D - - ld b, 45 + 15 D1:B0E1 3E 00 - - ld a, $00 + 16 D1:B0E3 CD 45 AA D1 call memset + 17 D1:B0E7 E1 - - - pop hl + 18 D1:B0E8 - - - - + 19 D1:B0E8 01 00 00 00 ld bc, 0 + 20 D1:B0EC 11 00 00 00 ld de, 0 + 21 D1:B0F0 - - - - fshparsecommandLoop: + 22 D1:B0F0 7E - - - ld a, (hl) + 23 D1:B0F1 - - - - fshparsecommandCheckSpace: + 24 D1:B0F1 FE 20 - - cp ' ' ;end of word + 25 D1:B0F3 20 0C - - jr nz, fshparsecommandCheckEnd + 26 D1:B0F5 3E 00 - - ld a, $00 + 27 D1:B0F7 CD 20 B2 D1 call fshparsecommandCopyChar + 28 D1:B0FB 0E 00 - - ld c, 0 + 29 D1:B0FD 04 - - - inc b + 30 D1:B0FE 23 - - - inc hl + 31 D1:B0FF 18 EF - - jr fshparsecommandLoop + 32 D1:B101 - - - - + 33 D1:B101 - - - - fshparsecommandCheckEnd: + 34 D1:B101 FE 00 - - cp $00 ;end of string + 35 D1:B103 28 13 - - jr z, fshparsecommandCheckArgStatus + 36 D1:B105 - - - - + 37 D1:B105 - - - - fshparsecommandLoopEnd: + 38 D1:B105 CD 20 B2 D1 call fshparsecommandCopyChar + 39 D1:B109 23 - - - inc hl + 40 D1:B10A 0C - - - inc c + 41 D1:B10B - - - - + 42 D1:B10B 79 - - - ld a, c + 43 D1:B10C FE 08 - - cp FshCmdCmdSize + 44 D1:B10E 20 E0 - - jr nz, fshparsecommandLoop + 45 D1:B110 - - - - ;inc hl + 46 D1:B110 0E 00 - - ld c, 0 + 47 D1:B112 04 - - - inc b + 48 D1:B113 78 - - - ld a, b + 49 D1:B114 FE 05 - - cp 5 + 50 D1:B116 20 D8 - - jr nz, fshparsecommandLoop + 51 D1:B118 - - - - ; ld bc, 0 + 52 D1:B118 - - - - + 53 D1:B118 - - - - fshparsecommandCheckArgStatus: + 54 D1:B118 AF - - - xor a + 55 D1:B119 21 CD EA D0 ld hl, FshCmdArgFlags + 56 D1:B11D 77 - - - ld (hl), a + 57 D1:B11E - - - - fshparsecommandCheckArg0: + 58 D1:B11E 21 F6 B1 D1 ld hl, fshparsecommandArg0 + 59 D1:B122 7E - - - ld a, (hl) + 60 D1:B123 FE 00 - - cp $00 + 61 D1:B125 28 27 - - jr z, fshparsecommandCheckArg1 + 62 D1:B127 21 CD EA D0 ld hl, FshCmdArgFlags + 63 D1:B12B CB C6 - - set 0, (hl) + 64 D1:B12D 7E - - - ld a, (hl) + 65 D1:B12E 21 F6 B1 D1 ld hl, fshparsecommandArg0 + 66 D1:B132 7E - - - ld a, (hl) + 67 D1:B133 D6 30 - - sub '0' + 68 D1:B135 FE 0A - - cp '9' - '0' + 1 + 69 D1:B137 30 15 - - jr nc, fshparsecommandCheckArg1 + 70 D1:B139 CD BD AC D1 call strtow + 71 D1:B13D 11 F6 B1 D1 ld de, fshparsecommandArg0 + 72 D1:B141 EB - - - ex de, hl + 73 D1:B142 73 - - - ld (hl), e + 74 D1:B143 23 - - - inc hl + 75 D1:B144 72 - - - ld (hl), d + 76 D1:B145 34 - - - inc (hl) + 77 D1:B146 36 00 - - ld (hl), $00 + 78 D1:B148 21 CD EA D0 ld hl, FshCmdArgFlags + 79 D1:B14C CB CE - - set 1, (hl) + 80 D1:B14E - - - - fshparsecommandCheckArg1: + 81 D1:B14E 21 FF B1 D1 ld hl, fshparsecommandArg1 + 82 D1:B152 7E - - - ld a, (hl) + 83 D1:B153 FE 00 - - cp $00 + 84 D1:B155 28 26 - - jr z, fshparsecommandCheckArg2 + 85 D1:B157 21 CD EA D0 ld hl, FshCmdArgFlags + 86 D1:B15B CB D6 - - set 2, (hl) + 87 D1:B15D 21 FF B1 D1 ld hl, fshparsecommandArg1 + 88 D1:B161 7E - - - ld a, (hl) + 89 D1:B162 D6 30 - - sub '0' + 90 D1:B164 FE 0A - - cp '9' - '0' + 1 + 91 D1:B166 30 15 - - jr nc, fshparsecommandCheckArg2 + 92 D1:B168 CD BD AC D1 call strtow + 93 D1:B16C 11 FF B1 D1 ld de, fshparsecommandArg1 + 94 D1:B170 EB - - - ex de, hl + 95 D1:B171 73 - - - ld (hl), e + 96 D1:B172 23 - - - inc hl + 97 D1:B173 72 - - - ld (hl), d + 98 D1:B174 23 - - - inc hl + 99 D1:B175 36 00 - - ld (hl), $00 + 100 D1:B177 21 CD EA D0 ld hl, FshCmdArgFlags + 101 D1:B17B CB DE - - set 3, (hl) + 102 D1:B17D - - - - fshparsecommandCheckArg2: + 103 D1:B17D 21 08 B2 D1 ld hl, fshparsecommandArg2 + 104 D1:B181 7E - - - ld a, (hl) + 105 D1:B182 FE 00 - - cp $00 + 106 D1:B184 28 26 - - jr z, fshparsecommandCheckArg3 + 107 D1:B186 21 CD EA D0 ld hl, FshCmdArgFlags + 108 D1:B18A CB E6 - - set 4, (hl) + 109 D1:B18C 21 08 B2 D1 ld hl, fshparsecommandArg2 + 110 D1:B190 7E - - - ld a, (hl) + 111 D1:B191 D6 30 - - sub '0' + 112 D1:B193 FE 0A - - cp '9' - '0' + 1 + 113 D1:B195 30 15 - - jr nc, fshparsecommandCheckArg3 + 114 D1:B197 CD BD AC D1 call strtow + 115 D1:B19B 11 08 B2 D1 ld de, fshparsecommandArg2 + 116 D1:B19F EB - - - ex de, hl + 117 D1:B1A0 73 - - - ld (hl), e + 118 D1:B1A1 23 - - - inc hl + 119 D1:B1A2 72 - - - ld (hl), d + 120 D1:B1A3 23 - - - inc hl + 121 D1:B1A4 36 00 - - ld (hl), $00 + 122 D1:B1A6 21 CD EA D0 ld hl, FshCmdArgFlags + 123 D1:B1AA CB EE - - set 5, (hl) + 124 D1:B1AC - - - - fshparsecommandCheckArg3: + 125 D1:B1AC 21 11 B2 D1 ld hl, fshparsecommandArg3 + 126 D1:B1B0 7E - - - ld a, (hl) + 127 D1:B1B1 FE 00 - - cp $00 + 128 D1:B1B3 28 26 - - jr z, fshparsecommandCopyBack + 129 D1:B1B5 21 CD EA D0 ld hl, FshCmdArgFlags + 130 D1:B1B9 CB F6 - - set 6, (hl) + 131 D1:B1BB 21 11 B2 D1 ld hl, fshparsecommandArg3 + 132 D1:B1BF 7E - - - ld a, (hl) + 133 D1:B1C0 D6 30 - - sub '0' + 134 D1:B1C2 FE 0A - - cp '9' - '0' + 1 + 135 D1:B1C4 30 15 - - jr nc, fshparsecommandCopyBack + 136 D1:B1C6 CD BD AC D1 call strtow + 137 D1:B1CA 11 11 B2 D1 ld de, fshparsecommandArg3 + 138 D1:B1CE EB - - - ex de, hl + 139 D1:B1CF 73 - - - ld (hl), e + 140 D1:B1D0 23 - - - inc hl + 141 D1:B1D1 72 - - - ld (hl), d + 142 D1:B1D2 23 - - - inc hl + 143 D1:B1D3 36 00 - - ld (hl), $00 + 144 D1:B1D5 21 CD EA D0 ld hl, FshCmdArgFlags + 145 D1:B1D9 CB FE - - set 7, (hl) + 146 D1:B1DB - - - - fshparsecommandCopyBack: + 147 D1:B1DB E1 - - - pop hl + 148 D1:B1DC C5 - - - push bc + 149 D1:B1DD EB - - - ex de, hl + 150 D1:B1DE 21 ED B1 D1 ld hl, fshparsecommandCmd + 151 D1:B1E2 01 2D 00 00 ld bc, 45 + 152 D1:B1E6 ED B0 - - ldir + 153 D1:B1E8 C1 - - - pop bc + 154 D1:B1E9 - - - - + 155 D1:B1E9 D1 - - - pop de + 156 D1:B1EA C1 - - - pop bc + 157 D1:B1EB E1 - - - pop hl + 158 D1:B1EC C9 - - - ret + 159 D1:B1ED - - - - + 160 D1:B1ED 00 00 00 00 00 00 00 00 00 - - - fshparsecommandCmd: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 161 D1:B17C 00 00 00 00 + 161 D1:B1F6 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg0: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 162 D1:B185 00 00 00 00 + 162 D1:B1FF 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg1: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 163 D1:B18E 00 00 00 00 + 163 D1:B208 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg2: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 164 D1:B197 00 00 00 00 + 164 D1:B211 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg3: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 165 D1:B1A0 00 00 00 00 + 165 D1:B21A 00 00 00 00 00 00 - - fshparsecommandOverB: .db $00, $00, $00, $00, $00, $00 - 166 D1:B1A6 - - - - - 167 D1:B1A6 - - - - fshparsecommandCopyChar: - 168 D1:B1A6 - - - - ;Copy - 169 D1:B1A6 E5 - - - push hl - 170 D1:B1A7 C5 - - - push bc - 171 D1:B1A8 21 00 00 00 ld hl, 0 - 172 D1:B1AC 60 - - - ld h, b - 173 D1:B1AD 2E 09 - - ld l, 9 - 174 D1:B1AF 41 - - - ld b, c - 175 D1:B1B0 11 73 B1 D1 ld de, fshparsecommandCmd - 176 D1:B1B4 CD 9B AB D1 call array2d - 177 D1:B1B8 C1 - - - pop bc - 178 D1:B1B9 E1 - - - pop hl - 179 D1:B1BA - - - - ;push hl - 180 D1:B1BA - - - - ; ld hl, fshparsecommandCmd+45+1 - 181 D1:B1BA - - - - ; call cpHLDE - 182 D1:B1BA - - - - ;pop hl - 183 D1:B1BA - - - - ;pop de - 184 D1:B1BA - - - - ;ret c - 185 D1:B1BA - - - - ;push de - 186 D1:B1BA 12 - - - ld (de), a ;ld buffer - 187 D1:B1BB C9 - - - ret + 166 D1:B220 - - - - + 167 D1:B220 - - - - fshparsecommandCopyChar: + 168 D1:B220 - - - - ;Copy + 169 D1:B220 E5 - - - push hl + 170 D1:B221 C5 - - - push bc + 171 D1:B222 21 00 00 00 ld hl, 0 + 172 D1:B226 60 - - - ld h, b + 173 D1:B227 2E 09 - - ld l, 9 + 174 D1:B229 41 - - - ld b, c + 175 D1:B22A 11 ED B1 D1 ld de, fshparsecommandCmd + 176 D1:B22E CD 8F AB D1 call array2d + 177 D1:B232 C1 - - - pop bc + 178 D1:B233 E1 - - - pop hl + 179 D1:B234 - - - - ;push hl + 180 D1:B234 - - - - ; ld hl, fshparsecommandCmd+45+1 + 181 D1:B234 - - - - ; call cpHLDE + 182 D1:B234 - - - - ;pop hl + 183 D1:B234 - - - - ;pop de + 184 D1:B234 - - - - ;ret c + 185 D1:B234 - - - - ;push de + 186 D1:B234 12 - - - ld (de), a ;ld buffer + 187 D1:B235 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 3 D1:B1BC - - - - #include "includes/lib/fsh/FshVar.asm" + 3 D1:B236 - - - - #include "includes/lib/fsh/FshVar.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\FshVar.asm" - 1 D1:B1BC - - - - ;;fshvarset - 2 D1:B1BC - - - - ;;Sets a Word in FshVars. - 3 D1:B1BC - - - - ;;Inputs: - 4 D1:B1BC - - - - ;; HL: 16b - 5 D1:B1BC - - - - ;; DE: Destination Word Relitive to FshVars - 6 D1:B1BC - - - - fshvarset: - 7 D1:B1BC C5 - - - push bc - 8 D1:B1BD 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 - 9 D1:B1C1 CD 83 A9 D1 call cpBCDE - 10 D1:B1C5 C1 - - - pop bc - 11 D1:B1C6 38 11 - - jr c, fshvarsetOOBException - 12 D1:B1C8 C5 - - - push bc - 13 D1:B1C9 D5 - - - push de - 14 D1:B1CA E5 - - - push hl - 15 D1:B1CB 01 1F EA D0 ld bc, FshVars - 16 D1:B1CF EB - - - ex de, hl - 17 D1:B1D0 29 - - - add hl, hl - 18 D1:B1D1 09 - - - add hl, bc - 19 D1:B1D2 73 - - - ld (hl), e - 20 D1:B1D3 23 - - - inc hl - 21 D1:B1D4 72 - - - ld (hl), d - 22 D1:B1D5 E1 - - - pop hl - 23 D1:B1D6 D1 - - - pop de - 24 D1:B1D7 C1 - - - pop bc - 25 D1:B1D8 C9 - - - ret - 26 D1:B1D9 - - - - fshvarsetOOBException: - 27 D1:B1D9 E5 - - - push hl - 28 D1:B1DA 21 FE B2 D1 ld hl, ErrOutOfBoundso - 29 D1:B1DE CD B9 B2 D1 call ErrSet - 30 D1:B1E2 E1 - - - pop hl - 31 D1:B1E3 C9 - - - ret - 32 D1:B1E4 - - - - - 33 D1:B1E4 - - - - ;;fshvarget - 34 D1:B1E4 - - - - ;;Gets a Word in FshVars. - 35 D1:B1E4 - - - - ;;Inputs: - 36 D1:B1E4 - - - - ;; DE: Destination Word Relitive to FshVars - 37 D1:B1E4 - - - - ;;Outputs: - 38 D1:B1E4 - - - - ;; HL: Word in (DE) - 39 D1:B1E4 - - - - fshvarget: - 40 D1:B1E4 C5 - - - push bc - 41 D1:B1E5 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 - 42 D1:B1E9 CD 83 A9 D1 call cpBCDE - 43 D1:B1ED C1 - - - pop bc - 44 D1:B1EE 38 14 - - jr c, fshvargetOOBException - 45 D1:B1F0 C5 - - - push bc - 46 D1:B1F1 D5 - - - push de - 47 D1:B1F2 21 00 00 00 ld hl, 0 - 48 D1:B1F6 01 1F EA D0 ld bc, FshVars - 49 D1:B1FA EB - - - ex de, hl - 50 D1:B1FB 29 - - - add hl, hl - 51 D1:B1FC 09 - - - add hl, bc - 52 D1:B1FD 5E - - - ld e, (hl) - 53 D1:B1FE 23 - - - inc hl - 54 D1:B1FF 56 - - - ld d, (hl) - 55 D1:B200 EB - - - ex de, hl - 56 D1:B201 D1 - - - pop de - 57 D1:B202 C1 - - - pop bc - 58 D1:B203 C9 - - - ret - 59 D1:B204 - - - - fshvargetOOBException: - 60 D1:B204 E5 - - - push hl - 61 D1:B205 21 FE B2 D1 ld hl, ErrOutOfBoundso - 62 D1:B209 CD B9 B2 D1 call ErrSet - 63 D1:B20D E1 - - - pop hl - 64 D1:B20E C9 - - - ret - 65 D1:B20F - - - - ;;fshvarcpy - 66 D1:B20F - - - - ;;Copies a word. - 67 D1:B20F - - - - ;;Inputs: - 68 D1:B20F - - - - ;; HL: Byte pointer - 69 D1:B20F - - - - ;; DE: Destination - 70 D1:B20F - - - - fshvarcpy: - 71 D1:B20F C5 - - - push bc - 72 D1:B210 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 - 73 D1:B214 CD 83 A9 D1 call cpBCDE - 74 D1:B218 C1 - - - pop bc - 75 D1:B219 38 2A - - jr c, fshvarcpyOOBException - 76 D1:B21B C5 - - - push bc - 77 D1:B21C 01 40 00 00 ld bc, FshVarsSize / 2 - 78 D1:B220 CD 7E A9 D1 call cpHLBC - 79 D1:B224 C1 - - - pop bc - 80 D1:B225 30 1E - - jr nc, fshvarcpyOOBException - 81 D1:B227 D5 - - - push de - 82 D1:B228 E5 - - - push hl - 83 D1:B229 01 40 00 00 ld bc, FshVarsSize / 2 - 84 D1:B22D CD 83 A9 D1 call cpBCDE - 85 D1:B231 38 12 - - jr c, fshvarcpyOOBException - 86 D1:B233 01 1F EA D0 ld bc, FshVars - 87 D1:B237 29 - - - add hl, hl - 88 D1:B238 09 - - - add hl, bc - 89 D1:B239 EB - - - ex de, hl - 90 D1:B23A 29 - - - add hl, hl - 91 D1:B23B 09 - - - add hl, bc - 92 D1:B23C 1A - - - ld a, (de) - 93 D1:B23D 77 - - - ld (hl), a - 94 D1:B23E 13 - - - inc de - 95 D1:B23F 23 - - - inc hl - 96 D1:B240 1A - - - ld a, (de) - 97 D1:B241 77 - - - ld (hl), a - 98 D1:B242 E1 - - - pop hl - 99 D1:B243 D1 - - - pop de - 100 D1:B244 C9 - - - ret - 101 D1:B245 - - - - - 102 D1:B245 - - - - fshvarcpyOOBException: - 103 D1:B245 E5 - - - push hl - 104 D1:B246 21 FE B2 D1 ld hl, ErrOutOfBoundso - 105 D1:B24A CD B9 B2 D1 call ErrSet - 106 D1:B24E E1 - - - pop hl - 107 D1:B24F C9 - - - ret - 108 D1:B250 - - - - - 109 D1:B250 - - - - ;;fshvarreset - 110 D1:B250 - - - - ;;Fills fshvars with $00 - 111 D1:B250 - - - - fshvarreset: - 112 D1:B250 E5 - - - push hl - 113 D1:B251 C5 - - - push bc - 114 D1:B252 D5 - - - push de - 115 D1:B253 06 00 - - ld b, 0 - 116 D1:B255 11 00 00 00 ld de, 0 - 117 D1:B259 21 00 00 00 ld hl, 0 - 118 D1:B25D - - - - fshvarfillLoop: - 119 D1:B25D CD BC B1 D1 call fshvarset - 120 D1:B261 04 - - - inc b - 121 D1:B262 13 - - - inc de - 122 D1:B263 78 - - - ld a, b - 123 D1:B264 FE 40 - - cp FshVarsSize / 2 - 124 D1:B266 38 F5 - - jr c, fshvarfillLoop - 125 D1:B268 D1 - - - pop de - 126 D1:B269 C1 - - - pop bc - 127 D1:B26A E1 - - - pop hl - 128 D1:B26B C9 - - - ret + 1 D1:B236 - - - - ;;fshvarset + 2 D1:B236 - - - - ;;Sets a Word in FshVars. + 3 D1:B236 - - - - ;;Inputs: + 4 D1:B236 - - - - ;; HL: 16b + 5 D1:B236 - - - - ;; DE: Destination Word Relitive to FshVars + 6 D1:B236 - - - - fshvarset: + 7 D1:B236 C5 - - - push bc + 8 D1:B237 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 + 9 D1:B23B CD 77 A9 D1 call cpBCDE + 10 D1:B23F C1 - - - pop bc + 11 D1:B240 38 11 - - jr c, fshvarsetOOBException + 12 D1:B242 C5 - - - push bc + 13 D1:B243 D5 - - - push de + 14 D1:B244 E5 - - - push hl + 15 D1:B245 01 1F EA D0 ld bc, FshVars + 16 D1:B249 EB - - - ex de, hl + 17 D1:B24A 29 - - - add hl, hl + 18 D1:B24B 09 - - - add hl, bc + 19 D1:B24C 73 - - - ld (hl), e + 20 D1:B24D 23 - - - inc hl + 21 D1:B24E 72 - - - ld (hl), d + 22 D1:B24F E1 - - - pop hl + 23 D1:B250 D1 - - - pop de + 24 D1:B251 C1 - - - pop bc + 25 D1:B252 C9 - - - ret + 26 D1:B253 - - - - fshvarsetOOBException: + 27 D1:B253 E5 - - - push hl + 28 D1:B254 21 78 B3 D1 ld hl, ErrOutOfBoundso + 29 D1:B258 CD 33 B3 D1 call ErrSet + 30 D1:B25C E1 - - - pop hl + 31 D1:B25D C9 - - - ret + 32 D1:B25E - - - - + 33 D1:B25E - - - - ;;fshvarget + 34 D1:B25E - - - - ;;Gets a Word in FshVars. + 35 D1:B25E - - - - ;;Inputs: + 36 D1:B25E - - - - ;; DE: Destination Word Relitive to FshVars + 37 D1:B25E - - - - ;;Outputs: + 38 D1:B25E - - - - ;; HL: Word in (DE) + 39 D1:B25E - - - - fshvarget: + 40 D1:B25E C5 - - - push bc + 41 D1:B25F 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 + 42 D1:B263 CD 77 A9 D1 call cpBCDE + 43 D1:B267 C1 - - - pop bc + 44 D1:B268 38 14 - - jr c, fshvargetOOBException + 45 D1:B26A C5 - - - push bc + 46 D1:B26B D5 - - - push de + 47 D1:B26C 21 00 00 00 ld hl, 0 + 48 D1:B270 01 1F EA D0 ld bc, FshVars + 49 D1:B274 EB - - - ex de, hl + 50 D1:B275 29 - - - add hl, hl + 51 D1:B276 09 - - - add hl, bc + 52 D1:B277 5E - - - ld e, (hl) + 53 D1:B278 23 - - - inc hl + 54 D1:B279 56 - - - ld d, (hl) + 55 D1:B27A EB - - - ex de, hl + 56 D1:B27B D1 - - - pop de + 57 D1:B27C C1 - - - pop bc + 58 D1:B27D C9 - - - ret + 59 D1:B27E - - - - fshvargetOOBException: + 60 D1:B27E E5 - - - push hl + 61 D1:B27F 21 78 B3 D1 ld hl, ErrOutOfBoundso + 62 D1:B283 CD 33 B3 D1 call ErrSet + 63 D1:B287 E1 - - - pop hl + 64 D1:B288 C9 - - - ret + 65 D1:B289 - - - - ;;fshvarcpy + 66 D1:B289 - - - - ;;Copies a word. + 67 D1:B289 - - - - ;;Inputs: + 68 D1:B289 - - - - ;; HL: Byte pointer + 69 D1:B289 - - - - ;; DE: Destination + 70 D1:B289 - - - - fshvarcpy: + 71 D1:B289 C5 - - - push bc + 72 D1:B28A 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 + 73 D1:B28E CD 77 A9 D1 call cpBCDE + 74 D1:B292 C1 - - - pop bc + 75 D1:B293 38 2A - - jr c, fshvarcpyOOBException + 76 D1:B295 C5 - - - push bc + 77 D1:B296 01 40 00 00 ld bc, FshVarsSize / 2 + 78 D1:B29A CD 72 A9 D1 call cpHLBC + 79 D1:B29E C1 - - - pop bc + 80 D1:B29F 30 1E - - jr nc, fshvarcpyOOBException + 81 D1:B2A1 D5 - - - push de + 82 D1:B2A2 E5 - - - push hl + 83 D1:B2A3 01 40 00 00 ld bc, FshVarsSize / 2 + 84 D1:B2A7 CD 77 A9 D1 call cpBCDE + 85 D1:B2AB 38 12 - - jr c, fshvarcpyOOBException + 86 D1:B2AD 01 1F EA D0 ld bc, FshVars + 87 D1:B2B1 29 - - - add hl, hl + 88 D1:B2B2 09 - - - add hl, bc + 89 D1:B2B3 EB - - - ex de, hl + 90 D1:B2B4 29 - - - add hl, hl + 91 D1:B2B5 09 - - - add hl, bc + 92 D1:B2B6 1A - - - ld a, (de) + 93 D1:B2B7 77 - - - ld (hl), a + 94 D1:B2B8 13 - - - inc de + 95 D1:B2B9 23 - - - inc hl + 96 D1:B2BA 1A - - - ld a, (de) + 97 D1:B2BB 77 - - - ld (hl), a + 98 D1:B2BC E1 - - - pop hl + 99 D1:B2BD D1 - - - pop de + 100 D1:B2BE C9 - - - ret + 101 D1:B2BF - - - - + 102 D1:B2BF - - - - fshvarcpyOOBException: + 103 D1:B2BF E5 - - - push hl + 104 D1:B2C0 21 78 B3 D1 ld hl, ErrOutOfBoundso + 105 D1:B2C4 CD 33 B3 D1 call ErrSet + 106 D1:B2C8 E1 - - - pop hl + 107 D1:B2C9 C9 - - - ret + 108 D1:B2CA - - - - + 109 D1:B2CA - - - - ;;fshvarreset + 110 D1:B2CA - - - - ;;Fills fshvars with $00 + 111 D1:B2CA - - - - fshvarreset: + 112 D1:B2CA E5 - - - push hl + 113 D1:B2CB C5 - - - push bc + 114 D1:B2CC D5 - - - push de + 115 D1:B2CD 06 00 - - ld b, 0 + 116 D1:B2CF 11 00 00 00 ld de, 0 + 117 D1:B2D3 21 00 00 00 ld hl, 0 + 118 D1:B2D7 - - - - fshvarfillLoop: + 119 D1:B2D7 CD 36 B2 D1 call fshvarset + 120 D1:B2DB 04 - - - inc b + 121 D1:B2DC 13 - - - inc de + 122 D1:B2DD 78 - - - ld a, b + 123 D1:B2DE FE 40 - - cp FshVarsSize / 2 + 124 D1:B2E0 38 F5 - - jr c, fshvarfillLoop + 125 D1:B2E2 D1 - - - pop de + 126 D1:B2E3 C1 - - - pop bc + 127 D1:B2E4 E1 - - - pop hl + 128 D1:B2E5 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 4 D1:B26C - - - - #include "includes/lib/fsh/Err.asm" + 4 D1:B2E6 - - - - #include "includes/lib/fsh/Err.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Err.asm" - 1 D1:B26C - - - - ;;ErrCatch - 2 D1:B26C - - - - ;;Checks err bit and jp to err route - 3 D1:B26C - - - - ErrCatch: - 4 D1:B26C C1 - - - pop bc - 5 D1:B26D E5 - - - push hl - 6 D1:B26E 21 78 A9 D1 ld hl, FshFlags - 7 D1:B272 CB 4E - - bit 1, (hl) - 8 D1:B274 E1 - - - pop hl - 9 D1:B275 C2 7B B2 D1 jp nz, ErrRoute - 10 D1:B279 C5 - - - push bc - 11 D1:B27A C9 - - - ret - 12 D1:B27B - - - - - 13 D1:B27B - - - - ;;ErrRoute - 14 D1:B27B - - - - ;;Routes err codes. - 15 D1:B27B - - - - ErrRoute: - 16 D1:B27B - - - - - 17 D1:B27B 21 78 A9 D1 ld hl, FshFlags - 18 D1:B27F CB 8E - - res 1, (hl) - 19 D1:B281 - - - - - 20 D1:B281 21 CE EA D0 ld hl, FshCmdErrCode - 21 D1:B285 - - - - - 22 D1:B285 11 C8 B2 D1 ld de, ErrCmdNotFoundo - 23 D1:B289 CD 41 AA D1 call bytecmp - 24 D1:B28D CA C9 B2 D1 jp z, ErrCmdNotFoundf - 25 D1:B291 - - - - - 26 D1:B291 11 FE B2 D1 ld de, ErrOutOfBoundso - 27 D1:B295 CD 41 AA D1 call bytecmp - 28 D1:B299 CA FF B2 D1 jp z, ErrOutOfBoundsf - 29 D1:B29D - - - - - 30 D1:B29D 11 24 B3 D1 ld de, ErrArgso - 31 D1:B2A1 CD 41 AA D1 call bytecmp - 32 D1:B2A5 CA 25 B3 D1 jp z, ErrArgsf - 33 D1:B2A9 - - - - - 34 D1:B2A9 11 4E B3 D1 ld de, ErrUsageo - 35 D1:B2AD CD 41 AA D1 call bytecmp - 36 D1:B2B1 CA 4F B3 D1 jp z, ErrUsagef - 37 D1:B2B5 - - - - - 38 D1:B2B5 C3 7A B3 D1 jp ErrDefault - 39 D1:B2B9 - - - - - 40 D1:B2B9 - - - - - 41 D1:B2B9 - - - - ;;ErrSet - 42 D1:B2B9 - - - - ;;Sets all things relating to Err codes - 43 D1:B2B9 - - - - ;;Inputs: - 44 D1:B2B9 - - - - ;; HL: Err_____o - 45 D1:B2B9 - - - - ErrSet: - 46 D1:B2B9 E5 - - - push hl - 47 D1:B2BA 7E - - - ld a, (hl) - 48 D1:B2BB 21 CE EA D0 ld hl, FshCmdErrCode - 49 D1:B2BF 77 - - - ld (hl), a - 50 D1:B2C0 21 78 A9 D1 ld hl, FshFlags - 51 D1:B2C4 CB CE - - set 1, (hl) - 52 D1:B2C6 E1 - - - pop hl - 53 D1:B2C7 C9 - - - ret - 54 D1:B2C8 - - - - - 55 D1:B2C8 - - - - ;;ERR FUNCS------------------- - 56 D1:B2C8 - - - - - 57 D1:B2C8 01 - - - ErrCmdNotFoundo: .db $01 - 58 D1:B2C9 - - - - ErrCmdNotFoundf: - 59 D1:B2C9 21 9F EA D0 ld hl, FshCmd - 60 D1:B2CD 7E - - - ld a, (hl) - 61 D1:B2CE FE 00 - - cp $00 - 62 D1:B2D0 CA E7 A8 D1 jp z, Fin - 63 D1:B2D4 21 EC B2 D1 ld hl, ErrCmdNotFoundt - 64 D1:B2D8 CD C0 07 02 call _PutS - 65 D1:B2DC 21 9F EA D0 ld hl, FshCmd - 66 D1:B2E0 CD C0 07 02 call _PutS - 67 D1:B2E4 CD F0 07 02 call _NewLine - 68 D1:B2E8 C3 E7 A8 D1 jp Fin - 69 D1:B2EC 65 72 72 6F + 1 D1:B2E6 - - - - ;;ErrCatch + 2 D1:B2E6 - - - - ;;Checks err bit and jp to err route + 3 D1:B2E6 - - - - ErrCatch: + 4 D1:B2E6 C1 - - - pop bc + 5 D1:B2E7 E5 - - - push hl + 6 D1:B2E8 21 6C A9 D1 ld hl, FshFlags + 7 D1:B2EC CB 4E - - bit 1, (hl) + 8 D1:B2EE E1 - - - pop hl + 9 D1:B2EF C2 F5 B2 D1 jp nz, ErrRoute + 10 D1:B2F3 C5 - - - push bc + 11 D1:B2F4 C9 - - - ret + 12 D1:B2F5 - - - - + 13 D1:B2F5 - - - - ;;ErrRoute + 14 D1:B2F5 - - - - ;;Routes err codes. + 15 D1:B2F5 - - - - ErrRoute: + 16 D1:B2F5 - - - - + 17 D1:B2F5 21 6C A9 D1 ld hl, FshFlags + 18 D1:B2F9 CB 8E - - res 1, (hl) + 19 D1:B2FB - - - - + 20 D1:B2FB 21 CE EA D0 ld hl, FshCmdErrCode + 21 D1:B2FF - - - - + 22 D1:B2FF 11 42 B3 D1 ld de, ErrCmdNotFoundo + 23 D1:B303 CD 35 AA D1 call bytecmp + 24 D1:B307 CA 43 B3 D1 jp z, ErrCmdNotFoundf + 25 D1:B30B - - - - + 26 D1:B30B 11 78 B3 D1 ld de, ErrOutOfBoundso + 27 D1:B30F CD 35 AA D1 call bytecmp + 28 D1:B313 CA 79 B3 D1 jp z, ErrOutOfBoundsf + 29 D1:B317 - - - - + 30 D1:B317 11 9E B3 D1 ld de, ErrArgso + 31 D1:B31B CD 35 AA D1 call bytecmp + 32 D1:B31F CA 9F B3 D1 jp z, ErrArgsf + 33 D1:B323 - - - - + 34 D1:B323 11 C8 B3 D1 ld de, ErrUsageo + 35 D1:B327 CD 35 AA D1 call bytecmp + 36 D1:B32B CA C9 B3 D1 jp z, ErrUsagef + 37 D1:B32F - - - - + 38 D1:B32F C3 F4 B3 D1 jp ErrDefault + 39 D1:B333 - - - - + 40 D1:B333 - - - - + 41 D1:B333 - - - - ;;ErrSet + 42 D1:B333 - - - - ;;Sets all things relating to Err codes + 43 D1:B333 - - - - ;;Inputs: + 44 D1:B333 - - - - ;; HL: Err_____o + 45 D1:B333 - - - - ErrSet: + 46 D1:B333 E5 - - - push hl + 47 D1:B334 7E - - - ld a, (hl) + 48 D1:B335 21 CE EA D0 ld hl, FshCmdErrCode + 49 D1:B339 77 - - - ld (hl), a + 50 D1:B33A 21 6C A9 D1 ld hl, FshFlags + 51 D1:B33E CB CE - - set 1, (hl) + 52 D1:B340 E1 - - - pop hl + 53 D1:B341 C9 - - - ret + 54 D1:B342 - - - - + 55 D1:B342 - - - - ;;ERR FUNCS------------------- + 56 D1:B342 - - - - + 57 D1:B342 01 - - - ErrCmdNotFoundo: .db $01 + 58 D1:B343 - - - - ErrCmdNotFoundf: + 59 D1:B343 21 9F EA D0 ld hl, FshCmd + 60 D1:B347 7E - - - ld a, (hl) + 61 D1:B348 FE 00 - - cp $00 + 62 D1:B34A CA DB A8 D1 jp z, Fin + 63 D1:B34E 21 66 B3 D1 ld hl, ErrCmdNotFoundt + 64 D1:B352 CD C0 07 02 call _PutS + 65 D1:B356 21 9F EA D0 ld hl, FshCmd + 66 D1:B35A CD C0 07 02 call _PutS + 67 D1:B35E CD F0 07 02 call _NewLine + 68 D1:B362 C3 DB A8 D1 jp Fin + 69 D1:B366 65 72 72 6F 72 3A 4E 6F 20 43 6F 6D 6D 61 6E 64 3A 00 - - ErrCmdNotFoundt: .db "error:No Command:", 0 - 70 D1:B2FE - - - - - 71 D1:B2FE 02 - - - ErrOutOfBoundso: .db $02 - 72 D1:B2FF - - - - ErrOutOfBoundsf: - 73 D1:B2FF 21 0F B3 D1 ld hl, ErrOutOfBoundst - 74 D1:B303 CD C0 07 02 call _PutS - 75 D1:B307 CD F0 07 02 call _NewLine - 76 D1:B30B C3 E7 A8 D1 jp Fin - 77 D1:B30F 65 72 72 6F + 70 D1:B378 - - - - + 71 D1:B378 02 - - - ErrOutOfBoundso: .db $02 + 72 D1:B379 - - - - ErrOutOfBoundsf: + 73 D1:B379 21 89 B3 D1 ld hl, ErrOutOfBoundst + 74 D1:B37D CD C0 07 02 call _PutS + 75 D1:B381 CD F0 07 02 call _NewLine + 76 D1:B385 C3 DB A8 D1 jp Fin + 77 D1:B389 65 72 72 6F 72 3A 20 4F 75 74 20 4F 66 20 42 6F 75 6E 64 73 00 - - - ErrOutOfBoundst: .db "error: Out Of Bounds", 0 - 78 D1:B324 - - - - - 79 D1:B324 03 - - - ErrArgso: .db $03 - 80 D1:B325 - - - - ErrArgsf: - 81 D1:B325 21 35 B3 D1 ld hl, ErrArgst - 82 D1:B329 CD C0 07 02 call _PutS - 83 D1:B32D CD F0 07 02 call _NewLine - 84 D1:B331 C3 E7 A8 D1 jp Fin - 85 D1:B335 65 72 72 6F + 78 D1:B39E - - - - + 79 D1:B39E 03 - - - ErrArgso: .db $03 + 80 D1:B39F - - - - ErrArgsf: + 81 D1:B39F 21 AF B3 D1 ld hl, ErrArgst + 82 D1:B3A3 CD C0 07 02 call _PutS + 83 D1:B3A7 CD F0 07 02 call _NewLine + 84 D1:B3AB C3 DB A8 D1 jp Fin + 85 D1:B3AF 65 72 72 6F 72 3A 20 49 6E 76 61 6C 69 64 20 41 72 67 75 6D 65 6E 74 73 00 - - - ErrArgst: .db "error: Invalid Arguments", 0 - 86 D1:B34E - - - - - 87 D1:B34E 04 - - - ErrUsageo: .db $04 - 88 D1:B34F - - - - ErrUsagef: - 89 D1:B34F 21 6B B3 D1 ld hl, ErrUsaget - 90 D1:B353 CD C0 07 02 call _PutS - 91 D1:B357 21 9F EA D0 ld hl, FshCmd - 92 D1:B35B CD 67 B5 D1 call manrouteu - 93 D1:B35F CD C0 07 02 call _PutS - 94 D1:B363 CD F0 07 02 call _NewLine - 95 D1:B367 C3 E7 A8 D1 jp Fin - 96 D1:B36B 65 72 72 6F + 86 D1:B3C8 - - - - + 87 D1:B3C8 04 - - - ErrUsageo: .db $04 + 88 D1:B3C9 - - - - ErrUsagef: + 89 D1:B3C9 21 E5 B3 D1 ld hl, ErrUsaget + 90 D1:B3CD CD C0 07 02 call _PutS + 91 D1:B3D1 21 9F EA D0 ld hl, FshCmd + 92 D1:B3D5 CD 05 B6 D1 call manrouteu + 93 D1:B3D9 CD C0 07 02 call _PutS + 94 D1:B3DD CD F0 07 02 call _NewLine + 95 D1:B3E1 C3 DB A8 D1 jp Fin + 96 D1:B3E5 65 72 72 6F 72 3A 20 55 73 61 67 65 3A 20 00 - ErrUsaget: .db "error: Usage: ", 0 - 97 D1:B37A - - - - - 98 D1:B37A - - - - ErrDefault: - 99 D1:B37A 21 86 B3 D1 ld hl, ErrDefaultt - 100 D1:B37E CD C0 07 02 call _PutS - 101 D1:B382 C3 03 A9 D1 jp Exit - 102 D1:B386 65 72 72 6F + 97 D1:B3F4 - - - - + 98 D1:B3F4 - - - - ErrDefault: + 99 D1:B3F4 21 00 B4 D1 ld hl, ErrDefaultt + 100 D1:B3F8 CD C0 07 02 call _PutS + 101 D1:B3FC C3 F7 A8 D1 jp Exit + 102 D1:B400 65 72 72 6F 72 3A 20 44 65 66 61 75 6C 74 3B 20 45 78 69 74 00 - - - ErrDefaultt: .db "error: Default; Exit", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 5 D1:B39B - - - - #include "includes/lib/fsh/Print.asm" + 5 D1:B415 - - - - #include "includes/lib/fsh/Print.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Print.asm" - 1 D1:B39B - - - - ;;printfshnamelong - 2 D1:B39B - - - - ;;prints Name + Varsv + Version to screen - 3 D1:B39B - - - - printfshnamelong: - 4 D1:B39B E5 - - - push hl - 5 D1:B39C 21 08 A9 D1 ld hl, FshName - 6 D1:B3A0 CD C0 07 02 call _PutS - 7 D1:B3A4 3E 20 - - ld a, ' ' - 8 D1:B3A6 CD B8 07 02 call _PutC - 9 D1:B3AA 21 3D A9 D1 ld hl, FshVVars - 10 D1:B3AE CD C0 07 02 call _PutS - 11 D1:B3B2 3E 20 - - ld a, ' ' - 12 D1:B3B4 CD B8 07 02 call _PutC - 13 D1:B3B8 3E 76 - - ld a, 'v' - 14 D1:B3BA CD B8 07 02 call _PutC - 15 D1:B3BE 21 41 A9 D1 ld hl, FshVMajor - 16 D1:B3C2 CD C0 07 02 call _PutS - 17 D1:B3C6 21 4B A9 D1 ld hl, FshVSeparator - 18 D1:B3CA CD C0 07 02 call _PutS - 19 D1:B3CE 21 43 A9 D1 ld hl, FshVMinor - 20 D1:B3D2 CD C0 07 02 call _PutS - 21 D1:B3D6 21 4B A9 D1 ld hl, FshVSeparator - 22 D1:B3DA CD C0 07 02 call _PutS - 23 D1:B3DE 21 45 A9 D1 ld hl, FshVPatch - 24 D1:B3E2 CD C0 07 02 call _PutS - 25 D1:B3E6 3E 20 - - ld a, ' ' - 26 D1:B3E8 CD B8 07 02 call _PutC - 27 D1:B3EC 21 47 A9 D1 ld hl, FshVBuild - 28 D1:B3F0 CD C0 07 02 call _PutS - 29 D1:B3F4 E1 - - - pop hl - 30 D1:B3F5 C9 - - - ret - 31 D1:B3F6 - - - - - 32 D1:B3F6 - - - - ;;printmotd - 33 D1:B3F6 - - - - ;;prints the motd to screen - 34 D1:B3F6 - - - - printmotd: - 35 D1:B3F6 CD 9B B3 D1 call printfshnamelong - 36 D1:B3FA CD F0 07 02 call _NewLine - 37 D1:B3FE CD F0 07 02 call _NewLine - 38 D1:B402 21 4D A9 D1 ld hl, FshMotd2nd - 39 D1:B406 CD C0 07 02 call _PutS - 40 D1:B40A CD F0 07 02 call _NewLine - 41 D1:B40E 21 63 A9 D1 ld hl, FshMotdHelp - 42 D1:B412 CD C0 07 02 call _PutS - 43 D1:B416 CD F0 07 02 call _NewLine - 44 D1:B41A C9 - - - ret + 1 D1:B415 - - - - ;;printfshnamelong + 2 D1:B415 - - - - ;;prints Name + Varsv + Version to screen + 3 D1:B415 - - - - printfshnamelong: + 4 D1:B415 E5 - - - push hl + 5 D1:B416 21 FC A8 D1 ld hl, FshName + 6 D1:B41A CD C0 07 02 call _PutS + 7 D1:B41E 3E 20 - - ld a, ' ' + 8 D1:B420 CD B8 07 02 call _PutC + 9 D1:B424 21 31 A9 D1 ld hl, FshVVars + 10 D1:B428 CD C0 07 02 call _PutS + 11 D1:B42C 3E 20 - - ld a, ' ' + 12 D1:B42E CD B8 07 02 call _PutC + 13 D1:B432 3E 76 - - ld a, 'v' + 14 D1:B434 CD B8 07 02 call _PutC + 15 D1:B438 21 35 A9 D1 ld hl, FshVMajor + 16 D1:B43C CD C0 07 02 call _PutS + 17 D1:B440 21 3F A9 D1 ld hl, FshVSeparator + 18 D1:B444 CD C0 07 02 call _PutS + 19 D1:B448 21 37 A9 D1 ld hl, FshVMinor + 20 D1:B44C CD C0 07 02 call _PutS + 21 D1:B450 21 3F A9 D1 ld hl, FshVSeparator + 22 D1:B454 CD C0 07 02 call _PutS + 23 D1:B458 21 39 A9 D1 ld hl, FshVPatch + 24 D1:B45C CD C0 07 02 call _PutS + 25 D1:B460 3E 20 - - ld a, ' ' + 26 D1:B462 CD B8 07 02 call _PutC + 27 D1:B466 21 3B A9 D1 ld hl, FshVBuild + 28 D1:B46A CD C0 07 02 call _PutS + 29 D1:B46E E1 - - - pop hl + 30 D1:B46F C9 - - - ret + 31 D1:B470 - - - - + 32 D1:B470 - - - - ;;printmotd + 33 D1:B470 - - - - ;;prints the motd to screen + 34 D1:B470 - - - - printmotd: + 35 D1:B470 CD 15 B4 D1 call printfshnamelong + 36 D1:B474 CD F0 07 02 call _NewLine + 37 D1:B478 CD F0 07 02 call _NewLine + 38 D1:B47C 21 41 A9 D1 ld hl, FshMotd2nd + 39 D1:B480 CD C0 07 02 call _PutS + 40 D1:B484 CD F0 07 02 call _NewLine + 41 D1:B488 21 57 A9 D1 ld hl, FshMotdHelp + 42 D1:B48C CD C0 07 02 call _PutS + 43 D1:B490 CD F0 07 02 call _NewLine + 44 D1:B494 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 6 D1:B41B - - - - #include "includes/lib/fsh/Draw.asm" + 6 D1:B495 - - - - #include "includes/lib/fsh/Draw.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Draw.asm" - 1 D1:B41B - - - - ;;drawstatusbar - 2 D1:B41B - - - - ;;draws the FSH status bar - 3 D1:B41B - - - - drawstatusbar: - 4 D1:B41B - - - - ;rgbto565(84, 84, 84) - 5 D1:B41B 21 AA 52 00 ld hl, $52AA - 6 D1:B41F 3E 00 - - ld a, 0 - 7 D1:B421 01 1E 00 00 ld bc, 30 - 8 D1:B425 CD 65 AB D1 call drawbar - 9 D1:B429 - - - - ;rgbto565(0, 159, 209) - 10 D1:B429 21 FA 04 00 ld hl, $04FA - 11 D1:B42D - - - - ;ld hl, %1111100000000000 - 12 D1:B42D EB DD 6B DD + 1 D1:B495 - - - - ;;drawstatusbar + 2 D1:B495 - - - - ;;draws the FSH status bar + 3 D1:B495 - - - - drawstatusbar: + 4 D1:B495 - - - - ;rgbto565(84, 84, 84) + 5 D1:B495 21 AA 52 00 ld hl, $52AA + 6 D1:B499 3E 00 - - ld a, 0 + 7 D1:B49B 01 1E 00 00 ld bc, 30 + 8 D1:B49F CD 59 AB D1 call drawbar + 9 D1:B4A3 - - - - ;rgbto565(0, 159, 209) + 10 D1:B4A3 21 FA 04 00 ld hl, $04FA + 11 D1:B4A7 - - - - ;ld hl, %1111100000000000 + 12 D1:B4A7 EB DD 6B DD 62 EB 21 02 00 00 11 00 00 00 01 00 00 00 0E 00 - 3E 1E CD 7A + 3E 1E CD 6E AB D1 - - drawrectfilledM(0, 0, 2, 30) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Draw.asm" - 13 D1:B447 CD 50 1A 02 call _DrawBatteryIndicator - 14 D1:B44B - - - - ;draw name - 15 D1:B44B FD CB 32 D6 set fracDrawLFont, (iy + fontFlags) - 16 D1:B44F 3E 06 - - ld a, 6 - 17 D1:B451 32 D5 08 D0 ld (penRow), a - 18 D1:B455 3E 07 - - ld a, 7 - 19 D1:B457 32 D2 08 D0 ld (penCol), a - 20 D1:B45B 21 AA 52 00 ld hl, $52AA - 21 D1:B45F 22 AA 26 D0 ld (drawBGcolor), hl - 22 D1:B463 21 FF FF 00 ld hl, $ffff - 23 D1:B467 22 AC 26 D0 ld (drawFGcolor), hl - 24 D1:B46B 21 08 A9 D1 ld hl, FshName - 25 D1:B46F CD 34 08 02 call _VPutS - 26 D1:B473 21 FF FF 00 ld hl, $ffff - 27 D1:B477 22 AA 26 D0 ld (drawBGcolor), hl - 28 D1:B47B 21 00 00 00 ld hl, $0000 - 29 D1:B47F 22 AC 26 D0 ld (drawFGcolor), hl - 30 D1:B483 C9 - - - ret + 13 D1:B4C1 CD 50 1A 02 call _DrawBatteryIndicator + 14 D1:B4C5 - - - - ;draw name + 15 D1:B4C5 FD CB 32 D6 set fracDrawLFont, (iy + fontFlags) + 16 D1:B4C9 3E 06 - - ld a, 6 + 17 D1:B4CB 32 D5 08 D0 ld (penRow), a + 18 D1:B4CF 3E 07 - - ld a, 7 + 19 D1:B4D1 32 D2 08 D0 ld (penCol), a + 20 D1:B4D5 21 AA 52 00 ld hl, $52AA + 21 D1:B4D9 22 AA 26 D0 ld (drawBGcolor), hl + 22 D1:B4DD 21 FF FF 00 ld hl, $ffff + 23 D1:B4E1 22 AC 26 D0 ld (drawFGcolor), hl + 24 D1:B4E5 21 FC A8 D1 ld hl, FshName + 25 D1:B4E9 CD 34 08 02 call _VPutS + 26 D1:B4ED 21 FF FF 00 ld hl, $ffff + 27 D1:B4F1 22 AA 26 D0 ld (drawBGcolor), hl + 28 D1:B4F5 21 00 00 00 ld hl, $0000 + 29 D1:B4F9 22 AC 26 D0 ld (drawFGcolor), hl + 30 D1:B4FD C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" Listing for file "FSHa.asm" - 78 D1:B484 - - - - #include "includes/lib/crypto/crypto.inc" + 73 D1:B4FE - - - - #include "includes/lib/crypto/crypto.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc" - 1 D1:B484 - - - - #include "includes/lib/crypto/Rot.asm" + 1 D1:B4FE - - - - #include "includes/lib/crypto/Rot.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\Rot.asm" - 1 D1:B484 - - - - ;;rotletencrypt - 2 D1:B484 - - - - ;;Encrypts a string in rot-n (uses $41 to $5B) - 3 D1:B484 - - - - ;;Inputs: - 4 D1:B484 - - - - ;; HL: string pointer - 5 D1:B484 - - - - ;; A: rot-n - 6 D1:B484 - - - - ;;Notes: - 7 D1:B484 - - - - ;; Changes string in place. - 8 D1:B484 - - - - rotletencrypt: - 9 D1:B484 E5 - - - push hl - 10 D1:B485 C5 - - - push bc - 11 D1:B486 - - - - rotletencryptMod: - 12 D1:B486 E5 - - - push hl - 13 D1:B487 67 - - - ld h, a - 14 D1:B488 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 - 15 D1:B48A CD A5 A9 D1 call modHL - 16 D1:B48E 44 - - - ld b, h - 17 D1:B48F E1 - - - pop hl - 18 D1:B490 - - - - rotletencryptLoop: - 19 D1:B490 7E - - - ld a, (hl) - 20 D1:B491 FE 00 - - cp a, $00 - 21 D1:B493 28 0F - - jr z, rotletencryptEnd - 22 D1:B495 FE 20 - - cp a, ' ' - 23 D1:B497 28 07 - - jr z, rotletencryptLD - 24 D1:B499 80 - - - add a, b - 25 D1:B49A FE 5C - - cp a, 'Z' + 2 - 26 D1:B49C 38 02 - - jr c , rotletencryptLD - 27 D1:B49E D6 1B - - sub a, 'Z' + 2 - 'A' - 28 D1:B4A0 - - - - rotletencryptLD: - 29 D1:B4A0 77 - - - ld (hl), a - 30 D1:B4A1 23 - - - inc hl - 31 D1:B4A2 18 EC - - jr rotletencryptLoop - 32 D1:B4A4 - - - - rotletencryptEnd: - 33 D1:B4A4 36 00 - - ld (hl), $00 - 34 D1:B4A6 C1 - - - pop bc - 35 D1:B4A7 E1 - - - pop hl - 36 D1:B4A8 C9 - - - ret - 37 D1:B4A9 - - - - - 38 D1:B4A9 - - - - ;;rotletdecrypt - 39 D1:B4A9 - - - - ;;Decrypts a string in rot-n (uses $41 to $5B) - 40 D1:B4A9 - - - - ;;Inputs: - 41 D1:B4A9 - - - - ;; HL: string pointer - 42 D1:B4A9 - - - - ;; A: rot-n - 43 D1:B4A9 - - - - ;;Notes: - 44 D1:B4A9 - - - - ;; Changes string in place. - 45 D1:B4A9 - - - - rotletdecrypt: - 46 D1:B4A9 E5 - - - push hl - 47 D1:B4AA C5 - - - push bc - 48 D1:B4AB - - - - rotletdecryptMod: - 49 D1:B4AB E5 - - - push hl - 50 D1:B4AC 67 - - - ld h, a - 51 D1:B4AD 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 - 52 D1:B4AF CD A5 A9 D1 call modHL - 53 D1:B4B3 44 - - - ld b, h - 54 D1:B4B4 E1 - - - pop hl - 55 D1:B4B5 - - - - rotletdecryptLoop: - 56 D1:B4B5 7E - - - ld a, (hl) - 57 D1:B4B6 FE 00 - - cp a, $00 - 58 D1:B4B8 28 0F - - jr z, rotletdecryptEnd - 59 D1:B4BA FE 20 - - cp a, ' ' - 60 D1:B4BC 28 07 - - jr z, rotletdecryptLD - 61 D1:B4BE 90 - - - sub a, b - 62 D1:B4BF FE 41 - - cp a, 'A' - 63 D1:B4C1 30 02 - - jr nc , rotletdecryptLD - 64 D1:B4C3 C6 1B - - add a, 'Z' + 2 - 'A' - 65 D1:B4C5 - - - - rotletdecryptLD: - 66 D1:B4C5 77 - - - ld (hl), a - 67 D1:B4C6 23 - - - inc hl - 68 D1:B4C7 18 EC - - jr rotletdecryptLoop - 69 D1:B4C9 - - - - rotletdecryptEnd: - 70 D1:B4C9 36 00 - - ld (hl), $00 - 71 D1:B4CB C1 - - - pop bc - 72 D1:B4CC E1 - - - pop hl - 73 D1:B4CD C9 - - - ret - 74 D1:B4CE - - - - - 75 D1:B4CE - - - - ;;rotasciiencrypt - 76 D1:B4CE - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) - 77 D1:B4CE - - - - ;;Inputs: - 78 D1:B4CE - - - - ;; HL: string pointer - 79 D1:B4CE - - - - ;; A: x - 80 D1:B4CE - - - - ;;Notes: - 81 D1:B4CE - - - - ;; Changes string in place. - 82 D1:B4CE - - - - rotasciiencrypt: - 83 D1:B4CE E5 - - - push hl - 84 D1:B4CF C5 - - - push bc - 85 D1:B4D0 0E 00 - - ld c, 0 - 86 D1:B4D2 4F - - - ld c, a - 87 D1:B4D3 - - - - rotasciiencryptLoop: - 88 D1:B4D3 7E - - - ld a, (hl) - 89 D1:B4D4 FE 00 - - cp 0 - 90 D1:B4D6 28 13 - - jr z, rotasciiencryptEnd - 91 D1:B4D8 81 - - - add a, c - 92 D1:B4D9 FE 00 - - cp 0 - 93 D1:B4DB 20 01 - - jr nz, rotasciiencryptLd - 94 D1:B4DD 3C - - - inc a - 95 D1:B4DE - - - - rotasciiencryptLd: - 96 D1:B4DE 77 - - - ld (hl), a - 97 D1:B4DF 23 - - - inc hl - 98 D1:B4E0 FE EF - - cp a, $EF - 99 D1:B4E2 38 EF - - jr c, rotasciiencryptLoop - 100 D1:B4E4 2B - - - dec hl - 101 D1:B4E5 D6 0F - - sub a, $0F - 102 D1:B4E7 77 - - - ld (hl), a - 103 D1:B4E8 23 - - - inc hl - 104 D1:B4E9 18 E8 - - jr rotasciiencryptLoop - 105 D1:B4EB - - - - rotasciiencryptEnd: - 106 D1:B4EB 36 00 - - ld (hl), $00 - 107 D1:B4ED C1 - - - pop bc - 108 D1:B4EE E1 - - - pop hl - 109 D1:B4EF C9 - - - ret - 110 D1:B4F0 - - - - - 111 D1:B4F0 - - - - ;;rotasciidecrypt - 112 D1:B4F0 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) - 113 D1:B4F0 - - - - ;;Inputs: - 114 D1:B4F0 - - - - ;; HL: string pointer - 115 D1:B4F0 - - - - ;; A: x - 116 D1:B4F0 - - - - ;;Notes: - 117 D1:B4F0 - - - - ;; Changes string in place. - 118 D1:B4F0 - - - - rotasciidecrypt: - 119 D1:B4F0 E5 - - - push hl - 120 D1:B4F1 C5 - - - push bc - 121 D1:B4F2 0E 00 - - ld c, 0 - 122 D1:B4F4 4F - - - ld c, a - 123 D1:B4F5 - - - - rotasciidecryptLoop: - 124 D1:B4F5 7E - - - ld a, (hl) - 125 D1:B4F6 FE 00 - - cp 0 - 126 D1:B4F8 28 13 - - jr z, rotasciidecryptEnd - 127 D1:B4FA 91 - - - sub a, c - 128 D1:B4FB FE 00 - - cp 0 - 129 D1:B4FD 20 01 - - jr nz, rotasciidecryptLd - 130 D1:B4FF 3D - - - dec a - 131 D1:B500 - - - - rotasciidecryptLd: - 132 D1:B500 77 - - - ld (hl), a - 133 D1:B501 23 - - - inc hl - 134 D1:B502 FE EF - - cp a, $EF - 135 D1:B504 38 EF - - jr c, rotasciidecryptLoop - 136 D1:B506 2B - - - dec hl - 137 D1:B507 C6 0F - - add a, $0F - 138 D1:B509 77 - - - ld (hl), a - 139 D1:B50A 23 - - - inc hl - 140 D1:B50B 18 E8 - - jr rotasciidecryptLoop - 141 D1:B50D - - - - rotasciidecryptEnd: - 142 D1:B50D 36 00 - - ld (hl), $00 - 143 D1:B50F C1 - - - pop bc - 144 D1:B510 E1 - - - pop hl - 145 D1:B511 C9 - - - ret - 146 D1:B512 - - - - + 1 D1:B4FE - - - - ;;rotletencrypt + 2 D1:B4FE - - - - ;;Encrypts a string in rot-n (uses $41 to $5B) + 3 D1:B4FE - - - - ;;Inputs: + 4 D1:B4FE - - - - ;; HL: string pointer + 5 D1:B4FE - - - - ;; A: rot-n + 6 D1:B4FE - - - - ;;Notes: + 7 D1:B4FE - - - - ;; Changes string in place. + 8 D1:B4FE - - - - rotletencrypt: + 9 D1:B4FE E5 - - - push hl + 10 D1:B4FF C5 - - - push bc + 11 D1:B500 - - - - rotletencryptMod: + 12 D1:B500 E5 - - - push hl + 13 D1:B501 67 - - - ld h, a + 14 D1:B502 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 + 15 D1:B504 CD 99 A9 D1 call modHL + 16 D1:B508 44 - - - ld b, h + 17 D1:B509 E1 - - - pop hl + 18 D1:B50A - - - - rotletencryptLoop: + 19 D1:B50A 7E - - - ld a, (hl) + 20 D1:B50B FE 00 - - cp a, $00 + 21 D1:B50D 28 0F - - jr z, rotletencryptEnd + 22 D1:B50F FE 20 - - cp a, ' ' + 23 D1:B511 28 07 - - jr z, rotletencryptLD + 24 D1:B513 80 - - - add a, b + 25 D1:B514 FE 5C - - cp a, 'Z' + 2 + 26 D1:B516 38 02 - - jr c , rotletencryptLD + 27 D1:B518 D6 1B - - sub a, 'Z' + 2 - 'A' + 28 D1:B51A - - - - rotletencryptLD: + 29 D1:B51A 77 - - - ld (hl), a + 30 D1:B51B 23 - - - inc hl + 31 D1:B51C 18 EC - - jr rotletencryptLoop + 32 D1:B51E - - - - rotletencryptEnd: + 33 D1:B51E 36 00 - - ld (hl), $00 + 34 D1:B520 C1 - - - pop bc + 35 D1:B521 E1 - - - pop hl + 36 D1:B522 C9 - - - ret + 37 D1:B523 - - - - + 38 D1:B523 - - - - ;;rotletdecrypt + 39 D1:B523 - - - - ;;Decrypts a string in rot-n (uses $41 to $5B) + 40 D1:B523 - - - - ;;Inputs: + 41 D1:B523 - - - - ;; HL: string pointer + 42 D1:B523 - - - - ;; A: rot-n + 43 D1:B523 - - - - ;;Notes: + 44 D1:B523 - - - - ;; Changes string in place. + 45 D1:B523 - - - - rotletdecrypt: + 46 D1:B523 E5 - - - push hl + 47 D1:B524 C5 - - - push bc + 48 D1:B525 - - - - rotletdecryptMod: + 49 D1:B525 E5 - - - push hl + 50 D1:B526 67 - - - ld h, a + 51 D1:B527 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 + 52 D1:B529 CD 99 A9 D1 call modHL + 53 D1:B52D 44 - - - ld b, h + 54 D1:B52E E1 - - - pop hl + 55 D1:B52F - - - - rotletdecryptLoop: + 56 D1:B52F 7E - - - ld a, (hl) + 57 D1:B530 FE 00 - - cp a, $00 + 58 D1:B532 28 0F - - jr z, rotletdecryptEnd + 59 D1:B534 FE 20 - - cp a, ' ' + 60 D1:B536 28 07 - - jr z, rotletdecryptLD + 61 D1:B538 90 - - - sub a, b + 62 D1:B539 FE 41 - - cp a, 'A' + 63 D1:B53B 30 02 - - jr nc , rotletdecryptLD + 64 D1:B53D C6 1B - - add a, 'Z' + 2 - 'A' + 65 D1:B53F - - - - rotletdecryptLD: + 66 D1:B53F 77 - - - ld (hl), a + 67 D1:B540 23 - - - inc hl + 68 D1:B541 18 EC - - jr rotletdecryptLoop + 69 D1:B543 - - - - rotletdecryptEnd: + 70 D1:B543 36 00 - - ld (hl), $00 + 71 D1:B545 C1 - - - pop bc + 72 D1:B546 E1 - - - pop hl + 73 D1:B547 C9 - - - ret + 74 D1:B548 - - - - + 75 D1:B548 - - - - ;;rotasciiencrypt + 76 D1:B548 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) + 77 D1:B548 - - - - ;;Inputs: + 78 D1:B548 - - - - ;; HL: string pointer + 79 D1:B548 - - - - ;; A: x + 80 D1:B548 - - - - ;;Notes: + 81 D1:B548 - - - - ;; Changes string in place. + 82 D1:B548 - - - - rotasciiencrypt: + 83 D1:B548 E5 - - - push hl + 84 D1:B549 C5 - - - push bc + 85 D1:B54A 0E 00 - - ld c, 0 + 86 D1:B54C 4F - - - ld c, a + 87 D1:B54D - - - - rotasciiencryptLoop: + 88 D1:B54D 7E - - - ld a, (hl) + 89 D1:B54E FE 00 - - cp 0 + 90 D1:B550 28 13 - - jr z, rotasciiencryptEnd + 91 D1:B552 81 - - - add a, c + 92 D1:B553 FE 00 - - cp 0 + 93 D1:B555 20 01 - - jr nz, rotasciiencryptLd + 94 D1:B557 3C - - - inc a + 95 D1:B558 - - - - rotasciiencryptLd: + 96 D1:B558 77 - - - ld (hl), a + 97 D1:B559 23 - - - inc hl + 98 D1:B55A FE EF - - cp a, $EF + 99 D1:B55C 38 EF - - jr c, rotasciiencryptLoop + 100 D1:B55E 2B - - - dec hl + 101 D1:B55F D6 0F - - sub a, $0F + 102 D1:B561 77 - - - ld (hl), a + 103 D1:B562 23 - - - inc hl + 104 D1:B563 18 E8 - - jr rotasciiencryptLoop + 105 D1:B565 - - - - rotasciiencryptEnd: + 106 D1:B565 36 00 - - ld (hl), $00 + 107 D1:B567 C1 - - - pop bc + 108 D1:B568 E1 - - - pop hl + 109 D1:B569 C9 - - - ret + 110 D1:B56A - - - - + 111 D1:B56A - - - - ;;rotasciidecrypt + 112 D1:B56A - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) + 113 D1:B56A - - - - ;;Inputs: + 114 D1:B56A - - - - ;; HL: string pointer + 115 D1:B56A - - - - ;; A: x + 116 D1:B56A - - - - ;;Notes: + 117 D1:B56A - - - - ;; Changes string in place. + 118 D1:B56A - - - - rotasciidecrypt: + 119 D1:B56A E5 - - - push hl + 120 D1:B56B C5 - - - push bc + 121 D1:B56C 0E 00 - - ld c, 0 + 122 D1:B56E 4F - - - ld c, a + 123 D1:B56F - - - - rotasciidecryptLoop: + 124 D1:B56F 7E - - - ld a, (hl) + 125 D1:B570 FE 00 - - cp 0 + 126 D1:B572 28 13 - - jr z, rotasciidecryptEnd + 127 D1:B574 91 - - - sub a, c + 128 D1:B575 FE 00 - - cp 0 + 129 D1:B577 20 01 - - jr nz, rotasciidecryptLd + 130 D1:B579 3D - - - dec a + 131 D1:B57A - - - - rotasciidecryptLd: + 132 D1:B57A 77 - - - ld (hl), a + 133 D1:B57B 23 - - - inc hl + 134 D1:B57C FE EF - - cp a, $EF + 135 D1:B57E 38 EF - - jr c, rotasciidecryptLoop + 136 D1:B580 2B - - - dec hl + 137 D1:B581 C6 0F - - add a, $0F + 138 D1:B583 77 - - - ld (hl), a + 139 D1:B584 23 - - - inc hl + 140 D1:B585 18 E8 - - jr rotasciidecryptLoop + 141 D1:B587 - - - - rotasciidecryptEnd: + 142 D1:B587 36 00 - - ld (hl), $00 + 143 D1:B589 C1 - - - pop bc + 144 D1:B58A E1 - - - pop hl + 145 D1:B58B C9 - - - ret + 146 D1:B58C - - - - Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc" - 2 D1:B512 - - - - #include "includes/lib/crypto/Xor.asm" + 2 D1:B58C - - - - #include "includes/lib/crypto/Xor.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\Xor.asm" - 1 D1:B512 - - - - ;;xorcrypt - 2 D1:B512 - - - - ;;crypts a string using xor - 3 D1:B512 - - - - ;;Inputs: - 4 D1:B512 - - - - ;; HL: string pointer - 5 D1:B512 - - - - ;; DE: seed pointer (shorter) - 6 D1:B512 - - - - ;;Notes: - 7 D1:B512 - - - - ;; Changes string in place. - 8 D1:B512 - - - - xorcrypt: - 9 D1:B512 E5 - - - push hl - 10 D1:B513 D5 - - - push de - 11 D1:B514 CD A8 AB D1 call strlen - 12 D1:B518 E5 - - - push hl - 13 D1:B519 21 00 00 00 ld hl, 0 - 14 D1:B51D 60 - - - ld h, b - 15 D1:B51E 69 - - - ld l, c - 16 D1:B51F EB - - - ex de, hl - 17 D1:B520 CD A8 AB D1 call strlen - 18 D1:B524 EB - - - ex de, hl - 19 D1:B525 7D - - - ld a, l ;BC = len(seed) hl=len(string) - 20 D1:B526 91 - - - sub c - 21 D1:B527 30 02 - - jr nc, xorcryptSmaller - 22 D1:B529 3E 00 - - ld a, 0 - 23 D1:B52B - - - - xorcryptSmaller: - 24 D1:B52B 01 00 00 00 ld bc, 0 - 25 D1:B52F 47 - - - ld b, a - 26 D1:B530 4D - - - ld c, l ;b=len(seed) c=len(string) - 27 D1:B531 E1 - - - pop hl - 28 D1:B532 B7 - - - or a, a - 29 D1:B533 28 10 - - jr z, strxorPadLoopEnd - 30 D1:B535 EB - - - ex de, hl; hl=seed - 31 D1:B536 C5 - - - push bc - 32 D1:B537 0E 00 - - ld c, 0 - 33 D1:B539 09 - - - add hl, bc - 34 D1:B53A C1 - - - pop bc - 35 D1:B53B 04 - - - inc b - 36 D1:B53C 36 80 - - ld (hl), %10000000 - 37 D1:B53E C5 - - - push bc - 38 D1:B53F - - - - strxorPadLoop: - 39 D1:B53F 23 - - - inc hl - 40 D1:B540 36 00 - - ld (hl), $00 - 41 D1:B542 10 FB - - djnz strxorPadLoop - 42 D1:B544 C1 - - - pop bc - 43 D1:B545 - - - - strxorPadLoopEnd: - 44 D1:B545 2B - - - dec hl - 45 D1:B546 70 - - - ld (hl), b - 46 D1:B547 23 - - - inc hl - 47 D1:B548 36 00 - - ld (hl), $00 - 48 D1:B54A D1 - - - pop de - 49 D1:B54B E1 - - - pop hl - 50 D1:B54C CD EB AC D1 call strxor - 51 D1:B550 C9 - - - ret - 52 D1:B551 - - - - + 1 D1:B58C - - - - ;;xorcrypt + 2 D1:B58C - - - - ;;crypts a string using xor + 3 D1:B58C - - - - ;;Inputs: + 4 D1:B58C - - - - ;; HL: string pointer + 5 D1:B58C - - - - ;; DE: seed pointer (shorter) + 6 D1:B58C - - - - ;;Notes: + 7 D1:B58C - - - - ;; Changes string in place. + 8 D1:B58C - - - - xorcrypt: + 9 D1:B58C E5 - - - push hl + 10 D1:B58D D5 - - - push de + 11 D1:B58E C5 - - - push bc + 12 D1:B58F CD 22 AC D1 call strlen + 13 D1:B593 D5 - - - push de + 14 D1:B594 E5 - - - push hl + 15 D1:B595 21 00 00 00 ld hl, 0 + 16 D1:B599 60 - - - ld h, b + 17 D1:B59A 69 - - - ld l, c + 18 D1:B59B EB - - - ex de, hl + 19 D1:B59C CD 22 AC D1 call strlen + 20 D1:B5A0 EB - - - ex de, hl + 21 D1:B5A1 7D - - - ld a, l ;C = len(seed) l=len(string) + 22 D1:B5A2 91 - - - sub a,c + 23 D1:B5A3 D2 AD B5 D1 jp nc, xorcryptNSmaller + 24 D1:B5A7 0E 01 - - ld c, $01 + 25 D1:B5A9 3E 00 - - ld a, 0 + 26 D1:B5AB 2E 00 - - ld l, 0 + 27 D1:B5AD - - - - xorcryptNSmaller: + 28 D1:B5AD 0D - - - dec c + 29 D1:B5AE D2 B4 B5 D1 jp nc, xorcryptNSmaller2 + 30 D1:B5B2 0E 00 - - ld c, 0 + 31 D1:B5B4 - - - - xorcryptNSmaller2: + 32 D1:B5B4 41 - - - ld b, c + 33 D1:B5B5 4D - - - ld c, l ;b=len(seed) c=len(string) + 34 D1:B5B6 E1 - - - pop hl + 35 D1:B5B7 B7 - - - or a, a + 36 D1:B5B8 D1 - - - pop de + 37 D1:B5B9 28 2C - - jr z, xorcryptEnd + 38 D1:B5BB D5 - - - push de + 39 D1:B5BC EB - - - ex de, hl; hl=seed + 40 D1:B5BD E1 - - - pop hl + 41 D1:B5BE C5 - - - push bc + 42 D1:B5BF D5 - - - push de + 43 D1:B5C0 11 00 00 00 ld de, 0 + 44 D1:B5C4 58 - - - ld e, b + 45 D1:B5C5 01 00 00 00 ld bc, 0 + 46 D1:B5C9 4B - - - ld c, e + 47 D1:B5CA 09 - - - add hl, bc + 48 D1:B5CB D1 - - - pop de + 49 D1:B5CC C1 - - - pop bc + 50 D1:B5CD 23 - - - inc hl + 51 D1:B5CE 36 80 - - ld (hl), %10000000 + 52 D1:B5D0 C5 - - - push bc + 53 D1:B5D1 05 - - - dec b + 54 D1:B5D2 3E FF - - ld a, $FF + 55 D1:B5D4 B8 - - - cp a, b + 56 D1:B5D5 28 0B - - jr z, xorcryptPadLoopEnd + 57 D1:B5D7 3E 00 - - ld a, $00 + 58 D1:B5D9 B8 - - - cp a, b + 59 D1:B5DA 20 01 - - jr nz, xorcryptPadLoop + 60 D1:B5DC 04 - - - inc b + 61 D1:B5DD - - - - xorcryptPadLoop: + 62 D1:B5DD 23 - - - inc hl + 63 D1:B5DE 36 11 - - ld (hl), $11 + 64 D1:B5E0 10 FB - - djnz xorcryptPadLoop + 65 D1:B5E2 - - - - xorcryptPadLoopEnd: + 66 D1:B5E2 C1 - - - pop bc + 67 D1:B5E3 70 - - - ld (hl), b + 68 D1:B5E4 23 - - - inc hl + 69 D1:B5E5 36 00 - - ld (hl), $00 + 70 D1:B5E7 - - - - xorcryptEnd: + 71 D1:B5E7 C1 - - - pop bc + 72 D1:B5E8 D1 - - - pop de + 73 D1:B5E9 E1 - - - pop hl + 74 D1:B5EA - - - - ;push hl + 75 D1:B5EA - - - - ;xorcryptRandLoop: + 76 D1:B5EA - - - - ;ld a, (hl) + 77 D1:B5EA - - - - ;or a, a + 78 D1:B5EA - - - - ;jr z, xorcryptRandLoopEnd + 79 D1:B5EA - - - - ;call randomint + 80 D1:B5EA - - - - ;ld (hl), a + 81 D1:B5EA - - - - ;inc hl + 82 D1:B5EA - - - - ;jr xorcryptRandLoop + 83 D1:B5EA - - - - ;xorcryptRandLoopEnd: + 84 D1:B5EA - - - - ;pop hl + 85 D1:B5EA CD 65 AD D1 call strxor + 86 D1:B5EE C9 - - - ret + 87 D1:B5EF - - - - Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc" Listing for file "FSHa.asm" - 79 D1:B551 - - - - - 80 D1:B551 - - - - #include "includes/man-db.asm" + 74 D1:B5EF - - - - + 75 D1:B5EF - - - - #include "includes/man-db.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\man-db.asm" - 1 D1:B551 - - - - ;;TODO: move module specific macros to diffrent file - 2 D1:B551 - - - - ;;manroute - 3 D1:B551 - - - - ;;routes command string to discription - 4 D1:B551 - - - - ;;Inputs: - 5 D1:B551 - - - - ;; HL: Command String - 6 D1:B551 - - - - ;;Outputs: - 7 D1:B551 - - - - ;; HL: Command Discription String - 8 D1:B551 - - - - manroute: - 9 D1:B551 D5 - - - push de - 10 D1:B552 - - - - #macro routestrjp(cmdXs, cmdXm) - 11 D1:B552 ld de, cmdXs - 12 D1:B552 call strcmp - 13 D1:B552 ld de, cmdXm - 14 D1:B552 jp z, manrouteReturn - 15 D1:B552 #endmacro - 16 D1:B552 - - - - - 17 D1:B552 - - - - #macro subroutestrjp(cmdXs, cmdYs, cmdYm) - 18 D1:B552 push hl - 19 D1:B552 ld de, cmdXs - 20 D1:B552 call strcmp - 21 D1:B552 ld hl, 0 - 22 D1:B552 jr nz, +_ - 23 D1:B552 ld hl, FshCmdArg1 - 24 D1:B552 _: - 25 D1:B552 ld de, cmdYs - 26 D1:B552 call strcmp - 27 D1:B552 pop hl - 28 D1:B552 ld de, cmdYm - 29 D1:B552 jp z, manrouteReturn - 30 D1:B552 #endmacro - 31 D1:B552 - - - - - 32 D1:B552 CD 06 B7 D1 call fshcmdmanroute - 33 D1:B556 CD 2E C0 D1 call cryptocmdmanroute - 34 D1:B55A - - - - ;Extention Point - 35 D1:B55A - - - - - 36 D1:B55A 21 CE EA D0 ld hl, FshCmdErrCode - 37 D1:B55E 36 01 - - ld (hl), $01 - 38 D1:B560 11 00 00 00 ld de, $00 - 39 D1:B564 - - - - manrouteReturn: - 40 D1:B564 EB - - - ex de, hl - 41 D1:B565 D1 - - - pop de - 42 D1:B566 C9 - - - ret - 43 D1:B567 - - - - - 44 D1:B567 - - - - ;;manrouteu - 45 D1:B567 - - - - ;;routes command string to usage - 46 D1:B567 - - - - ;;Inputs: - 47 D1:B567 - - - - ;; HL: Command String - 48 D1:B567 - - - - ;;Outputs: - 49 D1:B567 - - - - ;; HL: Command Usage String - 50 D1:B567 - - - - manrouteu: - 51 D1:B567 D5 - - - push de - 52 D1:B568 - - - - #macro routeustrjp(cmdXs, cmdXu) - 53 D1:B568 ld de, cmdXs - 54 D1:B568 call strcmp - 55 D1:B568 ld de, cmdXu - 56 D1:B568 jp z, manrouteuReturn - 57 D1:B568 #endmacro - 58 D1:B568 - - - - - 59 D1:B568 - - - - #macro subrouteustrjp(cmdXs, cmdYs, cmdYu) - 60 D1:B568 push hl - 61 D1:B568 ld de, cmdXs - 62 D1:B568 call strcmp - 63 D1:B568 ld hl, 0 - 64 D1:B568 jr nz, +_ - 65 D1:B568 ld hl, FshCmdArg1 - 66 D1:B568 _: - 67 D1:B568 ld de, cmdYs - 68 D1:B568 call strcmp - 69 D1:B568 pop hl - 70 D1:B568 ld de, cmdYu - 71 D1:B568 jp z, manrouteuReturn - 72 D1:B568 #endmacro - 73 D1:B568 - - - - - 74 D1:B568 CD B9 B7 D1 call fshcmdmanrouteu - 75 D1:B56C CD E1 C0 D1 call cryptocmdmanrouteu - 76 D1:B570 - - - - ;Extention Point - 77 D1:B570 - - - - - 78 D1:B570 21 CE EA D0 ld hl, FshCmdErrCode - 79 D1:B574 36 01 - - ld (hl), $01 - 80 D1:B576 11 00 00 00 ld de, $00 - 81 D1:B57A - - - - manrouteuReturn: - 82 D1:B57A EB - - - ex de, hl - 83 D1:B57B D1 - - - pop de - 84 D1:B57C C9 - - - ret + 1 D1:B5EF - - - - ;;TODO: move module specific macros to diffrent file + 2 D1:B5EF - - - - ;;manroute + 3 D1:B5EF - - - - ;;routes command string to discription + 4 D1:B5EF - - - - ;;Inputs: + 5 D1:B5EF - - - - ;; HL: Command String + 6 D1:B5EF - - - - ;;Outputs: + 7 D1:B5EF - - - - ;; HL: Command Discription String + 8 D1:B5EF - - - - manroute: + 9 D1:B5EF D5 - - - push de + 10 D1:B5F0 - - - - #macro routestrjp(cmdXs, cmdXm) + 11 D1:B5F0 ld de, cmdXs + 12 D1:B5F0 call strcmp + 13 D1:B5F0 ld de, cmdXm + 14 D1:B5F0 jp z, manrouteReturn + 15 D1:B5F0 #endmacro + 16 D1:B5F0 - - - - + 17 D1:B5F0 - - - - #macro subroutestrjp(cmdXs, cmdYs, cmdYm) + 18 D1:B5F0 push hl + 19 D1:B5F0 ld de, cmdXs + 20 D1:B5F0 call strcmp + 21 D1:B5F0 ld hl, 0 + 22 D1:B5F0 jr nz, +_ + 23 D1:B5F0 ld hl, FshCmdArg1 + 24 D1:B5F0 _: + 25 D1:B5F0 ld de, cmdYs + 26 D1:B5F0 call strcmp + 27 D1:B5F0 pop hl + 28 D1:B5F0 ld de, cmdYm + 29 D1:B5F0 jp z, manrouteReturn + 30 D1:B5F0 #endmacro + 31 D1:B5F0 - - - - + 32 D1:B5F0 CD A4 B7 D1 call fshcmdmanroute + 33 D1:B5F4 CD CC C0 D1 call cryptocmdmanroute + 34 D1:B5F8 - - - - ;Extention Point + 35 D1:B5F8 - - - - + 36 D1:B5F8 21 CE EA D0 ld hl, FshCmdErrCode + 37 D1:B5FC 36 01 - - ld (hl), $01 + 38 D1:B5FE 11 00 00 00 ld de, $00 + 39 D1:B602 - - - - manrouteReturn: + 40 D1:B602 EB - - - ex de, hl + 41 D1:B603 D1 - - - pop de + 42 D1:B604 C9 - - - ret + 43 D1:B605 - - - - + 44 D1:B605 - - - - ;;manrouteu + 45 D1:B605 - - - - ;;routes command string to usage + 46 D1:B605 - - - - ;;Inputs: + 47 D1:B605 - - - - ;; HL: Command String + 48 D1:B605 - - - - ;;Outputs: + 49 D1:B605 - - - - ;; HL: Command Usage String + 50 D1:B605 - - - - manrouteu: + 51 D1:B605 D5 - - - push de + 52 D1:B606 - - - - #macro routeustrjp(cmdXs, cmdXu) + 53 D1:B606 ld de, cmdXs + 54 D1:B606 call strcmp + 55 D1:B606 ld de, cmdXu + 56 D1:B606 jp z, manrouteuReturn + 57 D1:B606 #endmacro + 58 D1:B606 - - - - + 59 D1:B606 - - - - #macro subrouteustrjp(cmdXs, cmdYs, cmdYu) + 60 D1:B606 push hl + 61 D1:B606 ld de, cmdXs + 62 D1:B606 call strcmp + 63 D1:B606 ld hl, 0 + 64 D1:B606 jr nz, +_ + 65 D1:B606 ld hl, FshCmdArg1 + 66 D1:B606 _: + 67 D1:B606 ld de, cmdYs + 68 D1:B606 call strcmp + 69 D1:B606 pop hl + 70 D1:B606 ld de, cmdYu + 71 D1:B606 jp z, manrouteuReturn + 72 D1:B606 #endmacro + 73 D1:B606 - - - - + 74 D1:B606 CD 57 B8 D1 call fshcmdmanrouteu + 75 D1:B60A CD C7 C1 D1 call cryptocmdmanrouteu + 76 D1:B60E - - - - ;Extention Point + 77 D1:B60E - - - - + 78 D1:B60E 21 CE EA D0 ld hl, FshCmdErrCode + 79 D1:B612 36 01 - - ld (hl), $01 + 80 D1:B614 11 00 00 00 ld de, $00 + 81 D1:B618 - - - - manrouteuReturn: + 82 D1:B618 EB - - - ex de, hl + 83 D1:B619 D1 - - - pop de + 84 D1:B61A C9 - - - ret Listing for file "FSHa.asm" - 81 D1:B57D - - - - #include "includes/Command.asm" + 76 D1:B61B - - - - #include "includes/Command.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Command.asm" - 1 D1:B57D - - - - ;;Commanddecode - 2 D1:B57D - - - - ;;Decodes all commands. - 3 D1:B57D - - - - ;;Inputs: - 4 D1:B57D - - - - ;; HL: Cmd String mem loc - 5 D1:B57D - - - - ;; DE: Op code mem loc - 6 D1:B57D - - - - ;;Output: - 7 D1:B57D - - - - ;; Sets (DE) with command op code - 8 D1:B57D - - - - commanddecode: - 9 D1:B57D CD A2 B5 D1 call fshcmddecode - 10 D1:B581 CD EA BF D1 call cryptocmddecode - 11 D1:B585 - - - - ;Extention Point - 12 D1:B585 - - - - - 13 D1:B585 C9 - - - ret - 14 D1:B586 - - - - - 15 D1:B586 - - - - ;;commandroute - 16 D1:B586 - - - - ;;Routes all commamds. - 17 D1:B586 - - - - ;;Inputs: - 18 D1:B586 - - - - ;; HL: Op code mem loc - 19 D1:B586 - - - - commandroute: - 20 D1:B586 CD 7F B6 D1 call fshcmdroute - 21 D1:B58A CD 13 C0 D1 call cryptocmdroute - 22 D1:B58E - - - - ;Extention Point - 23 D1:B58E - - - - - 24 D1:B58E 21 C8 B2 D1 ld hl, ErrCmdNotFoundo - 25 D1:B592 11 CE EA D0 ld de, FshCmdErrCode - 26 D1:B596 CD 49 AA D1 call bytecpy - 27 D1:B59A CD B9 B2 D1 call ErrSet - 28 D1:B59E C3 EB A8 D1 jp Err - 29 D1:B5A2 - - - - - 30 D1:B5A2 - - - - #include "includes/FshCommands/FshCommand.asm" + 1 D1:B61B - - - - ;;Commanddecode + 2 D1:B61B - - - - ;;Decodes all commands. + 3 D1:B61B - - - - ;;Inputs: + 4 D1:B61B - - - - ;; HL: Cmd String mem loc + 5 D1:B61B - - - - ;; DE: Op code mem loc + 6 D1:B61B - - - - ;;Output: + 7 D1:B61B - - - - ;; Sets (DE) with command op code + 8 D1:B61B - - - - commanddecode: + 9 D1:B61B CD 40 B6 D1 call fshcmddecode + 10 D1:B61F CD 88 C0 D1 call cryptocmddecode + 11 D1:B623 - - - - ;Extention Point + 12 D1:B623 - - - - + 13 D1:B623 C9 - - - ret + 14 D1:B624 - - - - + 15 D1:B624 - - - - ;;commandroute + 16 D1:B624 - - - - ;;Routes all commamds. + 17 D1:B624 - - - - ;;Inputs: + 18 D1:B624 - - - - ;; HL: Op code mem loc + 19 D1:B624 - - - - commandroute: + 20 D1:B624 CD 1D B7 D1 call fshcmdroute + 21 D1:B628 CD B1 C0 D1 call cryptocmdroute + 22 D1:B62C - - - - ;Extention Point + 23 D1:B62C - - - - + 24 D1:B62C 21 42 B3 D1 ld hl, ErrCmdNotFoundo + 25 D1:B630 11 CE EA D0 ld de, FshCmdErrCode + 26 D1:B634 CD 3D AA D1 call bytecpy + 27 D1:B638 CD 33 B3 D1 call ErrSet + 28 D1:B63C C3 DF A8 D1 jp Err + 29 D1:B640 - - - - + 30 D1:B640 - - - - #include "includes/FshCommands/FshCommand.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm" - 1 D1:B5A2 - - - - fshcmddecode: - 2 D1:B5A2 E5 D5 11 6C - B8 D1 CD B9 - AB D1 21 71 - B8 D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdEXIT, fshcmdEXITo) -Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm" - 3 D1:B5B6 E5 D5 11 85 - B8 D1 CD B9 - AB D1 21 89 - B8 D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdSET, fshcmdSETo) - 4 D1:B5CA E5 D5 11 7C - B9 D1 CD B9 - AB D1 21 81 + 1 D1:B640 - - - - fshcmddecode: + 2 D1:B640 E5 D5 11 0A + B9 D1 CD 33 + AC D1 21 0F B9 D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdCOPY, fshcmdCOPYo) - 5 D1:B5DE E5 D5 11 8A - BA D1 CD B9 - AB D1 21 8F + 3D AA D1 E1 decodecmdopt(fshcmdEXIT, fshcmdEXITo) +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm" + 3 D1:B654 E5 D5 11 23 + B9 D1 CD 33 + AC D1 21 27 + B9 D1 D1 CC + 3D AA D1 E1 decodecmdopt(fshcmdSET, fshcmdSETo) + 4 D1:B668 E5 D5 11 1A + BA D1 CD 33 + AC D1 21 1F BA D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdMOVE, fshcmdMOVEo) - 6 D1:B5F2 E5 D5 11 A0 - BB D1 CD B9 - AB D1 21 A4 + 3D AA D1 E1 decodecmdopt(fshcmdCOPY, fshcmdCOPYo) + 5 D1:B67C E5 D5 11 28 + BB D1 CD 33 + AC D1 21 2D BB D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdCLS, fshcmdCLSo) - 7 D1:B606 E5 D5 11 CC - BB D1 CD B9 - AB D1 21 D0 - BB D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo) - 8 D1:B61A E5 D5 11 6E - BC D1 CD B9 - AB D1 21 73 + 3D AA D1 E1 decodecmdopt(fshcmdMOVE, fshcmdMOVEo) + 6 D1:B690 E5 D5 11 3E + BC D1 CD 33 + AC D1 21 42 BC D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdVARS, fshcmdVARSo) - 9 D1:B62E E5 D5 11 DE - BC D1 CD B9 - AB D1 21 E4 + 3D AA D1 E1 decodecmdopt(fshcmdCLS, fshcmdCLSo) + 7 D1:B6A4 E5 D5 11 6A + BC D1 CD 33 + AC D1 21 6E BC D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdSLEEP, fshcmdSLEEPo) - 10 D1:B642 E5 D5 11 2C - BD D1 CD B9 - AB D1 21 31 + 3D AA D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo) + 8 D1:B6B8 E5 D5 11 0C + BD D1 CD 33 + AC D1 21 11 BD D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdINFO, fshcmdINFOo) - 11 D1:B656 E5 D5 11 CE - BD D1 CD B9 - AB D1 21 D3 + 3D AA D1 E1 decodecmdopt(fshcmdVARS, fshcmdVARSo) + 9 D1:B6CC E5 D5 11 7C + BD D1 CD 33 + AC D1 21 82 BD D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo) - 12 D1:B66A E5 D5 11 02 - BF D1 CD B9 - AB D1 21 06 + 3D AA D1 E1 decodecmdopt(fshcmdSLEEP, fshcmdSLEEPo) + 10 D1:B6E0 E5 D5 11 CA + BD D1 CD 33 + AC D1 21 CF + BD D1 D1 CC + 3D AA D1 E1 decodecmdopt(fshcmdINFO, fshcmdINFOo) + 11 D1:B6F4 E5 D5 11 6C + BE D1 CD 33 + AC D1 21 71 + BE D1 D1 CC + 3D AA D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo) + 12 D1:B708 E5 D5 11 A0 + BF D1 CD 33 + AC D1 21 A4 BF D1 D1 CC - 49 AA D1 E1 decodecmdopt(fshcmdMAN, fshcmdMANo) - 13 D1:B67E C9 - - - ret - 14 D1:B67F - - - - - 15 D1:B67F - - - - fshcmdroute: - 16 D1:B67F C1 - - - pop bc ;pop the ret loc from stack into bc - 17 D1:B680 11 71 B8 D1 - CD 41 AA D1 - CA 81 B8 D1 routeoptjp(fshcmdEXITo, fshcmdEXITf) - 18 D1:B68C 11 89 B8 D1 - CD 41 AA D1 - CA C7 B8 D1 routeoptjp(fshcmdSETo, fshcmdSETf) - 19 D1:B698 11 81 B9 D1 - CD 41 AA D1 - CA DC B9 D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf) - 20 D1:B6A4 11 8F BA D1 - CD 41 AA D1 - CA E9 BA D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf) - 21 D1:B6B0 11 A4 BB D1 - CD 41 AA D1 - CA BB BB D1 routeoptjp(fshcmdCLSo, fshcmdCLSf) - 22 D1:B6BC 11 D0 BB D1 - CD 41 AA D1 - CA 07 BC D1 routeoptjp(fshcmdVARo, fshcmdVARf) - 23 D1:B6C8 11 73 BC D1 - CD 41 AA D1 - CA 8F BC D1 routeoptjp(fshcmdVARSo, fshcmdVARSf) - 24 D1:B6D4 11 E4 BC D1 - CD 41 AA D1 - CA 15 BD D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf) - 25 D1:B6E0 11 31 BD D1 - CD 41 AA D1 - CA 5D BD D1 routeoptjp(fshcmdINFOo, fshcmdINFOf) - 26 D1:B6EC 11 D3 BD D1 - CD 41 AA D1 - CA EF BD D1 routeoptjp(fshcmdHELPo, fshcmdHELPf) - 27 D1:B6F8 11 06 BF D1 - CD 41 AA D1 - CA 33 BF D1 routeoptjp(fshcmdMANo, fshcmdMANf) - 28 D1:B704 C5 - - - push bc ;put ret location back on stack - 29 D1:B705 C9 - - - ret - 30 D1:B706 - - - - - 31 D1:B706 - - - - fshcmdmanroute: - 32 D1:B706 C1 - - - pop bc - 33 D1:B707 11 6C B8 D1 - CD B9 AB D1 - 11 72 B8 D1 - CA 64 B5 D1 routestrjp(fshcmdEXIT, fshCmdEXITm) - 34 D1:B717 11 85 B8 D1 - CD B9 AB D1 - 11 8A B8 D1 - CA 64 B5 D1 routestrjp(fshcmdSET, fshCmdSETm) - 35 D1:B727 11 7C B9 D1 - CD B9 AB D1 - 11 82 B9 D1 - CA 64 B5 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm) - 36 D1:B737 11 8A BA D1 - CD B9 AB D1 - 11 90 BA D1 - CA 64 B5 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm) - 37 D1:B747 11 A0 BB D1 - CD B9 AB D1 - 11 A5 BB D1 - CA 64 B5 D1 routestrjp(fshcmdCLS, fshCmdCLSm) - 38 D1:B757 11 CC BB D1 - CD B9 AB D1 - 11 D1 BB D1 - CA 64 B5 D1 routestrjp(fshcmdVAR, fshCmdVARm) - 39 D1:B767 11 6E BC D1 - CD B9 AB D1 - 11 74 BC D1 - CA 64 B5 D1 routestrjp(fshcmdVARS, fshCmdVARSm) - 40 D1:B777 11 DE BC D1 - CD B9 AB D1 - 11 E5 BC D1 - CA 64 B5 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm) - 41 D1:B787 11 2C BD D1 - CD B9 AB D1 - 11 32 BD D1 - CA 64 B5 D1 routestrjp(fshcmdINFO, fshCmdINFOm) - 42 D1:B797 11 CE BD D1 - CD B9 AB D1 - 11 D4 BD D1 - CA 64 B5 D1 routestrjp(fshcmdHELP, fshCmdHELPm) - 43 D1:B7A7 11 02 BF D1 - CD B9 AB D1 - 11 07 BF D1 - CA 64 B5 D1 routestrjp(fshcmdMAN, fshCmdMANm) - 44 D1:B7B7 C5 - - - push bc - 45 D1:B7B8 C9 - - - ret - 46 D1:B7B9 - - - - - 47 D1:B7B9 - - - - fshcmdmanrouteu: - 48 D1:B7B9 C1 - - - pop bc - 49 D1:B7BA 11 6C B8 D1 - CD B9 AB D1 - 11 7C B8 D1 - CA 7A B5 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu) - 50 D1:B7CA 11 85 B8 D1 - CD B9 AB D1 - 11 A5 B8 D1 - CA 7A B5 D1 routeustrjp(fshcmdSET, fshCmdSETu) - 51 D1:B7DA 11 7C B9 D1 - CD B9 AB D1 - 11 B0 B9 D1 - CA 7A B5 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu) - 52 D1:B7EA 11 8A BA D1 - CD B9 AB D1 - 11 BD BA D1 - CA 7A B5 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu) - 53 D1:B7FA 11 A0 BB D1 - CD B9 AB D1 - 11 B7 BB D1 - CA 7A B5 D1 routeustrjp(fshcmdCLS, fshCmdCLSu) - 54 D1:B80A 11 CC BB D1 - CD B9 AB D1 - 11 F2 BB D1 - CA 7A B5 D1 routeustrjp(fshcmdVAR, fshCmdVARu) - 55 D1:B81A 11 6E BC D1 - CD B9 AB D1 - 11 8A BC D1 - CA 7A B5 D1 routeustrjp(fshcmdVARS, fshCmdVARSu) - 56 D1:B82A 11 DE BC D1 - CD B9 AB D1 - 11 0F BD D1 - CA 7A B5 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu) - 57 D1:B83A 11 2C BD D1 - CD B9 AB D1 - 11 58 BD D1 - CA 7A B5 D1 routeustrjp(fshcmdINFO, fshCmdINFOu) - 58 D1:B84A 11 CE BD D1 - CD B9 AB D1 - 11 EA BD D1 - CA 7A B5 D1 routeustrjp(fshcmdHELP, fshCmdHELPu) - 59 D1:B85A 11 02 BF D1 - CD B9 AB D1 - 11 25 BF D1 - CA 7A B5 D1 routeustrjp(fshcmdMAN, fshCmdMANu) - 60 D1:B86A C5 - - - push bc - 61 D1:B86B C9 - - - ret - 62 D1:B86C - - - - - 63 D1:B86C - - - - #include "includes/FshCommands/FshCommands.inc" + 3D AA D1 E1 decodecmdopt(fshcmdMAN, fshcmdMANo) + 13 D1:B71C C9 - - - ret + 14 D1:B71D - - - - + 15 D1:B71D - - - - fshcmdroute: + 16 D1:B71D C1 - - - pop bc ;pop the ret loc from stack into bc + 17 D1:B71E 11 0F B9 D1 + CD 35 AA D1 + CA 1F B9 D1 routeoptjp(fshcmdEXITo, fshcmdEXITf) + 18 D1:B72A 11 27 B9 D1 + CD 35 AA D1 + CA 65 B9 D1 routeoptjp(fshcmdSETo, fshcmdSETf) + 19 D1:B736 11 1F BA D1 + CD 35 AA D1 + CA 7A BA D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf) + 20 D1:B742 11 2D BB D1 + CD 35 AA D1 + CA 87 BB D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf) + 21 D1:B74E 11 42 BC D1 + CD 35 AA D1 + CA 59 BC D1 routeoptjp(fshcmdCLSo, fshcmdCLSf) + 22 D1:B75A 11 6E BC D1 + CD 35 AA D1 + CA A5 BC D1 routeoptjp(fshcmdVARo, fshcmdVARf) + 23 D1:B766 11 11 BD D1 + CD 35 AA D1 + CA 2D BD D1 routeoptjp(fshcmdVARSo, fshcmdVARSf) + 24 D1:B772 11 82 BD D1 + CD 35 AA D1 + CA B3 BD D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf) + 25 D1:B77E 11 CF BD D1 + CD 35 AA D1 + CA FB BD D1 routeoptjp(fshcmdINFOo, fshcmdINFOf) + 26 D1:B78A 11 71 BE D1 + CD 35 AA D1 + CA 8D BE D1 routeoptjp(fshcmdHELPo, fshcmdHELPf) + 27 D1:B796 11 A4 BF D1 + CD 35 AA D1 + CA D1 BF D1 routeoptjp(fshcmdMANo, fshcmdMANf) + 28 D1:B7A2 C5 - - - push bc ;put ret location back on stack + 29 D1:B7A3 C9 - - - ret + 30 D1:B7A4 - - - - + 31 D1:B7A4 - - - - fshcmdmanroute: + 32 D1:B7A4 C1 - - - pop bc + 33 D1:B7A5 11 0A B9 D1 + CD 33 AC D1 + 11 10 B9 D1 + CA 02 B6 D1 routestrjp(fshcmdEXIT, fshCmdEXITm) + 34 D1:B7B5 11 23 B9 D1 + CD 33 AC D1 + 11 28 B9 D1 + CA 02 B6 D1 routestrjp(fshcmdSET, fshCmdSETm) + 35 D1:B7C5 11 1A BA D1 + CD 33 AC D1 + 11 20 BA D1 + CA 02 B6 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm) + 36 D1:B7D5 11 28 BB D1 + CD 33 AC D1 + 11 2E BB D1 + CA 02 B6 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm) + 37 D1:B7E5 11 3E BC D1 + CD 33 AC D1 + 11 43 BC D1 + CA 02 B6 D1 routestrjp(fshcmdCLS, fshCmdCLSm) + 38 D1:B7F5 11 6A BC D1 + CD 33 AC D1 + 11 6F BC D1 + CA 02 B6 D1 routestrjp(fshcmdVAR, fshCmdVARm) + 39 D1:B805 11 0C BD D1 + CD 33 AC D1 + 11 12 BD D1 + CA 02 B6 D1 routestrjp(fshcmdVARS, fshCmdVARSm) + 40 D1:B815 11 7C BD D1 + CD 33 AC D1 + 11 83 BD D1 + CA 02 B6 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm) + 41 D1:B825 11 CA BD D1 + CD 33 AC D1 + 11 D0 BD D1 + CA 02 B6 D1 routestrjp(fshcmdINFO, fshCmdINFOm) + 42 D1:B835 11 6C BE D1 + CD 33 AC D1 + 11 72 BE D1 + CA 02 B6 D1 routestrjp(fshcmdHELP, fshCmdHELPm) + 43 D1:B845 11 A0 BF D1 + CD 33 AC D1 + 11 A5 BF D1 + CA 02 B6 D1 routestrjp(fshcmdMAN, fshCmdMANm) + 44 D1:B855 C5 - - - push bc + 45 D1:B856 C9 - - - ret + 46 D1:B857 - - - - + 47 D1:B857 - - - - fshcmdmanrouteu: + 48 D1:B857 C1 - - - pop bc + 49 D1:B858 11 0A B9 D1 + CD 33 AC D1 + 11 1A B9 D1 + CA 18 B6 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu) + 50 D1:B868 11 23 B9 D1 + CD 33 AC D1 + 11 43 B9 D1 + CA 18 B6 D1 routeustrjp(fshcmdSET, fshCmdSETu) + 51 D1:B878 11 1A BA D1 + CD 33 AC D1 + 11 4E BA D1 + CA 18 B6 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu) + 52 D1:B888 11 28 BB D1 + CD 33 AC D1 + 11 5B BB D1 + CA 18 B6 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu) + 53 D1:B898 11 3E BC D1 + CD 33 AC D1 + 11 55 BC D1 + CA 18 B6 D1 routeustrjp(fshcmdCLS, fshCmdCLSu) + 54 D1:B8A8 11 6A BC D1 + CD 33 AC D1 + 11 90 BC D1 + CA 18 B6 D1 routeustrjp(fshcmdVAR, fshCmdVARu) + 55 D1:B8B8 11 0C BD D1 + CD 33 AC D1 + 11 28 BD D1 + CA 18 B6 D1 routeustrjp(fshcmdVARS, fshCmdVARSu) + 56 D1:B8C8 11 7C BD D1 + CD 33 AC D1 + 11 AD BD D1 + CA 18 B6 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu) + 57 D1:B8D8 11 CA BD D1 + CD 33 AC D1 + 11 F6 BD D1 + CA 18 B6 D1 routeustrjp(fshcmdINFO, fshCmdINFOu) + 58 D1:B8E8 11 6C BE D1 + CD 33 AC D1 + 11 88 BE D1 + CA 18 B6 D1 routeustrjp(fshcmdHELP, fshCmdHELPu) + 59 D1:B8F8 11 A0 BF D1 + CD 33 AC D1 + 11 C3 BF D1 + CA 18 B6 D1 routeustrjp(fshcmdMAN, fshCmdMANu) + 60 D1:B908 C5 - - - push bc + 61 D1:B909 C9 - - - ret + 62 D1:B90A - - - - + 63 D1:B90A - - - - #include "includes/FshCommands/FshCommands.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 1 D1:B86C - - - - #include "includes/FshCommands/EXIT.asm" + 1 D1:B90A - - - - #include "includes/FshCommands/EXIT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\EXIT.asm" - 1 D1:B86C 45 58 49 54 + 1 D1:B90A 45 58 49 54 00 - - - fshcmdEXIT: .db "EXIT", 0 - 2 D1:B871 FF - - - fshcmdEXITo: .db $FF - 3 D1:B872 45 78 69 74 + 2 D1:B90F FF - - - fshcmdEXITo: .db $FF + 3 D1:B910 45 78 69 74 73 20 46 73 68 00 - - fshcmdEXITm: .db "Exits Fsh", 0 - 4 D1:B87C 45 58 49 54 + 4 D1:B91A 45 58 49 54 00 - - - fshcmdEXITu: .db "EXIT", 0 - 5 D1:B881 C3 EF A8 D1 fshcmdEXITf: JP Cleanup + 5 D1:B91F C3 E3 A8 D1 fshcmdEXITf: JP Cleanup Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 2 D1:B885 - - - - #include "includes/FshCommands/SET.asm" + 2 D1:B923 - - - - #include "includes/FshCommands/SET.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\SET.asm" - 1 D1:B885 53 45 54 00 fshcmdSET: .db "SET", 0 - 2 D1:B889 01 - - - fshcmdSETo: .db $01 - 3 D1:B88A 53 65 74 73 + 1 D1:B923 53 45 54 00 fshcmdSET: .db "SET", 0 + 2 D1:B927 01 - - - fshcmdSETo: .db $01 + 3 D1:B928 53 65 74 73 20 61 20 76 61 6C 75 65 20 69 6E 20 46 53 48 20 6D 65 6D 6F 72 79 00 - fshcmdSETm: .db "Sets a value in FSH memory", 0 - 4 D1:B8A5 53 45 54 20 + 4 D1:B943 53 45 54 20 3C 64 65 73 74 69 6E 61 74 69 6F 6E @@ -2679,83 +2803,83 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 3E 20 3C 76 61 6C 75 65 3E 00 - - fshcmdSETu: .db "SET ", 0 - 5 D1:B8C7 - - - - fshcmdSETf: - 6 D1:B8C7 - - - - fshcmdSETfArg0: - 7 D1:B8C7 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:B8CB CB 4E - - bit 1, (hl) - 9 D1:B8CD 20 34 - - jr nz, fshcmdSETfArg1 - 10 D1:B8CF CB 46 - - bit 0, (hl) - 11 D1:B8D1 28 0C - - jr z, fshcmdSETfArg0Get - 12 D1:B8D3 21 4E B3 D1 ld hl, ErrUsageo - 13 D1:B8D7 CD B9 B2 D1 call ErrSet - 14 D1:B8DB CD 6C B2 D1 call ErrCatch - 15 D1:B8DF - - - - fshcmdSETfArg0Get: - 16 D1:B8DF 21 66 B9 D1 ld hl, fshcmdSETfDIndex - 17 D1:B8E3 CD 07 AB D1 call printprompt - 18 D1:B8E7 21 60 B9 D1 ld hl, fshcmdSETfInputBuffer - 19 D1:B8EB 11 03 00 00 ld de, 3 - 20 D1:B8EF CD 3D AF D1 call inputnumstr - 21 D1:B8F3 CD 43 AC D1 call strtow - 22 D1:B8F7 11 A8 EA D0 ld de, FshCmdArg0 - 23 D1:B8FB EB - - - ex de, hl - 24 D1:B8FC 73 - - - ld (hl), e - 25 D1:B8FD 23 - - - inc hl - 26 D1:B8FE 72 - - - ld (hl), d - 27 D1:B8FF CD F0 07 02 call _NewLine - 28 D1:B903 - - - - fshcmdSETfArg1: - 29 D1:B903 21 CD EA D0 ld hl, FshCmdArgFlags - 30 D1:B907 CB 5E - - bit 3, (hl) - 31 D1:B909 20 34 - - jr nz, fshcmdSETfExe - 32 D1:B90B CB 56 - - bit 2, (hl) - 33 D1:B90D 28 0C - - jr z, fshcmdSETfArg1Get - 34 D1:B90F 21 4E B3 D1 ld hl, ErrUsageo - 35 D1:B913 CD B9 B2 D1 call ErrSet - 36 D1:B917 CD 6C B2 D1 call ErrCatch - 37 D1:B91B - - - - fshcmdSETfArg1Get: - 38 D1:B91B 21 74 B9 D1 ld hl, fshcmdSETfDValue - 39 D1:B91F CD 07 AB D1 call printprompt - 40 D1:B923 21 60 B9 D1 ld hl, fshcmdSETfInputBuffer - 41 D1:B927 11 05 00 00 ld de, 5 - 42 D1:B92B CD 3D AF D1 call inputnumstr - 43 D1:B92F CD 43 AC D1 call strtow - 44 D1:B933 EB - - - ex de, hl - 45 D1:B934 21 B1 EA D0 ld hl, FshCmdArg1 - 46 D1:B938 73 - - - ld (hl), e - 47 D1:B939 23 - - - inc hl - 48 D1:B93A 72 - - - ld (hl), d - 49 D1:B93B CD F0 07 02 call _NewLine - 50 D1:B93F - - - - fshcmdSETfExe: - 51 D1:B93F 21 A8 EA D0 ld hl, FshCmdArg0 - 52 D1:B943 11 00 00 00 ld de, 0 - 53 D1:B947 5E - - - ld e, (hl) - 54 D1:B948 23 - - - inc hl - 55 D1:B949 56 - - - ld d, (hl) - 56 D1:B94A D5 - - - push de - 57 D1:B94B 21 B1 EA D0 ld hl, FshCmdArg1 - 58 D1:B94F 5E - - - ld e, (hl) - 59 D1:B950 23 - - - inc hl - 60 D1:B951 56 - - - ld d, (hl) - 61 D1:B952 EB - - - ex de, hl - 62 D1:B953 D1 - - - pop de - 63 D1:B954 CD BC B1 D1 call fshvarset - 64 D1:B958 CD 6C B2 D1 call ErrCatch - 65 D1:B95C C3 E7 A8 D1 jp Fin - 66 D1:B960 - - - - - 67 D1:B960 00 00 00 00 + 5 D1:B965 - - - - fshcmdSETf: + 6 D1:B965 - - - - fshcmdSETfArg0: + 7 D1:B965 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:B969 CB 4E - - bit 1, (hl) + 9 D1:B96B 20 34 - - jr nz, fshcmdSETfArg1 + 10 D1:B96D CB 46 - - bit 0, (hl) + 11 D1:B96F 28 0C - - jr z, fshcmdSETfArg0Get + 12 D1:B971 21 C8 B3 D1 ld hl, ErrUsageo + 13 D1:B975 CD 33 B3 D1 call ErrSet + 14 D1:B979 CD E6 B2 D1 call ErrCatch + 15 D1:B97D - - - - fshcmdSETfArg0Get: + 16 D1:B97D 21 04 BA D1 ld hl, fshcmdSETfDIndex + 17 D1:B981 CD FB AA D1 call printprompt + 18 D1:B985 21 FE B9 D1 ld hl, fshcmdSETfInputBuffer + 19 D1:B989 11 03 00 00 ld de, 3 + 20 D1:B98D CD B7 AF D1 call inputnumstr + 21 D1:B991 CD BD AC D1 call strtow + 22 D1:B995 11 A8 EA D0 ld de, FshCmdArg0 + 23 D1:B999 EB - - - ex de, hl + 24 D1:B99A 73 - - - ld (hl), e + 25 D1:B99B 23 - - - inc hl + 26 D1:B99C 72 - - - ld (hl), d + 27 D1:B99D CD F0 07 02 call _NewLine + 28 D1:B9A1 - - - - fshcmdSETfArg1: + 29 D1:B9A1 21 CD EA D0 ld hl, FshCmdArgFlags + 30 D1:B9A5 CB 5E - - bit 3, (hl) + 31 D1:B9A7 20 34 - - jr nz, fshcmdSETfExe + 32 D1:B9A9 CB 56 - - bit 2, (hl) + 33 D1:B9AB 28 0C - - jr z, fshcmdSETfArg1Get + 34 D1:B9AD 21 C8 B3 D1 ld hl, ErrUsageo + 35 D1:B9B1 CD 33 B3 D1 call ErrSet + 36 D1:B9B5 CD E6 B2 D1 call ErrCatch + 37 D1:B9B9 - - - - fshcmdSETfArg1Get: + 38 D1:B9B9 21 12 BA D1 ld hl, fshcmdSETfDValue + 39 D1:B9BD CD FB AA D1 call printprompt + 40 D1:B9C1 21 FE B9 D1 ld hl, fshcmdSETfInputBuffer + 41 D1:B9C5 11 05 00 00 ld de, 5 + 42 D1:B9C9 CD B7 AF D1 call inputnumstr + 43 D1:B9CD CD BD AC D1 call strtow + 44 D1:B9D1 EB - - - ex de, hl + 45 D1:B9D2 21 B1 EA D0 ld hl, FshCmdArg1 + 46 D1:B9D6 73 - - - ld (hl), e + 47 D1:B9D7 23 - - - inc hl + 48 D1:B9D8 72 - - - ld (hl), d + 49 D1:B9D9 CD F0 07 02 call _NewLine + 50 D1:B9DD - - - - fshcmdSETfExe: + 51 D1:B9DD 21 A8 EA D0 ld hl, FshCmdArg0 + 52 D1:B9E1 11 00 00 00 ld de, 0 + 53 D1:B9E5 5E - - - ld e, (hl) + 54 D1:B9E6 23 - - - inc hl + 55 D1:B9E7 56 - - - ld d, (hl) + 56 D1:B9E8 D5 - - - push de + 57 D1:B9E9 21 B1 EA D0 ld hl, FshCmdArg1 + 58 D1:B9ED 5E - - - ld e, (hl) + 59 D1:B9EE 23 - - - inc hl + 60 D1:B9EF 56 - - - ld d, (hl) + 61 D1:B9F0 EB - - - ex de, hl + 62 D1:B9F1 D1 - - - pop de + 63 D1:B9F2 CD 36 B2 D1 call fshvarset + 64 D1:B9F6 CD E6 B2 D1 call ErrCatch + 65 D1:B9FA C3 DB A8 D1 jp Fin + 66 D1:B9FE - - - - + 67 D1:B9FE 00 00 00 00 00 00 - - fshcmdSETfInputBuffer: .db $00, $00, $00, $00, $00, $00 - 68 D1:B966 44 65 73 74 + 68 D1:BA04 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdSETfDIndex: .db "Destination= ", 0 - 69 D1:B974 56 61 6C 75 + 69 D1:BA12 56 61 6C 75 65 3D 20 00 fshcmdSETfDValue: .db "Value= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 3 D1:B97C - - - - #include "includes/FshCommands/COPY.asm" + 3 D1:BA1A - - - - #include "includes/FshCommands/COPY.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\COPY.asm" - 1 D1:B97C 43 4F 50 59 + 1 D1:BA1A 43 4F 50 59 00 - - - fshcmdCOPY: .db "COPY", 0 - 2 D1:B981 02 - - - fshcmdCOPYo: .db $02 - 3 D1:B982 43 6F 70 79 + 2 D1:BA1F 02 - - - fshcmdCOPYo: .db $02 + 3 D1:BA20 43 6F 70 79 73 20 61 20 76 61 6C 75 65 20 69 6E @@ -2767,7 +2891,7 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 65 72 20 61 64 64 65 73 73 00 - - fshcmdCOPYm: .db "Copys a value in FSH memory to another addess", 0 - 4 D1:B9B0 43 4F 50 59 + 4 D1:BA4E 43 4F 50 59 20 3C 73 6F 75 72 63 65 20 61 64 64 @@ -2778,74 +2902,74 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 6F 6E 20 61 64 64 72 65 73 73 3E 00 fshcmdCOPYu: .db "COPY ", 0 - 5 D1:B9DC - - - - fshcmdCOPYf: - 6 D1:B9DC - - - - fshcmdCOPYfArg0: - 7 D1:B9DC 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:B9E0 CB 4E - - bit 1, (hl) - 9 D1:B9E2 20 31 - - jr nz, fshcmdCOPYfArg1 - 10 D1:B9E4 CB 46 - - bit 0, (hl) - 11 D1:B9E6 28 0C - - jr z, fshcmdCOPYfArg0Get - 12 D1:B9E8 21 4E B3 D1 ld hl, ErrUsageo - 13 D1:B9EC CD B9 B2 D1 call ErrSet - 14 D1:B9F0 CD 6C B2 D1 call ErrCatch - 15 D1:B9F4 - - - - fshcmdCOPYfArg0Get: - 16 D1:B9F4 21 73 BA D1 ld hl, fshcmdCOPYfDSource - 17 D1:B9F8 CD 07 AB D1 call printprompt - 18 D1:B9FC 21 6F BA D1 ld hl, fshcmdCOPYfInputBuffer - 19 D1:BA00 11 03 00 00 ld de, 3 - 20 D1:BA04 CD 3D AF D1 call inputnumstr - 21 D1:BA08 CD E6 AB D1 call strtob - 22 D1:BA0C 21 A8 EA D0 ld hl, FshCmdArg0 - 23 D1:BA10 77 - - - ld (hl), a - 24 D1:BA11 CD F0 07 02 call _NewLine - 25 D1:BA15 - - - - fshcmdCOPYfArg1: - 26 D1:BA15 21 CD EA D0 ld hl, FshCmdArgFlags - 27 D1:BA19 CB 5E - - bit 3, (hl) - 28 D1:BA1B 20 31 - - jr nz, fshcmdCOPYfExe - 29 D1:BA1D CB 56 - - bit 2, (hl) - 30 D1:BA1F 28 0C - - jr z, fshcmdCOPYfArg1Get - 31 D1:BA21 21 4E B3 D1 ld hl, ErrUsageo - 32 D1:BA25 CD B9 B2 D1 call ErrSet - 33 D1:BA29 CD 6C B2 D1 call ErrCatch - 34 D1:BA2D - - - - fshcmdCOPYfArg1Get: - 35 D1:BA2D 21 73 BA D1 ld hl, fshcmdCOPYfDSource - 36 D1:BA31 CD 07 AB D1 call printprompt - 37 D1:BA35 21 6F BA D1 ld hl, fshcmdCOPYfInputBuffer - 38 D1:BA39 11 03 00 00 ld de, 3 - 39 D1:BA3D CD 3D AF D1 call inputnumstr - 40 D1:BA41 CD E6 AB D1 call strtob - 41 D1:BA45 21 B1 EA D0 ld hl, FshCmdArg1 - 42 D1:BA49 77 - - - ld (hl), a - 43 D1:BA4A CD F0 07 02 call _NewLine - 44 D1:BA4E - - - - fshcmdCOPYfExe: - 45 D1:BA4E 21 A8 EA D0 ld hl, FshCmdArg0 - 46 D1:BA52 11 00 00 00 ld de, 0 - 47 D1:BA56 5E - - - ld e, (hl) - 48 D1:BA57 EB - - - ex de, hl - 49 D1:BA58 E5 - - - push hl - 50 D1:BA59 21 B1 EA D0 ld hl, FshCmdArg1 - 51 D1:BA5D 11 00 00 00 ld de, 0 - 52 D1:BA61 5E - - - ld e, (hl) - 53 D1:BA62 E1 - - - pop hl - 54 D1:BA63 CD 0F B2 D1 call fshvarcpy - 55 D1:BA67 CD 6C B2 D1 call ErrCatch - 56 D1:BA6B C3 E7 A8 D1 jp Fin - 57 D1:BA6F - - - - - 58 D1:BA6F 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00 - 59 D1:BA73 53 6F 75 72 + 5 D1:BA7A - - - - fshcmdCOPYf: + 6 D1:BA7A - - - - fshcmdCOPYfArg0: + 7 D1:BA7A 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BA7E CB 4E - - bit 1, (hl) + 9 D1:BA80 20 31 - - jr nz, fshcmdCOPYfArg1 + 10 D1:BA82 CB 46 - - bit 0, (hl) + 11 D1:BA84 28 0C - - jr z, fshcmdCOPYfArg0Get + 12 D1:BA86 21 C8 B3 D1 ld hl, ErrUsageo + 13 D1:BA8A CD 33 B3 D1 call ErrSet + 14 D1:BA8E CD E6 B2 D1 call ErrCatch + 15 D1:BA92 - - - - fshcmdCOPYfArg0Get: + 16 D1:BA92 21 11 BB D1 ld hl, fshcmdCOPYfDSource + 17 D1:BA96 CD FB AA D1 call printprompt + 18 D1:BA9A 21 0D BB D1 ld hl, fshcmdCOPYfInputBuffer + 19 D1:BA9E 11 03 00 00 ld de, 3 + 20 D1:BAA2 CD B7 AF D1 call inputnumstr + 21 D1:BAA6 CD 60 AC D1 call strtob + 22 D1:BAAA 21 A8 EA D0 ld hl, FshCmdArg0 + 23 D1:BAAE 77 - - - ld (hl), a + 24 D1:BAAF CD F0 07 02 call _NewLine + 25 D1:BAB3 - - - - fshcmdCOPYfArg1: + 26 D1:BAB3 21 CD EA D0 ld hl, FshCmdArgFlags + 27 D1:BAB7 CB 5E - - bit 3, (hl) + 28 D1:BAB9 20 31 - - jr nz, fshcmdCOPYfExe + 29 D1:BABB CB 56 - - bit 2, (hl) + 30 D1:BABD 28 0C - - jr z, fshcmdCOPYfArg1Get + 31 D1:BABF 21 C8 B3 D1 ld hl, ErrUsageo + 32 D1:BAC3 CD 33 B3 D1 call ErrSet + 33 D1:BAC7 CD E6 B2 D1 call ErrCatch + 34 D1:BACB - - - - fshcmdCOPYfArg1Get: + 35 D1:BACB 21 11 BB D1 ld hl, fshcmdCOPYfDSource + 36 D1:BACF CD FB AA D1 call printprompt + 37 D1:BAD3 21 0D BB D1 ld hl, fshcmdCOPYfInputBuffer + 38 D1:BAD7 11 03 00 00 ld de, 3 + 39 D1:BADB CD B7 AF D1 call inputnumstr + 40 D1:BADF CD 60 AC D1 call strtob + 41 D1:BAE3 21 B1 EA D0 ld hl, FshCmdArg1 + 42 D1:BAE7 77 - - - ld (hl), a + 43 D1:BAE8 CD F0 07 02 call _NewLine + 44 D1:BAEC - - - - fshcmdCOPYfExe: + 45 D1:BAEC 21 A8 EA D0 ld hl, FshCmdArg0 + 46 D1:BAF0 11 00 00 00 ld de, 0 + 47 D1:BAF4 5E - - - ld e, (hl) + 48 D1:BAF5 EB - - - ex de, hl + 49 D1:BAF6 E5 - - - push hl + 50 D1:BAF7 21 B1 EA D0 ld hl, FshCmdArg1 + 51 D1:BAFB 11 00 00 00 ld de, 0 + 52 D1:BAFF 5E - - - ld e, (hl) + 53 D1:BB00 E1 - - - pop hl + 54 D1:BB01 CD 89 B2 D1 call fshvarcpy + 55 D1:BB05 CD E6 B2 D1 call ErrCatch + 56 D1:BB09 C3 DB A8 D1 jp Fin + 57 D1:BB0D - - - - + 58 D1:BB0D 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00 + 59 D1:BB11 53 6F 75 72 63 65 3D 20 00 - - - fshcmdCOPYfDSource: .db "Source= ", 0 - 60 D1:BA7C 44 65 73 74 + 60 D1:BB1A 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdCOPYfDDestination: .db "Destination= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 4 D1:BA8A - - - - #include "includes/FshCommands/MOVE.asm" + 4 D1:BB28 - - - - #include "includes/FshCommands/MOVE.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\MOVE.asm" - 1 D1:BA8A 4D 4F 56 45 + 1 D1:BB28 4D 4F 56 45 00 - - - fshcmdMOVE: .db "MOVE", 0 - 2 D1:BA8F 03 - - - fshcmdMOVEo: .db $03 - 3 D1:BA90 4D 6F 76 65 + 2 D1:BB2D 03 - - - fshcmdMOVEo: .db $03 + 3 D1:BB2E 4D 6F 76 65 20 61 20 76 61 6C 75 65 20 69 6E 20 @@ -2857,7 +2981,7 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 72 20 61 64 64 65 73 73 00 - - - fshcmdMOVEm: .db "Move a value in FSH memory to another addess", 0 - 4 D1:BABD 4D 4F 56 45 + 4 D1:BB5B 4D 4F 56 45 20 3C 73 6F 75 72 63 65 20 61 64 64 @@ -2868,93 +2992,93 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 6F 6E 20 61 64 64 72 65 73 73 3E 00 fshcmdMOVEu: .db "MOVE ", 0 - 5 D1:BAE9 - - - - fshcmdMOVEf: - 6 D1:BAE9 - - - - fshcmdMOVEfArg0: - 7 D1:BAE9 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BAED CB 4E - - bit 1, (hl) - 9 D1:BAEF 20 31 - - jr nz, fshcmdMOVEfArg1 - 10 D1:BAF1 CB 46 - - bit 0, (hl) - 11 D1:BAF3 28 0C - - jr z, fshcmdMOVEfArg0Get - 12 D1:BAF5 21 4E B3 D1 ld hl, ErrUsageo - 13 D1:BAF9 CD B9 B2 D1 call ErrSet - 14 D1:BAFD CD 6C B2 D1 call ErrCatch - 15 D1:BB01 - - - - fshcmdMOVEfArg0Get: - 16 D1:BB01 21 89 BB D1 ld hl, fshcmdMOVEfDSource - 17 D1:BB05 CD 07 AB D1 call printprompt - 18 D1:BB09 21 85 BB D1 ld hl, fshcmdMOVEfInputBuffer - 19 D1:BB0D 11 03 00 00 ld de, 3 - 20 D1:BB11 CD 3D AF D1 call inputnumstr - 21 D1:BB15 CD E6 AB D1 call strtob - 22 D1:BB19 21 A8 EA D0 ld hl, FshCmdArg0 - 23 D1:BB1D 77 - - - ld (hl), a - 24 D1:BB1E CD F0 07 02 call _NewLine - 25 D1:BB22 - - - - fshcmdMOVEfArg1: - 26 D1:BB22 21 CD EA D0 ld hl, FshCmdArgFlags - 27 D1:BB26 CB 5E - - bit 3, (hl) - 28 D1:BB28 20 31 - - jr nz, fshcmdMOVEfExe - 29 D1:BB2A CB 56 - - bit 2, (hl) - 30 D1:BB2C 28 0C - - jr z, fshcmdMOVEfArg1Get - 31 D1:BB2E 21 4E B3 D1 ld hl, ErrUsageo - 32 D1:BB32 CD B9 B2 D1 call ErrSet - 33 D1:BB36 CD 6C B2 D1 call ErrCatch - 34 D1:BB3A - - - - fshcmdMOVEfArg1Get: - 35 D1:BB3A 21 92 BB D1 ld hl, fshcmdMOVEfDDestination - 36 D1:BB3E CD 07 AB D1 call printprompt - 37 D1:BB42 21 85 BB D1 ld hl, fshcmdMOVEfInputBuffer - 38 D1:BB46 11 03 00 00 ld de, 3 - 39 D1:BB4A CD 3D AF D1 call inputnumstr - 40 D1:BB4E CD E6 AB D1 call strtob - 41 D1:BB52 21 B1 EA D0 ld hl, FshCmdArg1 - 42 D1:BB56 77 - - - ld (hl), a - 43 D1:BB57 CD F0 07 02 call _NewLine - 44 D1:BB5B - - - - fshcmdMOVEfExe: - 45 D1:BB5B 21 A8 EA D0 ld hl, FshCmdArg0 - 46 D1:BB5F 11 00 00 00 ld de, 0 - 47 D1:BB63 5E - - - ld e, (hl) - 48 D1:BB64 EB - - - ex de, hl - 49 D1:BB65 E5 - - - push hl - 50 D1:BB66 21 B1 EA D0 ld hl, FshCmdArg1 - 51 D1:BB6A 11 00 00 00 ld de, 0 - 52 D1:BB6E 5E - - - ld e, (hl) - 53 D1:BB6F E1 - - - pop hl - 54 D1:BB70 CD 0F B2 D1 call fshvarcpy - 55 D1:BB74 EB - - - ex de, hl - 56 D1:BB75 21 00 00 00 ld hl, 0 - 57 D1:BB79 CD BC B1 D1 call fshvarset - 58 D1:BB7D CD 6C B2 D1 call ErrCatch - 59 D1:BB81 C3 E7 A8 D1 jp Fin - 60 D1:BB85 - - - - - 61 D1:BB85 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00 - 62 D1:BB89 53 6F 75 72 + 5 D1:BB87 - - - - fshcmdMOVEf: + 6 D1:BB87 - - - - fshcmdMOVEfArg0: + 7 D1:BB87 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BB8B CB 4E - - bit 1, (hl) + 9 D1:BB8D 20 31 - - jr nz, fshcmdMOVEfArg1 + 10 D1:BB8F CB 46 - - bit 0, (hl) + 11 D1:BB91 28 0C - - jr z, fshcmdMOVEfArg0Get + 12 D1:BB93 21 C8 B3 D1 ld hl, ErrUsageo + 13 D1:BB97 CD 33 B3 D1 call ErrSet + 14 D1:BB9B CD E6 B2 D1 call ErrCatch + 15 D1:BB9F - - - - fshcmdMOVEfArg0Get: + 16 D1:BB9F 21 27 BC D1 ld hl, fshcmdMOVEfDSource + 17 D1:BBA3 CD FB AA D1 call printprompt + 18 D1:BBA7 21 23 BC D1 ld hl, fshcmdMOVEfInputBuffer + 19 D1:BBAB 11 03 00 00 ld de, 3 + 20 D1:BBAF CD B7 AF D1 call inputnumstr + 21 D1:BBB3 CD 60 AC D1 call strtob + 22 D1:BBB7 21 A8 EA D0 ld hl, FshCmdArg0 + 23 D1:BBBB 77 - - - ld (hl), a + 24 D1:BBBC CD F0 07 02 call _NewLine + 25 D1:BBC0 - - - - fshcmdMOVEfArg1: + 26 D1:BBC0 21 CD EA D0 ld hl, FshCmdArgFlags + 27 D1:BBC4 CB 5E - - bit 3, (hl) + 28 D1:BBC6 20 31 - - jr nz, fshcmdMOVEfExe + 29 D1:BBC8 CB 56 - - bit 2, (hl) + 30 D1:BBCA 28 0C - - jr z, fshcmdMOVEfArg1Get + 31 D1:BBCC 21 C8 B3 D1 ld hl, ErrUsageo + 32 D1:BBD0 CD 33 B3 D1 call ErrSet + 33 D1:BBD4 CD E6 B2 D1 call ErrCatch + 34 D1:BBD8 - - - - fshcmdMOVEfArg1Get: + 35 D1:BBD8 21 30 BC D1 ld hl, fshcmdMOVEfDDestination + 36 D1:BBDC CD FB AA D1 call printprompt + 37 D1:BBE0 21 23 BC D1 ld hl, fshcmdMOVEfInputBuffer + 38 D1:BBE4 11 03 00 00 ld de, 3 + 39 D1:BBE8 CD B7 AF D1 call inputnumstr + 40 D1:BBEC CD 60 AC D1 call strtob + 41 D1:BBF0 21 B1 EA D0 ld hl, FshCmdArg1 + 42 D1:BBF4 77 - - - ld (hl), a + 43 D1:BBF5 CD F0 07 02 call _NewLine + 44 D1:BBF9 - - - - fshcmdMOVEfExe: + 45 D1:BBF9 21 A8 EA D0 ld hl, FshCmdArg0 + 46 D1:BBFD 11 00 00 00 ld de, 0 + 47 D1:BC01 5E - - - ld e, (hl) + 48 D1:BC02 EB - - - ex de, hl + 49 D1:BC03 E5 - - - push hl + 50 D1:BC04 21 B1 EA D0 ld hl, FshCmdArg1 + 51 D1:BC08 11 00 00 00 ld de, 0 + 52 D1:BC0C 5E - - - ld e, (hl) + 53 D1:BC0D E1 - - - pop hl + 54 D1:BC0E CD 89 B2 D1 call fshvarcpy + 55 D1:BC12 EB - - - ex de, hl + 56 D1:BC13 21 00 00 00 ld hl, 0 + 57 D1:BC17 CD 36 B2 D1 call fshvarset + 58 D1:BC1B CD E6 B2 D1 call ErrCatch + 59 D1:BC1F C3 DB A8 D1 jp Fin + 60 D1:BC23 - - - - + 61 D1:BC23 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00 + 62 D1:BC27 53 6F 75 72 63 65 3D 20 00 - - - fshcmdMOVEfDSource: .db "Source= ", 0 - 63 D1:BB92 44 65 73 74 + 63 D1:BC30 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdMOVEfDDestination: .db "Destination= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 5 D1:BBA0 - - - - #include "includes/FshCommands/CLS.asm" + 5 D1:BC3E - - - - #include "includes/FshCommands/CLS.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\CLS.asm" - 1 D1:BBA0 43 4C 53 00 fshcmdCLS: .db "CLS", 0 - 2 D1:BBA4 10 - - - fshcmdCLSo: .db $10 - 3 D1:BBA5 43 6C 65 61 + 1 D1:BC3E 43 4C 53 00 fshcmdCLS: .db "CLS", 0 + 2 D1:BC42 10 - - - fshcmdCLSo: .db $10 + 3 D1:BC43 43 6C 65 61 72 73 20 74 68 65 20 73 63 72 65 65 6E 00 - - fshcmdCLSm: .db "Clears the screen", 0 - 4 D1:BBB7 43 4C 53 00 fshcmdCLSu: .db "CLS", 0 - 5 D1:BBBB - - - - fshcmdCLSf: - 6 D1:BBBB CD 08 08 02 call _ClrLCDFull - 7 D1:BBBF AF - - - xor a - 8 D1:BBC0 32 95 05 D0 ld (CurRow), a - 9 D1:BBC4 32 96 05 D0 ld (CurCol), a - 10 D1:BBC8 C3 E7 A8 D1 jp Fin + 4 D1:BC55 43 4C 53 00 fshcmdCLSu: .db "CLS", 0 + 5 D1:BC59 - - - - fshcmdCLSf: + 6 D1:BC59 CD 08 08 02 call _ClrLCDFull + 7 D1:BC5D AF - - - xor a + 8 D1:BC5E 32 95 05 D0 ld (CurRow), a + 9 D1:BC62 32 96 05 D0 ld (CurCol), a + 10 D1:BC66 C3 DB A8 D1 jp Fin Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 6 D1:BBCC - - - - #include "includes/FshCommands/VAR.asm" + 6 D1:BC6A - - - - #include "includes/FshCommands/VAR.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\VAR.asm" - 1 D1:BBCC 56 41 52 00 fshcmdVAR: .db "VAR", 0 - 2 D1:BBD0 11 - - - fshcmdVARo: .db $11 - 3 D1:BBD1 44 69 73 70 + 1 D1:BC6A 56 41 52 00 fshcmdVAR: .db "VAR", 0 + 2 D1:BC6E 11 - - - fshcmdVARo: .db $11 + 3 D1:BC6F 44 69 73 70 6C 61 79 73 20 61 20 76 61 6C 75 65 @@ -2963,111 +3087,111 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 48 20 6D 65 6D 6F 72 79 00 - - - fshcmdVARm: .db "Displays a value from FSH memory", 0 - 4 D1:BBF2 56 41 52 20 + 4 D1:BC90 56 41 52 20 3C 73 6F 75 72 63 65 20 61 64 64 72 65 73 73 3E 00 - - - fshcmdVARu: .db "VAR ", 0 - 5 D1:BC07 - - - - fshcmdVARf: - 6 D1:BC07 - - - - fshcmdVARfArg0: - 7 D1:BC07 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BC0B CB 4E - - bit 1, (hl) - 9 D1:BC0D 20 34 - - jr nz, fshcmdVARfExe - 10 D1:BC0F CB 46 - - bit 0, (hl) - 11 D1:BC11 28 0C - - jr z, fshcmdVARfArg0Get - 12 D1:BC13 21 4E B3 D1 ld hl, ErrUsageo - 13 D1:BC17 CD B9 B2 D1 call ErrSet - 14 D1:BC1B CD 6C B2 D1 call ErrCatch - 15 D1:BC1F - - - - fshcmdVARfArg0Get: - 16 D1:BC1F 21 66 BC D1 ld hl, fshcmdVARfDIndex - 17 D1:BC23 CD 07 AB D1 call printprompt - 18 D1:BC27 21 62 BC D1 ld hl, fshcmdVARfInputBuffer - 19 D1:BC2B 11 03 00 00 ld de, 3 - 20 D1:BC2F CD 3D AF D1 call inputnumstr - 21 D1:BC33 CD 43 AC D1 call strtow - 22 D1:BC37 11 A8 EA D0 ld de, FshCmdArg0 - 23 D1:BC3B EB - - - ex de, hl - 24 D1:BC3C 73 - - - ld (hl), e - 25 D1:BC3D 23 - - - inc hl - 26 D1:BC3E 72 - - - ld (hl), d - 27 D1:BC3F CD F0 07 02 call _NewLine - 28 D1:BC43 - - - - fshcmdVARfExe: - 29 D1:BC43 21 A8 EA D0 ld hl, FshCmdArg0 - 30 D1:BC47 11 00 00 00 ld de, 0 - 31 D1:BC4B 5E - - - ld e, (hl) - 32 D1:BC4C 23 - - - inc hl - 33 D1:BC4D 56 - - - ld d, (hl) - 34 D1:BC4E CD E4 B1 D1 call fshvarget - 35 D1:BC52 CD 6C B2 D1 call ErrCatch - 36 D1:BC56 CD BC 07 02 call _DispHL_s - 37 D1:BC5A CD F0 07 02 call _NewLine - 38 D1:BC5E C3 E7 A8 D1 jp Fin - 39 D1:BC62 - - - - - 40 D1:BC62 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00 - 41 D1:BC66 49 6E 64 65 + 5 D1:BCA5 - - - - fshcmdVARf: + 6 D1:BCA5 - - - - fshcmdVARfArg0: + 7 D1:BCA5 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BCA9 CB 4E - - bit 1, (hl) + 9 D1:BCAB 20 34 - - jr nz, fshcmdVARfExe + 10 D1:BCAD CB 46 - - bit 0, (hl) + 11 D1:BCAF 28 0C - - jr z, fshcmdVARfArg0Get + 12 D1:BCB1 21 C8 B3 D1 ld hl, ErrUsageo + 13 D1:BCB5 CD 33 B3 D1 call ErrSet + 14 D1:BCB9 CD E6 B2 D1 call ErrCatch + 15 D1:BCBD - - - - fshcmdVARfArg0Get: + 16 D1:BCBD 21 04 BD D1 ld hl, fshcmdVARfDIndex + 17 D1:BCC1 CD FB AA D1 call printprompt + 18 D1:BCC5 21 00 BD D1 ld hl, fshcmdVARfInputBuffer + 19 D1:BCC9 11 03 00 00 ld de, 3 + 20 D1:BCCD CD B7 AF D1 call inputnumstr + 21 D1:BCD1 CD BD AC D1 call strtow + 22 D1:BCD5 11 A8 EA D0 ld de, FshCmdArg0 + 23 D1:BCD9 EB - - - ex de, hl + 24 D1:BCDA 73 - - - ld (hl), e + 25 D1:BCDB 23 - - - inc hl + 26 D1:BCDC 72 - - - ld (hl), d + 27 D1:BCDD CD F0 07 02 call _NewLine + 28 D1:BCE1 - - - - fshcmdVARfExe: + 29 D1:BCE1 21 A8 EA D0 ld hl, FshCmdArg0 + 30 D1:BCE5 11 00 00 00 ld de, 0 + 31 D1:BCE9 5E - - - ld e, (hl) + 32 D1:BCEA 23 - - - inc hl + 33 D1:BCEB 56 - - - ld d, (hl) + 34 D1:BCEC CD 5E B2 D1 call fshvarget + 35 D1:BCF0 CD E6 B2 D1 call ErrCatch + 36 D1:BCF4 CD BC 07 02 call _DispHL_s + 37 D1:BCF8 CD F0 07 02 call _NewLine + 38 D1:BCFC C3 DB A8 D1 jp Fin + 39 D1:BD00 - - - - + 40 D1:BD00 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00 + 41 D1:BD04 49 6E 64 65 78 3D 20 00 fshcmdVARfDIndex: .db "Index= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 7 D1:BC6E - - - - #include "includes/FshCommands/VARS.asm" + 7 D1:BD0C - - - - #include "includes/FshCommands/VARS.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\VARS.asm" - 1 D1:BC6E 56 41 52 53 + 1 D1:BD0C 56 41 52 53 00 - - - fshcmdVARS: .db "VARS", 0 - 2 D1:BC73 12 - - - fshcmdVARSo: .db $12 - 3 D1:BC74 44 69 73 70 + 2 D1:BD11 12 - - - fshcmdVARSo: .db $12 + 3 D1:BD12 44 69 73 70 6C 61 79 73 20 61 6C 6C 20 46 73 68 20 56 61 72 73 00 - - fshcmdVARSm: .db "Displays all Fsh Vars", 0 - 4 D1:BC8A 56 41 52 53 + 4 D1:BD28 56 41 52 53 00 - - - fshcmdVARSu: .db "VARS", 0 - 5 D1:BC8F - - - - fshcmdVARSf: - 6 D1:BC8F 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:BC93 CB 46 - - bit 0, (hl) - 8 D1:BC95 28 0C - - jr z, fshcmdVARSfExe - 9 D1:BC97 21 4E B3 D1 ld hl, ErrUsageo - 10 D1:BC9B CD B9 B2 D1 call ErrSet - 11 D1:BC9F CD 6C B2 D1 call ErrCatch - 12 D1:BCA3 - - - - fshcmdVARSfExe: - 13 D1:BCA3 06 00 - - ld b, 0 - 14 D1:BCA5 0E 00 - - ld c, 0 - 15 D1:BCA7 11 00 00 00 ld de, 0 - 16 D1:BCAB - - - - fshcmdVARSfLoop: - 17 D1:BCAB CD E4 B1 D1 call fshvarget - 18 D1:BCAF 7C - - - ld a, h - 19 D1:BCB0 CD B8 07 02 call _PutC - 20 D1:BCB4 7D - - - ld a, l - 21 D1:BCB5 CD B8 07 02 call _PutC - 22 D1:BCB9 79 - - - ld a, c - 23 D1:BCBA 0C - - - inc c - 24 D1:BCBB FE 07 - - cp 7 - 25 D1:BCBD 20 0E - - jr nz, fshcmdVARSfLoopU - 26 D1:BCBF E5 - - - push hl - 27 D1:BCC0 C5 - - - push bc - 28 D1:BCC1 D5 - - - push de - 29 D1:BCC2 CD F0 07 02 call _NewLine - 30 D1:BCC6 D1 - - - pop de - 31 D1:BCC7 C1 - - - pop bc - 32 D1:BCC8 E1 - - - pop hl - 33 D1:BCC9 0E 00 - - ld c, 0 - 34 D1:BCCB 18 06 - - jr fshcmdVARSfLoopEnd - 35 D1:BCCD - - - - fshcmdVARSfLoopU: - 36 D1:BCCD 3E 5F - - ld a, '_' - 37 D1:BCCF CD B8 07 02 call _PutC - 38 D1:BCD3 - - - - fshcmdVARSfLoopEnd: - 39 D1:BCD3 04 - - - inc b - 40 D1:BCD4 13 - - - inc de - 41 D1:BCD5 78 - - - ld a, b - 42 D1:BCD6 FE 40 - - cp FshVarsSize / 2 - 43 D1:BCD8 38 D1 - - jr c, fshcmdVARSfLoop - 44 D1:BCDA C3 E7 A8 D1 jp Fin + 5 D1:BD2D - - - - fshcmdVARSf: + 6 D1:BD2D 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:BD31 CB 46 - - bit 0, (hl) + 8 D1:BD33 28 0C - - jr z, fshcmdVARSfExe + 9 D1:BD35 21 C8 B3 D1 ld hl, ErrUsageo + 10 D1:BD39 CD 33 B3 D1 call ErrSet + 11 D1:BD3D CD E6 B2 D1 call ErrCatch + 12 D1:BD41 - - - - fshcmdVARSfExe: + 13 D1:BD41 06 00 - - ld b, 0 + 14 D1:BD43 0E 00 - - ld c, 0 + 15 D1:BD45 11 00 00 00 ld de, 0 + 16 D1:BD49 - - - - fshcmdVARSfLoop: + 17 D1:BD49 CD 5E B2 D1 call fshvarget + 18 D1:BD4D 7C - - - ld a, h + 19 D1:BD4E CD B8 07 02 call _PutC + 20 D1:BD52 7D - - - ld a, l + 21 D1:BD53 CD B8 07 02 call _PutC + 22 D1:BD57 79 - - - ld a, c + 23 D1:BD58 0C - - - inc c + 24 D1:BD59 FE 07 - - cp 7 + 25 D1:BD5B 20 0E - - jr nz, fshcmdVARSfLoopU + 26 D1:BD5D E5 - - - push hl + 27 D1:BD5E C5 - - - push bc + 28 D1:BD5F D5 - - - push de + 29 D1:BD60 CD F0 07 02 call _NewLine + 30 D1:BD64 D1 - - - pop de + 31 D1:BD65 C1 - - - pop bc + 32 D1:BD66 E1 - - - pop hl + 33 D1:BD67 0E 00 - - ld c, 0 + 34 D1:BD69 18 06 - - jr fshcmdVARSfLoopEnd + 35 D1:BD6B - - - - fshcmdVARSfLoopU: + 36 D1:BD6B 3E 5F - - ld a, '_' + 37 D1:BD6D CD B8 07 02 call _PutC + 38 D1:BD71 - - - - fshcmdVARSfLoopEnd: + 39 D1:BD71 04 - - - inc b + 40 D1:BD72 13 - - - inc de + 41 D1:BD73 78 - - - ld a, b + 42 D1:BD74 FE 40 - - cp FshVarsSize / 2 + 43 D1:BD76 38 D1 - - jr c, fshcmdVARSfLoop + 44 D1:BD78 C3 DB A8 D1 jp Fin Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 8 D1:BCDE - - - - #include "includes/FshCommands/SLEEP.asm" + 8 D1:BD7C - - - - #include "includes/FshCommands/SLEEP.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\SLEEP.asm" - 1 D1:BCDE 53 4C 45 45 + 1 D1:BD7C 53 4C 45 45 50 00 - - fshcmdSLEEP: .db "SLEEP", 0 - 2 D1:BCE4 16 - - - fshcmdSLEEPo: .db $16 - 3 D1:BCE5 50 75 74 73 + 2 D1:BD82 16 - - - fshcmdSLEEPo: .db $16 + 3 D1:BD83 50 75 74 73 20 74 68 65 20 63 61 6C 63 75 6C 61 @@ -3078,26 +3202,26 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 6F 64 65 20 28 41 50 44 29 00 - - fshcmdSLEEPm: .db "Puts the calculator into sleep mode (APD)", 0 - 4 D1:BD0F 53 4C 45 45 + 4 D1:BDAD 53 4C 45 45 50 00 - - fshcmdSLEEPu: .db "SLEEP", 0 - 5 D1:BD15 - - - - fshcmdSLEEPf: - 6 D1:BD15 F3 - - - di - 7 D1:BD16 CD 38 11 02 call _EnableAPD - 8 D1:BD1A 3E 01 - - ld a,1 - 9 D1:BD1C 21 90 05 D0 ld hl,apdSubTimer - 10 D1:BD20 77 - - - ld (hl),a - 11 D1:BD21 23 - - - inc hl - 12 D1:BD22 77 - - - ld (hl),a - 13 D1:BD23 FD CB 08 DE set apdRunning,(iy+apdFlags) - 14 D1:BD27 FB - - - ei - 15 D1:BD28 C3 E7 A8 D1 jp Fin + 5 D1:BDB3 - - - - fshcmdSLEEPf: + 6 D1:BDB3 F3 - - - di + 7 D1:BDB4 CD 38 11 02 call _EnableAPD + 8 D1:BDB8 3E 01 - - ld a,1 + 9 D1:BDBA 21 90 05 D0 ld hl,apdSubTimer + 10 D1:BDBE 77 - - - ld (hl),a + 11 D1:BDBF 23 - - - inc hl + 12 D1:BDC0 77 - - - ld (hl),a + 13 D1:BDC1 FD CB 08 DE set apdRunning,(iy+apdFlags) + 14 D1:BDC5 FB - - - ei + 15 D1:BDC6 C3 DB A8 D1 jp Fin Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 9 D1:BD2C - - - - #include "includes/FshCommands/INFO.asm" + 9 D1:BDCA - - - - #include "includes/FshCommands/INFO.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\INFO.asm" - 1 D1:BD2C 49 4E 46 4F + 1 D1:BDCA 49 4E 46 4F 00 - - - fshcmdINFO: .db "INFO", 0 - 2 D1:BD31 20 - - - fshcmdINFOo: .db $20 - 3 D1:BD32 44 69 73 70 + 2 D1:BDCF 20 - - - fshcmdINFOo: .db $20 + 3 D1:BDD0 44 69 73 70 6C 61 79 73 20 53 79 65 74 65 6D 20 @@ -3107,166 +3231,166 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 61 6E 64 20 53 74 61 74 73 00 - - fshcmdINFOm: .db "Displays Syetem Information and Stats", 0 - 4 D1:BD58 49 4E 46 4F + 4 D1:BDF6 49 4E 46 4F 00 - - - fshcmdINFOu: .db "INFO", 0 - 5 D1:BD5D - - - - fshcmdINFOf: - 6 D1:BD5D 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:BD61 CB 46 - - bit 0, (hl) - 8 D1:BD63 28 0C - - jr z, fshcmdINFOfExe - 9 D1:BD65 21 4E B3 D1 ld hl, ErrUsageo - 10 D1:BD69 CD B9 B2 D1 call ErrSet - 11 D1:BD6D CD 6C B2 D1 call ErrCatch - 12 D1:BD71 - - - - fshcmdINFOfExe: - 13 D1:BD71 CD 08 08 02 call _ClrLCDFull - 14 D1:BD75 AF - - - xor a - 15 D1:BD76 32 95 05 D0 ld (CurRow), a - 16 D1:BD7A 32 96 05 D0 ld (CurCol), a - 17 D1:BD7E - - - - - 18 D1:BD7E CD 9B B3 D1 call printfshnamelong - 19 D1:BD82 CD F0 07 02 call _NewLine - 20 D1:BD86 - - - - - 21 D1:BD86 21 12 A9 D1 ld hl, FshBy - 22 D1:BD8A CD C0 07 02 call _PutS - 23 D1:BD8E CD F0 07 02 call _NewLine - 24 D1:BD92 - - - - - 25 D1:BD92 21 1C A9 D1 ld hl, FshSite - 26 D1:BD96 CD C0 07 02 call _PutS - 27 D1:BD9A CD F0 07 02 call _NewLine - 28 D1:BD9E - - - - - 29 D1:BD9E CD F0 07 02 call _NewLine - 30 D1:BDA2 21 C6 BD D1 ld hl, fshcmdINFOfSPS1 - 31 D1:BDA6 CD C0 07 02 call _PutS - 32 D1:BDAA 3E 27 - - ld a, $27 - 33 D1:BDAC CD B8 07 02 call _PutC - 34 D1:BDB0 21 37 A9 D1 ld hl, PS1 - 35 D1:BDB4 CD C0 07 02 call _PutS - 36 D1:BDB8 3E 27 - - ld a, $27 - 37 D1:BDBA CD B8 07 02 call _PutC - 38 D1:BDBE CD F0 07 02 call _NewLine - 39 D1:BDC2 - - - - - 40 D1:BDC2 C3 E7 A8 D1 jp Fin - 41 D1:BDC6 - - - - - 42 D1:BDC6 50 53 31 CE + 5 D1:BDFB - - - - fshcmdINFOf: + 6 D1:BDFB 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:BDFF CB 46 - - bit 0, (hl) + 8 D1:BE01 28 0C - - jr z, fshcmdINFOfExe + 9 D1:BE03 21 C8 B3 D1 ld hl, ErrUsageo + 10 D1:BE07 CD 33 B3 D1 call ErrSet + 11 D1:BE0B CD E6 B2 D1 call ErrCatch + 12 D1:BE0F - - - - fshcmdINFOfExe: + 13 D1:BE0F CD 08 08 02 call _ClrLCDFull + 14 D1:BE13 AF - - - xor a + 15 D1:BE14 32 95 05 D0 ld (CurRow), a + 16 D1:BE18 32 96 05 D0 ld (CurCol), a + 17 D1:BE1C - - - - + 18 D1:BE1C CD 15 B4 D1 call printfshnamelong + 19 D1:BE20 CD F0 07 02 call _NewLine + 20 D1:BE24 - - - - + 21 D1:BE24 21 06 A9 D1 ld hl, FshBy + 22 D1:BE28 CD C0 07 02 call _PutS + 23 D1:BE2C CD F0 07 02 call _NewLine + 24 D1:BE30 - - - - + 25 D1:BE30 21 10 A9 D1 ld hl, FshSite + 26 D1:BE34 CD C0 07 02 call _PutS + 27 D1:BE38 CD F0 07 02 call _NewLine + 28 D1:BE3C - - - - + 29 D1:BE3C CD F0 07 02 call _NewLine + 30 D1:BE40 21 64 BE D1 ld hl, fshcmdINFOfSPS1 + 31 D1:BE44 CD C0 07 02 call _PutS + 32 D1:BE48 3E 27 - - ld a, $27 + 33 D1:BE4A CD B8 07 02 call _PutC + 34 D1:BE4E 21 2B A9 D1 ld hl, PS1 + 35 D1:BE52 CD C0 07 02 call _PutS + 36 D1:BE56 3E 27 - - ld a, $27 + 37 D1:BE58 CD B8 07 02 call _PutC + 38 D1:BE5C CD F0 07 02 call _NewLine + 39 D1:BE60 - - - - + 40 D1:BE60 C3 DB A8 D1 jp Fin + 41 D1:BE64 - - - - + 42 D1:BE64 50 53 31 CE CE CE 3A 00 fshcmdINFOfSPS1: .db "PS1", $CE, $CE, $CE, ":", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 10 D1:BDCE - - - - #include "includes/FshCommands/HELP.asm" + 10 D1:BE6C - - - - #include "includes/FshCommands/HELP.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\HELP.asm" - 1 D1:BDCE 48 45 4C 50 + 1 D1:BE6C 48 45 4C 50 00 - - - fshcmdHELP: .db "HELP", 0 - 2 D1:BDD3 21 - - - fshcmdHELPo: .db $21 - 3 D1:BDD4 44 69 73 70 + 2 D1:BE71 21 - - - fshcmdHELPo: .db $21 + 3 D1:BE72 44 69 73 70 6C 61 79 73 20 61 6C 6C 20 63 6F 6D 6D 61 6E 64 73 00 - - fshcmdHELPm: .db "Displays all commands", 0 - 4 D1:BDEA 48 45 4C 50 + 4 D1:BE88 48 45 4C 50 00 - - - fshcmdHELPu: .db "HELP", 0 - 5 D1:BDEF - - - - fshcmdHELPf: - 6 D1:BDEF 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:BDF3 CB 46 - - bit 0, (hl) - 8 D1:BDF5 28 0C - - jr z, fshcmdHELPfExe - 9 D1:BDF7 21 4E B3 D1 ld hl, ErrUsageo - 10 D1:BDFB CD B9 B2 D1 call ErrSet - 11 D1:BDFF CD 6C B2 D1 call ErrCatch - 12 D1:BE03 - - - - fshcmdHELPfExe: - 13 D1:BE03 21 C9 BE D1 ld hl, fshcmdHELPfLine1 - 14 D1:BE07 CD C0 07 02 call _PutS - 15 D1:BE0B CD F0 07 02 call _NewLine - 16 D1:BE0F - - - - - 17 D1:BE0F - - - - #macro fshcmdHELPmRow1(cmdXs) - 18 D1:BE0F xor a - 19 D1:BE0F ld (curCol), a - 20 D1:BE0F ld hl, cmdXs - 21 D1:BE0F call _PutS - 22 D1:BE0F call _NewLine - 23 D1:BE0F #endmacro - 24 D1:BE0F - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs) - 25 D1:BE0F xor a - 26 D1:BE0F ld (curCol), a - 27 D1:BE0F ld hl, cmdXs - 28 D1:BE0F call _PutS - 29 D1:BE0F ld a, 9 - 30 D1:BE0F ld (curcol), a - 31 D1:BE0F ld hl, cmdYs - 32 D1:BE0F call _PutS - 33 D1:BE0F call _NewLine - 34 D1:BE0F #endmacro - 35 D1:BE0F - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs) - 36 D1:BE0F xor a - 37 D1:BE0F ld (curCol), a - 38 D1:BE0F ld hl, cmdXs - 39 D1:BE0F call _PutS - 40 D1:BE0F ld a, 9 - 41 D1:BE0F ld (curcol), a - 42 D1:BE0F ld hl, cmdYs - 43 D1:BE0F call _PutS - 44 D1:BE0F ld a, 19 - 45 D1:BE0F ld (curcol), a - 46 D1:BE0F ld hl, cmdZs - 47 D1:BE0F call _PutS - 48 D1:BE0F call _NewLine - 49 D1:BE0F #endmacro - 50 D1:BE0F - - - - - 51 D1:BE0F AF 32 96 05 - D0 21 6C B8 + 5 D1:BE8D - - - - fshcmdHELPf: + 6 D1:BE8D 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:BE91 CB 46 - - bit 0, (hl) + 8 D1:BE93 28 0C - - jr z, fshcmdHELPfExe + 9 D1:BE95 21 C8 B3 D1 ld hl, ErrUsageo + 10 D1:BE99 CD 33 B3 D1 call ErrSet + 11 D1:BE9D CD E6 B2 D1 call ErrCatch + 12 D1:BEA1 - - - - fshcmdHELPfExe: + 13 D1:BEA1 21 67 BF D1 ld hl, fshcmdHELPfLine1 + 14 D1:BEA5 CD C0 07 02 call _PutS + 15 D1:BEA9 CD F0 07 02 call _NewLine + 16 D1:BEAD - - - - + 17 D1:BEAD - - - - #macro fshcmdHELPmRow1(cmdXs) + 18 D1:BEAD xor a + 19 D1:BEAD ld (curCol), a + 20 D1:BEAD ld hl, cmdXs + 21 D1:BEAD call _PutS + 22 D1:BEAD call _NewLine + 23 D1:BEAD #endmacro + 24 D1:BEAD - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs) + 25 D1:BEAD xor a + 26 D1:BEAD ld (curCol), a + 27 D1:BEAD ld hl, cmdXs + 28 D1:BEAD call _PutS + 29 D1:BEAD ld a, 9 + 30 D1:BEAD ld (curcol), a + 31 D1:BEAD ld hl, cmdYs + 32 D1:BEAD call _PutS + 33 D1:BEAD call _NewLine + 34 D1:BEAD #endmacro + 35 D1:BEAD - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs) + 36 D1:BEAD xor a + 37 D1:BEAD ld (curCol), a + 38 D1:BEAD ld hl, cmdXs + 39 D1:BEAD call _PutS + 40 D1:BEAD ld a, 9 + 41 D1:BEAD ld (curcol), a + 42 D1:BEAD ld hl, cmdYs + 43 D1:BEAD call _PutS + 44 D1:BEAD ld a, 19 + 45 D1:BEAD ld (curcol), a + 46 D1:BEAD ld hl, cmdZs + 47 D1:BEAD call _PutS + 48 D1:BEAD call _NewLine + 49 D1:BEAD #endmacro + 50 D1:BEAD - - - - + 51 D1:BEAD AF 32 96 05 + D0 21 0A B9 D1 CD C0 07 02 3E 09 32 96 05 D0 21 - 85 B8 D1 CD + 23 B9 D1 CD C0 07 02 3E 13 32 96 05 - D0 21 7C B9 + D0 21 1A BA D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdEXIT, fshcmdSET, fshcmdCOPY) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\HELP.asm" - 52 D1:BE3C AF 32 96 05 - D0 21 8A BA + 52 D1:BEDA AF 32 96 05 + D0 21 28 BB D1 CD C0 07 02 3E 09 32 96 05 D0 21 - A0 BB D1 CD + 3E BC D1 CD C0 07 02 3E 13 32 96 05 - D0 21 CC BB + D0 21 6A BC D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdMOVE, fshcmdCLS, fshcmdVAR) - 53 D1:BE69 AF 32 96 05 - D0 21 6E BC + 53 D1:BF07 AF 32 96 05 + D0 21 0C BD D1 CD C0 07 02 3E 09 32 96 05 D0 21 - DE BC D1 CD + 7C BD D1 CD C0 07 02 3E 13 32 96 05 - D0 21 2C BD + D0 21 CA BD D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdVARS, fshcmdSLEEP, fshcmdINFO) - 54 D1:BE96 AF 32 96 05 - D0 21 CE BD + 54 D1:BF34 AF 32 96 05 + D0 21 6C BE D1 CD C0 07 02 3E 09 32 96 05 D0 21 - 02 BF D1 CD + A0 BF D1 CD C0 07 02 CD F0 07 02 - fshcmdHELPmRow2(fshcmdHELP, fshcmdMAN) - 55 D1:BEB5 - - - - ; Extention Point - 56 D1:BEB5 - - - - - 57 D1:BEB5 CD F0 07 02 call _NewLine - 58 D1:BEB9 21 DD BE D1 ld hl, fshcmdHELPfLine2 - 59 D1:BEBD CD C0 07 02 call _PutS - 60 D1:BEC1 CD F0 07 02 call _NewLine - 61 D1:BEC5 C3 E7 A8 D1 jp Fin - 62 D1:BEC9 - - - - - 63 D1:BEC9 41 76 61 69 + 55 D1:BF53 - - - - ; Extention Point + 56 D1:BF53 - - - - + 57 D1:BF53 CD F0 07 02 call _NewLine + 58 D1:BF57 21 7B BF D1 ld hl, fshcmdHELPfLine2 + 59 D1:BF5B CD C0 07 02 call _PutS + 60 D1:BF5F CD F0 07 02 call _NewLine + 61 D1:BF63 C3 DB A8 D1 jp Fin + 62 D1:BF67 - - - - + 63 D1:BF67 41 76 61 69 6C 61 62 6C 65 20 43 6F 6D 6D 61 6E 64 73 3A 00 fshcmdHELPfLine1: .db "Available Commands:", 0 - 64 D1:BEDD 54 79 70 65 + 64 D1:BF7B 54 79 70 65 20 27 4D 41 4E 27 20 61 6E 64 20 63 @@ -3277,11 +3401,11 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 69 6E 66 6F 00 - - - fshcmdHELPfLine2: .db "Type 'MAN' and command for more info", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 11 D1:BF02 - - - - #include "includes/FshCommands/MAN.asm" + 11 D1:BFA0 - - - - #include "includes/FshCommands/MAN.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\MAN.asm" - 1 D1:BF02 4D 41 4E 00 fshcmdMAN: .db "MAN", 0 - 2 D1:BF06 22 - - - fshcmdMANo: .db $22 - 3 D1:BF07 44 69 73 70 + 1 D1:BFA0 4D 41 4E 00 fshcmdMAN: .db "MAN", 0 + 2 D1:BFA4 22 - - - fshcmdMANo: .db $22 + 3 D1:BFA5 44 69 73 70 6C 61 79 73 20 4D 41 4E 20 74 65 78 @@ -3289,216 +3413,254 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Fs 72 20 63 6F 6D 6D 61 6E 64 00 - - fshcmdMANm: .db "Displays MAN text for command", 0 - 4 D1:BF25 4D 41 4E 20 + 4 D1:BFC3 4D 41 4E 20 3C 63 6F 6D 6D 61 6E 64 3E 00 - - fshcmdMANu: .db "MAN ", 0 - 5 D1:BF33 - - - - fshcmdMANf: - 6 D1:BF33 - - - - fshcmdMANfCheckArgs: - 7 D1:BF33 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BF37 CB 46 - - bit 0, (hl) - 9 D1:BF39 28 10 - - jr z, fshcmdMANfArg0Get - 10 D1:BF3B CB 4E - - bit 1, (hl) - 11 D1:BF3D 28 24 - - jr z, fshcmdMANfExe - 12 D1:BF3F 21 4E B3 D1 ld hl, ErrUsageo - 13 D1:BF43 CD B9 B2 D1 call ErrSet - 14 D1:BF47 CD 6C B2 D1 call ErrCatch - 15 D1:BF4B - - - - fshcmdMANfArg0Get: - 16 D1:BF4B 21 E0 BF D1 ld hl, fshcmdMANfPrompt - 17 D1:BF4F CD 07 AB D1 call printprompt - 18 D1:BF53 - - - - - 19 D1:BF53 21 A8 EA D0 ld hl, FshCmdArg0 - 20 D1:BF57 11 08 00 00 ld de, FshCmdCmdSize - 21 D1:BF5B CD 05 AD D1 call inputstr - 22 D1:BF5F CD F0 07 02 call _NewLine - 23 D1:BF63 - - - - - 24 D1:BF63 - - - - fshcmdMANfExe: - 25 D1:BF63 21 A8 EA D0 ld hl, FshCmdArg0 - 26 D1:BF67 11 9F EA D0 ld de, FshCmd - 27 D1:BF6B CD CC AB D1 call strcpy - 28 D1:BF6F - - - - - 29 D1:BF6F 21 CF BF D1 ld hl, fshcmdMANfPrefix - 30 D1:BF73 CD C0 07 02 call _PutS - 31 D1:BF77 - - - - - 32 D1:BF77 21 9F EA D0 ld hl, FshCmd - 33 D1:BF7B CD C0 07 02 call _PutS - 34 D1:BF7F CD F0 07 02 call _NewLine - 35 D1:BF83 CD F0 07 02 call _NewLine - 36 D1:BF87 - - - - - 37 D1:BF87 21 9F EA D0 ld hl, FshCmd - 38 D1:BF8B CD 51 B5 D1 call manroute - 39 D1:BF8F 11 00 00 00 ld de, $00 - 40 D1:BF93 CD 79 A9 D1 call cpHLDE - 41 D1:BF97 CA EB A8 D1 jp z, Err - 42 D1:BF9B - - - - - 43 D1:BF9B CD C0 07 02 call _PutS - 44 D1:BF9F CD F0 07 02 call _NewLine - 45 D1:BFA3 CD F0 07 02 call _NewLine - 46 D1:BFA7 - - - - - 47 D1:BFA7 21 D8 BF D1 ld hl, fshcmdMANfUsage - 48 D1:BFAB CD C0 07 02 call _PutS - 49 D1:BFAF - - - - - 50 D1:BFAF 21 9F EA D0 ld hl, FshCmd - 51 D1:BFB3 CD 67 B5 D1 call manrouteu - 52 D1:BFB7 11 00 00 00 ld de, $00 - 53 D1:BFBB CD 79 A9 D1 call cpHLDE - 54 D1:BFBF CA EB A8 D1 jp z, Err - 55 D1:BFC3 CD C0 07 02 call _PutS - 56 D1:BFC7 CD F0 07 02 call _NewLine - 57 D1:BFCB - - - - - 58 D1:BFCB C3 E7 A8 D1 jp Fin - 59 D1:BFCF - - - - - 60 D1:BFCF 4D 41 4E 2D + 5 D1:BFD1 - - - - fshcmdMANf: + 6 D1:BFD1 - - - - fshcmdMANfCheckArgs: + 7 D1:BFD1 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BFD5 CB 46 - - bit 0, (hl) + 9 D1:BFD7 28 10 - - jr z, fshcmdMANfArg0Get + 10 D1:BFD9 CB 4E - - bit 1, (hl) + 11 D1:BFDB 28 24 - - jr z, fshcmdMANfExe + 12 D1:BFDD 21 C8 B3 D1 ld hl, ErrUsageo + 13 D1:BFE1 CD 33 B3 D1 call ErrSet + 14 D1:BFE5 CD E6 B2 D1 call ErrCatch + 15 D1:BFE9 - - - - fshcmdMANfArg0Get: + 16 D1:BFE9 21 7E C0 D1 ld hl, fshcmdMANfPrompt + 17 D1:BFED CD FB AA D1 call printprompt + 18 D1:BFF1 - - - - + 19 D1:BFF1 21 A8 EA D0 ld hl, FshCmdArg0 + 20 D1:BFF5 11 08 00 00 ld de, FshCmdCmdSize + 21 D1:BFF9 CD 7F AD D1 call inputstr + 22 D1:BFFD CD F0 07 02 call _NewLine + 23 D1:C001 - - - - + 24 D1:C001 - - - - fshcmdMANfExe: + 25 D1:C001 21 A8 EA D0 ld hl, FshCmdArg0 + 26 D1:C005 11 9F EA D0 ld de, FshCmd + 27 D1:C009 CD 46 AC D1 call strcpy + 28 D1:C00D - - - - + 29 D1:C00D 21 6D C0 D1 ld hl, fshcmdMANfPrefix + 30 D1:C011 CD C0 07 02 call _PutS + 31 D1:C015 - - - - + 32 D1:C015 21 9F EA D0 ld hl, FshCmd + 33 D1:C019 CD C0 07 02 call _PutS + 34 D1:C01D CD F0 07 02 call _NewLine + 35 D1:C021 CD F0 07 02 call _NewLine + 36 D1:C025 - - - - + 37 D1:C025 21 9F EA D0 ld hl, FshCmd + 38 D1:C029 CD EF B5 D1 call manroute + 39 D1:C02D 11 00 00 00 ld de, $00 + 40 D1:C031 CD 6D A9 D1 call cpHLDE + 41 D1:C035 CA DF A8 D1 jp z, Err + 42 D1:C039 - - - - + 43 D1:C039 CD C0 07 02 call _PutS + 44 D1:C03D CD F0 07 02 call _NewLine + 45 D1:C041 CD F0 07 02 call _NewLine + 46 D1:C045 - - - - + 47 D1:C045 21 76 C0 D1 ld hl, fshcmdMANfUsage + 48 D1:C049 CD C0 07 02 call _PutS + 49 D1:C04D - - - - + 50 D1:C04D 21 9F EA D0 ld hl, FshCmd + 51 D1:C051 CD 05 B6 D1 call manrouteu + 52 D1:C055 11 00 00 00 ld de, $00 + 53 D1:C059 CD 6D A9 D1 call cpHLDE + 54 D1:C05D CA DF A8 D1 jp z, Err + 55 D1:C061 CD C0 07 02 call _PutS + 56 D1:C065 CD F0 07 02 call _NewLine + 57 D1:C069 - - - - + 58 D1:C069 C3 DB A8 D1 jp Fin + 59 D1:C06D - - - - + 60 D1:C06D 4D 41 4E 2D 44 42 DF 20 00 - - - fshcmdMANfPrefix: .db "MAN-DB", $DF, ' ', 0 - 61 D1:BFD8 55 73 61 67 + 61 D1:C076 55 73 61 67 65 3A 20 00 fshcmdMANfUsage: .db "Usage: ",0 - 62 D1:BFE0 43 6F 6D 6D + 62 D1:C07E 43 6F 6D 6D 61 6E 64 3D 20 00 - - fshcmdMANfPrompt: .db "Command= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Command.asm" - 31 D1:BFEA - - - - #include "includes/CryptoCommands/CryptoCommand.asm" + 31 D1:C088 - - - - #include "includes/CryptoCommands/CryptoCommand.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm" - 1 D1:BFEA - - - - cryptocmddecode: - 2 D1:BFEA E5 D5 11 94 - C1 D1 CD B9 - AB D1 21 9C - C1 D1 D1 CC - 49 AA D1 E1 decodecmdopt(cryptocmdENCRYPT, cryptocmdENCRYPTo) + 1 D1:C088 - - - - cryptocmddecode: + 2 D1:C088 E5 D5 11 C2 + C2 D1 CD 33 + AC D1 21 CA + C2 D1 D1 CC + 3D AA D1 E1 decodecmdopt(cryptocmdENCRYPT, cryptocmdENCRYPTo) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm" - 3 D1:BFFE E5 D5 11 0B - C4 D1 CD B9 - AB D1 21 13 - C4 D1 D1 CC - 49 AA D1 E1 decodecmdopt(cryptocmdDECRYPT, cryptocmdDECRYPTo) - 4 D1:C012 C9 - - - ret - 5 D1:C013 - - - - - 6 D1:C013 - - - - cryptocmdroute: - 7 D1:C013 C1 - - - pop bc - 8 D1:C014 11 9C C1 D1 - CD 41 AA D1 - CA 0B C2 D1 routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf) - 9 D1:C020 11 13 C4 D1 - CD 41 AA D1 - CA 82 C4 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) - 10 D1:C02C C5 - - - push bc - 11 D1:C02D C9 - - - ret - 12 D1:C02E - - - - - 13 D1:C02E - - - - cryptocmdmanroute: - 14 D1:C02E C1 - - - pop bc - 15 D1:C02F E5 11 94 C1 - D1 CD B9 AB + 3 D1:C09C E5 D5 11 48 + C6 D1 CD 33 + AC D1 21 50 + C6 D1 D1 CC + 3D AA D1 E1 decodecmdopt(cryptocmdDECRYPT, cryptocmdDECRYPTo) + 4 D1:C0B0 C9 - - - ret + 5 D1:C0B1 - - - - + 6 D1:C0B1 - - - - cryptocmdroute: + 7 D1:C0B1 C1 - - - pop bc + 8 D1:C0B2 11 CA C2 D1 + CD 35 AA D1 + CA 39 C3 D1 routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf) + 9 D1:C0BE 11 50 C6 D1 + CD 35 AA D1 + CA BF C6 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) + 10 D1:C0CA C5 - - - push bc + 11 D1:C0CB C9 - - - ret + 12 D1:C0CC - - - - + 13 D1:C0CC - - - - cryptocmdmanroute: + 14 D1:C0CC C1 - - - pop bc + 15 D1:C0CD E5 11 C2 C2 + D1 CD 33 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 84 C2 D1 CD - B9 AB D1 E1 - 11 88 C2 D1 - CA 64 B5 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTm) - 16 D1:C053 E5 11 0B C4 - D1 CD B9 AB + C2 C3 D1 CD + 33 AC D1 E1 + 11 C6 C3 D1 + CA 02 B6 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTm) + 16 D1:C0F1 E5 11 48 C6 + D1 CD 33 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - FB C4 D1 CD - B9 AB D1 E1 - 11 FF C4 D1 - CA 64 B5 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTm) - 17 D1:C077 - - - - - 18 D1:C077 E5 11 94 C1 - D1 CD B9 AB + 48 C7 D1 CD + 33 AC D1 E1 + 11 4C C7 D1 + CA 02 B6 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTm) + 17 D1:C115 - - - - + 18 D1:C115 E5 11 C2 C2 + D1 CD 33 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 88 C3 D1 CD - B9 AB D1 E1 - 11 8D C3 D1 - CA 64 B5 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm) - 19 D1:C09B E5 11 0B C4 - D1 CD B9 AB + C6 C4 D1 CD + 33 AC D1 E1 + 11 CA C4 D1 + CA 02 B6 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORm) + 19 D1:C139 E5 11 48 C6 + D1 CD 33 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 88 C3 D1 CD - B9 AB D1 E1 - 11 8D C3 D1 - CA 64 B5 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPm) - 20 D1:C0BF - - - - - 21 D1:C0BF 11 94 C1 D1 - CD B9 AB D1 - 11 9D C1 D1 - CA 64 B5 D1 routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm) - 22 D1:C0CF 11 0B C4 D1 - CD B9 AB D1 - 11 14 C4 D1 - CA 64 B5 D1 routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm) - 23 D1:C0DF - - - - - 24 D1:C0DF C5 - - - push bc - 25 D1:C0E0 C9 - - - ret - 26 D1:C0E1 - - - - - 27 D1:C0E1 - - - - - 28 D1:C0E1 - - - - cryptocmdmanrouteu: - 29 D1:C0E1 C1 - - - pop bc - 30 D1:C0E2 E5 11 94 C1 - D1 CD B9 AB + 4F C8 D1 CD + 33 AC D1 E1 + 11 53 C8 D1 + CA 02 B6 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORm) + 20 D1:C15D - - - - + 21 D1:C15D E5 11 C2 C2 + D1 CD 33 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 84 C2 D1 CD - B9 AB D1 E1 - 11 BF C2 D1 - CA 7A B5 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTu) - 31 D1:C106 E5 11 0B C4 - D1 CD B9 AB + C5 C5 D1 CD + 33 AC D1 E1 + 11 CA C5 D1 + CA 02 B6 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm) + 22 D1:C181 E5 11 48 C6 + D1 CD 33 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - FB C4 D1 CD - B9 AB D1 E1 - 11 36 C5 D1 - CA 7A B5 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTu) - 32 D1:C12A - - - - - 33 D1:C12A E5 11 94 C1 - D1 CD B9 AB + C5 C5 D1 CD + 33 AC D1 E1 + 11 CA C5 D1 + CA 02 B6 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPm) + 23 D1:C1A5 - - - - + 24 D1:C1A5 11 C2 C2 D1 + CD 33 AC D1 + 11 CB C2 D1 + CA 02 B6 D1 routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm) + 25 D1:C1B5 11 48 C6 D1 + CD 33 AC D1 + 11 51 C6 D1 + CA 02 B6 D1 routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm) + 26 D1:C1C5 - - - - + 27 D1:C1C5 C5 - - - push bc + 28 D1:C1C6 C9 - - - ret + 29 D1:C1C7 - - - - + 30 D1:C1C7 - - - - + 31 D1:C1C7 - - - - cryptocmdmanrouteu: + 32 D1:C1C7 C1 - - - pop bc + 33 D1:C1C8 E5 11 C2 C2 + D1 CD 33 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 88 C3 D1 CD - B9 AB D1 E1 - 11 9E C3 D1 - CA 7A B5 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu) - 34 D1:C14E E5 11 0B C4 - D1 CD B9 AB + C2 C3 D1 CD + 33 AC D1 E1 + 11 FD C3 D1 + CA 18 B6 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTu) + 34 D1:C1EC E5 11 48 C6 + D1 CD 33 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 88 C3 D1 CD - B9 AB D1 E1 - 11 9E C3 D1 - CA 7A B5 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPu) - 35 D1:C172 - - - - - 36 D1:C172 11 94 C1 D1 - CD B9 AB D1 - 11 E6 C1 D1 - CA 7A B5 D1 routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu) - 37 D1:C182 11 0B C4 D1 - CD B9 AB D1 - 11 5D C4 D1 - CA 7A B5 D1 routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu) - 38 D1:C192 - - - - - 39 D1:C192 C5 - - - push bc - 40 D1:C193 C9 - - - ret - 41 D1:C194 - - - - - 42 D1:C194 - - - - #include "includes/CryptoCommands/CryptoCommands.inc" + 48 C7 D1 CD + 33 AC D1 E1 + 11 83 C7 D1 + CA 18 B6 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTu) + 35 D1:C210 - - - - + 36 D1:C210 E5 11 C2 C2 + D1 CD 33 AC + D1 21 00 00 + 00 20 04 21 + B1 EA D0 11 + C6 C4 D1 CD + 33 AC D1 E1 + 11 EC C4 D1 + CA 18 B6 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORu) + 37 D1:C234 E5 11 48 C6 + D1 CD 33 AC + D1 21 00 00 + 00 20 04 21 + B1 EA D0 11 + 4F C8 D1 CD + 33 AC D1 E1 + 11 75 C8 D1 + CA 18 B6 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu) + 38 D1:C258 - - - - + 39 D1:C258 E5 11 C2 C2 + D1 CD 33 AC + D1 21 00 00 + 00 20 04 21 + B1 EA D0 11 + C5 C5 D1 CD + 33 AC D1 E1 + 11 DB C5 D1 + CA 18 B6 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu) + 40 D1:C27C E5 11 48 C6 + D1 CD 33 AC + D1 21 00 00 + 00 20 04 21 + B1 EA D0 11 + C5 C5 D1 CD + 33 AC D1 E1 + 11 DB C5 D1 + CA 18 B6 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPu) + 41 D1:C2A0 - - - - + 42 D1:C2A0 11 C2 C2 D1 + CD 33 AC D1 + 11 14 C3 D1 + CA 18 B6 D1 routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu) + 43 D1:C2B0 11 48 C6 D1 + CD 33 AC D1 + 11 9A C6 D1 + CA 18 B6 D1 routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu) + 44 D1:C2C0 - - - - + 45 D1:C2C0 C5 - - - push bc + 46 D1:C2C1 C9 - - - ret + 47 D1:C2C2 - - - - + 48 D1:C2C2 - - - - #include "includes/CryptoCommands/CryptoCommands.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" - 1 D1:C194 - - - - #include "includes/CryptoCommands/ENCRYPT.asm" + 1 D1:C2C2 - - - - #include "includes/CryptoCommands/ENCRYPT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ENCRYPT.asm" - 1 D1:C194 45 4E 43 52 + 1 D1:C2C2 45 4E 43 52 59 50 54 00 cryptocmdENCRYPT: .db "ENCRYPT", 0 - 2 D1:C19C 40 - - - cryptocmdENCRYPTo: .db $40 - 3 D1:C19D 45 6E 63 72 + 2 D1:C2CA 40 - - - cryptocmdENCRYPTo: .db $40 + 3 D1:C2CB 45 6E 63 72 79 70 74 73 20 61 20 73 74 72 69 6E @@ -3517,7 +3679,7 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Cr 20 63 79 70 68 65 72 73 00 - - - cryptocmdENCRYPTm: .db "Encrypts a string using a cypher. see 'ENCRYPT HELP' for info on cyphers", 0 - 4 D1:C1E6 45 4E 43 52 + 4 D1:C314 45 4E 43 52 59 50 54 20 3C 43 72 79 70 74 20 43 @@ -3527,60 +3689,64 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Cr 70 74 20 41 72 67 73 3E 00 - - - cryptocmdENCRYPTu: .db "ENCRYPT ", 0 - 5 D1:C20B - - - - cryptocmdENCRYPTf: - 6 D1:C20B - - - - cryptocmdENCRYPTfArg0: - 7 D1:C20B 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:C20F CB 46 - - bit 0, (hl) - 9 D1:C211 28 10 - - jr z, cryptocmdENCRYPTfArg0Get - 10 D1:C213 CB 4E - - bit 1, (hl) - 11 D1:C215 28 24 - - jr z, cryptocmdENCRYPTfExe - 12 D1:C217 21 4E B3 D1 ld hl, ErrUsageo - 13 D1:C21B CD B9 B2 D1 call ErrSet - 14 D1:C21F CD 6C B2 D1 call ErrCatch - 15 D1:C223 - - - - cryptocmdENCRYPTfArg0Get: - 16 D1:C223 21 7B C2 D1 ld hl, cryptocmdENCRYPTfSCypher - 17 D1:C227 CD 07 AB D1 call printprompt - 18 D1:C22B 21 A8 EA D0 ld hl, FshCmdArg0 - 19 D1:C22F 11 2C 00 00 ld de, FshCmdInptSize - 20 D1:C233 CD 05 AD D1 call inputstr - 21 D1:C237 CD F0 07 02 call _NewLine - 22 D1:C23B - - - - cryptocmdENCRYPTfExe: - 23 D1:C23B - - - - - 24 D1:C23B - - - - #macro cryptocmdENCRYPTcmpjp(cmdX, cmdXf) - 25 D1:C23B ld hl, FshCmdArg0 - 26 D1:C23B ld de, CmdX - 27 D1:C23B call strcmp - 28 D1:C23B jp z, cmdXf - 29 D1:C23B #endmacro - 30 D1:C23B - - - - - 31 D1:C23B 21 A8 EA D0 - 11 84 C2 D1 - CD B9 AB D1 - CA D4 C2 D1 cryptocmdENCRYPTcmpjp(cryptocmdROT, cryptocmdROTf) + 5 D1:C339 - - - - cryptocmdENCRYPTf: + 6 D1:C339 - - - - cryptocmdENCRYPTfArg0: + 7 D1:C339 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:C33D CB 46 - - bit 0, (hl) + 9 D1:C33F 28 10 - - jr z, cryptocmdENCRYPTfArg0Get + 10 D1:C341 CB 4E - - bit 1, (hl) + 11 D1:C343 28 24 - - jr z, cryptocmdENCRYPTfExe + 12 D1:C345 21 C8 B3 D1 ld hl, ErrUsageo + 13 D1:C349 CD 33 B3 D1 call ErrSet + 14 D1:C34D CD E6 B2 D1 call ErrCatch + 15 D1:C351 - - - - cryptocmdENCRYPTfArg0Get: + 16 D1:C351 21 B9 C3 D1 ld hl, cryptocmdENCRYPTfSCypher + 17 D1:C355 CD FB AA D1 call printprompt + 18 D1:C359 21 A8 EA D0 ld hl, FshCmdArg0 + 19 D1:C35D 11 2C 00 00 ld de, FshCmdInptSize + 20 D1:C361 CD 7F AD D1 call inputstr + 21 D1:C365 CD F0 07 02 call _NewLine + 22 D1:C369 - - - - cryptocmdENCRYPTfExe: + 23 D1:C369 - - - - + 24 D1:C369 - - - - #macro cryptocmdENCRYPTcmpjp(cmdX, cmdXf) + 25 D1:C369 ld hl, FshCmdArg0 + 26 D1:C369 ld de, CmdX + 27 D1:C369 call strcmp + 28 D1:C369 jp z, cmdXf + 29 D1:C369 #endmacro + 30 D1:C369 - - - - + 31 D1:C369 21 A8 EA D0 + 11 C2 C3 D1 + CD 33 AC D1 + CA 12 C4 D1 cryptocmdENCRYPTcmpjp(cryptocmdROT, cryptocmdROTf) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ENCRYPT.asm" - 32 D1:C24B 21 A8 EA D0 - 11 88 C3 D1 - CD B9 AB D1 - CA AB C3 D1 cryptocmdENCRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) - 33 D1:C25B - - - - - 34 D1:C25B 21 A8 EA D0 ld hl, FshCmdArg0 - 35 D1:C25F 11 9F EA D0 ld de, FshCmd - 36 D1:C263 CD CC AB D1 call strcpy - 37 D1:C267 - - - - - 38 D1:C267 21 C8 B2 D1 ld hl, ErrCmdNotFoundo - 39 D1:C26B 11 CE EA D0 ld de, FshCmdErrCode - 40 D1:C26F CD 49 AA D1 call bytecpy - 41 D1:C273 CD B9 B2 D1 call ErrSet - 42 D1:C277 C3 EB A8 D1 jp Err - 43 D1:C27B - - - - - 44 D1:C27B 43 79 70 68 + 32 D1:C379 21 A8 EA D0 + 11 C6 C4 D1 + CD 33 AC D1 + CA 08 C5 D1 cryptocmdENCRYPTcmpjp(cryptocmdXOR, cryptocmdXORf) + 33 D1:C389 21 A8 EA D0 + 11 C5 C5 D1 + CD 33 AC D1 + CA E8 C5 D1 cryptocmdENCRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) + 34 D1:C399 - - - - + 35 D1:C399 21 A8 EA D0 ld hl, FshCmdArg0 + 36 D1:C39D 11 9F EA D0 ld de, FshCmd + 37 D1:C3A1 CD 46 AC D1 call strcpy + 38 D1:C3A5 - - - - + 39 D1:C3A5 21 42 B3 D1 ld hl, ErrCmdNotFoundo + 40 D1:C3A9 11 CE EA D0 ld de, FshCmdErrCode + 41 D1:C3AD CD 3D AA D1 call bytecpy + 42 D1:C3B1 CD 33 B3 D1 call ErrSet + 43 D1:C3B5 C3 DF A8 D1 jp Err + 44 D1:C3B9 - - - - + 45 D1:C3B9 43 79 70 68 65 72 3D 20 00 - - - cryptocmdENCRYPTfSCypher: .db "Cypher= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" - 2 D1:C284 - - - - #include "includes/CryptoCommands/ROT.asm" + 2 D1:C3C2 - - - - #include "includes/CryptoCommands/ROT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ROT.asm" - 1 D1:C284 52 4F 54 00 cryptocmdROT: .db "ROT", 0 - 2 D1:C288 52 4F 54 3A + 1 D1:C3C2 52 4F 54 00 cryptocmdROT: .db "ROT", 0 + 2 D1:C3C6 52 4F 54 3A 20 43 79 70 68 65 72 2C 20 72 6F 74 @@ -3594,175 +3760,264 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Cr 73 20 61 20 73 74 72 69 6E 67 00 - cryptocmdROTm: .db "ROT: Cypher, rotates the alphabet and encodes a string", 0 - 3 D1:C2BF 45 4E 43 52 + 3 D1:C3FD 45 4E 43 52 59 50 54 20 52 4F 54 20 3C 73 68 69 66 74 23 3E 00 - - - cryptocmdROTu: .db "ENCRYPT ROT ", 0 - 4 D1:C2D4 - - - - cryptocmdROTf: - 5 D1:C2D4 - - - - cryptocmdROTfArg1: - 6 D1:C2D4 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:C2D8 CB 5E - - bit 3, (hl) - 8 D1:C2DA 20 32 - - jr nz, cryptocmdROTfArg2 - 9 D1:C2DC CB 56 - - bit 2, (hl) - 10 D1:C2DE 28 0C - - jr z, cryptocmdROTfArg1Get - 11 D1:C2E0 21 4E B3 D1 ld hl, ErrUsageo - 12 D1:C2E4 CD B9 B2 D1 call ErrSet - 13 D1:C2E8 CD 6C B2 D1 call ErrCatch - 14 D1:C2EC - - - - cryptocmdROTfArg1Get: - 15 D1:C2EC 21 6D C3 D1 ld hl, cryptocmdROTfDShift - 16 D1:C2F0 CD 07 AB D1 call printprompt - 17 D1:C2F4 21 B1 EA D0 ld hl, FshCmdArg1 - 18 D1:C2F8 11 03 00 00 ld de, 3 - 19 D1:C2FC CD 3D AF D1 call inputnumstr - 20 D1:C300 CD 43 AC D1 call strtow - 21 D1:C304 11 B1 EA D0 ld de, FshCmdArg1 - 22 D1:C308 EB - - - ex de, hl - 23 D1:C309 73 - - - ld (hl), e - 24 D1:C30A CD F0 07 02 call _NewLine - 25 D1:C30E - - - - cryptocmdROTfArg2: - 26 D1:C30E 21 BA EA D0 ld hl, FshCmdArg2 - 27 D1:C312 11 CF EA D0 ld de, FshScratch - 28 D1:C316 CD CC AB D1 call strcpy - 29 D1:C31A 21 CD EA D0 ld hl, FshCmdArgFlags - 30 D1:C31E CB 66 - - bit 4, (hl) - 31 D1:C320 28 10 - - jr z, cryptocmdROTfArg2Get - 32 D1:C322 CB 6E - - bit 5, (hl) - 33 D1:C324 28 24 - - jr z, cryptocmdROTfExe - 34 D1:C326 21 4E B3 D1 ld hl, ErrUsageo - 35 D1:C32A CD B9 B2 D1 call ErrSet - 36 D1:C32E CD 6C B2 D1 call ErrCatch - 37 D1:C332 - - - - cryptocmdROTfArg2Get: - 38 D1:C332 21 75 C3 D1 ld hl, cryptocmdROTfDMessage - 39 D1:C336 CD 07 AB D1 call printprompt - 40 D1:C33A 21 CF EA D0 ld hl, FshScratch - 41 D1:C33E 11 10 00 00 ld de, FshScratchSize - 4 - 42 D1:C342 CD 29 AE D1 call inputcharstr - 43 D1:C346 CD F0 07 02 call _NewLine - 44 D1:C34A - - - - cryptocmdROTfExe: - 45 D1:C34A 21 B1 EA D0 ld hl, FshCmdArg1 - 46 D1:C34E 7E - - - ld a, (hl) - 47 D1:C34F 21 CF EA D0 ld hl, FshScratch - 48 D1:C353 CD 84 B4 D1 call rotletencrypt - 49 D1:C357 E5 - - - push hl - 50 D1:C358 21 7F C3 D1 ld hl, cryptocmdROTfDResult - 51 D1:C35C CD C0 07 02 call _PutS - 52 D1:C360 E1 - - - pop hl - 53 D1:C361 CD C0 07 02 call _PutS - 54 D1:C365 CD F0 07 02 call _NewLine - 55 D1:C369 C3 E7 A8 D1 jp Fin - 56 D1:C36D - - - - - 57 D1:C36D 53 68 69 66 + 4 D1:C412 - - - - cryptocmdROTf: + 5 D1:C412 - - - - cryptocmdROTfArg1: + 6 D1:C412 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C416 CB 5E - - bit 3, (hl) + 8 D1:C418 20 32 - - jr nz, cryptocmdROTfArg2 + 9 D1:C41A CB 56 - - bit 2, (hl) + 10 D1:C41C 28 0C - - jr z, cryptocmdROTfArg1Get + 11 D1:C41E 21 C8 B3 D1 ld hl, ErrUsageo + 12 D1:C422 CD 33 B3 D1 call ErrSet + 13 D1:C426 CD E6 B2 D1 call ErrCatch + 14 D1:C42A - - - - cryptocmdROTfArg1Get: + 15 D1:C42A 21 AB C4 D1 ld hl, cryptocmdROTfDShift + 16 D1:C42E CD FB AA D1 call printprompt + 17 D1:C432 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:C436 11 03 00 00 ld de, 3 + 19 D1:C43A CD B7 AF D1 call inputnumstr + 20 D1:C43E CD BD AC D1 call strtow + 21 D1:C442 11 B1 EA D0 ld de, FshCmdArg1 + 22 D1:C446 EB - - - ex de, hl + 23 D1:C447 73 - - - ld (hl), e + 24 D1:C448 CD F0 07 02 call _NewLine + 25 D1:C44C - - - - cryptocmdROTfArg2: + 26 D1:C44C 21 BA EA D0 ld hl, FshCmdArg2 + 27 D1:C450 11 CF EA D0 ld de, FshScratch + 28 D1:C454 CD 46 AC D1 call strcpy + 29 D1:C458 21 CD EA D0 ld hl, FshCmdArgFlags + 30 D1:C45C CB 66 - - bit 4, (hl) + 31 D1:C45E 28 10 - - jr z, cryptocmdROTfArg2Get + 32 D1:C460 CB 6E - - bit 5, (hl) + 33 D1:C462 28 24 - - jr z, cryptocmdROTfExe + 34 D1:C464 21 C8 B3 D1 ld hl, ErrUsageo + 35 D1:C468 CD 33 B3 D1 call ErrSet + 36 D1:C46C CD E6 B2 D1 call ErrCatch + 37 D1:C470 - - - - cryptocmdROTfArg2Get: + 38 D1:C470 21 B3 C4 D1 ld hl, cryptocmdROTfDMessage + 39 D1:C474 CD FB AA D1 call printprompt + 40 D1:C478 21 CF EA D0 ld hl, FshScratch + 41 D1:C47C 11 10 00 00 ld de, FshScratchSize - 4 + 42 D1:C480 CD A3 AE D1 call inputcharstr + 43 D1:C484 CD F0 07 02 call _NewLine + 44 D1:C488 - - - - cryptocmdROTfExe: + 45 D1:C488 21 B1 EA D0 ld hl, FshCmdArg1 + 46 D1:C48C 7E - - - ld a, (hl) + 47 D1:C48D 21 CF EA D0 ld hl, FshScratch + 48 D1:C491 CD FE B4 D1 call rotletencrypt + 49 D1:C495 E5 - - - push hl + 50 D1:C496 21 BD C4 D1 ld hl, cryptocmdROTfDResult + 51 D1:C49A CD C0 07 02 call _PutS + 52 D1:C49E E1 - - - pop hl + 53 D1:C49F CD C0 07 02 call _PutS + 54 D1:C4A3 CD F0 07 02 call _NewLine + 55 D1:C4A7 C3 DB A8 D1 jp Fin + 56 D1:C4AB - - - - + 57 D1:C4AB 53 68 69 66 74 3D 20 00 cryptocmdROTfDShift: .db "Shift= ", 0 - 58 D1:C375 4D 65 73 73 + 58 D1:C4B3 4D 65 73 73 61 67 65 3D 20 00 - - cryptocmdROTfDMessage: .db "Message= ", 0 - 59 D1:C37F 52 65 73 75 + 59 D1:C4BD 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdROTfDResult: .db "Result: ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" - 3 D1:C388 - - - - - 4 D1:C388 - - - - #include "includes/CryptoCommands/HELP.asm" + 3 D1:C4C6 - - - - #include "includes/CryptoCommands/XOR.asm" +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\XOR.asm" + 1 D1:C4C6 58 4F 52 00 cryptocmdXOR: .db "XOR", 0 + 2 D1:C4CA 58 4F 52 3A + 20 43 79 70 + 68 65 72 2C + 20 61 6E 64 + 20 65 6E 63 + 6F 64 65 73 + 20 61 20 73 + 74 72 69 6E + 67 00 - - cryptocmdXORm: .db "XOR: Cypher, and encodes a string", 0 + 3 D1:C4EC 45 4E 43 52 + 59 50 54 20 + 58 4F 52 20 + 3C 4B 65 79 + 3E 20 3C 4D + 65 73 73 61 + 67 65 3E 00 cryptocmdXORu: .db "ENCRYPT XOR ", 0 + 4 D1:C508 - - - - cryptocmdXORf: + 5 D1:C508 - - - - cryptocmdXORfArg1: + 6 D1:C508 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C50C CB 56 - - bit 2, (hl) + 8 D1:C50E 28 10 - - jr z, cryptocmdXORfArg1Get + 9 D1:C510 CB 5E - - bit 3, (hl) + 10 D1:C512 28 24 - - jr z, cryptocmdXORfArg2 + 11 D1:C514 21 C8 B3 D1 ld hl, ErrUsageo + 12 D1:C518 CD 33 B3 D1 call ErrSet + 13 D1:C51C CD E6 B2 D1 call ErrCatch + 14 D1:C520 - - - - cryptocmdXORfArg1Get: + 15 D1:C520 21 AC C5 D1 ld hl, cryptocmdXORfDKey + 16 D1:C524 CD FB AA D1 call printprompt + 17 D1:C528 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:C52C 11 08 00 00 ld de, FshCmdCmdSize + 19 D1:C530 CD 7F AD D1 call inputstr + 20 D1:C534 CD F0 07 02 call _NewLine + 21 D1:C538 - - - - cryptocmdXORfArg2: + 22 D1:C538 21 BA EA D0 ld hl, FshCmdArg2 + 23 D1:C53C 11 CF EA D0 ld de, FshScratch + 24 D1:C540 CD 46 AC D1 call strcpy + 25 D1:C544 21 CD EA D0 ld hl, FshCmdArgFlags + 26 D1:C548 CB 66 - - bit 4, (hl) + 27 D1:C54A 28 10 - - jr z, cryptocmdXORfArg2Get + 28 D1:C54C CB 6E - - bit 5, (hl) + 29 D1:C54E 28 24 - - jr z, cryptocmdXORfExe + 30 D1:C550 21 C8 B3 D1 ld hl, ErrUsageo + 31 D1:C554 CD 33 B3 D1 call ErrSet + 32 D1:C558 CD E6 B2 D1 call ErrCatch + 33 D1:C55C - - - - cryptocmdXORfArg2Get: + 34 D1:C55C 21 B2 C5 D1 ld hl, cryptocmdXORfDMessage + 35 D1:C560 CD FB AA D1 call printprompt + 36 D1:C564 21 CF EA D0 ld hl, FshScratch + 37 D1:C568 11 10 00 00 ld de, FshScratchSize - 4 + 38 D1:C56C CD A3 AE D1 call inputcharstr + 39 D1:C570 CD F0 07 02 call _NewLine + 40 D1:C574 - - - - cryptocmdXORfExe: + 41 D1:C574 21 CF EA D0 ld hl, FshScratch + 42 D1:C578 11 B1 EA D0 ld de, FshCmdArg1 + 43 D1:C57C CD 8C B5 D1 call xorcrypt + 44 D1:C580 21 BC C5 D1 ld hl, cryptocmdXORfDResult + 45 D1:C584 CD C0 07 02 call _PutS + 46 D1:C588 21 CF EA D0 ld hl, FshScratch + 47 D1:C58C - - - - cryptocmdXORfPrint: + 48 D1:C58C 7E - - - ld a, (hl) + 49 D1:C58D B7 - - - or a, a + 50 D1:C58E 28 14 - - jr z, cryptocmdXORfPrintEnd + 51 D1:C590 E5 - - - push hl + 52 D1:C591 CD 9C AB D1 call bytetohexstr + 53 D1:C595 7E - - - ld a, (hl) + 54 D1:C596 CD B8 07 02 call _PutC + 55 D1:C59A 23 - - - inc hl + 56 D1:C59B 7E - - - ld a, (hl) + 57 D1:C59C CD B8 07 02 call _PutC + 58 D1:C5A0 E1 - - - pop hl + 59 D1:C5A1 23 - - - inc hl + 60 D1:C5A2 18 E8 - - jr cryptocmdXORfPrint + 61 D1:C5A4 - - - - cryptocmdXORfPrintEnd: + 62 D1:C5A4 CD F0 07 02 call _NewLine + 63 D1:C5A8 C3 DB A8 D1 jp Fin + 64 D1:C5AC - - - - + 65 D1:C5AC 4B 65 79 3D + 20 00 - - cryptocmdXORfDKey: .db "Key= ", 0 + 66 D1:C5B2 4D 65 73 73 + 61 67 65 3D + 20 00 - - cryptocmdXORfDMessage: .db "Message= ", 0 + 67 D1:C5BC 52 65 73 75 + 6C 74 3A 20 + 00 - - - cryptocmdXORfDResult: .db "Result: ", 0 +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" + 4 D1:C5C5 - - - - + 5 D1:C5C5 - - - - #include "includes/CryptoCommands/HELP.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\HELP.asm" - 1 D1:C388 48 45 4C 50 + 1 D1:C5C5 48 45 4C 50 00 - - - cryptocmdHELP: .db "HELP", 0 - 2 D1:C38D 48 65 6C 70 + 2 D1:C5CA 48 65 6C 70 20 66 6F 72 20 63 79 70 68 65 72 73 00 - - - cryptocmdHELPm: .db "Help for cyphers", 0 - 3 D1:C39E 45 4E 43 52 + 3 D1:C5DB 45 4E 43 52 59 50 54 20 48 45 4C 50 00 - - - cryptocmdHELPu: .db "ENCRYPT HELP", 0 - 4 D1:C3AB - - - - cryptocmdHELPf: - 5 D1:C3AB 21 CD EA D0 ld hl, FshCmdArgFlags - 6 D1:C3AF CB 56 - - bit 2, (hl) - 7 D1:C3B1 28 0C - - jr z, cryptocmdHELPfExe - 8 D1:C3B3 21 4E B3 D1 ld hl, ErrUsageo - 9 D1:C3B7 CD B9 B2 D1 call ErrSet - 10 D1:C3BB CD 6C B2 D1 call ErrCatch - 11 D1:C3BF - - - - cryptocmdHELPfExe: - 12 D1:C3BF 21 F8 C3 D1 ld hl, cryptocmdHELPfLine1 - 13 D1:C3C3 CD C0 07 02 call _PutS - 14 D1:C3C7 CD F0 07 02 call _NewLine - 15 D1:C3CB - - - - - 16 D1:C3CB - - - - #macro cryptocmdHELPmRow1(cmdXs) - 17 D1:C3CB xor a - 18 D1:C3CB ld (curCol), a - 19 D1:C3CB ld hl, cmdXs - 20 D1:C3CB call _PutS - 21 D1:C3CB call _NewLine - 22 D1:C3CB #endmacro - 23 D1:C3CB - - - - #macro cryptocmdHELPmRowU(cmdXs, cmdXu) - 24 D1:C3CB xor a - 25 D1:C3CB ld (curCol), a - 26 D1:C3CB ld hl, cmdXs - 27 D1:C3CB call _PutS - 28 D1:C3CB ld a, ':' - 29 D1:C3CB call _PutC - 30 D1:C3CB ld a, ' ' - 31 D1:C3CB call _PutC - 32 D1:C3CB ld hl, cmdXu - 33 D1:C3CB call _PutS - 34 D1:C3CB call _NewLine - 35 D1:C3CB #endmacro - 36 D1:C3CB - - - - #macro cryptocmdHELPmRow2(cmdXs, cmdYs) - 37 D1:C3CB xor a - 38 D1:C3CB ld (curCol), a - 39 D1:C3CB ld hl, cmdXs - 40 D1:C3CB call _PutS - 41 D1:C3CB ld a, 9 - 42 D1:C3CB ld (curcol), a - 43 D1:C3CB ld hl, cmdYs - 44 D1:C3CB call _PutS - 45 D1:C3CB call _NewLine - 46 D1:C3CB #endmacro - 47 D1:C3CB - - - - #macro cryptocmdHELPmRow3(cmdXs, cmdYs, cmdZs) - 48 D1:C3CB xor a - 49 D1:C3CB ld (curCol), a - 50 D1:C3CB ld hl, cmdXs - 51 D1:C3CB call _PutS - 52 D1:C3CB ld a, 9 - 53 D1:C3CB ld (curcol), a - 54 D1:C3CB ld hl, cmdYs - 55 D1:C3CB call _PutS - 56 D1:C3CB ld a, 19 - 57 D1:C3CB ld (curcol), a - 58 D1:C3CB ld hl, cmdZs - 59 D1:C3CB call _PutS - 60 D1:C3CB call _NewLine - 61 D1:C3CB #endmacro - 62 D1:C3CB - - - - - 63 D1:C3CB AF 32 96 05 - D0 21 84 C2 + 4 D1:C5E8 - - - - cryptocmdHELPf: + 5 D1:C5E8 21 CD EA D0 ld hl, FshCmdArgFlags + 6 D1:C5EC CB 56 - - bit 2, (hl) + 7 D1:C5EE 28 0C - - jr z, cryptocmdHELPfExe + 8 D1:C5F0 21 C8 B3 D1 ld hl, ErrUsageo + 9 D1:C5F4 CD 33 B3 D1 call ErrSet + 10 D1:C5F8 CD E6 B2 D1 call ErrCatch + 11 D1:C5FC - - - - cryptocmdHELPfExe: + 12 D1:C5FC 21 35 C6 D1 ld hl, cryptocmdHELPfLine1 + 13 D1:C600 CD C0 07 02 call _PutS + 14 D1:C604 CD F0 07 02 call _NewLine + 15 D1:C608 - - - - + 16 D1:C608 - - - - #macro cryptocmdHELPmRow1(cmdXs) + 17 D1:C608 xor a + 18 D1:C608 ld (curCol), a + 19 D1:C608 ld hl, cmdXs + 20 D1:C608 call _PutS + 21 D1:C608 call _NewLine + 22 D1:C608 #endmacro + 23 D1:C608 - - - - #macro cryptocmdHELPmRowU(cmdXs, cmdXu) + 24 D1:C608 xor a + 25 D1:C608 ld (curCol), a + 26 D1:C608 ld hl, cmdXs + 27 D1:C608 call _PutS + 28 D1:C608 ld a, ':' + 29 D1:C608 call _PutC + 30 D1:C608 ld a, ' ' + 31 D1:C608 call _PutC + 32 D1:C608 ld hl, cmdXu + 33 D1:C608 call _PutS + 34 D1:C608 call _NewLine + 35 D1:C608 #endmacro + 36 D1:C608 - - - - #macro cryptocmdHELPmRow2(cmdXs, cmdYs) + 37 D1:C608 xor a + 38 D1:C608 ld (curCol), a + 39 D1:C608 ld hl, cmdXs + 40 D1:C608 call _PutS + 41 D1:C608 ld a, 9 + 42 D1:C608 ld (curcol), a + 43 D1:C608 ld hl, cmdYs + 44 D1:C608 call _PutS + 45 D1:C608 call _NewLine + 46 D1:C608 #endmacro + 47 D1:C608 - - - - #macro cryptocmdHELPmRow3(cmdXs, cmdYs, cmdZs) + 48 D1:C608 xor a + 49 D1:C608 ld (curCol), a + 50 D1:C608 ld hl, cmdXs + 51 D1:C608 call _PutS + 52 D1:C608 ld a, 9 + 53 D1:C608 ld (curcol), a + 54 D1:C608 ld hl, cmdYs + 55 D1:C608 call _PutS + 56 D1:C608 ld a, 19 + 57 D1:C608 ld (curcol), a + 58 D1:C608 ld hl, cmdZs + 59 D1:C608 call _PutS + 60 D1:C608 call _NewLine + 61 D1:C608 #endmacro + 62 D1:C608 - - - - + 63 D1:C608 AF 32 96 05 + D0 21 C2 C3 D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 - 02 21 BF C2 + 02 21 FD C3 D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdHELPmRowU(cryptocmdROT, cryptocmdROTu) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\HELP.asm" - 64 D1:C3F0 - - - - - 65 D1:C3F0 CD F0 07 02 call _NewLine - 66 D1:C3F4 C3 E7 A8 D1 jp Fin - 67 D1:C3F8 - - - - - 68 D1:C3F8 41 76 61 69 + 64 D1:C62D - - - - + 65 D1:C62D CD F0 07 02 call _NewLine + 66 D1:C631 C3 DB A8 D1 jp Fin + 67 D1:C635 - - - - + 68 D1:C635 41 76 61 69 6C 61 62 6C 65 20 43 72 79 70 74 6F 73 3A 00 - cryptocmdHELPfLine1: .db "Available Cryptos:", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" - 5 D1:C40B - - - - - 6 D1:C40B - - - - #include "includes/CryptoCommands/DECRYPT.asm" + 6 D1:C648 - - - - + 7 D1:C648 - - - - #include "includes/CryptoCommands/DECRYPT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\DECRYPT.asm" - 1 D1:C40B 44 45 43 52 + 1 D1:C648 44 45 43 52 59 50 54 00 cryptocmdDECRYPT: .db "DECRYPT", 0 - 2 D1:C413 41 - - - cryptocmdDECRYPTo: .db $41 - 3 D1:C414 44 65 63 72 + 2 D1:C650 41 - - - cryptocmdDECRYPTo: .db $41 + 3 D1:C651 44 65 63 72 79 70 74 73 20 61 20 73 74 72 69 6E @@ -3781,7 +4036,7 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Cr 20 63 79 70 68 65 72 73 00 - - - cryptocmdDECRYPTm: .db "Decrypts a string using a cypher. see 'DECRYPT HELP' for info on cyphers", 0 - 4 D1:C45D 44 45 43 52 + 4 D1:C69A 44 45 43 52 59 50 54 20 3C 43 72 79 70 74 20 43 @@ -3791,60 +4046,64 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Cr 70 74 20 41 72 67 73 3E 00 - - - cryptocmdDECRYPTu: .db "DECRYPT ", 0 - 5 D1:C482 - - - - cryptocmdDECRYPTf: - 6 D1:C482 - - - - cryptocmdDECRYPTfArg0: - 7 D1:C482 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:C486 CB 46 - - bit 0, (hl) - 9 D1:C488 28 10 - - jr z, cryptocmdDECRYPTfArg0Get - 10 D1:C48A CB 4E - - bit 1, (hl) - 11 D1:C48C 28 24 - - jr z, cryptocmdDECRYPTfExe - 12 D1:C48E 21 4E B3 D1 ld hl, ErrUsageo - 13 D1:C492 CD B9 B2 D1 call ErrSet - 14 D1:C496 CD 6C B2 D1 call ErrCatch - 15 D1:C49A - - - - cryptocmdDECRYPTfArg0Get: - 16 D1:C49A 21 F2 C4 D1 ld hl, cryptocmdDECRYPTfSCypher - 17 D1:C49E CD 07 AB D1 call printprompt - 18 D1:C4A2 21 A8 EA D0 ld hl, FshCmdArg0 - 19 D1:C4A6 11 2C 00 00 ld de, FshCmdInptSize - 20 D1:C4AA CD 05 AD D1 call inputstr - 21 D1:C4AE CD F0 07 02 call _NewLine - 22 D1:C4B2 - - - - cryptocmdDECRYPTfExe: - 23 D1:C4B2 - - - - - 24 D1:C4B2 - - - - #macro cryptocmdDECRYPTcmpjp(cmdX, cmdXf) - 25 D1:C4B2 ld hl, FshCmdArg0 - 26 D1:C4B2 ld de, CmdX - 27 D1:C4B2 call strcmp - 28 D1:C4B2 jp z, cmdXf - 29 D1:C4B2 #endmacro - 30 D1:C4B2 - - - - - 31 D1:C4B2 21 A8 EA D0 - 11 FB C4 D1 - CD B9 AB D1 - CA 4B C5 D1 cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf) + 5 D1:C6BF - - - - cryptocmdDECRYPTf: + 6 D1:C6BF - - - - cryptocmdDECRYPTfArg0: + 7 D1:C6BF 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:C6C3 CB 46 - - bit 0, (hl) + 9 D1:C6C5 28 10 - - jr z, cryptocmdDECRYPTfArg0Get + 10 D1:C6C7 CB 4E - - bit 1, (hl) + 11 D1:C6C9 28 24 - - jr z, cryptocmdDECRYPTfExe + 12 D1:C6CB 21 C8 B3 D1 ld hl, ErrUsageo + 13 D1:C6CF CD 33 B3 D1 call ErrSet + 14 D1:C6D3 CD E6 B2 D1 call ErrCatch + 15 D1:C6D7 - - - - cryptocmdDECRYPTfArg0Get: + 16 D1:C6D7 21 3F C7 D1 ld hl, cryptocmdDECRYPTfSCypher + 17 D1:C6DB CD FB AA D1 call printprompt + 18 D1:C6DF 21 A8 EA D0 ld hl, FshCmdArg0 + 19 D1:C6E3 11 2C 00 00 ld de, FshCmdInptSize + 20 D1:C6E7 CD 7F AD D1 call inputstr + 21 D1:C6EB CD F0 07 02 call _NewLine + 22 D1:C6EF - - - - cryptocmdDECRYPTfExe: + 23 D1:C6EF - - - - + 24 D1:C6EF - - - - #macro cryptocmdDECRYPTcmpjp(cmdX, cmdXf) + 25 D1:C6EF ld hl, FshCmdArg0 + 26 D1:C6EF ld de, CmdX + 27 D1:C6EF call strcmp + 28 D1:C6EF jp z, cmdXf + 29 D1:C6EF #endmacro + 30 D1:C6EF - - - - + 31 D1:C6EF 21 A8 EA D0 + 11 48 C7 D1 + CD 33 AC D1 + CA 98 C7 D1 cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\DECRYPT.asm" - 32 D1:C4C2 21 A8 EA D0 - 11 88 C3 D1 - CD B9 AB D1 - CA AB C3 D1 cryptocmdDECRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) - 33 D1:C4D2 - - - - - 34 D1:C4D2 21 A8 EA D0 ld hl, FshCmdArg0 - 35 D1:C4D6 11 9F EA D0 ld de, FshCmd - 36 D1:C4DA CD CC AB D1 call strcpy - 37 D1:C4DE - - - - - 38 D1:C4DE 21 C8 B2 D1 ld hl, ErrCmdNotFoundo - 39 D1:C4E2 11 CE EA D0 ld de, FshCmdErrCode - 40 D1:C4E6 CD 49 AA D1 call bytecpy - 41 D1:C4EA CD B9 B2 D1 call ErrSet - 42 D1:C4EE C3 EB A8 D1 jp Err - 43 D1:C4F2 - - - - - 44 D1:C4F2 43 79 70 68 + 32 D1:C6FF 21 A8 EA D0 + 11 4F C8 D1 + CD 33 AC D1 + CA 81 C8 D1 cryptocmdDECRYPTcmpjp(cryptocmdunXOR, cryptocmdunXORf) + 33 D1:C70F 21 A8 EA D0 + 11 C5 C5 D1 + CD 33 AC D1 + CA E8 C5 D1 cryptocmdDECRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) + 34 D1:C71F - - - - + 35 D1:C71F 21 A8 EA D0 ld hl, FshCmdArg0 + 36 D1:C723 11 9F EA D0 ld de, FshCmd + 37 D1:C727 CD 46 AC D1 call strcpy + 38 D1:C72B - - - - + 39 D1:C72B 21 42 B3 D1 ld hl, ErrCmdNotFoundo + 40 D1:C72F 11 CE EA D0 ld de, FshCmdErrCode + 41 D1:C733 CD 3D AA D1 call bytecpy + 42 D1:C737 CD 33 B3 D1 call ErrSet + 43 D1:C73B C3 DF A8 D1 jp Err + 44 D1:C73F - - - - + 45 D1:C73F 43 79 70 68 65 72 3D 20 00 - - - cryptocmdDECRYPTfSCypher: .db "Cypher= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" - 7 D1:C4FB - - - - #include "includes/CryptoCommands/unROT.asm" + 8 D1:C748 - - - - #include "includes/CryptoCommands/unROT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\unROT.asm" - 1 D1:C4FB 52 4F 54 00 cryptocmdunROT: .db "ROT", 0 - 2 D1:C4FF 52 4F 54 3A + 1 D1:C748 52 4F 54 00 cryptocmdunROT: .db "ROT", 0 + 2 D1:C74C 52 4F 54 3A 20 43 79 70 68 65 72 2C 20 72 6F 74 @@ -3858,81 +4117,172 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Cr 73 20 61 20 73 74 72 69 6E 67 00 - cryptocmdunROTm: .db "ROT: Cypher, rotates the alphabet and Decodes a string", 0 - 3 D1:C536 44 45 43 52 + 3 D1:C783 44 45 43 52 59 50 54 20 52 4F 54 20 3C 73 68 69 66 74 23 3E 00 - - - cryptocmdunROTu: .db "DECRYPT ROT ", 0 - 4 D1:C54B - - - - cryptocmdunROTf: - 5 D1:C54B - - - - cryptocmdunROTfArg1: - 6 D1:C54B 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:C54F CB 5E - - bit 3, (hl) - 8 D1:C551 20 32 - - jr nz, cryptocmdunROTfArg2 - 9 D1:C553 CB 56 - - bit 2, (hl) - 10 D1:C555 28 0C - - jr z, cryptocmdunROTfArg1Get - 11 D1:C557 21 4E B3 D1 ld hl, ErrUsageo - 12 D1:C55B CD B9 B2 D1 call ErrSet - 13 D1:C55F CD 6C B2 D1 call ErrCatch - 14 D1:C563 - - - - cryptocmdunROTfArg1Get: - 15 D1:C563 21 E4 C5 D1 ld hl, cryptocmdunROTfDShift - 16 D1:C567 CD 07 AB D1 call printprompt - 17 D1:C56B 21 B1 EA D0 ld hl, FshCmdArg1 - 18 D1:C56F 11 03 00 00 ld de, 3 - 19 D1:C573 CD 3D AF D1 call inputnumstr - 20 D1:C577 CD 43 AC D1 call strtow - 21 D1:C57B 11 B1 EA D0 ld de, FshCmdArg1 - 22 D1:C57F EB - - - ex de, hl - 23 D1:C580 73 - - - ld (hl), e - 24 D1:C581 CD F0 07 02 call _NewLine - 25 D1:C585 - - - - cryptocmdunROTfArg2: - 26 D1:C585 21 BA EA D0 ld hl, FshCmdArg2 - 27 D1:C589 11 CF EA D0 ld de, FshScratch - 28 D1:C58D CD CC AB D1 call strcpy - 29 D1:C591 21 CD EA D0 ld hl, FshCmdArgFlags - 30 D1:C595 CB 66 - - bit 4, (hl) - 31 D1:C597 28 10 - - jr z, cryptocmdunROTfArg2Get - 32 D1:C599 CB 6E - - bit 5, (hl) - 33 D1:C59B 28 24 - - jr z, cryptocmdunROTfExe - 34 D1:C59D 21 4E B3 D1 ld hl, ErrUsageo - 35 D1:C5A1 CD B9 B2 D1 call ErrSet - 36 D1:C5A5 CD 6C B2 D1 call ErrCatch - 37 D1:C5A9 - - - - cryptocmdunROTfArg2Get: - 38 D1:C5A9 21 EC C5 D1 ld hl, cryptocmdunROTfDMessage - 39 D1:C5AD CD 07 AB D1 call printprompt - 40 D1:C5B1 21 CF EA D0 ld hl, FshScratch - 41 D1:C5B5 11 10 00 00 ld de, FshScratchSize - 4 - 42 D1:C5B9 CD 29 AE D1 call inputcharstr - 43 D1:C5BD CD F0 07 02 call _NewLine - 44 D1:C5C1 - - - - cryptocmdunROTfExe: - 45 D1:C5C1 21 B1 EA D0 ld hl, FshCmdArg1 - 46 D1:C5C5 7E - - - ld a, (hl) - 47 D1:C5C6 21 CF EA D0 ld hl, FshScratch - 48 D1:C5CA CD A9 B4 D1 call rotletdecrypt - 49 D1:C5CE E5 - - - push hl - 50 D1:C5CF 21 F9 C5 D1 ld hl, cryptocmdunROTfDResult - 51 D1:C5D3 CD C0 07 02 call _PutS - 52 D1:C5D7 E1 - - - pop hl - 53 D1:C5D8 CD C0 07 02 call _PutS - 54 D1:C5DC CD F0 07 02 call _NewLine - 55 D1:C5E0 C3 E7 A8 D1 jp Fin - 56 D1:C5E4 - - - - - 57 D1:C5E4 53 68 69 66 + 4 D1:C798 - - - - cryptocmdunROTf: + 5 D1:C798 - - - - cryptocmdunROTfArg1: + 6 D1:C798 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C79C CB 5E - - bit 3, (hl) + 8 D1:C79E 20 32 - - jr nz, cryptocmdunROTfArg2 + 9 D1:C7A0 CB 56 - - bit 2, (hl) + 10 D1:C7A2 28 0C - - jr z, cryptocmdunROTfArg1Get + 11 D1:C7A4 21 C8 B3 D1 ld hl, ErrUsageo + 12 D1:C7A8 CD 33 B3 D1 call ErrSet + 13 D1:C7AC CD E6 B2 D1 call ErrCatch + 14 D1:C7B0 - - - - cryptocmdunROTfArg1Get: + 15 D1:C7B0 21 31 C8 D1 ld hl, cryptocmdunROTfDShift + 16 D1:C7B4 CD FB AA D1 call printprompt + 17 D1:C7B8 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:C7BC 11 03 00 00 ld de, 3 + 19 D1:C7C0 CD B7 AF D1 call inputnumstr + 20 D1:C7C4 CD BD AC D1 call strtow + 21 D1:C7C8 11 B1 EA D0 ld de, FshCmdArg1 + 22 D1:C7CC EB - - - ex de, hl + 23 D1:C7CD 73 - - - ld (hl), e + 24 D1:C7CE CD F0 07 02 call _NewLine + 25 D1:C7D2 - - - - cryptocmdunROTfArg2: + 26 D1:C7D2 21 BA EA D0 ld hl, FshCmdArg2 + 27 D1:C7D6 11 CF EA D0 ld de, FshScratch + 28 D1:C7DA CD 46 AC D1 call strcpy + 29 D1:C7DE 21 CD EA D0 ld hl, FshCmdArgFlags + 30 D1:C7E2 CB 66 - - bit 4, (hl) + 31 D1:C7E4 28 10 - - jr z, cryptocmdunROTfArg2Get + 32 D1:C7E6 CB 6E - - bit 5, (hl) + 33 D1:C7E8 28 24 - - jr z, cryptocmdunROTfExe + 34 D1:C7EA 21 C8 B3 D1 ld hl, ErrUsageo + 35 D1:C7EE CD 33 B3 D1 call ErrSet + 36 D1:C7F2 CD E6 B2 D1 call ErrCatch + 37 D1:C7F6 - - - - cryptocmdunROTfArg2Get: + 38 D1:C7F6 21 39 C8 D1 ld hl, cryptocmdunROTfDMessage + 39 D1:C7FA CD FB AA D1 call printprompt + 40 D1:C7FE 21 CF EA D0 ld hl, FshScratch + 41 D1:C802 11 10 00 00 ld de, FshScratchSize - 4 + 42 D1:C806 CD A3 AE D1 call inputcharstr + 43 D1:C80A CD F0 07 02 call _NewLine + 44 D1:C80E - - - - cryptocmdunROTfExe: + 45 D1:C80E 21 B1 EA D0 ld hl, FshCmdArg1 + 46 D1:C812 7E - - - ld a, (hl) + 47 D1:C813 21 CF EA D0 ld hl, FshScratch + 48 D1:C817 CD 23 B5 D1 call rotletdecrypt + 49 D1:C81B E5 - - - push hl + 50 D1:C81C 21 46 C8 D1 ld hl, cryptocmdunROTfDResult + 51 D1:C820 CD C0 07 02 call _PutS + 52 D1:C824 E1 - - - pop hl + 53 D1:C825 CD C0 07 02 call _PutS + 54 D1:C829 CD F0 07 02 call _NewLine + 55 D1:C82D C3 DB A8 D1 jp Fin + 56 D1:C831 - - - - + 57 D1:C831 53 68 69 66 74 3D 20 00 cryptocmdunROTfDShift: .db "Shift= ", 0 - 58 D1:C5EC 43 79 70 68 + 58 D1:C839 43 79 70 68 65 72 54 65 78 74 3D 20 00 - - - cryptocmdunROTfDMessage: .db "CypherText= ", 0 - 59 D1:C5F9 52 65 73 75 + 59 D1:C846 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdunROTfDResult: .db "Result: ", 0 +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" + 9 D1:C84F - - - - #include "includes/CryptoCommands/unXOR.asm" +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\unXOR.asm" + 1 D1:C84F 58 4F 52 00 cryptocmdunXOR: .db "XOR", 0 + 2 D1:C853 58 4F 52 3A + 20 43 79 70 + 68 65 72 2C + 20 61 6E 64 + 20 64 65 63 + 6F 64 65 73 + 20 61 20 73 + 74 72 69 6E + 67 00 - - cryptocmdunXORm: .db "XOR: Cypher, and decodes a string", 0 + 3 D1:C875 44 45 43 52 + 59 50 54 20 + 58 4F 52 00 cryptocmdunXORu: .db "DECRYPT XOR", 0 + 4 D1:C881 - - - - cryptocmdunXORf: + 5 D1:C881 - - - - cryptocmdunXORfArg1: + 6 D1:C881 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C885 CB 56 - - bit 2, (hl) + 8 D1:C887 28 10 - - jr z, cryptocmdunXORfArg1Get + 9 D1:C889 CB 5E - - bit 3, (hl) + 10 D1:C88B 28 24 - - jr z, cryptocmdunXORfArg2 + 11 D1:C88D 21 C8 B3 D1 ld hl, ErrUsageo + 12 D1:C891 CD 33 B3 D1 call ErrSet + 13 D1:C895 CD E6 B2 D1 call ErrCatch + 14 D1:C899 - - - - cryptocmdunXORfArg1Get: + 15 D1:C899 21 2E C9 D1 ld hl, cryptocmdunXORfDKey + 16 D1:C89D CD FB AA D1 call printprompt + 17 D1:C8A1 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:C8A5 11 08 00 00 ld de, FshCmdCmdSize + 19 D1:C8A9 CD 7F AD D1 call inputstr + 20 D1:C8AD CD F0 07 02 call _NewLine + 21 D1:C8B1 - - - - cryptocmdunXORfArg2: + 22 D1:C8B1 21 BA EA D0 ld hl, FshCmdArg2 + 23 D1:C8B5 11 CF EA D0 ld de, FshScratch + 24 D1:C8B9 CD 46 AC D1 call strcpy + 25 D1:C8BD 21 CD EA D0 ld hl, FshCmdArgFlags + 26 D1:C8C1 CB 66 - - bit 4, (hl) + 27 D1:C8C3 20 45 - - jr nz, cryptocmdunXORfExe + 28 D1:C8C5 - - - - cryptocmdunXORfArg2Get: + 29 D1:C8C5 21 4E C9 D1 ld hl, cryptocmdunXORfStringPBuffer + 30 D1:C8C9 06 0F - - ld b, $0F + 31 D1:C8CB 3E 00 - - ld a, $00 + 32 D1:C8CD CD 45 AA D1 call memset + 33 D1:C8D1 21 34 C9 D1 ld hl, cryptocmdunXORfDMessage + 34 D1:C8D5 CD FB AA D1 call printprompt + 35 D1:C8D9 21 CF EA D0 ld hl, FshScratch + 36 D1:C8DD 11 10 00 00 ld de, FshScratchSize - 4 + 37 D1:C8E1 CD 7F AD D1 call inputstr + 38 D1:C8E5 01 4E C9 D1 ld bc, cryptocmdunXORfStringPBuffer + 39 D1:C8E9 - - - - cryptocmdunXORfArg2GetLoop: + 40 D1:C8E9 7E - - - ld a, (hl) + 41 D1:C8EA B7 - - - or a, a + 42 D1:C8EB 28 19 - - jr z, cryptocmdunXORfArg2GetLoopEnd + 43 D1:C8ED 32 4A C9 D1 ld (cryptocmdunXORfStringBuffer), a + 44 D1:C8F1 23 - - - inc hl + 45 D1:C8F2 7E - - - ld a, (hl) + 46 D1:C8F3 32 4B C9 D1 ld (cryptocmdunXORfStringBuffer + 1), a + 47 D1:C8F7 E5 - - - push hl + 48 D1:C8F8 21 4A C9 D1 ld hl, cryptocmdunXORfStringBuffer + 49 D1:C8FC CD F6 AB D1 call hexToA + 50 D1:C900 E1 - - - pop hl + 51 D1:C901 02 - - - ld (bc), a + 52 D1:C902 23 - - - inc hl + 53 D1:C903 03 - - - inc bc + 54 D1:C904 18 E3 - - jr cryptocmdunXORfArg2GetLoop + 55 D1:C906 - - - - cryptocmdunXORfArg2GetLoopEnd: + 56 D1:C906 - - - - + 57 D1:C906 CD F0 07 02 call _NewLine + 58 D1:C90A - - - - cryptocmdunXORfExe: + 59 D1:C90A 21 4E C9 D1 ld hl, cryptocmdunXORfStringPBuffer + 60 D1:C90E 11 B1 EA D0 ld de, FshCmdArg1 + 61 D1:C912 CD 8C B5 D1 call xorcrypt + 62 D1:C916 21 41 C9 D1 ld hl, cryptocmdunXORfDResult + 63 D1:C91A CD C0 07 02 call _PutS + 64 D1:C91E 21 4E C9 D1 ld hl, cryptocmdunXORfStringPBuffer + 65 D1:C922 CD C0 07 02 call _PutS + 66 D1:C926 CD F0 07 02 call _NewLine + 67 D1:C92A C3 DB A8 D1 jp Fin + 68 D1:C92E - - - - + 69 D1:C92E 4B 65 79 3D + 20 00 - - cryptocmdunXORfDKey: .db "Key= ", 0 + 70 D1:C934 43 79 70 68 + 65 72 54 65 + 78 74 3D 20 + 00 - - - cryptocmdunXORfDMessage: .db "CypherText= ", 0 + 71 D1:C941 52 65 73 75 + 6C 74 3A 20 + 00 - - - cryptocmdunXORfDResult: .db "Result: ", 0 + 72 D1:C94A 00 00 00 00 cryptocmdunXORfStringBuffer: .db $00, $00, $00, $00 + 73 D1:C94E 00 00 00 00 + 00 00 00 00 + 00 00 00 00 + 00 00 00 00 cryptocmdunXORfStringPBuffer: .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Command.asm" Listing for file "FSHa.asm" - 82 D1:C602 - - - - - 83 D1:C602 42 41 44 77 - 77 00 - - teststr: .db "BADww", 0 - 84 D1:C608 4F 54 00 - testkey: .db "OT", 0 - 85 D1:C60B - - - - - 86 D1:C60B - - - - .end + 77 D1:C95E - - - - + 78 D1:C95E - - - - .end diff --git a/includes/CryptoCommands/CryptoCommand.asm b/includes/CryptoCommands/CryptoCommand.asm index d8d4f41..1c6f39d 100644 --- a/includes/CryptoCommands/CryptoCommand.asm +++ b/includes/CryptoCommands/CryptoCommand.asm @@ -15,6 +15,9 @@ cryptocmdmanroute: subroutestrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTm) subroutestrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTm) + subroutestrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORm) + subroutestrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORm) + subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm) subroutestrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPm) @@ -29,6 +32,9 @@ cryptocmdmanrouteu: pop bc subrouteustrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTu) subrouteustrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTu) + + subrouteustrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORu) + subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu) subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu) subrouteustrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPu) diff --git a/includes/CryptoCommands/CryptoCommands.inc b/includes/CryptoCommands/CryptoCommands.inc index 53400d6..248ad79 100644 --- a/includes/CryptoCommands/CryptoCommands.inc +++ b/includes/CryptoCommands/CryptoCommands.inc @@ -1,7 +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" \ No newline at end of file +#include "includes/CryptoCommands/unROT.asm" +#include "includes/CryptoCommands/unXOR.asm" \ No newline at end of file diff --git a/includes/CryptoCommands/DECRYPT.asm b/includes/CryptoCommands/DECRYPT.asm index ca4c913..2e84697 100644 --- a/includes/CryptoCommands/DECRYPT.asm +++ b/includes/CryptoCommands/DECRYPT.asm @@ -29,6 +29,7 @@ cryptocmdDECRYPTfExe: #endmacro cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf) + cryptocmdDECRYPTcmpjp(cryptocmdunXOR, cryptocmdunXORf) cryptocmdDECRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) ld hl, FshCmdArg0 diff --git a/includes/CryptoCommands/ENCRYPT.asm b/includes/CryptoCommands/ENCRYPT.asm index 6ac7219..e7e18ad 100644 --- a/includes/CryptoCommands/ENCRYPT.asm +++ b/includes/CryptoCommands/ENCRYPT.asm @@ -29,6 +29,7 @@ cryptocmdENCRYPTfExe: #endmacro cryptocmdENCRYPTcmpjp(cryptocmdROT, cryptocmdROTf) + cryptocmdENCRYPTcmpjp(cryptocmdXOR, cryptocmdXORf) cryptocmdENCRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) ld hl, FshCmdArg0 diff --git a/includes/CryptoCommands/XOR.asm b/includes/CryptoCommands/XOR.asm new file mode 100644 index 0000000..dad9561 --- /dev/null +++ b/includes/CryptoCommands/XOR.asm @@ -0,0 +1,67 @@ +cryptocmdXOR: .db "XOR", 0 +cryptocmdXORm: .db "XOR: Cypher, and encodes a string", 0 +cryptocmdXORu: .db "ENCRYPT XOR ", 0 +cryptocmdXORf: +cryptocmdXORfArg1: + ld hl, FshCmdArgFlags + bit 2, (hl) + jr z, cryptocmdXORfArg1Get + bit 3, (hl) + jr z, cryptocmdXORfArg2 + ld hl, ErrUsageo + call ErrSet + call ErrCatch +cryptocmdXORfArg1Get: + ld hl, cryptocmdXORfDKey + call printprompt + ld hl, FshCmdArg1 + ld de, FshCmdCmdSize + call inputstr + call _NewLine +cryptocmdXORfArg2: + ld hl, FshCmdArg2 + ld de, FshScratch + call strcpy + ld hl, FshCmdArgFlags + bit 4, (hl) + jr z, cryptocmdXORfArg2Get + bit 5, (hl) + jr z, cryptocmdXORfExe + ld hl, ErrUsageo + call ErrSet + call ErrCatch +cryptocmdXORfArg2Get: + ld hl, cryptocmdXORfDMessage + call printprompt + ld hl, FshScratch + ld de, FshScratchSize - 4 + call inputcharstr + call _NewLine +cryptocmdXORfExe: + ld hl, FshScratch + ld de, FshCmdArg1 + call xorcrypt + ld hl, cryptocmdXORfDResult + call _PutS + ld hl, FshScratch +cryptocmdXORfPrint: + ld a, (hl) + or a, a + jr z, cryptocmdXORfPrintEnd + push hl + call bytetohexstr + ld a, (hl) + call _PutC + inc hl + ld a, (hl) + call _PutC + pop hl + inc hl + jr cryptocmdXORfPrint +cryptocmdXORfPrintEnd: + call _NewLine + jp Fin + +cryptocmdXORfDKey: .db "Key= ", 0 +cryptocmdXORfDMessage: .db "Message= ", 0 +cryptocmdXORfDResult: .db "Result: ", 0 \ No newline at end of file diff --git a/includes/CryptoCommands/unXOR.asm b/includes/CryptoCommands/unXOR.asm new file mode 100644 index 0000000..84cb6bc --- /dev/null +++ b/includes/CryptoCommands/unXOR.asm @@ -0,0 +1,73 @@ +cryptocmdunXOR: .db "XOR", 0 +cryptocmdunXORm: .db "XOR: Cypher, and decodes a string", 0 +cryptocmdunXORu: .db "DECRYPT XOR", 0 +cryptocmdunXORf: +cryptocmdunXORfArg1: + ld hl, FshCmdArgFlags + bit 2, (hl) + jr z, cryptocmdunXORfArg1Get + bit 3, (hl) + jr z, cryptocmdunXORfArg2 + ld hl, ErrUsageo + call ErrSet + call ErrCatch +cryptocmdunXORfArg1Get: + ld hl, cryptocmdunXORfDKey + call printprompt + ld hl, FshCmdArg1 + ld de, FshCmdCmdSize + call inputstr + call _NewLine +cryptocmdunXORfArg2: + ld hl, FshCmdArg2 + ld de, FshScratch + call strcpy + ld hl, FshCmdArgFlags + bit 4, (hl) + jr nz, cryptocmdunXORfExe +cryptocmdunXORfArg2Get: + ld hl, cryptocmdunXORfStringPBuffer + ld b, $0F + ld a, $00 + call memset + ld hl, cryptocmdunXORfDMessage + call printprompt + ld hl, FshScratch + ld de, FshScratchSize - 4 + call inputstr + ld bc, cryptocmdunXORfStringPBuffer +cryptocmdunXORfArg2GetLoop: + ld a, (hl) + or a, a + jr z, cryptocmdunXORfArg2GetLoopEnd + ld (cryptocmdunXORfStringBuffer), a + inc hl + ld a, (hl) + ld (cryptocmdunXORfStringBuffer + 1), a + push hl + ld hl, cryptocmdunXORfStringBuffer + call hexToA + pop hl + ld (bc), a + inc hl + inc bc + jr cryptocmdunXORfArg2GetLoop +cryptocmdunXORfArg2GetLoopEnd: + + call _NewLine +cryptocmdunXORfExe: + ld hl, cryptocmdunXORfStringPBuffer + ld de, FshCmdArg1 + call xorcrypt + ld hl, cryptocmdunXORfDResult + call _PutS + ld hl, cryptocmdunXORfStringPBuffer + call _PutS + call _NewLine + jp Fin + +cryptocmdunXORfDKey: .db "Key= ", 0 +cryptocmdunXORfDMessage: .db "CypherText= ", 0 +cryptocmdunXORfDResult: .db "Result: ", 0 +cryptocmdunXORfStringBuffer: .db $00, $00, $00, $00 +cryptocmdunXORfStringPBuffer: .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 diff --git a/includes/lib/crypto/Xor.asm b/includes/lib/crypto/Xor.asm index a8fc3eb..8df38c8 100644 --- a/includes/lib/crypto/Xor.asm +++ b/includes/lib/crypto/Xor.asm @@ -8,45 +8,80 @@ xorcrypt: push hl push de - call strlen - push hl - ld hl, 0 - ld h, b - ld l, c - ex de, hl - call strlen - ex de, hl - ld a, l ;BC = len(seed) hl=len(string) - sub c - jr nc, xorcryptSmaller - ld a, 0 -xorcryptSmaller: - ld bc, 0 - ld b, a - ld c, l ;b=len(seed) c=len(string) - pop hl - or a, a - jr z, strxorPadLoopEnd - ex de, hl; hl=seed push bc - ld c, 0 - add hl, bc - pop bc - inc b - ld (hl), %10000000 - push bc -strxorPadLoop: + call strlen + push de + push hl + ld hl, 0 + ld h, b + ld l, c + ex de, hl + call strlen + ex de, hl + ld a, l ;C = len(seed) l=len(string) + sub a,c + jp nc, xorcryptNSmaller + ld c, $01 + ld a, 0 + ld l, 0 +xorcryptNSmaller: + 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 + ex de, hl; hl=seed + pop hl + push bc + push de + ld de, 0 + ld e, b + ld bc, 0 + ld c, e + add hl, bc + pop de + pop bc + inc hl + 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 +xorcryptPadLoop: + inc hl + ld (hl), $11 + djnz xorcryptPadLoop +xorcryptPadLoopEnd: + pop bc + ld (hl), b inc hl ld (hl), $00 - djnz strxorPadLoop - pop bc -strxorPadLoopEnd: - dec hl - ld (hl), b - inc hl - ld (hl), $00 +xorcryptEnd: + pop bc pop de pop hl + ;push hl +;xorcryptRandLoop: + ;ld a, (hl) + ;or a, a + ;jr z, xorcryptRandLoopEnd + ;call randomint + ;ld (hl), a + ;inc hl + ;jr xorcryptRandLoop +;xorcryptRandLoopEnd: + ;pop hl call strxor ret \ No newline at end of file diff --git a/includes/lib/std/Hex.asm b/includes/lib/std/Hex.asm new file mode 100644 index 0000000..0ea39d5 --- /dev/null +++ b/includes/lib/std/Hex.asm @@ -0,0 +1,83 @@ +;;bytetohexstr +;;converts byte to hex string +;;Inputs: +;; A: input byte +;;Outputs: +;; hl: output string location +bytetohexstr: + push hl + push bc + ld bc, 0 + ld c, a + ld b, $0F + and a, b + ld b, a + ld a, c + ld c, b + ld b, 0 + ld hl, hexLUT + add hl, bc + ld b, (hl) + ld hl, bytetohexstrBuf + 1 + ld (hl), b + pop bc + push bc + ld bc, 0 + srl a + srl a + srl a + srl a + ld b, a + ld a, c + ld c, b + ld b, 0 + ld hl, hexLUT + add hl, bc + ld b, (hl) + ld hl, bytetohexstrBuf + ld (hl), b + pop bc + ld hl, bytetohexstrBuf + 2 + ld (hl), $00 + pop hl + ld hl, bytetohexstrBuf + ret + +bytetohexstrBuf: .db $00, $00, $00, $00 + +#include "includes/tables/hexLUT.asm" + +;;hexToA +;;Converts a hexadecimal string to a number. +;;Inputs: +;; HL: String pointer +;;Outputs: +;; A: Value +hexToA: + push bc + push hl + ld b, 0 +_: ld a, (hl) + or a + jr z, hexToA_ret + rl b \ rl b \ rl b \ rl b + call hexToA_doConvert + or b + ld b, a + inc hl + jr -_ +hexToA_ret: + ld a, b + pop hl + pop bc + ret + +hexToA_doConvert: + cp 'a' ; Convert to lowercase + jr c, _ + sub 'a' - 'A' +_: cp 'A' ; Close gap between numbers and letter + jr c, _ + sub 'A'-('9'+1) +_: sub '0' ; To number + ret diff --git a/includes/lib/std/String.asm b/includes/lib/std/String.asm index 90227cc..2137435 100644 --- a/includes/lib/std/String.asm +++ b/includes/lib/std/String.asm @@ -266,9 +266,9 @@ strtowExit: ;;Outputs: ;; HL: Xor String Pointer strxor: - push de - push hl - ex de, hl + push hl + push de + ex de, hl strxorLoop: ld a, (de) or a, a @@ -279,8 +279,8 @@ strxorLoop: inc hl jr strxorLoop strxorEnd: - pop hl - pop de + pop de + pop hl ret diff --git a/includes/lib/std/std.inc b/includes/lib/std/std.inc index 41b9cd2..237ce19 100644 --- a/includes/lib/std/std.inc +++ b/includes/lib/std/std.inc @@ -7,6 +7,7 @@ #include "includes/lib/std/Print.asm" #include "includes/lib/std/Draw.asm" #include "includes/lib/std/Array.asm" +#include "includes/lib/std/Hex.asm" #include "includes/lib/std/String.asm" diff --git a/includes/tables/hexLUT.asm b/includes/tables/hexLUT.asm new file mode 100644 index 0000000..3cbd4ea --- /dev/null +++ b/includes/tables/hexLUT.asm @@ -0,0 +1 @@ +hexLUT: .db "0123456789ABCDEF", 0 \ No newline at end of file