1 00:0000 - - - - #include "includes/static/ti84pce.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\static\ti84pce.inc" 1 00:0000 - - - - ;TI-84 Plus CE Include File 2 00:0000 - - - - 3 00:0000 - - - - ;Various Parts Contributed by 4 00:0000 - - - - ;- BrandonW 5 00:0000 - - - - ;- calc84 6 00:0000 - - - - ;- MateoConLechuga 7 00:0000 - - - - ;- Runer112 8 00:0000 - - - - ;- tr1p1ea 9 00:0000 - - - - ;- Kerm Martian 10 00:0000 - - - - ;- Texas Instruments (ti83plus.inc) Listing for file "FSHa.asm" 2 00:0000 - - - - #include "includes/static/define.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\static\define.inc" Listing for file "FSHa.asm" 3 00:0000 - - - - #include "includes/macros/macros.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc" 1 00:0000 - - - - #include "includes/macros/misc.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\misc.asm" 1 00:0000 - - - - ;;rgbto565 2 00:0000 - - - - ;;turns an rgb input into the 656 format that the lcd uses 3 00:0000 - - - - ;;Inputs: 4 00:0000 - - - - ;; r,g,b 5 00:0000 - - - - ;;Outputs: 6 00:0000 - - - - ;; HL: color 7 00:0000 - - - - #macro rgbto565(red, green, blue) 8 00:0000 ld hl, ((red / 255 * 31) << 11) | ((green / 255 * 63) << 5) | ((blue / 255 * 31)) 9 00:0000 #endmacro Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc" 2 00:0000 - - - - #include "includes/macros/pixel.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\pixel.asm" 1 00:0000 - - - - ;;pixel 2 00:0000 - - - - ;;Gets vRam location of coordinates 3 00:0000 - - - - ;;Inputs: 4 00:0000 - - - - ;; x: x axis 5 00:0000 - - - - ;; y: y axis 6 00:0000 - - - - ;;Outputs: 7 00:0000 - - - - ;; DE: vRam location 8 00:0000 - - - - #macro pixel(x, y) 9 00:0000 ld de, vRam + (y * 320 * 2) + (x * 2) 10 00:0000 #endmacro Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc" 3 00:0000 - - - - #include "includes/macros/draw.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\draw.asm" 1 00:0000 - - - - #macro drawpixelxyM(x, y) 2 00:0000 ld de, x 3 00:0000 ld a, y 4 00:0000 call drawpixelxy 5 00:0000 #endmacro 6 00:0000 - - - - 7 00:0000 - - - - #macro drawlineM(x1, y1, x2, y2) 8 00:0000 ;TODO 9 00:0000 #endmacro 10 00:0000 - - - - 11 00:0000 - - - - #macro drawrowM(y) 12 00:0000 ld a, y 13 00:0000 call drawrow 14 00:0000 #endmacro 15 00:0000 - - - - 16 00:0000 - - - - #macro drawbarM(y, height) 17 00:0000 ld a, y 18 00:0000 ld bc, height 19 00:0000 call drawbar 20 00:0000 #endmacro 21 00:0000 - - - - 22 00:0000 - - - - #macro drawrectfilledM(x, y, width, height) 23 00:0000 ex de, hl 24 00:0000 ld ixl, e 25 00:0000 ld ixh, d 26 00:0000 ex de, hl 27 00:0000 ld hl, width 28 00:0000 ld de, x 29 00:0000 ld bc, 0 30 00:0000 ld c, y 31 00:0000 ld a, height 32 00:0000 call drawrectfilled 33 00:0000 #endmacro Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc" 4 00:0000 - - - - #include "includes/macros/command.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\command.asm" 1 00:0000 - - - - ;;decodecmdopt 2 00:0000 - - - - ;;compares cmdXs to command input and conditionally sets opt to optcode 3 00:0000 - - - - ;;Inputs: 4 00:0000 - - - - ;; HL: cmd string input 5 00:0000 - - - - ;; DE: op code mem location 6 00:0000 - - - - #macro decodecmdopt(cmdXs, cmdXo) 7 00:0000 push hl 8 00:0000 push de 9 00:0000 ld de, cmdXs 10 00:0000 call strcmp 11 00:0000 ld hl, cmdXo 12 00:0000 pop de 13 00:0000 call z, bytecpy 14 00:0000 pop hl 15 00:0000 #endmacro 16 00:0000 - - - - 17 00:0000 - - - - #macro routeoptjp(cmdXo, cmdXf) 18 00:0000 ld de, cmdXo 19 00:0000 call bytecmp 20 00:0000 jp z, cmdXf 21 00:0000 #endmacro Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc" Listing for file "FSHa.asm" 4 00:0000 - - - - 5 00:0000 - - - - .assume ADL=1 6 00:0000 - - - - .org userMem-2 7 D1:A87F EF 7B - - .DB tExtTok,tAsm84CeCmp 8 D1:A881 - - - - 9 D1:A881 - - - - Setup: 10 D1:A881 CD 48 08 02 CALL _RunIndicOff 11 D1:A885 CD 38 11 02 CALL _EnableAPD 12 D1:A889 FD CB 08 DE SET apdRunning,(iy+apdFlags) 13 D1:A88D CD 28 08 02 CALL _homeup 14 D1:A891 CD 08 08 02 CALL _ClrLCDFull 15 D1:A895 - - - - 16 D1:A895 CD 1B B4 D1 CALL drawstatusbar 17 D1:A899 - - - - 18 D1:A899 CD 50 B2 D1 CALL fshvarreset 19 D1:A89D - - - - 20 D1:A89D CD F6 B3 D1 CALL printmotd 21 D1:A8A1 - - - - 22 D1:A8A1 21 02 C6 D1 ld hl, teststr 23 D1:A8A5 11 08 C6 D1 ld de, testkey 24 D1:A8A9 CD 12 B5 D1 call xorcrypt 25 D1:A8AD CD C0 07 02 call _PutS 26 D1:A8B1 - - - - 27 D1:A8B1 - - - - Input: 28 D1:A8B1 - - - - ;; TODO: Update status bar sometimes 29 D1:A8B1 3E 00 - - LD A, $00 30 D1:A8B3 CD 41 B0 D1 CALL commandfill 31 D1:A8B7 - - - - 32 D1:A8B7 21 37 A9 D1 LD HL, PS1 33 D1:A8BB - - - - ;CALL printprompt 34 D1:A8BB - - - - 35 D1:A8BB 21 9F EA D0 LD HL, FshCmd 36 D1:A8BF 11 2C 00 00 LD DE, FshCmdInptSize 37 D1:A8C3 CD 05 AD D1 CALL inputstr 38 D1:A8C7 - - - - 39 D1:A8C7 21 9F EA D0 LD HL, FshCmd 40 D1:A8CB CD 5C B0 D1 CALL fshparsecommand 41 D1:A8CF - - - - 42 D1:A8CF CD F0 07 02 CALL _NewLine 43 D1:A8D3 - - - - 44 D1:A8D3 - - - - Decode: 45 D1:A8D3 21 9F EA D0 LD HL, FshCmd 46 D1:A8D7 11 CC EA D0 LD DE, FshCmdOP 47 D1:A8DB CD 7D B5 D1 CALL commanddecode 48 D1:A8DF - - - - 49 D1:A8DF - - - - Route: 50 D1:A8DF 21 CC EA D0 LD HL, FshCmdOP 51 D1:A8E3 C3 86 B5 D1 JP commandroute 52 D1:A8E7 - - - - 53 D1:A8E7 - - - - Fin: 54 D1:A8E7 C3 B1 A8 D1 JP Input 55 D1:A8EB - - - - 56 D1:A8EB - - - - Err: 57 D1:A8EB C3 7B B2 D1 JP ErrRoute 58 D1:A8EF - - - - 59 D1:A8EF - - - - Cleanup: 60 D1:A8EF FD CB 03 C6 SET graphdraw,(IY+graphflags) 61 D1:A8F3 CD 08 08 02 CALL _ClrLCDFull 62 D1:A8F7 CD 18 08 02 CALL _ClrTxtShdw 63 D1:A8FB CD 28 08 02 CALL _homeup 64 D1:A8FF CD 3C 1A 02 call _DrawStatusBar 65 D1:A903 - - - - 66 D1:A903 - - - - Exit: 67 D1:A903 FD CB 00 AE RES donePrgm,(iy+doneFlags) 68 D1:A907 C9 - - - RET 69 D1:A908 - - - - 70 D1:A908 - - - - #include "includes/Text.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Text.inc" 1 D1:A908 - - - - ;STRINGS ------------------------- 2 D1:A908 46 73 68 20 53 48 65 6C 6C 00 - - FshName: .db "Fsh SHell", 0 3 D1:A912 42 79 20 70 69 78 69 79 73 00 - - FshBy: .db "By pixiys", 0 4 D1:A91C 73 74 65 70 68 65 6E 6C 74 6F 74 68 2E 63 6F 6D 2F 66 73 68 2D 73 68 65 6C 6C 00 - FshSite: .db "stephenltoth.com/fsh-shell", 0 5 D1:A937 46 53 48 3E 20 00 - - PS1: .db "FSH> ", 0 6 D1:A93D 36 34 77 00 FshVVars: .db "64w", 0 7 D1:A941 30 00 - - FshVMajor: .db "0", 0 8 D1:A943 31 00 - - FshVMinor: .db "1", 0 9 D1:A945 30 00 - - FshVPatch: .db "0", 0 10 D1:A947 32 30 35 00 FshVBuild: .db "205", 0 11 D1:A94B 2E 00 - - FshVSeparator: .db ".", 0 12 D1:A94D 50 72 65 73 73 20 32 6E 64 20 66 6F 72 20 6E 75 6D 62 65 72 73 00 - - FshMotd2nd: .db "Press 2nd for numbers", 0 13 D1:A963 54 79 70 65 20 27 48 45 4C 50 27 20 66 6F 72 20 68 65 6C 70 00 - - - FshMotdHelp: .db "Type 'HELP' for help", 0 Listing for file "FSHa.asm" 71 D1:A978 00 - - - FshFlags: .DB %00000000 72 D1:A979 - - - - ; 0: Debug Flag 73 D1:A979 - - - - ; 1: Error Flag 74 D1:A979 - - - - ; 2: Program Flag 75 D1:A979 - - - - 76 D1:A979 - - - - #include "includes/lib/std/std.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 1 D1:A979 - - - - #include "includes/lib/std/Math.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Math.asm" 1 D1:A979 - - - - ;;cpHLDE 2 D1:A979 - - - - ;;Compares HL to DE. 3 D1:A979 - - - - ;;Output: 4 D1:A979 - - - - ;; Same as z80 CP instruction. 5 D1:A979 - - - - cpHLDE: 6 D1:A979 B7 - - - or a 7 D1:A97A ED 52 - - sbc hl, de 8 D1:A97C 19 - - - add hl,de 9 D1:A97D C9 - - - ret 10 D1:A97E - - - - 11 D1:A97E - - - - ;;cpHLBC 12 D1:A97E - - - - ;;Compares HL to BC. 13 D1:A97E - - - - ;;Output: 14 D1:A97E - - - - ;; Same as z80 CP instruction. 15 D1:A97E - - - - cpHLBC: 16 D1:A97E B7 - - - or a 17 D1:A97F ED 42 - - sbc hl, bc 18 D1:A981 09 - - - add hl,bc 19 D1:A982 C9 - - - ret 20 D1:A983 - - - - 21 D1:A983 - - - - ;;cpBCDE 22 D1:A983 - - - - ;;Compares DE to BC. 23 D1:A983 - - - - ;;Output: 24 D1:A983 - - - - ;; Same as z80 CP instruction. 25 D1:A983 - - - - cpBCDE: 26 D1:A983 E5 - - - push hl 27 D1:A984 60 - - - ld h, b 28 D1:A985 69 - - - ld l, c 29 D1:A986 B7 - - - or a 30 D1:A987 ED 52 - - sbc hl, de 31 D1:A989 E1 - - - pop hl 32 D1:A98A C9 - - - ret 33 D1:A98B - - - - 34 D1:A98B - - - - ;;mulAbyB 35 D1:A98B - - - - ;;Multiplys AxB 36 D1:A98B - - - - ;;Inputs: 37 D1:A98B - - - - ;; A: Multiplier 38 D1:A98B - - - - ;; B: Multiplicand 39 D1:A98B - - - - ;;Outputs: 40 D1:A98B - - - - ;; A: Product of A and B. 41 D1:A98B - - - - mulAbyB: 42 D1:A98B C5 - - - push bc 43 D1:A98C 4F - - - ld c, a 44 D1:A98D - - - - mulAbyBLoop: 45 D1:A98D 81 - - - add a, c 46 D1:A98E 10 FD - - djnz mulAbyBLoop 47 D1:A990 91 - - - sub c 48 D1:A991 C1 - - - pop bc 49 D1:A992 C9 - - - ret 50 D1:A993 - - - - 51 D1:A993 - - - - ;;mulAbyHL 52 D1:A993 - - - - ;;Multiplys AxHL 53 D1:A993 - - - - ;;Inputs: 54 D1:A993 - - - - ;; A: Multiplier 55 D1:A993 - - - - ;; HL: Multiplicand 56 D1:A993 - - - - ;;Outputs: 57 D1:A993 - - - - ;; HL: Product of A and HL. 58 D1:A993 - - - - mulAbyHL: 59 D1:A993 C5 - - - push bc 60 D1:A994 D5 - - - push de 61 D1:A995 11 00 00 00 ld de, 0 62 D1:A999 EB - - - ex de, hl 63 D1:A99A FE 00 - - cp 0 64 D1:A99C 28 04 - - jr z, mulAbyHLEnd 65 D1:A99E 47 - - - ld b, a 66 D1:A99F - - - - mulAbyHLLoop: 67 D1:A99F 19 - - - add hl, de 68 D1:A9A0 10 FD - - djnz mulAbyHLLoop 69 D1:A9A2 - - - - mulAbyHLEnd: 70 D1:A9A2 D1 - - - pop de 71 D1:A9A3 C1 - - - pop bc 72 D1:A9A4 C9 - - - ret 73 D1:A9A5 - - - - 74 D1:A9A5 - - - - ;;modHL 75 D1:A9A5 - - - - ;;H % L => H 76 D1:A9A5 - - - - ;;Inputs: 77 D1:A9A5 - - - - ;; H: 78 D1:A9A5 - - - - ;; L: 79 D1:A9A5 - - - - modHL: 80 D1:A9A5 C5 - - - push bc 81 D1:A9A6 44 - - - ld b, h 82 D1:A9A7 3E 00 - - ld a, 0 83 D1:A9A9 - - - - modHLLoop: 84 D1:A9A9 3C - - - inc a 85 D1:A9AA BD - - - cp a, l 86 D1:A9AB 20 02 - - jr nz, modHLLoopEnd 87 D1:A9AD 3E 00 - - ld a, 0 88 D1:A9AF - - - - modHLLoopEnd: 89 D1:A9AF 10 F8 - - djnz modHLLoop 90 D1:A9B1 67 - - - ld h, a 91 D1:A9B2 C1 - - - pop bc 92 D1:A9B3 C9 - - - ret 93 D1:A9B4 - - - - 94 D1:A9B4 - - - - 95 D1:A9B4 - - - - 96 D1:A9B4 - - - - ;;mul32By8 97 D1:A9B4 - - - - ;;Performs an unsigned multiplication of DEHL and A. 98 D1:A9B4 - - - - ;;Outputs: 99 D1:A9B4 - - - - ;; DEHL: product of DEHL and A 100 D1:A9B4 - - - - mul32By8: 101 D1:A9B4 C5 DD E5 - push bc \ push ix 102 D1:A9B7 DD 2E 08 - ld ixl, 8 103 D1:A9BA D5 - - - push de 104 D1:A9BB E5 - - - push hl 105 D1:A9BC 21 00 00 00 ld hl, 0 106 D1:A9C0 54 - - - ld d, h 107 D1:A9C1 5D - - - ld e, l 108 D1:A9C2 - - - - mul32by8loop: 109 D1:A9C2 29 - - - add hl, hl 110 D1:A9C3 CB 13 - - rl e 111 D1:A9C5 CB 12 - - rl d 112 D1:A9C7 17 - - - rla 113 D1:A9C8 30 0A - - jr nc, mul32by8noAdd 114 D1:A9CA C1 - - - pop bc 115 D1:A9CB 09 - - - add hl, bc 116 D1:A9CC E3 - - - ex (sp), hl 117 D1:A9CD E5 - - - push hl 118 D1:A9CE ED 5A - - adc hl, de 119 D1:A9D0 D1 - - - pop de 120 D1:A9D1 EB - - - ex de, hl 121 D1:A9D2 E3 - - - ex (sp), hl 122 D1:A9D3 C5 - - - push bc 123 D1:A9D4 - - - - mul32by8noAdd: 124 D1:A9D4 DD 2D - - dec ixl 125 D1:A9D6 20 EA - - jr nz, mul32by8loop 126 D1:A9D8 C1 - - - pop bc 127 D1:A9D9 C1 - - - pop bc 128 D1:A9DA DD E1 C1 - pop ix \ pop bc 129 D1:A9DD C9 - - - ret 130 D1:A9DE - - - - Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 2 D1:A9DE - - - - #include "includes/lib/std/Random.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Random.asm" 1 D1:A9DE - - - - ;;randomint 2 D1:A9DE - - - - ;;Gets an 8-bit random number. 3 D1:A9DE - - - - ;;Inputs: 4 D1:A9DE - - - - ;; A: Seed 5 D1:A9DE - - - - ;;Outputs: 6 D1:A9DE - - - - ;; A: Random number (0-255) 7 D1:A9DE - - - - ;;Notes: 8 D1:A9DE - - - - ;; This is not cryptographically random. 9 D1:A9DE - - - - randomint: 10 D1:A9DE 32 31 AA D1 ld (randomintSeed), a 11 D1:A9E2 E5 - - - push hl 12 D1:A9E3 D5 - - - push de 13 D1:A9E4 C5 - - - push bc 14 D1:A9E5 2A 31 AA D1 ld hl, (randomintSeed) 15 D1:A9E9 ED 5B 33 AA D1 - - - ld de, (randomintSeed+2) 16 D1:A9EE 44 - - - ld b, h 17 D1:A9EF 4D - - - ld c, l 18 D1:A9F0 29 CB 13 CB 12 - - - add hl, hl \ rl e \ rl d 19 D1:A9F5 29 CB 13 CB 12 - - - add hl, hl \ rl e \ rl d 20 D1:A9FA 2C - - - inc l 21 D1:A9FB 09 - - - add hl, bc 22 D1:A9FC 22 31 AA D1 ld (randomintSeed), hl 23 D1:AA00 2A 33 AA D1 ld hl, (randomintSeed+2) 24 D1:AA04 ED 5A - - adc hl, de 25 D1:AA06 22 34 AA D1 ld (randomintSeed+3), hl 26 D1:AA0A EB - - - ex de, hl 27 D1:AA0B 2A 31 AA D1 ld hl, (randomintSeed) 28 D1:AA0F ED 5B 35 AA D1 - - - ld de, (randomintSeed+4) 29 D1:AA14 01 5E F9 00 ld bc, 63838 30 D1:AA18 29 CB 11 CB 10 - - - add hl, hl \ rl c \ rl b 31 D1:AA1D ED 43 37 AA D1 - - - ld (randomintSeed+6), bc 32 D1:AA22 9F - - - sbc a, a 33 D1:AA23 E6 F1 - - and %11110001 34 D1:AA25 AD - - - xor l 35 D1:AA26 6F - - - ld l, a 36 D1:AA27 22 38 AA D1 ld (randomintSeed+7), hl 37 D1:AA2B 7A - - - ld a, d 38 D1:AA2C 80 - - - add a, b 39 D1:AA2D C1 - - - pop bc 40 D1:AA2E D1 - - - pop de 41 D1:AA2F E1 - - - pop hl 42 D1:AA30 C9 - - - ret 43 D1:AA31 - - - - ;Actual random bytes 44 D1:AA31 28 BE B3 BB A3 F1 97 AF 87 50 26 91 46 CC 5F C7 randomintSeed: .db $28, $BE, $B3, $BB, $a3, $f1, $97, $af, $87, $50, $26, $91, $46, $cc, $5f, $c7 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 3 D1:AA41 - - - - #include "includes/lib/std/Byte.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Byte.asm" 1 D1:AA41 - - - - ;;bytecmp 2 D1:AA41 - - - - ;;Determines if two bytes are equal. 3 D1:AA41 - - - - ;;Inputs: 4 D1:AA41 - - - - ;; HL: Byte pointer 5 D1:AA41 - - - - ;; DE: Byte pointer 6 D1:AA41 - - - - ;;Outputs: 7 D1:AA41 - - - - ;; Z: Set if equal, reset if not equal 8 D1:AA41 - - - - bytecmp: 9 D1:AA41 E5 - - - push hl 10 D1:AA42 D5 - - - push de 11 D1:AA43 1A - - - ld a, (de) 12 D1:AA44 B7 - - - or a 13 D1:AA45 BE - - - cp (hl) 14 D1:AA46 D1 - - - pop de 15 D1:AA47 E1 - - - pop hl 16 D1:AA48 C9 - - - ret 17 D1:AA49 - - - - 18 D1:AA49 - - - - ;;bytecpy 19 D1:AA49 - - - - ;; Copies a byte. 20 D1:AA49 - - - - ;;Inputs: 21 D1:AA49 - - - - ;; HL: Byte pointer 22 D1:AA49 - - - - ;; DE: Destination 23 D1:AA49 - - - - bytecpy: 24 D1:AA49 D5 - - - push de 25 D1:AA4A E5 - - - push hl 26 D1:AA4B EB - - - ex de, hl 27 D1:AA4C 1A - - - ld a, (de) 28 D1:AA4D 77 - - - ld (hl), a 29 D1:AA4E E1 - - - pop hl 30 D1:AA4F D1 - - - pop de 31 D1:AA50 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 4 D1:AA51 - - - - #include "includes/lib/std/Mem.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Mem.asm" 1 D1:AA51 - - - - ;;memset 2 D1:AA51 - - - - ;;Fills B amount of bytes from hl with a 3 D1:AA51 - - - - ;;Inputs: 4 D1:AA51 - - - - ;; HL: start 5 D1:AA51 - - - - ;; B: how many bytes 6 D1:AA51 - - - - ;; A: Byte 7 D1:AA51 - - - - memset: 8 D1:AA51 E5 - - - push hl 9 D1:AA52 C5 - - - push bc 10 D1:AA53 - - - - memsetLoop: 11 D1:AA53 77 - - - ld (hl), a 12 D1:AA54 23 - - - inc hl 13 D1:AA55 10 FC - - djnz memsetLoop 14 D1:AA57 C1 - - - pop bc 15 D1:AA58 E1 - - - pop hl 16 D1:AA59 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 5 D1:AA5A - - - - #include "includes/lib/std/Char.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Char.asm" 1 D1:AA5A - - - - #include "includes/tables/CSC.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\tables\CSC.asm" 1 D1:AA5A - - - - charMapCSC: 2 D1:AA5A 22 57 52 4D 48 FF FF - .DB "\"WRMH", $FF, $FF 3 D1:AA61 3F 5B 56 51 4C 47 FF FF .DB Lquestion, Ltheta, "VQLG", $FF, $FF 4 D1:AA69 3A 5A 55 50 4B 46 43 FF .DB ":ZUPKFC", $FF 5 D1:AA71 20 59 54 4F 4A 45 42 FF .DB " YTOJEB", $FF 6 D1:AA79 FF 58 53 4E 49 44 41 - .DB $FF, "XSNIDA" 7 D1:AA80 - - - - 8 D1:AA80 - - - - numsymMapCSC 9 D1:AA80 2B 2D 2A 2F 5E FF FF - .DB "+-*/^", $FF, $FF 10 D1:AA87 5F 33 36 39 29 C1 5D FF .DB "_369)", $C1, "]", $FF 11 D1:AA8F 2E 32 35 38 28 7B 7D 3B .DB ".258({};" 12 D1:AA97 30 31 34 37 2C 20 3C 3E 7C FF - - .DB "0147, <>|", $FF 13 D1:AAA1 05 21 40 23 25 26 - - .DB $05, "!@#%&" 14 D1:AAA7 - - - - 15 D1:AAA7 - - - - numMapCSC 16 D1:AAA7 FF FF FF FF FF FF FF - .DB $FF, $FF, $FF, $FF, $FF, $FF, $FF 17 D1:AAAE FF 33 36 39 FF FF FF FF .DB $FF, "369", $FF, $FF, $FF, $FF 18 D1:AAB6 FF 32 35 38 FF FF FF FF .DB $FF, "258", $FF, $FF, $FF, $FF 19 D1:AABE 30 31 34 37 FF FF FF FF FF FF - - .DB "0147", $FF, $FF, $FF, $FF, $FF, $FF 20 D1:AAC8 FF FF FF FF FF FF - - .DB $FF, $FF, $FF, $FF, $FF, $FF Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Char.asm" 2 D1:AACE - - - - ;;chartoascii 3 D1:AACE - - - - ;;Converts a char to "ascii" 4 D1:AACE - - - - ;;Inputs: 5 D1:AACE - - - - ;; A: char code (csc) 6 D1:AACE - - - - ;;Outputs: 7 D1:AACE - - - - ;; A: ascii char 8 D1:AACE - - - - chartoascii: 9 D1:AACE E5 - - - push hl 10 D1:AACF 21 00 00 00 ld hl, 0 11 D1:AAD3 26 00 - - ld h, 0 12 D1:AAD5 6F - - - ld l, a 13 D1:AAD6 11 5A AA D1 ld de, charMapCSC 14 D1:AADA 19 - - - add hl, de 15 D1:AADB 7E - - - ld a, (hl) 16 D1:AADC E1 - - - pop hl 17 D1:AADD C9 - - - ret 18 D1:AADE - - - - 19 D1:AADE - - - - ;;Charnumtoascii 20 D1:AADE - - - - ;;Converts a char to "ascii" 21 D1:AADE - - - - ;;Inputs: 22 D1:AADE - - - - ;; A: char code (csc) 23 D1:AADE - - - - ;;Outputs: 24 D1:AADE - - - - ;; A: ascii char 25 D1:AADE - - - - charnumtoascii: 26 D1:AADE E5 - - - push hl 27 D1:AADF 21 00 00 00 ld hl, 0 28 D1:AAE3 26 00 - - ld h, 0 29 D1:AAE5 6F - - - ld l, a 30 D1:AAE6 11 A7 AA D1 ld de, numMapCSC 31 D1:AAEA 19 - - - add hl, de 32 D1:AAEB 7E - - - ld a, (hl) 33 D1:AAEC E1 - - - pop hl 34 D1:AAED C9 - - - ret 35 D1:AAEE - - - - 36 D1:AAEE - - - - ;;charnumsymtoascii 37 D1:AAEE - - - - ;;Converts a char to "ascii" 38 D1:AAEE - - - - ;;Inputs: 39 D1:AAEE - - - - ;; A: char code (csc) 40 D1:AAEE - - - - ;;Outputs: 41 D1:AAEE - - - - ;; A: ascii char 42 D1:AAEE - - - - charnumsymtoascii: 43 D1:AAEE E5 - - - push hl 44 D1:AAEF 21 00 00 00 ld hl, 0 45 D1:AAF3 26 00 - - ld h, 0 46 D1:AAF5 6F - - - ld l, a 47 D1:AAF6 11 80 AA D1 ld de, numsymMapCSC 48 D1:AAFA 19 - - - add hl, de 49 D1:AAFB 7E - - - ld a, (hl) 50 D1:AAFC E1 - - - pop hl 51 D1:AAFD C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 6 D1:AAFE - - - - #include "includes/lib/std/Cursor.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Cursor.asm" 1 D1:AAFE - - - - ;;cursorcharunderreset 2 D1:AAFE - - - - ;;Sets curUnder to 0 3 D1:AAFE - - - - cursorcurunderreset: 4 D1:AAFE E5 - - - push hl 5 D1:AAFF 21 99 05 D0 ld hl, curUnder 6 D1:AB03 36 20 - - ld (hl), ' ' 7 D1:AB05 E1 - - - pop hl 8 D1:AB06 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 7 D1:AB07 - - - - #include "includes/lib/std/Print.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Print.asm" 1 D1:AB07 - - - - ;;printprompt 2 D1:AB07 - - - - ;;Sets curcol to 0 and prints prompt 3 D1:AB07 - - - - ;;Inputs: 4 D1:AB07 - - - - ;; HL: Prompt String Location 5 D1:AB07 - - - - printprompt: 6 D1:AB07 E5 - - - push hl 7 D1:AB08 AF - - - xor a 8 D1:AB09 32 96 05 D0 ld (CurCol), a 9 D1:AB0D CD C0 07 02 call _PutS 10 D1:AB11 E1 - - - pop hl 11 D1:AB12 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 8 D1:AB13 - - - - #include "includes/lib/std/Draw.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Draw.asm" 1 D1:AB13 - - - - ;;drawpixel 2 D1:AB13 - - - - ;;Sets a pixel to specified color (565) 3 D1:AB13 - - - - ;;Inputs: 4 D1:AB13 - - - - ;; HL: color 5 D1:AB13 - - - - ;; DE: vRam location 6 D1:AB13 - - - - drawpixel: 7 D1:AB13 E5 - - - push hl 8 D1:AB14 D5 - - - push de 9 D1:AB15 EB - - - ex de, hl 10 D1:AB16 73 - - - ld (hl), e 11 D1:AB17 23 - - - inc hl 12 D1:AB18 72 - - - ld (hl), d 13 D1:AB19 D1 - - - pop de 14 D1:AB1A E1 - - - pop hl 15 D1:AB1B C9 - - - ret 16 D1:AB1C - - - - 17 D1:AB1C - - - - ;;drawpixelxy 18 D1:AB1C - - - - ;;Sets a pixel to specified color 19 D1:AB1C - - - - ;;Inputs: 20 D1:AB1C - - - - ;; HL: color 21 D1:AB1C - - - - ;; DE: x 22 D1:AB1C - - - - ;; A: y 23 D1:AB1C - - - - drawpixelxy 24 D1:AB1C D5 - - - push de 25 D1:AB1D E5 - - - push hl 26 D1:AB1E EB - - - ex de, hl 27 D1:AB1F 29 - - - add hl, hl 28 D1:AB20 E5 - - - push hl 29 D1:AB21 21 80 02 00 ld hl, 640 30 D1:AB25 CD 93 A9 D1 call mulAbyHL 31 D1:AB29 EB - - - ex de, hl 32 D1:AB2A E1 - - - pop hl 33 D1:AB2B 19 - - - add hl, de 34 D1:AB2C 11 00 00 D4 ld de, vRam 35 D1:AB30 19 - - - add hl, de 36 D1:AB31 EB - - - ex de, hl 37 D1:AB32 E1 - - - pop hl 38 D1:AB33 CD 13 AB D1 call drawpixel 39 D1:AB37 D1 - - - pop de 40 D1:AB38 C9 - - - ret 41 D1:AB39 - - - - 42 D1:AB39 - - - - ;;drawrow 43 D1:AB39 - - - - ;;Draws a row on lcd 44 D1:AB39 - - - - ;;Inputs: 45 D1:AB39 - - - - ;; A: y 46 D1:AB39 - - - - ;; HL: color 47 D1:AB39 - - - - drawrow: 48 D1:AB39 E5 - - - push hl 49 D1:AB3A C5 - - - push bc 50 D1:AB3B E5 - - - push hl 51 D1:AB3C 21 E0 01 00 ld hl, lcdHeight * 2 52 D1:AB40 CD 93 A9 D1 call mulAbyHL 53 D1:AB44 11 00 00 D4 ld de, vRam 54 D1:AB48 19 - - - add hl, de 55 D1:AB49 EB - - - ex de, hl 56 D1:AB4A E1 - - - pop hl 57 D1:AB4B 01 40 01 00 ld bc, lcdWidth 58 D1:AB4F - - - - drawrowLoop: 59 D1:AB4F CD 13 AB D1 call drawpixel 60 D1:AB53 13 - - - inc de 61 D1:AB54 13 - - - inc de 62 D1:AB55 0B - - - dec bc 63 D1:AB56 E5 - - - push hl 64 D1:AB57 21 00 00 00 ld hl, 0 65 D1:AB5B CD 7E A9 D1 call cpHLBC 66 D1:AB5F E1 - - - pop hl 67 D1:AB60 20 ED - - jr nz, drawrowLoop 68 D1:AB62 C1 - - - pop bc 69 D1:AB63 E1 - - - pop hl 70 D1:AB64 C9 - - - ret 71 D1:AB65 - - - - 72 D1:AB65 - - - - ;;drawbar 73 D1:AB65 - - - - ;;Loops drawing row 74 D1:AB65 - - - - ;;Inputs: 75 D1:AB65 - - - - ;; A: y 76 D1:AB65 - - - - ;; [B]C: height 77 D1:AB65 - - - - ;; HL: color 78 D1:AB65 - - - - drawbar: 79 D1:AB65 C5 - - - push bc 80 D1:AB66 - - - - drawbarLoop: 81 D1:AB66 CD 39 AB D1 call drawrow 82 D1:AB6A 0B - - - dec bc 83 D1:AB6B 3C - - - inc a 84 D1:AB6C E5 - - - push hl 85 D1:AB6D 21 00 00 00 ld hl, 0 86 D1:AB71 CD 7E A9 D1 call cpHLBC 87 D1:AB75 E1 - - - pop hl 88 D1:AB76 20 EE - - jr nz, drawbarLoop 89 D1:AB78 C1 - - - pop bc 90 D1:AB79 C9 - - - ret 91 D1:AB7A - - - - 92 D1:AB7A - - - - ;;drawrectfilled 93 D1:AB7A - - - - ;;Draws a rectangle from coordinates (Slow) 94 D1:AB7A - - - - ;;Inputs: 95 D1:AB7A - - - - ;; DE: x 96 D1:AB7A - - - - ;; C: y 97 D1:AB7A - - - - ;; HL: width 98 D1:AB7A - - - - ;; A: height 99 D1:AB7A - - - - ;; IXH+IXL: color 100 D1:AB7A - - - - drawrectfilled: 101 D1:AB7A 19 - - - add hl, de 102 D1:AB7B 81 - - - add a, c 103 D1:AB7C 47 - - - ld b, a 104 D1:AB7D - - - - drawrectfilledLoopY: 105 D1:AB7D D5 - - - push de 106 D1:AB7E - - - - drawrectfilledLoopX: 107 D1:AB7E E5 - - - push hl 108 D1:AB7F C5 - - - push bc 109 D1:AB80 EB - - - ex de, hl 110 D1:AB81 DD 54 - - ld d, ixh 111 D1:AB83 DD 5D - - ld e, ixl 112 D1:AB85 EB - - - ex de, hl 113 D1:AB86 79 - - - ld a, c 114 D1:AB87 CD 1C AB D1 call drawpixelxy 115 D1:AB8B C1 - - - pop bc 116 D1:AB8C E1 - - - pop hl 117 D1:AB8D 13 - - - inc de 118 D1:AB8E CD 79 A9 D1 call cpHLDE 119 D1:AB92 20 EA - - jr nz, drawrectfilledLoopX 120 D1:AB94 D1 - - - pop de 121 D1:AB95 0C - - - inc c 122 D1:AB96 78 - - - ld a, b 123 D1:AB97 B9 - - - cp c 124 D1:AB98 20 E3 - - jr nz, drawrectfilledLoopY 125 D1:AB9A C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 9 D1:AB9B - - - - #include "includes/lib/std/Array.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Array.asm" 1 D1:AB9B - - - - ;;array2d 2 D1:AB9B - - - - ;;gets the address of 2d array 3 D1:AB9B - - - - ;;Inputs: 4 D1:AB9B - - - - ;; H: y 5 D1:AB9B - - - - ;; L: x width 6 D1:AB9B - - - - ;; B: x 7 D1:AB9B - - - - ;; DE: Array start 8 D1:AB9B - - - - ;;Outputs: 9 D1:AB9B - - - - ;; DE: Array loc address 10 D1:AB9B - - - - array2d: 11 D1:AB9B E5 - - - push hl 12 D1:AB9C ED 6C - - mlt hl 13 D1:AB9E 19 - - - add hl, de 14 D1:AB9F 11 00 00 00 ld de, 0 15 D1:ABA3 58 - - - ld e, b 16 D1:ABA4 19 - - - add hl, de 17 D1:ABA5 EB - - - ex de, hl 18 D1:ABA6 E1 - - - pop hl 19 D1:ABA7 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 10 D1:ABA8 - - - - 11 D1:ABA8 - - - - #include "includes/lib/std/String.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\String.asm" 1 D1:ABA8 - - - - ;;strlen 2 D1:ABA8 - - - - ;;Determines the length of a zero delimited string. 3 D1:ABA8 - - - - ;;Inputs: 4 D1:ABA8 - - - - ;; HL: String pointer 5 D1:ABA8 - - - - ;;Outputs: 6 D1:ABA8 - - - - ;; BC: String length 7 D1:ABA8 - - - - strlen: 8 D1:ABA8 F5 - - - push af 9 D1:ABA9 E5 - - - push hl 10 D1:ABAA AF - - - xor a 11 D1:ABAB 47 - - - ld b, a 12 D1:ABAC 4F - - - ld c, a 13 D1:ABAD ED B1 - - cpir 14 D1:ABAF - - - - ; bc = -bc 15 D1:ABAF AF 91 4F 9F 90 47 - - xor a \ sub c \ ld c, a \ sbc a, a \ sub b \ ld b, a 16 D1:ABB5 0B - - - dec bc 17 D1:ABB6 E1 - - - pop hl 18 D1:ABB7 F1 - - - pop af 19 D1:ABB8 C9 - - - ret 20 D1:ABB9 - - - - 21 D1:ABB9 - - - - ;;strcmp 22 D1:ABB9 - - - - ;;Determines if two strings are equal, and checks alphabetical sort order. 23 D1:ABB9 - - - - ;;Inputs: 24 D1:ABB9 - - - - ;; HL: String pointer 25 D1:ABB9 - - - - ;; DE: String pointer 26 D1:ABB9 - - - - ;;Outputs: 27 D1:ABB9 - - - - ;; Z: Set if equal, reset if not equal 28 D1:ABB9 - - - - ;; C: Set if string HL is alphabetically earlier than string DE 29 D1:ABB9 - - - - strcmp: 30 D1:ABB9 E5 - - - push hl 31 D1:ABBA D5 - - - push de 32 D1:ABBB - - - - strcmpLoop: 33 D1:ABBB 1A - - - ld a, (de) 34 D1:ABBC B7 - - - or a 35 D1:ABBD 28 07 - - jr z, strCmpEnd 36 D1:ABBF BE - - - cp (hl) 37 D1:ABC0 20 06 - - jr nz, strcmpExit 38 D1:ABC2 23 - - - inc hl 39 D1:ABC3 13 - - - inc de 40 D1:ABC4 18 F5 - - jr strcmpLoop 41 D1:ABC6 - - - - strcmpEnd: 42 D1:ABC6 7E - - - ld a, (hl) 43 D1:ABC7 B7 - - - or a 44 D1:ABC8 - - - - strcmpExit: 45 D1:ABC8 3F - - - ccf 46 D1:ABC9 D1 - - - pop de 47 D1:ABCA E1 - - - pop hl 48 D1:ABCB C9 - - - ret 49 D1:ABCC - - - - 50 D1:ABCC - - - - ;;strcpy 51 D1:ABCC - - - - ;;Copies a string. 52 D1:ABCC - - - - ;;Inputs: 53 D1:ABCC - - - - ;; HL: String pointer 54 D1:ABCC - - - - ;; DE: Destination 55 D1:ABCC - - - - ;;Notes: 56 D1:ABCC - - - - ;; This will trample into undefined territory if you try to copy a string into some 57 D1:ABCC - - - - ;;allocated memory it won't fit in. 58 D1:ABCC - - - - strcpy: 59 D1:ABCC D5 - - - push de 60 D1:ABCD E5 - - - push hl 61 D1:ABCE EB - - - ex de, hl 62 D1:ABCF 1A - - - _: ld a, (de) 63 D1:ABD0 77 - - - ld (hl), a 64 D1:ABD1 B7 - - - or a 65 D1:ABD2 28 04 - - jr z, _ 66 D1:ABD4 23 13 - - inc hl \ inc de 67 D1:ABD6 18 F7 - - jr -_ 68 D1:ABD8 E1 - - - _: pop hl 69 D1:ABD9 D1 - - - pop de 70 D1:ABDA C9 - - - ret 71 D1:ABDB - - - - 72 D1:ABDB - - - - ;;strchr 73 D1:ABDB - - - - ;;Returns a pointer on the first occurence of a character in a string. 74 D1:ABDB - - - - ;;Inputs: 75 D1:ABDB - - - - ;; HL: Haystack 76 D1:ABDB - - - - ;; B: Needle 77 D1:ABDB - - - - ;;Outputs: 78 D1:ABDB - - - - ;; HL: Pointer to first occurence of character 79 D1:ABDB - - - - ;; Z: Set if character found 80 D1:ABDB - - - - ;; A: Destroyed 81 D1:ABDB - - - - strchr: 82 D1:ABDB - - - - strchrLoop: 83 D1:ABDB 7E - - - ld a, (hl) 84 D1:ABDC B7 - - - or a 85 D1:ABDD 28 05 - - jr z, strchrNoCharFound 86 D1:ABDF B8 - - - cp b 87 D1:ABE0 C8 - - - ret z 88 D1:ABE1 23 - - - inc hl 89 D1:ABE2 18 F7 - - jr strchrLoop 90 D1:ABE4 - - - - strchrNoCharFound: 91 D1:ABE4 3C - - - inc a 92 D1:ABE5 C9 - - - ret 93 D1:ABE6 - - - - 94 D1:ABE6 - - - - ;;strtob 95 D1:ABE6 - - - - ;;Converts a string to a byte 96 D1:ABE6 - - - - ;;Inputs: 97 D1:ABE6 - - - - ;; HL: string pointer 98 D1:ABE6 - - - - ;;Outputs: 99 D1:ABE6 - - - - ;; A: byte 100 D1:ABE6 - - - - strtob: 101 D1:ABE6 C5 - - - push bc 102 D1:ABE7 D5 - - - push de 103 D1:ABE8 0E 00 - - ld c, 0 104 D1:ABEA - - - - strtobNumFind: 105 D1:ABEA 7E - - - ld a, (hl) 106 D1:ABEB FE 00 - - cp $00 107 D1:ABED CA 3F AC D1 jp z, strtobEXIT 108 D1:ABF1 0E 00 - - ld c, 0 109 D1:ABF3 D6 31 - - sub '1' 110 D1:ABF5 FE 3A - - cp '9' + 1 111 D1:ABF7 38 03 - - jr c, strtobNumWhile 112 D1:ABF9 23 - - - inc hl 113 D1:ABFA 18 EE - - jr strtobNumFind 114 D1:ABFC - - - - strtobNumWhile: 115 D1:ABFC E5 - - - push hl 116 D1:ABFD - - - - strtobNumWhileLoop: 117 D1:ABFD 79 - - - ld a, c 118 D1:ABFE FE 03 - - cp 3 119 D1:AC00 D2 11 AC D1 jp nc, strtobConvert 120 D1:AC04 7E - - - ld a, (hl) 121 D1:AC05 D6 2F - - sub '0' - 1 122 D1:AC07 38 08 - - jr c, strtobConvert 123 D1:AC09 FE 3A - - cp '9' + 1 124 D1:AC0B 30 04 - - jr nc, strtobConvert 125 D1:AC0D 23 - - - inc hl 126 D1:AC0E 0C - - - inc c 127 D1:AC0F 18 EC - - jr strtobNumWhileLoop 128 D1:AC11 - - - - strtobConvert: 129 D1:AC11 2B - - - dec hl 130 D1:AC12 7E - - - ld a, (hl) 131 D1:AC13 D6 30 - - sub '0' 132 D1:AC15 4F - - - ld c, a 133 D1:AC16 2B - - - dec hl 134 D1:AC17 D1 - - - pop de 135 D1:AC18 CD 79 A9 D1 call cpHLDE 136 D1:AC1C DA 3F AC D1 jp c, strtobExit 137 D1:AC20 7E - - - ld a, (hl) 138 D1:AC21 D6 30 - - sub '0' 139 D1:AC23 06 0A - - ld b, 10 140 D1:AC25 CD 8B A9 D1 call mulAbyB 141 D1:AC29 81 - - - add a, c 142 D1:AC2A 4F - - - ld c, a 143 D1:AC2B 2B - - - dec hl 144 D1:AC2C CD 79 A9 D1 call cpHLDE 145 D1:AC30 DA 3F AC D1 jp c, strtobExit 146 D1:AC34 7E - - - ld a, (hl) 147 D1:AC35 D6 30 - - sub '0' 148 D1:AC37 06 64 - - ld b, 100 149 D1:AC39 CD 8B A9 D1 call mulAbyB 150 D1:AC3D 81 - - - add a, c 151 D1:AC3E 4F - - - ld c, a 152 D1:AC3F - - - - strtobExit: 153 D1:AC3F 79 - - - ld a, c 154 D1:AC40 D1 - - - pop de 155 D1:AC41 C1 - - - pop bc 156 D1:AC42 C9 - - - ret 157 D1:AC43 - - - - 158 D1:AC43 - - - - ;;strtow 159 D1:AC43 - - - - ;;Converts a string to a byte 160 D1:AC43 - - - - ;;Inputs: 161 D1:AC43 - - - - ;; HL: string pointer 162 D1:AC43 - - - - ;;Outputs: 163 D1:AC43 - - - - ;; HL: byte 164 D1:AC43 - - - - strtow: 165 D1:AC43 C5 - - - push bc 166 D1:AC44 D5 - - - push de 167 D1:AC45 01 00 00 00 ld bc, 0 168 D1:AC49 - - - - strtowNumFind: 169 D1:AC49 7E - - - ld a, (hl) 170 D1:AC4A FE 00 - - cp $00 171 D1:AC4C CA E2 AC D1 jp z, strtowEXIT 172 D1:AC50 0E 00 - - ld c, 0 173 D1:AC52 D6 31 - - sub '1' 174 D1:AC54 FE 3A - - cp '9' + 1 175 D1:AC56 38 03 - - jr c, strtowNumWhile 176 D1:AC58 23 - - - inc hl 177 D1:AC59 18 EE - - jr strtowNumFind 178 D1:AC5B - - - - strtowNumWhile: 179 D1:AC5B E5 - - - push hl 180 D1:AC5C - - - - strtowNumWhileLoop: 181 D1:AC5C 79 - - - ld a, c 182 D1:AC5D FE 05 - - cp 5 183 D1:AC5F D2 70 AC D1 jp nc, strtowConvert 184 D1:AC63 7E - - - ld a, (hl) 185 D1:AC64 D6 2F - - sub '0' - 1 186 D1:AC66 38 08 - - jr c, strtowConvert 187 D1:AC68 FE 3A - - cp '9' + 1 188 D1:AC6A 30 04 - - jr nc, strtowConvert 189 D1:AC6C 23 - - - inc hl 190 D1:AC6D 0C - - - inc c 191 D1:AC6E 18 EC - - jr strtowNumWhileLoop 192 D1:AC70 - - - - strtowConvert: 193 D1:AC70 01 00 00 00 ld bc, 0 194 D1:AC74 2B - - - dec hl 195 D1:AC75 7E - - - ld a, (hl) 196 D1:AC76 D6 30 - - sub '0' 197 D1:AC78 01 00 00 00 ld bc, 0 198 D1:AC7C 4F - - - ld c, a 199 D1:AC7D 2B - - - dec hl 200 D1:AC7E - - - - 201 D1:AC7E D1 - - - pop de 202 D1:AC7F CD 79 A9 D1 call cpHLDE 203 D1:AC83 DA E2 AC D1 jp c, strtowExit 204 D1:AC87 7E - - - ld a, (hl) 205 D1:AC88 D6 30 - - sub '0' 206 D1:AC8A E5 - - - push hl 207 D1:AC8B 21 0A 00 00 ld hl, 10 208 D1:AC8F CD 93 A9 D1 call mulAbyHL 209 D1:AC93 09 - - - add hl, bc 210 D1:AC94 44 - - - ld b, h 211 D1:AC95 4D - - - ld c, l 212 D1:AC96 E1 - - - pop hl 213 D1:AC97 2B - - - dec hl 214 D1:AC98 - - - - 215 D1:AC98 CD 79 A9 D1 call cpHLDE 216 D1:AC9C DA E2 AC D1 jp c, strtowExit 217 D1:ACA0 7E - - - ld a, (hl) 218 D1:ACA1 D6 30 - - sub '0' 219 D1:ACA3 E5 - - - push hl 220 D1:ACA4 21 64 00 00 ld hl, 100 221 D1:ACA8 CD 93 A9 D1 call mulAbyHL 222 D1:ACAC 09 - - - add hl, bc 223 D1:ACAD 44 - - - ld b, h 224 D1:ACAE 4D - - - ld c, l 225 D1:ACAF E1 - - - pop hl 226 D1:ACB0 2B - - - dec hl 227 D1:ACB1 - - - - 228 D1:ACB1 CD 79 A9 D1 call cpHLDE 229 D1:ACB5 DA E2 AC D1 jp c, strtowExit 230 D1:ACB9 7E - - - ld a, (hl) 231 D1:ACBA D6 30 - - sub '0' 232 D1:ACBC E5 - - - push hl 233 D1:ACBD 21 E8 03 00 ld hl, 1000 234 D1:ACC1 CD 93 A9 D1 call mulAbyHL 235 D1:ACC5 09 - - - add hl, bc 236 D1:ACC6 44 - - - ld b, h 237 D1:ACC7 4D - - - ld c, l 238 D1:ACC8 E1 - - - pop hl 239 D1:ACC9 2B - - - dec hl 240 D1:ACCA - - - - 241 D1:ACCA CD 79 A9 D1 call cpHLDE 242 D1:ACCE DA E2 AC D1 jp c, strtowExit 243 D1:ACD2 7E - - - ld a, (hl) 244 D1:ACD3 D6 30 - - sub '0' 245 D1:ACD5 E5 - - - push hl 246 D1:ACD6 21 10 27 00 ld hl, 10000 247 D1:ACDA CD 93 A9 D1 call mulAbyHL 248 D1:ACDE 09 - - - add hl, bc 249 D1:ACDF 44 - - - ld b, h 250 D1:ACE0 4D - - - ld c, l 251 D1:ACE1 E1 - - - pop hl 252 D1:ACE2 - - - - 253 D1:ACE2 - - - - strtowExit: 254 D1:ACE2 21 00 00 00 ld hl, 0 255 D1:ACE6 60 - - - ld h, b 256 D1:ACE7 69 - - - ld l, c 257 D1:ACE8 D1 - - - pop de 258 D1:ACE9 C1 - - - pop bc 259 D1:ACEA C9 - - - ret 260 D1:ACEB - - - - 261 D1:ACEB - - - - ;;strxor 262 D1:ACEB - - - - ;;xor 2 strings together 263 D1:ACEB - - - - ;;Inputs: 264 D1:ACEB - - - - ;; HL: string 1 265 D1:ACEB - - - - ;; DE: string 2 266 D1:ACEB - - - - ;;Outputs: 267 D1:ACEB - - - - ;; HL: Xor String Pointer 268 D1:ACEB - - - - strxor: 269 D1:ACEB D5 - - - push de 270 D1:ACEC E5 - - - push hl 271 D1:ACED EB - - - ex de, hl 272 D1:ACEE - - - - strxorLoop: 273 D1:ACEE 1A - - - ld a, (de) 274 D1:ACEF B7 - - - or a, a 275 D1:ACF0 28 06 - - jr z, strxorEnd 276 D1:ACF2 AE - - - xor (hl) 277 D1:ACF3 12 - - - ld (de), a 278 D1:ACF4 13 - - - inc de 279 D1:ACF5 23 - - - inc hl 280 D1:ACF6 18 F6 - - jr strxorLoop 281 D1:ACF8 - - - - strxorEnd: 282 D1:ACF8 E1 - - - pop hl 283 D1:ACF9 D1 - - - pop de 284 D1:ACFA C9 - - - ret 285 D1:ACFB - - - - 286 D1:ACFB - - - - 287 D1:ACFB - - - - ;;toLower [Strings] 288 D1:ACFB - - - - ;;Converts every alpha character of a string to lowercase. 289 D1:ACFB - - - - ;;Inputs: 290 D1:ACFB - - - - ;; HL: Pointer to string 291 D1:ACFB - - - - ;;Notes: 292 D1:ACFB - - - - ;; This modifies the string in-place. 293 D1:ACFB - - - - ;toLower: 294 D1:ACFB - - - - ; push af \ push hl 295 D1:ACFB - - - - ; ld a, (hl) 296 D1:ACFB - - - - ; or a 297 D1:ACFB - - - - ; jr z, toLowerExit 298 D1:ACFB - - - - ; call isAlphaNum 299 D1:ACFB - - - - ; jr nc, toLowerNotUpperAlpha 300 D1:ACFB - - - - ; cp 'a' 301 D1:ACFB - - - - ; jr nc, toLowerNotUpperAlpha 302 D1:ACFB - - - - ; add a, 'a' - 'A' 303 D1:ACFB - - - - ; ld (hl), a 304 D1:ACFB - - - - ;toLowerNotUpperAlpha: 305 D1:ACFB - - - - ; inc hl 306 D1:ACFB - - - - ; jr toLower + 2 307 D1:ACFB - - - - ;toLowerExit: 308 D1:ACFB - - - - ; pop hl \ pop af 309 D1:ACFB - - - - ; ret 310 D1:ACFB - - - - 311 D1:ACFB - - - - ;;toUpper [Strings] 312 D1:ACFB - - - - ;;Converts every alpha character of a string to uppercase. 313 D1:ACFB - - - - ;;Inputs: 314 D1:ACFB - - - - ;; HL: Pointer to string 315 D1:ACFB - - - - ;;Notes: 316 D1:ACFB - - - - ;; This modifies the string in-place. 317 D1:ACFB - - - - ;toUpper: 318 D1:ACFB - - - - ; push af \ push hl 319 D1:ACFB - - - - ; ld a, (hl) 320 D1:ACFB - - - - ; or a 321 D1:ACFB - - - - ; jr z, toUpperExit 322 D1:ACFB - - - - ; call isAlphaNum 323 D1:ACFB - - - - ; jr nc, toUpperNotLowerAlpha 324 D1:ACFB - - - - ; cp 'a' 325 D1:ACFB - - - - ; jr c, toUpperNotLowerAlpha 326 D1:ACFB - - - - ; sub 'a' - 'A' 327 D1:ACFB - - - - ; ld (hl), a 328 D1:ACFB - - - - ;toUpperNotLowerAlpha: 329 D1:ACFB - - - - ; inc hl 330 D1:ACFB - - - - ; jr toUpper + 2 331 D1:ACFB - - - - ;toUpperExit: 332 D1:ACFB - - - - ; pop hl \ pop af 333 D1:ACFB - - - - ; ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" 12 D1:ACFB - - - - 13 D1:ACFB - - - - #include "includes/lib/std/Input.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Input.asm" 1 D1:ACFB - - - - ;;inputgetkey 2 D1:ACFB - - - - ;;Gets keycode 3 D1:ACFB - - - - ;;Outputs: 4 D1:ACFB - - - - ;; A: keycode 5 D1:ACFB - - - - ;;Destroys: 6 D1:ACFB - - - - ;; DE 7 D1:ACFB - - - - inputgetkey: 8 D1:ACFB EB - - - ex de, hl 9 D1:ACFC CD 4C 01 02 call _GetCSC 10 D1:AD00 EB - - - ex de, hl 11 D1:AD01 B7 - - - or a 12 D1:AD02 28 F7 - - jr z, inputgetkey 13 D1:AD04 C9 - - - ret 14 D1:AD05 - - - - 15 D1:AD05 - - - - ;;inputstr 16 D1:AD05 - - - - ;;Inputs string of length [Buffer Size] and puts it in (Destination) 17 D1:AD05 - - - - ;;Inputs: 18 D1:AD05 - - - - ;; HL: Destination 19 D1:AD05 - - - - ;; D[E]: Buffer Size 20 D1:AD05 - - - - ;;Ouptuts: 21 D1:AD05 - - - - ;; (HL): String 22 D1:AD05 - - - - inputstr: 23 D1:AD05 D5 - - - push de 24 D1:AD06 E5 - - - push hl 25 D1:AD07 ED 53 25 AE D1 - - - ld (inputstrSizeBuf), de 26 D1:AD0C E5 - - - push hl 27 D1:AD0D D5 - - - push de 28 D1:AD0E 21 96 05 D0 ld hl, CurCol 29 D1:AD12 11 27 AE D1 ld de, inputstrCurColBuf 30 D1:AD16 CD 49 AA D1 call bytecpy 31 D1:AD1A 21 95 05 D0 ld hl, CurRow 32 D1:AD1E 11 28 AE D1 ld de, inputstrCurRowBuf 33 D1:AD22 CD 49 AA D1 call bytecpy 34 D1:AD26 D1 - - - pop de 35 D1:AD27 E1 - - - pop hl 36 D1:AD28 - - - - 37 D1:AD28 FD CB 12 9E res Shift2nd, (IY + ShiftFlags) 38 D1:AD2C CD B0 08 02 call _CursorOn 39 D1:AD30 - - - - 40 D1:AD30 AF - - - xor a 41 D1:AD31 47 - - - ld b, a 42 D1:AD32 - - - - inputstrKeyInput: 43 D1:AD32 CD FE AA D1 call cursorcurunderreset 44 D1:AD36 CD FB AC D1 call inputgetkey 45 D1:AD3A - - - - 46 D1:AD3A FE 36 - - cp sk2nd 47 D1:AD3C CA 93 AD D1 jp z, inputstrKey2nd 48 D1:AD40 FE 38 - - cp skDel 49 D1:AD42 CA A1 AD D1 jp z, inputstrKeyDel 50 D1:AD46 FE 0F - - cp skClear 51 D1:AD48 CA C1 AD D1 jp z, inputstrKeyClear 52 D1:AD4C FE 09 - - cp skEnter 53 D1:AD4E CA 11 AE D1 jp z, inputstrKeyEnter 54 D1:AD52 - - - - 55 D1:AD52 4F - - - ld c, a 56 D1:AD53 78 - - - ld a, b 57 D1:AD54 D5 - - - push de 58 D1:AD55 ED 5B 25 AE D1 - - - ld de, (inputstrSizeBuf) 59 D1:AD5A BB - - - cp e 60 D1:AD5B D1 - - - pop de 61 D1:AD5C 28 D4 - - jr z, inputstrKeyInput 62 D1:AD5E 79 - - - ld a, c 63 D1:AD5F - - - - 64 D1:AD5F D6 0A - - sub skAdd 65 D1:AD61 38 CF - - jr c, inputstrKeyInput 66 D1:AD63 FE 26 - - cp skMath - skAdd + 1 67 D1:AD65 30 CB - - jr nc, inputstrKeyInput 68 D1:AD67 - - - - 69 D1:AD67 FD CB 12 5E bit Shift2nd, (IY + ShiftFlags) ; TIOS BASED 70 D1:AD6B CC CE AA D1 call z, chartoascii 71 D1:AD6F C4 EE AA D1 call nz, charnumsymtoascii 72 D1:AD73 - - - - 73 D1:AD73 FE FF - - cp $FF 74 D1:AD75 28 BB - - jr z, inputstrKeyInput 75 D1:AD77 - - - - 76 D1:AD77 FD CB 05 96 res textScrolled, (iy+textFlags) 77 D1:AD7B - - - - 78 D1:AD7B CD B8 07 02 call _PutC 79 D1:AD7F - - - - 80 D1:AD7F 77 - - - ld (hl), a 81 D1:AD80 23 - - - inc hl 82 D1:AD81 04 - - - inc b 83 D1:AD82 - - - - 84 D1:AD82 FD CB 05 56 bit textScrolled, (iy+textFlags) 85 D1:AD86 28 AA - - jr z, inputstrKeyInput 86 D1:AD88 E5 - - - push hl 87 D1:AD89 21 28 AE D1 ld hl, inputstrCurRowBuf 88 D1:AD8D 7E - - - ld a, (hl) 89 D1:AD8E 3D - - - dec a 90 D1:AD8F 77 - - - ld (hl), a 91 D1:AD90 E1 - - - pop hl 92 D1:AD91 18 9F - - jr inputstrKeyInput 93 D1:AD93 - - - - inputstrKey2nd: 94 D1:AD93 E5 - - - push hl 95 D1:AD94 21 92 00 D0 ld hl, Flags + ShiftFlags 96 D1:AD98 7E - - - ld a, (hl) 97 D1:AD99 EE 08 - - xor 1 << Shift2nd ; Toggle state of Shift2nd flag 98 D1:AD9B 77 - - - ld (hl), a 99 D1:AD9C E1 - - - pop hl 100 D1:AD9D C3 32 AD D1 jp inputstrKeyInput 101 D1:ADA1 - - - - inputstrKeyDel: 102 D1:ADA1 78 - - - ld a, b 103 D1:ADA2 FE 00 - - cp 0 104 D1:ADA4 CA 32 AD D1 jp z, inputstrKeyInput 105 D1:ADA8 - - - - 106 D1:ADA8 3E 20 - - ld a, ' ' 107 D1:ADAA CD B4 07 02 call _PutMap 108 D1:ADAE - - - - 109 D1:ADAE E5 - - - push hl 110 D1:ADAF 21 96 05 D0 ld hl, CurCol 111 D1:ADB3 35 - - - dec (hl) 112 D1:ADB4 E1 - - - pop hl 113 D1:ADB5 - - - - 114 D1:ADB5 3E 20 - - ld a, ' ' 115 D1:ADB7 CD B4 07 02 call _PutMap 116 D1:ADBB - - - - 117 D1:ADBB 2B - - - dec hl 118 D1:ADBC 05 - - - dec b 119 D1:ADBD C3 32 AD D1 jp inputstrKeyInput 120 D1:ADC1 - - - - 121 D1:ADC1 - - - - inputstrKeyClear: 122 D1:ADC1 78 - - - ld a, b 123 D1:ADC2 FE 00 - - cp 0 124 D1:ADC4 CA 32 AD D1 jp z, inputstrKeyInput 125 D1:ADC8 - - - - 126 D1:ADC8 E5 - - - push hl 127 D1:ADC9 D5 - - - push de 128 D1:ADCA 21 27 AE D1 ld hl, inputstrCurColBuf 129 D1:ADCE 11 96 05 D0 ld de, CurCol 130 D1:ADD2 CD 49 AA D1 call bytecpy 131 D1:ADD6 21 28 AE D1 ld hl, inputstrCurRowBuf 132 D1:ADDA 11 95 05 D0 ld de, CurRow 133 D1:ADDE CD 49 AA D1 call bytecpy 134 D1:ADE2 D1 - - - pop de 135 D1:ADE3 E1 - - - pop hl 136 D1:ADE4 - - - - 137 D1:ADE4 3E 20 - - ld a, ' ' 138 D1:ADE6 04 - - - inc b 139 D1:ADE7 - - - - inputstrKeyClearLoop: 140 D1:ADE7 CD B8 07 02 call _PutC 141 D1:ADEB 10 FA - - djnz inputstrKeyClearLoop 142 D1:ADED 06 00 - - ld b, 0 143 D1:ADEF - - - - 144 D1:ADEF D5 - - - push de 145 D1:ADF0 E5 - - - push hl 146 D1:ADF1 21 27 AE D1 ld hl, inputstrCurColBuf 147 D1:ADF5 11 96 05 D0 ld de, CurCol 148 D1:ADF9 CD 49 AA D1 call bytecpy 149 D1:ADFD 21 28 AE D1 ld hl, inputstrCurRowBuf 150 D1:AE01 11 95 05 D0 ld de, CurRow 151 D1:AE05 CD 49 AA D1 call bytecpy 152 D1:AE09 E1 - - - pop hl 153 D1:AE0A D1 - - - pop de 154 D1:AE0B E1 - - - pop hl 155 D1:AE0C E5 - - - push hl 156 D1:AE0D C3 32 AD D1 jp inputstrKeyInput 157 D1:AE11 - - - - 158 D1:AE11 - - - - inputstrKeyEnter: 159 D1:AE11 36 00 - - ld (hl), 0 160 D1:AE13 CD A8 08 02 call _CursorOff 161 D1:AE17 3E 20 - - ld a, ' ' 162 D1:AE19 CD B4 07 02 call _PutMap 163 D1:AE1D E1 - - - pop hl 164 D1:AE1E D1 - - - pop de 165 D1:AE1F FD CB 12 9E res Shift2nd, (IY + ShiftFlags) 166 D1:AE23 C9 - - - ret 167 D1:AE24 - - - - 168 D1:AE24 00 - - - inputstrFlags: .db %00000000 169 D1:AE25 - - - - ; 0: num Flag 170 D1:AE25 00 00 - - inputstrSizeBuf: .dw $0000 171 D1:AE27 00 - - - inputstrCurColBuf: .db $00 172 D1:AE28 00 - - - inputstrCurRowBuf: .db $00 173 D1:AE29 - - - - 174 D1:AE29 - - - - ;;inputcharstr 175 D1:AE29 - - - - ;;Inputs string of (only letters) of length [Buffer Size] and puts it in (Destination) 176 D1:AE29 - - - - ;;Inputs: 177 D1:AE29 - - - - ;; HL: Destination 178 D1:AE29 - - - - ;; D[E]: Buffer Size 179 D1:AE29 - - - - ;;Ouptuts: 180 D1:AE29 - - - - ;; (HL): String 181 D1:AE29 - - - - inputcharstr: 182 D1:AE29 D5 - - - push de 183 D1:AE2A E5 - - - push hl 184 D1:AE2B ED 53 39 AF D1 - - - ld (inputcharstrSizeBuf), de 185 D1:AE30 E5 - - - push hl 186 D1:AE31 D5 - - - push de 187 D1:AE32 21 96 05 D0 ld hl, CurCol 188 D1:AE36 11 3B AF D1 ld de, inputcharstrCurColBuf 189 D1:AE3A CD 49 AA D1 call bytecpy 190 D1:AE3E 21 95 05 D0 ld hl, CurRow 191 D1:AE42 11 3C AF D1 ld de, inputcharstrCurRowBuf 192 D1:AE46 CD 49 AA D1 call bytecpy 193 D1:AE4A D1 - - - pop de 194 D1:AE4B E1 - - - pop hl 195 D1:AE4C - - - - 196 D1:AE4C CD B0 08 02 call _CursorOn 197 D1:AE50 - - - - 198 D1:AE50 AF - - - xor a 199 D1:AE51 47 - - - ld b, a 200 D1:AE52 - - - - inputcharstrKeyInput: 201 D1:AE52 CD FE AA D1 call cursorcurunderreset 202 D1:AE56 CD FB AC D1 call inputgetkey 203 D1:AE5A - - - - 204 D1:AE5A FE 38 - - cp skDel 205 D1:AE5C CA A5 AE D1 jp z, inputcharstrKeyDel 206 D1:AE60 FE 0F - - cp skClear 207 D1:AE62 CA C5 AE D1 jp z, inputcharstrKeyClear 208 D1:AE66 FE 09 - - cp skEnter 209 D1:AE68 CA 2A AF D1 jp z, inputcharstrKeyEnter 210 D1:AE6C - - - - 211 D1:AE6C 4F - - - ld c, a 212 D1:AE6D 78 - - - ld a, b 213 D1:AE6E D5 - - - push de 214 D1:AE6F ED 5B 39 AF D1 - - - ld de, (inputcharstrSizeBuf) 215 D1:AE74 BB - - - cp e 216 D1:AE75 D1 - - - pop de 217 D1:AE76 28 DA - - jr z, inputcharstrKeyInput 218 D1:AE78 79 - - - ld a, c 219 D1:AE79 - - - - 220 D1:AE79 D6 0A - - sub skAdd 221 D1:AE7B 38 D5 - - jr c, inputcharstrKeyInput 222 D1:AE7D FE 26 - - cp skMath - skAdd + 1 223 D1:AE7F 30 D1 - - jr nc, inputcharstrKeyInput 224 D1:AE81 - - - - 225 D1:AE81 CD CE AA D1 call chartoascii 226 D1:AE85 - - - - 227 D1:AE85 FE FF - - cp $FF 228 D1:AE87 28 C9 - - jr z, inputcharstrKeyInput 229 D1:AE89 - - - - 230 D1:AE89 FD CB 05 96 res textScrolled, (iy+textFlags) 231 D1:AE8D - - - - 232 D1:AE8D CD B8 07 02 call _PutC 233 D1:AE91 - - - - 234 D1:AE91 77 - - - ld (hl), a 235 D1:AE92 23 - - - inc hl 236 D1:AE93 04 - - - inc b 237 D1:AE94 - - - - 238 D1:AE94 FD CB 05 56 bit textScrolled, (iy+textFlags) 239 D1:AE98 28 B8 - - jr z, inputcharstrKeyInput 240 D1:AE9A E5 - - - push hl 241 D1:AE9B 21 3C AF D1 ld hl, inputcharstrCurRowBuf 242 D1:AE9F 7E - - - ld a, (hl) 243 D1:AEA0 3D - - - dec a 244 D1:AEA1 77 - - - ld (hl), a 245 D1:AEA2 E1 - - - pop hl 246 D1:AEA3 18 AD - - jr inputcharstrKeyInput 247 D1:AEA5 - - - - inputcharstrKeyDel: 248 D1:AEA5 78 - - - ld a, b 249 D1:AEA6 FE 00 - - cp 0 250 D1:AEA8 CA 52 AE D1 jp z, inputcharstrKeyInput 251 D1:AEAC - - - - 252 D1:AEAC 3E 20 - - ld a, ' ' 253 D1:AEAE CD B4 07 02 call _PutMap 254 D1:AEB2 - - - - 255 D1:AEB2 E5 - - - push hl 256 D1:AEB3 21 96 05 D0 ld hl, CurCol 257 D1:AEB7 35 - - - dec (hl) 258 D1:AEB8 E1 - - - pop hl 259 D1:AEB9 - - - - 260 D1:AEB9 3E 20 - - ld a, ' ' 261 D1:AEBB CD B4 07 02 call _PutMap 262 D1:AEBF - - - - 263 D1:AEBF 2B - - - dec hl 264 D1:AEC0 05 - - - dec b 265 D1:AEC1 C3 52 AE D1 jp inputcharstrKeyInput 266 D1:AEC5 - - - - 267 D1:AEC5 - - - - inputcharstrKeyClear: 268 D1:AEC5 78 - - - ld a, b 269 D1:AEC6 FE 00 - - cp 0 270 D1:AEC8 CA 52 AE D1 jp z, inputcharstrKeyInput 271 D1:AECC - - - - 272 D1:AECC E5 - - - push hl 273 D1:AECD 21 95 05 D0 ld hl, CurRow 274 D1:AED1 4E - - - ld c, (hl) 275 D1:AED2 E1 - - - pop hl 276 D1:AED3 - - - - 277 D1:AED3 E5 - - - push hl 278 D1:AED4 D5 - - - push de 279 D1:AED5 21 3B AF D1 ld hl, inputcharstrCurColBuf 280 D1:AED9 11 96 05 D0 ld de, CurCol 281 D1:AEDD CD 49 AA D1 call bytecpy 282 D1:AEE1 21 3C AF D1 ld hl, inputcharstrCurRowBuf 283 D1:AEE5 11 95 05 D0 ld de, CurRow 284 D1:AEE9 CD 49 AA D1 call bytecpy 285 D1:AEED D1 - - - pop de 286 D1:AEEE E1 - - - pop hl 287 D1:AEEF - - - - 288 D1:AEEF 3E 20 - - ld a, ' ' 289 D1:AEF1 04 - - - inc b 290 D1:AEF2 - - - - inputcharstrKeyClearLoop: 291 D1:AEF2 CD B8 07 02 call _PutC 292 D1:AEF6 10 FA - - djnz inputcharstrKeyClearLoop 293 D1:AEF8 - - - - 294 D1:AEF8 E5 - - - push hl 295 D1:AEF9 D5 - - - push de 296 D1:AEFA 21 3B AF D1 ld hl, inputcharstrCurColBuf 297 D1:AEFE 11 96 05 D0 ld de, CurCol 298 D1:AF02 CD 49 AA D1 call bytecpy 299 D1:AF06 D1 - - - pop de 300 D1:AF07 E1 - - - pop hl 301 D1:AF08 - - - - 302 D1:AF08 D5 - - - push de 303 D1:AF09 E5 - - - push hl 304 D1:AF0A 21 3B AF D1 ld hl, inputcharstrCurColBuf 305 D1:AF0E 11 96 05 D0 ld de, CurCol 306 D1:AF12 CD 49 AA D1 call bytecpy 307 D1:AF16 21 3C AF D1 ld hl, inputcharstrCurRowBuf 308 D1:AF1A 11 95 05 D0 ld de, CurRow 309 D1:AF1E CD 49 AA D1 call bytecpy 310 D1:AF22 E1 - - - pop hl 311 D1:AF23 D1 - - - pop de 312 D1:AF24 E1 - - - pop hl 313 D1:AF25 E5 - - - push hl 314 D1:AF26 C3 52 AE D1 jp inputcharstrKeyInput 315 D1:AF2A - - - - 316 D1:AF2A - - - - inputcharstrKeyEnter: 317 D1:AF2A 36 00 - - ld (hl), 0 318 D1:AF2C CD A8 08 02 call _CursorOff 319 D1:AF30 3E 20 - - ld a, ' ' 320 D1:AF32 CD B4 07 02 call _PutMap 321 D1:AF36 E1 - - - pop hl 322 D1:AF37 D1 - - - pop de 323 D1:AF38 C9 - - - ret 324 D1:AF39 - - - - 325 D1:AF39 00 00 - - inputcharstrSizeBuf: .dw $0000 326 D1:AF3B 00 - - - inputcharstrCurColBuf: .db $00 327 D1:AF3C 00 - - - inputcharstrCurRowBuf: .db $00 328 D1:AF3D - - - - 329 D1:AF3D - - - - ;;inputnumstr 330 D1:AF3D - - - - ;;Inputs string of (only numbers) of length [Buffer Size] and puts it in (Destination) 331 D1:AF3D - - - - ;;Inputs: 332 D1:AF3D - - - - ;; HL: Destination 333 D1:AF3D - - - - ;; D[E]: Buffer Size 334 D1:AF3D - - - - ;;Ouptuts: 335 D1:AF3D - - - - ;; (HL): String 336 D1:AF3D - - - - inputnumstr: 337 D1:AF3D D5 - - - push de 338 D1:AF3E E5 - - - push hl 339 D1:AF3F ED 53 3D B0 D1 - - - ld (inputnumstrSizeBuf), de 340 D1:AF44 E5 - - - push hl 341 D1:AF45 D5 - - - push de 342 D1:AF46 21 96 05 D0 ld hl, CurCol 343 D1:AF4A 11 3F B0 D1 ld de, inputnumstrCurColBuf 344 D1:AF4E CD 49 AA D1 call bytecpy 345 D1:AF52 21 95 05 D0 ld hl, CurRow 346 D1:AF56 11 40 B0 D1 ld de, inputnumstrCurRowBuf 347 D1:AF5A CD 49 AA D1 call bytecpy 348 D1:AF5E D1 - - - pop de 349 D1:AF5F E1 - - - pop hl 350 D1:AF60 - - - - 351 D1:AF60 CD B0 08 02 call _CursorOn 352 D1:AF64 - - - - 353 D1:AF64 AF - - - xor a 354 D1:AF65 47 - - - ld b, a 355 D1:AF66 - - - - 356 D1:AF66 - - - - inputnumstrKeyInput: 357 D1:AF66 CD FE AA D1 call cursorcurunderreset 358 D1:AF6A CD FB AC D1 call inputgetkey 359 D1:AF6E - - - - 360 D1:AF6E FE 38 - - cp skDel 361 D1:AF70 CA B9 AF D1 jp z, inputnumstrKeyDel 362 D1:AF74 FE 0F - - cp skClear 363 D1:AF76 CA D9 AF D1 jp z, inputnumstrKeyClear 364 D1:AF7A FE 09 - - cp skEnter 365 D1:AF7C CA 2E B0 D1 jp z, inputnumstrKeyEnter 366 D1:AF80 - - - - 367 D1:AF80 4F - - - ld c, a 368 D1:AF81 78 - - - ld a, b 369 D1:AF82 D5 - - - push de 370 D1:AF83 ED 5B 3D B0 D1 - - - ld de, (inputnumstrSizeBuf) 371 D1:AF88 BB - - - cp e 372 D1:AF89 D1 - - - pop de 373 D1:AF8A 28 DA - - jr z, inputnumstrKeyInput 374 D1:AF8C 79 - - - ld a, c 375 D1:AF8D - - - - 376 D1:AF8D D6 0A - - sub skAdd 377 D1:AF8F 38 D5 - - jr c, inputnumstrKeyInput 378 D1:AF91 FE 26 - - cp skMath - skAdd + 1 379 D1:AF93 30 D1 - - jr nc, inputnumstrKeyInput 380 D1:AF95 - - - - 381 D1:AF95 CD DE AA D1 call charnumtoascii 382 D1:AF99 FE FF - - cp $FF 383 D1:AF9B 28 C9 - - jr z, inputnumstrKeyInput 384 D1:AF9D - - - - 385 D1:AF9D FD CB 05 96 res textScrolled, (iy+textFlags) 386 D1:AFA1 - - - - 387 D1:AFA1 CD B8 07 02 call _PutC 388 D1:AFA5 - - - - 389 D1:AFA5 77 - - - ld (hl), a 390 D1:AFA6 23 - - - inc hl 391 D1:AFA7 04 - - - inc b 392 D1:AFA8 - - - - 393 D1:AFA8 FD CB 05 56 bit textScrolled, (iy+textFlags) 394 D1:AFAC 28 B8 - - jr z, inputnumstrKeyInput 395 D1:AFAE E5 - - - push hl 396 D1:AFAF 21 40 B0 D1 ld hl, inputnumstrCurRowBuf 397 D1:AFB3 7E - - - ld a, (hl) 398 D1:AFB4 3D - - - dec a 399 D1:AFB5 77 - - - ld (hl), a 400 D1:AFB6 E1 - - - pop hl 401 D1:AFB7 18 AD - - jr inputnumstrKeyInput 402 D1:AFB9 - - - - inputnumstrkeydel: 403 D1:AFB9 78 - - - ld a, b 404 D1:AFBA FE 00 - - cp 0 405 D1:AFBC CA 66 AF D1 jp z, inputnumstrKeyInput 406 D1:AFC0 - - - - 407 D1:AFC0 3E 20 - - ld a, ' ' 408 D1:AFC2 CD B4 07 02 call _PutMap 409 D1:AFC6 - - - - 410 D1:AFC6 E5 - - - push hl 411 D1:AFC7 21 96 05 D0 ld hl, CurCol 412 D1:AFCB 35 - - - dec (hl) 413 D1:AFCC E1 - - - pop hl 414 D1:AFCD - - - - 415 D1:AFCD 3E 20 - - ld a, ' ' 416 D1:AFCF CD B4 07 02 call _PutMap 417 D1:AFD3 - - - - 418 D1:AFD3 2B - - - dec hl 419 D1:AFD4 05 - - - dec b 420 D1:AFD5 C3 66 AF D1 jp inputnumstrKeyInput 421 D1:AFD9 - - - - 422 D1:AFD9 - - - - inputnumstrKeyClear: 423 D1:AFD9 78 - - - ld a, b 424 D1:AFDA FE 00 - - cp 0 425 D1:AFDC CA 66 AF D1 jp z, inputnumstrKeyInput 426 D1:AFE0 - - - - 427 D1:AFE0 E5 - - - push hl 428 D1:AFE1 21 95 05 D0 ld hl, CurRow 429 D1:AFE5 4E - - - ld c, (hl) 430 D1:AFE6 E1 - - - pop hl 431 D1:AFE7 - - - - 432 D1:AFE7 E5 - - - push hl 433 D1:AFE8 D5 - - - push de 434 D1:AFE9 21 3F B0 D1 ld hl, inputnumstrCurColBuf 435 D1:AFED 11 96 05 D0 ld de, CurCol 436 D1:AFF1 CD 49 AA D1 call bytecpy 437 D1:AFF5 21 40 B0 D1 ld hl, inputnumstrCurRowBuf 438 D1:AFF9 11 95 05 D0 ld de, CurRow 439 D1:AFFD CD 49 AA D1 call bytecpy 440 D1:B001 D1 - - - pop de 441 D1:B002 E1 - - - pop hl 442 D1:B003 - - - - 443 D1:B003 3E 20 - - ld a, ' ' 444 D1:B005 04 - - - inc b 445 D1:B006 - - - - inputnumstrKeyClearLoop: 446 D1:B006 CD B8 07 02 call _PutC 447 D1:B00A 10 FA - - djnz inputnumstrKeyClearLoop 448 D1:B00C - - - - 449 D1:B00C D5 - - - push de 450 D1:B00D E5 - - - push hl 451 D1:B00E 21 3F B0 D1 ld hl, inputnumstrCurColBuf 452 D1:B012 11 96 05 D0 ld de, CurCol 453 D1:B016 CD 49 AA D1 call bytecpy 454 D1:B01A 21 40 B0 D1 ld hl, inputnumstrCurRowBuf 455 D1:B01E 11 95 05 D0 ld de, CurRow 456 D1:B022 CD 49 AA D1 call bytecpy 457 D1:B026 E1 - - - pop hl 458 D1:B027 D1 - - - pop de 459 D1:B028 E1 - - - pop hl 460 D1:B029 E5 - - - push hl 461 D1:B02A C3 66 AF D1 jp inputnumstrKeyInput 462 D1:B02E - - - - 463 D1:B02E - - - - inputnumstrKeyEnter: 464 D1:B02E 36 00 - - ld (hl), 0 465 D1:B030 CD A8 08 02 call _CursorOff 466 D1:B034 3E 20 - - ld a, ' ' 467 D1:B036 CD B4 07 02 call _PutMap 468 D1:B03A E1 - - - pop hl 469 D1:B03B D1 - - - pop de 470 D1:B03C C9 - - - ret 471 D1:B03D - - - - 472 D1:B03D 00 00 - - inputnumstrSizeBuf: .dw $0000 473 D1:B03F 00 - - - inputnumstrCurColBuf: .db $00 474 D1:B040 00 - - - inputnumstrCurRowBuf: .db $00 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc" Listing for file "FSHa.asm" 77 D1:B041 - - - - #include "includes/lib/fsh/fsh.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" 1 D1:B041 - - - - #include "includes/lib/fsh/Command.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Command.asm" 1 D1:B041 - - - - ;;commandfill 2 D1:B041 - - - - ;;Fills command mem with byte a 3 D1:B041 - - - - ;;Inputs: 4 D1:B041 - - - - ;; A: byte 5 D1:B041 - - - - commandfill: 6 D1:B041 E5 - - - push hl 7 D1:B042 C5 - - - push bc 8 D1:B043 D5 - - - push de 9 D1:B044 06 00 - - ld b, 0 10 D1:B046 11 00 00 00 ld de, 0 11 D1:B04A 4F - - - ld c, a 12 D1:B04B 21 9F EA D0 ld hl, FshCmd 13 D1:B04F - - - - commandfillLoop: 14 D1:B04F 71 - - - ld (hl), c 15 D1:B050 23 - - - inc hl 16 D1:B051 04 - - - inc b 17 D1:B052 13 - - - inc de 18 D1:B053 78 - - - ld a, b 19 D1:B054 FE 40 - - cp FshCmdSize 20 D1:B056 38 F7 - - jr c, commandfillLoop 21 D1:B058 D1 - - - pop de 22 D1:B059 C1 - - - pop bc 23 D1:B05A E1 - - - pop hl 24 D1:B05B C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" 2 D1:B05C - - - - #include "includes/lib/fsh/Parse.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Parse.asm" 1 D1:B05C - - - - ;;fshparsecommand 2 D1:B05C - - - - ;;Inputs: 3 D1:B05C - - - - ;; HL: FshCmd 4 D1:B05C - - - - ;;b = buf row 5 D1:B05C - - - - ;;c = char in row 6 D1:B05C - - - - ;de = scratch 7 D1:B05C - - - - fshparsecommand: 8 D1:B05C E5 - - - push hl 9 D1:B05D C5 - - - push bc 10 D1:B05E D5 - - - push de 11 D1:B05F E5 - - - push hl 12 D1:B060 E5 - - - push hl 13 D1:B061 21 73 B1 D1 ld hl, fshparsecommandCmd 14 D1:B065 06 2D - - ld b, 45 15 D1:B067 3E 00 - - ld a, $00 16 D1:B069 CD 51 AA D1 call memset 17 D1:B06D E1 - - - pop hl 18 D1:B06E - - - - 19 D1:B06E 01 00 00 00 ld bc, 0 20 D1:B072 11 00 00 00 ld de, 0 21 D1:B076 - - - - fshparsecommandLoop: 22 D1:B076 7E - - - ld a, (hl) 23 D1:B077 - - - - fshparsecommandCheckSpace: 24 D1:B077 FE 20 - - cp ' ' ;end of word 25 D1:B079 20 0C - - jr nz, fshparsecommandCheckEnd 26 D1:B07B 3E 00 - - ld a, $00 27 D1:B07D CD A6 B1 D1 call fshparsecommandCopyChar 28 D1:B081 0E 00 - - ld c, 0 29 D1:B083 04 - - - inc b 30 D1:B084 23 - - - inc hl 31 D1:B085 18 EF - - jr fshparsecommandLoop 32 D1:B087 - - - - 33 D1:B087 - - - - fshparsecommandCheckEnd: 34 D1:B087 FE 00 - - cp $00 ;end of string 35 D1:B089 28 13 - - jr z, fshparsecommandCheckArgStatus 36 D1:B08B - - - - 37 D1:B08B - - - - fshparsecommandLoopEnd: 38 D1:B08B CD A6 B1 D1 call fshparsecommandCopyChar 39 D1:B08F 23 - - - inc hl 40 D1:B090 0C - - - inc c 41 D1:B091 - - - - 42 D1:B091 79 - - - ld a, c 43 D1:B092 FE 08 - - cp FshCmdCmdSize 44 D1:B094 20 E0 - - jr nz, fshparsecommandLoop 45 D1:B096 - - - - ;inc hl 46 D1:B096 0E 00 - - ld c, 0 47 D1:B098 04 - - - inc b 48 D1:B099 78 - - - ld a, b 49 D1:B09A FE 05 - - cp 5 50 D1:B09C 20 D8 - - jr nz, fshparsecommandLoop 51 D1:B09E - - - - ; ld bc, 0 52 D1:B09E - - - - 53 D1:B09E - - - - fshparsecommandCheckArgStatus: 54 D1:B09E AF - - - xor a 55 D1:B09F 21 CD EA D0 ld hl, FshCmdArgFlags 56 D1:B0A3 77 - - - ld (hl), a 57 D1:B0A4 - - - - fshparsecommandCheckArg0: 58 D1:B0A4 21 7C B1 D1 ld hl, fshparsecommandArg0 59 D1:B0A8 7E - - - ld a, (hl) 60 D1:B0A9 FE 00 - - cp $00 61 D1:B0AB 28 27 - - jr z, fshparsecommandCheckArg1 62 D1:B0AD 21 CD EA D0 ld hl, FshCmdArgFlags 63 D1:B0B1 CB C6 - - set 0, (hl) 64 D1:B0B3 7E - - - ld a, (hl) 65 D1:B0B4 21 7C B1 D1 ld hl, fshparsecommandArg0 66 D1:B0B8 7E - - - ld a, (hl) 67 D1:B0B9 D6 30 - - sub '0' 68 D1:B0BB FE 0A - - cp '9' - '0' + 1 69 D1:B0BD 30 15 - - jr nc, fshparsecommandCheckArg1 70 D1:B0BF CD 43 AC D1 call strtow 71 D1:B0C3 11 7C B1 D1 ld de, fshparsecommandArg0 72 D1:B0C7 EB - - - ex de, hl 73 D1:B0C8 73 - - - ld (hl), e 74 D1:B0C9 23 - - - inc hl 75 D1:B0CA 72 - - - ld (hl), d 76 D1:B0CB 34 - - - inc (hl) 77 D1:B0CC 36 00 - - ld (hl), $00 78 D1:B0CE 21 CD EA D0 ld hl, FshCmdArgFlags 79 D1:B0D2 CB CE - - set 1, (hl) 80 D1:B0D4 - - - - fshparsecommandCheckArg1: 81 D1:B0D4 21 85 B1 D1 ld hl, fshparsecommandArg1 82 D1:B0D8 7E - - - ld a, (hl) 83 D1:B0D9 FE 00 - - cp $00 84 D1:B0DB 28 26 - - jr z, fshparsecommandCheckArg2 85 D1:B0DD 21 CD EA D0 ld hl, FshCmdArgFlags 86 D1:B0E1 CB D6 - - set 2, (hl) 87 D1:B0E3 21 85 B1 D1 ld hl, fshparsecommandArg1 88 D1:B0E7 7E - - - ld a, (hl) 89 D1:B0E8 D6 30 - - sub '0' 90 D1:B0EA FE 0A - - cp '9' - '0' + 1 91 D1:B0EC 30 15 - - jr nc, fshparsecommandCheckArg2 92 D1:B0EE CD 43 AC D1 call strtow 93 D1:B0F2 11 85 B1 D1 ld de, fshparsecommandArg1 94 D1:B0F6 EB - - - ex de, hl 95 D1:B0F7 73 - - - ld (hl), e 96 D1:B0F8 23 - - - inc hl 97 D1:B0F9 72 - - - ld (hl), d 98 D1:B0FA 23 - - - inc hl 99 D1:B0FB 36 00 - - ld (hl), $00 100 D1:B0FD 21 CD EA D0 ld hl, FshCmdArgFlags 101 D1:B101 CB DE - - set 3, (hl) 102 D1:B103 - - - - fshparsecommandCheckArg2: 103 D1:B103 21 8E B1 D1 ld hl, fshparsecommandArg2 104 D1:B107 7E - - - ld a, (hl) 105 D1:B108 FE 00 - - cp $00 106 D1:B10A 28 26 - - jr z, fshparsecommandCheckArg3 107 D1:B10C 21 CD EA D0 ld hl, FshCmdArgFlags 108 D1:B110 CB E6 - - set 4, (hl) 109 D1:B112 21 8E B1 D1 ld hl, fshparsecommandArg2 110 D1:B116 7E - - - ld a, (hl) 111 D1:B117 D6 30 - - sub '0' 112 D1:B119 FE 0A - - cp '9' - '0' + 1 113 D1:B11B 30 15 - - jr nc, fshparsecommandCheckArg3 114 D1:B11D CD 43 AC D1 call strtow 115 D1:B121 11 8E B1 D1 ld de, fshparsecommandArg2 116 D1:B125 EB - - - ex de, hl 117 D1:B126 73 - - - ld (hl), e 118 D1:B127 23 - - - inc hl 119 D1:B128 72 - - - ld (hl), d 120 D1:B129 23 - - - inc hl 121 D1:B12A 36 00 - - ld (hl), $00 122 D1:B12C 21 CD EA D0 ld hl, FshCmdArgFlags 123 D1:B130 CB EE - - set 5, (hl) 124 D1:B132 - - - - fshparsecommandCheckArg3: 125 D1:B132 21 97 B1 D1 ld hl, fshparsecommandArg3 126 D1:B136 7E - - - ld a, (hl) 127 D1:B137 FE 00 - - cp $00 128 D1:B139 28 26 - - jr z, fshparsecommandCopyBack 129 D1:B13B 21 CD EA D0 ld hl, FshCmdArgFlags 130 D1:B13F CB F6 - - set 6, (hl) 131 D1:B141 21 97 B1 D1 ld hl, fshparsecommandArg3 132 D1:B145 7E - - - ld a, (hl) 133 D1:B146 D6 30 - - sub '0' 134 D1:B148 FE 0A - - cp '9' - '0' + 1 135 D1:B14A 30 15 - - jr nc, fshparsecommandCopyBack 136 D1:B14C CD 43 AC D1 call strtow 137 D1:B150 11 97 B1 D1 ld de, fshparsecommandArg3 138 D1:B154 EB - - - ex de, hl 139 D1:B155 73 - - - ld (hl), e 140 D1:B156 23 - - - inc hl 141 D1:B157 72 - - - ld (hl), d 142 D1:B158 23 - - - inc hl 143 D1:B159 36 00 - - ld (hl), $00 144 D1:B15B 21 CD EA D0 ld hl, FshCmdArgFlags 145 D1:B15F CB FE - - set 7, (hl) 146 D1:B161 - - - - fshparsecommandCopyBack: 147 D1:B161 E1 - - - pop hl 148 D1:B162 C5 - - - push bc 149 D1:B163 EB - - - ex de, hl 150 D1:B164 21 73 B1 D1 ld hl, fshparsecommandCmd 151 D1:B168 01 2D 00 00 ld bc, 45 152 D1:B16C ED B0 - - ldir 153 D1:B16E C1 - - - pop bc 154 D1:B16F - - - - 155 D1:B16F D1 - - - pop de 156 D1:B170 C1 - - - pop bc 157 D1:B171 E1 - - - pop hl 158 D1:B172 C9 - - - ret 159 D1:B173 - - - - 160 D1:B173 00 00 00 00 00 00 00 00 00 - - - fshparsecommandCmd: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 161 D1:B17C 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg0: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 162 D1:B185 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg1: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 163 D1:B18E 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg2: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 164 D1:B197 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg3: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 165 D1:B1A0 00 00 00 00 00 00 - - fshparsecommandOverB: .db $00, $00, $00, $00, $00, $00 166 D1:B1A6 - - - - 167 D1:B1A6 - - - - fshparsecommandCopyChar: 168 D1:B1A6 - - - - ;Copy 169 D1:B1A6 E5 - - - push hl 170 D1:B1A7 C5 - - - push bc 171 D1:B1A8 21 00 00 00 ld hl, 0 172 D1:B1AC 60 - - - ld h, b 173 D1:B1AD 2E 09 - - ld l, 9 174 D1:B1AF 41 - - - ld b, c 175 D1:B1B0 11 73 B1 D1 ld de, fshparsecommandCmd 176 D1:B1B4 CD 9B AB D1 call array2d 177 D1:B1B8 C1 - - - pop bc 178 D1:B1B9 E1 - - - pop hl 179 D1:B1BA - - - - ;push hl 180 D1:B1BA - - - - ; ld hl, fshparsecommandCmd+45+1 181 D1:B1BA - - - - ; call cpHLDE 182 D1:B1BA - - - - ;pop hl 183 D1:B1BA - - - - ;pop de 184 D1:B1BA - - - - ;ret c 185 D1:B1BA - - - - ;push de 186 D1:B1BA 12 - - - ld (de), a ;ld buffer 187 D1:B1BB C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" 3 D1:B1BC - - - - #include "includes/lib/fsh/FshVar.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\FshVar.asm" 1 D1:B1BC - - - - ;;fshvarset 2 D1:B1BC - - - - ;;Sets a Word in FshVars. 3 D1:B1BC - - - - ;;Inputs: 4 D1:B1BC - - - - ;; HL: 16b 5 D1:B1BC - - - - ;; DE: Destination Word Relitive to FshVars 6 D1:B1BC - - - - fshvarset: 7 D1:B1BC C5 - - - push bc 8 D1:B1BD 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 9 D1:B1C1 CD 83 A9 D1 call cpBCDE 10 D1:B1C5 C1 - - - pop bc 11 D1:B1C6 38 11 - - jr c, fshvarsetOOBException 12 D1:B1C8 C5 - - - push bc 13 D1:B1C9 D5 - - - push de 14 D1:B1CA E5 - - - push hl 15 D1:B1CB 01 1F EA D0 ld bc, FshVars 16 D1:B1CF EB - - - ex de, hl 17 D1:B1D0 29 - - - add hl, hl 18 D1:B1D1 09 - - - add hl, bc 19 D1:B1D2 73 - - - ld (hl), e 20 D1:B1D3 23 - - - inc hl 21 D1:B1D4 72 - - - ld (hl), d 22 D1:B1D5 E1 - - - pop hl 23 D1:B1D6 D1 - - - pop de 24 D1:B1D7 C1 - - - pop bc 25 D1:B1D8 C9 - - - ret 26 D1:B1D9 - - - - fshvarsetOOBException: 27 D1:B1D9 E5 - - - push hl 28 D1:B1DA 21 FE B2 D1 ld hl, ErrOutOfBoundso 29 D1:B1DE CD B9 B2 D1 call ErrSet 30 D1:B1E2 E1 - - - pop hl 31 D1:B1E3 C9 - - - ret 32 D1:B1E4 - - - - 33 D1:B1E4 - - - - ;;fshvarget 34 D1:B1E4 - - - - ;;Gets a Word in FshVars. 35 D1:B1E4 - - - - ;;Inputs: 36 D1:B1E4 - - - - ;; DE: Destination Word Relitive to FshVars 37 D1:B1E4 - - - - ;;Outputs: 38 D1:B1E4 - - - - ;; HL: Word in (DE) 39 D1:B1E4 - - - - fshvarget: 40 D1:B1E4 C5 - - - push bc 41 D1:B1E5 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 42 D1:B1E9 CD 83 A9 D1 call cpBCDE 43 D1:B1ED C1 - - - pop bc 44 D1:B1EE 38 14 - - jr c, fshvargetOOBException 45 D1:B1F0 C5 - - - push bc 46 D1:B1F1 D5 - - - push de 47 D1:B1F2 21 00 00 00 ld hl, 0 48 D1:B1F6 01 1F EA D0 ld bc, FshVars 49 D1:B1FA EB - - - ex de, hl 50 D1:B1FB 29 - - - add hl, hl 51 D1:B1FC 09 - - - add hl, bc 52 D1:B1FD 5E - - - ld e, (hl) 53 D1:B1FE 23 - - - inc hl 54 D1:B1FF 56 - - - ld d, (hl) 55 D1:B200 EB - - - ex de, hl 56 D1:B201 D1 - - - pop de 57 D1:B202 C1 - - - pop bc 58 D1:B203 C9 - - - ret 59 D1:B204 - - - - fshvargetOOBException: 60 D1:B204 E5 - - - push hl 61 D1:B205 21 FE B2 D1 ld hl, ErrOutOfBoundso 62 D1:B209 CD B9 B2 D1 call ErrSet 63 D1:B20D E1 - - - pop hl 64 D1:B20E C9 - - - ret 65 D1:B20F - - - - ;;fshvarcpy 66 D1:B20F - - - - ;;Copies a word. 67 D1:B20F - - - - ;;Inputs: 68 D1:B20F - - - - ;; HL: Byte pointer 69 D1:B20F - - - - ;; DE: Destination 70 D1:B20F - - - - fshvarcpy: 71 D1:B20F C5 - - - push bc 72 D1:B210 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 73 D1:B214 CD 83 A9 D1 call cpBCDE 74 D1:B218 C1 - - - pop bc 75 D1:B219 38 2A - - jr c, fshvarcpyOOBException 76 D1:B21B C5 - - - push bc 77 D1:B21C 01 40 00 00 ld bc, FshVarsSize / 2 78 D1:B220 CD 7E A9 D1 call cpHLBC 79 D1:B224 C1 - - - pop bc 80 D1:B225 30 1E - - jr nc, fshvarcpyOOBException 81 D1:B227 D5 - - - push de 82 D1:B228 E5 - - - push hl 83 D1:B229 01 40 00 00 ld bc, FshVarsSize / 2 84 D1:B22D CD 83 A9 D1 call cpBCDE 85 D1:B231 38 12 - - jr c, fshvarcpyOOBException 86 D1:B233 01 1F EA D0 ld bc, FshVars 87 D1:B237 29 - - - add hl, hl 88 D1:B238 09 - - - add hl, bc 89 D1:B239 EB - - - ex de, hl 90 D1:B23A 29 - - - add hl, hl 91 D1:B23B 09 - - - add hl, bc 92 D1:B23C 1A - - - ld a, (de) 93 D1:B23D 77 - - - ld (hl), a 94 D1:B23E 13 - - - inc de 95 D1:B23F 23 - - - inc hl 96 D1:B240 1A - - - ld a, (de) 97 D1:B241 77 - - - ld (hl), a 98 D1:B242 E1 - - - pop hl 99 D1:B243 D1 - - - pop de 100 D1:B244 C9 - - - ret 101 D1:B245 - - - - 102 D1:B245 - - - - fshvarcpyOOBException: 103 D1:B245 E5 - - - push hl 104 D1:B246 21 FE B2 D1 ld hl, ErrOutOfBoundso 105 D1:B24A CD B9 B2 D1 call ErrSet 106 D1:B24E E1 - - - pop hl 107 D1:B24F C9 - - - ret 108 D1:B250 - - - - 109 D1:B250 - - - - ;;fshvarreset 110 D1:B250 - - - - ;;Fills fshvars with $00 111 D1:B250 - - - - fshvarreset: 112 D1:B250 E5 - - - push hl 113 D1:B251 C5 - - - push bc 114 D1:B252 D5 - - - push de 115 D1:B253 06 00 - - ld b, 0 116 D1:B255 11 00 00 00 ld de, 0 117 D1:B259 21 00 00 00 ld hl, 0 118 D1:B25D - - - - fshvarfillLoop: 119 D1:B25D CD BC B1 D1 call fshvarset 120 D1:B261 04 - - - inc b 121 D1:B262 13 - - - inc de 122 D1:B263 78 - - - ld a, b 123 D1:B264 FE 40 - - cp FshVarsSize / 2 124 D1:B266 38 F5 - - jr c, fshvarfillLoop 125 D1:B268 D1 - - - pop de 126 D1:B269 C1 - - - pop bc 127 D1:B26A E1 - - - pop hl 128 D1:B26B C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" 4 D1:B26C - - - - #include "includes/lib/fsh/Err.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Err.asm" 1 D1:B26C - - - - ;;ErrCatch 2 D1:B26C - - - - ;;Checks err bit and jp to err route 3 D1:B26C - - - - ErrCatch: 4 D1:B26C C1 - - - pop bc 5 D1:B26D E5 - - - push hl 6 D1:B26E 21 78 A9 D1 ld hl, FshFlags 7 D1:B272 CB 4E - - bit 1, (hl) 8 D1:B274 E1 - - - pop hl 9 D1:B275 C2 7B B2 D1 jp nz, ErrRoute 10 D1:B279 C5 - - - push bc 11 D1:B27A C9 - - - ret 12 D1:B27B - - - - 13 D1:B27B - - - - ;;ErrRoute 14 D1:B27B - - - - ;;Routes err codes. 15 D1:B27B - - - - ErrRoute: 16 D1:B27B - - - - 17 D1:B27B 21 78 A9 D1 ld hl, FshFlags 18 D1:B27F CB 8E - - res 1, (hl) 19 D1:B281 - - - - 20 D1:B281 21 CE EA D0 ld hl, FshCmdErrCode 21 D1:B285 - - - - 22 D1:B285 11 C8 B2 D1 ld de, ErrCmdNotFoundo 23 D1:B289 CD 41 AA D1 call bytecmp 24 D1:B28D CA C9 B2 D1 jp z, ErrCmdNotFoundf 25 D1:B291 - - - - 26 D1:B291 11 FE B2 D1 ld de, ErrOutOfBoundso 27 D1:B295 CD 41 AA D1 call bytecmp 28 D1:B299 CA FF B2 D1 jp z, ErrOutOfBoundsf 29 D1:B29D - - - - 30 D1:B29D 11 24 B3 D1 ld de, ErrArgso 31 D1:B2A1 CD 41 AA D1 call bytecmp 32 D1:B2A5 CA 25 B3 D1 jp z, ErrArgsf 33 D1:B2A9 - - - - 34 D1:B2A9 11 4E B3 D1 ld de, ErrUsageo 35 D1:B2AD CD 41 AA D1 call bytecmp 36 D1:B2B1 CA 4F B3 D1 jp z, ErrUsagef 37 D1:B2B5 - - - - 38 D1:B2B5 C3 7A B3 D1 jp ErrDefault 39 D1:B2B9 - - - - 40 D1:B2B9 - - - - 41 D1:B2B9 - - - - ;;ErrSet 42 D1:B2B9 - - - - ;;Sets all things relating to Err codes 43 D1:B2B9 - - - - ;;Inputs: 44 D1:B2B9 - - - - ;; HL: Err_____o 45 D1:B2B9 - - - - ErrSet: 46 D1:B2B9 E5 - - - push hl 47 D1:B2BA 7E - - - ld a, (hl) 48 D1:B2BB 21 CE EA D0 ld hl, FshCmdErrCode 49 D1:B2BF 77 - - - ld (hl), a 50 D1:B2C0 21 78 A9 D1 ld hl, FshFlags 51 D1:B2C4 CB CE - - set 1, (hl) 52 D1:B2C6 E1 - - - pop hl 53 D1:B2C7 C9 - - - ret 54 D1:B2C8 - - - - 55 D1:B2C8 - - - - ;;ERR FUNCS------------------- 56 D1:B2C8 - - - - 57 D1:B2C8 01 - - - ErrCmdNotFoundo: .db $01 58 D1:B2C9 - - - - ErrCmdNotFoundf: 59 D1:B2C9 21 9F EA D0 ld hl, FshCmd 60 D1:B2CD 7E - - - ld a, (hl) 61 D1:B2CE FE 00 - - cp $00 62 D1:B2D0 CA E7 A8 D1 jp z, Fin 63 D1:B2D4 21 EC B2 D1 ld hl, ErrCmdNotFoundt 64 D1:B2D8 CD C0 07 02 call _PutS 65 D1:B2DC 21 9F EA D0 ld hl, FshCmd 66 D1:B2E0 CD C0 07 02 call _PutS 67 D1:B2E4 CD F0 07 02 call _NewLine 68 D1:B2E8 C3 E7 A8 D1 jp Fin 69 D1:B2EC 65 72 72 6F 72 3A 4E 6F 20 43 6F 6D 6D 61 6E 64 3A 00 - - ErrCmdNotFoundt: .db "error:No Command:", 0 70 D1:B2FE - - - - 71 D1:B2FE 02 - - - ErrOutOfBoundso: .db $02 72 D1:B2FF - - - - ErrOutOfBoundsf: 73 D1:B2FF 21 0F B3 D1 ld hl, ErrOutOfBoundst 74 D1:B303 CD C0 07 02 call _PutS 75 D1:B307 CD F0 07 02 call _NewLine 76 D1:B30B C3 E7 A8 D1 jp Fin 77 D1:B30F 65 72 72 6F 72 3A 20 4F 75 74 20 4F 66 20 42 6F 75 6E 64 73 00 - - - ErrOutOfBoundst: .db "error: Out Of Bounds", 0 78 D1:B324 - - - - 79 D1:B324 03 - - - ErrArgso: .db $03 80 D1:B325 - - - - ErrArgsf: 81 D1:B325 21 35 B3 D1 ld hl, ErrArgst 82 D1:B329 CD C0 07 02 call _PutS 83 D1:B32D CD F0 07 02 call _NewLine 84 D1:B331 C3 E7 A8 D1 jp Fin 85 D1:B335 65 72 72 6F 72 3A 20 49 6E 76 61 6C 69 64 20 41 72 67 75 6D 65 6E 74 73 00 - - - ErrArgst: .db "error: Invalid Arguments", 0 86 D1:B34E - - - - 87 D1:B34E 04 - - - ErrUsageo: .db $04 88 D1:B34F - - - - ErrUsagef: 89 D1:B34F 21 6B B3 D1 ld hl, ErrUsaget 90 D1:B353 CD C0 07 02 call _PutS 91 D1:B357 21 9F EA D0 ld hl, FshCmd 92 D1:B35B CD 67 B5 D1 call manrouteu 93 D1:B35F CD C0 07 02 call _PutS 94 D1:B363 CD F0 07 02 call _NewLine 95 D1:B367 C3 E7 A8 D1 jp Fin 96 D1:B36B 65 72 72 6F 72 3A 20 55 73 61 67 65 3A 20 00 - ErrUsaget: .db "error: Usage: ", 0 97 D1:B37A - - - - 98 D1:B37A - - - - ErrDefault: 99 D1:B37A 21 86 B3 D1 ld hl, ErrDefaultt 100 D1:B37E CD C0 07 02 call _PutS 101 D1:B382 C3 03 A9 D1 jp Exit 102 D1:B386 65 72 72 6F 72 3A 20 44 65 66 61 75 6C 74 3B 20 45 78 69 74 00 - - - ErrDefaultt: .db "error: Default; Exit", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" 5 D1:B39B - - - - #include "includes/lib/fsh/Print.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Print.asm" 1 D1:B39B - - - - ;;printfshnamelong 2 D1:B39B - - - - ;;prints Name + Varsv + Version to screen 3 D1:B39B - - - - printfshnamelong: 4 D1:B39B E5 - - - push hl 5 D1:B39C 21 08 A9 D1 ld hl, FshName 6 D1:B3A0 CD C0 07 02 call _PutS 7 D1:B3A4 3E 20 - - ld a, ' ' 8 D1:B3A6 CD B8 07 02 call _PutC 9 D1:B3AA 21 3D A9 D1 ld hl, FshVVars 10 D1:B3AE CD C0 07 02 call _PutS 11 D1:B3B2 3E 20 - - ld a, ' ' 12 D1:B3B4 CD B8 07 02 call _PutC 13 D1:B3B8 3E 76 - - ld a, 'v' 14 D1:B3BA CD B8 07 02 call _PutC 15 D1:B3BE 21 41 A9 D1 ld hl, FshVMajor 16 D1:B3C2 CD C0 07 02 call _PutS 17 D1:B3C6 21 4B A9 D1 ld hl, FshVSeparator 18 D1:B3CA CD C0 07 02 call _PutS 19 D1:B3CE 21 43 A9 D1 ld hl, FshVMinor 20 D1:B3D2 CD C0 07 02 call _PutS 21 D1:B3D6 21 4B A9 D1 ld hl, FshVSeparator 22 D1:B3DA CD C0 07 02 call _PutS 23 D1:B3DE 21 45 A9 D1 ld hl, FshVPatch 24 D1:B3E2 CD C0 07 02 call _PutS 25 D1:B3E6 3E 20 - - ld a, ' ' 26 D1:B3E8 CD B8 07 02 call _PutC 27 D1:B3EC 21 47 A9 D1 ld hl, FshVBuild 28 D1:B3F0 CD C0 07 02 call _PutS 29 D1:B3F4 E1 - - - pop hl 30 D1:B3F5 C9 - - - ret 31 D1:B3F6 - - - - 32 D1:B3F6 - - - - ;;printmotd 33 D1:B3F6 - - - - ;;prints the motd to screen 34 D1:B3F6 - - - - printmotd: 35 D1:B3F6 CD 9B B3 D1 call printfshnamelong 36 D1:B3FA CD F0 07 02 call _NewLine 37 D1:B3FE CD F0 07 02 call _NewLine 38 D1:B402 21 4D A9 D1 ld hl, FshMotd2nd 39 D1:B406 CD C0 07 02 call _PutS 40 D1:B40A CD F0 07 02 call _NewLine 41 D1:B40E 21 63 A9 D1 ld hl, FshMotdHelp 42 D1:B412 CD C0 07 02 call _PutS 43 D1:B416 CD F0 07 02 call _NewLine 44 D1:B41A C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" 6 D1:B41B - - - - #include "includes/lib/fsh/Draw.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Draw.asm" 1 D1:B41B - - - - ;;drawstatusbar 2 D1:B41B - - - - ;;draws the FSH status bar 3 D1:B41B - - - - drawstatusbar: 4 D1:B41B - - - - ;rgbto565(84, 84, 84) 5 D1:B41B 21 AA 52 00 ld hl, $52AA 6 D1:B41F 3E 00 - - ld a, 0 7 D1:B421 01 1E 00 00 ld bc, 30 8 D1:B425 CD 65 AB D1 call drawbar 9 D1:B429 - - - - ;rgbto565(0, 159, 209) 10 D1:B429 21 FA 04 00 ld hl, $04FA 11 D1:B42D - - - - ;ld hl, %1111100000000000 12 D1:B42D EB DD 6B DD 62 EB 21 02 00 00 11 00 00 00 01 00 00 00 0E 00 3E 1E CD 7A AB D1 - - drawrectfilledM(0, 0, 2, 30) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Draw.asm" 13 D1:B447 CD 50 1A 02 call _DrawBatteryIndicator 14 D1:B44B - - - - ;draw name 15 D1:B44B FD CB 32 D6 set fracDrawLFont, (iy + fontFlags) 16 D1:B44F 3E 06 - - ld a, 6 17 D1:B451 32 D5 08 D0 ld (penRow), a 18 D1:B455 3E 07 - - ld a, 7 19 D1:B457 32 D2 08 D0 ld (penCol), a 20 D1:B45B 21 AA 52 00 ld hl, $52AA 21 D1:B45F 22 AA 26 D0 ld (drawBGcolor), hl 22 D1:B463 21 FF FF 00 ld hl, $ffff 23 D1:B467 22 AC 26 D0 ld (drawFGcolor), hl 24 D1:B46B 21 08 A9 D1 ld hl, FshName 25 D1:B46F CD 34 08 02 call _VPutS 26 D1:B473 21 FF FF 00 ld hl, $ffff 27 D1:B477 22 AA 26 D0 ld (drawBGcolor), hl 28 D1:B47B 21 00 00 00 ld hl, $0000 29 D1:B47F 22 AC 26 D0 ld (drawFGcolor), hl 30 D1:B483 C9 - - - ret Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc" Listing for file "FSHa.asm" 78 D1:B484 - - - - #include "includes/lib/crypto/crypto.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc" 1 D1:B484 - - - - #include "includes/lib/crypto/Rot.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\Rot.asm" 1 D1:B484 - - - - ;;rotletencrypt 2 D1:B484 - - - - ;;Encrypts a string in rot-n (uses $41 to $5B) 3 D1:B484 - - - - ;;Inputs: 4 D1:B484 - - - - ;; HL: string pointer 5 D1:B484 - - - - ;; A: rot-n 6 D1:B484 - - - - ;;Notes: 7 D1:B484 - - - - ;; Changes string in place. 8 D1:B484 - - - - rotletencrypt: 9 D1:B484 E5 - - - push hl 10 D1:B485 C5 - - - push bc 11 D1:B486 - - - - rotletencryptMod: 12 D1:B486 E5 - - - push hl 13 D1:B487 67 - - - ld h, a 14 D1:B488 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 15 D1:B48A CD A5 A9 D1 call modHL 16 D1:B48E 44 - - - ld b, h 17 D1:B48F E1 - - - pop hl 18 D1:B490 - - - - rotletencryptLoop: 19 D1:B490 7E - - - ld a, (hl) 20 D1:B491 FE 00 - - cp a, $00 21 D1:B493 28 0F - - jr z, rotletencryptEnd 22 D1:B495 FE 20 - - cp a, ' ' 23 D1:B497 28 07 - - jr z, rotletencryptLD 24 D1:B499 80 - - - add a, b 25 D1:B49A FE 5C - - cp a, 'Z' + 2 26 D1:B49C 38 02 - - jr c , rotletencryptLD 27 D1:B49E D6 1B - - sub a, 'Z' + 2 - 'A' 28 D1:B4A0 - - - - rotletencryptLD: 29 D1:B4A0 77 - - - ld (hl), a 30 D1:B4A1 23 - - - inc hl 31 D1:B4A2 18 EC - - jr rotletencryptLoop 32 D1:B4A4 - - - - rotletencryptEnd: 33 D1:B4A4 36 00 - - ld (hl), $00 34 D1:B4A6 C1 - - - pop bc 35 D1:B4A7 E1 - - - pop hl 36 D1:B4A8 C9 - - - ret 37 D1:B4A9 - - - - 38 D1:B4A9 - - - - ;;rotletdecrypt 39 D1:B4A9 - - - - ;;Decrypts a string in rot-n (uses $41 to $5B) 40 D1:B4A9 - - - - ;;Inputs: 41 D1:B4A9 - - - - ;; HL: string pointer 42 D1:B4A9 - - - - ;; A: rot-n 43 D1:B4A9 - - - - ;;Notes: 44 D1:B4A9 - - - - ;; Changes string in place. 45 D1:B4A9 - - - - rotletdecrypt: 46 D1:B4A9 E5 - - - push hl 47 D1:B4AA C5 - - - push bc 48 D1:B4AB - - - - rotletdecryptMod: 49 D1:B4AB E5 - - - push hl 50 D1:B4AC 67 - - - ld h, a 51 D1:B4AD 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 52 D1:B4AF CD A5 A9 D1 call modHL 53 D1:B4B3 44 - - - ld b, h 54 D1:B4B4 E1 - - - pop hl 55 D1:B4B5 - - - - rotletdecryptLoop: 56 D1:B4B5 7E - - - ld a, (hl) 57 D1:B4B6 FE 00 - - cp a, $00 58 D1:B4B8 28 0F - - jr z, rotletdecryptEnd 59 D1:B4BA FE 20 - - cp a, ' ' 60 D1:B4BC 28 07 - - jr z, rotletdecryptLD 61 D1:B4BE 90 - - - sub a, b 62 D1:B4BF FE 41 - - cp a, 'A' 63 D1:B4C1 30 02 - - jr nc , rotletdecryptLD 64 D1:B4C3 C6 1B - - add a, 'Z' + 2 - 'A' 65 D1:B4C5 - - - - rotletdecryptLD: 66 D1:B4C5 77 - - - ld (hl), a 67 D1:B4C6 23 - - - inc hl 68 D1:B4C7 18 EC - - jr rotletdecryptLoop 69 D1:B4C9 - - - - rotletdecryptEnd: 70 D1:B4C9 36 00 - - ld (hl), $00 71 D1:B4CB C1 - - - pop bc 72 D1:B4CC E1 - - - pop hl 73 D1:B4CD C9 - - - ret 74 D1:B4CE - - - - 75 D1:B4CE - - - - ;;rotasciiencrypt 76 D1:B4CE - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) 77 D1:B4CE - - - - ;;Inputs: 78 D1:B4CE - - - - ;; HL: string pointer 79 D1:B4CE - - - - ;; A: x 80 D1:B4CE - - - - ;;Notes: 81 D1:B4CE - - - - ;; Changes string in place. 82 D1:B4CE - - - - rotasciiencrypt: 83 D1:B4CE E5 - - - push hl 84 D1:B4CF C5 - - - push bc 85 D1:B4D0 0E 00 - - ld c, 0 86 D1:B4D2 4F - - - ld c, a 87 D1:B4D3 - - - - rotasciiencryptLoop: 88 D1:B4D3 7E - - - ld a, (hl) 89 D1:B4D4 FE 00 - - cp 0 90 D1:B4D6 28 13 - - jr z, rotasciiencryptEnd 91 D1:B4D8 81 - - - add a, c 92 D1:B4D9 FE 00 - - cp 0 93 D1:B4DB 20 01 - - jr nz, rotasciiencryptLd 94 D1:B4DD 3C - - - inc a 95 D1:B4DE - - - - rotasciiencryptLd: 96 D1:B4DE 77 - - - ld (hl), a 97 D1:B4DF 23 - - - inc hl 98 D1:B4E0 FE EF - - cp a, $EF 99 D1:B4E2 38 EF - - jr c, rotasciiencryptLoop 100 D1:B4E4 2B - - - dec hl 101 D1:B4E5 D6 0F - - sub a, $0F 102 D1:B4E7 77 - - - ld (hl), a 103 D1:B4E8 23 - - - inc hl 104 D1:B4E9 18 E8 - - jr rotasciiencryptLoop 105 D1:B4EB - - - - rotasciiencryptEnd: 106 D1:B4EB 36 00 - - ld (hl), $00 107 D1:B4ED C1 - - - pop bc 108 D1:B4EE E1 - - - pop hl 109 D1:B4EF C9 - - - ret 110 D1:B4F0 - - - - 111 D1:B4F0 - - - - ;;rotasciidecrypt 112 D1:B4F0 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) 113 D1:B4F0 - - - - ;;Inputs: 114 D1:B4F0 - - - - ;; HL: string pointer 115 D1:B4F0 - - - - ;; A: x 116 D1:B4F0 - - - - ;;Notes: 117 D1:B4F0 - - - - ;; Changes string in place. 118 D1:B4F0 - - - - rotasciidecrypt: 119 D1:B4F0 E5 - - - push hl 120 D1:B4F1 C5 - - - push bc 121 D1:B4F2 0E 00 - - ld c, 0 122 D1:B4F4 4F - - - ld c, a 123 D1:B4F5 - - - - rotasciidecryptLoop: 124 D1:B4F5 7E - - - ld a, (hl) 125 D1:B4F6 FE 00 - - cp 0 126 D1:B4F8 28 13 - - jr z, rotasciidecryptEnd 127 D1:B4FA 91 - - - sub a, c 128 D1:B4FB FE 00 - - cp 0 129 D1:B4FD 20 01 - - jr nz, rotasciidecryptLd 130 D1:B4FF 3D - - - dec a 131 D1:B500 - - - - rotasciidecryptLd: 132 D1:B500 77 - - - ld (hl), a 133 D1:B501 23 - - - inc hl 134 D1:B502 FE EF - - cp a, $EF 135 D1:B504 38 EF - - jr c, rotasciidecryptLoop 136 D1:B506 2B - - - dec hl 137 D1:B507 C6 0F - - add a, $0F 138 D1:B509 77 - - - ld (hl), a 139 D1:B50A 23 - - - inc hl 140 D1:B50B 18 E8 - - jr rotasciidecryptLoop 141 D1:B50D - - - - rotasciidecryptEnd: 142 D1:B50D 36 00 - - ld (hl), $00 143 D1:B50F C1 - - - pop bc 144 D1:B510 E1 - - - pop hl 145 D1:B511 C9 - - - ret 146 D1:B512 - - - - Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc" 2 D1:B512 - - - - #include "includes/lib/crypto/Xor.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\Xor.asm" 1 D1:B512 - - - - ;;xorcrypt 2 D1:B512 - - - - ;;crypts a string using xor 3 D1:B512 - - - - ;;Inputs: 4 D1:B512 - - - - ;; HL: string pointer 5 D1:B512 - - - - ;; DE: seed pointer (shorter) 6 D1:B512 - - - - ;;Notes: 7 D1:B512 - - - - ;; Changes string in place. 8 D1:B512 - - - - xorcrypt: 9 D1:B512 E5 - - - push hl 10 D1:B513 D5 - - - push de 11 D1:B514 CD A8 AB D1 call strlen 12 D1:B518 E5 - - - push hl 13 D1:B519 21 00 00 00 ld hl, 0 14 D1:B51D 60 - - - ld h, b 15 D1:B51E 69 - - - ld l, c 16 D1:B51F EB - - - ex de, hl 17 D1:B520 CD A8 AB D1 call strlen 18 D1:B524 EB - - - ex de, hl 19 D1:B525 7D - - - ld a, l ;BC = len(seed) hl=len(string) 20 D1:B526 91 - - - sub c 21 D1:B527 30 02 - - jr nc, xorcryptSmaller 22 D1:B529 3E 00 - - ld a, 0 23 D1:B52B - - - - xorcryptSmaller: 24 D1:B52B 01 00 00 00 ld bc, 0 25 D1:B52F 47 - - - ld b, a 26 D1:B530 4D - - - ld c, l ;b=len(seed) c=len(string) 27 D1:B531 E1 - - - pop hl 28 D1:B532 B7 - - - or a, a 29 D1:B533 28 10 - - jr z, strxorPadLoopEnd 30 D1:B535 EB - - - ex de, hl; hl=seed 31 D1:B536 C5 - - - push bc 32 D1:B537 0E 00 - - ld c, 0 33 D1:B539 09 - - - add hl, bc 34 D1:B53A C1 - - - pop bc 35 D1:B53B 04 - - - inc b 36 D1:B53C 36 80 - - ld (hl), %10000000 37 D1:B53E C5 - - - push bc 38 D1:B53F - - - - strxorPadLoop: 39 D1:B53F 23 - - - inc hl 40 D1:B540 36 00 - - ld (hl), $00 41 D1:B542 10 FB - - djnz strxorPadLoop 42 D1:B544 C1 - - - pop bc 43 D1:B545 - - - - strxorPadLoopEnd: 44 D1:B545 2B - - - dec hl 45 D1:B546 70 - - - ld (hl), b 46 D1:B547 23 - - - inc hl 47 D1:B548 36 00 - - ld (hl), $00 48 D1:B54A D1 - - - pop de 49 D1:B54B E1 - - - pop hl 50 D1:B54C CD EB AC D1 call strxor 51 D1:B550 C9 - - - ret 52 D1:B551 - - - - Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc" Listing for file "FSHa.asm" 79 D1:B551 - - - - 80 D1:B551 - - - - #include "includes/man-db.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\man-db.asm" 1 D1:B551 - - - - ;;TODO: move module specific macros to diffrent file 2 D1:B551 - - - - ;;manroute 3 D1:B551 - - - - ;;routes command string to discription 4 D1:B551 - - - - ;;Inputs: 5 D1:B551 - - - - ;; HL: Command String 6 D1:B551 - - - - ;;Outputs: 7 D1:B551 - - - - ;; HL: Command Discription String 8 D1:B551 - - - - manroute: 9 D1:B551 D5 - - - push de 10 D1:B552 - - - - #macro routestrjp(cmdXs, cmdXm) 11 D1:B552 ld de, cmdXs 12 D1:B552 call strcmp 13 D1:B552 ld de, cmdXm 14 D1:B552 jp z, manrouteReturn 15 D1:B552 #endmacro 16 D1:B552 - - - - 17 D1:B552 - - - - #macro subroutestrjp(cmdXs, cmdYs, cmdYm) 18 D1:B552 push hl 19 D1:B552 ld de, cmdXs 20 D1:B552 call strcmp 21 D1:B552 ld hl, 0 22 D1:B552 jr nz, +_ 23 D1:B552 ld hl, FshCmdArg1 24 D1:B552 _: 25 D1:B552 ld de, cmdYs 26 D1:B552 call strcmp 27 D1:B552 pop hl 28 D1:B552 ld de, cmdYm 29 D1:B552 jp z, manrouteReturn 30 D1:B552 #endmacro 31 D1:B552 - - - - 32 D1:B552 CD 06 B7 D1 call fshcmdmanroute 33 D1:B556 CD 2E C0 D1 call cryptocmdmanroute 34 D1:B55A - - - - ;Extention Point 35 D1:B55A - - - - 36 D1:B55A 21 CE EA D0 ld hl, FshCmdErrCode 37 D1:B55E 36 01 - - ld (hl), $01 38 D1:B560 11 00 00 00 ld de, $00 39 D1:B564 - - - - manrouteReturn: 40 D1:B564 EB - - - ex de, hl 41 D1:B565 D1 - - - pop de 42 D1:B566 C9 - - - ret 43 D1:B567 - - - - 44 D1:B567 - - - - ;;manrouteu 45 D1:B567 - - - - ;;routes command string to usage 46 D1:B567 - - - - ;;Inputs: 47 D1:B567 - - - - ;; HL: Command String 48 D1:B567 - - - - ;;Outputs: 49 D1:B567 - - - - ;; HL: Command Usage String 50 D1:B567 - - - - manrouteu: 51 D1:B567 D5 - - - push de 52 D1:B568 - - - - #macro routeustrjp(cmdXs, cmdXu) 53 D1:B568 ld de, cmdXs 54 D1:B568 call strcmp 55 D1:B568 ld de, cmdXu 56 D1:B568 jp z, manrouteuReturn 57 D1:B568 #endmacro 58 D1:B568 - - - - 59 D1:B568 - - - - #macro subrouteustrjp(cmdXs, cmdYs, cmdYu) 60 D1:B568 push hl 61 D1:B568 ld de, cmdXs 62 D1:B568 call strcmp 63 D1:B568 ld hl, 0 64 D1:B568 jr nz, +_ 65 D1:B568 ld hl, FshCmdArg1 66 D1:B568 _: 67 D1:B568 ld de, cmdYs 68 D1:B568 call strcmp 69 D1:B568 pop hl 70 D1:B568 ld de, cmdYu 71 D1:B568 jp z, manrouteuReturn 72 D1:B568 #endmacro 73 D1:B568 - - - - 74 D1:B568 CD B9 B7 D1 call fshcmdmanrouteu 75 D1:B56C CD E1 C0 D1 call cryptocmdmanrouteu 76 D1:B570 - - - - ;Extention Point 77 D1:B570 - - - - 78 D1:B570 21 CE EA D0 ld hl, FshCmdErrCode 79 D1:B574 36 01 - - ld (hl), $01 80 D1:B576 11 00 00 00 ld de, $00 81 D1:B57A - - - - manrouteuReturn: 82 D1:B57A EB - - - ex de, hl 83 D1:B57B D1 - - - pop de 84 D1:B57C C9 - - - ret Listing for file "FSHa.asm" 81 D1:B57D - - - - #include "includes/Command.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Command.asm" 1 D1:B57D - - - - ;;Commanddecode 2 D1:B57D - - - - ;;Decodes all commands. 3 D1:B57D - - - - ;;Inputs: 4 D1:B57D - - - - ;; HL: Cmd String mem loc 5 D1:B57D - - - - ;; DE: Op code mem loc 6 D1:B57D - - - - ;;Output: 7 D1:B57D - - - - ;; Sets (DE) with command op code 8 D1:B57D - - - - commanddecode: 9 D1:B57D CD A2 B5 D1 call fshcmddecode 10 D1:B581 CD EA BF D1 call cryptocmddecode 11 D1:B585 - - - - ;Extention Point 12 D1:B585 - - - - 13 D1:B585 C9 - - - ret 14 D1:B586 - - - - 15 D1:B586 - - - - ;;commandroute 16 D1:B586 - - - - ;;Routes all commamds. 17 D1:B586 - - - - ;;Inputs: 18 D1:B586 - - - - ;; HL: Op code mem loc 19 D1:B586 - - - - commandroute: 20 D1:B586 CD 7F B6 D1 call fshcmdroute 21 D1:B58A CD 13 C0 D1 call cryptocmdroute 22 D1:B58E - - - - ;Extention Point 23 D1:B58E - - - - 24 D1:B58E 21 C8 B2 D1 ld hl, ErrCmdNotFoundo 25 D1:B592 11 CE EA D0 ld de, FshCmdErrCode 26 D1:B596 CD 49 AA D1 call bytecpy 27 D1:B59A CD B9 B2 D1 call ErrSet 28 D1:B59E C3 EB A8 D1 jp Err 29 D1:B5A2 - - - - 30 D1:B5A2 - - - - #include "includes/FshCommands/FshCommand.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm" 1 D1:B5A2 - - - - fshcmddecode: 2 D1:B5A2 E5 D5 11 6C B8 D1 CD B9 AB D1 21 71 B8 D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdEXIT, fshcmdEXITo) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm" 3 D1:B5B6 E5 D5 11 85 B8 D1 CD B9 AB D1 21 89 B8 D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdSET, fshcmdSETo) 4 D1:B5CA E5 D5 11 7C B9 D1 CD B9 AB D1 21 81 B9 D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdCOPY, fshcmdCOPYo) 5 D1:B5DE E5 D5 11 8A BA D1 CD B9 AB D1 21 8F BA D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdMOVE, fshcmdMOVEo) 6 D1:B5F2 E5 D5 11 A0 BB D1 CD B9 AB D1 21 A4 BB D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdCLS, fshcmdCLSo) 7 D1:B606 E5 D5 11 CC BB D1 CD B9 AB D1 21 D0 BB D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo) 8 D1:B61A E5 D5 11 6E BC D1 CD B9 AB D1 21 73 BC D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdVARS, fshcmdVARSo) 9 D1:B62E E5 D5 11 DE BC D1 CD B9 AB D1 21 E4 BC D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdSLEEP, fshcmdSLEEPo) 10 D1:B642 E5 D5 11 2C BD D1 CD B9 AB D1 21 31 BD D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdINFO, fshcmdINFOo) 11 D1:B656 E5 D5 11 CE BD D1 CD B9 AB D1 21 D3 BD D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo) 12 D1:B66A E5 D5 11 02 BF D1 CD B9 AB D1 21 06 BF D1 D1 CC 49 AA D1 E1 decodecmdopt(fshcmdMAN, fshcmdMANo) 13 D1:B67E C9 - - - ret 14 D1:B67F - - - - 15 D1:B67F - - - - fshcmdroute: 16 D1:B67F C1 - - - pop bc ;pop the ret loc from stack into bc 17 D1:B680 11 71 B8 D1 CD 41 AA D1 CA 81 B8 D1 routeoptjp(fshcmdEXITo, fshcmdEXITf) 18 D1:B68C 11 89 B8 D1 CD 41 AA D1 CA C7 B8 D1 routeoptjp(fshcmdSETo, fshcmdSETf) 19 D1:B698 11 81 B9 D1 CD 41 AA D1 CA DC B9 D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf) 20 D1:B6A4 11 8F BA D1 CD 41 AA D1 CA E9 BA D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf) 21 D1:B6B0 11 A4 BB D1 CD 41 AA D1 CA BB BB D1 routeoptjp(fshcmdCLSo, fshcmdCLSf) 22 D1:B6BC 11 D0 BB D1 CD 41 AA D1 CA 07 BC D1 routeoptjp(fshcmdVARo, fshcmdVARf) 23 D1:B6C8 11 73 BC D1 CD 41 AA D1 CA 8F BC D1 routeoptjp(fshcmdVARSo, fshcmdVARSf) 24 D1:B6D4 11 E4 BC D1 CD 41 AA D1 CA 15 BD D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf) 25 D1:B6E0 11 31 BD D1 CD 41 AA D1 CA 5D BD D1 routeoptjp(fshcmdINFOo, fshcmdINFOf) 26 D1:B6EC 11 D3 BD D1 CD 41 AA D1 CA EF BD D1 routeoptjp(fshcmdHELPo, fshcmdHELPf) 27 D1:B6F8 11 06 BF D1 CD 41 AA D1 CA 33 BF D1 routeoptjp(fshcmdMANo, fshcmdMANf) 28 D1:B704 C5 - - - push bc ;put ret location back on stack 29 D1:B705 C9 - - - ret 30 D1:B706 - - - - 31 D1:B706 - - - - fshcmdmanroute: 32 D1:B706 C1 - - - pop bc 33 D1:B707 11 6C B8 D1 CD B9 AB D1 11 72 B8 D1 CA 64 B5 D1 routestrjp(fshcmdEXIT, fshCmdEXITm) 34 D1:B717 11 85 B8 D1 CD B9 AB D1 11 8A B8 D1 CA 64 B5 D1 routestrjp(fshcmdSET, fshCmdSETm) 35 D1:B727 11 7C B9 D1 CD B9 AB D1 11 82 B9 D1 CA 64 B5 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm) 36 D1:B737 11 8A BA D1 CD B9 AB D1 11 90 BA D1 CA 64 B5 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm) 37 D1:B747 11 A0 BB D1 CD B9 AB D1 11 A5 BB D1 CA 64 B5 D1 routestrjp(fshcmdCLS, fshCmdCLSm) 38 D1:B757 11 CC BB D1 CD B9 AB D1 11 D1 BB D1 CA 64 B5 D1 routestrjp(fshcmdVAR, fshCmdVARm) 39 D1:B767 11 6E BC D1 CD B9 AB D1 11 74 BC D1 CA 64 B5 D1 routestrjp(fshcmdVARS, fshCmdVARSm) 40 D1:B777 11 DE BC D1 CD B9 AB D1 11 E5 BC D1 CA 64 B5 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm) 41 D1:B787 11 2C BD D1 CD B9 AB D1 11 32 BD D1 CA 64 B5 D1 routestrjp(fshcmdINFO, fshCmdINFOm) 42 D1:B797 11 CE BD D1 CD B9 AB D1 11 D4 BD D1 CA 64 B5 D1 routestrjp(fshcmdHELP, fshCmdHELPm) 43 D1:B7A7 11 02 BF D1 CD B9 AB D1 11 07 BF D1 CA 64 B5 D1 routestrjp(fshcmdMAN, fshCmdMANm) 44 D1:B7B7 C5 - - - push bc 45 D1:B7B8 C9 - - - ret 46 D1:B7B9 - - - - 47 D1:B7B9 - - - - fshcmdmanrouteu: 48 D1:B7B9 C1 - - - pop bc 49 D1:B7BA 11 6C B8 D1 CD B9 AB D1 11 7C B8 D1 CA 7A B5 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu) 50 D1:B7CA 11 85 B8 D1 CD B9 AB D1 11 A5 B8 D1 CA 7A B5 D1 routeustrjp(fshcmdSET, fshCmdSETu) 51 D1:B7DA 11 7C B9 D1 CD B9 AB D1 11 B0 B9 D1 CA 7A B5 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu) 52 D1:B7EA 11 8A BA D1 CD B9 AB D1 11 BD BA D1 CA 7A B5 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu) 53 D1:B7FA 11 A0 BB D1 CD B9 AB D1 11 B7 BB D1 CA 7A B5 D1 routeustrjp(fshcmdCLS, fshCmdCLSu) 54 D1:B80A 11 CC BB D1 CD B9 AB D1 11 F2 BB D1 CA 7A B5 D1 routeustrjp(fshcmdVAR, fshCmdVARu) 55 D1:B81A 11 6E BC D1 CD B9 AB D1 11 8A BC D1 CA 7A B5 D1 routeustrjp(fshcmdVARS, fshCmdVARSu) 56 D1:B82A 11 DE BC D1 CD B9 AB D1 11 0F BD D1 CA 7A B5 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu) 57 D1:B83A 11 2C BD D1 CD B9 AB D1 11 58 BD D1 CA 7A B5 D1 routeustrjp(fshcmdINFO, fshCmdINFOu) 58 D1:B84A 11 CE BD D1 CD B9 AB D1 11 EA BD D1 CA 7A B5 D1 routeustrjp(fshcmdHELP, fshCmdHELPu) 59 D1:B85A 11 02 BF D1 CD B9 AB D1 11 25 BF D1 CA 7A B5 D1 routeustrjp(fshcmdMAN, fshCmdMANu) 60 D1:B86A C5 - - - push bc 61 D1:B86B C9 - - - ret 62 D1:B86C - - - - 63 D1:B86C - - - - #include "includes/FshCommands/FshCommands.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 1 D1:B86C - - - - #include "includes/FshCommands/EXIT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\EXIT.asm" 1 D1:B86C 45 58 49 54 00 - - - fshcmdEXIT: .db "EXIT", 0 2 D1:B871 FF - - - fshcmdEXITo: .db $FF 3 D1:B872 45 78 69 74 73 20 46 73 68 00 - - fshcmdEXITm: .db "Exits Fsh", 0 4 D1:B87C 45 58 49 54 00 - - - fshcmdEXITu: .db "EXIT", 0 5 D1:B881 C3 EF A8 D1 fshcmdEXITf: JP Cleanup Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 2 D1:B885 - - - - #include "includes/FshCommands/SET.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\SET.asm" 1 D1:B885 53 45 54 00 fshcmdSET: .db "SET", 0 2 D1:B889 01 - - - fshcmdSETo: .db $01 3 D1:B88A 53 65 74 73 20 61 20 76 61 6C 75 65 20 69 6E 20 46 53 48 20 6D 65 6D 6F 72 79 00 - fshcmdSETm: .db "Sets a value in FSH memory", 0 4 D1:B8A5 53 45 54 20 3C 64 65 73 74 69 6E 61 74 69 6F 6E 20 61 64 64 72 65 73 73 3E 20 3C 76 61 6C 75 65 3E 00 - - fshcmdSETu: .db "SET ", 0 5 D1:B8C7 - - - - fshcmdSETf: 6 D1:B8C7 - - - - fshcmdSETfArg0: 7 D1:B8C7 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:B8CB CB 4E - - bit 1, (hl) 9 D1:B8CD 20 34 - - jr nz, fshcmdSETfArg1 10 D1:B8CF CB 46 - - bit 0, (hl) 11 D1:B8D1 28 0C - - jr z, fshcmdSETfArg0Get 12 D1:B8D3 21 4E B3 D1 ld hl, ErrUsageo 13 D1:B8D7 CD B9 B2 D1 call ErrSet 14 D1:B8DB CD 6C B2 D1 call ErrCatch 15 D1:B8DF - - - - fshcmdSETfArg0Get: 16 D1:B8DF 21 66 B9 D1 ld hl, fshcmdSETfDIndex 17 D1:B8E3 CD 07 AB D1 call printprompt 18 D1:B8E7 21 60 B9 D1 ld hl, fshcmdSETfInputBuffer 19 D1:B8EB 11 03 00 00 ld de, 3 20 D1:B8EF CD 3D AF D1 call inputnumstr 21 D1:B8F3 CD 43 AC D1 call strtow 22 D1:B8F7 11 A8 EA D0 ld de, FshCmdArg0 23 D1:B8FB EB - - - ex de, hl 24 D1:B8FC 73 - - - ld (hl), e 25 D1:B8FD 23 - - - inc hl 26 D1:B8FE 72 - - - ld (hl), d 27 D1:B8FF CD F0 07 02 call _NewLine 28 D1:B903 - - - - fshcmdSETfArg1: 29 D1:B903 21 CD EA D0 ld hl, FshCmdArgFlags 30 D1:B907 CB 5E - - bit 3, (hl) 31 D1:B909 20 34 - - jr nz, fshcmdSETfExe 32 D1:B90B CB 56 - - bit 2, (hl) 33 D1:B90D 28 0C - - jr z, fshcmdSETfArg1Get 34 D1:B90F 21 4E B3 D1 ld hl, ErrUsageo 35 D1:B913 CD B9 B2 D1 call ErrSet 36 D1:B917 CD 6C B2 D1 call ErrCatch 37 D1:B91B - - - - fshcmdSETfArg1Get: 38 D1:B91B 21 74 B9 D1 ld hl, fshcmdSETfDValue 39 D1:B91F CD 07 AB D1 call printprompt 40 D1:B923 21 60 B9 D1 ld hl, fshcmdSETfInputBuffer 41 D1:B927 11 05 00 00 ld de, 5 42 D1:B92B CD 3D AF D1 call inputnumstr 43 D1:B92F CD 43 AC D1 call strtow 44 D1:B933 EB - - - ex de, hl 45 D1:B934 21 B1 EA D0 ld hl, FshCmdArg1 46 D1:B938 73 - - - ld (hl), e 47 D1:B939 23 - - - inc hl 48 D1:B93A 72 - - - ld (hl), d 49 D1:B93B CD F0 07 02 call _NewLine 50 D1:B93F - - - - fshcmdSETfExe: 51 D1:B93F 21 A8 EA D0 ld hl, FshCmdArg0 52 D1:B943 11 00 00 00 ld de, 0 53 D1:B947 5E - - - ld e, (hl) 54 D1:B948 23 - - - inc hl 55 D1:B949 56 - - - ld d, (hl) 56 D1:B94A D5 - - - push de 57 D1:B94B 21 B1 EA D0 ld hl, FshCmdArg1 58 D1:B94F 5E - - - ld e, (hl) 59 D1:B950 23 - - - inc hl 60 D1:B951 56 - - - ld d, (hl) 61 D1:B952 EB - - - ex de, hl 62 D1:B953 D1 - - - pop de 63 D1:B954 CD BC B1 D1 call fshvarset 64 D1:B958 CD 6C B2 D1 call ErrCatch 65 D1:B95C C3 E7 A8 D1 jp Fin 66 D1:B960 - - - - 67 D1:B960 00 00 00 00 00 00 - - fshcmdSETfInputBuffer: .db $00, $00, $00, $00, $00, $00 68 D1:B966 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdSETfDIndex: .db "Destination= ", 0 69 D1:B974 56 61 6C 75 65 3D 20 00 fshcmdSETfDValue: .db "Value= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 3 D1:B97C - - - - #include "includes/FshCommands/COPY.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\COPY.asm" 1 D1:B97C 43 4F 50 59 00 - - - fshcmdCOPY: .db "COPY", 0 2 D1:B981 02 - - - fshcmdCOPYo: .db $02 3 D1:B982 43 6F 70 79 73 20 61 20 76 61 6C 75 65 20 69 6E 20 46 53 48 20 6D 65 6D 6F 72 79 20 74 6F 20 61 6E 6F 74 68 65 72 20 61 64 64 65 73 73 00 - - fshcmdCOPYm: .db "Copys a value in FSH memory to another addess", 0 4 D1:B9B0 43 4F 50 59 20 3C 73 6F 75 72 63 65 20 61 64 64 72 65 73 73 3E 20 3C 64 65 73 74 69 6E 61 74 69 6F 6E 20 61 64 64 72 65 73 73 3E 00 fshcmdCOPYu: .db "COPY ", 0 5 D1:B9DC - - - - fshcmdCOPYf: 6 D1:B9DC - - - - fshcmdCOPYfArg0: 7 D1:B9DC 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:B9E0 CB 4E - - bit 1, (hl) 9 D1:B9E2 20 31 - - jr nz, fshcmdCOPYfArg1 10 D1:B9E4 CB 46 - - bit 0, (hl) 11 D1:B9E6 28 0C - - jr z, fshcmdCOPYfArg0Get 12 D1:B9E8 21 4E B3 D1 ld hl, ErrUsageo 13 D1:B9EC CD B9 B2 D1 call ErrSet 14 D1:B9F0 CD 6C B2 D1 call ErrCatch 15 D1:B9F4 - - - - fshcmdCOPYfArg0Get: 16 D1:B9F4 21 73 BA D1 ld hl, fshcmdCOPYfDSource 17 D1:B9F8 CD 07 AB D1 call printprompt 18 D1:B9FC 21 6F BA D1 ld hl, fshcmdCOPYfInputBuffer 19 D1:BA00 11 03 00 00 ld de, 3 20 D1:BA04 CD 3D AF D1 call inputnumstr 21 D1:BA08 CD E6 AB D1 call strtob 22 D1:BA0C 21 A8 EA D0 ld hl, FshCmdArg0 23 D1:BA10 77 - - - ld (hl), a 24 D1:BA11 CD F0 07 02 call _NewLine 25 D1:BA15 - - - - fshcmdCOPYfArg1: 26 D1:BA15 21 CD EA D0 ld hl, FshCmdArgFlags 27 D1:BA19 CB 5E - - bit 3, (hl) 28 D1:BA1B 20 31 - - jr nz, fshcmdCOPYfExe 29 D1:BA1D CB 56 - - bit 2, (hl) 30 D1:BA1F 28 0C - - jr z, fshcmdCOPYfArg1Get 31 D1:BA21 21 4E B3 D1 ld hl, ErrUsageo 32 D1:BA25 CD B9 B2 D1 call ErrSet 33 D1:BA29 CD 6C B2 D1 call ErrCatch 34 D1:BA2D - - - - fshcmdCOPYfArg1Get: 35 D1:BA2D 21 73 BA D1 ld hl, fshcmdCOPYfDSource 36 D1:BA31 CD 07 AB D1 call printprompt 37 D1:BA35 21 6F BA D1 ld hl, fshcmdCOPYfInputBuffer 38 D1:BA39 11 03 00 00 ld de, 3 39 D1:BA3D CD 3D AF D1 call inputnumstr 40 D1:BA41 CD E6 AB D1 call strtob 41 D1:BA45 21 B1 EA D0 ld hl, FshCmdArg1 42 D1:BA49 77 - - - ld (hl), a 43 D1:BA4A CD F0 07 02 call _NewLine 44 D1:BA4E - - - - fshcmdCOPYfExe: 45 D1:BA4E 21 A8 EA D0 ld hl, FshCmdArg0 46 D1:BA52 11 00 00 00 ld de, 0 47 D1:BA56 5E - - - ld e, (hl) 48 D1:BA57 EB - - - ex de, hl 49 D1:BA58 E5 - - - push hl 50 D1:BA59 21 B1 EA D0 ld hl, FshCmdArg1 51 D1:BA5D 11 00 00 00 ld de, 0 52 D1:BA61 5E - - - ld e, (hl) 53 D1:BA62 E1 - - - pop hl 54 D1:BA63 CD 0F B2 D1 call fshvarcpy 55 D1:BA67 CD 6C B2 D1 call ErrCatch 56 D1:BA6B C3 E7 A8 D1 jp Fin 57 D1:BA6F - - - - 58 D1:BA6F 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00 59 D1:BA73 53 6F 75 72 63 65 3D 20 00 - - - fshcmdCOPYfDSource: .db "Source= ", 0 60 D1:BA7C 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdCOPYfDDestination: .db "Destination= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 4 D1:BA8A - - - - #include "includes/FshCommands/MOVE.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\MOVE.asm" 1 D1:BA8A 4D 4F 56 45 00 - - - fshcmdMOVE: .db "MOVE", 0 2 D1:BA8F 03 - - - fshcmdMOVEo: .db $03 3 D1:BA90 4D 6F 76 65 20 61 20 76 61 6C 75 65 20 69 6E 20 46 53 48 20 6D 65 6D 6F 72 79 20 74 6F 20 61 6E 6F 74 68 65 72 20 61 64 64 65 73 73 00 - - - fshcmdMOVEm: .db "Move a value in FSH memory to another addess", 0 4 D1:BABD 4D 4F 56 45 20 3C 73 6F 75 72 63 65 20 61 64 64 72 65 73 73 3E 20 3C 64 65 73 74 69 6E 61 74 69 6F 6E 20 61 64 64 72 65 73 73 3E 00 fshcmdMOVEu: .db "MOVE ", 0 5 D1:BAE9 - - - - fshcmdMOVEf: 6 D1:BAE9 - - - - fshcmdMOVEfArg0: 7 D1:BAE9 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:BAED CB 4E - - bit 1, (hl) 9 D1:BAEF 20 31 - - jr nz, fshcmdMOVEfArg1 10 D1:BAF1 CB 46 - - bit 0, (hl) 11 D1:BAF3 28 0C - - jr z, fshcmdMOVEfArg0Get 12 D1:BAF5 21 4E B3 D1 ld hl, ErrUsageo 13 D1:BAF9 CD B9 B2 D1 call ErrSet 14 D1:BAFD CD 6C B2 D1 call ErrCatch 15 D1:BB01 - - - - fshcmdMOVEfArg0Get: 16 D1:BB01 21 89 BB D1 ld hl, fshcmdMOVEfDSource 17 D1:BB05 CD 07 AB D1 call printprompt 18 D1:BB09 21 85 BB D1 ld hl, fshcmdMOVEfInputBuffer 19 D1:BB0D 11 03 00 00 ld de, 3 20 D1:BB11 CD 3D AF D1 call inputnumstr 21 D1:BB15 CD E6 AB D1 call strtob 22 D1:BB19 21 A8 EA D0 ld hl, FshCmdArg0 23 D1:BB1D 77 - - - ld (hl), a 24 D1:BB1E CD F0 07 02 call _NewLine 25 D1:BB22 - - - - fshcmdMOVEfArg1: 26 D1:BB22 21 CD EA D0 ld hl, FshCmdArgFlags 27 D1:BB26 CB 5E - - bit 3, (hl) 28 D1:BB28 20 31 - - jr nz, fshcmdMOVEfExe 29 D1:BB2A CB 56 - - bit 2, (hl) 30 D1:BB2C 28 0C - - jr z, fshcmdMOVEfArg1Get 31 D1:BB2E 21 4E B3 D1 ld hl, ErrUsageo 32 D1:BB32 CD B9 B2 D1 call ErrSet 33 D1:BB36 CD 6C B2 D1 call ErrCatch 34 D1:BB3A - - - - fshcmdMOVEfArg1Get: 35 D1:BB3A 21 92 BB D1 ld hl, fshcmdMOVEfDDestination 36 D1:BB3E CD 07 AB D1 call printprompt 37 D1:BB42 21 85 BB D1 ld hl, fshcmdMOVEfInputBuffer 38 D1:BB46 11 03 00 00 ld de, 3 39 D1:BB4A CD 3D AF D1 call inputnumstr 40 D1:BB4E CD E6 AB D1 call strtob 41 D1:BB52 21 B1 EA D0 ld hl, FshCmdArg1 42 D1:BB56 77 - - - ld (hl), a 43 D1:BB57 CD F0 07 02 call _NewLine 44 D1:BB5B - - - - fshcmdMOVEfExe: 45 D1:BB5B 21 A8 EA D0 ld hl, FshCmdArg0 46 D1:BB5F 11 00 00 00 ld de, 0 47 D1:BB63 5E - - - ld e, (hl) 48 D1:BB64 EB - - - ex de, hl 49 D1:BB65 E5 - - - push hl 50 D1:BB66 21 B1 EA D0 ld hl, FshCmdArg1 51 D1:BB6A 11 00 00 00 ld de, 0 52 D1:BB6E 5E - - - ld e, (hl) 53 D1:BB6F E1 - - - pop hl 54 D1:BB70 CD 0F B2 D1 call fshvarcpy 55 D1:BB74 EB - - - ex de, hl 56 D1:BB75 21 00 00 00 ld hl, 0 57 D1:BB79 CD BC B1 D1 call fshvarset 58 D1:BB7D CD 6C B2 D1 call ErrCatch 59 D1:BB81 C3 E7 A8 D1 jp Fin 60 D1:BB85 - - - - 61 D1:BB85 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00 62 D1:BB89 53 6F 75 72 63 65 3D 20 00 - - - fshcmdMOVEfDSource: .db "Source= ", 0 63 D1:BB92 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdMOVEfDDestination: .db "Destination= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 5 D1:BBA0 - - - - #include "includes/FshCommands/CLS.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\CLS.asm" 1 D1:BBA0 43 4C 53 00 fshcmdCLS: .db "CLS", 0 2 D1:BBA4 10 - - - fshcmdCLSo: .db $10 3 D1:BBA5 43 6C 65 61 72 73 20 74 68 65 20 73 63 72 65 65 6E 00 - - fshcmdCLSm: .db "Clears the screen", 0 4 D1:BBB7 43 4C 53 00 fshcmdCLSu: .db "CLS", 0 5 D1:BBBB - - - - fshcmdCLSf: 6 D1:BBBB CD 08 08 02 call _ClrLCDFull 7 D1:BBBF AF - - - xor a 8 D1:BBC0 32 95 05 D0 ld (CurRow), a 9 D1:BBC4 32 96 05 D0 ld (CurCol), a 10 D1:BBC8 C3 E7 A8 D1 jp Fin Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 6 D1:BBCC - - - - #include "includes/FshCommands/VAR.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\VAR.asm" 1 D1:BBCC 56 41 52 00 fshcmdVAR: .db "VAR", 0 2 D1:BBD0 11 - - - fshcmdVARo: .db $11 3 D1:BBD1 44 69 73 70 6C 61 79 73 20 61 20 76 61 6C 75 65 20 66 72 6F 6D 20 46 53 48 20 6D 65 6D 6F 72 79 00 - - - fshcmdVARm: .db "Displays a value from FSH memory", 0 4 D1:BBF2 56 41 52 20 3C 73 6F 75 72 63 65 20 61 64 64 72 65 73 73 3E 00 - - - fshcmdVARu: .db "VAR ", 0 5 D1:BC07 - - - - fshcmdVARf: 6 D1:BC07 - - - - fshcmdVARfArg0: 7 D1:BC07 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:BC0B CB 4E - - bit 1, (hl) 9 D1:BC0D 20 34 - - jr nz, fshcmdVARfExe 10 D1:BC0F CB 46 - - bit 0, (hl) 11 D1:BC11 28 0C - - jr z, fshcmdVARfArg0Get 12 D1:BC13 21 4E B3 D1 ld hl, ErrUsageo 13 D1:BC17 CD B9 B2 D1 call ErrSet 14 D1:BC1B CD 6C B2 D1 call ErrCatch 15 D1:BC1F - - - - fshcmdVARfArg0Get: 16 D1:BC1F 21 66 BC D1 ld hl, fshcmdVARfDIndex 17 D1:BC23 CD 07 AB D1 call printprompt 18 D1:BC27 21 62 BC D1 ld hl, fshcmdVARfInputBuffer 19 D1:BC2B 11 03 00 00 ld de, 3 20 D1:BC2F CD 3D AF D1 call inputnumstr 21 D1:BC33 CD 43 AC D1 call strtow 22 D1:BC37 11 A8 EA D0 ld de, FshCmdArg0 23 D1:BC3B EB - - - ex de, hl 24 D1:BC3C 73 - - - ld (hl), e 25 D1:BC3D 23 - - - inc hl 26 D1:BC3E 72 - - - ld (hl), d 27 D1:BC3F CD F0 07 02 call _NewLine 28 D1:BC43 - - - - fshcmdVARfExe: 29 D1:BC43 21 A8 EA D0 ld hl, FshCmdArg0 30 D1:BC47 11 00 00 00 ld de, 0 31 D1:BC4B 5E - - - ld e, (hl) 32 D1:BC4C 23 - - - inc hl 33 D1:BC4D 56 - - - ld d, (hl) 34 D1:BC4E CD E4 B1 D1 call fshvarget 35 D1:BC52 CD 6C B2 D1 call ErrCatch 36 D1:BC56 CD BC 07 02 call _DispHL_s 37 D1:BC5A CD F0 07 02 call _NewLine 38 D1:BC5E C3 E7 A8 D1 jp Fin 39 D1:BC62 - - - - 40 D1:BC62 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00 41 D1:BC66 49 6E 64 65 78 3D 20 00 fshcmdVARfDIndex: .db "Index= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 7 D1:BC6E - - - - #include "includes/FshCommands/VARS.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\VARS.asm" 1 D1:BC6E 56 41 52 53 00 - - - fshcmdVARS: .db "VARS", 0 2 D1:BC73 12 - - - fshcmdVARSo: .db $12 3 D1:BC74 44 69 73 70 6C 61 79 73 20 61 6C 6C 20 46 73 68 20 56 61 72 73 00 - - fshcmdVARSm: .db "Displays all Fsh Vars", 0 4 D1:BC8A 56 41 52 53 00 - - - fshcmdVARSu: .db "VARS", 0 5 D1:BC8F - - - - fshcmdVARSf: 6 D1:BC8F 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:BC93 CB 46 - - bit 0, (hl) 8 D1:BC95 28 0C - - jr z, fshcmdVARSfExe 9 D1:BC97 21 4E B3 D1 ld hl, ErrUsageo 10 D1:BC9B CD B9 B2 D1 call ErrSet 11 D1:BC9F CD 6C B2 D1 call ErrCatch 12 D1:BCA3 - - - - fshcmdVARSfExe: 13 D1:BCA3 06 00 - - ld b, 0 14 D1:BCA5 0E 00 - - ld c, 0 15 D1:BCA7 11 00 00 00 ld de, 0 16 D1:BCAB - - - - fshcmdVARSfLoop: 17 D1:BCAB CD E4 B1 D1 call fshvarget 18 D1:BCAF 7C - - - ld a, h 19 D1:BCB0 CD B8 07 02 call _PutC 20 D1:BCB4 7D - - - ld a, l 21 D1:BCB5 CD B8 07 02 call _PutC 22 D1:BCB9 79 - - - ld a, c 23 D1:BCBA 0C - - - inc c 24 D1:BCBB FE 07 - - cp 7 25 D1:BCBD 20 0E - - jr nz, fshcmdVARSfLoopU 26 D1:BCBF E5 - - - push hl 27 D1:BCC0 C5 - - - push bc 28 D1:BCC1 D5 - - - push de 29 D1:BCC2 CD F0 07 02 call _NewLine 30 D1:BCC6 D1 - - - pop de 31 D1:BCC7 C1 - - - pop bc 32 D1:BCC8 E1 - - - pop hl 33 D1:BCC9 0E 00 - - ld c, 0 34 D1:BCCB 18 06 - - jr fshcmdVARSfLoopEnd 35 D1:BCCD - - - - fshcmdVARSfLoopU: 36 D1:BCCD 3E 5F - - ld a, '_' 37 D1:BCCF CD B8 07 02 call _PutC 38 D1:BCD3 - - - - fshcmdVARSfLoopEnd: 39 D1:BCD3 04 - - - inc b 40 D1:BCD4 13 - - - inc de 41 D1:BCD5 78 - - - ld a, b 42 D1:BCD6 FE 40 - - cp FshVarsSize / 2 43 D1:BCD8 38 D1 - - jr c, fshcmdVARSfLoop 44 D1:BCDA C3 E7 A8 D1 jp Fin Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 8 D1:BCDE - - - - #include "includes/FshCommands/SLEEP.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\SLEEP.asm" 1 D1:BCDE 53 4C 45 45 50 00 - - fshcmdSLEEP: .db "SLEEP", 0 2 D1:BCE4 16 - - - fshcmdSLEEPo: .db $16 3 D1:BCE5 50 75 74 73 20 74 68 65 20 63 61 6C 63 75 6C 61 74 6F 72 20 69 6E 74 6F 20 73 6C 65 65 70 20 6D 6F 64 65 20 28 41 50 44 29 00 - - fshcmdSLEEPm: .db "Puts the calculator into sleep mode (APD)", 0 4 D1:BD0F 53 4C 45 45 50 00 - - fshcmdSLEEPu: .db "SLEEP", 0 5 D1:BD15 - - - - fshcmdSLEEPf: 6 D1:BD15 F3 - - - di 7 D1:BD16 CD 38 11 02 call _EnableAPD 8 D1:BD1A 3E 01 - - ld a,1 9 D1:BD1C 21 90 05 D0 ld hl,apdSubTimer 10 D1:BD20 77 - - - ld (hl),a 11 D1:BD21 23 - - - inc hl 12 D1:BD22 77 - - - ld (hl),a 13 D1:BD23 FD CB 08 DE set apdRunning,(iy+apdFlags) 14 D1:BD27 FB - - - ei 15 D1:BD28 C3 E7 A8 D1 jp Fin Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 9 D1:BD2C - - - - #include "includes/FshCommands/INFO.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\INFO.asm" 1 D1:BD2C 49 4E 46 4F 00 - - - fshcmdINFO: .db "INFO", 0 2 D1:BD31 20 - - - fshcmdINFOo: .db $20 3 D1:BD32 44 69 73 70 6C 61 79 73 20 53 79 65 74 65 6D 20 49 6E 66 6F 72 6D 61 74 69 6F 6E 20 61 6E 64 20 53 74 61 74 73 00 - - fshcmdINFOm: .db "Displays Syetem Information and Stats", 0 4 D1:BD58 49 4E 46 4F 00 - - - fshcmdINFOu: .db "INFO", 0 5 D1:BD5D - - - - fshcmdINFOf: 6 D1:BD5D 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:BD61 CB 46 - - bit 0, (hl) 8 D1:BD63 28 0C - - jr z, fshcmdINFOfExe 9 D1:BD65 21 4E B3 D1 ld hl, ErrUsageo 10 D1:BD69 CD B9 B2 D1 call ErrSet 11 D1:BD6D CD 6C B2 D1 call ErrCatch 12 D1:BD71 - - - - fshcmdINFOfExe: 13 D1:BD71 CD 08 08 02 call _ClrLCDFull 14 D1:BD75 AF - - - xor a 15 D1:BD76 32 95 05 D0 ld (CurRow), a 16 D1:BD7A 32 96 05 D0 ld (CurCol), a 17 D1:BD7E - - - - 18 D1:BD7E CD 9B B3 D1 call printfshnamelong 19 D1:BD82 CD F0 07 02 call _NewLine 20 D1:BD86 - - - - 21 D1:BD86 21 12 A9 D1 ld hl, FshBy 22 D1:BD8A CD C0 07 02 call _PutS 23 D1:BD8E CD F0 07 02 call _NewLine 24 D1:BD92 - - - - 25 D1:BD92 21 1C A9 D1 ld hl, FshSite 26 D1:BD96 CD C0 07 02 call _PutS 27 D1:BD9A CD F0 07 02 call _NewLine 28 D1:BD9E - - - - 29 D1:BD9E CD F0 07 02 call _NewLine 30 D1:BDA2 21 C6 BD D1 ld hl, fshcmdINFOfSPS1 31 D1:BDA6 CD C0 07 02 call _PutS 32 D1:BDAA 3E 27 - - ld a, $27 33 D1:BDAC CD B8 07 02 call _PutC 34 D1:BDB0 21 37 A9 D1 ld hl, PS1 35 D1:BDB4 CD C0 07 02 call _PutS 36 D1:BDB8 3E 27 - - ld a, $27 37 D1:BDBA CD B8 07 02 call _PutC 38 D1:BDBE CD F0 07 02 call _NewLine 39 D1:BDC2 - - - - 40 D1:BDC2 C3 E7 A8 D1 jp Fin 41 D1:BDC6 - - - - 42 D1:BDC6 50 53 31 CE CE CE 3A 00 fshcmdINFOfSPS1: .db "PS1", $CE, $CE, $CE, ":", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 10 D1:BDCE - - - - #include "includes/FshCommands/HELP.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\HELP.asm" 1 D1:BDCE 48 45 4C 50 00 - - - fshcmdHELP: .db "HELP", 0 2 D1:BDD3 21 - - - fshcmdHELPo: .db $21 3 D1:BDD4 44 69 73 70 6C 61 79 73 20 61 6C 6C 20 63 6F 6D 6D 61 6E 64 73 00 - - fshcmdHELPm: .db "Displays all commands", 0 4 D1:BDEA 48 45 4C 50 00 - - - fshcmdHELPu: .db "HELP", 0 5 D1:BDEF - - - - fshcmdHELPf: 6 D1:BDEF 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:BDF3 CB 46 - - bit 0, (hl) 8 D1:BDF5 28 0C - - jr z, fshcmdHELPfExe 9 D1:BDF7 21 4E B3 D1 ld hl, ErrUsageo 10 D1:BDFB CD B9 B2 D1 call ErrSet 11 D1:BDFF CD 6C B2 D1 call ErrCatch 12 D1:BE03 - - - - fshcmdHELPfExe: 13 D1:BE03 21 C9 BE D1 ld hl, fshcmdHELPfLine1 14 D1:BE07 CD C0 07 02 call _PutS 15 D1:BE0B CD F0 07 02 call _NewLine 16 D1:BE0F - - - - 17 D1:BE0F - - - - #macro fshcmdHELPmRow1(cmdXs) 18 D1:BE0F xor a 19 D1:BE0F ld (curCol), a 20 D1:BE0F ld hl, cmdXs 21 D1:BE0F call _PutS 22 D1:BE0F call _NewLine 23 D1:BE0F #endmacro 24 D1:BE0F - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs) 25 D1:BE0F xor a 26 D1:BE0F ld (curCol), a 27 D1:BE0F ld hl, cmdXs 28 D1:BE0F call _PutS 29 D1:BE0F ld a, 9 30 D1:BE0F ld (curcol), a 31 D1:BE0F ld hl, cmdYs 32 D1:BE0F call _PutS 33 D1:BE0F call _NewLine 34 D1:BE0F #endmacro 35 D1:BE0F - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs) 36 D1:BE0F xor a 37 D1:BE0F ld (curCol), a 38 D1:BE0F ld hl, cmdXs 39 D1:BE0F call _PutS 40 D1:BE0F ld a, 9 41 D1:BE0F ld (curcol), a 42 D1:BE0F ld hl, cmdYs 43 D1:BE0F call _PutS 44 D1:BE0F ld a, 19 45 D1:BE0F ld (curcol), a 46 D1:BE0F ld hl, cmdZs 47 D1:BE0F call _PutS 48 D1:BE0F call _NewLine 49 D1:BE0F #endmacro 50 D1:BE0F - - - - 51 D1:BE0F AF 32 96 05 D0 21 6C B8 D1 CD C0 07 02 3E 09 32 96 05 D0 21 85 B8 D1 CD C0 07 02 3E 13 32 96 05 D0 21 7C B9 D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdEXIT, fshcmdSET, fshcmdCOPY) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\HELP.asm" 52 D1:BE3C AF 32 96 05 D0 21 8A BA D1 CD C0 07 02 3E 09 32 96 05 D0 21 A0 BB D1 CD C0 07 02 3E 13 32 96 05 D0 21 CC BB D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdMOVE, fshcmdCLS, fshcmdVAR) 53 D1:BE69 AF 32 96 05 D0 21 6E BC D1 CD C0 07 02 3E 09 32 96 05 D0 21 DE BC D1 CD C0 07 02 3E 13 32 96 05 D0 21 2C BD D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdVARS, fshcmdSLEEP, fshcmdINFO) 54 D1:BE96 AF 32 96 05 D0 21 CE BD D1 CD C0 07 02 3E 09 32 96 05 D0 21 02 BF D1 CD C0 07 02 CD F0 07 02 - fshcmdHELPmRow2(fshcmdHELP, fshcmdMAN) 55 D1:BEB5 - - - - ; Extention Point 56 D1:BEB5 - - - - 57 D1:BEB5 CD F0 07 02 call _NewLine 58 D1:BEB9 21 DD BE D1 ld hl, fshcmdHELPfLine2 59 D1:BEBD CD C0 07 02 call _PutS 60 D1:BEC1 CD F0 07 02 call _NewLine 61 D1:BEC5 C3 E7 A8 D1 jp Fin 62 D1:BEC9 - - - - 63 D1:BEC9 41 76 61 69 6C 61 62 6C 65 20 43 6F 6D 6D 61 6E 64 73 3A 00 fshcmdHELPfLine1: .db "Available Commands:", 0 64 D1:BEDD 54 79 70 65 20 27 4D 41 4E 27 20 61 6E 64 20 63 6F 6D 6D 61 6E 64 20 66 6F 72 20 6D 6F 72 65 20 69 6E 66 6F 00 - - - fshcmdHELPfLine2: .db "Type 'MAN' and command for more info", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" 11 D1:BF02 - - - - #include "includes/FshCommands/MAN.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\MAN.asm" 1 D1:BF02 4D 41 4E 00 fshcmdMAN: .db "MAN", 0 2 D1:BF06 22 - - - fshcmdMANo: .db $22 3 D1:BF07 44 69 73 70 6C 61 79 73 20 4D 41 4E 20 74 65 78 74 20 66 6F 72 20 63 6F 6D 6D 61 6E 64 00 - - fshcmdMANm: .db "Displays MAN text for command", 0 4 D1:BF25 4D 41 4E 20 3C 63 6F 6D 6D 61 6E 64 3E 00 - - fshcmdMANu: .db "MAN ", 0 5 D1:BF33 - - - - fshcmdMANf: 6 D1:BF33 - - - - fshcmdMANfCheckArgs: 7 D1:BF33 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:BF37 CB 46 - - bit 0, (hl) 9 D1:BF39 28 10 - - jr z, fshcmdMANfArg0Get 10 D1:BF3B CB 4E - - bit 1, (hl) 11 D1:BF3D 28 24 - - jr z, fshcmdMANfExe 12 D1:BF3F 21 4E B3 D1 ld hl, ErrUsageo 13 D1:BF43 CD B9 B2 D1 call ErrSet 14 D1:BF47 CD 6C B2 D1 call ErrCatch 15 D1:BF4B - - - - fshcmdMANfArg0Get: 16 D1:BF4B 21 E0 BF D1 ld hl, fshcmdMANfPrompt 17 D1:BF4F CD 07 AB D1 call printprompt 18 D1:BF53 - - - - 19 D1:BF53 21 A8 EA D0 ld hl, FshCmdArg0 20 D1:BF57 11 08 00 00 ld de, FshCmdCmdSize 21 D1:BF5B CD 05 AD D1 call inputstr 22 D1:BF5F CD F0 07 02 call _NewLine 23 D1:BF63 - - - - 24 D1:BF63 - - - - fshcmdMANfExe: 25 D1:BF63 21 A8 EA D0 ld hl, FshCmdArg0 26 D1:BF67 11 9F EA D0 ld de, FshCmd 27 D1:BF6B CD CC AB D1 call strcpy 28 D1:BF6F - - - - 29 D1:BF6F 21 CF BF D1 ld hl, fshcmdMANfPrefix 30 D1:BF73 CD C0 07 02 call _PutS 31 D1:BF77 - - - - 32 D1:BF77 21 9F EA D0 ld hl, FshCmd 33 D1:BF7B CD C0 07 02 call _PutS 34 D1:BF7F CD F0 07 02 call _NewLine 35 D1:BF83 CD F0 07 02 call _NewLine 36 D1:BF87 - - - - 37 D1:BF87 21 9F EA D0 ld hl, FshCmd 38 D1:BF8B CD 51 B5 D1 call manroute 39 D1:BF8F 11 00 00 00 ld de, $00 40 D1:BF93 CD 79 A9 D1 call cpHLDE 41 D1:BF97 CA EB A8 D1 jp z, Err 42 D1:BF9B - - - - 43 D1:BF9B CD C0 07 02 call _PutS 44 D1:BF9F CD F0 07 02 call _NewLine 45 D1:BFA3 CD F0 07 02 call _NewLine 46 D1:BFA7 - - - - 47 D1:BFA7 21 D8 BF D1 ld hl, fshcmdMANfUsage 48 D1:BFAB CD C0 07 02 call _PutS 49 D1:BFAF - - - - 50 D1:BFAF 21 9F EA D0 ld hl, FshCmd 51 D1:BFB3 CD 67 B5 D1 call manrouteu 52 D1:BFB7 11 00 00 00 ld de, $00 53 D1:BFBB CD 79 A9 D1 call cpHLDE 54 D1:BFBF CA EB A8 D1 jp z, Err 55 D1:BFC3 CD C0 07 02 call _PutS 56 D1:BFC7 CD F0 07 02 call _NewLine 57 D1:BFCB - - - - 58 D1:BFCB C3 E7 A8 D1 jp Fin 59 D1:BFCF - - - - 60 D1:BFCF 4D 41 4E 2D 44 42 DF 20 00 - - - fshcmdMANfPrefix: .db "MAN-DB", $DF, ' ', 0 61 D1:BFD8 55 73 61 67 65 3A 20 00 fshcmdMANfUsage: .db "Usage: ",0 62 D1:BFE0 43 6F 6D 6D 61 6E 64 3D 20 00 - - fshcmdMANfPrompt: .db "Command= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Command.asm" 31 D1:BFEA - - - - #include "includes/CryptoCommands/CryptoCommand.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm" 1 D1:BFEA - - - - cryptocmddecode: 2 D1:BFEA E5 D5 11 94 C1 D1 CD B9 AB D1 21 9C C1 D1 D1 CC 49 AA D1 E1 decodecmdopt(cryptocmdENCRYPT, cryptocmdENCRYPTo) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm" 3 D1:BFFE E5 D5 11 0B C4 D1 CD B9 AB D1 21 13 C4 D1 D1 CC 49 AA D1 E1 decodecmdopt(cryptocmdDECRYPT, cryptocmdDECRYPTo) 4 D1:C012 C9 - - - ret 5 D1:C013 - - - - 6 D1:C013 - - - - cryptocmdroute: 7 D1:C013 C1 - - - pop bc 8 D1:C014 11 9C C1 D1 CD 41 AA D1 CA 0B C2 D1 routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf) 9 D1:C020 11 13 C4 D1 CD 41 AA D1 CA 82 C4 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) 10 D1:C02C C5 - - - push bc 11 D1:C02D C9 - - - ret 12 D1:C02E - - - - 13 D1:C02E - - - - cryptocmdmanroute: 14 D1:C02E C1 - - - pop bc 15 D1:C02F E5 11 94 C1 D1 CD B9 AB D1 21 00 00 00 20 04 21 B1 EA D0 11 84 C2 D1 CD B9 AB D1 E1 11 88 C2 D1 CA 64 B5 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTm) 16 D1:C053 E5 11 0B C4 D1 CD B9 AB D1 21 00 00 00 20 04 21 B1 EA D0 11 FB C4 D1 CD B9 AB D1 E1 11 FF C4 D1 CA 64 B5 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTm) 17 D1:C077 - - - - 18 D1:C077 E5 11 94 C1 D1 CD B9 AB D1 21 00 00 00 20 04 21 B1 EA D0 11 88 C3 D1 CD B9 AB D1 E1 11 8D C3 D1 CA 64 B5 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm) 19 D1:C09B E5 11 0B C4 D1 CD B9 AB D1 21 00 00 00 20 04 21 B1 EA D0 11 88 C3 D1 CD B9 AB D1 E1 11 8D C3 D1 CA 64 B5 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPm) 20 D1:C0BF - - - - 21 D1:C0BF 11 94 C1 D1 CD B9 AB D1 11 9D C1 D1 CA 64 B5 D1 routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm) 22 D1:C0CF 11 0B C4 D1 CD B9 AB D1 11 14 C4 D1 CA 64 B5 D1 routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm) 23 D1:C0DF - - - - 24 D1:C0DF C5 - - - push bc 25 D1:C0E0 C9 - - - ret 26 D1:C0E1 - - - - 27 D1:C0E1 - - - - 28 D1:C0E1 - - - - cryptocmdmanrouteu: 29 D1:C0E1 C1 - - - pop bc 30 D1:C0E2 E5 11 94 C1 D1 CD B9 AB D1 21 00 00 00 20 04 21 B1 EA D0 11 84 C2 D1 CD B9 AB D1 E1 11 BF C2 D1 CA 7A B5 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTu) 31 D1:C106 E5 11 0B C4 D1 CD B9 AB D1 21 00 00 00 20 04 21 B1 EA D0 11 FB C4 D1 CD B9 AB D1 E1 11 36 C5 D1 CA 7A B5 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTu) 32 D1:C12A - - - - 33 D1:C12A E5 11 94 C1 D1 CD B9 AB D1 21 00 00 00 20 04 21 B1 EA D0 11 88 C3 D1 CD B9 AB D1 E1 11 9E C3 D1 CA 7A B5 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu) 34 D1:C14E E5 11 0B C4 D1 CD B9 AB D1 21 00 00 00 20 04 21 B1 EA D0 11 88 C3 D1 CD B9 AB D1 E1 11 9E C3 D1 CA 7A B5 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPu) 35 D1:C172 - - - - 36 D1:C172 11 94 C1 D1 CD B9 AB D1 11 E6 C1 D1 CA 7A B5 D1 routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu) 37 D1:C182 11 0B C4 D1 CD B9 AB D1 11 5D C4 D1 CA 7A B5 D1 routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu) 38 D1:C192 - - - - 39 D1:C192 C5 - - - push bc 40 D1:C193 C9 - - - ret 41 D1:C194 - - - - 42 D1:C194 - - - - #include "includes/CryptoCommands/CryptoCommands.inc" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" 1 D1:C194 - - - - #include "includes/CryptoCommands/ENCRYPT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ENCRYPT.asm" 1 D1:C194 45 4E 43 52 59 50 54 00 cryptocmdENCRYPT: .db "ENCRYPT", 0 2 D1:C19C 40 - - - cryptocmdENCRYPTo: .db $40 3 D1:C19D 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:C1E6 45 4E 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 - - - cryptocmdENCRYPTu: .db "ENCRYPT ", 0 5 D1:C20B - - - - cryptocmdENCRYPTf: 6 D1:C20B - - - - cryptocmdENCRYPTfArg0: 7 D1:C20B 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:C20F CB 46 - - bit 0, (hl) 9 D1:C211 28 10 - - jr z, cryptocmdENCRYPTfArg0Get 10 D1:C213 CB 4E - - bit 1, (hl) 11 D1:C215 28 24 - - jr z, cryptocmdENCRYPTfExe 12 D1:C217 21 4E B3 D1 ld hl, ErrUsageo 13 D1:C21B CD B9 B2 D1 call ErrSet 14 D1:C21F CD 6C B2 D1 call ErrCatch 15 D1:C223 - - - - cryptocmdENCRYPTfArg0Get: 16 D1:C223 21 7B C2 D1 ld hl, cryptocmdENCRYPTfSCypher 17 D1:C227 CD 07 AB D1 call printprompt 18 D1:C22B 21 A8 EA D0 ld hl, FshCmdArg0 19 D1:C22F 11 2C 00 00 ld de, FshCmdInptSize 20 D1:C233 CD 05 AD D1 call inputstr 21 D1:C237 CD F0 07 02 call _NewLine 22 D1:C23B - - - - cryptocmdENCRYPTfExe: 23 D1:C23B - - - - 24 D1:C23B - - - - #macro cryptocmdENCRYPTcmpjp(cmdX, cmdXf) 25 D1:C23B ld hl, FshCmdArg0 26 D1:C23B ld de, CmdX 27 D1:C23B call strcmp 28 D1:C23B jp z, cmdXf 29 D1:C23B #endmacro 30 D1:C23B - - - - 31 D1:C23B 21 A8 EA D0 11 84 C2 D1 CD B9 AB D1 CA D4 C2 D1 cryptocmdENCRYPTcmpjp(cryptocmdROT, cryptocmdROTf) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ENCRYPT.asm" 32 D1:C24B 21 A8 EA D0 11 88 C3 D1 CD B9 AB D1 CA AB C3 D1 cryptocmdENCRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) 33 D1:C25B - - - - 34 D1:C25B 21 A8 EA D0 ld hl, FshCmdArg0 35 D1:C25F 11 9F EA D0 ld de, FshCmd 36 D1:C263 CD CC AB D1 call strcpy 37 D1:C267 - - - - 38 D1:C267 21 C8 B2 D1 ld hl, ErrCmdNotFoundo 39 D1:C26B 11 CE EA D0 ld de, FshCmdErrCode 40 D1:C26F CD 49 AA D1 call bytecpy 41 D1:C273 CD B9 B2 D1 call ErrSet 42 D1:C277 C3 EB A8 D1 jp Err 43 D1:C27B - - - - 44 D1:C27B 43 79 70 68 65 72 3D 20 00 - - - cryptocmdENCRYPTfSCypher: .db "Cypher= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" 2 D1:C284 - - - - #include "includes/CryptoCommands/ROT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ROT.asm" 1 D1:C284 52 4F 54 00 cryptocmdROT: .db "ROT", 0 2 D1:C288 52 4F 54 3A 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 65 6E 63 6F 64 65 73 20 61 20 73 74 72 69 6E 67 00 - cryptocmdROTm: .db "ROT: Cypher, rotates the alphabet and encodes a string", 0 3 D1:C2BF 45 4E 43 52 59 50 54 20 52 4F 54 20 3C 73 68 69 66 74 23 3E 00 - - - cryptocmdROTu: .db "ENCRYPT ROT ", 0 4 D1:C2D4 - - - - cryptocmdROTf: 5 D1:C2D4 - - - - cryptocmdROTfArg1: 6 D1:C2D4 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:C2D8 CB 5E - - bit 3, (hl) 8 D1:C2DA 20 32 - - jr nz, cryptocmdROTfArg2 9 D1:C2DC CB 56 - - bit 2, (hl) 10 D1:C2DE 28 0C - - jr z, cryptocmdROTfArg1Get 11 D1:C2E0 21 4E B3 D1 ld hl, ErrUsageo 12 D1:C2E4 CD B9 B2 D1 call ErrSet 13 D1:C2E8 CD 6C B2 D1 call ErrCatch 14 D1:C2EC - - - - cryptocmdROTfArg1Get: 15 D1:C2EC 21 6D C3 D1 ld hl, cryptocmdROTfDShift 16 D1:C2F0 CD 07 AB D1 call printprompt 17 D1:C2F4 21 B1 EA D0 ld hl, FshCmdArg1 18 D1:C2F8 11 03 00 00 ld de, 3 19 D1:C2FC CD 3D AF D1 call inputnumstr 20 D1:C300 CD 43 AC D1 call strtow 21 D1:C304 11 B1 EA D0 ld de, FshCmdArg1 22 D1:C308 EB - - - ex de, hl 23 D1:C309 73 - - - ld (hl), e 24 D1:C30A CD F0 07 02 call _NewLine 25 D1:C30E - - - - cryptocmdROTfArg2: 26 D1:C30E 21 BA EA D0 ld hl, FshCmdArg2 27 D1:C312 11 CF EA D0 ld de, FshScratch 28 D1:C316 CD CC AB D1 call strcpy 29 D1:C31A 21 CD EA D0 ld hl, FshCmdArgFlags 30 D1:C31E CB 66 - - bit 4, (hl) 31 D1:C320 28 10 - - jr z, cryptocmdROTfArg2Get 32 D1:C322 CB 6E - - bit 5, (hl) 33 D1:C324 28 24 - - jr z, cryptocmdROTfExe 34 D1:C326 21 4E B3 D1 ld hl, ErrUsageo 35 D1:C32A CD B9 B2 D1 call ErrSet 36 D1:C32E CD 6C B2 D1 call ErrCatch 37 D1:C332 - - - - cryptocmdROTfArg2Get: 38 D1:C332 21 75 C3 D1 ld hl, cryptocmdROTfDMessage 39 D1:C336 CD 07 AB D1 call printprompt 40 D1:C33A 21 CF EA D0 ld hl, FshScratch 41 D1:C33E 11 10 00 00 ld de, FshScratchSize - 4 42 D1:C342 CD 29 AE D1 call inputcharstr 43 D1:C346 CD F0 07 02 call _NewLine 44 D1:C34A - - - - cryptocmdROTfExe: 45 D1:C34A 21 B1 EA D0 ld hl, FshCmdArg1 46 D1:C34E 7E - - - ld a, (hl) 47 D1:C34F 21 CF EA D0 ld hl, FshScratch 48 D1:C353 CD 84 B4 D1 call rotletencrypt 49 D1:C357 E5 - - - push hl 50 D1:C358 21 7F C3 D1 ld hl, cryptocmdROTfDResult 51 D1:C35C CD C0 07 02 call _PutS 52 D1:C360 E1 - - - pop hl 53 D1:C361 CD C0 07 02 call _PutS 54 D1:C365 CD F0 07 02 call _NewLine 55 D1:C369 C3 E7 A8 D1 jp Fin 56 D1:C36D - - - - 57 D1:C36D 53 68 69 66 74 3D 20 00 cryptocmdROTfDShift: .db "Shift= ", 0 58 D1:C375 4D 65 73 73 61 67 65 3D 20 00 - - cryptocmdROTfDMessage: .db "Message= ", 0 59 D1:C37F 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdROTfDResult: .db "Result: ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" 3 D1:C388 - - - - 4 D1:C388 - - - - #include "includes/CryptoCommands/HELP.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\HELP.asm" 1 D1:C388 48 45 4C 50 00 - - - cryptocmdHELP: .db "HELP", 0 2 D1:C38D 48 65 6C 70 20 66 6F 72 20 63 79 70 68 65 72 73 00 - - - cryptocmdHELPm: .db "Help for cyphers", 0 3 D1:C39E 45 4E 43 52 59 50 54 20 48 45 4C 50 00 - - - cryptocmdHELPu: .db "ENCRYPT HELP", 0 4 D1:C3AB - - - - cryptocmdHELPf: 5 D1:C3AB 21 CD EA D0 ld hl, FshCmdArgFlags 6 D1:C3AF CB 56 - - bit 2, (hl) 7 D1:C3B1 28 0C - - jr z, cryptocmdHELPfExe 8 D1:C3B3 21 4E B3 D1 ld hl, ErrUsageo 9 D1:C3B7 CD B9 B2 D1 call ErrSet 10 D1:C3BB CD 6C B2 D1 call ErrCatch 11 D1:C3BF - - - - cryptocmdHELPfExe: 12 D1:C3BF 21 F8 C3 D1 ld hl, cryptocmdHELPfLine1 13 D1:C3C3 CD C0 07 02 call _PutS 14 D1:C3C7 CD F0 07 02 call _NewLine 15 D1:C3CB - - - - 16 D1:C3CB - - - - #macro cryptocmdHELPmRow1(cmdXs) 17 D1:C3CB xor a 18 D1:C3CB ld (curCol), a 19 D1:C3CB ld hl, cmdXs 20 D1:C3CB call _PutS 21 D1:C3CB call _NewLine 22 D1:C3CB #endmacro 23 D1:C3CB - - - - #macro cryptocmdHELPmRowU(cmdXs, cmdXu) 24 D1:C3CB xor a 25 D1:C3CB ld (curCol), a 26 D1:C3CB ld hl, cmdXs 27 D1:C3CB call _PutS 28 D1:C3CB ld a, ':' 29 D1:C3CB call _PutC 30 D1:C3CB ld a, ' ' 31 D1:C3CB call _PutC 32 D1:C3CB ld hl, cmdXu 33 D1:C3CB call _PutS 34 D1:C3CB call _NewLine 35 D1:C3CB #endmacro 36 D1:C3CB - - - - #macro cryptocmdHELPmRow2(cmdXs, cmdYs) 37 D1:C3CB xor a 38 D1:C3CB ld (curCol), a 39 D1:C3CB ld hl, cmdXs 40 D1:C3CB call _PutS 41 D1:C3CB ld a, 9 42 D1:C3CB ld (curcol), a 43 D1:C3CB ld hl, cmdYs 44 D1:C3CB call _PutS 45 D1:C3CB call _NewLine 46 D1:C3CB #endmacro 47 D1:C3CB - - - - #macro cryptocmdHELPmRow3(cmdXs, cmdYs, cmdZs) 48 D1:C3CB xor a 49 D1:C3CB ld (curCol), a 50 D1:C3CB ld hl, cmdXs 51 D1:C3CB call _PutS 52 D1:C3CB ld a, 9 53 D1:C3CB ld (curcol), a 54 D1:C3CB ld hl, cmdYs 55 D1:C3CB call _PutS 56 D1:C3CB ld a, 19 57 D1:C3CB ld (curcol), a 58 D1:C3CB ld hl, cmdZs 59 D1:C3CB call _PutS 60 D1:C3CB call _NewLine 61 D1:C3CB #endmacro 62 D1:C3CB - - - - 63 D1:C3CB AF 32 96 05 D0 21 84 C2 D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 02 21 BF C2 D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdHELPmRowU(cryptocmdROT, cryptocmdROTu) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\HELP.asm" 64 D1:C3F0 - - - - 65 D1:C3F0 CD F0 07 02 call _NewLine 66 D1:C3F4 C3 E7 A8 D1 jp Fin 67 D1:C3F8 - - - - 68 D1:C3F8 41 76 61 69 6C 61 62 6C 65 20 43 72 79 70 74 6F 73 3A 00 - cryptocmdHELPfLine1: .db "Available Cryptos:", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" 5 D1:C40B - - - - 6 D1:C40B - - - - #include "includes/CryptoCommands/DECRYPT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\DECRYPT.asm" 1 D1:C40B 44 45 43 52 59 50 54 00 cryptocmdDECRYPT: .db "DECRYPT", 0 2 D1:C413 41 - - - cryptocmdDECRYPTo: .db $41 3 D1:C414 44 65 63 72 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:C45D 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:C482 - - - - cryptocmdDECRYPTf: 6 D1:C482 - - - - cryptocmdDECRYPTfArg0: 7 D1:C482 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:C486 CB 46 - - bit 0, (hl) 9 D1:C488 28 10 - - jr z, cryptocmdDECRYPTfArg0Get 10 D1:C48A CB 4E - - bit 1, (hl) 11 D1:C48C 28 24 - - jr z, cryptocmdDECRYPTfExe 12 D1:C48E 21 4E B3 D1 ld hl, ErrUsageo 13 D1:C492 CD B9 B2 D1 call ErrSet 14 D1:C496 CD 6C B2 D1 call ErrCatch 15 D1:C49A - - - - cryptocmdDECRYPTfArg0Get: 16 D1:C49A 21 F2 C4 D1 ld hl, cryptocmdDECRYPTfSCypher 17 D1:C49E CD 07 AB D1 call printprompt 18 D1:C4A2 21 A8 EA D0 ld hl, FshCmdArg0 19 D1:C4A6 11 2C 00 00 ld de, FshCmdInptSize 20 D1:C4AA CD 05 AD D1 call inputstr 21 D1:C4AE CD F0 07 02 call _NewLine 22 D1:C4B2 - - - - cryptocmdDECRYPTfExe: 23 D1:C4B2 - - - - 24 D1:C4B2 - - - - #macro cryptocmdDECRYPTcmpjp(cmdX, cmdXf) 25 D1:C4B2 ld hl, FshCmdArg0 26 D1:C4B2 ld de, CmdX 27 D1:C4B2 call strcmp 28 D1:C4B2 jp z, cmdXf 29 D1:C4B2 #endmacro 30 D1:C4B2 - - - - 31 D1:C4B2 21 A8 EA D0 11 FB C4 D1 CD B9 AB D1 CA 4B C5 D1 cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf) Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\DECRYPT.asm" 32 D1:C4C2 21 A8 EA D0 11 88 C3 D1 CD B9 AB D1 CA AB C3 D1 cryptocmdDECRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) 33 D1:C4D2 - - - - 34 D1:C4D2 21 A8 EA D0 ld hl, FshCmdArg0 35 D1:C4D6 11 9F EA D0 ld de, FshCmd 36 D1:C4DA CD CC AB D1 call strcpy 37 D1:C4DE - - - - 38 D1:C4DE 21 C8 B2 D1 ld hl, ErrCmdNotFoundo 39 D1:C4E2 11 CE EA D0 ld de, FshCmdErrCode 40 D1:C4E6 CD 49 AA D1 call bytecpy 41 D1:C4EA CD B9 B2 D1 call ErrSet 42 D1:C4EE C3 EB A8 D1 jp Err 43 D1:C4F2 - - - - 44 D1:C4F2 43 79 70 68 65 72 3D 20 00 - - - cryptocmdDECRYPTfSCypher: .db "Cypher= ", 0 Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc" 7 D1:C4FB - - - - #include "includes/CryptoCommands/unROT.asm" Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\unROT.asm" 1 D1:C4FB 52 4F 54 00 cryptocmdunROT: .db "ROT", 0 2 D1:C4FF 52 4F 54 3A 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:C536 44 45 43 52 59 50 54 20 52 4F 54 20 3C 73 68 69 66 74 23 3E 00 - - - cryptocmdunROTu: .db "DECRYPT ROT ", 0 4 D1:C54B - - - - cryptocmdunROTf: 5 D1:C54B - - - - cryptocmdunROTfArg1: 6 D1:C54B 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:C54F CB 5E - - bit 3, (hl) 8 D1:C551 20 32 - - jr nz, cryptocmdunROTfArg2 9 D1:C553 CB 56 - - bit 2, (hl) 10 D1:C555 28 0C - - jr z, cryptocmdunROTfArg1Get 11 D1:C557 21 4E B3 D1 ld hl, ErrUsageo 12 D1:C55B CD B9 B2 D1 call ErrSet 13 D1:C55F CD 6C B2 D1 call ErrCatch 14 D1:C563 - - - - cryptocmdunROTfArg1Get: 15 D1:C563 21 E4 C5 D1 ld hl, cryptocmdunROTfDShift 16 D1:C567 CD 07 AB D1 call printprompt 17 D1:C56B 21 B1 EA D0 ld hl, FshCmdArg1 18 D1:C56F 11 03 00 00 ld de, 3 19 D1:C573 CD 3D AF D1 call inputnumstr 20 D1:C577 CD 43 AC D1 call strtow 21 D1:C57B 11 B1 EA D0 ld de, FshCmdArg1 22 D1:C57F EB - - - ex de, hl 23 D1:C580 73 - - - ld (hl), e 24 D1:C581 CD F0 07 02 call _NewLine 25 D1:C585 - - - - cryptocmdunROTfArg2: 26 D1:C585 21 BA EA D0 ld hl, FshCmdArg2 27 D1:C589 11 CF EA D0 ld de, FshScratch 28 D1:C58D CD CC AB D1 call strcpy 29 D1:C591 21 CD EA D0 ld hl, FshCmdArgFlags 30 D1:C595 CB 66 - - bit 4, (hl) 31 D1:C597 28 10 - - jr z, cryptocmdunROTfArg2Get 32 D1:C599 CB 6E - - bit 5, (hl) 33 D1:C59B 28 24 - - jr z, cryptocmdunROTfExe 34 D1:C59D 21 4E B3 D1 ld hl, ErrUsageo 35 D1:C5A1 CD B9 B2 D1 call ErrSet 36 D1:C5A5 CD 6C B2 D1 call ErrCatch 37 D1:C5A9 - - - - cryptocmdunROTfArg2Get: 38 D1:C5A9 21 EC C5 D1 ld hl, cryptocmdunROTfDMessage 39 D1:C5AD CD 07 AB D1 call printprompt 40 D1:C5B1 21 CF EA D0 ld hl, FshScratch 41 D1:C5B5 11 10 00 00 ld de, FshScratchSize - 4 42 D1:C5B9 CD 29 AE D1 call inputcharstr 43 D1:C5BD CD F0 07 02 call _NewLine 44 D1:C5C1 - - - - cryptocmdunROTfExe: 45 D1:C5C1 21 B1 EA D0 ld hl, FshCmdArg1 46 D1:C5C5 7E - - - ld a, (hl) 47 D1:C5C6 21 CF EA D0 ld hl, FshScratch 48 D1:C5CA CD A9 B4 D1 call rotletdecrypt 49 D1:C5CE E5 - - - push hl 50 D1:C5CF 21 F9 C5 D1 ld hl, cryptocmdunROTfDResult 51 D1:C5D3 CD C0 07 02 call _PutS 52 D1:C5D7 E1 - - - pop hl 53 D1:C5D8 CD C0 07 02 call _PutS 54 D1:C5DC CD F0 07 02 call _NewLine 55 D1:C5E0 C3 E7 A8 D1 jp Fin 56 D1:C5E4 - - - - 57 D1:C5E4 53 68 69 66 74 3D 20 00 cryptocmdunROTfDShift: .db "Shift= ", 0 58 D1:C5EC 43 79 70 68 65 72 54 65 78 74 3D 20 00 - - - cryptocmdunROTfDMessage: .db "CypherText= ", 0 59 D1:C5F9 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" 82 D1:C602 - - - - 83 D1:C602 42 41 44 77 77 00 - - teststr: .db "BADww", 0 84 D1:C608 4F 54 00 - testkey: .db "OT", 0 85 D1:C60B - - - - 86 D1:C60B - - - - .end