diff --git a/bin/FSHa.8xp b/bin/FSHa.8xp index 29bdb30..13299ce 100644 Binary files a/bin/FSHa.8xp and b/bin/FSHa.8xp differ diff --git a/bin/FSHa.lst b/bin/FSHa.lst index 6cbc403..2eb5756 100644 --- a/bin/FSHa.lst +++ b/bin/FSHa.lst @@ -114,43 +114,43 @@ 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 8D B3 D1 CALL drawstatusbar + 16 D1:A895 CD 9C B3 D1 CALL drawstatusbar 17 D1:A899 - - - - - 18 D1:A899 CD C2 B1 D1 CALL fshvarreset + 18 D1:A899 CD D1 B1 D1 CALL fshvarreset 19 D1:A89D - - - - - 20 D1:A89D CD 68 B3 D1 CALL printmotd + 20 D1:A89D CD 77 B3 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 B3 AF D1 CALL commandfill + 25 D1:A8A3 CD C2 AF D1 CALL commandfill 26 D1:A8A7 - - - - 27 D1:A8A7 21 2B A9 D1 LD HL, PS1 - 28 D1:A8AB CD 89 AA D1 CALL printprompt + 28 D1:A8AB CD 98 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 77 AC D1 CALL inputstr + 32 D1:A8B7 CD 86 AC D1 CALL inputstr 33 D1:A8BB - - - - 34 D1:A8BB 21 9F EA D0 LD HL, FshCmd - 35 D1:A8BF CD CE AF D1 CALL fshparsecommand + 35 D1:A8BF CD DD AF D1 CALL fshparsecommand 36 D1:A8C3 - - - - 37 D1:A8C3 CD F0 07 02 CALL _NewLine 38 D1:A8C7 - - - - 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 A5 B4 D1 CALL commanddecode + 42 D1:A8CF CD BF B4 D1 CALL commanddecode 43 D1:A8D3 - - - - 44 D1:A8D3 - - - - Route: 45 D1:A8D3 21 CC EA D0 LD HL, FshCmdOP - 46 D1:A8D7 C3 AE B4 D1 JP commandroute + 46 D1:A8D7 C3 C8 B4 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 ED B1 D1 JP ErrRoute + 52 D1:A8DF C3 FC B1 D1 JP ErrRoute 53 D1:A8E3 - - - - 54 D1:A8E3 - - - - Cleanup: 55 D1:A8E3 FD CB 03 C6 SET graphdraw,(IY+graphflags) @@ -282,2197 +282,2223 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\li 71 D1:A997 C1 - - - pop bc 72 D1:A998 C9 - - - ret 73 D1:A999 - - - - - 74 D1:A999 - - - - - 75 D1:A999 - - - - ;;mul32By8 - 76 D1:A999 - - - - ;;Performs an unsigned multiplication of DEHL and A. - 77 D1:A999 - - - - ;;Outputs: - 78 D1:A999 - - - - ;; DEHL: product of DEHL and A - 79 D1:A999 - - - - mul32By8: - 80 D1:A999 C5 DD E5 - push bc \ push ix - 81 D1:A99C DD 2E 08 - ld ixl, 8 - 82 D1:A99F D5 - - - push de - 83 D1:A9A0 E5 - - - push hl - 84 D1:A9A1 21 00 00 00 ld hl, 0 - 85 D1:A9A5 54 - - - ld d, h - 86 D1:A9A6 5D - - - ld e, l - 87 D1:A9A7 - - - - mul32by8loop: - 88 D1:A9A7 29 - - - add hl, hl - 89 D1:A9A8 CB 13 - - rl e - 90 D1:A9AA CB 12 - - rl d - 91 D1:A9AC 17 - - - rla - 92 D1:A9AD 30 0A - - jr nc, mul32by8noAdd - 93 D1:A9AF C1 - - - pop bc - 94 D1:A9B0 09 - - - add hl, bc - 95 D1:A9B1 E3 - - - ex (sp), hl - 96 D1:A9B2 E5 - - - push hl - 97 D1:A9B3 ED 5A - - adc hl, de - 98 D1:A9B5 D1 - - - pop de - 99 D1:A9B6 EB - - - ex de, hl - 100 D1:A9B7 E3 - - - ex (sp), hl - 101 D1:A9B8 C5 - - - push bc - 102 D1:A9B9 - - - - mul32by8noAdd: - 103 D1:A9B9 DD 2D - - dec ixl - 104 D1:A9BB 20 EA - - jr nz, mul32by8loop - 105 D1:A9BD C1 - - - pop bc - 106 D1:A9BE C1 - - - pop bc - 107 D1:A9BF DD E1 C1 - pop ix \ pop bc - 108 D1:A9C2 C9 - - - ret - 109 D1:A9C3 - - - - + 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:A9C3 - - - - #include "includes/lib/std/Byte.asm" + 2 D1:A9D2 - - - - #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:A9C3 - - - - ;;bytecmp - 2 D1:A9C3 - - - - ;;Determines if two bytes are equal. - 3 D1:A9C3 - - - - ;;Inputs: - 4 D1:A9C3 - - - - ;; HL: Byte pointer - 5 D1:A9C3 - - - - ;; DE: Byte pointer - 6 D1:A9C3 - - - - ;;Outputs: - 7 D1:A9C3 - - - - ;; Z: Set if equal, reset if not equal - 8 D1:A9C3 - - - - bytecmp: - 9 D1:A9C3 E5 - - - push hl - 10 D1:A9C4 D5 - - - push de - 11 D1:A9C5 1A - - - ld a, (de) - 12 D1:A9C6 B7 - - - or a - 13 D1:A9C7 BE - - - cp (hl) - 14 D1:A9C8 D1 - - - pop de - 15 D1:A9C9 E1 - - - pop hl - 16 D1:A9CA C9 - - - ret - 17 D1:A9CB - - - - - 18 D1:A9CB - - - - ;;bytecpy - 19 D1:A9CB - - - - ;; Copies a byte. - 20 D1:A9CB - - - - ;;Inputs: - 21 D1:A9CB - - - - ;; HL: Byte pointer - 22 D1:A9CB - - - - ;; DE: Destination - 23 D1:A9CB - - - - bytecpy: - 24 D1:A9CB D5 - - - push de - 25 D1:A9CC E5 - - - push hl - 26 D1:A9CD EB - - - ex de, hl - 27 D1:A9CE 1A - - - ld a, (de) - 28 D1:A9CF 77 - - - ld (hl), a - 29 D1:A9D0 E1 - - - pop hl - 30 D1:A9D1 D1 - - - pop de - 31 D1:A9D2 C9 - - - ret + 1 D1:A9D2 - - - - ;;bytecmp + 2 D1:A9D2 - - - - ;;Determines if two bytes are equal. + 3 D1:A9D2 - - - - ;;Inputs: + 4 D1:A9D2 - - - - ;; HL: Byte pointer + 5 D1:A9D2 - - - - ;; DE: Byte pointer + 6 D1:A9D2 - - - - ;;Outputs: + 7 D1:A9D2 - - - - ;; Z: Set if equal, reset if not equal + 8 D1:A9D2 - - - - bytecmp: + 9 D1:A9D2 E5 - - - push hl + 10 D1:A9D3 D5 - - - push de + 11 D1:A9D4 1A - - - ld a, (de) + 12 D1:A9D5 B7 - - - or a + 13 D1:A9D6 BE - - - cp (hl) + 14 D1:A9D7 D1 - - - pop de + 15 D1:A9D8 E1 - - - pop hl + 16 D1:A9D9 C9 - - - ret + 17 D1:A9DA - - - - + 18 D1:A9DA - - - - ;;bytecpy + 19 D1:A9DA - - - - ;; Copies a byte. + 20 D1:A9DA - - - - ;;Inputs: + 21 D1:A9DA - - - - ;; HL: Byte pointer + 22 D1:A9DA - - - - ;; DE: Destination + 23 D1:A9DA - - - - bytecpy: + 24 D1:A9DA D5 - - - push de + 25 D1:A9DB E5 - - - push hl + 26 D1:A9DC EB - - - ex de, hl + 27 D1:A9DD 1A - - - ld a, (de) + 28 D1:A9DE 77 - - - ld (hl), a + 29 D1:A9DF E1 - - - pop hl + 30 D1:A9E0 D1 - - - pop de + 31 D1:A9E1 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 3 D1:A9D3 - - - - #include "includes/lib/std/Mem.asm" + 3 D1:A9E2 - - - - #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:A9D3 - - - - ;;memset - 2 D1:A9D3 - - - - ;;Fills B amount of bytes from hl with a - 3 D1:A9D3 - - - - ;;Inputs: - 4 D1:A9D3 - - - - ;; HL: start - 5 D1:A9D3 - - - - ;; B: how many bytes - 6 D1:A9D3 - - - - ;; A: Byte - 7 D1:A9D3 - - - - memset: - 8 D1:A9D3 E5 - - - push hl - 9 D1:A9D4 C5 - - - push bc - 10 D1:A9D5 - - - - memsetLoop: - 11 D1:A9D5 77 - - - ld (hl), a - 12 D1:A9D6 23 - - - inc hl - 13 D1:A9D7 10 FC - - djnz memsetLoop - 14 D1:A9D9 C1 - - - pop bc - 15 D1:A9DA E1 - - - pop hl - 16 D1:A9DB C9 - - - ret + 1 D1:A9E2 - - - - ;;memset + 2 D1:A9E2 - - - - ;;Fills B amount of bytes from hl with a + 3 D1:A9E2 - - - - ;;Inputs: + 4 D1:A9E2 - - - - ;; HL: start + 5 D1:A9E2 - - - - ;; B: how many bytes + 6 D1:A9E2 - - - - ;; A: Byte + 7 D1:A9E2 - - - - memset: + 8 D1:A9E2 E5 - - - push hl + 9 D1:A9E3 C5 - - - push bc + 10 D1:A9E4 - - - - memsetLoop: + 11 D1:A9E4 77 - - - ld (hl), a + 12 D1:A9E5 23 - - - inc hl + 13 D1:A9E6 10 FC - - djnz memsetLoop + 14 D1:A9E8 C1 - - - pop bc + 15 D1:A9E9 E1 - - - pop hl + 16 D1:A9EA C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 4 D1:A9DC - - - - #include "includes/lib/std/Char.asm" + 4 D1:A9EB - - - - #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:A9DC - - - - #include "includes/tables/CSC.asm" + 1 D1:A9EB - - - - #include "includes/tables/CSC.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\tables\CSC.asm" - 1 D1:A9DC - - - - charMapCSC: - 2 D1:A9DC 22 57 52 4D + 1 D1:A9EB - - - - charMapCSC: + 2 D1:A9EB 22 57 52 4D 48 FF FF - .DB "\"WRMH", $FF, $FF - 3 D1:A9E3 3F 5B 56 51 + 3 D1:A9F2 3F 5B 56 51 4C 47 FF FF .DB Lquestion, Ltheta, "VQLG", $FF, $FF - 4 D1:A9EB 3A 5A 55 50 + 4 D1:A9FA 3A 5A 55 50 4B 46 43 FF .DB ":ZUPKFC", $FF - 5 D1:A9F3 20 59 54 4F + 5 D1:AA02 20 59 54 4F 4A 45 42 FF .DB " YTOJEB", $FF - 6 D1:A9FB FF 58 53 4E + 6 D1:AA0A FF 58 53 4E 49 44 41 - .DB $FF, "XSNIDA" - 7 D1:AA02 - - - - - 8 D1:AA02 - - - - numsymMapCSC - 9 D1:AA02 2B 2D 2A 2F + 7 D1:AA11 - - - - + 8 D1:AA11 - - - - numsymMapCSC + 9 D1:AA11 2B 2D 2A 2F 5E FF FF - .DB "+-*/^", $FF, $FF - 10 D1:AA09 5F 33 36 39 + 10 D1:AA18 5F 33 36 39 29 C1 5D FF .DB "_369)", $C1, "]", $FF - 11 D1:AA11 2E 32 35 38 + 11 D1:AA20 2E 32 35 38 28 7B 7D 3B .DB ".258({};" - 12 D1:AA19 30 31 34 37 + 12 D1:AA28 30 31 34 37 2C 20 3C 3E 7C FF - - .DB "0147, <>|", $FF - 13 D1:AA23 05 21 40 23 + 13 D1:AA32 05 21 40 23 25 26 - - .DB $05, "!@#%&" - 14 D1:AA29 - - - - - 15 D1:AA29 - - - - numMapCSC - 16 D1:AA29 FF FF FF FF + 14 D1:AA38 - - - - + 15 D1:AA38 - - - - numMapCSC + 16 D1:AA38 FF FF FF FF FF FF FF - .DB $FF, $FF, $FF, $FF, $FF, $FF, $FF - 17 D1:AA30 FF 33 36 39 + 17 D1:AA3F FF 33 36 39 FF FF FF FF .DB $FF, "369", $FF, $FF, $FF, $FF - 18 D1:AA38 FF 32 35 38 + 18 D1:AA47 FF 32 35 38 FF FF FF FF .DB $FF, "258", $FF, $FF, $FF, $FF - 19 D1:AA40 30 31 34 37 + 19 D1:AA4F 30 31 34 37 FF FF FF FF FF FF - - .DB "0147", $FF, $FF, $FF, $FF, $FF, $FF - 20 D1:AA4A FF FF FF FF + 20 D1:AA59 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:AA50 - - - - ;;chartoascii - 3 D1:AA50 - - - - ;;Converts a char to "ascii" - 4 D1:AA50 - - - - ;;Inputs: - 5 D1:AA50 - - - - ;; A: char code (csc) - 6 D1:AA50 - - - - ;;Outputs: - 7 D1:AA50 - - - - ;; A: ascii char - 8 D1:AA50 - - - - chartoascii: - 9 D1:AA50 E5 - - - push hl - 10 D1:AA51 21 00 00 00 ld hl, 0 - 11 D1:AA55 26 00 - - ld h, 0 - 12 D1:AA57 6F - - - ld l, a - 13 D1:AA58 11 DC A9 D1 ld de, charMapCSC - 14 D1:AA5C 19 - - - add hl, de - 15 D1:AA5D 7E - - - ld a, (hl) - 16 D1:AA5E E1 - - - pop hl - 17 D1:AA5F C9 - - - ret - 18 D1:AA60 - - - - - 19 D1:AA60 - - - - ;;Charnumtoascii - 20 D1:AA60 - - - - ;;Converts a char to "ascii" - 21 D1:AA60 - - - - ;;Inputs: - 22 D1:AA60 - - - - ;; A: char code (csc) - 23 D1:AA60 - - - - ;;Outputs: - 24 D1:AA60 - - - - ;; A: ascii char - 25 D1:AA60 - - - - charnumtoascii: - 26 D1:AA60 E5 - - - push hl - 27 D1:AA61 21 00 00 00 ld hl, 0 - 28 D1:AA65 26 00 - - ld h, 0 - 29 D1:AA67 6F - - - ld l, a - 30 D1:AA68 11 29 AA D1 ld de, numMapCSC - 31 D1:AA6C 19 - - - add hl, de - 32 D1:AA6D 7E - - - ld a, (hl) - 33 D1:AA6E E1 - - - pop hl - 34 D1:AA6F C9 - - - ret - 35 D1:AA70 - - - - - 36 D1:AA70 - - - - ;;charnumsymtoascii - 37 D1:AA70 - - - - ;;Converts a char to "ascii" - 38 D1:AA70 - - - - ;;Inputs: - 39 D1:AA70 - - - - ;; A: char code (csc) - 40 D1:AA70 - - - - ;;Outputs: - 41 D1:AA70 - - - - ;; A: ascii char - 42 D1:AA70 - - - - charnumsymtoascii: - 43 D1:AA70 E5 - - - push hl - 44 D1:AA71 21 00 00 00 ld hl, 0 - 45 D1:AA75 26 00 - - ld h, 0 - 46 D1:AA77 6F - - - ld l, a - 47 D1:AA78 11 02 AA D1 ld de, numsymMapCSC - 48 D1:AA7C 19 - - - add hl, de - 49 D1:AA7D 7E - - - ld a, (hl) - 50 D1:AA7E E1 - - - pop hl - 51 D1:AA7F C9 - - - ret + 2 D1:AA5F - - - - ;;chartoascii + 3 D1:AA5F - - - - ;;Converts a char to "ascii" + 4 D1:AA5F - - - - ;;Inputs: + 5 D1:AA5F - - - - ;; A: char code (csc) + 6 D1:AA5F - - - - ;;Outputs: + 7 D1:AA5F - - - - ;; A: ascii char + 8 D1:AA5F - - - - chartoascii: + 9 D1:AA5F E5 - - - push hl + 10 D1:AA60 21 00 00 00 ld hl, 0 + 11 D1:AA64 26 00 - - ld h, 0 + 12 D1:AA66 6F - - - ld l, a + 13 D1:AA67 11 EB A9 D1 ld de, charMapCSC + 14 D1:AA6B 19 - - - add hl, de + 15 D1:AA6C 7E - - - ld a, (hl) + 16 D1:AA6D E1 - - - pop hl + 17 D1:AA6E C9 - - - ret + 18 D1:AA6F - - - - + 19 D1:AA6F - - - - ;;Charnumtoascii + 20 D1:AA6F - - - - ;;Converts a char to "ascii" + 21 D1:AA6F - - - - ;;Inputs: + 22 D1:AA6F - - - - ;; A: char code (csc) + 23 D1:AA6F - - - - ;;Outputs: + 24 D1:AA6F - - - - ;; A: ascii char + 25 D1:AA6F - - - - charnumtoascii: + 26 D1:AA6F E5 - - - push hl + 27 D1:AA70 21 00 00 00 ld hl, 0 + 28 D1:AA74 26 00 - - ld h, 0 + 29 D1:AA76 6F - - - ld l, a + 30 D1:AA77 11 38 AA D1 ld de, numMapCSC + 31 D1:AA7B 19 - - - add hl, de + 32 D1:AA7C 7E - - - ld a, (hl) + 33 D1:AA7D E1 - - - pop hl + 34 D1:AA7E C9 - - - ret + 35 D1:AA7F - - - - + 36 D1:AA7F - - - - ;;charnumsymtoascii + 37 D1:AA7F - - - - ;;Converts a char to "ascii" + 38 D1:AA7F - - - - ;;Inputs: + 39 D1:AA7F - - - - ;; A: char code (csc) + 40 D1:AA7F - - - - ;;Outputs: + 41 D1:AA7F - - - - ;; A: ascii char + 42 D1:AA7F - - - - charnumsymtoascii: + 43 D1:AA7F E5 - - - push hl + 44 D1:AA80 21 00 00 00 ld hl, 0 + 45 D1:AA84 26 00 - - ld h, 0 + 46 D1:AA86 6F - - - ld l, a + 47 D1:AA87 11 11 AA D1 ld de, numsymMapCSC + 48 D1:AA8B 19 - - - add hl, de + 49 D1:AA8C 7E - - - ld a, (hl) + 50 D1:AA8D E1 - - - pop hl + 51 D1:AA8E C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 5 D1:AA80 - - - - #include "includes/lib/std/Cursor.asm" + 5 D1:AA8F - - - - #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:AA80 - - - - ;;cursorcharunderreset - 2 D1:AA80 - - - - ;;Sets curUnder to 0 - 3 D1:AA80 - - - - cursorcurunderreset: - 4 D1:AA80 E5 - - - push hl - 5 D1:AA81 21 99 05 D0 ld hl, curUnder - 6 D1:AA85 36 20 - - ld (hl), ' ' - 7 D1:AA87 E1 - - - pop hl - 8 D1:AA88 C9 - - - ret + 1 D1:AA8F - - - - ;;cursorcharunderreset + 2 D1:AA8F - - - - ;;Sets curUnder to 0 + 3 D1:AA8F - - - - cursorcurunderreset: + 4 D1:AA8F E5 - - - push hl + 5 D1:AA90 21 99 05 D0 ld hl, curUnder + 6 D1:AA94 36 20 - - ld (hl), ' ' + 7 D1:AA96 E1 - - - pop hl + 8 D1:AA97 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 6 D1:AA89 - - - - #include "includes/lib/std/Print.asm" + 6 D1:AA98 - - - - #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:AA89 - - - - ;;printprompt - 2 D1:AA89 - - - - ;;Sets curcol to 0 and prints prompt - 3 D1:AA89 - - - - ;;Inputs: - 4 D1:AA89 - - - - ;; HL: Prompt String Location - 5 D1:AA89 - - - - printprompt: - 6 D1:AA89 E5 - - - push hl - 7 D1:AA8A AF - - - xor a - 8 D1:AA8B 32 96 05 D0 ld (CurCol), a - 9 D1:AA8F CD C0 07 02 call _PutS - 10 D1:AA93 E1 - - - pop hl - 11 D1:AA94 C9 - - - ret + 1 D1:AA98 - - - - ;;printprompt + 2 D1:AA98 - - - - ;;Sets curcol to 0 and prints prompt + 3 D1:AA98 - - - - ;;Inputs: + 4 D1:AA98 - - - - ;; HL: Prompt String Location + 5 D1:AA98 - - - - printprompt: + 6 D1:AA98 E5 - - - push hl + 7 D1:AA99 AF - - - xor a + 8 D1:AA9A 32 96 05 D0 ld (CurCol), a + 9 D1:AA9E CD C0 07 02 call _PutS + 10 D1:AAA2 E1 - - - pop hl + 11 D1:AAA3 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 7 D1:AA95 - - - - #include "includes/lib/std/Draw.asm" + 7 D1:AAA4 - - - - #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:AA95 - - - - ;;drawpixel - 2 D1:AA95 - - - - ;;Sets a pixel to specified color (565) - 3 D1:AA95 - - - - ;;Inputs: - 4 D1:AA95 - - - - ;; HL: color - 5 D1:AA95 - - - - ;; DE: vRam location - 6 D1:AA95 - - - - drawpixel: - 7 D1:AA95 E5 - - - push hl - 8 D1:AA96 D5 - - - push de - 9 D1:AA97 EB - - - ex de, hl - 10 D1:AA98 73 - - - ld (hl), e - 11 D1:AA99 23 - - - inc hl - 12 D1:AA9A 72 - - - ld (hl), d - 13 D1:AA9B D1 - - - pop de - 14 D1:AA9C E1 - - - pop hl - 15 D1:AA9D C9 - - - ret - 16 D1:AA9E - - - - - 17 D1:AA9E - - - - ;;drawpixelxy - 18 D1:AA9E - - - - ;;Sets a pixel to specified color - 19 D1:AA9E - - - - ;;Inputs: - 20 D1:AA9E - - - - ;; HL: color - 21 D1:AA9E - - - - ;; DE: x - 22 D1:AA9E - - - - ;; A: y - 23 D1:AA9E - - - - drawpixelxy - 24 D1:AA9E D5 - - - push de - 25 D1:AA9F E5 - - - push hl - 26 D1:AAA0 EB - - - ex de, hl - 27 D1:AAA1 29 - - - add hl, hl - 28 D1:AAA2 E5 - - - push hl - 29 D1:AAA3 21 80 02 00 ld hl, 640 - 30 D1:AAA7 CD 87 A9 D1 call mulAbyHL - 31 D1:AAAB EB - - - ex de, hl - 32 D1:AAAC E1 - - - pop hl - 33 D1:AAAD 19 - - - add hl, de - 34 D1:AAAE 11 00 00 D4 ld de, vRam - 35 D1:AAB2 19 - - - add hl, de - 36 D1:AAB3 EB - - - ex de, hl - 37 D1:AAB4 E1 - - - pop hl - 38 D1:AAB5 CD 95 AA D1 call drawpixel - 39 D1:AAB9 D1 - - - pop de - 40 D1:AABA C9 - - - ret - 41 D1:AABB - - - - - 42 D1:AABB - - - - ;;drawrow - 43 D1:AABB - - - - ;;Draws a row on lcd - 44 D1:AABB - - - - ;;Inputs: - 45 D1:AABB - - - - ;; A: y - 46 D1:AABB - - - - ;; HL: color - 47 D1:AABB - - - - drawrow: - 48 D1:AABB E5 - - - push hl - 49 D1:AABC C5 - - - push bc - 50 D1:AABD E5 - - - push hl - 51 D1:AABE 21 E0 01 00 ld hl, lcdHeight * 2 - 52 D1:AAC2 CD 87 A9 D1 call mulAbyHL - 53 D1:AAC6 11 00 00 D4 ld de, vRam - 54 D1:AACA 19 - - - add hl, de - 55 D1:AACB EB - - - ex de, hl - 56 D1:AACC E1 - - - pop hl - 57 D1:AACD 01 40 01 00 ld bc, lcdWidth - 58 D1:AAD1 - - - - drawrowLoop: - 59 D1:AAD1 CD 95 AA D1 call drawpixel - 60 D1:AAD5 13 - - - inc de - 61 D1:AAD6 13 - - - inc de - 62 D1:AAD7 0B - - - dec bc - 63 D1:AAD8 E5 - - - push hl - 64 D1:AAD9 21 00 00 00 ld hl, 0 - 65 D1:AADD CD 72 A9 D1 call cpHLBC - 66 D1:AAE1 E1 - - - pop hl - 67 D1:AAE2 20 ED - - jr nz, drawrowLoop - 68 D1:AAE4 C1 - - - pop bc - 69 D1:AAE5 E1 - - - pop hl - 70 D1:AAE6 C9 - - - ret - 71 D1:AAE7 - - - - - 72 D1:AAE7 - - - - ;;drawbar - 73 D1:AAE7 - - - - ;;Loops drawing row - 74 D1:AAE7 - - - - ;;Inputs: - 75 D1:AAE7 - - - - ;; A: y - 76 D1:AAE7 - - - - ;; [B]C: height - 77 D1:AAE7 - - - - ;; HL: color - 78 D1:AAE7 - - - - drawbar: - 79 D1:AAE7 C5 - - - push bc - 80 D1:AAE8 - - - - drawbarLoop: - 81 D1:AAE8 CD BB AA D1 call drawrow - 82 D1:AAEC 0B - - - dec bc - 83 D1:AAED 3C - - - inc a - 84 D1:AAEE E5 - - - push hl - 85 D1:AAEF 21 00 00 00 ld hl, 0 - 86 D1:AAF3 CD 72 A9 D1 call cpHLBC - 87 D1:AAF7 E1 - - - pop hl - 88 D1:AAF8 20 EE - - jr nz, drawbarLoop - 89 D1:AAFA C1 - - - pop bc - 90 D1:AAFB C9 - - - ret - 91 D1:AAFC - - - - - 92 D1:AAFC - - - - ;;drawrectfilled - 93 D1:AAFC - - - - ;;Draws a rectangle from coordinates (Slow) - 94 D1:AAFC - - - - ;;Inputs: - 95 D1:AAFC - - - - ;; DE: x - 96 D1:AAFC - - - - ;; C: y - 97 D1:AAFC - - - - ;; HL: width - 98 D1:AAFC - - - - ;; A: height - 99 D1:AAFC - - - - ;; IXH+IXL: color - 100 D1:AAFC - - - - drawrectfilled: - 101 D1:AAFC 19 - - - add hl, de - 102 D1:AAFD 81 - - - add a, c - 103 D1:AAFE 47 - - - ld b, a - 104 D1:AAFF - - - - drawrectfilledLoopY: - 105 D1:AAFF D5 - - - push de - 106 D1:AB00 - - - - drawrectfilledLoopX: - 107 D1:AB00 E5 - - - push hl - 108 D1:AB01 C5 - - - push bc - 109 D1:AB02 EB - - - ex de, hl - 110 D1:AB03 DD 54 - - ld d, ixh - 111 D1:AB05 DD 5D - - ld e, ixl - 112 D1:AB07 EB - - - ex de, hl - 113 D1:AB08 79 - - - ld a, c - 114 D1:AB09 CD 9E AA D1 call drawpixelxy - 115 D1:AB0D C1 - - - pop bc - 116 D1:AB0E E1 - - - pop hl - 117 D1:AB0F 13 - - - inc de - 118 D1:AB10 CD 6D A9 D1 call cpHLDE - 119 D1:AB14 20 EA - - jr nz, drawrectfilledLoopX - 120 D1:AB16 D1 - - - pop de - 121 D1:AB17 0C - - - inc c - 122 D1:AB18 78 - - - ld a, b - 123 D1:AB19 B9 - - - cp c - 124 D1:AB1A 20 E3 - - jr nz, drawrectfilledLoopY - 125 D1:AB1C C9 - - - ret + 1 D1:AAA4 - - - - ;;drawpixel + 2 D1:AAA4 - - - - ;;Sets a pixel to specified color (565) + 3 D1:AAA4 - - - - ;;Inputs: + 4 D1:AAA4 - - - - ;; HL: color + 5 D1:AAA4 - - - - ;; DE: vRam location + 6 D1:AAA4 - - - - drawpixel: + 7 D1:AAA4 E5 - - - push hl + 8 D1:AAA5 D5 - - - push de + 9 D1:AAA6 EB - - - ex de, hl + 10 D1:AAA7 73 - - - ld (hl), e + 11 D1:AAA8 23 - - - inc hl + 12 D1:AAA9 72 - - - ld (hl), d + 13 D1:AAAA D1 - - - pop de + 14 D1:AAAB E1 - - - pop hl + 15 D1:AAAC C9 - - - ret + 16 D1:AAAD - - - - + 17 D1:AAAD - - - - ;;drawpixelxy + 18 D1:AAAD - - - - ;;Sets a pixel to specified color + 19 D1:AAAD - - - - ;;Inputs: + 20 D1:AAAD - - - - ;; HL: color + 21 D1:AAAD - - - - ;; DE: x + 22 D1:AAAD - - - - ;; A: y + 23 D1:AAAD - - - - drawpixelxy + 24 D1:AAAD D5 - - - push de + 25 D1:AAAE E5 - - - push hl + 26 D1:AAAF EB - - - ex de, hl + 27 D1:AAB0 29 - - - add hl, hl + 28 D1:AAB1 E5 - - - push hl + 29 D1:AAB2 21 80 02 00 ld hl, 640 + 30 D1:AAB6 CD 87 A9 D1 call mulAbyHL + 31 D1:AABA EB - - - ex de, hl + 32 D1:AABB E1 - - - pop hl + 33 D1:AABC 19 - - - add hl, de + 34 D1:AABD 11 00 00 D4 ld de, vRam + 35 D1:AAC1 19 - - - add hl, de + 36 D1:AAC2 EB - - - ex de, hl + 37 D1:AAC3 E1 - - - pop hl + 38 D1:AAC4 CD A4 AA D1 call drawpixel + 39 D1:AAC8 D1 - - - pop de + 40 D1:AAC9 C9 - - - ret + 41 D1:AACA - - - - + 42 D1:AACA - - - - ;;drawrow + 43 D1:AACA - - - - ;;Draws a row on lcd + 44 D1:AACA - - - - ;;Inputs: + 45 D1:AACA - - - - ;; A: y + 46 D1:AACA - - - - ;; HL: color + 47 D1:AACA - - - - drawrow: + 48 D1:AACA E5 - - - push hl + 49 D1:AACB C5 - - - push bc + 50 D1:AACC E5 - - - push hl + 51 D1:AACD 21 E0 01 00 ld hl, lcdHeight * 2 + 52 D1:AAD1 CD 87 A9 D1 call mulAbyHL + 53 D1:AAD5 11 00 00 D4 ld de, vRam + 54 D1:AAD9 19 - - - add hl, de + 55 D1:AADA EB - - - ex de, hl + 56 D1:AADB E1 - - - pop hl + 57 D1:AADC 01 40 01 00 ld bc, lcdWidth + 58 D1:AAE0 - - - - drawrowLoop: + 59 D1:AAE0 CD A4 AA D1 call drawpixel + 60 D1:AAE4 13 - - - inc de + 61 D1:AAE5 13 - - - inc de + 62 D1:AAE6 0B - - - dec bc + 63 D1:AAE7 E5 - - - push hl + 64 D1:AAE8 21 00 00 00 ld hl, 0 + 65 D1:AAEC CD 72 A9 D1 call cpHLBC + 66 D1:AAF0 E1 - - - pop hl + 67 D1:AAF1 20 ED - - jr nz, drawrowLoop + 68 D1:AAF3 C1 - - - pop bc + 69 D1:AAF4 E1 - - - pop hl + 70 D1:AAF5 C9 - - - ret + 71 D1:AAF6 - - - - + 72 D1:AAF6 - - - - ;;drawbar + 73 D1:AAF6 - - - - ;;Loops drawing row + 74 D1:AAF6 - - - - ;;Inputs: + 75 D1:AAF6 - - - - ;; A: y + 76 D1:AAF6 - - - - ;; [B]C: height + 77 D1:AAF6 - - - - ;; HL: color + 78 D1:AAF6 - - - - drawbar: + 79 D1:AAF6 C5 - - - push bc + 80 D1:AAF7 - - - - drawbarLoop: + 81 D1:AAF7 CD CA AA D1 call drawrow + 82 D1:AAFB 0B - - - dec bc + 83 D1:AAFC 3C - - - inc a + 84 D1:AAFD E5 - - - push hl + 85 D1:AAFE 21 00 00 00 ld hl, 0 + 86 D1:AB02 CD 72 A9 D1 call cpHLBC + 87 D1:AB06 E1 - - - pop hl + 88 D1:AB07 20 EE - - jr nz, drawbarLoop + 89 D1:AB09 C1 - - - pop bc + 90 D1:AB0A C9 - - - ret + 91 D1:AB0B - - - - + 92 D1:AB0B - - - - ;;drawrectfilled + 93 D1:AB0B - - - - ;;Draws a rectangle from coordinates (Slow) + 94 D1:AB0B - - - - ;;Inputs: + 95 D1:AB0B - - - - ;; DE: x + 96 D1:AB0B - - - - ;; C: y + 97 D1:AB0B - - - - ;; HL: width + 98 D1:AB0B - - - - ;; A: height + 99 D1:AB0B - - - - ;; IXH+IXL: color + 100 D1:AB0B - - - - drawrectfilled: + 101 D1:AB0B 19 - - - add hl, de + 102 D1:AB0C 81 - - - add a, c + 103 D1:AB0D 47 - - - ld b, a + 104 D1:AB0E - - - - drawrectfilledLoopY: + 105 D1:AB0E D5 - - - push de + 106 D1:AB0F - - - - drawrectfilledLoopX: + 107 D1:AB0F E5 - - - push hl + 108 D1:AB10 C5 - - - push bc + 109 D1:AB11 EB - - - ex de, hl + 110 D1:AB12 DD 54 - - ld d, ixh + 111 D1:AB14 DD 5D - - ld e, ixl + 112 D1:AB16 EB - - - ex de, hl + 113 D1:AB17 79 - - - ld a, c + 114 D1:AB18 CD AD AA D1 call drawpixelxy + 115 D1:AB1C C1 - - - pop bc + 116 D1:AB1D E1 - - - pop hl + 117 D1:AB1E 13 - - - inc de + 118 D1:AB1F CD 6D A9 D1 call cpHLDE + 119 D1:AB23 20 EA - - jr nz, drawrectfilledLoopX + 120 D1:AB25 D1 - - - pop de + 121 D1:AB26 0C - - - inc c + 122 D1:AB27 78 - - - ld a, b + 123 D1:AB28 B9 - - - cp c + 124 D1:AB29 20 E3 - - jr nz, drawrectfilledLoopY + 125 D1:AB2B C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 8 D1:AB1D - - - - #include "includes/lib/std/Array.asm" + 8 D1:AB2C - - - - #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:AB1D - - - - ;;array2d - 2 D1:AB1D - - - - ;;gets the address of 2d array - 3 D1:AB1D - - - - ;;Inputs: - 4 D1:AB1D - - - - ;; H: y - 5 D1:AB1D - - - - ;; L: x width - 6 D1:AB1D - - - - ;; B: x - 7 D1:AB1D - - - - ;; DE: Array start - 8 D1:AB1D - - - - ;;Outputs: - 9 D1:AB1D - - - - ;; DE: Array loc address - 10 D1:AB1D - - - - array2d: - 11 D1:AB1D E5 - - - push hl - 12 D1:AB1E ED 6C - - mlt hl - 13 D1:AB20 19 - - - add hl, de - 14 D1:AB21 11 00 00 00 ld de, 0 - 15 D1:AB25 58 - - - ld e, b - 16 D1:AB26 19 - - - add hl, de - 17 D1:AB27 EB - - - ex de, hl - 18 D1:AB28 E1 - - - pop hl - 19 D1:AB29 C9 - - - ret + 1 D1:AB2C - - - - ;;array2d + 2 D1:AB2C - - - - ;;gets the address of 2d array + 3 D1:AB2C - - - - ;;Inputs: + 4 D1:AB2C - - - - ;; H: y + 5 D1:AB2C - - - - ;; L: x width + 6 D1:AB2C - - - - ;; B: x + 7 D1:AB2C - - - - ;; DE: Array start + 8 D1:AB2C - - - - ;;Outputs: + 9 D1:AB2C - - - - ;; DE: Array loc address + 10 D1:AB2C - - - - array2d: + 11 D1:AB2C E5 - - - push hl + 12 D1:AB2D ED 6C - - mlt hl + 13 D1:AB2F 19 - - - add hl, de + 14 D1:AB30 11 00 00 00 ld de, 0 + 15 D1:AB34 58 - - - ld e, b + 16 D1:AB35 19 - - - add hl, de + 17 D1:AB36 EB - - - ex de, hl + 18 D1:AB37 E1 - - - pop hl + 19 D1:AB38 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 9 D1:AB2A - - - - - 10 D1:AB2A - - - - #include "includes/lib/std/String.asm" + 9 D1:AB39 - - - - + 10 D1:AB39 - - - - #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:AB2A - - - - ;;strlen - 2 D1:AB2A - - - - ;;Determines the length of a zero delimited string. - 3 D1:AB2A - - - - ;;Inputs: - 4 D1:AB2A - - - - ;; HL: String pointer - 5 D1:AB2A - - - - ;;Outputs: - 6 D1:AB2A - - - - ;; BC: String length - 7 D1:AB2A - - - - strlen: - 8 D1:AB2A F5 - - - push af - 9 D1:AB2B E5 - - - push hl - 10 D1:AB2C AF - - - xor a - 11 D1:AB2D 47 - - - ld b, a - 12 D1:AB2E 4F - - - ld c, a - 13 D1:AB2F ED B1 - - cpir - 14 D1:AB31 - - - - ; bc = -bc - 15 D1:AB31 AF 91 4F 9F + 1 D1:AB39 - - - - ;;strlen + 2 D1:AB39 - - - - ;;Determines the length of a zero delimited string. + 3 D1:AB39 - - - - ;;Inputs: + 4 D1:AB39 - - - - ;; HL: String pointer + 5 D1:AB39 - - - - ;;Outputs: + 6 D1:AB39 - - - - ;; BC: String length + 7 D1:AB39 - - - - strlen: + 8 D1:AB39 F5 - - - push af + 9 D1:AB3A E5 - - - push hl + 10 D1:AB3B AF - - - xor a + 11 D1:AB3C 47 - - - ld b, a + 12 D1:AB3D 4F - - - ld c, a + 13 D1:AB3E ED B1 - - cpir + 14 D1:AB40 - - - - ; bc = -bc + 15 D1:AB40 AF 91 4F 9F 90 47 - - xor a \ sub c \ ld c, a \ sbc a, a \ sub b \ ld b, a - 16 D1:AB37 0B - - - dec bc - 17 D1:AB38 E1 - - - pop hl - 18 D1:AB39 F1 - - - pop af - 19 D1:AB3A C9 - - - ret - 20 D1:AB3B - - - - - 21 D1:AB3B - - - - ;;strcmp - 22 D1:AB3B - - - - ;;Determines if two strings are equal, and checks alphabetical sort order. - 23 D1:AB3B - - - - ;;Inputs: - 24 D1:AB3B - - - - ;; HL: String pointer - 25 D1:AB3B - - - - ;; DE: String pointer - 26 D1:AB3B - - - - ;;Outputs: - 27 D1:AB3B - - - - ;; Z: Set if equal, reset if not equal - 28 D1:AB3B - - - - ;; C: Set if string HL is alphabetically earlier than string DE - 29 D1:AB3B - - - - strcmp: - 30 D1:AB3B E5 - - - push hl - 31 D1:AB3C D5 - - - push de - 32 D1:AB3D - - - - strcmpLoop: - 33 D1:AB3D 1A - - - ld a, (de) - 34 D1:AB3E B7 - - - or a - 35 D1:AB3F 28 07 - - jr z, strCmpEnd - 36 D1:AB41 BE - - - cp (hl) - 37 D1:AB42 20 06 - - jr nz, strcmpExit - 38 D1:AB44 23 - - - inc hl - 39 D1:AB45 13 - - - inc de - 40 D1:AB46 18 F5 - - jr strcmpLoop - 41 D1:AB48 - - - - strcmpEnd: - 42 D1:AB48 7E - - - ld a, (hl) - 43 D1:AB49 B7 - - - or a - 44 D1:AB4A - - - - strcmpExit: - 45 D1:AB4A 3F - - - ccf - 46 D1:AB4B D1 - - - pop de - 47 D1:AB4C E1 - - - pop hl - 48 D1:AB4D C9 - - - ret - 49 D1:AB4E - - - - - 50 D1:AB4E - - - - ;;strcpy - 51 D1:AB4E - - - - ;;Copies a string. - 52 D1:AB4E - - - - ;;Inputs: - 53 D1:AB4E - - - - ;; HL: String pointer - 54 D1:AB4E - - - - ;; DE: Destination - 55 D1:AB4E - - - - ;;Notes: - 56 D1:AB4E - - - - ;; This will trample into undefined territory if you try to copy a string into some - 57 D1:AB4E - - - - ;;allocated memory it won't fit in. - 58 D1:AB4E - - - - strcpy: - 59 D1:AB4E D5 - - - push de - 60 D1:AB4F E5 - - - push hl - 61 D1:AB50 EB - - - ex de, hl - 62 D1:AB51 1A - - - _: ld a, (de) - 63 D1:AB52 77 - - - ld (hl), a - 64 D1:AB53 B7 - - - or a - 65 D1:AB54 28 04 - - jr z, _ - 66 D1:AB56 23 13 - - inc hl \ inc de - 67 D1:AB58 18 F7 - - jr -_ - 68 D1:AB5A E1 - - - _: pop hl - 69 D1:AB5B D1 - - - pop de - 70 D1:AB5C C9 - - - ret - 71 D1:AB5D - - - - - 72 D1:AB5D - - - - ;;strchr - 73 D1:AB5D - - - - ;;Returns a pointer on the first occurence of a character in a string. - 74 D1:AB5D - - - - ;;Inputs: - 75 D1:AB5D - - - - ;; HL: Haystack - 76 D1:AB5D - - - - ;; B: Needle - 77 D1:AB5D - - - - ;;Outputs: - 78 D1:AB5D - - - - ;; HL: Pointer to first occurence of character - 79 D1:AB5D - - - - ;; Z: Set if character found - 80 D1:AB5D - - - - ;; A: Destroyed - 81 D1:AB5D - - - - strchr: - 82 D1:AB5D - - - - strchrLoop: - 83 D1:AB5D 7E - - - ld a, (hl) - 84 D1:AB5E B7 - - - or a - 85 D1:AB5F 28 05 - - jr z, strchrNoCharFound - 86 D1:AB61 B8 - - - cp b - 87 D1:AB62 C8 - - - ret z - 88 D1:AB63 23 - - - inc hl - 89 D1:AB64 18 F7 - - jr strchrLoop - 90 D1:AB66 - - - - strchrNoCharFound: - 91 D1:AB66 3C - - - inc a - 92 D1:AB67 C9 - - - ret - 93 D1:AB68 - - - - - 94 D1:AB68 - - - - ;;strtob - 95 D1:AB68 - - - - ;;Converts a string to a byte - 96 D1:AB68 - - - - ;;Inputs: - 97 D1:AB68 - - - - ;; HL: string pointer - 98 D1:AB68 - - - - ;;Outputs: - 99 D1:AB68 - - - - ;; A: byte - 100 D1:AB68 - - - - strtob: - 101 D1:AB68 C5 - - - push bc - 102 D1:AB69 D5 - - - push de - 103 D1:AB6A 0E 00 - - ld c, 0 - 104 D1:AB6C - - - - strtobNumFind: - 105 D1:AB6C 7E - - - ld a, (hl) - 106 D1:AB6D FE 00 - - cp $00 - 107 D1:AB6F CA C1 AB D1 jp z, strtobEXIT - 108 D1:AB73 0E 00 - - ld c, 0 - 109 D1:AB75 D6 31 - - sub '1' - 110 D1:AB77 FE 3A - - cp '9' + 1 - 111 D1:AB79 38 03 - - jr c, strtobNumWhile - 112 D1:AB7B 23 - - - inc hl - 113 D1:AB7C 18 EE - - jr strtobNumFind - 114 D1:AB7E - - - - strtobNumWhile: - 115 D1:AB7E E5 - - - push hl - 116 D1:AB7F - - - - strtobNumWhileLoop: - 117 D1:AB7F 79 - - - ld a, c - 118 D1:AB80 FE 03 - - cp 3 - 119 D1:AB82 D2 93 AB D1 jp nc, strtobConvert - 120 D1:AB86 7E - - - ld a, (hl) - 121 D1:AB87 D6 2F - - sub '0' - 1 - 122 D1:AB89 38 08 - - jr c, strtobConvert - 123 D1:AB8B FE 3A - - cp '9' + 1 - 124 D1:AB8D 30 04 - - jr nc, strtobConvert - 125 D1:AB8F 23 - - - inc hl - 126 D1:AB90 0C - - - inc c - 127 D1:AB91 18 EC - - jr strtobNumWhileLoop - 128 D1:AB93 - - - - strtobConvert: - 129 D1:AB93 2B - - - dec hl - 130 D1:AB94 7E - - - ld a, (hl) - 131 D1:AB95 D6 30 - - sub '0' - 132 D1:AB97 4F - - - ld c, a - 133 D1:AB98 2B - - - dec hl - 134 D1:AB99 D1 - - - pop de - 135 D1:AB9A CD 6D A9 D1 call cpHLDE - 136 D1:AB9E DA C1 AB D1 jp c, strtobExit - 137 D1:ABA2 7E - - - ld a, (hl) - 138 D1:ABA3 D6 30 - - sub '0' - 139 D1:ABA5 06 0A - - ld b, 10 - 140 D1:ABA7 CD 7F A9 D1 call mulAbyB - 141 D1:ABAB 81 - - - add a, c - 142 D1:ABAC 4F - - - ld c, a - 143 D1:ABAD 2B - - - dec hl - 144 D1:ABAE CD 6D A9 D1 call cpHLDE - 145 D1:ABB2 DA C1 AB D1 jp c, strtobExit - 146 D1:ABB6 7E - - - ld a, (hl) - 147 D1:ABB7 D6 30 - - sub '0' - 148 D1:ABB9 06 64 - - ld b, 100 - 149 D1:ABBB CD 7F A9 D1 call mulAbyB - 150 D1:ABBF 81 - - - add a, c - 151 D1:ABC0 4F - - - ld c, a - 152 D1:ABC1 - - - - strtobExit: - 153 D1:ABC1 79 - - - ld a, c - 154 D1:ABC2 D1 - - - pop de - 155 D1:ABC3 C1 - - - pop bc - 156 D1:ABC4 C9 - - - ret - 157 D1:ABC5 - - - - - 158 D1:ABC5 - - - - ;;strtow - 159 D1:ABC5 - - - - ;;Converts a string to a byte - 160 D1:ABC5 - - - - ;;Inputs: - 161 D1:ABC5 - - - - ;; HL: string pointer - 162 D1:ABC5 - - - - ;;Outputs: - 163 D1:ABC5 - - - - ;; HL: byte - 164 D1:ABC5 - - - - strtow: - 165 D1:ABC5 C5 - - - push bc - 166 D1:ABC6 D5 - - - push de - 167 D1:ABC7 01 00 00 00 ld bc, 0 - 168 D1:ABCB - - - - strtowNumFind: - 169 D1:ABCB 7E - - - ld a, (hl) - 170 D1:ABCC FE 00 - - cp $00 - 171 D1:ABCE CA 64 AC D1 jp z, strtowEXIT - 172 D1:ABD2 0E 00 - - ld c, 0 - 173 D1:ABD4 D6 31 - - sub '1' - 174 D1:ABD6 FE 3A - - cp '9' + 1 - 175 D1:ABD8 38 03 - - jr c, strtowNumWhile - 176 D1:ABDA 23 - - - inc hl - 177 D1:ABDB 18 EE - - jr strtowNumFind - 178 D1:ABDD - - - - strtowNumWhile: - 179 D1:ABDD E5 - - - push hl - 180 D1:ABDE - - - - strtowNumWhileLoop: - 181 D1:ABDE 79 - - - ld a, c - 182 D1:ABDF FE 05 - - cp 5 - 183 D1:ABE1 D2 F2 AB D1 jp nc, strtowConvert - 184 D1:ABE5 7E - - - ld a, (hl) - 185 D1:ABE6 D6 2F - - sub '0' - 1 - 186 D1:ABE8 38 08 - - jr c, strtowConvert - 187 D1:ABEA FE 3A - - cp '9' + 1 - 188 D1:ABEC 30 04 - - jr nc, strtowConvert - 189 D1:ABEE 23 - - - inc hl - 190 D1:ABEF 0C - - - inc c - 191 D1:ABF0 18 EC - - jr strtowNumWhileLoop - 192 D1:ABF2 - - - - strtowConvert: - 193 D1:ABF2 01 00 00 00 ld bc, 0 - 194 D1:ABF6 2B - - - dec hl - 195 D1:ABF7 7E - - - ld a, (hl) - 196 D1:ABF8 D6 30 - - sub '0' - 197 D1:ABFA 01 00 00 00 ld bc, 0 - 198 D1:ABFE 4F - - - ld c, a - 199 D1:ABFF 2B - - - dec hl - 200 D1:AC00 - - - - - 201 D1:AC00 D1 - - - pop de - 202 D1:AC01 CD 6D A9 D1 call cpHLDE - 203 D1:AC05 DA 64 AC D1 jp c, strtowExit - 204 D1:AC09 7E - - - ld a, (hl) - 205 D1:AC0A D6 30 - - sub '0' - 206 D1:AC0C E5 - - - push hl - 207 D1:AC0D 21 0A 00 00 ld hl, 10 - 208 D1:AC11 CD 87 A9 D1 call mulAbyHL - 209 D1:AC15 09 - - - add hl, bc - 210 D1:AC16 44 - - - ld b, h - 211 D1:AC17 4D - - - ld c, l - 212 D1:AC18 E1 - - - pop hl - 213 D1:AC19 2B - - - dec hl - 214 D1:AC1A - - - - - 215 D1:AC1A CD 6D A9 D1 call cpHLDE - 216 D1:AC1E DA 64 AC D1 jp c, strtowExit - 217 D1:AC22 7E - - - ld a, (hl) - 218 D1:AC23 D6 30 - - sub '0' - 219 D1:AC25 E5 - - - push hl - 220 D1:AC26 21 64 00 00 ld hl, 100 - 221 D1:AC2A CD 87 A9 D1 call mulAbyHL - 222 D1:AC2E 09 - - - add hl, bc - 223 D1:AC2F 44 - - - ld b, h - 224 D1:AC30 4D - - - ld c, l - 225 D1:AC31 E1 - - - pop hl - 226 D1:AC32 2B - - - dec hl - 227 D1:AC33 - - - - - 228 D1:AC33 CD 6D A9 D1 call cpHLDE - 229 D1:AC37 DA 64 AC D1 jp c, strtowExit - 230 D1:AC3B 7E - - - ld a, (hl) - 231 D1:AC3C D6 30 - - sub '0' - 232 D1:AC3E E5 - - - push hl - 233 D1:AC3F 21 E8 03 00 ld hl, 1000 - 234 D1:AC43 CD 87 A9 D1 call mulAbyHL - 235 D1:AC47 09 - - - add hl, bc - 236 D1:AC48 44 - - - ld b, h - 237 D1:AC49 4D - - - ld c, l - 238 D1:AC4A E1 - - - pop hl - 239 D1:AC4B 2B - - - dec hl - 240 D1:AC4C - - - - - 241 D1:AC4C CD 6D A9 D1 call cpHLDE - 242 D1:AC50 DA 64 AC D1 jp c, strtowExit - 243 D1:AC54 7E - - - ld a, (hl) - 244 D1:AC55 D6 30 - - sub '0' - 245 D1:AC57 E5 - - - push hl - 246 D1:AC58 21 10 27 00 ld hl, 10000 - 247 D1:AC5C CD 87 A9 D1 call mulAbyHL - 248 D1:AC60 09 - - - add hl, bc - 249 D1:AC61 44 - - - ld b, h - 250 D1:AC62 4D - - - ld c, l - 251 D1:AC63 E1 - - - pop hl - 252 D1:AC64 - - - - - 253 D1:AC64 - - - - strtowExit: - 254 D1:AC64 21 00 00 00 ld hl, 0 - 255 D1:AC68 60 - - - ld h, b - 256 D1:AC69 69 - - - ld l, c - 257 D1:AC6A D1 - - - pop de - 258 D1:AC6B C1 - - - pop bc - 259 D1:AC6C C9 - - - ret - 260 D1:AC6D - - - - - 261 D1:AC6D - - - - ;;toLower [Strings] - 262 D1:AC6D - - - - ;;Converts every alpha character of a string to lowercase. - 263 D1:AC6D - - - - ;;Inputs: - 264 D1:AC6D - - - - ;; HL: Pointer to string - 265 D1:AC6D - - - - ;;Notes: - 266 D1:AC6D - - - - ;; This modifies the string in-place. - 267 D1:AC6D - - - - ;toLower: - 268 D1:AC6D - - - - ; push af \ push hl - 269 D1:AC6D - - - - ; ld a, (hl) - 270 D1:AC6D - - - - ; or a - 271 D1:AC6D - - - - ; jr z, toLowerExit - 272 D1:AC6D - - - - ; call isAlphaNum - 273 D1:AC6D - - - - ; jr nc, toLowerNotUpperAlpha - 274 D1:AC6D - - - - ; cp 'a' - 275 D1:AC6D - - - - ; jr nc, toLowerNotUpperAlpha - 276 D1:AC6D - - - - ; add a, 'a' - 'A' - 277 D1:AC6D - - - - ; ld (hl), a - 278 D1:AC6D - - - - ;toLowerNotUpperAlpha: - 279 D1:AC6D - - - - ; inc hl - 280 D1:AC6D - - - - ; jr toLower + 2 - 281 D1:AC6D - - - - ;toLowerExit: - 282 D1:AC6D - - - - ; pop hl \ pop af - 283 D1:AC6D - - - - ; ret - 284 D1:AC6D - - - - - 285 D1:AC6D - - - - ;;toUpper [Strings] - 286 D1:AC6D - - - - ;;Converts every alpha character of a string to uppercase. - 287 D1:AC6D - - - - ;;Inputs: - 288 D1:AC6D - - - - ;; HL: Pointer to string - 289 D1:AC6D - - - - ;;Notes: - 290 D1:AC6D - - - - ;; This modifies the string in-place. - 291 D1:AC6D - - - - ;toUpper: - 292 D1:AC6D - - - - ; push af \ push hl - 293 D1:AC6D - - - - ; ld a, (hl) - 294 D1:AC6D - - - - ; or a - 295 D1:AC6D - - - - ; jr z, toUpperExit - 296 D1:AC6D - - - - ; call isAlphaNum - 297 D1:AC6D - - - - ; jr nc, toUpperNotLowerAlpha - 298 D1:AC6D - - - - ; cp 'a' - 299 D1:AC6D - - - - ; jr c, toUpperNotLowerAlpha - 300 D1:AC6D - - - - ; sub 'a' - 'A' - 301 D1:AC6D - - - - ; ld (hl), a - 302 D1:AC6D - - - - ;toUpperNotLowerAlpha: - 303 D1:AC6D - - - - ; inc hl - 304 D1:AC6D - - - - ; jr toUpper + 2 - 305 D1:AC6D - - - - ;toUpperExit: - 306 D1:AC6D - - - - ; pop hl \ pop af - 307 D1:AC6D - - - - ; ret + 16 D1:AB46 0B - - - dec bc + 17 D1:AB47 E1 - - - pop hl + 18 D1:AB48 F1 - - - pop af + 19 D1:AB49 C9 - - - ret + 20 D1:AB4A - - - - + 21 D1:AB4A - - - - ;;strcmp + 22 D1:AB4A - - - - ;;Determines if two strings are equal, and checks alphabetical sort order. + 23 D1:AB4A - - - - ;;Inputs: + 24 D1:AB4A - - - - ;; HL: String pointer + 25 D1:AB4A - - - - ;; DE: String pointer + 26 D1:AB4A - - - - ;;Outputs: + 27 D1:AB4A - - - - ;; Z: Set if equal, reset if not equal + 28 D1:AB4A - - - - ;; C: Set if string HL is alphabetically earlier than string DE + 29 D1:AB4A - - - - strcmp: + 30 D1:AB4A E5 - - - push hl + 31 D1:AB4B D5 - - - push de + 32 D1:AB4C - - - - strcmpLoop: + 33 D1:AB4C 1A - - - ld a, (de) + 34 D1:AB4D B7 - - - or a + 35 D1:AB4E 28 07 - - jr z, strCmpEnd + 36 D1:AB50 BE - - - cp (hl) + 37 D1:AB51 20 06 - - jr nz, strcmpExit + 38 D1:AB53 23 - - - inc hl + 39 D1:AB54 13 - - - inc de + 40 D1:AB55 18 F5 - - jr strcmpLoop + 41 D1:AB57 - - - - strcmpEnd: + 42 D1:AB57 7E - - - ld a, (hl) + 43 D1:AB58 B7 - - - or a + 44 D1:AB59 - - - - strcmpExit: + 45 D1:AB59 3F - - - ccf + 46 D1:AB5A D1 - - - pop de + 47 D1:AB5B E1 - - - pop hl + 48 D1:AB5C C9 - - - ret + 49 D1:AB5D - - - - + 50 D1:AB5D - - - - ;;strcpy + 51 D1:AB5D - - - - ;;Copies a string. + 52 D1:AB5D - - - - ;;Inputs: + 53 D1:AB5D - - - - ;; HL: String pointer + 54 D1:AB5D - - - - ;; DE: Destination + 55 D1:AB5D - - - - ;;Notes: + 56 D1:AB5D - - - - ;; This will trample into undefined territory if you try to copy a string into some + 57 D1:AB5D - - - - ;;allocated memory it won't fit in. + 58 D1:AB5D - - - - strcpy: + 59 D1:AB5D D5 - - - push de + 60 D1:AB5E E5 - - - push hl + 61 D1:AB5F EB - - - ex de, hl + 62 D1:AB60 1A - - - _: ld a, (de) + 63 D1:AB61 77 - - - ld (hl), a + 64 D1:AB62 B7 - - - or a + 65 D1:AB63 28 04 - - jr z, _ + 66 D1:AB65 23 13 - - inc hl \ inc de + 67 D1:AB67 18 F7 - - jr -_ + 68 D1:AB69 E1 - - - _: pop hl + 69 D1:AB6A D1 - - - pop de + 70 D1:AB6B C9 - - - ret + 71 D1:AB6C - - - - + 72 D1:AB6C - - - - ;;strchr + 73 D1:AB6C - - - - ;;Returns a pointer on the first occurence of a character in a string. + 74 D1:AB6C - - - - ;;Inputs: + 75 D1:AB6C - - - - ;; HL: Haystack + 76 D1:AB6C - - - - ;; B: Needle + 77 D1:AB6C - - - - ;;Outputs: + 78 D1:AB6C - - - - ;; HL: Pointer to first occurence of character + 79 D1:AB6C - - - - ;; Z: Set if character found + 80 D1:AB6C - - - - ;; A: Destroyed + 81 D1:AB6C - - - - strchr: + 82 D1:AB6C - - - - strchrLoop: + 83 D1:AB6C 7E - - - ld a, (hl) + 84 D1:AB6D B7 - - - or a + 85 D1:AB6E 28 05 - - jr z, strchrNoCharFound + 86 D1:AB70 B8 - - - cp b + 87 D1:AB71 C8 - - - ret z + 88 D1:AB72 23 - - - inc hl + 89 D1:AB73 18 F7 - - jr strchrLoop + 90 D1:AB75 - - - - strchrNoCharFound: + 91 D1:AB75 3C - - - inc a + 92 D1:AB76 C9 - - - ret + 93 D1:AB77 - - - - + 94 D1:AB77 - - - - ;;strtob + 95 D1:AB77 - - - - ;;Converts a string to a byte + 96 D1:AB77 - - - - ;;Inputs: + 97 D1:AB77 - - - - ;; HL: string pointer + 98 D1:AB77 - - - - ;;Outputs: + 99 D1:AB77 - - - - ;; A: byte + 100 D1:AB77 - - - - strtob: + 101 D1:AB77 C5 - - - push bc + 102 D1:AB78 D5 - - - push de + 103 D1:AB79 0E 00 - - ld c, 0 + 104 D1:AB7B - - - - strtobNumFind: + 105 D1:AB7B 7E - - - ld a, (hl) + 106 D1:AB7C FE 00 - - cp $00 + 107 D1:AB7E CA D0 AB D1 jp z, strtobEXIT + 108 D1:AB82 0E 00 - - ld c, 0 + 109 D1:AB84 D6 31 - - sub '1' + 110 D1:AB86 FE 3A - - cp '9' + 1 + 111 D1:AB88 38 03 - - jr c, strtobNumWhile + 112 D1:AB8A 23 - - - inc hl + 113 D1:AB8B 18 EE - - jr strtobNumFind + 114 D1:AB8D - - - - strtobNumWhile: + 115 D1:AB8D E5 - - - push hl + 116 D1:AB8E - - - - strtobNumWhileLoop: + 117 D1:AB8E 79 - - - ld a, c + 118 D1:AB8F FE 03 - - cp 3 + 119 D1:AB91 D2 A2 AB D1 jp nc, strtobConvert + 120 D1:AB95 7E - - - ld a, (hl) + 121 D1:AB96 D6 2F - - sub '0' - 1 + 122 D1:AB98 38 08 - - jr c, strtobConvert + 123 D1:AB9A FE 3A - - cp '9' + 1 + 124 D1:AB9C 30 04 - - jr nc, strtobConvert + 125 D1:AB9E 23 - - - inc hl + 126 D1:AB9F 0C - - - inc c + 127 D1:ABA0 18 EC - - jr strtobNumWhileLoop + 128 D1:ABA2 - - - - strtobConvert: + 129 D1:ABA2 2B - - - dec hl + 130 D1:ABA3 7E - - - ld a, (hl) + 131 D1:ABA4 D6 30 - - sub '0' + 132 D1:ABA6 4F - - - ld c, a + 133 D1:ABA7 2B - - - dec hl + 134 D1:ABA8 D1 - - - pop de + 135 D1:ABA9 CD 6D A9 D1 call cpHLDE + 136 D1:ABAD DA D0 AB D1 jp c, strtobExit + 137 D1:ABB1 7E - - - ld a, (hl) + 138 D1:ABB2 D6 30 - - sub '0' + 139 D1:ABB4 06 0A - - ld b, 10 + 140 D1:ABB6 CD 7F A9 D1 call mulAbyB + 141 D1:ABBA 81 - - - add a, c + 142 D1:ABBB 4F - - - ld c, a + 143 D1:ABBC 2B - - - dec hl + 144 D1:ABBD CD 6D A9 D1 call cpHLDE + 145 D1:ABC1 DA D0 AB D1 jp c, strtobExit + 146 D1:ABC5 7E - - - ld a, (hl) + 147 D1:ABC6 D6 30 - - sub '0' + 148 D1:ABC8 06 64 - - ld b, 100 + 149 D1:ABCA CD 7F A9 D1 call mulAbyB + 150 D1:ABCE 81 - - - add a, c + 151 D1:ABCF 4F - - - ld c, a + 152 D1:ABD0 - - - - strtobExit: + 153 D1:ABD0 79 - - - ld a, c + 154 D1:ABD1 D1 - - - pop de + 155 D1:ABD2 C1 - - - pop bc + 156 D1:ABD3 C9 - - - ret + 157 D1:ABD4 - - - - + 158 D1:ABD4 - - - - ;;strtow + 159 D1:ABD4 - - - - ;;Converts a string to a byte + 160 D1:ABD4 - - - - ;;Inputs: + 161 D1:ABD4 - - - - ;; HL: string pointer + 162 D1:ABD4 - - - - ;;Outputs: + 163 D1:ABD4 - - - - ;; HL: byte + 164 D1:ABD4 - - - - strtow: + 165 D1:ABD4 C5 - - - push bc + 166 D1:ABD5 D5 - - - push de + 167 D1:ABD6 01 00 00 00 ld bc, 0 + 168 D1:ABDA - - - - strtowNumFind: + 169 D1:ABDA 7E - - - ld a, (hl) + 170 D1:ABDB FE 00 - - cp $00 + 171 D1:ABDD CA 73 AC D1 jp z, strtowEXIT + 172 D1:ABE1 0E 00 - - ld c, 0 + 173 D1:ABE3 D6 31 - - sub '1' + 174 D1:ABE5 FE 3A - - cp '9' + 1 + 175 D1:ABE7 38 03 - - jr c, strtowNumWhile + 176 D1:ABE9 23 - - - inc hl + 177 D1:ABEA 18 EE - - jr strtowNumFind + 178 D1:ABEC - - - - strtowNumWhile: + 179 D1:ABEC E5 - - - push hl + 180 D1:ABED - - - - strtowNumWhileLoop: + 181 D1:ABED 79 - - - ld a, c + 182 D1:ABEE FE 05 - - cp 5 + 183 D1:ABF0 D2 01 AC D1 jp nc, strtowConvert + 184 D1:ABF4 7E - - - ld a, (hl) + 185 D1:ABF5 D6 2F - - sub '0' - 1 + 186 D1:ABF7 38 08 - - jr c, strtowConvert + 187 D1:ABF9 FE 3A - - cp '9' + 1 + 188 D1:ABFB 30 04 - - jr nc, strtowConvert + 189 D1:ABFD 23 - - - inc hl + 190 D1:ABFE 0C - - - inc c + 191 D1:ABFF 18 EC - - jr strtowNumWhileLoop + 192 D1:AC01 - - - - strtowConvert: + 193 D1:AC01 01 00 00 00 ld bc, 0 + 194 D1:AC05 2B - - - dec hl + 195 D1:AC06 7E - - - ld a, (hl) + 196 D1:AC07 D6 30 - - sub '0' + 197 D1:AC09 01 00 00 00 ld bc, 0 + 198 D1:AC0D 4F - - - ld c, a + 199 D1:AC0E 2B - - - dec hl + 200 D1:AC0F - - - - + 201 D1:AC0F D1 - - - pop de + 202 D1:AC10 CD 6D A9 D1 call cpHLDE + 203 D1:AC14 DA 73 AC D1 jp c, strtowExit + 204 D1:AC18 7E - - - ld a, (hl) + 205 D1:AC19 D6 30 - - sub '0' + 206 D1:AC1B E5 - - - push hl + 207 D1:AC1C 21 0A 00 00 ld hl, 10 + 208 D1:AC20 CD 87 A9 D1 call mulAbyHL + 209 D1:AC24 09 - - - add hl, bc + 210 D1:AC25 44 - - - ld b, h + 211 D1:AC26 4D - - - ld c, l + 212 D1:AC27 E1 - - - pop hl + 213 D1:AC28 2B - - - dec hl + 214 D1:AC29 - - - - + 215 D1:AC29 CD 6D A9 D1 call cpHLDE + 216 D1:AC2D DA 73 AC D1 jp c, strtowExit + 217 D1:AC31 7E - - - ld a, (hl) + 218 D1:AC32 D6 30 - - sub '0' + 219 D1:AC34 E5 - - - push hl + 220 D1:AC35 21 64 00 00 ld hl, 100 + 221 D1:AC39 CD 87 A9 D1 call mulAbyHL + 222 D1:AC3D 09 - - - add hl, bc + 223 D1:AC3E 44 - - - ld b, h + 224 D1:AC3F 4D - - - ld c, l + 225 D1:AC40 E1 - - - pop hl + 226 D1:AC41 2B - - - dec hl + 227 D1:AC42 - - - - + 228 D1:AC42 CD 6D A9 D1 call cpHLDE + 229 D1:AC46 DA 73 AC D1 jp c, strtowExit + 230 D1:AC4A 7E - - - ld a, (hl) + 231 D1:AC4B D6 30 - - sub '0' + 232 D1:AC4D E5 - - - push hl + 233 D1:AC4E 21 E8 03 00 ld hl, 1000 + 234 D1:AC52 CD 87 A9 D1 call mulAbyHL + 235 D1:AC56 09 - - - add hl, bc + 236 D1:AC57 44 - - - ld b, h + 237 D1:AC58 4D - - - ld c, l + 238 D1:AC59 E1 - - - pop hl + 239 D1:AC5A 2B - - - dec hl + 240 D1:AC5B - - - - + 241 D1:AC5B CD 6D A9 D1 call cpHLDE + 242 D1:AC5F DA 73 AC D1 jp c, strtowExit + 243 D1:AC63 7E - - - ld a, (hl) + 244 D1:AC64 D6 30 - - sub '0' + 245 D1:AC66 E5 - - - push hl + 246 D1:AC67 21 10 27 00 ld hl, 10000 + 247 D1:AC6B CD 87 A9 D1 call mulAbyHL + 248 D1:AC6F 09 - - - add hl, bc + 249 D1:AC70 44 - - - ld b, h + 250 D1:AC71 4D - - - ld c, l + 251 D1:AC72 E1 - - - pop hl + 252 D1:AC73 - - - - + 253 D1:AC73 - - - - strtowExit: + 254 D1:AC73 21 00 00 00 ld hl, 0 + 255 D1:AC77 60 - - - ld h, b + 256 D1:AC78 69 - - - ld l, c + 257 D1:AC79 D1 - - - pop de + 258 D1:AC7A C1 - - - pop bc + 259 D1:AC7B C9 - - - ret + 260 D1:AC7C - - - - + 261 D1:AC7C - - - - ;;toLower [Strings] + 262 D1:AC7C - - - - ;;Converts every alpha character of a string to lowercase. + 263 D1:AC7C - - - - ;;Inputs: + 264 D1:AC7C - - - - ;; HL: Pointer to string + 265 D1:AC7C - - - - ;;Notes: + 266 D1:AC7C - - - - ;; This modifies the string in-place. + 267 D1:AC7C - - - - ;toLower: + 268 D1:AC7C - - - - ; push af \ push hl + 269 D1:AC7C - - - - ; ld a, (hl) + 270 D1:AC7C - - - - ; or a + 271 D1:AC7C - - - - ; jr z, toLowerExit + 272 D1:AC7C - - - - ; call isAlphaNum + 273 D1:AC7C - - - - ; jr nc, toLowerNotUpperAlpha + 274 D1:AC7C - - - - ; cp 'a' + 275 D1:AC7C - - - - ; jr nc, toLowerNotUpperAlpha + 276 D1:AC7C - - - - ; add a, 'a' - 'A' + 277 D1:AC7C - - - - ; ld (hl), a + 278 D1:AC7C - - - - ;toLowerNotUpperAlpha: + 279 D1:AC7C - - - - ; inc hl + 280 D1:AC7C - - - - ; jr toLower + 2 + 281 D1:AC7C - - - - ;toLowerExit: + 282 D1:AC7C - - - - ; pop hl \ pop af + 283 D1:AC7C - - - - ; ret + 284 D1:AC7C - - - - + 285 D1:AC7C - - - - ;;toUpper [Strings] + 286 D1:AC7C - - - - ;;Converts every alpha character of a string to uppercase. + 287 D1:AC7C - - - - ;;Inputs: + 288 D1:AC7C - - - - ;; HL: Pointer to string + 289 D1:AC7C - - - - ;;Notes: + 290 D1:AC7C - - - - ;; This modifies the string in-place. + 291 D1:AC7C - - - - ;toUpper: + 292 D1:AC7C - - - - ; push af \ push hl + 293 D1:AC7C - - - - ; ld a, (hl) + 294 D1:AC7C - - - - ; or a + 295 D1:AC7C - - - - ; jr z, toUpperExit + 296 D1:AC7C - - - - ; call isAlphaNum + 297 D1:AC7C - - - - ; jr nc, toUpperNotLowerAlpha + 298 D1:AC7C - - - - ; cp 'a' + 299 D1:AC7C - - - - ; jr c, toUpperNotLowerAlpha + 300 D1:AC7C - - - - ; sub 'a' - 'A' + 301 D1:AC7C - - - - ; ld (hl), a + 302 D1:AC7C - - - - ;toUpperNotLowerAlpha: + 303 D1:AC7C - - - - ; inc hl + 304 D1:AC7C - - - - ; jr toUpper + 2 + 305 D1:AC7C - - - - ;toUpperExit: + 306 D1:AC7C - - - - ; pop hl \ pop af + 307 D1:AC7C - - - - ; ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" - 11 D1:AC6D - - - - - 12 D1:AC6D - - - - #include "includes/lib/std/Input.asm" + 11 D1:AC7C - - - - + 12 D1:AC7C - - - - #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:AC6D - - - - ;;inputgetkey - 2 D1:AC6D - - - - ;;Gets keycode - 3 D1:AC6D - - - - ;;Outputs: - 4 D1:AC6D - - - - ;; A: keycode - 5 D1:AC6D - - - - ;;Destroys: - 6 D1:AC6D - - - - ;; DE - 7 D1:AC6D - - - - inputgetkey: - 8 D1:AC6D EB - - - ex de, hl - 9 D1:AC6E CD 4C 01 02 call _GetCSC - 10 D1:AC72 EB - - - ex de, hl - 11 D1:AC73 B7 - - - or a - 12 D1:AC74 28 F7 - - jr z, inputgetkey - 13 D1:AC76 C9 - - - ret - 14 D1:AC77 - - - - - 15 D1:AC77 - - - - ;;inputstr - 16 D1:AC77 - - - - ;;Inputs string of length [Buffer Size] and puts it in (Destination) - 17 D1:AC77 - - - - ;;Inputs: - 18 D1:AC77 - - - - ;; HL: Destination - 19 D1:AC77 - - - - ;; D[E]: Buffer Size - 20 D1:AC77 - - - - ;;Ouptuts: - 21 D1:AC77 - - - - ;; (HL): String - 22 D1:AC77 - - - - inputstr: - 23 D1:AC77 D5 - - - push de - 24 D1:AC78 E5 - - - push hl - 25 D1:AC79 ED 53 97 AD + 1 D1:AC7C - - - - ;;inputgetkey + 2 D1:AC7C - - - - ;;Gets keycode + 3 D1:AC7C - - - - ;;Outputs: + 4 D1:AC7C - - - - ;; A: keycode + 5 D1:AC7C - - - - ;;Destroys: + 6 D1:AC7C - - - - ;; DE + 7 D1:AC7C - - - - inputgetkey: + 8 D1:AC7C EB - - - ex de, hl + 9 D1:AC7D CD 4C 01 02 call _GetCSC + 10 D1:AC81 EB - - - ex de, hl + 11 D1:AC82 B7 - - - or a + 12 D1:AC83 28 F7 - - jr z, inputgetkey + 13 D1:AC85 C9 - - - ret + 14 D1:AC86 - - - - + 15 D1:AC86 - - - - ;;inputstr + 16 D1:AC86 - - - - ;;Inputs string of length [Buffer Size] and puts it in (Destination) + 17 D1:AC86 - - - - ;;Inputs: + 18 D1:AC86 - - - - ;; HL: Destination + 19 D1:AC86 - - - - ;; D[E]: Buffer Size + 20 D1:AC86 - - - - ;;Ouptuts: + 21 D1:AC86 - - - - ;; (HL): String + 22 D1:AC86 - - - - inputstr: + 23 D1:AC86 D5 - - - push de + 24 D1:AC87 E5 - - - push hl + 25 D1:AC88 ED 53 A6 AD D1 - - - ld (inputstrSizeBuf), de - 26 D1:AC7E E5 - - - push hl - 27 D1:AC7F D5 - - - push de - 28 D1:AC80 21 96 05 D0 ld hl, CurCol - 29 D1:AC84 11 99 AD D1 ld de, inputstrCurColBuf - 30 D1:AC88 CD CB A9 D1 call bytecpy - 31 D1:AC8C 21 95 05 D0 ld hl, CurRow - 32 D1:AC90 11 9A AD D1 ld de, inputstrCurRowBuf - 33 D1:AC94 CD CB A9 D1 call bytecpy - 34 D1:AC98 D1 - - - pop de - 35 D1:AC99 E1 - - - pop hl - 36 D1:AC9A - - - - - 37 D1:AC9A FD CB 12 9E res Shift2nd, (IY + ShiftFlags) - 38 D1:AC9E CD B0 08 02 call _CursorOn - 39 D1:ACA2 - - - - - 40 D1:ACA2 AF - - - xor a - 41 D1:ACA3 47 - - - ld b, a - 42 D1:ACA4 - - - - inputstrKeyInput: - 43 D1:ACA4 CD 80 AA D1 call cursorcurunderreset - 44 D1:ACA8 CD 6D AC D1 call inputgetkey - 45 D1:ACAC - - - - - 46 D1:ACAC FE 36 - - cp sk2nd - 47 D1:ACAE CA 05 AD D1 jp z, inputstrKey2nd - 48 D1:ACB2 FE 38 - - cp skDel - 49 D1:ACB4 CA 13 AD D1 jp z, inputstrKeyDel - 50 D1:ACB8 FE 0F - - cp skClear - 51 D1:ACBA CA 33 AD D1 jp z, inputstrKeyClear - 52 D1:ACBE FE 09 - - cp skEnter - 53 D1:ACC0 CA 83 AD D1 jp z, inputstrKeyEnter - 54 D1:ACC4 - - - - - 55 D1:ACC4 4F - - - ld c, a - 56 D1:ACC5 78 - - - ld a, b - 57 D1:ACC6 D5 - - - push de - 58 D1:ACC7 ED 5B 97 AD + 26 D1:AC8D E5 - - - push hl + 27 D1:AC8E D5 - - - push de + 28 D1:AC8F 21 96 05 D0 ld hl, CurCol + 29 D1:AC93 11 A8 AD D1 ld de, inputstrCurColBuf + 30 D1:AC97 CD DA A9 D1 call bytecpy + 31 D1:AC9B 21 95 05 D0 ld hl, CurRow + 32 D1:AC9F 11 A9 AD D1 ld de, inputstrCurRowBuf + 33 D1:ACA3 CD DA A9 D1 call bytecpy + 34 D1:ACA7 D1 - - - pop de + 35 D1:ACA8 E1 - - - pop hl + 36 D1:ACA9 - - - - + 37 D1:ACA9 FD CB 12 9E res Shift2nd, (IY + ShiftFlags) + 38 D1:ACAD CD B0 08 02 call _CursorOn + 39 D1:ACB1 - - - - + 40 D1:ACB1 AF - - - xor a + 41 D1:ACB2 47 - - - ld b, a + 42 D1:ACB3 - - - - inputstrKeyInput: + 43 D1:ACB3 CD 8F AA D1 call cursorcurunderreset + 44 D1:ACB7 CD 7C AC D1 call inputgetkey + 45 D1:ACBB - - - - + 46 D1:ACBB FE 36 - - cp sk2nd + 47 D1:ACBD CA 14 AD D1 jp z, inputstrKey2nd + 48 D1:ACC1 FE 38 - - cp skDel + 49 D1:ACC3 CA 22 AD D1 jp z, inputstrKeyDel + 50 D1:ACC7 FE 0F - - cp skClear + 51 D1:ACC9 CA 42 AD D1 jp z, inputstrKeyClear + 52 D1:ACCD FE 09 - - cp skEnter + 53 D1:ACCF CA 92 AD D1 jp z, inputstrKeyEnter + 54 D1:ACD3 - - - - + 55 D1:ACD3 4F - - - ld c, a + 56 D1:ACD4 78 - - - ld a, b + 57 D1:ACD5 D5 - - - push de + 58 D1:ACD6 ED 5B A6 AD D1 - - - ld de, (inputstrSizeBuf) - 59 D1:ACCC BB - - - cp e - 60 D1:ACCD D1 - - - pop de - 61 D1:ACCE 28 D4 - - jr z, inputstrKeyInput - 62 D1:ACD0 79 - - - ld a, c - 63 D1:ACD1 - - - - - 64 D1:ACD1 D6 0A - - sub skAdd - 65 D1:ACD3 38 CF - - jr c, inputstrKeyInput - 66 D1:ACD5 FE 26 - - cp skMath - skAdd + 1 - 67 D1:ACD7 30 CB - - jr nc, inputstrKeyInput - 68 D1:ACD9 - - - - - 69 D1:ACD9 FD CB 12 5E bit Shift2nd, (IY + ShiftFlags) ; TIOS BASED - 70 D1:ACDD CC 50 AA D1 call z, chartoascii - 71 D1:ACE1 C4 70 AA D1 call nz, charnumsymtoascii - 72 D1:ACE5 - - - - - 73 D1:ACE5 FE FF - - cp $FF - 74 D1:ACE7 28 BB - - jr z, inputstrKeyInput - 75 D1:ACE9 - - - - - 76 D1:ACE9 FD CB 05 96 res textScrolled, (iy+textFlags) - 77 D1:ACED - - - - - 78 D1:ACED CD B8 07 02 call _PutC - 79 D1:ACF1 - - - - - 80 D1:ACF1 77 - - - ld (hl), a - 81 D1:ACF2 23 - - - inc hl - 82 D1:ACF3 04 - - - inc b - 83 D1:ACF4 - - - - - 84 D1:ACF4 FD CB 05 56 bit textScrolled, (iy+textFlags) - 85 D1:ACF8 28 AA - - jr z, inputstrKeyInput - 86 D1:ACFA E5 - - - push hl - 87 D1:ACFB 21 9A AD D1 ld hl, inputstrCurRowBuf - 88 D1:ACFF 7E - - - ld a, (hl) - 89 D1:AD00 3D - - - dec a - 90 D1:AD01 77 - - - ld (hl), a - 91 D1:AD02 E1 - - - pop hl - 92 D1:AD03 18 9F - - jr inputstrKeyInput - 93 D1:AD05 - - - - inputstrKey2nd: - 94 D1:AD05 E5 - - - push hl - 95 D1:AD06 21 92 00 D0 ld hl, Flags + ShiftFlags - 96 D1:AD0A 7E - - - ld a, (hl) - 97 D1:AD0B EE 08 - - xor 1 << Shift2nd ; Toggle state of Shift2nd flag - 98 D1:AD0D 77 - - - ld (hl), a - 99 D1:AD0E E1 - - - pop hl - 100 D1:AD0F C3 A4 AC D1 jp inputstrKeyInput - 101 D1:AD13 - - - - inputstrKeyDel: - 102 D1:AD13 78 - - - ld a, b - 103 D1:AD14 FE 00 - - cp 0 - 104 D1:AD16 CA A4 AC D1 jp z, inputstrKeyInput - 105 D1:AD1A - - - - - 106 D1:AD1A 3E 20 - - ld a, ' ' - 107 D1:AD1C CD B4 07 02 call _PutMap - 108 D1:AD20 - - - - - 109 D1:AD20 E5 - - - push hl - 110 D1:AD21 21 96 05 D0 ld hl, CurCol - 111 D1:AD25 35 - - - dec (hl) - 112 D1:AD26 E1 - - - pop hl - 113 D1:AD27 - - - - - 114 D1:AD27 3E 20 - - ld a, ' ' - 115 D1:AD29 CD B4 07 02 call _PutMap - 116 D1:AD2D - - - - - 117 D1:AD2D 2B - - - dec hl - 118 D1:AD2E 05 - - - dec b - 119 D1:AD2F C3 A4 AC D1 jp inputstrKeyInput - 120 D1:AD33 - - - - - 121 D1:AD33 - - - - inputstrKeyClear: - 122 D1:AD33 78 - - - ld a, b - 123 D1:AD34 FE 00 - - cp 0 - 124 D1:AD36 CA A4 AC D1 jp z, inputstrKeyInput - 125 D1:AD3A - - - - - 126 D1:AD3A E5 - - - push hl - 127 D1:AD3B D5 - - - push de - 128 D1:AD3C 21 99 AD D1 ld hl, inputstrCurColBuf - 129 D1:AD40 11 96 05 D0 ld de, CurCol - 130 D1:AD44 CD CB A9 D1 call bytecpy - 131 D1:AD48 21 9A AD D1 ld hl, inputstrCurRowBuf - 132 D1:AD4C 11 95 05 D0 ld de, CurRow - 133 D1:AD50 CD CB A9 D1 call bytecpy - 134 D1:AD54 D1 - - - pop de - 135 D1:AD55 E1 - - - pop hl - 136 D1:AD56 - - - - - 137 D1:AD56 3E 20 - - ld a, ' ' - 138 D1:AD58 04 - - - inc b - 139 D1:AD59 - - - - inputstrKeyClearLoop: - 140 D1:AD59 CD B8 07 02 call _PutC - 141 D1:AD5D 10 FA - - djnz inputstrKeyClearLoop - 142 D1:AD5F 06 00 - - ld b, 0 - 143 D1:AD61 - - - - - 144 D1:AD61 D5 - - - push de - 145 D1:AD62 E5 - - - push hl - 146 D1:AD63 21 99 AD D1 ld hl, inputstrCurColBuf - 147 D1:AD67 11 96 05 D0 ld de, CurCol - 148 D1:AD6B CD CB A9 D1 call bytecpy - 149 D1:AD6F 21 9A AD D1 ld hl, inputstrCurRowBuf - 150 D1:AD73 11 95 05 D0 ld de, CurRow - 151 D1:AD77 CD CB A9 D1 call bytecpy - 152 D1:AD7B E1 - - - pop hl - 153 D1:AD7C D1 - - - pop de - 154 D1:AD7D E1 - - - pop hl - 155 D1:AD7E E5 - - - push hl - 156 D1:AD7F C3 A4 AC D1 jp inputstrKeyInput - 157 D1:AD83 - - - - - 158 D1:AD83 - - - - inputstrKeyEnter: - 159 D1:AD83 36 00 - - ld (hl), 0 - 160 D1:AD85 CD A8 08 02 call _CursorOff - 161 D1:AD89 3E 20 - - ld a, ' ' - 162 D1:AD8B CD B4 07 02 call _PutMap - 163 D1:AD8F E1 - - - pop hl - 164 D1:AD90 D1 - - - pop de - 165 D1:AD91 FD CB 12 9E res Shift2nd, (IY + ShiftFlags) - 166 D1:AD95 C9 - - - ret - 167 D1:AD96 - - - - - 168 D1:AD96 00 - - - inputstrFlags: .db %00000000 - 169 D1:AD97 - - - - ; 0: num Flag - 170 D1:AD97 00 00 - - inputstrSizeBuf: .dw $0000 - 171 D1:AD99 00 - - - inputstrCurColBuf: .db $00 - 172 D1:AD9A 00 - - - inputstrCurRowBuf: .db $00 - 173 D1:AD9B - - - - - 174 D1:AD9B - - - - ;;inputcharstr - 175 D1:AD9B - - - - ;;Inputs string of (only letters) of length [Buffer Size] and puts it in (Destination) - 176 D1:AD9B - - - - ;;Inputs: - 177 D1:AD9B - - - - ;; HL: Destination - 178 D1:AD9B - - - - ;; D[E]: Buffer Size - 179 D1:AD9B - - - - ;;Ouptuts: - 180 D1:AD9B - - - - ;; (HL): String - 181 D1:AD9B - - - - inputcharstr: - 182 D1:AD9B D5 - - - push de - 183 D1:AD9C E5 - - - push hl - 184 D1:AD9D ED 53 97 AD - D1 - - - ld (inputstrSizeBuf), de - 185 D1:ADA2 E5 - - - push hl - 186 D1:ADA3 D5 - - - push de - 187 D1:ADA4 21 96 05 D0 ld hl, CurCol - 188 D1:ADA8 11 99 AD D1 ld de, inputstrCurColBuf - 189 D1:ADAC CD CB A9 D1 call bytecpy - 190 D1:ADB0 21 95 05 D0 ld hl, CurRow - 191 D1:ADB4 11 9A AD D1 ld de, inputstrCurRowBuf - 192 D1:ADB8 CD CB A9 D1 call bytecpy - 193 D1:ADBC D1 - - - pop de - 194 D1:ADBD E1 - - - pop hl - 195 D1:ADBE - - - - - 196 D1:ADBE CD B0 08 02 call _CursorOn - 197 D1:ADC2 - - - - - 198 D1:ADC2 AF - - - xor a - 199 D1:ADC3 47 - - - ld b, a - 200 D1:ADC4 - - - - inputcharstrKeyInput: - 201 D1:ADC4 CD 80 AA D1 call cursorcurunderreset - 202 D1:ADC8 CD 6D AC D1 call inputgetkey - 203 D1:ADCC - - - - - 204 D1:ADCC FE 38 - - cp skDel - 205 D1:ADCE CA 17 AE D1 jp z, inputcharstrKeyDel - 206 D1:ADD2 FE 0F - - cp skClear - 207 D1:ADD4 CA 37 AE D1 jp z, inputcharstrKeyClear - 208 D1:ADD8 FE 09 - - cp skEnter - 209 D1:ADDA CA 9C AE D1 jp z, inputcharstrKeyEnter - 210 D1:ADDE - - - - - 211 D1:ADDE 4F - - - ld c, a - 212 D1:ADDF 78 - - - ld a, b - 213 D1:ADE0 D5 - - - push de - 214 D1:ADE1 ED 5B AB AE + 59 D1:ACDB BB - - - cp e + 60 D1:ACDC D1 - - - pop de + 61 D1:ACDD 28 D4 - - jr z, inputstrKeyInput + 62 D1:ACDF 79 - - - ld a, c + 63 D1:ACE0 - - - - + 64 D1:ACE0 D6 0A - - sub skAdd + 65 D1:ACE2 38 CF - - jr c, inputstrKeyInput + 66 D1:ACE4 FE 26 - - cp skMath - skAdd + 1 + 67 D1:ACE6 30 CB - - jr nc, inputstrKeyInput + 68 D1:ACE8 - - - - + 69 D1:ACE8 FD CB 12 5E bit Shift2nd, (IY + ShiftFlags) ; TIOS BASED + 70 D1:ACEC CC 5F AA D1 call z, chartoascii + 71 D1:ACF0 C4 7F AA D1 call nz, charnumsymtoascii + 72 D1:ACF4 - - - - + 73 D1:ACF4 FE FF - - cp $FF + 74 D1:ACF6 28 BB - - jr z, inputstrKeyInput + 75 D1:ACF8 - - - - + 76 D1:ACF8 FD CB 05 96 res textScrolled, (iy+textFlags) + 77 D1:ACFC - - - - + 78 D1:ACFC CD B8 07 02 call _PutC + 79 D1:AD00 - - - - + 80 D1:AD00 77 - - - ld (hl), a + 81 D1:AD01 23 - - - inc hl + 82 D1:AD02 04 - - - inc b + 83 D1:AD03 - - - - + 84 D1:AD03 FD CB 05 56 bit textScrolled, (iy+textFlags) + 85 D1:AD07 28 AA - - jr z, inputstrKeyInput + 86 D1:AD09 E5 - - - push hl + 87 D1:AD0A 21 A9 AD D1 ld hl, inputstrCurRowBuf + 88 D1:AD0E 7E - - - ld a, (hl) + 89 D1:AD0F 3D - - - dec a + 90 D1:AD10 77 - - - ld (hl), a + 91 D1:AD11 E1 - - - pop hl + 92 D1:AD12 18 9F - - jr inputstrKeyInput + 93 D1:AD14 - - - - inputstrKey2nd: + 94 D1:AD14 E5 - - - push hl + 95 D1:AD15 21 92 00 D0 ld hl, Flags + ShiftFlags + 96 D1:AD19 7E - - - ld a, (hl) + 97 D1:AD1A EE 08 - - xor 1 << Shift2nd ; Toggle state of Shift2nd flag + 98 D1:AD1C 77 - - - ld (hl), a + 99 D1:AD1D E1 - - - pop hl + 100 D1:AD1E C3 B3 AC D1 jp inputstrKeyInput + 101 D1:AD22 - - - - inputstrKeyDel: + 102 D1:AD22 78 - - - ld a, b + 103 D1:AD23 FE 00 - - cp 0 + 104 D1:AD25 CA B3 AC D1 jp z, inputstrKeyInput + 105 D1:AD29 - - - - + 106 D1:AD29 3E 20 - - ld a, ' ' + 107 D1:AD2B CD B4 07 02 call _PutMap + 108 D1:AD2F - - - - + 109 D1:AD2F E5 - - - push hl + 110 D1:AD30 21 96 05 D0 ld hl, CurCol + 111 D1:AD34 35 - - - dec (hl) + 112 D1:AD35 E1 - - - pop hl + 113 D1:AD36 - - - - + 114 D1:AD36 3E 20 - - ld a, ' ' + 115 D1:AD38 CD B4 07 02 call _PutMap + 116 D1:AD3C - - - - + 117 D1:AD3C 2B - - - dec hl + 118 D1:AD3D 05 - - - dec b + 119 D1:AD3E C3 B3 AC D1 jp inputstrKeyInput + 120 D1:AD42 - - - - + 121 D1:AD42 - - - - inputstrKeyClear: + 122 D1:AD42 78 - - - ld a, b + 123 D1:AD43 FE 00 - - cp 0 + 124 D1:AD45 CA B3 AC D1 jp z, inputstrKeyInput + 125 D1:AD49 - - - - + 126 D1:AD49 E5 - - - push hl + 127 D1:AD4A D5 - - - push de + 128 D1:AD4B 21 A8 AD D1 ld hl, inputstrCurColBuf + 129 D1:AD4F 11 96 05 D0 ld de, CurCol + 130 D1:AD53 CD DA A9 D1 call bytecpy + 131 D1:AD57 21 A9 AD D1 ld hl, inputstrCurRowBuf + 132 D1:AD5B 11 95 05 D0 ld de, CurRow + 133 D1:AD5F CD DA A9 D1 call bytecpy + 134 D1:AD63 D1 - - - pop de + 135 D1:AD64 E1 - - - pop hl + 136 D1:AD65 - - - - + 137 D1:AD65 3E 20 - - ld a, ' ' + 138 D1:AD67 04 - - - inc b + 139 D1:AD68 - - - - inputstrKeyClearLoop: + 140 D1:AD68 CD B8 07 02 call _PutC + 141 D1:AD6C 10 FA - - djnz inputstrKeyClearLoop + 142 D1:AD6E 06 00 - - ld b, 0 + 143 D1:AD70 - - - - + 144 D1:AD70 D5 - - - push de + 145 D1:AD71 E5 - - - push hl + 146 D1:AD72 21 A8 AD D1 ld hl, inputstrCurColBuf + 147 D1:AD76 11 96 05 D0 ld de, CurCol + 148 D1:AD7A CD DA A9 D1 call bytecpy + 149 D1:AD7E 21 A9 AD D1 ld hl, inputstrCurRowBuf + 150 D1:AD82 11 95 05 D0 ld de, CurRow + 151 D1:AD86 CD DA A9 D1 call bytecpy + 152 D1:AD8A E1 - - - pop hl + 153 D1:AD8B D1 - - - pop de + 154 D1:AD8C E1 - - - pop hl + 155 D1:AD8D E5 - - - push hl + 156 D1:AD8E C3 B3 AC D1 jp inputstrKeyInput + 157 D1:AD92 - - - - + 158 D1:AD92 - - - - inputstrKeyEnter: + 159 D1:AD92 36 00 - - ld (hl), 0 + 160 D1:AD94 CD A8 08 02 call _CursorOff + 161 D1:AD98 3E 20 - - ld a, ' ' + 162 D1:AD9A CD B4 07 02 call _PutMap + 163 D1:AD9E E1 - - - pop hl + 164 D1:AD9F D1 - - - pop de + 165 D1:ADA0 FD CB 12 9E res Shift2nd, (IY + ShiftFlags) + 166 D1:ADA4 C9 - - - ret + 167 D1:ADA5 - - - - + 168 D1:ADA5 00 - - - inputstrFlags: .db %00000000 + 169 D1:ADA6 - - - - ; 0: num Flag + 170 D1:ADA6 00 00 - - inputstrSizeBuf: .dw $0000 + 171 D1:ADA8 00 - - - inputstrCurColBuf: .db $00 + 172 D1:ADA9 00 - - - inputstrCurRowBuf: .db $00 + 173 D1:ADAA - - - - + 174 D1:ADAA - - - - ;;inputcharstr + 175 D1:ADAA - - - - ;;Inputs string of (only letters) of length [Buffer Size] and puts it in (Destination) + 176 D1:ADAA - - - - ;;Inputs: + 177 D1:ADAA - - - - ;; HL: Destination + 178 D1:ADAA - - - - ;; D[E]: Buffer Size + 179 D1:ADAA - - - - ;;Ouptuts: + 180 D1:ADAA - - - - ;; (HL): String + 181 D1:ADAA - - - - inputcharstr: + 182 D1:ADAA D5 - - - push de + 183 D1:ADAB E5 - - - push hl + 184 D1:ADAC ED 53 BA AE + D1 - - - ld (inputcharstrSizeBuf), de + 185 D1:ADB1 E5 - - - push hl + 186 D1:ADB2 D5 - - - push de + 187 D1:ADB3 21 96 05 D0 ld hl, CurCol + 188 D1:ADB7 11 BC AE D1 ld de, inputcharstrCurColBuf + 189 D1:ADBB CD DA A9 D1 call bytecpy + 190 D1:ADBF 21 95 05 D0 ld hl, CurRow + 191 D1:ADC3 11 BD AE D1 ld de, inputcharstrCurRowBuf + 192 D1:ADC7 CD DA A9 D1 call bytecpy + 193 D1:ADCB D1 - - - pop de + 194 D1:ADCC E1 - - - pop hl + 195 D1:ADCD - - - - + 196 D1:ADCD CD B0 08 02 call _CursorOn + 197 D1:ADD1 - - - - + 198 D1:ADD1 AF - - - xor a + 199 D1:ADD2 47 - - - ld b, a + 200 D1:ADD3 - - - - inputcharstrKeyInput: + 201 D1:ADD3 CD 8F AA D1 call cursorcurunderreset + 202 D1:ADD7 CD 7C AC D1 call inputgetkey + 203 D1:ADDB - - - - + 204 D1:ADDB FE 38 - - cp skDel + 205 D1:ADDD CA 26 AE D1 jp z, inputcharstrKeyDel + 206 D1:ADE1 FE 0F - - cp skClear + 207 D1:ADE3 CA 46 AE D1 jp z, inputcharstrKeyClear + 208 D1:ADE7 FE 09 - - cp skEnter + 209 D1:ADE9 CA AB AE D1 jp z, inputcharstrKeyEnter + 210 D1:ADED - - - - + 211 D1:ADED 4F - - - ld c, a + 212 D1:ADEE 78 - - - ld a, b + 213 D1:ADEF D5 - - - push de + 214 D1:ADF0 ED 5B BA AE D1 - - - ld de, (inputcharstrSizeBuf) - 215 D1:ADE6 BB - - - cp e - 216 D1:ADE7 D1 - - - pop de - 217 D1:ADE8 28 DA - - jr z, inputcharstrKeyInput - 218 D1:ADEA 79 - - - ld a, c - 219 D1:ADEB - - - - - 220 D1:ADEB D6 0A - - sub skAdd - 221 D1:ADED 38 D5 - - jr c, inputcharstrKeyInput - 222 D1:ADEF FE 26 - - cp skMath - skAdd + 1 - 223 D1:ADF1 30 D1 - - jr nc, inputcharstrKeyInput - 224 D1:ADF3 - - - - - 225 D1:ADF3 CD 50 AA D1 call chartoascii - 226 D1:ADF7 - - - - - 227 D1:ADF7 FE FF - - cp $FF - 228 D1:ADF9 28 C9 - - jr z, inputcharstrKeyInput - 229 D1:ADFB - - - - - 230 D1:ADFB FD CB 05 96 res textScrolled, (iy+textFlags) - 231 D1:ADFF - - - - - 232 D1:ADFF CD B8 07 02 call _PutC - 233 D1:AE03 - - - - - 234 D1:AE03 77 - - - ld (hl), a - 235 D1:AE04 23 - - - inc hl - 236 D1:AE05 04 - - - inc b - 237 D1:AE06 - - - - - 238 D1:AE06 FD CB 05 56 bit textScrolled, (iy+textFlags) - 239 D1:AE0A 28 B8 - - jr z, inputcharstrKeyInput - 240 D1:AE0C E5 - - - push hl - 241 D1:AE0D 21 AE AE D1 ld hl, inputcharstrCurRowBuf - 242 D1:AE11 7E - - - ld a, (hl) - 243 D1:AE12 3D - - - dec a - 244 D1:AE13 77 - - - ld (hl), a - 245 D1:AE14 E1 - - - pop hl - 246 D1:AE15 18 AD - - jr inputcharstrKeyInput - 247 D1:AE17 - - - - inputcharstrKeyDel: - 248 D1:AE17 78 - - - ld a, b - 249 D1:AE18 FE 00 - - cp 0 - 250 D1:AE1A CA C4 AD D1 jp z, inputcharstrKeyInput - 251 D1:AE1E - - - - - 252 D1:AE1E 3E 20 - - ld a, ' ' - 253 D1:AE20 CD B4 07 02 call _PutMap - 254 D1:AE24 - - - - - 255 D1:AE24 E5 - - - push hl - 256 D1:AE25 21 96 05 D0 ld hl, CurCol - 257 D1:AE29 35 - - - dec (hl) - 258 D1:AE2A E1 - - - pop hl - 259 D1:AE2B - - - - - 260 D1:AE2B 3E 20 - - ld a, ' ' - 261 D1:AE2D CD B4 07 02 call _PutMap - 262 D1:AE31 - - - - - 263 D1:AE31 2B - - - dec hl - 264 D1:AE32 05 - - - dec b - 265 D1:AE33 C3 C4 AD D1 jp inputcharstrKeyInput - 266 D1:AE37 - - - - - 267 D1:AE37 - - - - inputcharstrKeyClear: - 268 D1:AE37 78 - - - ld a, b - 269 D1:AE38 FE 00 - - cp 0 - 270 D1:AE3A CA C4 AD D1 jp z, inputcharstrKeyInput - 271 D1:AE3E - - - - - 272 D1:AE3E E5 - - - push hl - 273 D1:AE3F 21 95 05 D0 ld hl, CurRow - 274 D1:AE43 4E - - - ld c, (hl) - 275 D1:AE44 E1 - - - pop hl - 276 D1:AE45 - - - - - 277 D1:AE45 E5 - - - push hl - 278 D1:AE46 D5 - - - push de - 279 D1:AE47 21 AD AE D1 ld hl, inputcharstrCurColBuf - 280 D1:AE4B 11 96 05 D0 ld de, CurCol - 281 D1:AE4F CD CB A9 D1 call bytecpy - 282 D1:AE53 21 AE AE D1 ld hl, inputcharstrCurRowBuf - 283 D1:AE57 11 95 05 D0 ld de, CurRow - 284 D1:AE5B CD CB A9 D1 call bytecpy - 285 D1:AE5F D1 - - - pop de - 286 D1:AE60 E1 - - - pop hl - 287 D1:AE61 - - - - - 288 D1:AE61 3E 20 - - ld a, ' ' - 289 D1:AE63 04 - - - inc b - 290 D1:AE64 - - - - inputcharstrKeyClearLoop: - 291 D1:AE64 CD B8 07 02 call _PutC - 292 D1:AE68 10 FA - - djnz inputcharstrKeyClearLoop - 293 D1:AE6A - - - - - 294 D1:AE6A E5 - - - push hl - 295 D1:AE6B D5 - - - push de - 296 D1:AE6C 21 AD AE D1 ld hl, inputcharstrCurColBuf - 297 D1:AE70 11 96 05 D0 ld de, CurCol - 298 D1:AE74 CD CB A9 D1 call bytecpy - 299 D1:AE78 D1 - - - pop de - 300 D1:AE79 E1 - - - pop hl - 301 D1:AE7A - - - - - 302 D1:AE7A D5 - - - push de - 303 D1:AE7B E5 - - - push hl - 304 D1:AE7C 21 AD AE D1 ld hl, inputcharstrCurColBuf - 305 D1:AE80 11 96 05 D0 ld de, CurCol - 306 D1:AE84 CD CB A9 D1 call bytecpy - 307 D1:AE88 21 AE AE D1 ld hl, inputcharstrCurRowBuf - 308 D1:AE8C 11 95 05 D0 ld de, CurRow - 309 D1:AE90 CD CB A9 D1 call bytecpy - 310 D1:AE94 E1 - - - pop hl - 311 D1:AE95 D1 - - - pop de - 312 D1:AE96 E1 - - - pop hl - 313 D1:AE97 E5 - - - push hl - 314 D1:AE98 C3 C4 AD D1 jp inputcharstrKeyInput - 315 D1:AE9C - - - - - 316 D1:AE9C - - - - inputcharstrKeyEnter: - 317 D1:AE9C 36 00 - - ld (hl), 0 - 318 D1:AE9E CD A8 08 02 call _CursorOff - 319 D1:AEA2 3E 20 - - ld a, ' ' - 320 D1:AEA4 CD B4 07 02 call _PutMap - 321 D1:AEA8 E1 - - - pop hl - 322 D1:AEA9 D1 - - - pop de - 323 D1:AEAA C9 - - - ret - 324 D1:AEAB - - - - - 325 D1:AEAB 00 00 - - inputcharstrSizeBuf: .dw $0000 - 326 D1:AEAD 00 - - - inputcharstrCurColBuf: .db $00 - 327 D1:AEAE 00 - - - inputcharstrCurRowBuf: .db $00 - 328 D1:AEAF - - - - - 329 D1:AEAF - - - - ;;inputnumstr - 330 D1:AEAF - - - - ;;Inputs string of (only numbers) of length [Buffer Size] and puts it in (Destination) - 331 D1:AEAF - - - - ;;Inputs: - 332 D1:AEAF - - - - ;; HL: Destination - 333 D1:AEAF - - - - ;; D[E]: Buffer Size - 334 D1:AEAF - - - - ;;Ouptuts: - 335 D1:AEAF - - - - ;; (HL): String - 336 D1:AEAF - - - - inputnumstr: - 337 D1:AEAF D5 - - - push de - 338 D1:AEB0 E5 - - - push hl - 339 D1:AEB1 ED 53 AF AF + 215 D1:ADF5 BB - - - cp e + 216 D1:ADF6 D1 - - - pop de + 217 D1:ADF7 28 DA - - jr z, inputcharstrKeyInput + 218 D1:ADF9 79 - - - ld a, c + 219 D1:ADFA - - - - + 220 D1:ADFA D6 0A - - sub skAdd + 221 D1:ADFC 38 D5 - - jr c, inputcharstrKeyInput + 222 D1:ADFE FE 26 - - cp skMath - skAdd + 1 + 223 D1:AE00 30 D1 - - jr nc, inputcharstrKeyInput + 224 D1:AE02 - - - - + 225 D1:AE02 CD 5F AA D1 call chartoascii + 226 D1:AE06 - - - - + 227 D1:AE06 FE FF - - cp $FF + 228 D1:AE08 28 C9 - - jr z, inputcharstrKeyInput + 229 D1:AE0A - - - - + 230 D1:AE0A FD CB 05 96 res textScrolled, (iy+textFlags) + 231 D1:AE0E - - - - + 232 D1:AE0E CD B8 07 02 call _PutC + 233 D1:AE12 - - - - + 234 D1:AE12 77 - - - ld (hl), a + 235 D1:AE13 23 - - - inc hl + 236 D1:AE14 04 - - - inc b + 237 D1:AE15 - - - - + 238 D1:AE15 FD CB 05 56 bit textScrolled, (iy+textFlags) + 239 D1:AE19 28 B8 - - jr z, inputcharstrKeyInput + 240 D1:AE1B E5 - - - push hl + 241 D1:AE1C 21 BD AE D1 ld hl, inputcharstrCurRowBuf + 242 D1:AE20 7E - - - ld a, (hl) + 243 D1:AE21 3D - - - dec a + 244 D1:AE22 77 - - - ld (hl), a + 245 D1:AE23 E1 - - - pop hl + 246 D1:AE24 18 AD - - jr inputcharstrKeyInput + 247 D1:AE26 - - - - inputcharstrKeyDel: + 248 D1:AE26 78 - - - ld a, b + 249 D1:AE27 FE 00 - - cp 0 + 250 D1:AE29 CA D3 AD D1 jp z, inputcharstrKeyInput + 251 D1:AE2D - - - - + 252 D1:AE2D 3E 20 - - ld a, ' ' + 253 D1:AE2F CD B4 07 02 call _PutMap + 254 D1:AE33 - - - - + 255 D1:AE33 E5 - - - push hl + 256 D1:AE34 21 96 05 D0 ld hl, CurCol + 257 D1:AE38 35 - - - dec (hl) + 258 D1:AE39 E1 - - - pop hl + 259 D1:AE3A - - - - + 260 D1:AE3A 3E 20 - - ld a, ' ' + 261 D1:AE3C CD B4 07 02 call _PutMap + 262 D1:AE40 - - - - + 263 D1:AE40 2B - - - dec hl + 264 D1:AE41 05 - - - dec b + 265 D1:AE42 C3 D3 AD D1 jp inputcharstrKeyInput + 266 D1:AE46 - - - - + 267 D1:AE46 - - - - inputcharstrKeyClear: + 268 D1:AE46 78 - - - ld a, b + 269 D1:AE47 FE 00 - - cp 0 + 270 D1:AE49 CA D3 AD D1 jp z, inputcharstrKeyInput + 271 D1:AE4D - - - - + 272 D1:AE4D E5 - - - push hl + 273 D1:AE4E 21 95 05 D0 ld hl, CurRow + 274 D1:AE52 4E - - - ld c, (hl) + 275 D1:AE53 E1 - - - pop hl + 276 D1:AE54 - - - - + 277 D1:AE54 E5 - - - push hl + 278 D1:AE55 D5 - - - push de + 279 D1:AE56 21 BC AE D1 ld hl, inputcharstrCurColBuf + 280 D1:AE5A 11 96 05 D0 ld de, CurCol + 281 D1:AE5E CD DA A9 D1 call bytecpy + 282 D1:AE62 21 BD AE D1 ld hl, inputcharstrCurRowBuf + 283 D1:AE66 11 95 05 D0 ld de, CurRow + 284 D1:AE6A CD DA A9 D1 call bytecpy + 285 D1:AE6E D1 - - - pop de + 286 D1:AE6F E1 - - - pop hl + 287 D1:AE70 - - - - + 288 D1:AE70 3E 20 - - ld a, ' ' + 289 D1:AE72 04 - - - inc b + 290 D1:AE73 - - - - inputcharstrKeyClearLoop: + 291 D1:AE73 CD B8 07 02 call _PutC + 292 D1:AE77 10 FA - - djnz inputcharstrKeyClearLoop + 293 D1:AE79 - - - - + 294 D1:AE79 E5 - - - push hl + 295 D1:AE7A D5 - - - push de + 296 D1:AE7B 21 BC AE D1 ld hl, inputcharstrCurColBuf + 297 D1:AE7F 11 96 05 D0 ld de, CurCol + 298 D1:AE83 CD DA A9 D1 call bytecpy + 299 D1:AE87 D1 - - - pop de + 300 D1:AE88 E1 - - - pop hl + 301 D1:AE89 - - - - + 302 D1:AE89 D5 - - - push de + 303 D1:AE8A E5 - - - push hl + 304 D1:AE8B 21 BC AE D1 ld hl, inputcharstrCurColBuf + 305 D1:AE8F 11 96 05 D0 ld de, CurCol + 306 D1:AE93 CD DA A9 D1 call bytecpy + 307 D1:AE97 21 BD AE D1 ld hl, inputcharstrCurRowBuf + 308 D1:AE9B 11 95 05 D0 ld de, CurRow + 309 D1:AE9F CD DA A9 D1 call bytecpy + 310 D1:AEA3 E1 - - - pop hl + 311 D1:AEA4 D1 - - - pop de + 312 D1:AEA5 E1 - - - pop hl + 313 D1:AEA6 E5 - - - push hl + 314 D1:AEA7 C3 D3 AD D1 jp inputcharstrKeyInput + 315 D1:AEAB - - - - + 316 D1:AEAB - - - - inputcharstrKeyEnter: + 317 D1:AEAB 36 00 - - ld (hl), 0 + 318 D1:AEAD CD A8 08 02 call _CursorOff + 319 D1:AEB1 3E 20 - - ld a, ' ' + 320 D1:AEB3 CD B4 07 02 call _PutMap + 321 D1:AEB7 E1 - - - pop hl + 322 D1:AEB8 D1 - - - pop de + 323 D1:AEB9 C9 - - - ret + 324 D1:AEBA - - - - + 325 D1:AEBA 00 00 - - inputcharstrSizeBuf: .dw $0000 + 326 D1:AEBC 00 - - - inputcharstrCurColBuf: .db $00 + 327 D1:AEBD 00 - - - inputcharstrCurRowBuf: .db $00 + 328 D1:AEBE - - - - + 329 D1:AEBE - - - - ;;inputnumstr + 330 D1:AEBE - - - - ;;Inputs string of (only numbers) of length [Buffer Size] and puts it in (Destination) + 331 D1:AEBE - - - - ;;Inputs: + 332 D1:AEBE - - - - ;; HL: Destination + 333 D1:AEBE - - - - ;; D[E]: Buffer Size + 334 D1:AEBE - - - - ;;Ouptuts: + 335 D1:AEBE - - - - ;; (HL): String + 336 D1:AEBE - - - - inputnumstr: + 337 D1:AEBE D5 - - - push de + 338 D1:AEBF E5 - - - push hl + 339 D1:AEC0 ED 53 BE AF D1 - - - ld (inputnumstrSizeBuf), de - 340 D1:AEB6 E5 - - - push hl - 341 D1:AEB7 D5 - - - push de - 342 D1:AEB8 21 96 05 D0 ld hl, CurCol - 343 D1:AEBC 11 B1 AF D1 ld de, inputnumstrCurColBuf - 344 D1:AEC0 CD CB A9 D1 call bytecpy - 345 D1:AEC4 21 95 05 D0 ld hl, CurRow - 346 D1:AEC8 11 B2 AF D1 ld de, inputnumstrCurRowBuf - 347 D1:AECC CD CB A9 D1 call bytecpy - 348 D1:AED0 D1 - - - pop de - 349 D1:AED1 E1 - - - pop hl - 350 D1:AED2 - - - - - 351 D1:AED2 CD B0 08 02 call _CursorOn - 352 D1:AED6 - - - - - 353 D1:AED6 AF - - - xor a - 354 D1:AED7 47 - - - ld b, a - 355 D1:AED8 - - - - - 356 D1:AED8 - - - - inputnumstrKeyInput: - 357 D1:AED8 CD 80 AA D1 call cursorcurunderreset - 358 D1:AEDC CD 6D AC D1 call inputgetkey - 359 D1:AEE0 - - - - - 360 D1:AEE0 FE 38 - - cp skDel - 361 D1:AEE2 CA 2B AF D1 jp z, inputnumstrKeyDel - 362 D1:AEE6 FE 0F - - cp skClear - 363 D1:AEE8 CA 4B AF D1 jp z, inputnumstrKeyClear - 364 D1:AEEC FE 09 - - cp skEnter - 365 D1:AEEE CA A0 AF D1 jp z, inputnumstrKeyEnter - 366 D1:AEF2 - - - - - 367 D1:AEF2 4F - - - ld c, a - 368 D1:AEF3 78 - - - ld a, b - 369 D1:AEF4 D5 - - - push de - 370 D1:AEF5 ED 5B AF AF + 340 D1:AEC5 E5 - - - push hl + 341 D1:AEC6 D5 - - - push de + 342 D1:AEC7 21 96 05 D0 ld hl, CurCol + 343 D1:AECB 11 C0 AF D1 ld de, inputnumstrCurColBuf + 344 D1:AECF CD DA A9 D1 call bytecpy + 345 D1:AED3 21 95 05 D0 ld hl, CurRow + 346 D1:AED7 11 C1 AF D1 ld de, inputnumstrCurRowBuf + 347 D1:AEDB CD DA A9 D1 call bytecpy + 348 D1:AEDF D1 - - - pop de + 349 D1:AEE0 E1 - - - pop hl + 350 D1:AEE1 - - - - + 351 D1:AEE1 CD B0 08 02 call _CursorOn + 352 D1:AEE5 - - - - + 353 D1:AEE5 AF - - - xor a + 354 D1:AEE6 47 - - - ld b, a + 355 D1:AEE7 - - - - + 356 D1:AEE7 - - - - inputnumstrKeyInput: + 357 D1:AEE7 CD 8F AA D1 call cursorcurunderreset + 358 D1:AEEB CD 7C AC D1 call inputgetkey + 359 D1:AEEF - - - - + 360 D1:AEEF FE 38 - - cp skDel + 361 D1:AEF1 CA 3A AF D1 jp z, inputnumstrKeyDel + 362 D1:AEF5 FE 0F - - cp skClear + 363 D1:AEF7 CA 5A AF D1 jp z, inputnumstrKeyClear + 364 D1:AEFB FE 09 - - cp skEnter + 365 D1:AEFD CA AF AF D1 jp z, inputnumstrKeyEnter + 366 D1:AF01 - - - - + 367 D1:AF01 4F - - - ld c, a + 368 D1:AF02 78 - - - ld a, b + 369 D1:AF03 D5 - - - push de + 370 D1:AF04 ED 5B BE AF D1 - - - ld de, (inputnumstrSizeBuf) - 371 D1:AEFA BB - - - cp e - 372 D1:AEFB D1 - - - pop de - 373 D1:AEFC 28 DA - - jr z, inputnumstrKeyInput - 374 D1:AEFE 79 - - - ld a, c - 375 D1:AEFF - - - - - 376 D1:AEFF D6 0A - - sub skAdd - 377 D1:AF01 38 D5 - - jr c, inputnumstrKeyInput - 378 D1:AF03 FE 26 - - cp skMath - skAdd + 1 - 379 D1:AF05 30 D1 - - jr nc, inputnumstrKeyInput - 380 D1:AF07 - - - - - 381 D1:AF07 CD 60 AA D1 call charnumtoascii - 382 D1:AF0B FE FF - - cp $FF - 383 D1:AF0D 28 C9 - - jr z, inputnumstrKeyInput - 384 D1:AF0F - - - - - 385 D1:AF0F FD CB 05 96 res textScrolled, (iy+textFlags) - 386 D1:AF13 - - - - - 387 D1:AF13 CD B8 07 02 call _PutC - 388 D1:AF17 - - - - - 389 D1:AF17 77 - - - ld (hl), a - 390 D1:AF18 23 - - - inc hl - 391 D1:AF19 04 - - - inc b - 392 D1:AF1A - - - - - 393 D1:AF1A FD CB 05 56 bit textScrolled, (iy+textFlags) - 394 D1:AF1E 28 B8 - - jr z, inputnumstrKeyInput - 395 D1:AF20 E5 - - - push hl - 396 D1:AF21 21 B2 AF D1 ld hl, inputnumstrCurRowBuf - 397 D1:AF25 7E - - - ld a, (hl) - 398 D1:AF26 3D - - - dec a - 399 D1:AF27 77 - - - ld (hl), a - 400 D1:AF28 E1 - - - pop hl - 401 D1:AF29 18 AD - - jr inputnumstrKeyInput - 402 D1:AF2B - - - - inputnumstrkeydel: - 403 D1:AF2B 78 - - - ld a, b - 404 D1:AF2C FE 00 - - cp 0 - 405 D1:AF2E CA D8 AE D1 jp z, inputnumstrKeyInput - 406 D1:AF32 - - - - - 407 D1:AF32 3E 20 - - ld a, ' ' - 408 D1:AF34 CD B4 07 02 call _PutMap - 409 D1:AF38 - - - - - 410 D1:AF38 E5 - - - push hl - 411 D1:AF39 21 96 05 D0 ld hl, CurCol - 412 D1:AF3D 35 - - - dec (hl) - 413 D1:AF3E E1 - - - pop hl - 414 D1:AF3F - - - - - 415 D1:AF3F 3E 20 - - ld a, ' ' - 416 D1:AF41 CD B4 07 02 call _PutMap - 417 D1:AF45 - - - - - 418 D1:AF45 2B - - - dec hl - 419 D1:AF46 05 - - - dec b - 420 D1:AF47 C3 D8 AE D1 jp inputnumstrKeyInput - 421 D1:AF4B - - - - - 422 D1:AF4B - - - - inputnumstrKeyClear: - 423 D1:AF4B 78 - - - ld a, b - 424 D1:AF4C FE 00 - - cp 0 - 425 D1:AF4E CA D8 AE D1 jp z, inputnumstrKeyInput - 426 D1:AF52 - - - - - 427 D1:AF52 E5 - - - push hl - 428 D1:AF53 21 95 05 D0 ld hl, CurRow - 429 D1:AF57 4E - - - ld c, (hl) - 430 D1:AF58 E1 - - - pop hl - 431 D1:AF59 - - - - - 432 D1:AF59 E5 - - - push hl - 433 D1:AF5A D5 - - - push de - 434 D1:AF5B 21 B1 AF D1 ld hl, inputnumstrCurColBuf - 435 D1:AF5F 11 96 05 D0 ld de, CurCol - 436 D1:AF63 CD CB A9 D1 call bytecpy - 437 D1:AF67 21 B2 AF D1 ld hl, inputnumstrCurRowBuf - 438 D1:AF6B 11 95 05 D0 ld de, CurRow - 439 D1:AF6F CD CB A9 D1 call bytecpy - 440 D1:AF73 D1 - - - pop de - 441 D1:AF74 E1 - - - pop hl - 442 D1:AF75 - - - - - 443 D1:AF75 3E 20 - - ld a, ' ' - 444 D1:AF77 04 - - - inc b - 445 D1:AF78 - - - - inputnumstrKeyClearLoop: - 446 D1:AF78 CD B8 07 02 call _PutC - 447 D1:AF7C 10 FA - - djnz inputnumstrKeyClearLoop - 448 D1:AF7E - - - - - 449 D1:AF7E D5 - - - push de - 450 D1:AF7F E5 - - - push hl - 451 D1:AF80 21 B1 AF D1 ld hl, inputnumstrCurColBuf - 452 D1:AF84 11 96 05 D0 ld de, CurCol - 453 D1:AF88 CD CB A9 D1 call bytecpy - 454 D1:AF8C 21 B2 AF D1 ld hl, inputnumstrCurRowBuf - 455 D1:AF90 11 95 05 D0 ld de, CurRow - 456 D1:AF94 CD CB A9 D1 call bytecpy - 457 D1:AF98 E1 - - - pop hl - 458 D1:AF99 D1 - - - pop de - 459 D1:AF9A E1 - - - pop hl - 460 D1:AF9B E5 - - - push hl - 461 D1:AF9C C3 D8 AE D1 jp inputnumstrKeyInput - 462 D1:AFA0 - - - - - 463 D1:AFA0 - - - - inputnumstrKeyEnter: - 464 D1:AFA0 36 00 - - ld (hl), 0 - 465 D1:AFA2 CD A8 08 02 call _CursorOff - 466 D1:AFA6 3E 20 - - ld a, ' ' - 467 D1:AFA8 CD B4 07 02 call _PutMap - 468 D1:AFAC E1 - - - pop hl - 469 D1:AFAD D1 - - - pop de - 470 D1:AFAE C9 - - - ret - 471 D1:AFAF - - - - - 472 D1:AFAF 00 00 - - inputnumstrSizeBuf: .dw $0000 - 473 D1:AFB1 00 - - - inputnumstrCurColBuf: .db $00 - 474 D1:AFB2 00 - - - inputnumstrCurRowBuf: .db $00 + 371 D1:AF09 BB - - - cp e + 372 D1:AF0A D1 - - - pop de + 373 D1:AF0B 28 DA - - jr z, inputnumstrKeyInput + 374 D1:AF0D 79 - - - ld a, c + 375 D1:AF0E - - - - + 376 D1:AF0E D6 0A - - sub skAdd + 377 D1:AF10 38 D5 - - jr c, inputnumstrKeyInput + 378 D1:AF12 FE 26 - - cp skMath - skAdd + 1 + 379 D1:AF14 30 D1 - - jr nc, inputnumstrKeyInput + 380 D1:AF16 - - - - + 381 D1:AF16 CD 6F AA D1 call charnumtoascii + 382 D1:AF1A FE FF - - cp $FF + 383 D1:AF1C 28 C9 - - jr z, inputnumstrKeyInput + 384 D1:AF1E - - - - + 385 D1:AF1E FD CB 05 96 res textScrolled, (iy+textFlags) + 386 D1:AF22 - - - - + 387 D1:AF22 CD B8 07 02 call _PutC + 388 D1:AF26 - - - - + 389 D1:AF26 77 - - - ld (hl), a + 390 D1:AF27 23 - - - inc hl + 391 D1:AF28 04 - - - inc b + 392 D1:AF29 - - - - + 393 D1:AF29 FD CB 05 56 bit textScrolled, (iy+textFlags) + 394 D1:AF2D 28 B8 - - jr z, inputnumstrKeyInput + 395 D1:AF2F E5 - - - push hl + 396 D1:AF30 21 C1 AF D1 ld hl, inputnumstrCurRowBuf + 397 D1:AF34 7E - - - ld a, (hl) + 398 D1:AF35 3D - - - dec a + 399 D1:AF36 77 - - - ld (hl), a + 400 D1:AF37 E1 - - - pop hl + 401 D1:AF38 18 AD - - jr inputnumstrKeyInput + 402 D1:AF3A - - - - inputnumstrkeydel: + 403 D1:AF3A 78 - - - ld a, b + 404 D1:AF3B FE 00 - - cp 0 + 405 D1:AF3D CA E7 AE D1 jp z, inputnumstrKeyInput + 406 D1:AF41 - - - - + 407 D1:AF41 3E 20 - - ld a, ' ' + 408 D1:AF43 CD B4 07 02 call _PutMap + 409 D1:AF47 - - - - + 410 D1:AF47 E5 - - - push hl + 411 D1:AF48 21 96 05 D0 ld hl, CurCol + 412 D1:AF4C 35 - - - dec (hl) + 413 D1:AF4D E1 - - - pop hl + 414 D1:AF4E - - - - + 415 D1:AF4E 3E 20 - - ld a, ' ' + 416 D1:AF50 CD B4 07 02 call _PutMap + 417 D1:AF54 - - - - + 418 D1:AF54 2B - - - dec hl + 419 D1:AF55 05 - - - dec b + 420 D1:AF56 C3 E7 AE D1 jp inputnumstrKeyInput + 421 D1:AF5A - - - - + 422 D1:AF5A - - - - inputnumstrKeyClear: + 423 D1:AF5A 78 - - - ld a, b + 424 D1:AF5B FE 00 - - cp 0 + 425 D1:AF5D CA E7 AE D1 jp z, inputnumstrKeyInput + 426 D1:AF61 - - - - + 427 D1:AF61 E5 - - - push hl + 428 D1:AF62 21 95 05 D0 ld hl, CurRow + 429 D1:AF66 4E - - - ld c, (hl) + 430 D1:AF67 E1 - - - pop hl + 431 D1:AF68 - - - - + 432 D1:AF68 E5 - - - push hl + 433 D1:AF69 D5 - - - push de + 434 D1:AF6A 21 C0 AF D1 ld hl, inputnumstrCurColBuf + 435 D1:AF6E 11 96 05 D0 ld de, CurCol + 436 D1:AF72 CD DA A9 D1 call bytecpy + 437 D1:AF76 21 C1 AF D1 ld hl, inputnumstrCurRowBuf + 438 D1:AF7A 11 95 05 D0 ld de, CurRow + 439 D1:AF7E CD DA A9 D1 call bytecpy + 440 D1:AF82 D1 - - - pop de + 441 D1:AF83 E1 - - - pop hl + 442 D1:AF84 - - - - + 443 D1:AF84 3E 20 - - ld a, ' ' + 444 D1:AF86 04 - - - inc b + 445 D1:AF87 - - - - inputnumstrKeyClearLoop: + 446 D1:AF87 CD B8 07 02 call _PutC + 447 D1:AF8B 10 FA - - djnz inputnumstrKeyClearLoop + 448 D1:AF8D - - - - + 449 D1:AF8D D5 - - - push de + 450 D1:AF8E E5 - - - push hl + 451 D1:AF8F 21 C0 AF D1 ld hl, inputnumstrCurColBuf + 452 D1:AF93 11 96 05 D0 ld de, CurCol + 453 D1:AF97 CD DA A9 D1 call bytecpy + 454 D1:AF9B 21 C1 AF D1 ld hl, inputnumstrCurRowBuf + 455 D1:AF9F 11 95 05 D0 ld de, CurRow + 456 D1:AFA3 CD DA A9 D1 call bytecpy + 457 D1:AFA7 E1 - - - pop hl + 458 D1:AFA8 D1 - - - pop de + 459 D1:AFA9 E1 - - - pop hl + 460 D1:AFAA E5 - - - push hl + 461 D1:AFAB C3 E7 AE D1 jp inputnumstrKeyInput + 462 D1:AFAF - - - - + 463 D1:AFAF - - - - inputnumstrKeyEnter: + 464 D1:AFAF 36 00 - - ld (hl), 0 + 465 D1:AFB1 CD A8 08 02 call _CursorOff + 466 D1:AFB5 3E 20 - - ld a, ' ' + 467 D1:AFB7 CD B4 07 02 call _PutMap + 468 D1:AFBB E1 - - - pop hl + 469 D1:AFBC D1 - - - pop de + 470 D1:AFBD C9 - - - ret + 471 D1:AFBE - - - - + 472 D1:AFBE 00 00 - - inputnumstrSizeBuf: .dw $0000 + 473 D1:AFC0 00 - - - inputnumstrCurColBuf: .db $00 + 474 D1:AFC1 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" - 72 D1:AFB3 - - - - #include "includes/lib/fsh/fsh.inc" + 72 D1:AFC2 - - - - #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:AFB3 - - - - #include "includes/lib/fsh/Command.asm" + 1 D1:AFC2 - - - - #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:AFB3 - - - - ;;commandfill - 2 D1:AFB3 - - - - ;;Fills command mem with byte a - 3 D1:AFB3 - - - - ;;Inputs: - 4 D1:AFB3 - - - - ;; A: byte - 5 D1:AFB3 - - - - commandfill: - 6 D1:AFB3 E5 - - - push hl - 7 D1:AFB4 C5 - - - push bc - 8 D1:AFB5 D5 - - - push de - 9 D1:AFB6 06 00 - - ld b, 0 - 10 D1:AFB8 11 00 00 00 ld de, 0 - 11 D1:AFBC 4F - - - ld c, a - 12 D1:AFBD 21 9F EA D0 ld hl, FshCmd - 13 D1:AFC1 - - - - commandfillLoop: - 14 D1:AFC1 71 - - - ld (hl), c - 15 D1:AFC2 23 - - - inc hl - 16 D1:AFC3 04 - - - inc b - 17 D1:AFC4 13 - - - inc de - 18 D1:AFC5 78 - - - ld a, b - 19 D1:AFC6 FE 40 - - cp FshCmdSize - 20 D1:AFC8 38 F7 - - jr c, commandfillLoop - 21 D1:AFCA D1 - - - pop de - 22 D1:AFCB C1 - - - pop bc - 23 D1:AFCC E1 - - - pop hl - 24 D1:AFCD C9 - - - ret + 1 D1:AFC2 - - - - ;;commandfill + 2 D1:AFC2 - - - - ;;Fills command mem with byte a + 3 D1:AFC2 - - - - ;;Inputs: + 4 D1:AFC2 - - - - ;; A: byte + 5 D1:AFC2 - - - - commandfill: + 6 D1:AFC2 E5 - - - push hl + 7 D1:AFC3 C5 - - - push bc + 8 D1:AFC4 D5 - - - push de + 9 D1:AFC5 06 00 - - ld b, 0 + 10 D1:AFC7 11 00 00 00 ld de, 0 + 11 D1:AFCB 4F - - - ld c, a + 12 D1:AFCC 21 9F EA D0 ld hl, FshCmd + 13 D1:AFD0 - - - - commandfillLoop: + 14 D1:AFD0 71 - - - ld (hl), c + 15 D1:AFD1 23 - - - inc hl + 16 D1:AFD2 04 - - - inc b + 17 D1:AFD3 13 - - - inc de + 18 D1:AFD4 78 - - - ld a, b + 19 D1:AFD5 FE 40 - - cp FshCmdSize + 20 D1:AFD7 38 F7 - - jr c, commandfillLoop + 21 D1:AFD9 D1 - - - pop de + 22 D1:AFDA C1 - - - pop bc + 23 D1:AFDB E1 - - - pop hl + 24 D1:AFDC C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 2 D1:AFCE - - - - #include "includes/lib/fsh/Parse.asm" + 2 D1:AFDD - - - - #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:AFCE - - - - ;;fshparsecommand - 2 D1:AFCE - - - - ;;Inputs: - 3 D1:AFCE - - - - ;; HL: FshCmd - 4 D1:AFCE - - - - ;;b = buf row - 5 D1:AFCE - - - - ;;c = char in row - 6 D1:AFCE - - - - ;de = scratch - 7 D1:AFCE - - - - fshparsecommand: - 8 D1:AFCE E5 - - - push hl - 9 D1:AFCF C5 - - - push bc - 10 D1:AFD0 D5 - - - push de - 11 D1:AFD1 E5 - - - push hl - 12 D1:AFD2 E5 - - - push hl - 13 D1:AFD3 21 E5 B0 D1 ld hl, fshparsecommandCmd - 14 D1:AFD7 06 2D - - ld b, 45 - 15 D1:AFD9 3E 00 - - ld a, $00 - 16 D1:AFDB CD D3 A9 D1 call memset - 17 D1:AFDF E1 - - - pop hl - 18 D1:AFE0 - - - - - 19 D1:AFE0 01 00 00 00 ld bc, 0 - 20 D1:AFE4 11 00 00 00 ld de, 0 - 21 D1:AFE8 - - - - fshparsecommandLoop: - 22 D1:AFE8 7E - - - ld a, (hl) - 23 D1:AFE9 - - - - fshparsecommandCheckSpace: - 24 D1:AFE9 FE 20 - - cp ' ' ;end of word - 25 D1:AFEB 20 0C - - jr nz, fshparsecommandCheckEnd - 26 D1:AFED 3E 00 - - ld a, $00 - 27 D1:AFEF CD 18 B1 D1 call fshparsecommandCopyChar - 28 D1:AFF3 0E 00 - - ld c, 0 - 29 D1:AFF5 04 - - - inc b - 30 D1:AFF6 23 - - - inc hl - 31 D1:AFF7 18 EF - - jr fshparsecommandLoop - 32 D1:AFF9 - - - - - 33 D1:AFF9 - - - - fshparsecommandCheckEnd: - 34 D1:AFF9 FE 00 - - cp $00 ;end of string - 35 D1:AFFB 28 13 - - jr z, fshparsecommandCheckArgStatus - 36 D1:AFFD - - - - - 37 D1:AFFD - - - - fshparsecommandLoopEnd: - 38 D1:AFFD CD 18 B1 D1 call fshparsecommandCopyChar - 39 D1:B001 23 - - - inc hl - 40 D1:B002 0C - - - inc c - 41 D1:B003 - - - - - 42 D1:B003 79 - - - ld a, c - 43 D1:B004 FE 08 - - cp FshCmdCmdSize - 44 D1:B006 20 E0 - - jr nz, fshparsecommandLoop - 45 D1:B008 - - - - ;inc hl - 46 D1:B008 0E 00 - - ld c, 0 - 47 D1:B00A 04 - - - inc b - 48 D1:B00B 78 - - - ld a, b - 49 D1:B00C FE 05 - - cp 5 - 50 D1:B00E 20 D8 - - jr nz, fshparsecommandLoop - 51 D1:B010 - - - - ; ld bc, 0 - 52 D1:B010 - - - - - 53 D1:B010 - - - - fshparsecommandCheckArgStatus: - 54 D1:B010 AF - - - xor a - 55 D1:B011 21 CD EA D0 ld hl, FshCmdArgFlags - 56 D1:B015 77 - - - ld (hl), a - 57 D1:B016 - - - - fshparsecommandCheckArg0: - 58 D1:B016 21 EE B0 D1 ld hl, fshparsecommandArg0 - 59 D1:B01A 7E - - - ld a, (hl) - 60 D1:B01B FE 00 - - cp $00 - 61 D1:B01D 28 27 - - jr z, fshparsecommandCheckArg1 - 62 D1:B01F 21 CD EA D0 ld hl, FshCmdArgFlags - 63 D1:B023 CB C6 - - set 0, (hl) - 64 D1:B025 7E - - - ld a, (hl) - 65 D1:B026 21 EE B0 D1 ld hl, fshparsecommandArg0 - 66 D1:B02A 7E - - - ld a, (hl) - 67 D1:B02B D6 30 - - sub '0' - 68 D1:B02D FE 0A - - cp '9' - '0' + 1 - 69 D1:B02F 30 15 - - jr nc, fshparsecommandCheckArg1 - 70 D1:B031 CD C5 AB D1 call strtow - 71 D1:B035 11 EE B0 D1 ld de, fshparsecommandArg0 - 72 D1:B039 EB - - - ex de, hl - 73 D1:B03A 73 - - - ld (hl), e - 74 D1:B03B 23 - - - inc hl - 75 D1:B03C 72 - - - ld (hl), d - 76 D1:B03D 34 - - - inc (hl) - 77 D1:B03E 36 00 - - ld (hl), $00 - 78 D1:B040 21 CD EA D0 ld hl, FshCmdArgFlags - 79 D1:B044 CB CE - - set 1, (hl) - 80 D1:B046 - - - - fshparsecommandCheckArg1: - 81 D1:B046 21 F7 B0 D1 ld hl, fshparsecommandArg1 - 82 D1:B04A 7E - - - ld a, (hl) - 83 D1:B04B FE 00 - - cp $00 - 84 D1:B04D 28 26 - - jr z, fshparsecommandCheckArg2 - 85 D1:B04F 21 CD EA D0 ld hl, FshCmdArgFlags - 86 D1:B053 CB D6 - - set 2, (hl) - 87 D1:B055 21 F7 B0 D1 ld hl, fshparsecommandArg1 - 88 D1:B059 7E - - - ld a, (hl) - 89 D1:B05A D6 30 - - sub '0' - 90 D1:B05C FE 0A - - cp '9' - '0' + 1 - 91 D1:B05E 30 15 - - jr nc, fshparsecommandCheckArg2 - 92 D1:B060 CD C5 AB D1 call strtow - 93 D1:B064 11 F7 B0 D1 ld de, fshparsecommandArg1 - 94 D1:B068 EB - - - ex de, hl - 95 D1:B069 73 - - - ld (hl), e - 96 D1:B06A 23 - - - inc hl - 97 D1:B06B 72 - - - ld (hl), d - 98 D1:B06C 23 - - - inc hl - 99 D1:B06D 36 00 - - ld (hl), $00 - 100 D1:B06F 21 CD EA D0 ld hl, FshCmdArgFlags - 101 D1:B073 CB DE - - set 3, (hl) - 102 D1:B075 - - - - fshparsecommandCheckArg2: - 103 D1:B075 21 00 B1 D1 ld hl, fshparsecommandArg2 - 104 D1:B079 7E - - - ld a, (hl) - 105 D1:B07A FE 00 - - cp $00 - 106 D1:B07C 28 26 - - jr z, fshparsecommandCheckArg3 - 107 D1:B07E 21 CD EA D0 ld hl, FshCmdArgFlags - 108 D1:B082 CB E6 - - set 4, (hl) - 109 D1:B084 21 00 B1 D1 ld hl, fshparsecommandArg2 - 110 D1:B088 7E - - - ld a, (hl) - 111 D1:B089 D6 30 - - sub '0' - 112 D1:B08B FE 0A - - cp '9' - '0' + 1 - 113 D1:B08D 30 15 - - jr nc, fshparsecommandCheckArg3 - 114 D1:B08F CD C5 AB D1 call strtow - 115 D1:B093 11 00 B1 D1 ld de, fshparsecommandArg2 - 116 D1:B097 EB - - - ex de, hl - 117 D1:B098 73 - - - ld (hl), e - 118 D1:B099 23 - - - inc hl - 119 D1:B09A 72 - - - ld (hl), d - 120 D1:B09B 23 - - - inc hl - 121 D1:B09C 36 00 - - ld (hl), $00 - 122 D1:B09E 21 CD EA D0 ld hl, FshCmdArgFlags - 123 D1:B0A2 CB EE - - set 5, (hl) - 124 D1:B0A4 - - - - fshparsecommandCheckArg3: - 125 D1:B0A4 21 09 B1 D1 ld hl, fshparsecommandArg3 - 126 D1:B0A8 7E - - - ld a, (hl) - 127 D1:B0A9 FE 00 - - cp $00 - 128 D1:B0AB 28 26 - - jr z, fshparsecommandCopyBack - 129 D1:B0AD 21 CD EA D0 ld hl, FshCmdArgFlags - 130 D1:B0B1 CB F6 - - set 6, (hl) - 131 D1:B0B3 21 09 B1 D1 ld hl, fshparsecommandArg3 - 132 D1:B0B7 7E - - - ld a, (hl) - 133 D1:B0B8 D6 30 - - sub '0' - 134 D1:B0BA FE 0A - - cp '9' - '0' + 1 - 135 D1:B0BC 30 15 - - jr nc, fshparsecommandCopyBack - 136 D1:B0BE CD C5 AB D1 call strtow - 137 D1:B0C2 11 09 B1 D1 ld de, fshparsecommandArg3 - 138 D1:B0C6 EB - - - ex de, hl - 139 D1:B0C7 73 - - - ld (hl), e - 140 D1:B0C8 23 - - - inc hl - 141 D1:B0C9 72 - - - ld (hl), d - 142 D1:B0CA 23 - - - inc hl - 143 D1:B0CB 36 00 - - ld (hl), $00 - 144 D1:B0CD 21 CD EA D0 ld hl, FshCmdArgFlags - 145 D1:B0D1 CB FE - - set 7, (hl) - 146 D1:B0D3 - - - - fshparsecommandCopyBack: - 147 D1:B0D3 E1 - - - pop hl - 148 D1:B0D4 C5 - - - push bc - 149 D1:B0D5 EB - - - ex de, hl - 150 D1:B0D6 21 E5 B0 D1 ld hl, fshparsecommandCmd - 151 D1:B0DA 01 2D 00 00 ld bc, 45 - 152 D1:B0DE ED B0 - - ldir - 153 D1:B0E0 C1 - - - pop bc - 154 D1:B0E1 - - - - - 155 D1:B0E1 D1 - - - pop de - 156 D1:B0E2 C1 - - - pop bc - 157 D1:B0E3 E1 - - - pop hl - 158 D1:B0E4 C9 - - - ret - 159 D1:B0E5 - - - - - 160 D1:B0E5 00 00 00 00 + 1 D1:AFDD - - - - ;;fshparsecommand + 2 D1:AFDD - - - - ;;Inputs: + 3 D1:AFDD - - - - ;; HL: FshCmd + 4 D1:AFDD - - - - ;;b = buf row + 5 D1:AFDD - - - - ;;c = char in row + 6 D1:AFDD - - - - ;de = scratch + 7 D1:AFDD - - - - fshparsecommand: + 8 D1:AFDD E5 - - - push hl + 9 D1:AFDE C5 - - - push bc + 10 D1:AFDF D5 - - - push de + 11 D1:AFE0 E5 - - - push hl + 12 D1:AFE1 E5 - - - push hl + 13 D1:AFE2 21 F4 B0 D1 ld hl, fshparsecommandCmd + 14 D1:AFE6 06 2D - - ld b, 45 + 15 D1:AFE8 3E 00 - - ld a, $00 + 16 D1:AFEA CD E2 A9 D1 call memset + 17 D1:AFEE E1 - - - pop hl + 18 D1:AFEF - - - - + 19 D1:AFEF 01 00 00 00 ld bc, 0 + 20 D1:AFF3 11 00 00 00 ld de, 0 + 21 D1:AFF7 - - - - fshparsecommandLoop: + 22 D1:AFF7 7E - - - ld a, (hl) + 23 D1:AFF8 - - - - fshparsecommandCheckSpace: + 24 D1:AFF8 FE 20 - - cp ' ' ;end of word + 25 D1:AFFA 20 0C - - jr nz, fshparsecommandCheckEnd + 26 D1:AFFC 3E 00 - - ld a, $00 + 27 D1:AFFE CD 27 B1 D1 call fshparsecommandCopyChar + 28 D1:B002 0E 00 - - ld c, 0 + 29 D1:B004 04 - - - inc b + 30 D1:B005 23 - - - inc hl + 31 D1:B006 18 EF - - jr fshparsecommandLoop + 32 D1:B008 - - - - + 33 D1:B008 - - - - fshparsecommandCheckEnd: + 34 D1:B008 FE 00 - - cp $00 ;end of string + 35 D1:B00A 28 13 - - jr z, fshparsecommandCheckArgStatus + 36 D1:B00C - - - - + 37 D1:B00C - - - - fshparsecommandLoopEnd: + 38 D1:B00C CD 27 B1 D1 call fshparsecommandCopyChar + 39 D1:B010 23 - - - inc hl + 40 D1:B011 0C - - - inc c + 41 D1:B012 - - - - + 42 D1:B012 79 - - - ld a, c + 43 D1:B013 FE 08 - - cp FshCmdCmdSize + 44 D1:B015 20 E0 - - jr nz, fshparsecommandLoop + 45 D1:B017 - - - - ;inc hl + 46 D1:B017 0E 00 - - ld c, 0 + 47 D1:B019 04 - - - inc b + 48 D1:B01A 78 - - - ld a, b + 49 D1:B01B FE 05 - - cp 5 + 50 D1:B01D 20 D8 - - jr nz, fshparsecommandLoop + 51 D1:B01F - - - - ; ld bc, 0 + 52 D1:B01F - - - - + 53 D1:B01F - - - - fshparsecommandCheckArgStatus: + 54 D1:B01F AF - - - xor a + 55 D1:B020 21 CD EA D0 ld hl, FshCmdArgFlags + 56 D1:B024 77 - - - ld (hl), a + 57 D1:B025 - - - - fshparsecommandCheckArg0: + 58 D1:B025 21 FD B0 D1 ld hl, fshparsecommandArg0 + 59 D1:B029 7E - - - ld a, (hl) + 60 D1:B02A FE 00 - - cp $00 + 61 D1:B02C 28 27 - - jr z, fshparsecommandCheckArg1 + 62 D1:B02E 21 CD EA D0 ld hl, FshCmdArgFlags + 63 D1:B032 CB C6 - - set 0, (hl) + 64 D1:B034 7E - - - ld a, (hl) + 65 D1:B035 21 FD B0 D1 ld hl, fshparsecommandArg0 + 66 D1:B039 7E - - - ld a, (hl) + 67 D1:B03A D6 30 - - sub '0' + 68 D1:B03C FE 0A - - cp '9' - '0' + 1 + 69 D1:B03E 30 15 - - jr nc, fshparsecommandCheckArg1 + 70 D1:B040 CD D4 AB D1 call strtow + 71 D1:B044 11 FD B0 D1 ld de, fshparsecommandArg0 + 72 D1:B048 EB - - - ex de, hl + 73 D1:B049 73 - - - ld (hl), e + 74 D1:B04A 23 - - - inc hl + 75 D1:B04B 72 - - - ld (hl), d + 76 D1:B04C 34 - - - inc (hl) + 77 D1:B04D 36 00 - - ld (hl), $00 + 78 D1:B04F 21 CD EA D0 ld hl, FshCmdArgFlags + 79 D1:B053 CB CE - - set 1, (hl) + 80 D1:B055 - - - - fshparsecommandCheckArg1: + 81 D1:B055 21 06 B1 D1 ld hl, fshparsecommandArg1 + 82 D1:B059 7E - - - ld a, (hl) + 83 D1:B05A FE 00 - - cp $00 + 84 D1:B05C 28 26 - - jr z, fshparsecommandCheckArg2 + 85 D1:B05E 21 CD EA D0 ld hl, FshCmdArgFlags + 86 D1:B062 CB D6 - - set 2, (hl) + 87 D1:B064 21 06 B1 D1 ld hl, fshparsecommandArg1 + 88 D1:B068 7E - - - ld a, (hl) + 89 D1:B069 D6 30 - - sub '0' + 90 D1:B06B FE 0A - - cp '9' - '0' + 1 + 91 D1:B06D 30 15 - - jr nc, fshparsecommandCheckArg2 + 92 D1:B06F CD D4 AB D1 call strtow + 93 D1:B073 11 06 B1 D1 ld de, fshparsecommandArg1 + 94 D1:B077 EB - - - ex de, hl + 95 D1:B078 73 - - - ld (hl), e + 96 D1:B079 23 - - - inc hl + 97 D1:B07A 72 - - - ld (hl), d + 98 D1:B07B 23 - - - inc hl + 99 D1:B07C 36 00 - - ld (hl), $00 + 100 D1:B07E 21 CD EA D0 ld hl, FshCmdArgFlags + 101 D1:B082 CB DE - - set 3, (hl) + 102 D1:B084 - - - - fshparsecommandCheckArg2: + 103 D1:B084 21 0F B1 D1 ld hl, fshparsecommandArg2 + 104 D1:B088 7E - - - ld a, (hl) + 105 D1:B089 FE 00 - - cp $00 + 106 D1:B08B 28 26 - - jr z, fshparsecommandCheckArg3 + 107 D1:B08D 21 CD EA D0 ld hl, FshCmdArgFlags + 108 D1:B091 CB E6 - - set 4, (hl) + 109 D1:B093 21 0F B1 D1 ld hl, fshparsecommandArg2 + 110 D1:B097 7E - - - ld a, (hl) + 111 D1:B098 D6 30 - - sub '0' + 112 D1:B09A FE 0A - - cp '9' - '0' + 1 + 113 D1:B09C 30 15 - - jr nc, fshparsecommandCheckArg3 + 114 D1:B09E CD D4 AB D1 call strtow + 115 D1:B0A2 11 0F B1 D1 ld de, fshparsecommandArg2 + 116 D1:B0A6 EB - - - ex de, hl + 117 D1:B0A7 73 - - - ld (hl), e + 118 D1:B0A8 23 - - - inc hl + 119 D1:B0A9 72 - - - ld (hl), d + 120 D1:B0AA 23 - - - inc hl + 121 D1:B0AB 36 00 - - ld (hl), $00 + 122 D1:B0AD 21 CD EA D0 ld hl, FshCmdArgFlags + 123 D1:B0B1 CB EE - - set 5, (hl) + 124 D1:B0B3 - - - - fshparsecommandCheckArg3: + 125 D1:B0B3 21 18 B1 D1 ld hl, fshparsecommandArg3 + 126 D1:B0B7 7E - - - ld a, (hl) + 127 D1:B0B8 FE 00 - - cp $00 + 128 D1:B0BA 28 26 - - jr z, fshparsecommandCopyBack + 129 D1:B0BC 21 CD EA D0 ld hl, FshCmdArgFlags + 130 D1:B0C0 CB F6 - - set 6, (hl) + 131 D1:B0C2 21 18 B1 D1 ld hl, fshparsecommandArg3 + 132 D1:B0C6 7E - - - ld a, (hl) + 133 D1:B0C7 D6 30 - - sub '0' + 134 D1:B0C9 FE 0A - - cp '9' - '0' + 1 + 135 D1:B0CB 30 15 - - jr nc, fshparsecommandCopyBack + 136 D1:B0CD CD D4 AB D1 call strtow + 137 D1:B0D1 11 18 B1 D1 ld de, fshparsecommandArg3 + 138 D1:B0D5 EB - - - ex de, hl + 139 D1:B0D6 73 - - - ld (hl), e + 140 D1:B0D7 23 - - - inc hl + 141 D1:B0D8 72 - - - ld (hl), d + 142 D1:B0D9 23 - - - inc hl + 143 D1:B0DA 36 00 - - ld (hl), $00 + 144 D1:B0DC 21 CD EA D0 ld hl, FshCmdArgFlags + 145 D1:B0E0 CB FE - - set 7, (hl) + 146 D1:B0E2 - - - - fshparsecommandCopyBack: + 147 D1:B0E2 E1 - - - pop hl + 148 D1:B0E3 C5 - - - push bc + 149 D1:B0E4 EB - - - ex de, hl + 150 D1:B0E5 21 F4 B0 D1 ld hl, fshparsecommandCmd + 151 D1:B0E9 01 2D 00 00 ld bc, 45 + 152 D1:B0ED ED B0 - - ldir + 153 D1:B0EF C1 - - - pop bc + 154 D1:B0F0 - - - - + 155 D1:B0F0 D1 - - - pop de + 156 D1:B0F1 C1 - - - pop bc + 157 D1:B0F2 E1 - - - pop hl + 158 D1:B0F3 C9 - - - ret + 159 D1:B0F4 - - - - + 160 D1:B0F4 00 00 00 00 00 00 00 00 00 - - - fshparsecommandCmd: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 161 D1:B0EE 00 00 00 00 + 161 D1:B0FD 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg0: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 162 D1:B0F7 00 00 00 00 + 162 D1:B106 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg1: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 163 D1:B100 00 00 00 00 + 163 D1:B10F 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg2: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 164 D1:B109 00 00 00 00 + 164 D1:B118 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg3: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 - 165 D1:B112 00 00 00 00 + 165 D1:B121 00 00 00 00 00 00 - - fshparsecommandOverB: .db $00, $00, $00, $00, $00, $00 - 166 D1:B118 - - - - - 167 D1:B118 - - - - fshparsecommandCopyChar: - 168 D1:B118 - - - - ;Copy - 169 D1:B118 E5 - - - push hl - 170 D1:B119 C5 - - - push bc - 171 D1:B11A 21 00 00 00 ld hl, 0 - 172 D1:B11E 60 - - - ld h, b - 173 D1:B11F 2E 09 - - ld l, 9 - 174 D1:B121 41 - - - ld b, c - 175 D1:B122 11 E5 B0 D1 ld de, fshparsecommandCmd - 176 D1:B126 CD 1D AB D1 call array2d - 177 D1:B12A C1 - - - pop bc - 178 D1:B12B E1 - - - pop hl - 179 D1:B12C - - - - ;push hl - 180 D1:B12C - - - - ; ld hl, fshparsecommandCmd+45+1 - 181 D1:B12C - - - - ; call cpHLDE - 182 D1:B12C - - - - ;pop hl - 183 D1:B12C - - - - ;pop de - 184 D1:B12C - - - - ;ret c - 185 D1:B12C - - - - ;push de - 186 D1:B12C 12 - - - ld (de), a ;ld buffer - 187 D1:B12D C9 - - - ret + 166 D1:B127 - - - - + 167 D1:B127 - - - - fshparsecommandCopyChar: + 168 D1:B127 - - - - ;Copy + 169 D1:B127 E5 - - - push hl + 170 D1:B128 C5 - - - push bc + 171 D1:B129 21 00 00 00 ld hl, 0 + 172 D1:B12D 60 - - - ld h, b + 173 D1:B12E 2E 09 - - ld l, 9 + 174 D1:B130 41 - - - ld b, c + 175 D1:B131 11 F4 B0 D1 ld de, fshparsecommandCmd + 176 D1:B135 CD 2C AB D1 call array2d + 177 D1:B139 C1 - - - pop bc + 178 D1:B13A E1 - - - pop hl + 179 D1:B13B - - - - ;push hl + 180 D1:B13B - - - - ; ld hl, fshparsecommandCmd+45+1 + 181 D1:B13B - - - - ; call cpHLDE + 182 D1:B13B - - - - ;pop hl + 183 D1:B13B - - - - ;pop de + 184 D1:B13B - - - - ;ret c + 185 D1:B13B - - - - ;push de + 186 D1:B13B 12 - - - ld (de), a ;ld buffer + 187 D1:B13C C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 3 D1:B12E - - - - #include "includes/lib/fsh/FshVar.asm" + 3 D1:B13D - - - - #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:B12E - - - - ;;fshvarset - 2 D1:B12E - - - - ;;Sets a Word in FshVars. - 3 D1:B12E - - - - ;;Inputs: - 4 D1:B12E - - - - ;; HL: 16b - 5 D1:B12E - - - - ;; DE: Destination Word Relitive to FshVars - 6 D1:B12E - - - - fshvarset: - 7 D1:B12E C5 - - - push bc - 8 D1:B12F 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 - 9 D1:B133 CD 77 A9 D1 call cpBCDE - 10 D1:B137 C1 - - - pop bc - 11 D1:B138 38 11 - - jr c, fshvarsetOOBException - 12 D1:B13A C5 - - - push bc - 13 D1:B13B D5 - - - push de - 14 D1:B13C E5 - - - push hl - 15 D1:B13D 01 1F EA D0 ld bc, FshVars - 16 D1:B141 EB - - - ex de, hl - 17 D1:B142 29 - - - add hl, hl - 18 D1:B143 09 - - - add hl, bc - 19 D1:B144 73 - - - ld (hl), e - 20 D1:B145 23 - - - inc hl - 21 D1:B146 72 - - - ld (hl), d - 22 D1:B147 E1 - - - pop hl - 23 D1:B148 D1 - - - pop de - 24 D1:B149 C1 - - - pop bc - 25 D1:B14A C9 - - - ret - 26 D1:B14B - - - - fshvarsetOOBException: - 27 D1:B14B E5 - - - push hl - 28 D1:B14C 21 70 B2 D1 ld hl, ErrOutOfBoundso - 29 D1:B150 CD 2B B2 D1 call ErrSet - 30 D1:B154 E1 - - - pop hl - 31 D1:B155 C9 - - - ret - 32 D1:B156 - - - - - 33 D1:B156 - - - - ;;fshvarget - 34 D1:B156 - - - - ;;Gets a Word in FshVars. - 35 D1:B156 - - - - ;;Inputs: - 36 D1:B156 - - - - ;; DE: Destination Word Relitive to FshVars - 37 D1:B156 - - - - ;;Outputs: - 38 D1:B156 - - - - ;; HL: Word in (DE) - 39 D1:B156 - - - - fshvarget: - 40 D1:B156 C5 - - - push bc - 41 D1:B157 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 - 42 D1:B15B CD 77 A9 D1 call cpBCDE - 43 D1:B15F C1 - - - pop bc - 44 D1:B160 38 14 - - jr c, fshvargetOOBException - 45 D1:B162 C5 - - - push bc - 46 D1:B163 D5 - - - push de - 47 D1:B164 21 00 00 00 ld hl, 0 - 48 D1:B168 01 1F EA D0 ld bc, FshVars - 49 D1:B16C EB - - - ex de, hl - 50 D1:B16D 29 - - - add hl, hl - 51 D1:B16E 09 - - - add hl, bc - 52 D1:B16F 5E - - - ld e, (hl) - 53 D1:B170 23 - - - inc hl - 54 D1:B171 56 - - - ld d, (hl) - 55 D1:B172 EB - - - ex de, hl - 56 D1:B173 D1 - - - pop de - 57 D1:B174 C1 - - - pop bc - 58 D1:B175 C9 - - - ret - 59 D1:B176 - - - - fshvargetOOBException: - 60 D1:B176 E5 - - - push hl - 61 D1:B177 21 70 B2 D1 ld hl, ErrOutOfBoundso - 62 D1:B17B CD 2B B2 D1 call ErrSet - 63 D1:B17F E1 - - - pop hl - 64 D1:B180 C9 - - - ret - 65 D1:B181 - - - - ;;fshvarcpy - 66 D1:B181 - - - - ;;Copies a word. - 67 D1:B181 - - - - ;;Inputs: - 68 D1:B181 - - - - ;; HL: Byte pointer - 69 D1:B181 - - - - ;; DE: Destination - 70 D1:B181 - - - - fshvarcpy: - 71 D1:B181 C5 - - - push bc - 72 D1:B182 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 - 73 D1:B186 CD 77 A9 D1 call cpBCDE - 74 D1:B18A C1 - - - pop bc - 75 D1:B18B 38 2A - - jr c, fshvarcpyOOBException - 76 D1:B18D C5 - - - push bc - 77 D1:B18E 01 40 00 00 ld bc, FshVarsSize / 2 - 78 D1:B192 CD 72 A9 D1 call cpHLBC - 79 D1:B196 C1 - - - pop bc - 80 D1:B197 30 1E - - jr nc, fshvarcpyOOBException - 81 D1:B199 D5 - - - push de - 82 D1:B19A E5 - - - push hl - 83 D1:B19B 01 40 00 00 ld bc, FshVarsSize / 2 - 84 D1:B19F CD 77 A9 D1 call cpBCDE - 85 D1:B1A3 38 12 - - jr c, fshvarcpyOOBException - 86 D1:B1A5 01 1F EA D0 ld bc, FshVars - 87 D1:B1A9 29 - - - add hl, hl - 88 D1:B1AA 09 - - - add hl, bc - 89 D1:B1AB EB - - - ex de, hl - 90 D1:B1AC 29 - - - add hl, hl - 91 D1:B1AD 09 - - - add hl, bc - 92 D1:B1AE 1A - - - ld a, (de) - 93 D1:B1AF 77 - - - ld (hl), a - 94 D1:B1B0 13 - - - inc de - 95 D1:B1B1 23 - - - inc hl - 96 D1:B1B2 1A - - - ld a, (de) - 97 D1:B1B3 77 - - - ld (hl), a - 98 D1:B1B4 E1 - - - pop hl - 99 D1:B1B5 D1 - - - pop de - 100 D1:B1B6 C9 - - - ret - 101 D1:B1B7 - - - - - 102 D1:B1B7 - - - - fshvarcpyOOBException: - 103 D1:B1B7 E5 - - - push hl - 104 D1:B1B8 21 70 B2 D1 ld hl, ErrOutOfBoundso - 105 D1:B1BC CD 2B B2 D1 call ErrSet - 106 D1:B1C0 E1 - - - pop hl - 107 D1:B1C1 C9 - - - ret - 108 D1:B1C2 - - - - - 109 D1:B1C2 - - - - ;;fshvarreset - 110 D1:B1C2 - - - - ;;Fills fshvars with $00 - 111 D1:B1C2 - - - - fshvarreset: - 112 D1:B1C2 E5 - - - push hl - 113 D1:B1C3 C5 - - - push bc - 114 D1:B1C4 D5 - - - push de - 115 D1:B1C5 06 00 - - ld b, 0 - 116 D1:B1C7 11 00 00 00 ld de, 0 - 117 D1:B1CB 21 00 00 00 ld hl, 0 - 118 D1:B1CF - - - - fshvarfillLoop: - 119 D1:B1CF CD 2E B1 D1 call fshvarset - 120 D1:B1D3 04 - - - inc b - 121 D1:B1D4 13 - - - inc de - 122 D1:B1D5 78 - - - ld a, b - 123 D1:B1D6 FE 40 - - cp FshVarsSize / 2 - 124 D1:B1D8 38 F5 - - jr c, fshvarfillLoop - 125 D1:B1DA D1 - - - pop de - 126 D1:B1DB C1 - - - pop bc - 127 D1:B1DC E1 - - - pop hl - 128 D1:B1DD C9 - - - ret + 1 D1:B13D - - - - ;;fshvarset + 2 D1:B13D - - - - ;;Sets a Word in FshVars. + 3 D1:B13D - - - - ;;Inputs: + 4 D1:B13D - - - - ;; HL: 16b + 5 D1:B13D - - - - ;; DE: Destination Word Relitive to FshVars + 6 D1:B13D - - - - fshvarset: + 7 D1:B13D C5 - - - push bc + 8 D1:B13E 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 + 9 D1:B142 CD 77 A9 D1 call cpBCDE + 10 D1:B146 C1 - - - pop bc + 11 D1:B147 38 11 - - jr c, fshvarsetOOBException + 12 D1:B149 C5 - - - push bc + 13 D1:B14A D5 - - - push de + 14 D1:B14B E5 - - - push hl + 15 D1:B14C 01 1F EA D0 ld bc, FshVars + 16 D1:B150 EB - - - ex de, hl + 17 D1:B151 29 - - - add hl, hl + 18 D1:B152 09 - - - add hl, bc + 19 D1:B153 73 - - - ld (hl), e + 20 D1:B154 23 - - - inc hl + 21 D1:B155 72 - - - ld (hl), d + 22 D1:B156 E1 - - - pop hl + 23 D1:B157 D1 - - - pop de + 24 D1:B158 C1 - - - pop bc + 25 D1:B159 C9 - - - ret + 26 D1:B15A - - - - fshvarsetOOBException: + 27 D1:B15A E5 - - - push hl + 28 D1:B15B 21 7F B2 D1 ld hl, ErrOutOfBoundso + 29 D1:B15F CD 3A B2 D1 call ErrSet + 30 D1:B163 E1 - - - pop hl + 31 D1:B164 C9 - - - ret + 32 D1:B165 - - - - + 33 D1:B165 - - - - ;;fshvarget + 34 D1:B165 - - - - ;;Gets a Word in FshVars. + 35 D1:B165 - - - - ;;Inputs: + 36 D1:B165 - - - - ;; DE: Destination Word Relitive to FshVars + 37 D1:B165 - - - - ;;Outputs: + 38 D1:B165 - - - - ;; HL: Word in (DE) + 39 D1:B165 - - - - fshvarget: + 40 D1:B165 C5 - - - push bc + 41 D1:B166 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 + 42 D1:B16A CD 77 A9 D1 call cpBCDE + 43 D1:B16E C1 - - - pop bc + 44 D1:B16F 38 14 - - jr c, fshvargetOOBException + 45 D1:B171 C5 - - - push bc + 46 D1:B172 D5 - - - push de + 47 D1:B173 21 00 00 00 ld hl, 0 + 48 D1:B177 01 1F EA D0 ld bc, FshVars + 49 D1:B17B EB - - - ex de, hl + 50 D1:B17C 29 - - - add hl, hl + 51 D1:B17D 09 - - - add hl, bc + 52 D1:B17E 5E - - - ld e, (hl) + 53 D1:B17F 23 - - - inc hl + 54 D1:B180 56 - - - ld d, (hl) + 55 D1:B181 EB - - - ex de, hl + 56 D1:B182 D1 - - - pop de + 57 D1:B183 C1 - - - pop bc + 58 D1:B184 C9 - - - ret + 59 D1:B185 - - - - fshvargetOOBException: + 60 D1:B185 E5 - - - push hl + 61 D1:B186 21 7F B2 D1 ld hl, ErrOutOfBoundso + 62 D1:B18A CD 3A B2 D1 call ErrSet + 63 D1:B18E E1 - - - pop hl + 64 D1:B18F C9 - - - ret + 65 D1:B190 - - - - ;;fshvarcpy + 66 D1:B190 - - - - ;;Copies a word. + 67 D1:B190 - - - - ;;Inputs: + 68 D1:B190 - - - - ;; HL: Byte pointer + 69 D1:B190 - - - - ;; DE: Destination + 70 D1:B190 - - - - fshvarcpy: + 71 D1:B190 C5 - - - push bc + 72 D1:B191 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 + 73 D1:B195 CD 77 A9 D1 call cpBCDE + 74 D1:B199 C1 - - - pop bc + 75 D1:B19A 38 2A - - jr c, fshvarcpyOOBException + 76 D1:B19C C5 - - - push bc + 77 D1:B19D 01 40 00 00 ld bc, FshVarsSize / 2 + 78 D1:B1A1 CD 72 A9 D1 call cpHLBC + 79 D1:B1A5 C1 - - - pop bc + 80 D1:B1A6 30 1E - - jr nc, fshvarcpyOOBException + 81 D1:B1A8 D5 - - - push de + 82 D1:B1A9 E5 - - - push hl + 83 D1:B1AA 01 40 00 00 ld bc, FshVarsSize / 2 + 84 D1:B1AE CD 77 A9 D1 call cpBCDE + 85 D1:B1B2 38 12 - - jr c, fshvarcpyOOBException + 86 D1:B1B4 01 1F EA D0 ld bc, FshVars + 87 D1:B1B8 29 - - - add hl, hl + 88 D1:B1B9 09 - - - add hl, bc + 89 D1:B1BA EB - - - ex de, hl + 90 D1:B1BB 29 - - - add hl, hl + 91 D1:B1BC 09 - - - add hl, bc + 92 D1:B1BD 1A - - - ld a, (de) + 93 D1:B1BE 77 - - - ld (hl), a + 94 D1:B1BF 13 - - - inc de + 95 D1:B1C0 23 - - - inc hl + 96 D1:B1C1 1A - - - ld a, (de) + 97 D1:B1C2 77 - - - ld (hl), a + 98 D1:B1C3 E1 - - - pop hl + 99 D1:B1C4 D1 - - - pop de + 100 D1:B1C5 C9 - - - ret + 101 D1:B1C6 - - - - + 102 D1:B1C6 - - - - fshvarcpyOOBException: + 103 D1:B1C6 E5 - - - push hl + 104 D1:B1C7 21 7F B2 D1 ld hl, ErrOutOfBoundso + 105 D1:B1CB CD 3A B2 D1 call ErrSet + 106 D1:B1CF E1 - - - pop hl + 107 D1:B1D0 C9 - - - ret + 108 D1:B1D1 - - - - + 109 D1:B1D1 - - - - ;;fshvarreset + 110 D1:B1D1 - - - - ;;Fills fshvars with $00 + 111 D1:B1D1 - - - - fshvarreset: + 112 D1:B1D1 E5 - - - push hl + 113 D1:B1D2 C5 - - - push bc + 114 D1:B1D3 D5 - - - push de + 115 D1:B1D4 06 00 - - ld b, 0 + 116 D1:B1D6 11 00 00 00 ld de, 0 + 117 D1:B1DA 21 00 00 00 ld hl, 0 + 118 D1:B1DE - - - - fshvarfillLoop: + 119 D1:B1DE CD 3D B1 D1 call fshvarset + 120 D1:B1E2 04 - - - inc b + 121 D1:B1E3 13 - - - inc de + 122 D1:B1E4 78 - - - ld a, b + 123 D1:B1E5 FE 40 - - cp FshVarsSize / 2 + 124 D1:B1E7 38 F5 - - jr c, fshvarfillLoop + 125 D1:B1E9 D1 - - - pop de + 126 D1:B1EA C1 - - - pop bc + 127 D1:B1EB E1 - - - pop hl + 128 D1:B1EC C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 4 D1:B1DE - - - - #include "includes/lib/fsh/Err.asm" + 4 D1:B1ED - - - - #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:B1DE - - - - ;;ErrCatch - 2 D1:B1DE - - - - ;;Checks err bit and jp to err route - 3 D1:B1DE - - - - ErrCatch: - 4 D1:B1DE C1 - - - pop bc - 5 D1:B1DF E5 - - - push hl - 6 D1:B1E0 21 6C A9 D1 ld hl, FshFlags - 7 D1:B1E4 CB 4E - - bit 1, (hl) - 8 D1:B1E6 E1 - - - pop hl - 9 D1:B1E7 C2 ED B1 D1 jp nz, ErrRoute - 10 D1:B1EB C5 - - - push bc - 11 D1:B1EC C9 - - - ret - 12 D1:B1ED - - - - - 13 D1:B1ED - - - - ;;ErrRoute - 14 D1:B1ED - - - - ;;Routes err codes. - 15 D1:B1ED - - - - ErrRoute: - 16 D1:B1ED - - - - - 17 D1:B1ED 21 6C A9 D1 ld hl, FshFlags - 18 D1:B1F1 CB 8E - - res 1, (hl) - 19 D1:B1F3 - - - - - 20 D1:B1F3 21 CE EA D0 ld hl, FshCmdErrCode - 21 D1:B1F7 - - - - - 22 D1:B1F7 11 3A B2 D1 ld de, ErrCmdNotFoundo - 23 D1:B1FB CD C3 A9 D1 call bytecmp - 24 D1:B1FF CA 3B B2 D1 jp z, ErrCmdNotFoundf - 25 D1:B203 - - - - - 26 D1:B203 11 70 B2 D1 ld de, ErrOutOfBoundso - 27 D1:B207 CD C3 A9 D1 call bytecmp - 28 D1:B20B CA 71 B2 D1 jp z, ErrOutOfBoundsf - 29 D1:B20F - - - - - 30 D1:B20F 11 96 B2 D1 ld de, ErrArgso - 31 D1:B213 CD C3 A9 D1 call bytecmp - 32 D1:B217 CA 97 B2 D1 jp z, ErrArgsf - 33 D1:B21B - - - - - 34 D1:B21B 11 C0 B2 D1 ld de, ErrUsageo - 35 D1:B21F CD C3 A9 D1 call bytecmp - 36 D1:B223 CA C1 B2 D1 jp z, ErrUsagef - 37 D1:B227 - - - - - 38 D1:B227 C3 EC B2 D1 jp ErrDefault - 39 D1:B22B - - - - - 40 D1:B22B - - - - - 41 D1:B22B - - - - ;;ErrSet - 42 D1:B22B - - - - ;;Sets all things relating to Err codes - 43 D1:B22B - - - - ;;Inputs: - 44 D1:B22B - - - - ;; HL: Err_____o - 45 D1:B22B - - - - ErrSet: - 46 D1:B22B E5 - - - push hl - 47 D1:B22C 7E - - - ld a, (hl) - 48 D1:B22D 21 CE EA D0 ld hl, FshCmdErrCode - 49 D1:B231 77 - - - ld (hl), a - 50 D1:B232 21 6C A9 D1 ld hl, FshFlags - 51 D1:B236 CB CE - - set 1, (hl) - 52 D1:B238 E1 - - - pop hl - 53 D1:B239 C9 - - - ret - 54 D1:B23A - - - - - 55 D1:B23A - - - - ;;ERR FUNCS------------------- - 56 D1:B23A - - - - - 57 D1:B23A 01 - - - ErrCmdNotFoundo: .db $01 - 58 D1:B23B - - - - ErrCmdNotFoundf: - 59 D1:B23B 21 9F EA D0 ld hl, FshCmd - 60 D1:B23F 7E - - - ld a, (hl) - 61 D1:B240 FE 00 - - cp $00 - 62 D1:B242 CA DB A8 D1 jp z, Fin - 63 D1:B246 21 5E B2 D1 ld hl, ErrCmdNotFoundt - 64 D1:B24A CD C0 07 02 call _PutS - 65 D1:B24E 21 9F EA D0 ld hl, FshCmd - 66 D1:B252 CD C0 07 02 call _PutS - 67 D1:B256 CD F0 07 02 call _NewLine - 68 D1:B25A C3 DB A8 D1 jp Fin - 69 D1:B25E 65 72 72 6F + 1 D1:B1ED - - - - ;;ErrCatch + 2 D1:B1ED - - - - ;;Checks err bit and jp to err route + 3 D1:B1ED - - - - ErrCatch: + 4 D1:B1ED C1 - - - pop bc + 5 D1:B1EE E5 - - - push hl + 6 D1:B1EF 21 6C A9 D1 ld hl, FshFlags + 7 D1:B1F3 CB 4E - - bit 1, (hl) + 8 D1:B1F5 E1 - - - pop hl + 9 D1:B1F6 C2 FC B1 D1 jp nz, ErrRoute + 10 D1:B1FA C5 - - - push bc + 11 D1:B1FB C9 - - - ret + 12 D1:B1FC - - - - + 13 D1:B1FC - - - - ;;ErrRoute + 14 D1:B1FC - - - - ;;Routes err codes. + 15 D1:B1FC - - - - ErrRoute: + 16 D1:B1FC - - - - + 17 D1:B1FC 21 6C A9 D1 ld hl, FshFlags + 18 D1:B200 CB 8E - - res 1, (hl) + 19 D1:B202 - - - - + 20 D1:B202 21 CE EA D0 ld hl, FshCmdErrCode + 21 D1:B206 - - - - + 22 D1:B206 11 49 B2 D1 ld de, ErrCmdNotFoundo + 23 D1:B20A CD D2 A9 D1 call bytecmp + 24 D1:B20E CA 4A B2 D1 jp z, ErrCmdNotFoundf + 25 D1:B212 - - - - + 26 D1:B212 11 7F B2 D1 ld de, ErrOutOfBoundso + 27 D1:B216 CD D2 A9 D1 call bytecmp + 28 D1:B21A CA 80 B2 D1 jp z, ErrOutOfBoundsf + 29 D1:B21E - - - - + 30 D1:B21E 11 A5 B2 D1 ld de, ErrArgso + 31 D1:B222 CD D2 A9 D1 call bytecmp + 32 D1:B226 CA A6 B2 D1 jp z, ErrArgsf + 33 D1:B22A - - - - + 34 D1:B22A 11 CF B2 D1 ld de, ErrUsageo + 35 D1:B22E CD D2 A9 D1 call bytecmp + 36 D1:B232 CA D0 B2 D1 jp z, ErrUsagef + 37 D1:B236 - - - - + 38 D1:B236 C3 FB B2 D1 jp ErrDefault + 39 D1:B23A - - - - + 40 D1:B23A - - - - + 41 D1:B23A - - - - ;;ErrSet + 42 D1:B23A - - - - ;;Sets all things relating to Err codes + 43 D1:B23A - - - - ;;Inputs: + 44 D1:B23A - - - - ;; HL: Err_____o + 45 D1:B23A - - - - ErrSet: + 46 D1:B23A E5 - - - push hl + 47 D1:B23B 7E - - - ld a, (hl) + 48 D1:B23C 21 CE EA D0 ld hl, FshCmdErrCode + 49 D1:B240 77 - - - ld (hl), a + 50 D1:B241 21 6C A9 D1 ld hl, FshFlags + 51 D1:B245 CB CE - - set 1, (hl) + 52 D1:B247 E1 - - - pop hl + 53 D1:B248 C9 - - - ret + 54 D1:B249 - - - - + 55 D1:B249 - - - - ;;ERR FUNCS------------------- + 56 D1:B249 - - - - + 57 D1:B249 01 - - - ErrCmdNotFoundo: .db $01 + 58 D1:B24A - - - - ErrCmdNotFoundf: + 59 D1:B24A 21 9F EA D0 ld hl, FshCmd + 60 D1:B24E 7E - - - ld a, (hl) + 61 D1:B24F FE 00 - - cp $00 + 62 D1:B251 CA DB A8 D1 jp z, Fin + 63 D1:B255 21 6D B2 D1 ld hl, ErrCmdNotFoundt + 64 D1:B259 CD C0 07 02 call _PutS + 65 D1:B25D 21 9F EA D0 ld hl, FshCmd + 66 D1:B261 CD C0 07 02 call _PutS + 67 D1:B265 CD F0 07 02 call _NewLine + 68 D1:B269 C3 DB A8 D1 jp Fin + 69 D1:B26D 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:B270 - - - - - 71 D1:B270 02 - - - ErrOutOfBoundso: .db $02 - 72 D1:B271 - - - - ErrOutOfBoundsf: - 73 D1:B271 21 81 B2 D1 ld hl, ErrOutOfBoundst - 74 D1:B275 CD C0 07 02 call _PutS - 75 D1:B279 CD F0 07 02 call _NewLine - 76 D1:B27D C3 DB A8 D1 jp Fin - 77 D1:B281 65 72 72 6F + 70 D1:B27F - - - - + 71 D1:B27F 02 - - - ErrOutOfBoundso: .db $02 + 72 D1:B280 - - - - ErrOutOfBoundsf: + 73 D1:B280 21 90 B2 D1 ld hl, ErrOutOfBoundst + 74 D1:B284 CD C0 07 02 call _PutS + 75 D1:B288 CD F0 07 02 call _NewLine + 76 D1:B28C C3 DB A8 D1 jp Fin + 77 D1:B290 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:B296 - - - - - 79 D1:B296 03 - - - ErrArgso: .db $03 - 80 D1:B297 - - - - ErrArgsf: - 81 D1:B297 21 A7 B2 D1 ld hl, ErrArgst - 82 D1:B29B CD C0 07 02 call _PutS - 83 D1:B29F CD F0 07 02 call _NewLine - 84 D1:B2A3 C3 DB A8 D1 jp Fin - 85 D1:B2A7 65 72 72 6F + 78 D1:B2A5 - - - - + 79 D1:B2A5 03 - - - ErrArgso: .db $03 + 80 D1:B2A6 - - - - ErrArgsf: + 81 D1:B2A6 21 B6 B2 D1 ld hl, ErrArgst + 82 D1:B2AA CD C0 07 02 call _PutS + 83 D1:B2AE CD F0 07 02 call _NewLine + 84 D1:B2B2 C3 DB A8 D1 jp Fin + 85 D1:B2B6 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:B2C0 - - - - - 87 D1:B2C0 04 - - - ErrUsageo: .db $04 - 88 D1:B2C1 - - - - ErrUsagef: - 89 D1:B2C1 21 DD B2 D1 ld hl, ErrUsaget - 90 D1:B2C5 CD C0 07 02 call _PutS - 91 D1:B2C9 21 9F EA D0 ld hl, FshCmd - 92 D1:B2CD CD 8F B4 D1 call manrouteu - 93 D1:B2D1 CD C0 07 02 call _PutS - 94 D1:B2D5 CD F0 07 02 call _NewLine - 95 D1:B2D9 C3 DB A8 D1 jp Fin - 96 D1:B2DD 65 72 72 6F + 86 D1:B2CF - - - - + 87 D1:B2CF 04 - - - ErrUsageo: .db $04 + 88 D1:B2D0 - - - - ErrUsagef: + 89 D1:B2D0 21 EC B2 D1 ld hl, ErrUsaget + 90 D1:B2D4 CD C0 07 02 call _PutS + 91 D1:B2D8 21 9F EA D0 ld hl, FshCmd + 92 D1:B2DC CD A9 B4 D1 call manrouteu + 93 D1:B2E0 CD C0 07 02 call _PutS + 94 D1:B2E4 CD F0 07 02 call _NewLine + 95 D1:B2E8 C3 DB A8 D1 jp Fin + 96 D1:B2EC 65 72 72 6F 72 3A 20 55 73 61 67 65 3A 20 00 - ErrUsaget: .db "error: Usage: ", 0 - 97 D1:B2EC - - - - - 98 D1:B2EC - - - - ErrDefault: - 99 D1:B2EC 21 F8 B2 D1 ld hl, ErrDefaultt - 100 D1:B2F0 CD C0 07 02 call _PutS - 101 D1:B2F4 C3 F7 A8 D1 jp Exit - 102 D1:B2F8 65 72 72 6F + 97 D1:B2FB - - - - + 98 D1:B2FB - - - - ErrDefault: + 99 D1:B2FB 21 07 B3 D1 ld hl, ErrDefaultt + 100 D1:B2FF CD C0 07 02 call _PutS + 101 D1:B303 C3 F7 A8 D1 jp Exit + 102 D1:B307 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:B30D - - - - #include "includes/lib/fsh/Print.asm" + 5 D1:B31C - - - - #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:B30D - - - - ;;printfshnamelong - 2 D1:B30D - - - - ;;prints Name + Varsv + Version to screen - 3 D1:B30D - - - - printfshnamelong: - 4 D1:B30D E5 - - - push hl - 5 D1:B30E 21 FC A8 D1 ld hl, FshName - 6 D1:B312 CD C0 07 02 call _PutS - 7 D1:B316 3E 20 - - ld a, ' ' - 8 D1:B318 CD B8 07 02 call _PutC - 9 D1:B31C 21 31 A9 D1 ld hl, FshVVars - 10 D1:B320 CD C0 07 02 call _PutS - 11 D1:B324 3E 20 - - ld a, ' ' - 12 D1:B326 CD B8 07 02 call _PutC - 13 D1:B32A 3E 76 - - ld a, 'v' - 14 D1:B32C CD B8 07 02 call _PutC - 15 D1:B330 21 35 A9 D1 ld hl, FshVMajor - 16 D1:B334 CD C0 07 02 call _PutS - 17 D1:B338 21 3F A9 D1 ld hl, FshVSeparator - 18 D1:B33C CD C0 07 02 call _PutS - 19 D1:B340 21 37 A9 D1 ld hl, FshVMinor - 20 D1:B344 CD C0 07 02 call _PutS - 21 D1:B348 21 3F A9 D1 ld hl, FshVSeparator - 22 D1:B34C CD C0 07 02 call _PutS - 23 D1:B350 21 39 A9 D1 ld hl, FshVPatch - 24 D1:B354 CD C0 07 02 call _PutS - 25 D1:B358 3E 20 - - ld a, ' ' - 26 D1:B35A CD B8 07 02 call _PutC - 27 D1:B35E 21 3B A9 D1 ld hl, FshVBuild - 28 D1:B362 CD C0 07 02 call _PutS - 29 D1:B366 E1 - - - pop hl - 30 D1:B367 C9 - - - ret - 31 D1:B368 - - - - - 32 D1:B368 - - - - ;;printmotd - 33 D1:B368 - - - - ;;prints the motd to screen - 34 D1:B368 - - - - printmotd: - 35 D1:B368 CD 0D B3 D1 call printfshnamelong - 36 D1:B36C CD F0 07 02 call _NewLine - 37 D1:B370 CD F0 07 02 call _NewLine - 38 D1:B374 21 41 A9 D1 ld hl, FshMotd2nd - 39 D1:B378 CD C0 07 02 call _PutS - 40 D1:B37C CD F0 07 02 call _NewLine - 41 D1:B380 21 57 A9 D1 ld hl, FshMotdHelp - 42 D1:B384 CD C0 07 02 call _PutS - 43 D1:B388 CD F0 07 02 call _NewLine - 44 D1:B38C C9 - - - ret + 1 D1:B31C - - - - ;;printfshnamelong + 2 D1:B31C - - - - ;;prints Name + Varsv + Version to screen + 3 D1:B31C - - - - printfshnamelong: + 4 D1:B31C E5 - - - push hl + 5 D1:B31D 21 FC A8 D1 ld hl, FshName + 6 D1:B321 CD C0 07 02 call _PutS + 7 D1:B325 3E 20 - - ld a, ' ' + 8 D1:B327 CD B8 07 02 call _PutC + 9 D1:B32B 21 31 A9 D1 ld hl, FshVVars + 10 D1:B32F CD C0 07 02 call _PutS + 11 D1:B333 3E 20 - - ld a, ' ' + 12 D1:B335 CD B8 07 02 call _PutC + 13 D1:B339 3E 76 - - ld a, 'v' + 14 D1:B33B CD B8 07 02 call _PutC + 15 D1:B33F 21 35 A9 D1 ld hl, FshVMajor + 16 D1:B343 CD C0 07 02 call _PutS + 17 D1:B347 21 3F A9 D1 ld hl, FshVSeparator + 18 D1:B34B CD C0 07 02 call _PutS + 19 D1:B34F 21 37 A9 D1 ld hl, FshVMinor + 20 D1:B353 CD C0 07 02 call _PutS + 21 D1:B357 21 3F A9 D1 ld hl, FshVSeparator + 22 D1:B35B CD C0 07 02 call _PutS + 23 D1:B35F 21 39 A9 D1 ld hl, FshVPatch + 24 D1:B363 CD C0 07 02 call _PutS + 25 D1:B367 3E 20 - - ld a, ' ' + 26 D1:B369 CD B8 07 02 call _PutC + 27 D1:B36D 21 3B A9 D1 ld hl, FshVBuild + 28 D1:B371 CD C0 07 02 call _PutS + 29 D1:B375 E1 - - - pop hl + 30 D1:B376 C9 - - - ret + 31 D1:B377 - - - - + 32 D1:B377 - - - - ;;printmotd + 33 D1:B377 - - - - ;;prints the motd to screen + 34 D1:B377 - - - - printmotd: + 35 D1:B377 CD 1C B3 D1 call printfshnamelong + 36 D1:B37B CD F0 07 02 call _NewLine + 37 D1:B37F CD F0 07 02 call _NewLine + 38 D1:B383 21 41 A9 D1 ld hl, FshMotd2nd + 39 D1:B387 CD C0 07 02 call _PutS + 40 D1:B38B CD F0 07 02 call _NewLine + 41 D1:B38F 21 57 A9 D1 ld hl, FshMotdHelp + 42 D1:B393 CD C0 07 02 call _PutS + 43 D1:B397 CD F0 07 02 call _NewLine + 44 D1:B39B C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" - 6 D1:B38D - - - - #include "includes/lib/fsh/Draw.asm" + 6 D1:B39C - - - - #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:B38D - - - - ;;drawstatusbar - 2 D1:B38D - - - - ;;draws the FSH status bar - 3 D1:B38D - - - - drawstatusbar: - 4 D1:B38D - - - - ;rgbto565(84, 84, 84) - 5 D1:B38D 21 AA 52 00 ld hl, $52AA - 6 D1:B391 3E 00 - - ld a, 0 - 7 D1:B393 01 1E 00 00 ld bc, 30 - 8 D1:B397 CD E7 AA D1 call drawbar - 9 D1:B39B - - - - ;rgbto565(0, 159, 209) - 10 D1:B39B 21 FA 04 00 ld hl, $04FA - 11 D1:B39F - - - - ;ld hl, %1111100000000000 - 12 D1:B39F EB DD 6B DD + 1 D1:B39C - - - - ;;drawstatusbar + 2 D1:B39C - - - - ;;draws the FSH status bar + 3 D1:B39C - - - - drawstatusbar: + 4 D1:B39C - - - - ;rgbto565(84, 84, 84) + 5 D1:B39C 21 AA 52 00 ld hl, $52AA + 6 D1:B3A0 3E 00 - - ld a, 0 + 7 D1:B3A2 01 1E 00 00 ld bc, 30 + 8 D1:B3A6 CD F6 AA D1 call drawbar + 9 D1:B3AA - - - - ;rgbto565(0, 159, 209) + 10 D1:B3AA 21 FA 04 00 ld hl, $04FA + 11 D1:B3AE - - - - ;ld hl, %1111100000000000 + 12 D1:B3AE EB DD 6B DD 62 EB 21 02 00 00 11 00 00 00 01 00 00 00 0E 00 - 3E 1E CD FC - AA D1 - - drawrectfilledM(0, 0, 2, 30) + 3E 1E CD 0B + 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:B3B9 CD 50 1A 02 call _DrawBatteryIndicator - 14 D1:B3BD - - - - ;draw name - 15 D1:B3BD FD CB 32 D6 set fracDrawLFont, (iy + fontFlags) - 16 D1:B3C1 3E 06 - - ld a, 6 - 17 D1:B3C3 32 D5 08 D0 ld (penRow), a - 18 D1:B3C7 3E 07 - - ld a, 7 - 19 D1:B3C9 32 D2 08 D0 ld (penCol), a - 20 D1:B3CD 21 AA 52 00 ld hl, $52AA - 21 D1:B3D1 22 AA 26 D0 ld (drawBGcolor), hl - 22 D1:B3D5 21 FF FF 00 ld hl, $ffff - 23 D1:B3D9 22 AC 26 D0 ld (drawFGcolor), hl - 24 D1:B3DD 21 FC A8 D1 ld hl, FshName - 25 D1:B3E1 CD 34 08 02 call _VPutS - 26 D1:B3E5 21 FF FF 00 ld hl, $ffff - 27 D1:B3E9 22 AA 26 D0 ld (drawBGcolor), hl - 28 D1:B3ED 21 00 00 00 ld hl, $0000 - 29 D1:B3F1 22 AC 26 D0 ld (drawFGcolor), hl - 30 D1:B3F5 C9 - - - ret + 13 D1:B3C8 CD 50 1A 02 call _DrawBatteryIndicator + 14 D1:B3CC - - - - ;draw name + 15 D1:B3CC FD CB 32 D6 set fracDrawLFont, (iy + fontFlags) + 16 D1:B3D0 3E 06 - - ld a, 6 + 17 D1:B3D2 32 D5 08 D0 ld (penRow), a + 18 D1:B3D6 3E 07 - - ld a, 7 + 19 D1:B3D8 32 D2 08 D0 ld (penCol), a + 20 D1:B3DC 21 AA 52 00 ld hl, $52AA + 21 D1:B3E0 22 AA 26 D0 ld (drawBGcolor), hl + 22 D1:B3E4 21 FF FF 00 ld hl, $ffff + 23 D1:B3E8 22 AC 26 D0 ld (drawFGcolor), hl + 24 D1:B3EC 21 FC A8 D1 ld hl, FshName + 25 D1:B3F0 CD 34 08 02 call _VPutS + 26 D1:B3F4 21 FF FF 00 ld hl, $ffff + 27 D1:B3F8 22 AA 26 D0 ld (drawBGcolor), hl + 28 D1:B3FC 21 00 00 00 ld hl, $0000 + 29 D1:B400 22 AC 26 D0 ld (drawFGcolor), hl + 30 D1:B404 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" Listing for file "FSHa.asm" - 73 D1:B3F6 - - - - #include "includes/lib/crypto/crypto.inc" + 73 D1:B405 - - - - #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:B3F6 - - - - #include "includes/lib/crypto/rot.asm" + 1 D1:B405 - - - - #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:B3F6 - - - - ;;rotletencrypt - 2 D1:B3F6 - - - - ;;Encrypts a string in rot-x (uses $41 to $5B) - 3 D1:B3F6 - - - - ;;Inputs: - 4 D1:B3F6 - - - - ;; HL: string pointer - 5 D1:B3F6 - - - - ;; A: x - 6 D1:B3F6 - - - - ;;Notes: - 7 D1:B3F6 - - - - ;; Changes string in place. - 8 D1:B3F6 - - - - rotletencrypt: - 9 D1:B3F6 E5 - - - push hl - 10 D1:B3F7 C5 - - - push bc - 11 D1:B3F8 0E 00 - - ld c, 0 - 12 D1:B3FA 4F - - - ld c, a - 13 D1:B3FB - - - - rotletencryptLoop: - 14 D1:B3FB 7E - - - ld a, (hl) - 15 D1:B3FC FE 00 - - cp 0 - 16 D1:B3FE 28 13 - - jr z, rotletencryptEnd - 17 D1:B400 81 - - - add a, c - 18 D1:B401 FE 00 - - cp 0 - 19 D1:B403 20 01 - - jr nz, rotletencryptLd - 20 D1:B405 3C - - - inc a - 21 D1:B406 - - - - rotletencryptLd: - 22 D1:B406 77 - - - ld (hl), a - 23 D1:B407 23 - - - inc hl - 24 D1:B408 FE 5C - - cp a, $5c - 25 D1:B40A 38 EF - - jr c, rotletencryptLoop - 26 D1:B40C 2B - - - dec hl - 27 D1:B40D D6 1A - - sub a, 'Z' + 1 - 'A' - 28 D1:B40F 77 - - - ld (hl), a - 29 D1:B410 23 - - - inc hl - 30 D1:B411 18 E8 - - jr rotletencryptLoop - 31 D1:B413 - - - - rotletencryptEnd: - 32 D1:B413 36 00 - - ld (hl), $00 - 33 D1:B415 C1 - - - pop bc - 34 D1:B416 E1 - - - pop hl - 35 D1:B417 C9 - - - ret - 36 D1:B418 - - - - - 37 D1:B418 - - - - ;;rotletdecrypt - 38 D1:B418 - - - - ;;Encrypts a string in rot-x (uses $41 to $5B) - 39 D1:B418 - - - - ;;Inputs: - 40 D1:B418 - - - - ;; HL: string pointer - 41 D1:B418 - - - - ;; A: x - 42 D1:B418 - - - - ;;Notes: - 43 D1:B418 - - - - ;; Changes string in place. - 44 D1:B418 - - - - rotletdecrypt: - 45 D1:B418 E5 - - - push hl - 46 D1:B419 C5 - - - push bc - 47 D1:B41A 0E 00 - - ld c, 0 - 48 D1:B41C 4F - - - ld c, a - 49 D1:B41D - - - - rotletdecryptLoop: - 50 D1:B41D 7E - - - ld a, (hl) - 51 D1:B41E FE 00 - - cp 0 - 52 D1:B420 28 0E - - jr z, rotletdecryptEnd - 53 D1:B422 91 - - - sub a, c - 54 D1:B423 - - - - rotletdecryptLd: - 55 D1:B423 77 - - - ld (hl), a - 56 D1:B424 23 - - - inc hl - 57 D1:B425 FE 5C - - cp a, $5c - 58 D1:B427 38 F4 - - jr c, rotletdecryptLoop - 59 D1:B429 2B - - - dec hl - 60 D1:B42A C6 1A - - add a, 'Z' + 1 - 'A' - 61 D1:B42C 77 - - - ld (hl), a - 62 D1:B42D 23 - - - inc hl - 63 D1:B42E 18 ED - - jr rotletdecryptLoop - 64 D1:B430 - - - - rotletdecryptEnd: - 65 D1:B430 36 00 - - ld (hl), $00 - 66 D1:B432 C1 - - - pop bc - 67 D1:B433 E1 - - - pop hl - 68 D1:B434 C9 - - - ret - 69 D1:B435 - - - - - 70 D1:B435 - - - - ;;rotasciiencrypt - 71 D1:B435 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) - 72 D1:B435 - - - - ;;Inputs: - 73 D1:B435 - - - - ;; HL: string pointer - 74 D1:B435 - - - - ;; A: x - 75 D1:B435 - - - - ;;Notes: - 76 D1:B435 - - - - ;; Changes string in place. - 77 D1:B435 - - - - rotasciiencrypt: - 78 D1:B435 E5 - - - push hl - 79 D1:B436 C5 - - - push bc - 80 D1:B437 0E 00 - - ld c, 0 - 81 D1:B439 4F - - - ld c, a - 82 D1:B43A - - - - rotasciiencryptLoop: - 83 D1:B43A 7E - - - ld a, (hl) - 84 D1:B43B FE 00 - - cp 0 - 85 D1:B43D 28 13 - - jr z, rotasciiencryptEnd - 86 D1:B43F 81 - - - add a, c - 87 D1:B440 FE 00 - - cp 0 - 88 D1:B442 20 01 - - jr nz, rotasciiencryptLd - 89 D1:B444 3C - - - inc a - 90 D1:B445 - - - - rotasciiencryptLd: - 91 D1:B445 77 - - - ld (hl), a - 92 D1:B446 23 - - - inc hl - 93 D1:B447 FE EF - - cp a, $EF - 94 D1:B449 38 EF - - jr c, rotasciiencryptLoop - 95 D1:B44B 2B - - - dec hl - 96 D1:B44C D6 0F - - sub a, $0F - 97 D1:B44E 77 - - - ld (hl), a - 98 D1:B44F 23 - - - inc hl - 99 D1:B450 18 E8 - - jr rotasciiencryptLoop - 100 D1:B452 - - - - rotasciiencryptEnd: - 101 D1:B452 36 00 - - ld (hl), $00 - 102 D1:B454 C1 - - - pop bc - 103 D1:B455 E1 - - - pop hl - 104 D1:B456 C9 - - - ret - 105 D1:B457 - - - - - 106 D1:B457 - - - - ;;rotasciidecrypt - 107 D1:B457 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) - 108 D1:B457 - - - - ;;Inputs: - 109 D1:B457 - - - - ;; HL: string pointer - 110 D1:B457 - - - - ;; A: x - 111 D1:B457 - - - - ;;Notes: - 112 D1:B457 - - - - ;; Changes string in place. - 113 D1:B457 - - - - rotasciidecrypt: - 114 D1:B457 E5 - - - push hl - 115 D1:B458 C5 - - - push bc - 116 D1:B459 0E 00 - - ld c, 0 - 117 D1:B45B 4F - - - ld c, a - 118 D1:B45C - - - - rotasciidecryptLoop: - 119 D1:B45C 7E - - - ld a, (hl) - 120 D1:B45D FE 00 - - cp 0 - 121 D1:B45F 28 13 - - jr z, rotasciidecryptEnd - 122 D1:B461 91 - - - sub a, c - 123 D1:B462 FE 00 - - cp 0 - 124 D1:B464 20 01 - - jr nz, rotasciidecryptLd - 125 D1:B466 3D - - - dec a - 126 D1:B467 - - - - rotasciidecryptLd: - 127 D1:B467 77 - - - ld (hl), a - 128 D1:B468 23 - - - inc hl - 129 D1:B469 FE EF - - cp a, $EF - 130 D1:B46B 38 EF - - jr c, rotasciidecryptLoop - 131 D1:B46D 2B - - - dec hl - 132 D1:B46E C6 0F - - add a, $0F - 133 D1:B470 77 - - - ld (hl), a - 134 D1:B471 23 - - - inc hl - 135 D1:B472 18 E8 - - jr rotasciidecryptLoop - 136 D1:B474 - - - - rotasciidecryptEnd: - 137 D1:B474 36 00 - - ld (hl), $00 - 138 D1:B476 C1 - - - pop bc - 139 D1:B477 E1 - - - pop hl - 140 D1:B478 C9 - - - ret - 141 D1:B479 - - - - + 1 D1:B405 - - - - ;;rotletencrypt + 2 D1:B405 - - - - ;;Encrypts a string in rot-n (uses $41 to $5B) + 3 D1:B405 - - - - ;;Inputs: + 4 D1:B405 - - - - ;; HL: string pointer + 5 D1:B405 - - - - ;; A: rot-n + 6 D1:B405 - - - - ;;Notes: + 7 D1:B405 - - - - ;; Changes string in place. + 8 D1:B405 - - - - rotletencrypt: + 9 D1:B405 E5 - - - push hl + 10 D1:B406 C5 - - - push bc + 11 D1:B407 - - - - rotletencryptMod: + 12 D1:B407 E5 - - - push hl + 13 D1:B408 67 - - - ld h, a + 14 D1:B409 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 + 15 D1:B40B CD 99 A9 D1 call modHL + 16 D1:B40F 44 - - - ld b, h + 17 D1:B410 E1 - - - pop hl + 18 D1:B411 - - - - rotletencryptLoop: + 19 D1:B411 7E - - - ld a, (hl) + 20 D1:B412 FE 00 - - cp a, $00 + 21 D1:B414 28 0F - - jr z, rotletencryptEnd + 22 D1:B416 FE 20 - - cp a, ' ' + 23 D1:B418 28 07 - - jr z, rotletencryptLD + 24 D1:B41A 80 - - - add a, b + 25 D1:B41B FE 5C - - cp a, 'Z' + 2 + 26 D1:B41D 38 02 - - jr c , rotletencryptLD + 27 D1:B41F D6 1B - - sub a, 'Z' + 2 - 'A' + 28 D1:B421 - - - - rotletencryptLD: + 29 D1:B421 77 - - - ld (hl), a + 30 D1:B422 23 - - - inc hl + 31 D1:B423 18 EC - - jr rotletencryptLoop + 32 D1:B425 - - - - rotletencryptEnd: + 33 D1:B425 36 00 - - ld (hl), $00 + 34 D1:B427 C1 - - - pop bc + 35 D1:B428 E1 - - - pop hl + 36 D1:B429 C9 - - - ret + 37 D1:B42A - - - - + 38 D1:B42A - - - - ;;rotletdecrypt + 39 D1:B42A - - - - ;;Decrypts a string in rot-n (uses $41 to $5B) + 40 D1:B42A - - - - ;;Inputs: + 41 D1:B42A - - - - ;; HL: string pointer + 42 D1:B42A - - - - ;; A: rot-n + 43 D1:B42A - - - - ;;Notes: + 44 D1:B42A - - - - ;; Changes string in place. + 45 D1:B42A - - - - rotletdecrypt: + 46 D1:B42A E5 - - - push hl + 47 D1:B42B C5 - - - push bc + 48 D1:B42C - - - - rotletdecryptMod: + 49 D1:B42C E5 - - - push hl + 50 D1:B42D 67 - - - ld h, a + 51 D1:B42E 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 + 52 D1:B430 CD 99 A9 D1 call modHL + 53 D1:B434 44 - - - ld b, h + 54 D1:B435 E1 - - - pop hl + 55 D1:B436 - - - - rotletdecryptLoop: + 56 D1:B436 7E - - - ld a, (hl) + 57 D1:B437 FE 00 - - cp a, $00 + 58 D1:B439 28 0F - - jr z, rotletdecryptEnd + 59 D1:B43B FE 20 - - cp a, ' ' + 60 D1:B43D 28 07 - - jr z, rotletdecryptLD + 61 D1:B43F 90 - - - sub a, b + 62 D1:B440 FE 41 - - cp a, 'A' + 63 D1:B442 30 02 - - jr nc , rotletdecryptLD + 64 D1:B444 C6 1B - - add a, 'Z' + 2 - 'A' + 65 D1:B446 - - - - rotletdecryptLD: + 66 D1:B446 77 - - - ld (hl), a + 67 D1:B447 23 - - - inc hl + 68 D1:B448 18 EC - - jr rotletdecryptLoop + 69 D1:B44A - - - - rotletdecryptEnd: + 70 D1:B44A 36 00 - - ld (hl), $00 + 71 D1:B44C C1 - - - pop bc + 72 D1:B44D E1 - - - pop hl + 73 D1:B44E C9 - - - ret + 74 D1:B44F - - - - + 75 D1:B44F - - - - ;;rotasciiencrypt + 76 D1:B44F - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) + 77 D1:B44F - - - - ;;Inputs: + 78 D1:B44F - - - - ;; HL: string pointer + 79 D1:B44F - - - - ;; A: x + 80 D1:B44F - - - - ;;Notes: + 81 D1:B44F - - - - ;; Changes string in place. + 82 D1:B44F - - - - rotasciiencrypt: + 83 D1:B44F E5 - - - push hl + 84 D1:B450 C5 - - - push bc + 85 D1:B451 0E 00 - - ld c, 0 + 86 D1:B453 4F - - - ld c, a + 87 D1:B454 - - - - rotasciiencryptLoop: + 88 D1:B454 7E - - - ld a, (hl) + 89 D1:B455 FE 00 - - cp 0 + 90 D1:B457 28 13 - - jr z, rotasciiencryptEnd + 91 D1:B459 81 - - - add a, c + 92 D1:B45A FE 00 - - cp 0 + 93 D1:B45C 20 01 - - jr nz, rotasciiencryptLd + 94 D1:B45E 3C - - - inc a + 95 D1:B45F - - - - rotasciiencryptLd: + 96 D1:B45F 77 - - - ld (hl), a + 97 D1:B460 23 - - - inc hl + 98 D1:B461 FE EF - - cp a, $EF + 99 D1:B463 38 EF - - jr c, rotasciiencryptLoop + 100 D1:B465 2B - - - dec hl + 101 D1:B466 D6 0F - - sub a, $0F + 102 D1:B468 77 - - - ld (hl), a + 103 D1:B469 23 - - - inc hl + 104 D1:B46A 18 E8 - - jr rotasciiencryptLoop + 105 D1:B46C - - - - rotasciiencryptEnd: + 106 D1:B46C 36 00 - - ld (hl), $00 + 107 D1:B46E C1 - - - pop bc + 108 D1:B46F E1 - - - pop hl + 109 D1:B470 C9 - - - ret + 110 D1:B471 - - - - + 111 D1:B471 - - - - ;;rotasciidecrypt + 112 D1:B471 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) + 113 D1:B471 - - - - ;;Inputs: + 114 D1:B471 - - - - ;; HL: string pointer + 115 D1:B471 - - - - ;; A: x + 116 D1:B471 - - - - ;;Notes: + 117 D1:B471 - - - - ;; Changes string in place. + 118 D1:B471 - - - - rotasciidecrypt: + 119 D1:B471 E5 - - - push hl + 120 D1:B472 C5 - - - push bc + 121 D1:B473 0E 00 - - ld c, 0 + 122 D1:B475 4F - - - ld c, a + 123 D1:B476 - - - - rotasciidecryptLoop: + 124 D1:B476 7E - - - ld a, (hl) + 125 D1:B477 FE 00 - - cp 0 + 126 D1:B479 28 13 - - jr z, rotasciidecryptEnd + 127 D1:B47B 91 - - - sub a, c + 128 D1:B47C FE 00 - - cp 0 + 129 D1:B47E 20 01 - - jr nz, rotasciidecryptLd + 130 D1:B480 3D - - - dec a + 131 D1:B481 - - - - rotasciidecryptLd: + 132 D1:B481 77 - - - ld (hl), a + 133 D1:B482 23 - - - inc hl + 134 D1:B483 FE EF - - cp a, $EF + 135 D1:B485 38 EF - - jr c, rotasciidecryptLoop + 136 D1:B487 2B - - - dec hl + 137 D1:B488 C6 0F - - add a, $0F + 138 D1:B48A 77 - - - ld (hl), a + 139 D1:B48B 23 - - - inc hl + 140 D1:B48C 18 E8 - - jr rotasciidecryptLoop + 141 D1:B48E - - - - rotasciidecryptEnd: + 142 D1:B48E 36 00 - - ld (hl), $00 + 143 D1:B490 C1 - - - pop bc + 144 D1:B491 E1 - - - pop hl + 145 D1:B492 C9 - - - ret + 146 D1:B493 - - - - Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc" Listing for file "FSHa.asm" - 74 D1:B479 - - - - - 75 D1:B479 - - - - #include "includes/man-db.asm" + 74 D1:B493 - - - - + 75 D1:B493 - - - - #include "includes/man-db.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\man-db.asm" - 1 D1:B479 - - - - ;;TODO: move module specific macros to diffrent file - 2 D1:B479 - - - - ;;manroute - 3 D1:B479 - - - - ;;routes command string to discription - 4 D1:B479 - - - - ;;Inputs: - 5 D1:B479 - - - - ;; HL: Command String - 6 D1:B479 - - - - ;;Outputs: - 7 D1:B479 - - - - ;; HL: Command Discription String - 8 D1:B479 - - - - manroute: - 9 D1:B479 D5 - - - push de - 10 D1:B47A - - - - #macro routestrjp(cmdXs, cmdXm) - 11 D1:B47A ld de, cmdXs - 12 D1:B47A call strcmp - 13 D1:B47A ld de, cmdXm - 14 D1:B47A jp z, manrouteReturn - 15 D1:B47A #endmacro - 16 D1:B47A - - - - - 17 D1:B47A CD 2E B6 D1 call fshcmdmanroute - 18 D1:B47E CD 36 BF D1 call cryptocmdmanroute - 19 D1:B482 - - - - ;Extention Point - 20 D1:B482 - - - - - 21 D1:B482 21 CE EA D0 ld hl, FshCmdErrCode - 22 D1:B486 36 01 - - ld (hl), $01 - 23 D1:B488 11 00 00 00 ld de, $00 - 24 D1:B48C - - - - manrouteReturn: - 25 D1:B48C EB - - - ex de, hl - 26 D1:B48D D1 - - - pop de - 27 D1:B48E C9 - - - ret - 28 D1:B48F - - - - - 29 D1:B48F - - - - ;;manrouteu - 30 D1:B48F - - - - ;;routes command string to usage - 31 D1:B48F - - - - ;;Inputs: - 32 D1:B48F - - - - ;; HL: Command String - 33 D1:B48F - - - - ;;Outputs: - 34 D1:B48F - - - - ;; HL: Command Usage String - 35 D1:B48F - - - - manrouteu: - 36 D1:B48F D5 - - - push de - 37 D1:B490 - - - - #macro routeustrjp(cmdXs, cmdXu) - 38 D1:B490 ld de, cmdXs - 39 D1:B490 call strcmp - 40 D1:B490 ld de, cmdXu - 41 D1:B490 jp z, manrouteuReturn - 42 D1:B490 #endmacro - 43 D1:B490 - - - - - 44 D1:B490 CD E1 B6 D1 call fshcmdmanrouteu - 45 D1:B494 CD 49 BF D1 call cryptocmdmanrouteu - 46 D1:B498 - - - - ;Extention Point - 47 D1:B498 - - - - - 48 D1:B498 21 CE EA D0 ld hl, FshCmdErrCode - 49 D1:B49C 36 01 - - ld (hl), $01 - 50 D1:B49E 11 00 00 00 ld de, $00 - 51 D1:B4A2 - - - - manrouteuReturn: - 52 D1:B4A2 EB - - - ex de, hl - 53 D1:B4A3 D1 - - - pop de - 54 D1:B4A4 C9 - - - ret + 1 D1:B493 - - - - ;;TODO: move module specific macros to diffrent file + 2 D1:B493 - - - - ;;manroute + 3 D1:B493 - - - - ;;routes command string to discription + 4 D1:B493 - - - - ;;Inputs: + 5 D1:B493 - - - - ;; HL: Command String + 6 D1:B493 - - - - ;;Outputs: + 7 D1:B493 - - - - ;; HL: Command Discription String + 8 D1:B493 - - - - manroute: + 9 D1:B493 D5 - - - push de + 10 D1:B494 - - - - #macro routestrjp(cmdXs, cmdXm) + 11 D1:B494 ld de, cmdXs + 12 D1:B494 call strcmp + 13 D1:B494 ld de, cmdXm + 14 D1:B494 jp z, manrouteReturn + 15 D1:B494 #endmacro + 16 D1:B494 - - - - + 17 D1:B494 CD 48 B6 D1 call fshcmdmanroute + 18 D1:B498 CD 70 BF D1 call cryptocmdmanroute + 19 D1:B49C - - - - ;Extention Point + 20 D1:B49C - - - - + 21 D1:B49C 21 CE EA D0 ld hl, FshCmdErrCode + 22 D1:B4A0 36 01 - - ld (hl), $01 + 23 D1:B4A2 11 00 00 00 ld de, $00 + 24 D1:B4A6 - - - - manrouteReturn: + 25 D1:B4A6 EB - - - ex de, hl + 26 D1:B4A7 D1 - - - pop de + 27 D1:B4A8 C9 - - - ret + 28 D1:B4A9 - - - - + 29 D1:B4A9 - - - - ;;manrouteu + 30 D1:B4A9 - - - - ;;routes command string to usage + 31 D1:B4A9 - - - - ;;Inputs: + 32 D1:B4A9 - - - - ;; HL: Command String + 33 D1:B4A9 - - - - ;;Outputs: + 34 D1:B4A9 - - - - ;; HL: Command Usage String + 35 D1:B4A9 - - - - manrouteu: + 36 D1:B4A9 D5 - - - push de + 37 D1:B4AA - - - - #macro routeustrjp(cmdXs, cmdXu) + 38 D1:B4AA ld de, cmdXs + 39 D1:B4AA call strcmp + 40 D1:B4AA ld de, cmdXu + 41 D1:B4AA jp z, manrouteuReturn + 42 D1:B4AA #endmacro + 43 D1:B4AA - - - - + 44 D1:B4AA CD FB B6 D1 call fshcmdmanrouteu + 45 D1:B4AE CD 8F BF D1 call cryptocmdmanrouteu + 46 D1:B4B2 - - - - ;Extention Point + 47 D1:B4B2 - - - - + 48 D1:B4B2 21 CE EA D0 ld hl, FshCmdErrCode + 49 D1:B4B6 36 01 - - ld (hl), $01 + 50 D1:B4B8 11 00 00 00 ld de, $00 + 51 D1:B4BC - - - - manrouteuReturn: + 52 D1:B4BC EB - - - ex de, hl + 53 D1:B4BD D1 - - - pop de + 54 D1:B4BE C9 - - - ret Listing for file "FSHa.asm" - 76 D1:B4A5 - - - - #include "includes/Command.asm" + 76 D1:B4BF - - - - #include "includes/Command.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Command.asm" - 1 D1:B4A5 - - - - ;;Commanddecode - 2 D1:B4A5 - - - - ;;Decodes all commands. - 3 D1:B4A5 - - - - ;;Inputs: - 4 D1:B4A5 - - - - ;; HL: Cmd String mem loc - 5 D1:B4A5 - - - - ;; DE: Op code mem loc - 6 D1:B4A5 - - - - ;;Output: - 7 D1:B4A5 - - - - ;; Sets (DE) with command op code - 8 D1:B4A5 - - - - commanddecode: - 9 D1:B4A5 CD CA B4 D1 call fshcmddecode - 10 D1:B4A9 CD 12 BF D1 call cryptocmddecode - 11 D1:B4AD - - - - ;Extention Point - 12 D1:B4AD - - - - - 13 D1:B4AD C9 - - - ret - 14 D1:B4AE - - - - - 15 D1:B4AE - - - - ;;commandroute - 16 D1:B4AE - - - - ;;Routes all commamds. - 17 D1:B4AE - - - - ;;Inputs: - 18 D1:B4AE - - - - ;; HL: Op code mem loc - 19 D1:B4AE - - - - commandroute: - 20 D1:B4AE CD A7 B5 D1 call fshcmdroute - 21 D1:B4B2 CD 27 BF D1 call cryptocmdroute - 22 D1:B4B6 - - - - ;Extention Point - 23 D1:B4B6 - - - - - 24 D1:B4B6 21 3A B2 D1 ld hl, ErrCmdNotFoundo - 25 D1:B4BA 11 CE EA D0 ld de, FshCmdErrCode - 26 D1:B4BE CD CB A9 D1 call bytecpy - 27 D1:B4C2 CD 2B B2 D1 call ErrSet - 28 D1:B4C6 C3 DF A8 D1 jp Err - 29 D1:B4CA - - - - - 30 D1:B4CA - - - - #include "includes/FshCommands/FshCommand.asm" + 1 D1:B4BF - - - - ;;Commanddecode + 2 D1:B4BF - - - - ;;Decodes all commands. + 3 D1:B4BF - - - - ;;Inputs: + 4 D1:B4BF - - - - ;; HL: Cmd String mem loc + 5 D1:B4BF - - - - ;; DE: Op code mem loc + 6 D1:B4BF - - - - ;;Output: + 7 D1:B4BF - - - - ;; Sets (DE) with command op code + 8 D1:B4BF - - - - commanddecode: + 9 D1:B4BF CD E4 B4 D1 call fshcmddecode + 10 D1:B4C3 CD 2C BF D1 call cryptocmddecode + 11 D1:B4C7 - - - - ;Extention Point + 12 D1:B4C7 - - - - + 13 D1:B4C7 C9 - - - ret + 14 D1:B4C8 - - - - + 15 D1:B4C8 - - - - ;;commandroute + 16 D1:B4C8 - - - - ;;Routes all commamds. + 17 D1:B4C8 - - - - ;;Inputs: + 18 D1:B4C8 - - - - ;; HL: Op code mem loc + 19 D1:B4C8 - - - - commandroute: + 20 D1:B4C8 CD C1 B5 D1 call fshcmdroute + 21 D1:B4CC CD 55 BF D1 call cryptocmdroute + 22 D1:B4D0 - - - - ;Extention Point + 23 D1:B4D0 - - - - + 24 D1:B4D0 21 49 B2 D1 ld hl, ErrCmdNotFoundo + 25 D1:B4D4 11 CE EA D0 ld de, FshCmdErrCode + 26 D1:B4D8 CD DA A9 D1 call bytecpy + 27 D1:B4DC CD 3A B2 D1 call ErrSet + 28 D1:B4E0 C3 DF A8 D1 jp Err + 29 D1:B4E4 - - - - + 30 D1:B4E4 - - - - #include "includes/FshCommands/FshCommand.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm" - 1 D1:B4CA - - - - fshcmddecode: - 2 D1:B4CA E5 D5 11 94 - B7 D1 CD 3B - AB D1 21 99 + 1 D1:B4E4 - - - - fshcmddecode: + 2 D1:B4E4 E5 D5 11 AE + B7 D1 CD 4A + AB D1 21 B3 B7 D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdEXIT, fshcmdEXITo) + DA A9 D1 E1 decodecmdopt(fshcmdEXIT, fshcmdEXITo) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm" - 3 D1:B4DE E5 D5 11 AD - B7 D1 CD 3B - AB D1 21 B1 + 3 D1:B4F8 E5 D5 11 C7 + B7 D1 CD 4A + AB D1 21 CB B7 D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdSET, fshcmdSETo) - 4 D1:B4F2 E5 D5 11 A4 - B8 D1 CD 3B - AB D1 21 A9 + DA A9 D1 E1 decodecmdopt(fshcmdSET, fshcmdSETo) + 4 D1:B50C E5 D5 11 BE + B8 D1 CD 4A + AB D1 21 C3 B8 D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdCOPY, fshcmdCOPYo) - 5 D1:B506 E5 D5 11 B2 - B9 D1 CD 3B - AB D1 21 B7 + DA A9 D1 E1 decodecmdopt(fshcmdCOPY, fshcmdCOPYo) + 5 D1:B520 E5 D5 11 CC + B9 D1 CD 4A + AB D1 21 D1 B9 D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdMOVE, fshcmdMOVEo) - 6 D1:B51A E5 D5 11 C8 - BA D1 CD 3B - AB D1 21 CC + DA A9 D1 E1 decodecmdopt(fshcmdMOVE, fshcmdMOVEo) + 6 D1:B534 E5 D5 11 E2 + BA D1 CD 4A + AB D1 21 E6 BA D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdCLS, fshcmdCLSo) - 7 D1:B52E E5 D5 11 F4 - BA D1 CD 3B - AB D1 21 F8 - BA D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo) - 8 D1:B542 E5 D5 11 96 - BB D1 CD 3B - AB D1 21 9B + DA A9 D1 E1 decodecmdopt(fshcmdCLS, fshcmdCLSo) + 7 D1:B548 E5 D5 11 0E + BB D1 CD 4A + AB D1 21 12 BB D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdVARS, fshcmdVARSo) - 9 D1:B556 E5 D5 11 06 - BC D1 CD 3B - AB D1 21 0C + DA A9 D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo) + 8 D1:B55C E5 D5 11 B0 + BB D1 CD 4A + AB D1 21 B5 + BB D1 D1 CC + DA A9 D1 E1 decodecmdopt(fshcmdVARS, fshcmdVARSo) + 9 D1:B570 E5 D5 11 20 + BC D1 CD 4A + AB D1 21 26 BC D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdSLEEP, fshcmdSLEEPo) - 10 D1:B56A E5 D5 11 54 - BC D1 CD 3B - AB D1 21 59 + DA A9 D1 E1 decodecmdopt(fshcmdSLEEP, fshcmdSLEEPo) + 10 D1:B584 E5 D5 11 6E + BC D1 CD 4A + AB D1 21 73 BC D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdINFO, fshcmdINFOo) - 11 D1:B57E E5 D5 11 F6 - BC D1 CD 3B - AB D1 21 FB - BC D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo) - 12 D1:B592 E5 D5 11 2A - BE D1 CD 3B - AB D1 21 2E + DA A9 D1 E1 decodecmdopt(fshcmdINFO, fshcmdINFOo) + 11 D1:B598 E5 D5 11 10 + BD D1 CD 4A + AB D1 21 15 + BD D1 D1 CC + DA A9 D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo) + 12 D1:B5AC E5 D5 11 44 + BE D1 CD 4A + AB D1 21 48 BE D1 D1 CC - CB A9 D1 E1 decodecmdopt(fshcmdMAN, fshcmdMANo) - 13 D1:B5A6 C9 - - - ret - 14 D1:B5A7 - - - - - 15 D1:B5A7 - - - - fshcmdroute: - 16 D1:B5A7 C1 - - - pop bc ;pop the ret loc from stack into bc - 17 D1:B5A8 11 99 B7 D1 - CD C3 A9 D1 - CA A9 B7 D1 routeoptjp(fshcmdEXITo, fshcmdEXITf) - 18 D1:B5B4 11 B1 B7 D1 - CD C3 A9 D1 - CA EF B7 D1 routeoptjp(fshcmdSETo, fshcmdSETf) - 19 D1:B5C0 11 A9 B8 D1 - CD C3 A9 D1 - CA 04 B9 D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf) - 20 D1:B5CC 11 B7 B9 D1 - CD C3 A9 D1 - CA 11 BA D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf) - 21 D1:B5D8 11 CC BA D1 - CD C3 A9 D1 - CA E3 BA D1 routeoptjp(fshcmdCLSo, fshcmdCLSf) - 22 D1:B5E4 11 F8 BA D1 - CD C3 A9 D1 - CA 2F BB D1 routeoptjp(fshcmdVARo, fshcmdVARf) - 23 D1:B5F0 11 9B BB D1 - CD C3 A9 D1 - CA B7 BB D1 routeoptjp(fshcmdVARSo, fshcmdVARSf) - 24 D1:B5FC 11 0C BC D1 - CD C3 A9 D1 - CA 3D BC D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf) - 25 D1:B608 11 59 BC D1 - CD C3 A9 D1 - CA 85 BC D1 routeoptjp(fshcmdINFOo, fshcmdINFOf) - 26 D1:B614 11 FB BC D1 - CD C3 A9 D1 - CA 17 BD D1 routeoptjp(fshcmdHELPo, fshcmdHELPf) - 27 D1:B620 11 2E BE D1 - CD C3 A9 D1 - CA 5B BE D1 routeoptjp(fshcmdMANo, fshcmdMANf) - 28 D1:B62C C5 - - - push bc ;put ret location back on stack - 29 D1:B62D C9 - - - ret - 30 D1:B62E - - - - - 31 D1:B62E - - - - fshcmdmanroute: - 32 D1:B62E C1 - - - pop bc - 33 D1:B62F 11 94 B7 D1 - CD 3B AB D1 - 11 9A B7 D1 - CA 8C B4 D1 routestrjp(fshcmdEXIT, fshCmdEXITm) - 34 D1:B63F 11 AD B7 D1 - CD 3B AB D1 - 11 B2 B7 D1 - CA 8C B4 D1 routestrjp(fshcmdSET, fshCmdSETm) - 35 D1:B64F 11 A4 B8 D1 - CD 3B AB D1 - 11 AA B8 D1 - CA 8C B4 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm) - 36 D1:B65F 11 B2 B9 D1 - CD 3B AB D1 - 11 B8 B9 D1 - CA 8C B4 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm) - 37 D1:B66F 11 C8 BA D1 - CD 3B AB D1 - 11 CD BA D1 - CA 8C B4 D1 routestrjp(fshcmdCLS, fshCmdCLSm) - 38 D1:B67F 11 F4 BA D1 - CD 3B AB D1 + DA A9 D1 E1 decodecmdopt(fshcmdMAN, fshcmdMANo) + 13 D1:B5C0 C9 - - - ret + 14 D1:B5C1 - - - - + 15 D1:B5C1 - - - - fshcmdroute: + 16 D1:B5C1 C1 - - - pop bc ;pop the ret loc from stack into bc + 17 D1:B5C2 11 B3 B7 D1 + CD D2 A9 D1 + CA C3 B7 D1 routeoptjp(fshcmdEXITo, fshcmdEXITf) + 18 D1:B5CE 11 CB B7 D1 + CD D2 A9 D1 + CA 09 B8 D1 routeoptjp(fshcmdSETo, fshcmdSETf) + 19 D1:B5DA 11 C3 B8 D1 + CD D2 A9 D1 + CA 1E B9 D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf) + 20 D1:B5E6 11 D1 B9 D1 + CD D2 A9 D1 + CA 2B BA D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf) + 21 D1:B5F2 11 E6 BA D1 + CD D2 A9 D1 + CA FD BA D1 routeoptjp(fshcmdCLSo, fshcmdCLSf) + 22 D1:B5FE 11 12 BB D1 + CD D2 A9 D1 + CA 49 BB D1 routeoptjp(fshcmdVARo, fshcmdVARf) + 23 D1:B60A 11 B5 BB D1 + CD D2 A9 D1 + CA D1 BB D1 routeoptjp(fshcmdVARSo, fshcmdVARSf) + 24 D1:B616 11 26 BC D1 + CD D2 A9 D1 + CA 57 BC D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf) + 25 D1:B622 11 73 BC D1 + CD D2 A9 D1 + CA 9F BC D1 routeoptjp(fshcmdINFOo, fshcmdINFOf) + 26 D1:B62E 11 15 BD D1 + CD D2 A9 D1 + CA 31 BD D1 routeoptjp(fshcmdHELPo, fshcmdHELPf) + 27 D1:B63A 11 48 BE D1 + CD D2 A9 D1 + CA 75 BE D1 routeoptjp(fshcmdMANo, fshcmdMANf) + 28 D1:B646 C5 - - - push bc ;put ret location back on stack + 29 D1:B647 C9 - - - ret + 30 D1:B648 - - - - + 31 D1:B648 - - - - fshcmdmanroute: + 32 D1:B648 C1 - - - pop bc + 33 D1:B649 11 AE B7 D1 + CD 4A AB D1 + 11 B4 B7 D1 + CA A6 B4 D1 routestrjp(fshcmdEXIT, fshCmdEXITm) + 34 D1:B659 11 C7 B7 D1 + CD 4A AB D1 + 11 CC B7 D1 + CA A6 B4 D1 routestrjp(fshcmdSET, fshCmdSETm) + 35 D1:B669 11 BE B8 D1 + CD 4A AB D1 + 11 C4 B8 D1 + CA A6 B4 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm) + 36 D1:B679 11 CC B9 D1 + CD 4A AB D1 + 11 D2 B9 D1 + CA A6 B4 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm) + 37 D1:B689 11 E2 BA D1 + CD 4A AB D1 + 11 E7 BA D1 + CA A6 B4 D1 routestrjp(fshcmdCLS, fshCmdCLSm) + 38 D1:B699 11 0E BB D1 + CD 4A AB D1 + 11 13 BB D1 + CA A6 B4 D1 routestrjp(fshcmdVAR, fshCmdVARm) + 39 D1:B6A9 11 B0 BB D1 + CD 4A AB D1 + 11 B6 BB D1 + CA A6 B4 D1 routestrjp(fshcmdVARS, fshCmdVARSm) + 40 D1:B6B9 11 20 BC D1 + CD 4A AB D1 + 11 27 BC D1 + CA A6 B4 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm) + 41 D1:B6C9 11 6E BC D1 + CD 4A AB D1 + 11 74 BC D1 + CA A6 B4 D1 routestrjp(fshcmdINFO, fshCmdINFOm) + 42 D1:B6D9 11 10 BD D1 + CD 4A AB D1 + 11 16 BD D1 + CA A6 B4 D1 routestrjp(fshcmdHELP, fshCmdHELPm) + 43 D1:B6E9 11 44 BE D1 + CD 4A AB D1 + 11 49 BE D1 + CA A6 B4 D1 routestrjp(fshcmdMAN, fshCmdMANm) + 44 D1:B6F9 C5 - - - push bc + 45 D1:B6FA C9 - - - ret + 46 D1:B6FB - - - - + 47 D1:B6FB - - - - fshcmdmanrouteu: + 48 D1:B6FB C1 - - - pop bc + 49 D1:B6FC 11 AE B7 D1 + CD 4A AB D1 + 11 BE B7 D1 + CA BC B4 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu) + 50 D1:B70C 11 C7 B7 D1 + CD 4A AB D1 + 11 E7 B7 D1 + CA BC B4 D1 routeustrjp(fshcmdSET, fshCmdSETu) + 51 D1:B71C 11 BE B8 D1 + CD 4A AB D1 + 11 F2 B8 D1 + CA BC B4 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu) + 52 D1:B72C 11 CC B9 D1 + CD 4A AB D1 + 11 FF B9 D1 + CA BC B4 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu) + 53 D1:B73C 11 E2 BA D1 + CD 4A AB D1 11 F9 BA D1 - CA 8C B4 D1 routestrjp(fshcmdVAR, fshCmdVARm) - 39 D1:B68F 11 96 BB D1 - CD 3B AB D1 - 11 9C BB D1 - CA 8C B4 D1 routestrjp(fshcmdVARS, fshCmdVARSm) - 40 D1:B69F 11 06 BC D1 - CD 3B AB D1 - 11 0D BC D1 - CA 8C B4 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm) - 41 D1:B6AF 11 54 BC D1 - CD 3B AB D1 - 11 5A BC D1 - CA 8C B4 D1 routestrjp(fshcmdINFO, fshCmdINFOm) - 42 D1:B6BF 11 F6 BC D1 - CD 3B AB D1 - 11 FC BC D1 - CA 8C B4 D1 routestrjp(fshcmdHELP, fshCmdHELPm) - 43 D1:B6CF 11 2A BE D1 - CD 3B AB D1 - 11 2F BE D1 - CA 8C B4 D1 routestrjp(fshcmdMAN, fshCmdMANm) - 44 D1:B6DF C5 - - - push bc - 45 D1:B6E0 C9 - - - ret - 46 D1:B6E1 - - - - - 47 D1:B6E1 - - - - fshcmdmanrouteu: - 48 D1:B6E1 C1 - - - pop bc - 49 D1:B6E2 11 94 B7 D1 - CD 3B AB D1 - 11 A4 B7 D1 - CA A2 B4 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu) - 50 D1:B6F2 11 AD B7 D1 - CD 3B AB D1 - 11 CD B7 D1 - CA A2 B4 D1 routeustrjp(fshcmdSET, fshCmdSETu) - 51 D1:B702 11 A4 B8 D1 - CD 3B AB D1 - 11 D8 B8 D1 - CA A2 B4 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu) - 52 D1:B712 11 B2 B9 D1 - CD 3B AB D1 - 11 E5 B9 D1 - CA A2 B4 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu) - 53 D1:B722 11 C8 BA D1 - CD 3B AB D1 - 11 DF BA D1 - CA A2 B4 D1 routeustrjp(fshcmdCLS, fshCmdCLSu) - 54 D1:B732 11 F4 BA D1 - CD 3B AB D1 - 11 1A BB D1 - CA A2 B4 D1 routeustrjp(fshcmdVAR, fshCmdVARu) - 55 D1:B742 11 96 BB D1 - CD 3B AB D1 - 11 B2 BB D1 - CA A2 B4 D1 routeustrjp(fshcmdVARS, fshCmdVARSu) - 56 D1:B752 11 06 BC D1 - CD 3B AB D1 - 11 37 BC D1 - CA A2 B4 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu) - 57 D1:B762 11 54 BC D1 - CD 3B AB D1 - 11 80 BC D1 - CA A2 B4 D1 routeustrjp(fshcmdINFO, fshCmdINFOu) - 58 D1:B772 11 F6 BC D1 - CD 3B AB D1 - 11 12 BD D1 - CA A2 B4 D1 routeustrjp(fshcmdHELP, fshCmdHELPu) - 59 D1:B782 11 2A BE D1 - CD 3B AB D1 - 11 4D BE D1 - CA A2 B4 D1 routeustrjp(fshcmdMAN, fshCmdMANu) - 60 D1:B792 C5 - - - push bc - 61 D1:B793 C9 - - - ret - 62 D1:B794 - - - - - 63 D1:B794 - - - - #include "includes/FshCommands/FshCommands.inc" + CA BC B4 D1 routeustrjp(fshcmdCLS, fshCmdCLSu) + 54 D1:B74C 11 0E BB D1 + CD 4A AB D1 + 11 34 BB D1 + CA BC B4 D1 routeustrjp(fshcmdVAR, fshCmdVARu) + 55 D1:B75C 11 B0 BB D1 + CD 4A AB D1 + 11 CC BB D1 + CA BC B4 D1 routeustrjp(fshcmdVARS, fshCmdVARSu) + 56 D1:B76C 11 20 BC D1 + CD 4A AB D1 + 11 51 BC D1 + CA BC B4 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu) + 57 D1:B77C 11 6E BC D1 + CD 4A AB D1 + 11 9A BC D1 + CA BC B4 D1 routeustrjp(fshcmdINFO, fshCmdINFOu) + 58 D1:B78C 11 10 BD D1 + CD 4A AB D1 + 11 2C BD D1 + CA BC B4 D1 routeustrjp(fshcmdHELP, fshCmdHELPu) + 59 D1:B79C 11 44 BE D1 + CD 4A AB D1 + 11 67 BE D1 + CA BC B4 D1 routeustrjp(fshcmdMAN, fshCmdMANu) + 60 D1:B7AC C5 - - - push bc + 61 D1:B7AD C9 - - - ret + 62 D1:B7AE - - - - + 63 D1:B7AE - - - - #include "includes/FshCommands/FshCommands.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 1 D1:B794 - - - - #include "includes/FshCommands/EXIT.asm" + 1 D1:B7AE - - - - #include "includes/FshCommands/EXIT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\EXIT.asm" - 1 D1:B794 45 58 49 54 + 1 D1:B7AE 45 58 49 54 00 - - - fshcmdEXIT: .db "EXIT", 0 - 2 D1:B799 FF - - - fshcmdEXITo: .db $FF - 3 D1:B79A 45 78 69 74 + 2 D1:B7B3 FF - - - fshcmdEXITo: .db $FF + 3 D1:B7B4 45 78 69 74 73 20 46 73 68 00 - - fshcmdEXITm: .db "Exits Fsh", 0 - 4 D1:B7A4 45 58 49 54 + 4 D1:B7BE 45 58 49 54 00 - - - fshcmdEXITu: .db "EXIT", 0 - 5 D1:B7A9 C3 E3 A8 D1 fshcmdEXITf: JP Cleanup + 5 D1:B7C3 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:B7AD - - - - #include "includes/FshCommands/SET.asm" + 2 D1:B7C7 - - - - #include "includes/FshCommands/SET.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\SET.asm" - 1 D1:B7AD 53 45 54 00 fshcmdSET: .db "SET", 0 - 2 D1:B7B1 01 - - - fshcmdSETo: .db $01 - 3 D1:B7B2 53 65 74 73 + 1 D1:B7C7 53 45 54 00 fshcmdSET: .db "SET", 0 + 2 D1:B7CB 01 - - - fshcmdSETo: .db $01 + 3 D1:B7CC 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:B7CD 53 45 54 20 + 4 D1:B7E7 53 45 54 20 3C 64 65 73 74 69 6E 61 74 69 6F 6E @@ -2481,83 +2507,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:B7EF - - - - fshcmdSETf: - 6 D1:B7EF - - - - fshcmdSETfArg0: - 7 D1:B7EF 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:B7F3 CB 4E - - bit 1, (hl) - 9 D1:B7F5 20 34 - - jr nz, fshcmdSETfArg1 - 10 D1:B7F7 CB 46 - - bit 0, (hl) - 11 D1:B7F9 28 0C - - jr z, fshcmdSETfArg0Get - 12 D1:B7FB 21 C0 B2 D1 ld hl, ErrUsageo - 13 D1:B7FF CD 2B B2 D1 call ErrSet - 14 D1:B803 CD DE B1 D1 call ErrCatch - 15 D1:B807 - - - - fshcmdSETfArg0Get: - 16 D1:B807 21 8E B8 D1 ld hl, fshcmdSETfDIndex - 17 D1:B80B CD 89 AA D1 call printprompt - 18 D1:B80F 21 88 B8 D1 ld hl, fshcmdSETfInputBuffer - 19 D1:B813 11 03 00 00 ld de, 3 - 20 D1:B817 CD AF AE D1 call inputnumstr - 21 D1:B81B CD C5 AB D1 call strtow - 22 D1:B81F 11 A8 EA D0 ld de, FshCmdArg0 - 23 D1:B823 EB - - - ex de, hl - 24 D1:B824 73 - - - ld (hl), e - 25 D1:B825 23 - - - inc hl - 26 D1:B826 72 - - - ld (hl), d - 27 D1:B827 CD F0 07 02 call _NewLine - 28 D1:B82B - - - - fshcmdSETfArg1: - 29 D1:B82B 21 CD EA D0 ld hl, FshCmdArgFlags - 30 D1:B82F CB 5E - - bit 3, (hl) - 31 D1:B831 20 34 - - jr nz, fshcmdSETfExe - 32 D1:B833 CB 56 - - bit 2, (hl) - 33 D1:B835 28 0C - - jr z, fshcmdSETfArg1Get - 34 D1:B837 21 C0 B2 D1 ld hl, ErrUsageo - 35 D1:B83B CD 2B B2 D1 call ErrSet - 36 D1:B83F CD DE B1 D1 call ErrCatch - 37 D1:B843 - - - - fshcmdSETfArg1Get: - 38 D1:B843 21 9C B8 D1 ld hl, fshcmdSETfDValue - 39 D1:B847 CD 89 AA D1 call printprompt - 40 D1:B84B 21 88 B8 D1 ld hl, fshcmdSETfInputBuffer - 41 D1:B84F 11 05 00 00 ld de, 5 - 42 D1:B853 CD AF AE D1 call inputnumstr - 43 D1:B857 CD C5 AB D1 call strtow - 44 D1:B85B EB - - - ex de, hl - 45 D1:B85C 21 B1 EA D0 ld hl, FshCmdArg1 - 46 D1:B860 73 - - - ld (hl), e - 47 D1:B861 23 - - - inc hl - 48 D1:B862 72 - - - ld (hl), d - 49 D1:B863 CD F0 07 02 call _NewLine - 50 D1:B867 - - - - fshcmdSETfExe: - 51 D1:B867 21 A8 EA D0 ld hl, FshCmdArg0 - 52 D1:B86B 11 00 00 00 ld de, 0 - 53 D1:B86F 5E - - - ld e, (hl) - 54 D1:B870 23 - - - inc hl - 55 D1:B871 56 - - - ld d, (hl) - 56 D1:B872 D5 - - - push de - 57 D1:B873 21 B1 EA D0 ld hl, FshCmdArg1 - 58 D1:B877 5E - - - ld e, (hl) - 59 D1:B878 23 - - - inc hl - 60 D1:B879 56 - - - ld d, (hl) - 61 D1:B87A EB - - - ex de, hl - 62 D1:B87B D1 - - - pop de - 63 D1:B87C CD 2E B1 D1 call fshvarset - 64 D1:B880 CD DE B1 D1 call ErrCatch - 65 D1:B884 C3 DB A8 D1 jp Fin - 66 D1:B888 - - - - - 67 D1:B888 00 00 00 00 + 5 D1:B809 - - - - fshcmdSETf: + 6 D1:B809 - - - - fshcmdSETfArg0: + 7 D1:B809 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:B80D CB 4E - - bit 1, (hl) + 9 D1:B80F 20 34 - - jr nz, fshcmdSETfArg1 + 10 D1:B811 CB 46 - - bit 0, (hl) + 11 D1:B813 28 0C - - jr z, fshcmdSETfArg0Get + 12 D1:B815 21 CF B2 D1 ld hl, ErrUsageo + 13 D1:B819 CD 3A B2 D1 call ErrSet + 14 D1:B81D CD ED B1 D1 call ErrCatch + 15 D1:B821 - - - - fshcmdSETfArg0Get: + 16 D1:B821 21 A8 B8 D1 ld hl, fshcmdSETfDIndex + 17 D1:B825 CD 98 AA D1 call printprompt + 18 D1:B829 21 A2 B8 D1 ld hl, fshcmdSETfInputBuffer + 19 D1:B82D 11 03 00 00 ld de, 3 + 20 D1:B831 CD BE AE D1 call inputnumstr + 21 D1:B835 CD D4 AB D1 call strtow + 22 D1:B839 11 A8 EA D0 ld de, FshCmdArg0 + 23 D1:B83D EB - - - ex de, hl + 24 D1:B83E 73 - - - ld (hl), e + 25 D1:B83F 23 - - - inc hl + 26 D1:B840 72 - - - ld (hl), d + 27 D1:B841 CD F0 07 02 call _NewLine + 28 D1:B845 - - - - fshcmdSETfArg1: + 29 D1:B845 21 CD EA D0 ld hl, FshCmdArgFlags + 30 D1:B849 CB 5E - - bit 3, (hl) + 31 D1:B84B 20 34 - - jr nz, fshcmdSETfExe + 32 D1:B84D CB 56 - - bit 2, (hl) + 33 D1:B84F 28 0C - - jr z, fshcmdSETfArg1Get + 34 D1:B851 21 CF B2 D1 ld hl, ErrUsageo + 35 D1:B855 CD 3A B2 D1 call ErrSet + 36 D1:B859 CD ED B1 D1 call ErrCatch + 37 D1:B85D - - - - fshcmdSETfArg1Get: + 38 D1:B85D 21 B6 B8 D1 ld hl, fshcmdSETfDValue + 39 D1:B861 CD 98 AA D1 call printprompt + 40 D1:B865 21 A2 B8 D1 ld hl, fshcmdSETfInputBuffer + 41 D1:B869 11 05 00 00 ld de, 5 + 42 D1:B86D CD BE AE D1 call inputnumstr + 43 D1:B871 CD D4 AB D1 call strtow + 44 D1:B875 EB - - - ex de, hl + 45 D1:B876 21 B1 EA D0 ld hl, FshCmdArg1 + 46 D1:B87A 73 - - - ld (hl), e + 47 D1:B87B 23 - - - inc hl + 48 D1:B87C 72 - - - ld (hl), d + 49 D1:B87D CD F0 07 02 call _NewLine + 50 D1:B881 - - - - fshcmdSETfExe: + 51 D1:B881 21 A8 EA D0 ld hl, FshCmdArg0 + 52 D1:B885 11 00 00 00 ld de, 0 + 53 D1:B889 5E - - - ld e, (hl) + 54 D1:B88A 23 - - - inc hl + 55 D1:B88B 56 - - - ld d, (hl) + 56 D1:B88C D5 - - - push de + 57 D1:B88D 21 B1 EA D0 ld hl, FshCmdArg1 + 58 D1:B891 5E - - - ld e, (hl) + 59 D1:B892 23 - - - inc hl + 60 D1:B893 56 - - - ld d, (hl) + 61 D1:B894 EB - - - ex de, hl + 62 D1:B895 D1 - - - pop de + 63 D1:B896 CD 3D B1 D1 call fshvarset + 64 D1:B89A CD ED B1 D1 call ErrCatch + 65 D1:B89E C3 DB A8 D1 jp Fin + 66 D1:B8A2 - - - - + 67 D1:B8A2 00 00 00 00 00 00 - - fshcmdSETfInputBuffer: .db $00, $00, $00, $00, $00, $00 - 68 D1:B88E 44 65 73 74 + 68 D1:B8A8 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdSETfDIndex: .db "Destination= ", 0 - 69 D1:B89C 56 61 6C 75 + 69 D1:B8B6 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:B8A4 - - - - #include "includes/FshCommands/COPY.asm" + 3 D1:B8BE - - - - #include "includes/FshCommands/COPY.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\COPY.asm" - 1 D1:B8A4 43 4F 50 59 + 1 D1:B8BE 43 4F 50 59 00 - - - fshcmdCOPY: .db "COPY", 0 - 2 D1:B8A9 02 - - - fshcmdCOPYo: .db $02 - 3 D1:B8AA 43 6F 70 79 + 2 D1:B8C3 02 - - - fshcmdCOPYo: .db $02 + 3 D1:B8C4 43 6F 70 79 73 20 61 20 76 61 6C 75 65 20 69 6E @@ -2569,7 +2595,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:B8D8 43 4F 50 59 + 4 D1:B8F2 43 4F 50 59 20 3C 73 6F 75 72 63 65 20 61 64 64 @@ -2580,74 +2606,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:B904 - - - - fshcmdCOPYf: - 6 D1:B904 - - - - fshcmdCOPYfArg0: - 7 D1:B904 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:B908 CB 4E - - bit 1, (hl) - 9 D1:B90A 20 31 - - jr nz, fshcmdCOPYfArg1 - 10 D1:B90C CB 46 - - bit 0, (hl) - 11 D1:B90E 28 0C - - jr z, fshcmdCOPYfArg0Get - 12 D1:B910 21 C0 B2 D1 ld hl, ErrUsageo - 13 D1:B914 CD 2B B2 D1 call ErrSet - 14 D1:B918 CD DE B1 D1 call ErrCatch - 15 D1:B91C - - - - fshcmdCOPYfArg0Get: - 16 D1:B91C 21 9B B9 D1 ld hl, fshcmdCOPYfDSource - 17 D1:B920 CD 89 AA D1 call printprompt - 18 D1:B924 21 97 B9 D1 ld hl, fshcmdCOPYfInputBuffer - 19 D1:B928 11 03 00 00 ld de, 3 - 20 D1:B92C CD AF AE D1 call inputnumstr - 21 D1:B930 CD 68 AB D1 call strtob - 22 D1:B934 21 A8 EA D0 ld hl, FshCmdArg0 - 23 D1:B938 77 - - - ld (hl), a - 24 D1:B939 CD F0 07 02 call _NewLine - 25 D1:B93D - - - - fshcmdCOPYfArg1: - 26 D1:B93D 21 CD EA D0 ld hl, FshCmdArgFlags - 27 D1:B941 CB 5E - - bit 3, (hl) - 28 D1:B943 20 31 - - jr nz, fshcmdCOPYfExe - 29 D1:B945 CB 56 - - bit 2, (hl) - 30 D1:B947 28 0C - - jr z, fshcmdCOPYfArg1Get - 31 D1:B949 21 C0 B2 D1 ld hl, ErrUsageo - 32 D1:B94D CD 2B B2 D1 call ErrSet - 33 D1:B951 CD DE B1 D1 call ErrCatch - 34 D1:B955 - - - - fshcmdCOPYfArg1Get: - 35 D1:B955 21 9B B9 D1 ld hl, fshcmdCOPYfDSource - 36 D1:B959 CD 89 AA D1 call printprompt - 37 D1:B95D 21 97 B9 D1 ld hl, fshcmdCOPYfInputBuffer - 38 D1:B961 11 03 00 00 ld de, 3 - 39 D1:B965 CD AF AE D1 call inputnumstr - 40 D1:B969 CD 68 AB D1 call strtob - 41 D1:B96D 21 B1 EA D0 ld hl, FshCmdArg1 - 42 D1:B971 77 - - - ld (hl), a - 43 D1:B972 CD F0 07 02 call _NewLine - 44 D1:B976 - - - - fshcmdCOPYfExe: - 45 D1:B976 21 A8 EA D0 ld hl, FshCmdArg0 - 46 D1:B97A 11 00 00 00 ld de, 0 - 47 D1:B97E 5E - - - ld e, (hl) - 48 D1:B97F EB - - - ex de, hl - 49 D1:B980 E5 - - - push hl - 50 D1:B981 21 B1 EA D0 ld hl, FshCmdArg1 - 51 D1:B985 11 00 00 00 ld de, 0 - 52 D1:B989 5E - - - ld e, (hl) - 53 D1:B98A E1 - - - pop hl - 54 D1:B98B CD 81 B1 D1 call fshvarcpy - 55 D1:B98F CD DE B1 D1 call ErrCatch - 56 D1:B993 C3 DB A8 D1 jp Fin - 57 D1:B997 - - - - - 58 D1:B997 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00 - 59 D1:B99B 53 6F 75 72 + 5 D1:B91E - - - - fshcmdCOPYf: + 6 D1:B91E - - - - fshcmdCOPYfArg0: + 7 D1:B91E 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:B922 CB 4E - - bit 1, (hl) + 9 D1:B924 20 31 - - jr nz, fshcmdCOPYfArg1 + 10 D1:B926 CB 46 - - bit 0, (hl) + 11 D1:B928 28 0C - - jr z, fshcmdCOPYfArg0Get + 12 D1:B92A 21 CF B2 D1 ld hl, ErrUsageo + 13 D1:B92E CD 3A B2 D1 call ErrSet + 14 D1:B932 CD ED B1 D1 call ErrCatch + 15 D1:B936 - - - - fshcmdCOPYfArg0Get: + 16 D1:B936 21 B5 B9 D1 ld hl, fshcmdCOPYfDSource + 17 D1:B93A CD 98 AA D1 call printprompt + 18 D1:B93E 21 B1 B9 D1 ld hl, fshcmdCOPYfInputBuffer + 19 D1:B942 11 03 00 00 ld de, 3 + 20 D1:B946 CD BE AE D1 call inputnumstr + 21 D1:B94A CD 77 AB D1 call strtob + 22 D1:B94E 21 A8 EA D0 ld hl, FshCmdArg0 + 23 D1:B952 77 - - - ld (hl), a + 24 D1:B953 CD F0 07 02 call _NewLine + 25 D1:B957 - - - - fshcmdCOPYfArg1: + 26 D1:B957 21 CD EA D0 ld hl, FshCmdArgFlags + 27 D1:B95B CB 5E - - bit 3, (hl) + 28 D1:B95D 20 31 - - jr nz, fshcmdCOPYfExe + 29 D1:B95F CB 56 - - bit 2, (hl) + 30 D1:B961 28 0C - - jr z, fshcmdCOPYfArg1Get + 31 D1:B963 21 CF B2 D1 ld hl, ErrUsageo + 32 D1:B967 CD 3A B2 D1 call ErrSet + 33 D1:B96B CD ED B1 D1 call ErrCatch + 34 D1:B96F - - - - fshcmdCOPYfArg1Get: + 35 D1:B96F 21 B5 B9 D1 ld hl, fshcmdCOPYfDSource + 36 D1:B973 CD 98 AA D1 call printprompt + 37 D1:B977 21 B1 B9 D1 ld hl, fshcmdCOPYfInputBuffer + 38 D1:B97B 11 03 00 00 ld de, 3 + 39 D1:B97F CD BE AE D1 call inputnumstr + 40 D1:B983 CD 77 AB D1 call strtob + 41 D1:B987 21 B1 EA D0 ld hl, FshCmdArg1 + 42 D1:B98B 77 - - - ld (hl), a + 43 D1:B98C CD F0 07 02 call _NewLine + 44 D1:B990 - - - - fshcmdCOPYfExe: + 45 D1:B990 21 A8 EA D0 ld hl, FshCmdArg0 + 46 D1:B994 11 00 00 00 ld de, 0 + 47 D1:B998 5E - - - ld e, (hl) + 48 D1:B999 EB - - - ex de, hl + 49 D1:B99A E5 - - - push hl + 50 D1:B99B 21 B1 EA D0 ld hl, FshCmdArg1 + 51 D1:B99F 11 00 00 00 ld de, 0 + 52 D1:B9A3 5E - - - ld e, (hl) + 53 D1:B9A4 E1 - - - pop hl + 54 D1:B9A5 CD 90 B1 D1 call fshvarcpy + 55 D1:B9A9 CD ED B1 D1 call ErrCatch + 56 D1:B9AD C3 DB A8 D1 jp Fin + 57 D1:B9B1 - - - - + 58 D1:B9B1 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00 + 59 D1:B9B5 53 6F 75 72 63 65 3D 20 00 - - - fshcmdCOPYfDSource: .db "Source= ", 0 - 60 D1:B9A4 44 65 73 74 + 60 D1:B9BE 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:B9B2 - - - - #include "includes/FshCommands/MOVE.asm" + 4 D1:B9CC - - - - #include "includes/FshCommands/MOVE.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\MOVE.asm" - 1 D1:B9B2 4D 4F 56 45 + 1 D1:B9CC 4D 4F 56 45 00 - - - fshcmdMOVE: .db "MOVE", 0 - 2 D1:B9B7 03 - - - fshcmdMOVEo: .db $03 - 3 D1:B9B8 4D 6F 76 65 + 2 D1:B9D1 03 - - - fshcmdMOVEo: .db $03 + 3 D1:B9D2 4D 6F 76 65 20 61 20 76 61 6C 75 65 20 69 6E 20 @@ -2659,7 +2685,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:B9E5 4D 4F 56 45 + 4 D1:B9FF 4D 4F 56 45 20 3C 73 6F 75 72 63 65 20 61 64 64 @@ -2670,93 +2696,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:BA11 - - - - fshcmdMOVEf: - 6 D1:BA11 - - - - fshcmdMOVEfArg0: - 7 D1:BA11 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BA15 CB 4E - - bit 1, (hl) - 9 D1:BA17 20 31 - - jr nz, fshcmdMOVEfArg1 - 10 D1:BA19 CB 46 - - bit 0, (hl) - 11 D1:BA1B 28 0C - - jr z, fshcmdMOVEfArg0Get - 12 D1:BA1D 21 C0 B2 D1 ld hl, ErrUsageo - 13 D1:BA21 CD 2B B2 D1 call ErrSet - 14 D1:BA25 CD DE B1 D1 call ErrCatch - 15 D1:BA29 - - - - fshcmdMOVEfArg0Get: - 16 D1:BA29 21 B1 BA D1 ld hl, fshcmdMOVEfDSource - 17 D1:BA2D CD 89 AA D1 call printprompt - 18 D1:BA31 21 AD BA D1 ld hl, fshcmdMOVEfInputBuffer - 19 D1:BA35 11 03 00 00 ld de, 3 - 20 D1:BA39 CD AF AE D1 call inputnumstr - 21 D1:BA3D CD 68 AB D1 call strtob - 22 D1:BA41 21 A8 EA D0 ld hl, FshCmdArg0 - 23 D1:BA45 77 - - - ld (hl), a - 24 D1:BA46 CD F0 07 02 call _NewLine - 25 D1:BA4A - - - - fshcmdMOVEfArg1: - 26 D1:BA4A 21 CD EA D0 ld hl, FshCmdArgFlags - 27 D1:BA4E CB 5E - - bit 3, (hl) - 28 D1:BA50 20 31 - - jr nz, fshcmdMOVEfExe - 29 D1:BA52 CB 56 - - bit 2, (hl) - 30 D1:BA54 28 0C - - jr z, fshcmdMOVEfArg1Get - 31 D1:BA56 21 C0 B2 D1 ld hl, ErrUsageo - 32 D1:BA5A CD 2B B2 D1 call ErrSet - 33 D1:BA5E CD DE B1 D1 call ErrCatch - 34 D1:BA62 - - - - fshcmdMOVEfArg1Get: - 35 D1:BA62 21 BA BA D1 ld hl, fshcmdMOVEfDDestination - 36 D1:BA66 CD 89 AA D1 call printprompt - 37 D1:BA6A 21 AD BA D1 ld hl, fshcmdMOVEfInputBuffer - 38 D1:BA6E 11 03 00 00 ld de, 3 - 39 D1:BA72 CD AF AE D1 call inputnumstr - 40 D1:BA76 CD 68 AB D1 call strtob - 41 D1:BA7A 21 B1 EA D0 ld hl, FshCmdArg1 - 42 D1:BA7E 77 - - - ld (hl), a - 43 D1:BA7F CD F0 07 02 call _NewLine - 44 D1:BA83 - - - - fshcmdMOVEfExe: - 45 D1:BA83 21 A8 EA D0 ld hl, FshCmdArg0 - 46 D1:BA87 11 00 00 00 ld de, 0 - 47 D1:BA8B 5E - - - ld e, (hl) - 48 D1:BA8C EB - - - ex de, hl - 49 D1:BA8D E5 - - - push hl - 50 D1:BA8E 21 B1 EA D0 ld hl, FshCmdArg1 - 51 D1:BA92 11 00 00 00 ld de, 0 - 52 D1:BA96 5E - - - ld e, (hl) - 53 D1:BA97 E1 - - - pop hl - 54 D1:BA98 CD 81 B1 D1 call fshvarcpy - 55 D1:BA9C EB - - - ex de, hl - 56 D1:BA9D 21 00 00 00 ld hl, 0 - 57 D1:BAA1 CD 2E B1 D1 call fshvarset - 58 D1:BAA5 CD DE B1 D1 call ErrCatch - 59 D1:BAA9 C3 DB A8 D1 jp Fin - 60 D1:BAAD - - - - - 61 D1:BAAD 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00 - 62 D1:BAB1 53 6F 75 72 + 5 D1:BA2B - - - - fshcmdMOVEf: + 6 D1:BA2B - - - - fshcmdMOVEfArg0: + 7 D1:BA2B 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BA2F CB 4E - - bit 1, (hl) + 9 D1:BA31 20 31 - - jr nz, fshcmdMOVEfArg1 + 10 D1:BA33 CB 46 - - bit 0, (hl) + 11 D1:BA35 28 0C - - jr z, fshcmdMOVEfArg0Get + 12 D1:BA37 21 CF B2 D1 ld hl, ErrUsageo + 13 D1:BA3B CD 3A B2 D1 call ErrSet + 14 D1:BA3F CD ED B1 D1 call ErrCatch + 15 D1:BA43 - - - - fshcmdMOVEfArg0Get: + 16 D1:BA43 21 CB BA D1 ld hl, fshcmdMOVEfDSource + 17 D1:BA47 CD 98 AA D1 call printprompt + 18 D1:BA4B 21 C7 BA D1 ld hl, fshcmdMOVEfInputBuffer + 19 D1:BA4F 11 03 00 00 ld de, 3 + 20 D1:BA53 CD BE AE D1 call inputnumstr + 21 D1:BA57 CD 77 AB D1 call strtob + 22 D1:BA5B 21 A8 EA D0 ld hl, FshCmdArg0 + 23 D1:BA5F 77 - - - ld (hl), a + 24 D1:BA60 CD F0 07 02 call _NewLine + 25 D1:BA64 - - - - fshcmdMOVEfArg1: + 26 D1:BA64 21 CD EA D0 ld hl, FshCmdArgFlags + 27 D1:BA68 CB 5E - - bit 3, (hl) + 28 D1:BA6A 20 31 - - jr nz, fshcmdMOVEfExe + 29 D1:BA6C CB 56 - - bit 2, (hl) + 30 D1:BA6E 28 0C - - jr z, fshcmdMOVEfArg1Get + 31 D1:BA70 21 CF B2 D1 ld hl, ErrUsageo + 32 D1:BA74 CD 3A B2 D1 call ErrSet + 33 D1:BA78 CD ED B1 D1 call ErrCatch + 34 D1:BA7C - - - - fshcmdMOVEfArg1Get: + 35 D1:BA7C 21 D4 BA D1 ld hl, fshcmdMOVEfDDestination + 36 D1:BA80 CD 98 AA D1 call printprompt + 37 D1:BA84 21 C7 BA D1 ld hl, fshcmdMOVEfInputBuffer + 38 D1:BA88 11 03 00 00 ld de, 3 + 39 D1:BA8C CD BE AE D1 call inputnumstr + 40 D1:BA90 CD 77 AB D1 call strtob + 41 D1:BA94 21 B1 EA D0 ld hl, FshCmdArg1 + 42 D1:BA98 77 - - - ld (hl), a + 43 D1:BA99 CD F0 07 02 call _NewLine + 44 D1:BA9D - - - - fshcmdMOVEfExe: + 45 D1:BA9D 21 A8 EA D0 ld hl, FshCmdArg0 + 46 D1:BAA1 11 00 00 00 ld de, 0 + 47 D1:BAA5 5E - - - ld e, (hl) + 48 D1:BAA6 EB - - - ex de, hl + 49 D1:BAA7 E5 - - - push hl + 50 D1:BAA8 21 B1 EA D0 ld hl, FshCmdArg1 + 51 D1:BAAC 11 00 00 00 ld de, 0 + 52 D1:BAB0 5E - - - ld e, (hl) + 53 D1:BAB1 E1 - - - pop hl + 54 D1:BAB2 CD 90 B1 D1 call fshvarcpy + 55 D1:BAB6 EB - - - ex de, hl + 56 D1:BAB7 21 00 00 00 ld hl, 0 + 57 D1:BABB CD 3D B1 D1 call fshvarset + 58 D1:BABF CD ED B1 D1 call ErrCatch + 59 D1:BAC3 C3 DB A8 D1 jp Fin + 60 D1:BAC7 - - - - + 61 D1:BAC7 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00 + 62 D1:BACB 53 6F 75 72 63 65 3D 20 00 - - - fshcmdMOVEfDSource: .db "Source= ", 0 - 63 D1:BABA 44 65 73 74 + 63 D1:BAD4 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:BAC8 - - - - #include "includes/FshCommands/CLS.asm" + 5 D1:BAE2 - - - - #include "includes/FshCommands/CLS.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\CLS.asm" - 1 D1:BAC8 43 4C 53 00 fshcmdCLS: .db "CLS", 0 - 2 D1:BACC 10 - - - fshcmdCLSo: .db $10 - 3 D1:BACD 43 6C 65 61 + 1 D1:BAE2 43 4C 53 00 fshcmdCLS: .db "CLS", 0 + 2 D1:BAE6 10 - - - fshcmdCLSo: .db $10 + 3 D1:BAE7 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:BADF 43 4C 53 00 fshcmdCLSu: .db "CLS", 0 - 5 D1:BAE3 - - - - fshcmdCLSf: - 6 D1:BAE3 CD 08 08 02 call _ClrLCDFull - 7 D1:BAE7 AF - - - xor a - 8 D1:BAE8 32 95 05 D0 ld (CurRow), a - 9 D1:BAEC 32 96 05 D0 ld (CurCol), a - 10 D1:BAF0 C3 DB A8 D1 jp Fin + 4 D1:BAF9 43 4C 53 00 fshcmdCLSu: .db "CLS", 0 + 5 D1:BAFD - - - - fshcmdCLSf: + 6 D1:BAFD CD 08 08 02 call _ClrLCDFull + 7 D1:BB01 AF - - - xor a + 8 D1:BB02 32 95 05 D0 ld (CurRow), a + 9 D1:BB06 32 96 05 D0 ld (CurCol), a + 10 D1:BB0A C3 DB A8 D1 jp Fin Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 6 D1:BAF4 - - - - #include "includes/FshCommands/VAR.asm" + 6 D1:BB0E - - - - #include "includes/FshCommands/VAR.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\VAR.asm" - 1 D1:BAF4 56 41 52 00 fshcmdVAR: .db "VAR", 0 - 2 D1:BAF8 11 - - - fshcmdVARo: .db $11 - 3 D1:BAF9 44 69 73 70 + 1 D1:BB0E 56 41 52 00 fshcmdVAR: .db "VAR", 0 + 2 D1:BB12 11 - - - fshcmdVARo: .db $11 + 3 D1:BB13 44 69 73 70 6C 61 79 73 20 61 20 76 61 6C 75 65 @@ -2765,111 +2791,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:BB1A 56 41 52 20 + 4 D1:BB34 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:BB2F - - - - fshcmdVARf: - 6 D1:BB2F - - - - fshcmdVARfArg0: - 7 D1:BB2F 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BB33 CB 4E - - bit 1, (hl) - 9 D1:BB35 20 34 - - jr nz, fshcmdVARfExe - 10 D1:BB37 CB 46 - - bit 0, (hl) - 11 D1:BB39 28 0C - - jr z, fshcmdVARfArg0Get - 12 D1:BB3B 21 C0 B2 D1 ld hl, ErrUsageo - 13 D1:BB3F CD 2B B2 D1 call ErrSet - 14 D1:BB43 CD DE B1 D1 call ErrCatch - 15 D1:BB47 - - - - fshcmdVARfArg0Get: - 16 D1:BB47 21 8E BB D1 ld hl, fshcmdVARfDIndex - 17 D1:BB4B CD 89 AA D1 call printprompt - 18 D1:BB4F 21 8A BB D1 ld hl, fshcmdVARfInputBuffer - 19 D1:BB53 11 03 00 00 ld de, 3 - 20 D1:BB57 CD AF AE D1 call inputnumstr - 21 D1:BB5B CD C5 AB D1 call strtow - 22 D1:BB5F 11 A8 EA D0 ld de, FshCmdArg0 - 23 D1:BB63 EB - - - ex de, hl - 24 D1:BB64 73 - - - ld (hl), e - 25 D1:BB65 23 - - - inc hl - 26 D1:BB66 72 - - - ld (hl), d - 27 D1:BB67 CD F0 07 02 call _NewLine - 28 D1:BB6B - - - - fshcmdVARfExe: - 29 D1:BB6B 21 A8 EA D0 ld hl, FshCmdArg0 - 30 D1:BB6F 11 00 00 00 ld de, 0 - 31 D1:BB73 5E - - - ld e, (hl) - 32 D1:BB74 23 - - - inc hl - 33 D1:BB75 56 - - - ld d, (hl) - 34 D1:BB76 CD 56 B1 D1 call fshvarget - 35 D1:BB7A CD DE B1 D1 call ErrCatch - 36 D1:BB7E CD BC 07 02 call _DispHL_s - 37 D1:BB82 CD F0 07 02 call _NewLine - 38 D1:BB86 C3 DB A8 D1 jp Fin - 39 D1:BB8A - - - - - 40 D1:BB8A 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00 - 41 D1:BB8E 49 6E 64 65 + 5 D1:BB49 - - - - fshcmdVARf: + 6 D1:BB49 - - - - fshcmdVARfArg0: + 7 D1:BB49 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BB4D CB 4E - - bit 1, (hl) + 9 D1:BB4F 20 34 - - jr nz, fshcmdVARfExe + 10 D1:BB51 CB 46 - - bit 0, (hl) + 11 D1:BB53 28 0C - - jr z, fshcmdVARfArg0Get + 12 D1:BB55 21 CF B2 D1 ld hl, ErrUsageo + 13 D1:BB59 CD 3A B2 D1 call ErrSet + 14 D1:BB5D CD ED B1 D1 call ErrCatch + 15 D1:BB61 - - - - fshcmdVARfArg0Get: + 16 D1:BB61 21 A8 BB D1 ld hl, fshcmdVARfDIndex + 17 D1:BB65 CD 98 AA D1 call printprompt + 18 D1:BB69 21 A4 BB D1 ld hl, fshcmdVARfInputBuffer + 19 D1:BB6D 11 03 00 00 ld de, 3 + 20 D1:BB71 CD BE AE D1 call inputnumstr + 21 D1:BB75 CD D4 AB D1 call strtow + 22 D1:BB79 11 A8 EA D0 ld de, FshCmdArg0 + 23 D1:BB7D EB - - - ex de, hl + 24 D1:BB7E 73 - - - ld (hl), e + 25 D1:BB7F 23 - - - inc hl + 26 D1:BB80 72 - - - ld (hl), d + 27 D1:BB81 CD F0 07 02 call _NewLine + 28 D1:BB85 - - - - fshcmdVARfExe: + 29 D1:BB85 21 A8 EA D0 ld hl, FshCmdArg0 + 30 D1:BB89 11 00 00 00 ld de, 0 + 31 D1:BB8D 5E - - - ld e, (hl) + 32 D1:BB8E 23 - - - inc hl + 33 D1:BB8F 56 - - - ld d, (hl) + 34 D1:BB90 CD 65 B1 D1 call fshvarget + 35 D1:BB94 CD ED B1 D1 call ErrCatch + 36 D1:BB98 CD BC 07 02 call _DispHL_s + 37 D1:BB9C CD F0 07 02 call _NewLine + 38 D1:BBA0 C3 DB A8 D1 jp Fin + 39 D1:BBA4 - - - - + 40 D1:BBA4 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00 + 41 D1:BBA8 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:BB96 - - - - #include "includes/FshCommands/VARS.asm" + 7 D1:BBB0 - - - - #include "includes/FshCommands/VARS.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\VARS.asm" - 1 D1:BB96 56 41 52 53 + 1 D1:BBB0 56 41 52 53 00 - - - fshcmdVARS: .db "VARS", 0 - 2 D1:BB9B 12 - - - fshcmdVARSo: .db $12 - 3 D1:BB9C 44 69 73 70 + 2 D1:BBB5 12 - - - fshcmdVARSo: .db $12 + 3 D1:BBB6 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:BBB2 56 41 52 53 + 4 D1:BBCC 56 41 52 53 00 - - - fshcmdVARSu: .db "VARS", 0 - 5 D1:BBB7 - - - - fshcmdVARSf: - 6 D1:BBB7 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:BBBB CB 46 - - bit 0, (hl) - 8 D1:BBBD 28 0C - - jr z, fshcmdVARSfExe - 9 D1:BBBF 21 C0 B2 D1 ld hl, ErrUsageo - 10 D1:BBC3 CD 2B B2 D1 call ErrSet - 11 D1:BBC7 CD DE B1 D1 call ErrCatch - 12 D1:BBCB - - - - fshcmdVARSfExe: - 13 D1:BBCB 06 00 - - ld b, 0 - 14 D1:BBCD 0E 00 - - ld c, 0 - 15 D1:BBCF 11 00 00 00 ld de, 0 - 16 D1:BBD3 - - - - fshcmdVARSfLoop: - 17 D1:BBD3 CD 56 B1 D1 call fshvarget - 18 D1:BBD7 7C - - - ld a, h - 19 D1:BBD8 CD B8 07 02 call _PutC - 20 D1:BBDC 7D - - - ld a, l - 21 D1:BBDD CD B8 07 02 call _PutC - 22 D1:BBE1 79 - - - ld a, c - 23 D1:BBE2 0C - - - inc c - 24 D1:BBE3 FE 07 - - cp 7 - 25 D1:BBE5 20 0E - - jr nz, fshcmdVARSfLoopU - 26 D1:BBE7 E5 - - - push hl - 27 D1:BBE8 C5 - - - push bc - 28 D1:BBE9 D5 - - - push de - 29 D1:BBEA CD F0 07 02 call _NewLine - 30 D1:BBEE D1 - - - pop de - 31 D1:BBEF C1 - - - pop bc - 32 D1:BBF0 E1 - - - pop hl - 33 D1:BBF1 0E 00 - - ld c, 0 - 34 D1:BBF3 18 06 - - jr fshcmdVARSfLoopEnd - 35 D1:BBF5 - - - - fshcmdVARSfLoopU: - 36 D1:BBF5 3E 5F - - ld a, '_' - 37 D1:BBF7 CD B8 07 02 call _PutC - 38 D1:BBFB - - - - fshcmdVARSfLoopEnd: - 39 D1:BBFB 04 - - - inc b - 40 D1:BBFC 13 - - - inc de - 41 D1:BBFD 78 - - - ld a, b - 42 D1:BBFE FE 40 - - cp FshVarsSize / 2 - 43 D1:BC00 38 D1 - - jr c, fshcmdVARSfLoop - 44 D1:BC02 C3 DB A8 D1 jp Fin + 5 D1:BBD1 - - - - fshcmdVARSf: + 6 D1:BBD1 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:BBD5 CB 46 - - bit 0, (hl) + 8 D1:BBD7 28 0C - - jr z, fshcmdVARSfExe + 9 D1:BBD9 21 CF B2 D1 ld hl, ErrUsageo + 10 D1:BBDD CD 3A B2 D1 call ErrSet + 11 D1:BBE1 CD ED B1 D1 call ErrCatch + 12 D1:BBE5 - - - - fshcmdVARSfExe: + 13 D1:BBE5 06 00 - - ld b, 0 + 14 D1:BBE7 0E 00 - - ld c, 0 + 15 D1:BBE9 11 00 00 00 ld de, 0 + 16 D1:BBED - - - - fshcmdVARSfLoop: + 17 D1:BBED CD 65 B1 D1 call fshvarget + 18 D1:BBF1 7C - - - ld a, h + 19 D1:BBF2 CD B8 07 02 call _PutC + 20 D1:BBF6 7D - - - ld a, l + 21 D1:BBF7 CD B8 07 02 call _PutC + 22 D1:BBFB 79 - - - ld a, c + 23 D1:BBFC 0C - - - inc c + 24 D1:BBFD FE 07 - - cp 7 + 25 D1:BBFF 20 0E - - jr nz, fshcmdVARSfLoopU + 26 D1:BC01 E5 - - - push hl + 27 D1:BC02 C5 - - - push bc + 28 D1:BC03 D5 - - - push de + 29 D1:BC04 CD F0 07 02 call _NewLine + 30 D1:BC08 D1 - - - pop de + 31 D1:BC09 C1 - - - pop bc + 32 D1:BC0A E1 - - - pop hl + 33 D1:BC0B 0E 00 - - ld c, 0 + 34 D1:BC0D 18 06 - - jr fshcmdVARSfLoopEnd + 35 D1:BC0F - - - - fshcmdVARSfLoopU: + 36 D1:BC0F 3E 5F - - ld a, '_' + 37 D1:BC11 CD B8 07 02 call _PutC + 38 D1:BC15 - - - - fshcmdVARSfLoopEnd: + 39 D1:BC15 04 - - - inc b + 40 D1:BC16 13 - - - inc de + 41 D1:BC17 78 - - - ld a, b + 42 D1:BC18 FE 40 - - cp FshVarsSize / 2 + 43 D1:BC1A 38 D1 - - jr c, fshcmdVARSfLoop + 44 D1:BC1C C3 DB A8 D1 jp Fin Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 8 D1:BC06 - - - - #include "includes/FshCommands/SLEEP.asm" + 8 D1:BC20 - - - - #include "includes/FshCommands/SLEEP.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\SLEEP.asm" - 1 D1:BC06 53 4C 45 45 + 1 D1:BC20 53 4C 45 45 50 00 - - fshcmdSLEEP: .db "SLEEP", 0 - 2 D1:BC0C 16 - - - fshcmdSLEEPo: .db $16 - 3 D1:BC0D 50 75 74 73 + 2 D1:BC26 16 - - - fshcmdSLEEPo: .db $16 + 3 D1:BC27 50 75 74 73 20 74 68 65 20 63 61 6C 63 75 6C 61 @@ -2880,26 +2906,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:BC37 53 4C 45 45 + 4 D1:BC51 53 4C 45 45 50 00 - - fshcmdSLEEPu: .db "SLEEP", 0 - 5 D1:BC3D - - - - fshcmdSLEEPf: - 6 D1:BC3D F3 - - - di - 7 D1:BC3E CD 38 11 02 call _EnableAPD - 8 D1:BC42 3E 01 - - ld a,1 - 9 D1:BC44 21 90 05 D0 ld hl,apdSubTimer - 10 D1:BC48 77 - - - ld (hl),a - 11 D1:BC49 23 - - - inc hl - 12 D1:BC4A 77 - - - ld (hl),a - 13 D1:BC4B FD CB 08 DE set apdRunning,(iy+apdFlags) - 14 D1:BC4F FB - - - ei - 15 D1:BC50 C3 DB A8 D1 jp Fin + 5 D1:BC57 - - - - fshcmdSLEEPf: + 6 D1:BC57 F3 - - - di + 7 D1:BC58 CD 38 11 02 call _EnableAPD + 8 D1:BC5C 3E 01 - - ld a,1 + 9 D1:BC5E 21 90 05 D0 ld hl,apdSubTimer + 10 D1:BC62 77 - - - ld (hl),a + 11 D1:BC63 23 - - - inc hl + 12 D1:BC64 77 - - - ld (hl),a + 13 D1:BC65 FD CB 08 DE set apdRunning,(iy+apdFlags) + 14 D1:BC69 FB - - - ei + 15 D1:BC6A C3 DB A8 D1 jp Fin Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" - 9 D1:BC54 - - - - #include "includes/FshCommands/INFO.asm" + 9 D1:BC6E - - - - #include "includes/FshCommands/INFO.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\INFO.asm" - 1 D1:BC54 49 4E 46 4F + 1 D1:BC6E 49 4E 46 4F 00 - - - fshcmdINFO: .db "INFO", 0 - 2 D1:BC59 20 - - - fshcmdINFOo: .db $20 - 3 D1:BC5A 44 69 73 70 + 2 D1:BC73 20 - - - fshcmdINFOo: .db $20 + 3 D1:BC74 44 69 73 70 6C 61 79 73 20 53 79 65 74 65 6D 20 @@ -2909,166 +2935,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:BC80 49 4E 46 4F + 4 D1:BC9A 49 4E 46 4F 00 - - - fshcmdINFOu: .db "INFO", 0 - 5 D1:BC85 - - - - fshcmdINFOf: - 6 D1:BC85 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:BC89 CB 46 - - bit 0, (hl) - 8 D1:BC8B 28 0C - - jr z, fshcmdINFOfExe - 9 D1:BC8D 21 C0 B2 D1 ld hl, ErrUsageo - 10 D1:BC91 CD 2B B2 D1 call ErrSet - 11 D1:BC95 CD DE B1 D1 call ErrCatch - 12 D1:BC99 - - - - fshcmdINFOfExe: - 13 D1:BC99 CD 08 08 02 call _ClrLCDFull - 14 D1:BC9D AF - - - xor a - 15 D1:BC9E 32 95 05 D0 ld (CurRow), a - 16 D1:BCA2 32 96 05 D0 ld (CurCol), a - 17 D1:BCA6 - - - - - 18 D1:BCA6 CD 0D B3 D1 call printfshnamelong - 19 D1:BCAA CD F0 07 02 call _NewLine - 20 D1:BCAE - - - - - 21 D1:BCAE 21 06 A9 D1 ld hl, FshBy - 22 D1:BCB2 CD C0 07 02 call _PutS - 23 D1:BCB6 CD F0 07 02 call _NewLine - 24 D1:BCBA - - - - - 25 D1:BCBA 21 10 A9 D1 ld hl, FshSite - 26 D1:BCBE CD C0 07 02 call _PutS - 27 D1:BCC2 CD F0 07 02 call _NewLine - 28 D1:BCC6 - - - - - 29 D1:BCC6 CD F0 07 02 call _NewLine - 30 D1:BCCA 21 EE BC D1 ld hl, fshcmdINFOfSPS1 - 31 D1:BCCE CD C0 07 02 call _PutS - 32 D1:BCD2 3E 27 - - ld a, $27 - 33 D1:BCD4 CD B8 07 02 call _PutC - 34 D1:BCD8 21 2B A9 D1 ld hl, PS1 - 35 D1:BCDC CD C0 07 02 call _PutS - 36 D1:BCE0 3E 27 - - ld a, $27 - 37 D1:BCE2 CD B8 07 02 call _PutC - 38 D1:BCE6 CD F0 07 02 call _NewLine - 39 D1:BCEA - - - - - 40 D1:BCEA C3 DB A8 D1 jp Fin - 41 D1:BCEE - - - - - 42 D1:BCEE 50 53 31 CE + 5 D1:BC9F - - - - fshcmdINFOf: + 6 D1:BC9F 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:BCA3 CB 46 - - bit 0, (hl) + 8 D1:BCA5 28 0C - - jr z, fshcmdINFOfExe + 9 D1:BCA7 21 CF B2 D1 ld hl, ErrUsageo + 10 D1:BCAB CD 3A B2 D1 call ErrSet + 11 D1:BCAF CD ED B1 D1 call ErrCatch + 12 D1:BCB3 - - - - fshcmdINFOfExe: + 13 D1:BCB3 CD 08 08 02 call _ClrLCDFull + 14 D1:BCB7 AF - - - xor a + 15 D1:BCB8 32 95 05 D0 ld (CurRow), a + 16 D1:BCBC 32 96 05 D0 ld (CurCol), a + 17 D1:BCC0 - - - - + 18 D1:BCC0 CD 1C B3 D1 call printfshnamelong + 19 D1:BCC4 CD F0 07 02 call _NewLine + 20 D1:BCC8 - - - - + 21 D1:BCC8 21 06 A9 D1 ld hl, FshBy + 22 D1:BCCC CD C0 07 02 call _PutS + 23 D1:BCD0 CD F0 07 02 call _NewLine + 24 D1:BCD4 - - - - + 25 D1:BCD4 21 10 A9 D1 ld hl, FshSite + 26 D1:BCD8 CD C0 07 02 call _PutS + 27 D1:BCDC CD F0 07 02 call _NewLine + 28 D1:BCE0 - - - - + 29 D1:BCE0 CD F0 07 02 call _NewLine + 30 D1:BCE4 21 08 BD D1 ld hl, fshcmdINFOfSPS1 + 31 D1:BCE8 CD C0 07 02 call _PutS + 32 D1:BCEC 3E 27 - - ld a, $27 + 33 D1:BCEE CD B8 07 02 call _PutC + 34 D1:BCF2 21 2B A9 D1 ld hl, PS1 + 35 D1:BCF6 CD C0 07 02 call _PutS + 36 D1:BCFA 3E 27 - - ld a, $27 + 37 D1:BCFC CD B8 07 02 call _PutC + 38 D1:BD00 CD F0 07 02 call _NewLine + 39 D1:BD04 - - - - + 40 D1:BD04 C3 DB A8 D1 jp Fin + 41 D1:BD08 - - - - + 42 D1:BD08 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:BCF6 - - - - #include "includes/FshCommands/HELP.asm" + 10 D1:BD10 - - - - #include "includes/FshCommands/HELP.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\HELP.asm" - 1 D1:BCF6 48 45 4C 50 + 1 D1:BD10 48 45 4C 50 00 - - - fshcmdHELP: .db "HELP", 0 - 2 D1:BCFB 21 - - - fshcmdHELPo: .db $21 - 3 D1:BCFC 44 69 73 70 + 2 D1:BD15 21 - - - fshcmdHELPo: .db $21 + 3 D1:BD16 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:BD12 48 45 4C 50 + 4 D1:BD2C 48 45 4C 50 00 - - - fshcmdHELPu: .db "HELP", 0 - 5 D1:BD17 - - - - fshcmdHELPf: - 6 D1:BD17 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:BD1B CB 46 - - bit 0, (hl) - 8 D1:BD1D 28 0C - - jr z, fshcmdHELPfExe - 9 D1:BD1F 21 C0 B2 D1 ld hl, ErrUsageo - 10 D1:BD23 CD 2B B2 D1 call ErrSet - 11 D1:BD27 CD DE B1 D1 call ErrCatch - 12 D1:BD2B - - - - fshcmdHELPfExe: - 13 D1:BD2B 21 F1 BD D1 ld hl, fshcmdHELPfLine1 - 14 D1:BD2F CD C0 07 02 call _PutS - 15 D1:BD33 CD F0 07 02 call _NewLine - 16 D1:BD37 - - - - - 17 D1:BD37 - - - - #macro fshcmdHELPmRow1(cmdXs) - 18 D1:BD37 xor a - 19 D1:BD37 ld (curCol), a - 20 D1:BD37 ld hl, cmdXs - 21 D1:BD37 call _PutS - 22 D1:BD37 call _NewLine - 23 D1:BD37 #endmacro - 24 D1:BD37 - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs) - 25 D1:BD37 xor a - 26 D1:BD37 ld (curCol), a - 27 D1:BD37 ld hl, cmdXs - 28 D1:BD37 call _PutS - 29 D1:BD37 ld a, 9 - 30 D1:BD37 ld (curcol), a - 31 D1:BD37 ld hl, cmdYs - 32 D1:BD37 call _PutS - 33 D1:BD37 call _NewLine - 34 D1:BD37 #endmacro - 35 D1:BD37 - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs) - 36 D1:BD37 xor a - 37 D1:BD37 ld (curCol), a - 38 D1:BD37 ld hl, cmdXs - 39 D1:BD37 call _PutS - 40 D1:BD37 ld a, 9 - 41 D1:BD37 ld (curcol), a - 42 D1:BD37 ld hl, cmdYs - 43 D1:BD37 call _PutS - 44 D1:BD37 ld a, 19 - 45 D1:BD37 ld (curcol), a - 46 D1:BD37 ld hl, cmdZs - 47 D1:BD37 call _PutS - 48 D1:BD37 call _NewLine - 49 D1:BD37 #endmacro - 50 D1:BD37 - - - - - 51 D1:BD37 AF 32 96 05 - D0 21 94 B7 + 5 D1:BD31 - - - - fshcmdHELPf: + 6 D1:BD31 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:BD35 CB 46 - - bit 0, (hl) + 8 D1:BD37 28 0C - - jr z, fshcmdHELPfExe + 9 D1:BD39 21 CF B2 D1 ld hl, ErrUsageo + 10 D1:BD3D CD 3A B2 D1 call ErrSet + 11 D1:BD41 CD ED B1 D1 call ErrCatch + 12 D1:BD45 - - - - fshcmdHELPfExe: + 13 D1:BD45 21 0B BE D1 ld hl, fshcmdHELPfLine1 + 14 D1:BD49 CD C0 07 02 call _PutS + 15 D1:BD4D CD F0 07 02 call _NewLine + 16 D1:BD51 - - - - + 17 D1:BD51 - - - - #macro fshcmdHELPmRow1(cmdXs) + 18 D1:BD51 xor a + 19 D1:BD51 ld (curCol), a + 20 D1:BD51 ld hl, cmdXs + 21 D1:BD51 call _PutS + 22 D1:BD51 call _NewLine + 23 D1:BD51 #endmacro + 24 D1:BD51 - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs) + 25 D1:BD51 xor a + 26 D1:BD51 ld (curCol), a + 27 D1:BD51 ld hl, cmdXs + 28 D1:BD51 call _PutS + 29 D1:BD51 ld a, 9 + 30 D1:BD51 ld (curcol), a + 31 D1:BD51 ld hl, cmdYs + 32 D1:BD51 call _PutS + 33 D1:BD51 call _NewLine + 34 D1:BD51 #endmacro + 35 D1:BD51 - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs) + 36 D1:BD51 xor a + 37 D1:BD51 ld (curCol), a + 38 D1:BD51 ld hl, cmdXs + 39 D1:BD51 call _PutS + 40 D1:BD51 ld a, 9 + 41 D1:BD51 ld (curcol), a + 42 D1:BD51 ld hl, cmdYs + 43 D1:BD51 call _PutS + 44 D1:BD51 ld a, 19 + 45 D1:BD51 ld (curcol), a + 46 D1:BD51 ld hl, cmdZs + 47 D1:BD51 call _PutS + 48 D1:BD51 call _NewLine + 49 D1:BD51 #endmacro + 50 D1:BD51 - - - - + 51 D1:BD51 AF 32 96 05 + D0 21 AE B7 D1 CD C0 07 02 3E 09 32 96 05 D0 21 - AD B7 D1 CD + C7 B7 D1 CD C0 07 02 3E 13 32 96 05 - D0 21 A4 B8 + D0 21 BE B8 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:BD64 AF 32 96 05 - D0 21 B2 B9 + 52 D1:BD7E AF 32 96 05 + D0 21 CC B9 D1 CD C0 07 02 3E 09 32 96 05 D0 21 - C8 BA D1 CD + E2 BA D1 CD C0 07 02 3E 13 32 96 05 - D0 21 F4 BA + D0 21 0E BB D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdMOVE, fshcmdCLS, fshcmdVAR) - 53 D1:BD91 AF 32 96 05 - D0 21 96 BB + 53 D1:BDAB AF 32 96 05 + D0 21 B0 BB D1 CD C0 07 02 3E 09 32 96 05 D0 21 - 06 BC D1 CD + 20 BC D1 CD C0 07 02 3E 13 32 96 05 - D0 21 54 BC + D0 21 6E BC D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdVARS, fshcmdSLEEP, fshcmdINFO) - 54 D1:BDBE AF 32 96 05 - D0 21 F6 BC + 54 D1:BDD8 AF 32 96 05 + D0 21 10 BD D1 CD C0 07 02 3E 09 32 96 05 D0 21 - 2A BE D1 CD + 44 BE D1 CD C0 07 02 CD F0 07 02 - fshcmdHELPmRow2(fshcmdHELP, fshcmdMAN) - 55 D1:BDDD - - - - ; Extention Point - 56 D1:BDDD - - - - - 57 D1:BDDD CD F0 07 02 call _NewLine - 58 D1:BDE1 21 05 BE D1 ld hl, fshcmdHELPfLine2 - 59 D1:BDE5 CD C0 07 02 call _PutS - 60 D1:BDE9 CD F0 07 02 call _NewLine - 61 D1:BDED C3 DB A8 D1 jp Fin - 62 D1:BDF1 - - - - - 63 D1:BDF1 41 76 61 69 + 55 D1:BDF7 - - - - ; Extention Point + 56 D1:BDF7 - - - - + 57 D1:BDF7 CD F0 07 02 call _NewLine + 58 D1:BDFB 21 1F BE D1 ld hl, fshcmdHELPfLine2 + 59 D1:BDFF CD C0 07 02 call _PutS + 60 D1:BE03 CD F0 07 02 call _NewLine + 61 D1:BE07 C3 DB A8 D1 jp Fin + 62 D1:BE0B - - - - + 63 D1:BE0B 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:BE05 54 79 70 65 + 64 D1:BE1F 54 79 70 65 20 27 4D 41 4E 27 20 61 6E 64 20 63 @@ -3079,11 +3105,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:BE2A - - - - #include "includes/FshCommands/MAN.asm" + 11 D1:BE44 - - - - #include "includes/FshCommands/MAN.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\MAN.asm" - 1 D1:BE2A 4D 41 4E 00 fshcmdMAN: .db "MAN", 0 - 2 D1:BE2E 22 - - - fshcmdMANo: .db $22 - 3 D1:BE2F 44 69 73 70 + 1 D1:BE44 4D 41 4E 00 fshcmdMAN: .db "MAN", 0 + 2 D1:BE48 22 - - - fshcmdMANo: .db $22 + 3 D1:BE49 44 69 73 70 6C 61 79 73 20 4D 41 4E 20 74 65 78 @@ -3091,120 +3117,201 @@ 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:BE4D 4D 41 4E 20 + 4 D1:BE67 4D 41 4E 20 3C 63 6F 6D 6D 61 6E 64 3E 00 - - fshcmdMANu: .db "MAN ", 0 - 5 D1:BE5B - - - - fshcmdMANf: - 6 D1:BE5B - - - - fshcmdMANfCheckArgs: - 7 D1:BE5B 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BE5F CB 46 - - bit 0, (hl) - 9 D1:BE61 28 10 - - jr z, fshcmdMANfArg0Get - 10 D1:BE63 CB 4E - - bit 1, (hl) - 11 D1:BE65 28 24 - - jr z, fshcmdMANfExe - 12 D1:BE67 21 C0 B2 D1 ld hl, ErrUsageo - 13 D1:BE6B CD 2B B2 D1 call ErrSet - 14 D1:BE6F CD DE B1 D1 call ErrCatch - 15 D1:BE73 - - - - fshcmdMANfArg0Get: - 16 D1:BE73 21 08 BF D1 ld hl, fshcmdMANfPrompt - 17 D1:BE77 CD 89 AA D1 call printprompt - 18 D1:BE7B - - - - - 19 D1:BE7B 21 A8 EA D0 ld hl, FshCmdArg0 - 20 D1:BE7F 11 08 00 00 ld de, FshCmdCmdSize - 21 D1:BE83 CD 77 AC D1 call inputstr - 22 D1:BE87 CD F0 07 02 call _NewLine - 23 D1:BE8B - - - - - 24 D1:BE8B - - - - fshcmdMANfExe: - 25 D1:BE8B 21 A8 EA D0 ld hl, FshCmdArg0 - 26 D1:BE8F 11 9F EA D0 ld de, FshCmd - 27 D1:BE93 CD 4E AB D1 call strcpy - 28 D1:BE97 - - - - - 29 D1:BE97 21 F7 BE D1 ld hl, fshcmdMANfPrefix - 30 D1:BE9B CD C0 07 02 call _PutS - 31 D1:BE9F - - - - - 32 D1:BE9F 21 9F EA D0 ld hl, FshCmd - 33 D1:BEA3 CD C0 07 02 call _PutS - 34 D1:BEA7 CD F0 07 02 call _NewLine - 35 D1:BEAB CD F0 07 02 call _NewLine - 36 D1:BEAF - - - - - 37 D1:BEAF 21 9F EA D0 ld hl, FshCmd - 38 D1:BEB3 CD 79 B4 D1 call manroute - 39 D1:BEB7 11 00 00 00 ld de, $00 - 40 D1:BEBB CD 6D A9 D1 call cpHLDE - 41 D1:BEBF CA DF A8 D1 jp z, Err - 42 D1:BEC3 - - - - - 43 D1:BEC3 CD C0 07 02 call _PutS - 44 D1:BEC7 CD F0 07 02 call _NewLine - 45 D1:BECB CD F0 07 02 call _NewLine - 46 D1:BECF - - - - - 47 D1:BECF 21 00 BF D1 ld hl, fshcmdMANfUsage - 48 D1:BED3 CD C0 07 02 call _PutS - 49 D1:BED7 - - - - - 50 D1:BED7 21 9F EA D0 ld hl, FshCmd - 51 D1:BEDB CD 8F B4 D1 call manrouteu - 52 D1:BEDF 11 00 00 00 ld de, $00 - 53 D1:BEE3 CD 6D A9 D1 call cpHLDE - 54 D1:BEE7 CA DF A8 D1 jp z, Err - 55 D1:BEEB CD C0 07 02 call _PutS - 56 D1:BEEF CD F0 07 02 call _NewLine - 57 D1:BEF3 - - - - - 58 D1:BEF3 C3 DB A8 D1 jp Fin - 59 D1:BEF7 - - - - - 60 D1:BEF7 4D 41 4E 2D + 5 D1:BE75 - - - - fshcmdMANf: + 6 D1:BE75 - - - - fshcmdMANfCheckArgs: + 7 D1:BE75 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BE79 CB 46 - - bit 0, (hl) + 9 D1:BE7B 28 10 - - jr z, fshcmdMANfArg0Get + 10 D1:BE7D CB 4E - - bit 1, (hl) + 11 D1:BE7F 28 24 - - jr z, fshcmdMANfExe + 12 D1:BE81 21 CF B2 D1 ld hl, ErrUsageo + 13 D1:BE85 CD 3A B2 D1 call ErrSet + 14 D1:BE89 CD ED B1 D1 call ErrCatch + 15 D1:BE8D - - - - fshcmdMANfArg0Get: + 16 D1:BE8D 21 22 BF D1 ld hl, fshcmdMANfPrompt + 17 D1:BE91 CD 98 AA D1 call printprompt + 18 D1:BE95 - - - - + 19 D1:BE95 21 A8 EA D0 ld hl, FshCmdArg0 + 20 D1:BE99 11 08 00 00 ld de, FshCmdCmdSize + 21 D1:BE9D CD 86 AC D1 call inputstr + 22 D1:BEA1 CD F0 07 02 call _NewLine + 23 D1:BEA5 - - - - + 24 D1:BEA5 - - - - fshcmdMANfExe: + 25 D1:BEA5 21 A8 EA D0 ld hl, FshCmdArg0 + 26 D1:BEA9 11 9F EA D0 ld de, FshCmd + 27 D1:BEAD CD 5D AB D1 call strcpy + 28 D1:BEB1 - - - - + 29 D1:BEB1 21 11 BF D1 ld hl, fshcmdMANfPrefix + 30 D1:BEB5 CD C0 07 02 call _PutS + 31 D1:BEB9 - - - - + 32 D1:BEB9 21 9F EA D0 ld hl, FshCmd + 33 D1:BEBD CD C0 07 02 call _PutS + 34 D1:BEC1 CD F0 07 02 call _NewLine + 35 D1:BEC5 CD F0 07 02 call _NewLine + 36 D1:BEC9 - - - - + 37 D1:BEC9 21 9F EA D0 ld hl, FshCmd + 38 D1:BECD CD 93 B4 D1 call manroute + 39 D1:BED1 11 00 00 00 ld de, $00 + 40 D1:BED5 CD 6D A9 D1 call cpHLDE + 41 D1:BED9 CA DF A8 D1 jp z, Err + 42 D1:BEDD - - - - + 43 D1:BEDD CD C0 07 02 call _PutS + 44 D1:BEE1 CD F0 07 02 call _NewLine + 45 D1:BEE5 CD F0 07 02 call _NewLine + 46 D1:BEE9 - - - - + 47 D1:BEE9 21 1A BF D1 ld hl, fshcmdMANfUsage + 48 D1:BEED CD C0 07 02 call _PutS + 49 D1:BEF1 - - - - + 50 D1:BEF1 21 9F EA D0 ld hl, FshCmd + 51 D1:BEF5 CD A9 B4 D1 call manrouteu + 52 D1:BEF9 11 00 00 00 ld de, $00 + 53 D1:BEFD CD 6D A9 D1 call cpHLDE + 54 D1:BF01 CA DF A8 D1 jp z, Err + 55 D1:BF05 CD C0 07 02 call _PutS + 56 D1:BF09 CD F0 07 02 call _NewLine + 57 D1:BF0D - - - - + 58 D1:BF0D C3 DB A8 D1 jp Fin + 59 D1:BF11 - - - - + 60 D1:BF11 4D 41 4E 2D 44 42 DF 20 00 - - - fshcmdMANfPrefix: .db "MAN-DB", $DF, ' ', 0 - 61 D1:BF00 55 73 61 67 + 61 D1:BF1A 55 73 61 67 65 3A 20 00 fshcmdMANfUsage: .db "Usage: ",0 - 62 D1:BF08 43 6F 6D 6D + 62 D1:BF22 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:BF12 - - - - #include "includes/CryptoCommands/CryptoCommand.asm" + 31 D1:BF2C - - - - #include "includes/CryptoCommands/CryptoCommand.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm" - 1 D1:BF12 - - - - cryptocmddecode: - 2 D1:BF12 E5 D5 11 5C - BF D1 CD 3B - AB D1 21 60 + 1 D1:BF2C - - - - cryptocmddecode: + 2 D1:BF2C E5 D5 11 B2 + BF D1 CD 4A + AB D1 21 BA BF D1 D1 CC - CB A9 D1 E1 decodecmdopt(cryptocmdROT, cryptocmdROTo) + DA A9 D1 E1 decodecmdopt(cryptocmdENCRYPT, cryptocmdENCRYPTo) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm" - 3 D1:BF26 C9 - - - ret - 4 D1:BF27 - - - - - 5 D1:BF27 - - - - cryptocmdroute: - 6 D1:BF27 C1 - - - pop bc - 7 D1:BF28 11 60 BF D1 - CD C3 A9 D1 - CA A4 BF D1 routeoptjp(cryptocmdROTo, cryptocmdROTf) - 8 D1:BF34 C5 - - - push bc - 9 D1:BF35 C9 - - - ret - 10 D1:BF36 - - - - - 11 D1:BF36 - - - - cryptocmdmanroute: - 12 D1:BF36 C1 - - - pop bc - 13 D1:BF37 11 5C BF D1 - CD 3B AB D1 - 11 61 BF D1 - CA 8C B4 D1 routestrjp(cryptocmdROT, cryptocmdROTm) - 14 D1:BF47 C5 - - - push bc - 15 D1:BF48 C9 - - - ret - 16 D1:BF49 - - - - - 17 D1:BF49 - - - - cryptocmdmanrouteu: - 18 D1:BF49 C1 - - - pop bc - 19 D1:BF4A 11 5C BF D1 - CD 3B AB D1 - 11 97 BF D1 - CA A2 B4 D1 routeustrjp(cryptocmdROT, cryptocmdROTu) - 20 D1:BF5A C5 - - - push bc - 21 D1:BF5B C9 - - - ret - 22 D1:BF5C - - - - - 23 D1:BF5C - - - - #include "includes/CryptoCommands/CryptoCommands.inc" + 3 D1:BF40 E5 D5 11 82 + C1 D1 CD 4A + AB D1 21 8A + C1 D1 D1 CC + DA A9 D1 E1 decodecmdopt(cryptocmdDECRYPT, cryptocmdDECRYPTo) + 4 D1:BF54 C9 - - - ret + 5 D1:BF55 - - - - + 6 D1:BF55 - - - - cryptocmdroute: + 7 D1:BF55 C1 - - - pop bc + 8 D1:BF56 11 BA BF D1 + CD D2 A9 D1 + CA 1C C0 D1 routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf) + 9 D1:BF62 11 8A C1 D1 + CD D2 A9 D1 + CA F9 C1 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) + 10 D1:BF6E C5 - - - push bc + 11 D1:BF6F C9 - - - ret + 12 D1:BF70 - - - - + 13 D1:BF70 - - - - cryptocmdmanroute: + 14 D1:BF70 C1 - - - pop bc + 15 D1:BF71 11 B2 BF D1 + CD 4A AB D1 + 11 BB BF D1 + CA A6 B4 D1 routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm) + 16 D1:BF81 11 8A C1 D1 + CD D2 A9 D1 + CA F9 C1 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) + 17 D1:BF8D C5 - - - push bc + 18 D1:BF8E C9 - - - ret + 19 D1:BF8F - - - - + 20 D1:BF8F - - - - cryptocmdmanrouteu: + 21 D1:BF8F C1 - - - pop bc + 22 D1:BF90 11 B2 BF D1 + CD 4A AB D1 + 11 04 C0 D1 + CA BC B4 D1 routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu) + 23 D1:BFA0 11 8A C1 D1 + CD 4A AB D1 + 11 F9 C1 D1 + CA BC B4 D1 routeustrjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) + 24 D1:BFB0 C5 - - - push bc + 25 D1:BFB1 C9 - - - ret + 26 D1:BFB2 - - - - + 27 D1:BFB2 - - - - #include "includes/CryptoCommands/CryptoCommands.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" - 1 D1:BF5C - - - - #include "includes/CryptoCommands/ROT.asm" + 1 D1:BFB2 - - - - #include "includes/CryptoCommands/ENCRYPT.asm" +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ENCRYPT.asm" + 1 D1:BFB2 45 4E 43 52 + 59 50 54 00 cryptocmdENCRYPT: .db "ENCRYPT", 0 + 2 D1:BFBA 40 - - - cryptocmdENCRYPTo: .db $40 + 3 D1:BFBB 45 6E 63 72 + 79 70 74 73 + 20 61 20 73 + 74 72 69 6E + 67 20 75 73 + 69 6E 67 20 + 61 20 63 79 + 70 68 65 72 + 2E 20 73 65 + 65 20 27 45 + 4E 43 52 59 + 50 54 20 48 + 45 4C 50 27 + 20 66 6F 72 + 20 69 6E 66 + 6F 20 6F 6E + 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:C004 45 4E 43 52 + 59 50 54 20 + 3C 43 72 79 + 70 74 20 43 + 6F 6D 6D 61 + 6E 64 3E 00 cryptocmdENCRYPTu: .db "ENCRYPT ", 0 + 5 D1:C01C - - - - cryptocmdENCRYPTf: + 6 D1:C01C - - - - cryptocmdENCRYPTfArg0: + 7 D1:C01C 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:C020 CB 46 - - bit 0, (hl) + 9 D1:C022 28 10 - - jr z, cryptocmdENCRYPTfArg0Get + 10 D1:C024 CB 4E - - bit 1, (hl) + 11 D1:C026 28 24 - - jr z, cryptocmdENCRYPTfExe + 12 D1:C028 21 CF B2 D1 ld hl, ErrUsageo + 13 D1:C02C CD 3A B2 D1 call ErrSet + 14 D1:C030 CD ED B1 D1 call ErrCatch + 15 D1:C034 - - - - cryptocmdENCRYPTfArg0Get: + 16 D1:C034 21 7C C0 D1 ld hl, cryptocmdENCRYPTfSCypher + 17 D1:C038 CD 98 AA D1 call printprompt + 18 D1:C03C 21 A8 EA D0 ld hl, FshCmdArg0 + 19 D1:C040 11 2C 00 00 ld de, FshCmdInptSize + 20 D1:C044 CD 86 AC D1 call inputstr + 21 D1:C048 CD F0 07 02 call _NewLine + 22 D1:C04C - - - - cryptocmdENCRYPTfExe: + 23 D1:C04C 21 A8 EA D0 ld hl, FshCmdArg0 + 24 D1:C050 11 85 C0 D1 ld de, cryptocmdROT + 25 D1:C054 CD 4A AB D1 call strcmp + 26 D1:C058 CA CC C0 D1 jp z, cryptocmdROTf + 27 D1:C05C - - - - + 28 D1:C05C 21 A8 EA D0 ld hl, FshCmdArg0 + 29 D1:C060 11 9F EA D0 ld de, FshCmd + 30 D1:C064 CD 5D AB D1 call strcpy + 31 D1:C068 - - - - + 32 D1:C068 21 49 B2 D1 ld hl, ErrCmdNotFoundo + 33 D1:C06C 11 CE EA D0 ld de, FshCmdErrCode + 34 D1:C070 CD DA A9 D1 call bytecpy + 35 D1:C074 CD 3A B2 D1 call ErrSet + 36 D1:C078 C3 DF A8 D1 jp Err + 37 D1:C07C - - - - + 38 D1:C07C 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:C085 - - - - #include "includes/CryptoCommands/ROT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ROT.asm" - 1 D1:BF5C 52 4F 54 00 cryptocmdROT: .db "ROT", 0 - 2 D1:BF60 40 - - - cryptocmdROTo: .db $40 - 3 D1:BF61 52 4F 54 20 + 1 D1:C085 52 4F 54 00 cryptocmdROT: .db "ROT", 0 + 2 D1:C089 52 4F 54 20 43 79 70 68 65 72 2C 20 72 6F 74 61 @@ -3218,68 +3325,232 @@ Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Cr 20 61 20 73 74 72 69 6E 67 00 - - cryptocmdROTm: .db "ROT Cypher, rotates the alphabet and encodes a string", 0 - 4 D1:BF97 52 4F 54 20 + 3 D1:C0BF 52 4F 54 20 3C 73 68 69 66 74 23 3E 00 - - - cryptocmdROTu: .db "ROT ", 0 - 5 D1:BFA4 - - - - cryptocmdROTf: - 6 D1:BFA4 - - - - cryptocmdROTfArg0: - 7 D1:BFA4 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BFA8 CB 4E - - bit 1, (hl) - 9 D1:BFAA 20 32 - - jr nz, cryptocmdROTfArg1 - 10 D1:BFAC CB 46 - - bit 0, (hl) - 11 D1:BFAE 28 0C - - jr z, cryptocmdROTfArg0Get - 12 D1:BFB0 21 C0 B2 D1 ld hl, ErrUsageo - 13 D1:BFB4 CD 2B B2 D1 call ErrSet - 14 D1:BFB8 CD DE B1 D1 call ErrCatch - 15 D1:BFBC - - - - cryptocmdROTfArg0Get: - 16 D1:BFBC 21 35 C0 D1 ld hl, cryptocmdROTfDShift - 17 D1:BFC0 CD 89 AA D1 call printprompt - 18 D1:BFC4 21 A8 EA D0 ld hl, FshCmdArg0 - 19 D1:BFC8 11 03 00 00 ld de, 3 - 20 D1:BFCC CD AF AE D1 call inputnumstr - 21 D1:BFD0 CD C5 AB D1 call strtow - 22 D1:BFD4 11 A8 EA D0 ld de, FshCmdArg0 - 23 D1:BFD8 EB - - - ex de, hl - 24 D1:BFD9 73 - - - ld (hl), e - 25 D1:BFDA CD F0 07 02 call _NewLine - 26 D1:BFDE - - - - cryptocmdROTfArg1: - 27 D1:BFDE 18 24 - - jr cryptocmdROTfArg1Get - 28 D1:BFE0 21 B1 EA D0 ld hl, FshCmdArg1 - 29 D1:BFE4 11 CF EA D0 ld de, FshScratch - 30 D1:BFE8 CD 4E AB D1 call strcpy - 31 D1:BFEC 21 CD EA D0 ld hl, FshCmdArgFlags - 32 D1:BFF0 CB 5E - - bit 3, (hl) - 33 D1:BFF2 28 28 - - jr z, cryptocmdROTfExe - 34 D1:BFF4 CB 56 - - bit 2, (hl) - 35 D1:BFF6 28 0C - - jr z, cryptocmdROTfArg1Get - 36 D1:BFF8 21 C0 B2 D1 ld hl, ErrUsageo - 37 D1:BFFC CD 2B B2 D1 call ErrSet - 38 D1:C000 CD DE B1 D1 call ErrCatch - 39 D1:C004 - - - - cryptocmdROTfArg1Get: - 40 D1:C004 21 3D C0 D1 ld hl, cryptocmdROTfDMessage - 41 D1:C008 CD 89 AA D1 call printprompt - 42 D1:C00C 21 CF EA D0 ld hl, FshScratch - 43 D1:C010 11 10 00 00 ld de, FshScratchSize - 4 - 44 D1:C014 CD 77 AC D1 call inputstr - 45 D1:C018 CD F0 07 02 call _NewLine - 46 D1:C01C - - - - cryptocmdROTfExe: - 47 D1:C01C 21 A8 EA D0 ld hl, FshCmdArg0 - 48 D1:C020 7E - - - ld a, (hl) - 49 D1:C021 21 CF EA D0 ld hl, FshScratch - 50 D1:C025 CD F6 B3 D1 call rotletencrypt - 51 D1:C029 CD C0 07 02 call _PutS - 52 D1:C02D CD F0 07 02 call _NewLine - 53 D1:C031 C3 DB A8 D1 jp Fin - 54 D1:C035 - - - - - 55 D1:C035 53 68 69 66 + 4 D1:C0CC - - - - cryptocmdROTf: + 5 D1:C0CC - - - - cryptocmdROTfArg1: + 6 D1:C0CC 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C0D0 CB 5E - - bit 3, (hl) + 8 D1:C0D2 20 32 - - jr nz, cryptocmdROTfArg2 + 9 D1:C0D4 CB 56 - - bit 2, (hl) + 10 D1:C0D6 28 0C - - jr z, cryptocmdROTfArg1Get + 11 D1:C0D8 21 CF B2 D1 ld hl, ErrUsageo + 12 D1:C0DC CD 3A B2 D1 call ErrSet + 13 D1:C0E0 CD ED B1 D1 call ErrCatch + 14 D1:C0E4 - - - - cryptocmdROTfArg1Get: + 15 D1:C0E4 21 67 C1 D1 ld hl, cryptocmdROTfDShift + 16 D1:C0E8 CD 98 AA D1 call printprompt + 17 D1:C0EC 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:C0F0 11 03 00 00 ld de, 3 + 19 D1:C0F4 CD BE AE D1 call inputnumstr + 20 D1:C0F8 CD D4 AB D1 call strtow + 21 D1:C0FC 11 B1 EA D0 ld de, FshCmdArg1 + 22 D1:C100 EB - - - ex de, hl + 23 D1:C101 73 - - - ld (hl), e + 24 D1:C102 CD F0 07 02 call _NewLine + 25 D1:C106 - - - - cryptocmdROTfArg2: + 26 D1:C106 18 24 - - jr cryptocmdROTfArg2Get + 27 D1:C108 21 BA EA D0 ld hl, FshCmdArg2 + 28 D1:C10C 11 CF EA D0 ld de, FshScratch + 29 D1:C110 CD 5D AB D1 call strcpy + 30 D1:C114 21 CD EA D0 ld hl, FshCmdArgFlags + 31 D1:C118 CB 6E - - bit 5, (hl) + 32 D1:C11A 28 28 - - jr z, cryptocmdROTfExe + 33 D1:C11C CB 66 - - bit 4, (hl) + 34 D1:C11E 28 0C - - jr z, cryptocmdROTfArg2Get + 35 D1:C120 21 CF B2 D1 ld hl, ErrUsageo + 36 D1:C124 CD 3A B2 D1 call ErrSet + 37 D1:C128 CD ED B1 D1 call ErrCatch + 38 D1:C12C - - - - cryptocmdROTfArg2Get: + 39 D1:C12C 21 6F C1 D1 ld hl, cryptocmdROTfDMessage + 40 D1:C130 CD 98 AA D1 call printprompt + 41 D1:C134 21 CF EA D0 ld hl, FshScratch + 42 D1:C138 11 10 00 00 ld de, FshScratchSize - 4 + 43 D1:C13C CD AA AD D1 call inputcharstr + 44 D1:C140 CD F0 07 02 call _NewLine + 45 D1:C144 - - - - cryptocmdROTfExe: + 46 D1:C144 21 B1 EA D0 ld hl, FshCmdArg1 + 47 D1:C148 7E - - - ld a, (hl) + 48 D1:C149 21 CF EA D0 ld hl, FshScratch + 49 D1:C14D CD 05 B4 D1 call rotletencrypt + 50 D1:C151 E5 - - - push hl + 51 D1:C152 21 79 C1 D1 ld hl, cryptocmdROTfDResult + 52 D1:C156 CD C0 07 02 call _PutS + 53 D1:C15A E1 - - - pop hl + 54 D1:C15B CD C0 07 02 call _PutS + 55 D1:C15F CD F0 07 02 call _NewLine + 56 D1:C163 C3 DB A8 D1 jp Fin + 57 D1:C167 - - - - + 58 D1:C167 53 68 69 66 74 3D 20 00 cryptocmdROTfDShift: .db "Shift= ", 0 - 56 D1:C03D 4D 65 73 73 + 59 D1:C16F 4D 65 73 73 61 67 65 3D 20 00 - - cryptocmdROTfDMessage: .db "Message= ", 0 + 60 D1:C179 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:C182 - - - - + 4 D1:C182 - - - - #include "includes/CryptoCommands/DECRYPT.asm" +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\DECRYPT.asm" + 1 D1:C182 44 45 43 52 + 59 50 54 00 cryptocmdDECRYPT: .db "DECRYPT", 0 + 2 D1:C18A 41 - - - cryptocmdDECRYPTo: .db $41 + 3 D1:C18B 44 65 63 72 + 79 70 74 73 + 20 61 20 73 + 74 72 69 6E + 67 20 75 73 + 69 6E 67 20 + 61 20 63 79 + 70 68 65 72 + 2E 20 73 65 + 65 20 27 44 + 45 43 52 59 + 50 54 20 48 + 45 4C 50 27 + 20 66 6F 72 + 20 69 6E 66 + 6F 20 6F 6E + 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:C1D4 44 45 43 52 + 59 50 54 20 + 3C 43 72 79 + 70 74 20 43 + 6F 6D 6D 61 + 6E 64 3E 20 + 3C 43 72 79 + 70 74 20 41 + 72 67 73 3E + 00 - - - cryptocmdDECRYPTu: .db "DECRYPT ", 0 + 5 D1:C1F9 - - - - cryptocmdDECRYPTf: + 6 D1:C1F9 - - - - cryptocmdDECRYPTfArg0: + 7 D1:C1F9 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:C1FD CB 46 - - bit 0, (hl) + 9 D1:C1FF 28 10 - - jr z, cryptocmdDECRYPTfArg0Get + 10 D1:C201 CB 4E - - bit 1, (hl) + 11 D1:C203 28 24 - - jr z, cryptocmdDECRYPTfExe + 12 D1:C205 21 CF B2 D1 ld hl, ErrUsageo + 13 D1:C209 CD 3A B2 D1 call ErrSet + 14 D1:C20D CD ED B1 D1 call ErrCatch + 15 D1:C211 - - - - cryptocmdDECRYPTfArg0Get: + 16 D1:C211 21 59 C2 D1 ld hl, cryptocmdDECRYPTfSCypher + 17 D1:C215 CD 98 AA D1 call printprompt + 18 D1:C219 21 A8 EA D0 ld hl, FshCmdArg0 + 19 D1:C21D 11 2C 00 00 ld de, FshCmdInptSize + 20 D1:C221 CD 86 AC D1 call inputstr + 21 D1:C225 CD F0 07 02 call _NewLine + 22 D1:C229 - - - - cryptocmdDECRYPTfExe: + 23 D1:C229 21 A8 EA D0 ld hl, FshCmdArg0 + 24 D1:C22D 11 62 C2 D1 ld de, cryptocmdunROT + 25 D1:C231 CD 4A AB D1 call strcmp + 26 D1:C235 CA A9 C2 D1 jp z, cryptocmdunROTf + 27 D1:C239 - - - - + 28 D1:C239 21 A8 EA D0 ld hl, FshCmdArg0 + 29 D1:C23D 11 9F EA D0 ld de, FshCmd + 30 D1:C241 CD 5D AB D1 call strcpy + 31 D1:C245 - - - - + 32 D1:C245 21 49 B2 D1 ld hl, ErrCmdNotFoundo + 33 D1:C249 11 CE EA D0 ld de, FshCmdErrCode + 34 D1:C24D CD DA A9 D1 call bytecpy + 35 D1:C251 CD 3A B2 D1 call ErrSet + 36 D1:C255 C3 DF A8 D1 jp Err + 37 D1:C259 - - - - + 38 D1:C259 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" + 5 D1:C262 - - - - #include "includes/CryptoCommands/unROT.asm" +Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\unROT.asm" + 1 D1:C262 52 4F 54 00 cryptocmdunROT: .db "ROT", 0 + 2 D1:C266 52 4F 54 20 + 43 79 70 68 + 65 72 2C 20 + 72 6F 74 61 + 74 65 73 20 + 74 68 65 20 + 61 6C 70 68 + 61 62 65 74 + 20 61 6E 64 + 20 44 65 63 + 6F 64 65 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:C29C 52 4F 54 20 + 3C 73 68 69 + 66 74 23 3E + 00 - - - cryptocmdunROTu: .db "ROT ", 0 + 4 D1:C2A9 - - - - cryptocmdunROTf: + 5 D1:C2A9 - - - - cryptocmdunROTfArg1: + 6 D1:C2A9 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C2AD CB 5E - - bit 3, (hl) + 8 D1:C2AF 20 32 - - jr nz, cryptocmdunROTfArg2 + 9 D1:C2B1 CB 56 - - bit 2, (hl) + 10 D1:C2B3 28 0C - - jr z, cryptocmdunROTfArg1Get + 11 D1:C2B5 21 CF B2 D1 ld hl, ErrUsageo + 12 D1:C2B9 CD 3A B2 D1 call ErrSet + 13 D1:C2BD CD ED B1 D1 call ErrCatch + 14 D1:C2C1 - - - - cryptocmdunROTfArg1Get: + 15 D1:C2C1 21 44 C3 D1 ld hl, cryptocmdunROTfDShift + 16 D1:C2C5 CD 98 AA D1 call printprompt + 17 D1:C2C9 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:C2CD 11 03 00 00 ld de, 3 + 19 D1:C2D1 CD BE AE D1 call inputnumstr + 20 D1:C2D5 CD D4 AB D1 call strtow + 21 D1:C2D9 11 B1 EA D0 ld de, FshCmdArg1 + 22 D1:C2DD EB - - - ex de, hl + 23 D1:C2DE 73 - - - ld (hl), e + 24 D1:C2DF CD F0 07 02 call _NewLine + 25 D1:C2E3 - - - - cryptocmdunROTfArg2: + 26 D1:C2E3 18 24 - - jr cryptocmdunROTfArg2Get + 27 D1:C2E5 21 BA EA D0 ld hl, FshCmdArg2 + 28 D1:C2E9 11 CF EA D0 ld de, FshScratch + 29 D1:C2ED CD 5D AB D1 call strcpy + 30 D1:C2F1 21 CD EA D0 ld hl, FshCmdArgFlags + 31 D1:C2F5 CB 6E - - bit 5, (hl) + 32 D1:C2F7 28 28 - - jr z, cryptocmdunROTfExe + 33 D1:C2F9 CB 66 - - bit 4, (hl) + 34 D1:C2FB 28 0C - - jr z, cryptocmdunROTfArg2Get + 35 D1:C2FD 21 CF B2 D1 ld hl, ErrUsageo + 36 D1:C301 CD 3A B2 D1 call ErrSet + 37 D1:C305 CD ED B1 D1 call ErrCatch + 38 D1:C309 - - - - cryptocmdunROTfArg2Get: + 39 D1:C309 21 4C C3 D1 ld hl, cryptocmdunROTfDMessage + 40 D1:C30D CD 98 AA D1 call printprompt + 41 D1:C311 21 CF EA D0 ld hl, FshScratch + 42 D1:C315 11 10 00 00 ld de, FshScratchSize - 4 + 43 D1:C319 CD AA AD D1 call inputcharstr + 44 D1:C31D CD F0 07 02 call _NewLine + 45 D1:C321 - - - - cryptocmdunROTfExe: + 46 D1:C321 21 B1 EA D0 ld hl, FshCmdArg1 + 47 D1:C325 7E - - - ld a, (hl) + 48 D1:C326 21 CF EA D0 ld hl, FshScratch + 49 D1:C32A CD 2A B4 D1 call rotletdecrypt + 50 D1:C32E E5 - - - push hl + 51 D1:C32F 21 59 C3 D1 ld hl, cryptocmdunROTfDResult + 52 D1:C333 CD C0 07 02 call _PutS + 53 D1:C337 E1 - - - pop hl + 54 D1:C338 CD C0 07 02 call _PutS + 55 D1:C33C CD F0 07 02 call _NewLine + 56 D1:C340 C3 DB A8 D1 jp Fin + 57 D1:C344 - - - - + 58 D1:C344 53 68 69 66 + 74 3D 20 00 cryptocmdunROTfDShift: .db "Shift= ", 0 + 59 D1:C34C 43 79 70 68 + 65 72 54 65 + 78 74 3D 20 + 00 - - - cryptocmdunROTfDMessage: .db "CypherText= ", 0 + 60 D1:C359 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" 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" - 77 D1:C047 - - - - - 78 D1:C047 - - - - .end + 77 D1:C362 - - - - + 78 D1:C362 - - - - .end diff --git a/includes/CryptoCommands/CryptoCommand.asm b/includes/CryptoCommands/CryptoCommand.asm index 68bbac1..fbfee32 100644 --- a/includes/CryptoCommands/CryptoCommand.asm +++ b/includes/CryptoCommands/CryptoCommand.asm @@ -1,22 +1,26 @@ cryptocmddecode: - decodecmdopt(cryptocmdROT, cryptocmdROTo) + decodecmdopt(cryptocmdENCRYPT, cryptocmdENCRYPTo) + decodecmdopt(cryptocmdDECRYPT, cryptocmdDECRYPTo) ret cryptocmdroute: pop bc - routeoptjp(cryptocmdROTo, cryptocmdROTf) + routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf) + routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) push bc ret cryptocmdmanroute: pop bc - routestrjp(cryptocmdROT, cryptocmdROTm) + routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm) + routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) push bc ret cryptocmdmanrouteu: pop bc - routeustrjp(cryptocmdROT, cryptocmdROTu) + routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu) + routeustrjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) push bc ret diff --git a/includes/CryptoCommands/CryptoCommands.inc b/includes/CryptoCommands/CryptoCommands.inc index 0464658..617bf02 100644 --- a/includes/CryptoCommands/CryptoCommands.inc +++ b/includes/CryptoCommands/CryptoCommands.inc @@ -1 +1,5 @@ -#include "includes/CryptoCommands/ROT.asm" \ No newline at end of file +#include "includes/CryptoCommands/ENCRYPT.asm" +#include "includes/CryptoCommands/ROT.asm" + +#include "includes/CryptoCommands/DECRYPT.asm" +#include "includes/CryptoCommands/unROT.asm" \ No newline at end of file diff --git a/includes/CryptoCommands/DECRYPT.asm b/includes/CryptoCommands/DECRYPT.asm new file mode 100644 index 0000000..d86a6a4 --- /dev/null +++ b/includes/CryptoCommands/DECRYPT.asm @@ -0,0 +1,38 @@ +cryptocmdDECRYPT: .db "DECRYPT", 0 +cryptocmdDECRYPTo: .db $41 +cryptocmdDECRYPTm: .db "Decrypts a string using a cypher. see 'DECRYPT HELP' for info on cyphers", 0 +cryptocmdDECRYPTu: .db "DECRYPT ", 0 +cryptocmdDECRYPTf: +cryptocmdDECRYPTfArg0: + ld hl, FshCmdArgFlags + bit 0, (hl) + jr z, cryptocmdDECRYPTfArg0Get + bit 1, (hl) + jr z, cryptocmdDECRYPTfExe + ld hl, ErrUsageo + call ErrSet + call ErrCatch +cryptocmdDECRYPTfArg0Get: + ld hl, cryptocmdDECRYPTfSCypher + call printprompt + ld hl, FshCmdArg0 + ld de, FshCmdInptSize + call inputstr + call _NewLine +cryptocmdDECRYPTfExe: + ld hl, FshCmdArg0 + ld de, cryptocmdunROT + call strcmp + jp z, cryptocmdunROTf + + ld hl, FshCmdArg0 + ld de, FshCmd + call strcpy + + ld hl, ErrCmdNotFoundo + ld de, FshCmdErrCode + call bytecpy + call ErrSet + jp Err + +cryptocmdDECRYPTfSCypher: .db "Cypher= ", 0 diff --git a/includes/CryptoCommands/ENCRYPT.asm b/includes/CryptoCommands/ENCRYPT.asm new file mode 100644 index 0000000..a9d5569 --- /dev/null +++ b/includes/CryptoCommands/ENCRYPT.asm @@ -0,0 +1,38 @@ +cryptocmdENCRYPT: .db "ENCRYPT", 0 +cryptocmdENCRYPTo: .db $40 +cryptocmdENCRYPTm: .db "Encrypts a string using a cypher. see 'ENCRYPT HELP' for info on cyphers", 0 +cryptocmdENCRYPTu: .db "ENCRYPT ", 0 +cryptocmdENCRYPTf: +cryptocmdENCRYPTfArg0: + ld hl, FshCmdArgFlags + bit 0, (hl) + jr z, cryptocmdENCRYPTfArg0Get + bit 1, (hl) + jr z, cryptocmdENCRYPTfExe + ld hl, ErrUsageo + call ErrSet + call ErrCatch +cryptocmdENCRYPTfArg0Get: + ld hl, cryptocmdENCRYPTfSCypher + call printprompt + ld hl, FshCmdArg0 + ld de, FshCmdInptSize + call inputstr + call _NewLine +cryptocmdENCRYPTfExe: + ld hl, FshCmdArg0 + ld de, cryptocmdROT + call strcmp + jp z, cryptocmdROTf + + ld hl, FshCmdArg0 + ld de, FshCmd + call strcpy + + ld hl, ErrCmdNotFoundo + ld de, FshCmdErrCode + call bytecpy + call ErrSet + jp Err + +cryptocmdENCRYPTfSCypher: .db "Cypher= ", 0 diff --git a/includes/CryptoCommands/ROT.asm b/includes/CryptoCommands/ROT.asm index 5982ebd..99b9980 100644 --- a/includes/CryptoCommands/ROT.asm +++ b/includes/CryptoCommands/ROT.asm @@ -1,56 +1,60 @@ cryptocmdROT: .db "ROT", 0 -cryptocmdROTo: .db $40 cryptocmdROTm: .db "ROT Cypher, rotates the alphabet and encodes a string", 0 cryptocmdROTu: .db "ROT ", 0 cryptocmdROTf: -cryptocmdROTfArg0: - ld hl, FshCmdArgFlags - bit 1, (hl) - jr nz, cryptocmdROTfArg1 - bit 0, (hl) - jr z, cryptocmdROTfArg0Get - ld hl, ErrUsageo - call ErrSet - call ErrCatch -cryptocmdROTfArg0Get: - ld hl, cryptocmdROTfDShift - call printprompt - ld hl, FshCmdArg0 - ld de, 3 - call inputnumstr - call strtow - ld de, FshCmdArg0 - ex de, hl - ld (hl), e - call _NewLine -cryptocmdROTfArg1: - jr cryptocmdROTfArg1Get - ld hl, FshCmdArg1 - ld de, FshScratch - call strcpy +cryptocmdROTfArg1: ld hl, FshCmdArgFlags bit 3, (hl) - jr z, cryptocmdROTfExe + jr nz, cryptocmdROTfArg2 bit 2, (hl) jr z, cryptocmdROTfArg1Get ld hl, ErrUsageo call ErrSet call ErrCatch cryptocmdROTfArg1Get: + ld hl, cryptocmdROTfDShift + call printprompt + ld hl, FshCmdArg1 + ld de, 3 + call inputnumstr + call strtow + ld de, FshCmdArg1 + ex de, hl + ld (hl), e + call _NewLine +cryptocmdROTfArg2: + jr cryptocmdROTfArg2Get + ld hl, FshCmdArg2 + ld de, FshScratch + call strcpy + ld hl, FshCmdArgFlags + bit 5, (hl) + jr z, cryptocmdROTfExe + bit 4, (hl) + jr z, cryptocmdROTfArg2Get + ld hl, ErrUsageo + call ErrSet + call ErrCatch +cryptocmdROTfArg2Get: ld hl, cryptocmdROTfDMessage call printprompt ld hl, FshScratch ld de, FshScratchSize - 4 - call inputstr + call inputcharstr call _NewLine cryptocmdROTfExe: - ld hl, FshCmdArg0 + ld hl, FshCmdArg1 ld a, (hl) ld hl, FshScratch call rotletencrypt + push hl + ld hl, cryptocmdROTfDResult + call _PutS + pop hl call _PutS call _NewLine jp Fin cryptocmdROTfDShift: .db "Shift= ", 0 cryptocmdROTfDMessage: .db "Message= ", 0 +cryptocmdROTfDResult: .db "Result: ", 0 \ No newline at end of file diff --git a/includes/CryptoCommands/unROT.asm b/includes/CryptoCommands/unROT.asm new file mode 100644 index 0000000..89811ff --- /dev/null +++ b/includes/CryptoCommands/unROT.asm @@ -0,0 +1,60 @@ +cryptocmdunROT: .db "ROT", 0 +cryptocmdunROTm: .db "ROT Cypher, rotates the alphabet and Decodes a string", 0 +cryptocmdunROTu: .db "ROT ", 0 +cryptocmdunROTf: +cryptocmdunROTfArg1: + ld hl, FshCmdArgFlags + bit 3, (hl) + jr nz, cryptocmdunROTfArg2 + bit 2, (hl) + jr z, cryptocmdunROTfArg1Get + ld hl, ErrUsageo + call ErrSet + call ErrCatch +cryptocmdunROTfArg1Get: + ld hl, cryptocmdunROTfDShift + call printprompt + ld hl, FshCmdArg1 + ld de, 3 + call inputnumstr + call strtow + ld de, FshCmdArg1 + ex de, hl + ld (hl), e + call _NewLine +cryptocmdunROTfArg2: + jr cryptocmdunROTfArg2Get + ld hl, FshCmdArg2 + ld de, FshScratch + call strcpy + ld hl, FshCmdArgFlags + bit 5, (hl) + jr z, cryptocmdunROTfExe + bit 4, (hl) + jr z, cryptocmdunROTfArg2Get + ld hl, ErrUsageo + call ErrSet + call ErrCatch +cryptocmdunROTfArg2Get: + ld hl, cryptocmdunROTfDMessage + call printprompt + ld hl, FshScratch + ld de, FshScratchSize - 4 + call inputcharstr + call _NewLine +cryptocmdunROTfExe: + ld hl, FshCmdArg1 + ld a, (hl) + ld hl, FshScratch + call rotletdecrypt + push hl + ld hl, cryptocmdunROTfDResult + call _PutS + pop hl + call _PutS + call _NewLine + jp Fin + +cryptocmdunROTfDShift: .db "Shift= ", 0 +cryptocmdunROTfDMessage: .db "CypherText= ", 0 +cryptocmdunROTfDResult: .db "Result: ", 0 \ No newline at end of file diff --git a/includes/lib/crypto/rot.asm b/includes/lib/crypto/rot.asm index 01810ba..e56f5d7 100644 --- a/includes/lib/crypto/rot.asm +++ b/includes/lib/crypto/rot.asm @@ -1,30 +1,31 @@ ;;rotletencrypt -;;Encrypts a string in rot-x (uses $41 to $5B) +;;Encrypts a string in rot-n (uses $41 to $5B) ;;Inputs: ;; HL: string pointer -;; A: x +;; A: rot-n ;;Notes: ;; Changes string in place. rotletencrypt: push hl push bc - ld c, 0 - ld c, a +rotletencryptMod: + push hl + ld h, a + ld l, 'Z' + 1 - 'A' - 1 + call modHL + ld b, h + pop hl rotletencryptLoop: ld a, (hl) - cp 0 + cp a, $00 jr z, rotletencryptEnd - add a, c - cp 0 - jr nz, rotletencryptLd - inc a -rotletencryptLd: - ld (hl), a - inc hl - cp a, $5c - jr c, rotletencryptLoop - dec hl - sub a, 'Z' + 1 - 'A' + cp a, ' ' + jr z, rotletencryptLD + add a, b + cp a, 'Z' + 2 + jr c , rotletencryptLD + sub a, 'Z' + 2 - 'A' +rotletencryptLD: ld (hl), a inc hl jr rotletencryptLoop @@ -35,29 +36,33 @@ rotletencryptEnd: ret ;;rotletdecrypt -;;Encrypts a string in rot-x (uses $41 to $5B) +;;Decrypts a string in rot-n (uses $41 to $5B) ;;Inputs: ;; HL: string pointer -;; A: x +;; A: rot-n ;;Notes: ;; Changes string in place. rotletdecrypt: push hl push bc - ld c, 0 - ld c, a +rotletdecryptMod: + push hl + ld h, a + ld l, 'Z' + 1 - 'A' - 1 + call modHL + ld b, h + pop hl rotletdecryptLoop: ld a, (hl) - cp 0 + cp a, $00 jr z, rotletdecryptEnd - sub a, c -rotletdecryptLd: - ld (hl), a - inc hl - cp a, $5c - jr c, rotletdecryptLoop - dec hl - add a, 'Z' + 1 - 'A' + cp a, ' ' + jr z, rotletdecryptLD + sub a, b + cp a, 'A' + jr nc , rotletdecryptLD + add a, 'Z' + 2 - 'A' +rotletdecryptLD: ld (hl), a inc hl jr rotletdecryptLoop diff --git a/includes/lib/std/Input.asm b/includes/lib/std/Input.asm index 495bd37..7f32bc9 100644 --- a/includes/lib/std/Input.asm +++ b/includes/lib/std/Input.asm @@ -181,14 +181,14 @@ inputstrCurRowBuf: .db $00 inputcharstr: push de push hl - ld (inputstrSizeBuf), de + ld (inputcharstrSizeBuf), de push hl push de ld hl, CurCol - ld de, inputstrCurColBuf + ld de, inputcharstrCurColBuf call bytecpy ld hl, CurRow - ld de, inputstrCurRowBuf + ld de, inputcharstrCurRowBuf call bytecpy pop de pop hl diff --git a/includes/lib/std/Math.asm b/includes/lib/std/Math.asm index 030e3f6..ab4348b 100644 --- a/includes/lib/std/Math.asm +++ b/includes/lib/std/Math.asm @@ -71,7 +71,28 @@ mulAbyHLEnd: pop bc ret - +;;modHL +;;H % L => H +;;Inputs: +;; H: +;; L: +modHL: + push bc + ld b, h + ld a, 0 +modHLLoop: + inc a + cp a, l + jr nz, modHLLoopEnd + ld a, 0 +modHLLoopEnd: + djnz modHLLoop + ld h, a + pop bc + ret + + + ;;mul32By8 ;;Performs an unsigned multiplication of DEHL and A. ;;Outputs: