1 00:0000 - - - - #include "includes/static/ti84pce.inc" Listing for file "/home/pi/Documents/asm/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 "/home/pi/Documents/asm/fsh-shell/includes/static/define.inc" Listing for file "FSHa.asm" 3 00:0000 - - - - #include "includes/macros/macros.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/macros/macros.inc" 1 00:0000 - - - - #include "includes/macros/misc.asm" Listing for file "/home/pi/Documents/asm/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 "/home/pi/Documents/asm/fsh-shell/includes/macros/macros.inc" 2 00:0000 - - - - #include "includes/macros/pixel.asm" Listing for file "/home/pi/Documents/asm/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 "/home/pi/Documents/asm/fsh-shell/includes/macros/macros.inc" 3 00:0000 - - - - #include "includes/macros/draw.asm" Listing for file "/home/pi/Documents/asm/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 "/home/pi/Documents/asm/fsh-shell/includes/macros/macros.inc" 4 00:0000 - - - - #include "includes/macros/relocate.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/macros/relocate.asm" 1 00:0000 - - - - #macro relocate(new_location) 2 00:0000 #ifdef old_location 3 00:0000 .echo "Mateo(or Pixiys): ",__file,":",__line,": Error: You cannot nest relocated blocks." 4 00:0000 #else 5 00:0000 #define old_location eval($) 6 00:0000 .org new_location 7 00:0000 #define g_location eval(new_location) 8 00:0000 #endif 9 00:0000 #endmacro 10 00:0000 - - - - 11 00:0000 - - - - #macro endrelocate() 12 00:0000 #ifdef g_location 13 00:0000 .org $-g_location + old_location 14 00:0000 #undefine g_location 15 00:0000 #undefine old_location 16 00:0000 #else 17 00:0000 .echo "Error line ",__line,": No relocate statements corresponds to this endrelocate." 18 00:0000 #endif 19 00:0000 #endmacro Listing for file "/home/pi/Documents/asm/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 F4 B2 D1 CALL fshvarreset 17 D1:A899 - - - - 18 D1:A899 CD 48 B5 D1 call prgminstallload 19 D1:A89D - - - - 20 D1:A89D CD BF B4 D1 CALL drawstatusbar 21 D1:A8A1 - - - - 22 D1:A8A1 CD 9A B4 D1 CALL printmotd 23 D1:A8A5 - - - - 24 D1:A8A5 - - - - Input: 25 D1:A8A5 3E 00 - - LD A, $00 26 D1:A8A7 CD E5 B0 D1 CALL commandfill 27 D1:A8AB - - - - 28 D1:A8AB 21 38 A9 D1 LD HL, PS1 29 D1:A8AF CD 21 AB D1 CALL printprompt 30 D1:A8B3 - - - - 31 D1:A8B3 21 9F EA D0 LD HL, FshCmd 32 D1:A8B7 11 2C 00 00 LD DE, FshCmdInptSize 33 D1:A8BB CD A9 AD D1 CALL inputstr 34 D1:A8BF - - - - 35 D1:A8BF 21 9F EA D0 LD HL, FshCmd 36 D1:A8C3 CD 00 B1 D1 CALL fshparsecommand 37 D1:A8C7 - - - - 38 D1:A8C7 CD F0 07 02 CALL _NewLine 39 D1:A8CB - - - - 40 D1:A8CB - - - - Decode: 41 D1:A8CB 21 9F EA D0 LD HL, FshCmd 42 D1:A8CF 11 CF EA D0 LD DE, FshCmdOP 43 D1:A8D3 CD B2 B7 D1 CALL commanddecode 44 D1:A8D7 - - - - 45 D1:A8D7 - - - - Route: 46 D1:A8D7 21 CF EA D0 LD HL, FshCmdOP 47 D1:A8DB C3 BF B7 D1 JP commandroute 48 D1:A8DF - - - - 49 D1:A8DF - - - - Fin: 50 D1:A8DF CD 2F B5 D1 CALL updatestatusbar 51 D1:A8E3 C3 A5 A8 D1 JP Input 52 D1:A8E7 - - - - 53 D1:A8E7 - - - - Err: 54 D1:A8E7 C3 1F B3 D1 JP ErrRoute 55 D1:A8EB - - - - 56 D1:A8EB - - - - Cleanup: 57 D1:A8EB FD CB 03 C6 SET graphdraw,(IY+graphflags) 58 D1:A8EF CD 08 08 02 CALL _ClrLCDFull 59 D1:A8F3 CD 18 08 02 CALL _ClrTxtShdw 60 D1:A8F7 CD 28 08 02 CALL _homeup 61 D1:A8FB CD 3C 1A 02 call _DrawStatusBar 62 D1:A8FF - - - - 63 D1:A8FF - - - - Exit: 64 D1:A8FF FD CB 00 AE RES donePrgm,(iy+doneFlags) 65 D1:A903 C9 - - - RET 66 D1:A904 - - - - 67 D1:A904 - - - - #include "includes/Text.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Text.inc" 1 D1:A904 - - - - ;STRINGS ------------------------- 2 D1:A904 46 53 48 41 00 - - - Fsh: .db "FSHA", 0 3 D1:A909 46 73 68 20 53 48 65 6C 6C 00 - - FshName: .db "Fsh SHell", 0 4 D1:A913 42 79 20 70 69 78 69 79 73 00 - - FshBy: .db "By pixiys", 0 5 D1:A91D 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 6 D1:A938 46 53 48 3E 20 00 - - PS1: .db "FSH> ", 0 7 D1:A93E 36 34 77 00 FshVVars: .db "64w", 0 8 D1:A942 30 00 - - FshVMajor: .db "0", 0 9 D1:A944 31 00 - - FshVMinor: .db "1", 0 10 D1:A946 31 00 - - FshVPatch: .db "1", 0 11 D1:A948 36 30 30 00 FshVBuild: .db "600" ,0 12 D1:A94C 2E 00 - - FshVSeparator: .db ".", 0 13 D1:A94E 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 14 D1:A964 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" 68 D1:A979 00 - - - FshFlags: .DB %00000000 69 D1:A97A - - - - ; 0: Debug Flag 70 D1:A97A - - - - ; 1: Error Flag 71 D1:A97A - - - - ; 2: Program Flag 72 D1:A97A - - - - 73 D1:A97A - - - - #include "includes/lib/lib.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/lib.inc" 1 D1:A97A - - - - #include "includes/lib/std/std.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 1 D1:A97A - - - - #include "includes/lib/std/Math.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Math.asm" 1 D1:A97A - - - - ;;cpHLDE 2 D1:A97A - - - - ;;Compares HL to DE. 3 D1:A97A - - - - ;;Output: 4 D1:A97A - - - - ;; Same as z80 CP instruction. 5 D1:A97A - - - - cpHLDE: 6 D1:A97A B7 - - - or a 7 D1:A97B ED 52 - - sbc hl, de 8 D1:A97D 19 - - - add hl,de 9 D1:A97E C9 - - - ret 10 D1:A97F - - - - 11 D1:A97F - - - - ;;cpHLBC 12 D1:A97F - - - - ;;Compares HL to BC. 13 D1:A97F - - - - ;;Output: 14 D1:A97F - - - - ;; Same as z80 CP instruction. 15 D1:A97F - - - - cpHLBC: 16 D1:A97F B7 - - - or a 17 D1:A980 ED 42 - - sbc hl, bc 18 D1:A982 09 - - - add hl,bc 19 D1:A983 C9 - - - ret 20 D1:A984 - - - - 21 D1:A984 - - - - ;;cpBCDE 22 D1:A984 - - - - ;;Compares DE to BC. 23 D1:A984 - - - - ;;Output: 24 D1:A984 - - - - ;; Same as z80 CP instruction. 25 D1:A984 - - - - cpBCDE: 26 D1:A984 E5 - - - push hl 27 D1:A985 60 - - - ld h, b 28 D1:A986 69 - - - ld l, c 29 D1:A987 B7 - - - or a 30 D1:A988 ED 52 - - sbc hl, de 31 D1:A98A E1 - - - pop hl 32 D1:A98B C9 - - - ret 33 D1:A98C - - - - 34 D1:A98C - - - - ;;mulAbyB 35 D1:A98C - - - - ;;Multiplys AxB 36 D1:A98C - - - - ;;Inputs: 37 D1:A98C - - - - ;; A: Multiplier 38 D1:A98C - - - - ;; B: Multiplicand 39 D1:A98C - - - - ;;Outputs: 40 D1:A98C - - - - ;; A: Product of A and B. 41 D1:A98C - - - - mulAbyB: 42 D1:A98C C5 - - - push bc 43 D1:A98D 4F - - - ld c, a 44 D1:A98E - - - - mulAbyBLoop: 45 D1:A98E 81 - - - add a, c 46 D1:A98F 10 FD - - djnz mulAbyBLoop 47 D1:A991 91 - - - sub c 48 D1:A992 C1 - - - pop bc 49 D1:A993 C9 - - - ret 50 D1:A994 - - - - 51 D1:A994 - - - - ;;mulAbyHL 52 D1:A994 - - - - ;;Multiplys AxHL 53 D1:A994 - - - - ;;Inputs: 54 D1:A994 - - - - ;; A: Multiplier 55 D1:A994 - - - - ;; HL: Multiplicand 56 D1:A994 - - - - ;;Outputs: 57 D1:A994 - - - - ;; HL: Product of A and HL. 58 D1:A994 - - - - mulAbyHL: 59 D1:A994 C5 - - - push bc 60 D1:A995 D5 - - - push de 61 D1:A996 11 00 00 00 ld de, 0 62 D1:A99A EB - - - ex de, hl 63 D1:A99B FE 00 - - cp 0 64 D1:A99D 28 04 - - jr z, mulAbyHLEnd 65 D1:A99F 47 - - - ld b, a 66 D1:A9A0 - - - - mulAbyHLLoop: 67 D1:A9A0 19 - - - add hl, de 68 D1:A9A1 10 FD - - djnz mulAbyHLLoop 69 D1:A9A3 - - - - mulAbyHLEnd: 70 D1:A9A3 D1 - - - pop de 71 D1:A9A4 C1 - - - pop bc 72 D1:A9A5 C9 - - - ret 73 D1:A9A6 - - - - 74 D1:A9A6 - - - - ;;modHL 75 D1:A9A6 - - - - ;;H % L => H 76 D1:A9A6 - - - - ;;Inputs: 77 D1:A9A6 - - - - ;; H: 78 D1:A9A6 - - - - ;; L: 79 D1:A9A6 - - - - modHL: 80 D1:A9A6 C5 - - - push bc 81 D1:A9A7 44 - - - ld b, h 82 D1:A9A8 3E 00 - - ld a, 0 83 D1:A9AA - - - - modHLLoop: 84 D1:A9AA 3C - - - inc a 85 D1:A9AB BD - - - cp a, l 86 D1:A9AC 20 02 - - jr nz, modHLLoopEnd 87 D1:A9AE 3E 00 - - ld a, 0 88 D1:A9B0 - - - - modHLLoopEnd: 89 D1:A9B0 10 F8 - - djnz modHLLoop 90 D1:A9B2 67 - - - ld h, a 91 D1:A9B3 C1 - - - pop bc 92 D1:A9B4 C9 - - - ret 93 D1:A9B5 - - - - 94 D1:A9B5 - - - - 95 D1:A9B5 - - - - 96 D1:A9B5 - - - - ;;mul32By8 97 D1:A9B5 - - - - ;;Performs an unsigned multiplication of DEHL and A. 98 D1:A9B5 - - - - ;;Outputs: 99 D1:A9B5 - - - - ;; DEHL: product of DEHL and A 100 D1:A9B5 - - - - mul32By8: 101 D1:A9B5 C5 DD E5 - push bc \ push ix 102 D1:A9B8 DD 2E 08 - ld ixl, 8 103 D1:A9BB D5 - - - push de 104 D1:A9BC E5 - - - push hl 105 D1:A9BD 21 00 00 00 ld hl, 0 106 D1:A9C1 54 - - - ld d, h 107 D1:A9C2 5D - - - ld e, l 108 D1:A9C3 - - - - mul32by8loop: 109 D1:A9C3 29 - - - add hl, hl 110 D1:A9C4 CB 13 - - rl e 111 D1:A9C6 CB 12 - - rl d 112 D1:A9C8 17 - - - rla 113 D1:A9C9 30 0A - - jr nc, mul32by8noAdd 114 D1:A9CB C1 - - - pop bc 115 D1:A9CC 09 - - - add hl, bc 116 D1:A9CD E3 - - - ex (sp), hl 117 D1:A9CE E5 - - - push hl 118 D1:A9CF ED 5A - - adc hl, de 119 D1:A9D1 D1 - - - pop de 120 D1:A9D2 EB - - - ex de, hl 121 D1:A9D3 E3 - - - ex (sp), hl 122 D1:A9D4 C5 - - - push bc 123 D1:A9D5 - - - - mul32by8noAdd: 124 D1:A9D5 DD 2D - - dec ixl 125 D1:A9D7 20 EA - - jr nz, mul32by8loop 126 D1:A9D9 C1 - - - pop bc 127 D1:A9DA C1 - - - pop bc 128 D1:A9DB DD E1 C1 - pop ix \ pop bc 129 D1:A9DE C9 - - - ret 130 D1:A9DF - - - - Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 2 D1:A9DF - - - - #include "includes/lib/std/Random.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Random.asm" 1 D1:A9DF - - - - ;;randomint 2 D1:A9DF - - - - ;;Gets an 8-bit random number. 3 D1:A9DF - - - - ;;Inputs: 4 D1:A9DF - - - - ;; A: Seed 5 D1:A9DF - - - - ;;Outputs: 6 D1:A9DF - - - - ;; A: Random number (0-255) 7 D1:A9DF - - - - ;;Notes: 8 D1:A9DF - - - - ;; This is not cryptographically random. 9 D1:A9DF - - - - randomint: 10 D1:A9DF 32 32 AA D1 ld (randomintSeed), a 11 D1:A9E3 E5 - - - push hl 12 D1:A9E4 D5 - - - push de 13 D1:A9E5 C5 - - - push bc 14 D1:A9E6 2A 32 AA D1 ld hl, (randomintSeed) 15 D1:A9EA ED 5B 34 AA D1 - - - ld de, (randomintSeed+2) 16 D1:A9EF 44 - - - ld b, h 17 D1:A9F0 4D - - - ld c, l 18 D1:A9F1 29 CB 13 CB 12 - - - add hl, hl \ rl e \ rl d 19 D1:A9F6 29 CB 13 CB 12 - - - add hl, hl \ rl e \ rl d 20 D1:A9FB 2C - - - inc l 21 D1:A9FC 09 - - - add hl, bc 22 D1:A9FD 22 32 AA D1 ld (randomintSeed), hl 23 D1:AA01 2A 34 AA D1 ld hl, (randomintSeed+2) 24 D1:AA05 ED 5A - - adc hl, de 25 D1:AA07 22 35 AA D1 ld (randomintSeed+3), hl 26 D1:AA0B EB - - - ex de, hl 27 D1:AA0C 2A 32 AA D1 ld hl, (randomintSeed) 28 D1:AA10 ED 5B 36 AA D1 - - - ld de, (randomintSeed+4) 29 D1:AA15 01 5E F9 00 ld bc, 63838 30 D1:AA19 29 CB 11 CB 10 - - - add hl, hl \ rl c \ rl b 31 D1:AA1E ED 43 38 AA D1 - - - ld (randomintSeed+6), bc 32 D1:AA23 9F - - - sbc a, a 33 D1:AA24 E6 F1 - - and %11110001 34 D1:AA26 AD - - - xor l 35 D1:AA27 6F - - - ld l, a 36 D1:AA28 22 39 AA D1 ld (randomintSeed+7), hl 37 D1:AA2C 7A - - - ld a, d 38 D1:AA2D 80 - - - add a, b 39 D1:AA2E C1 - - - pop bc 40 D1:AA2F D1 - - - pop de 41 D1:AA30 E1 - - - pop hl 42 D1:AA31 C9 - - - ret 43 D1:AA32 - - - - ;Actual random bytes 44 D1:AA32 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 "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 3 D1:AA42 - - - - #include "includes/lib/std/Byte.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Byte.asm" 1 D1:AA42 - - - - ;;bytecmp 2 D1:AA42 - - - - ;;Determines if two bytes are equal. 3 D1:AA42 - - - - ;;Inputs: 4 D1:AA42 - - - - ;; HL: Byte pointer 5 D1:AA42 - - - - ;; DE: Byte pointer 6 D1:AA42 - - - - ;;Outputs: 7 D1:AA42 - - - - ;; Z: Set if equal, reset if not equal 8 D1:AA42 - - - - bytecmp: 9 D1:AA42 E5 - - - push hl 10 D1:AA43 D5 - - - push de 11 D1:AA44 1A - - - ld a, (de) 12 D1:AA45 B7 - - - or a 13 D1:AA46 BE - - - cp (hl) 14 D1:AA47 D1 - - - pop de 15 D1:AA48 E1 - - - pop hl 16 D1:AA49 C9 - - - ret 17 D1:AA4A - - - - 18 D1:AA4A - - - - ;;bytecpy 19 D1:AA4A - - - - ;; Copies a byte. 20 D1:AA4A - - - - ;;Inputs: 21 D1:AA4A - - - - ;; HL: Byte pointer 22 D1:AA4A - - - - ;; DE: Destination 23 D1:AA4A - - - - bytecpy: 24 D1:AA4A D5 - - - push de 25 D1:AA4B E5 - - - push hl 26 D1:AA4C EB - - - ex de, hl 27 D1:AA4D 1A - - - ld a, (de) 28 D1:AA4E 77 - - - ld (hl), a 29 D1:AA4F E1 - - - pop hl 30 D1:AA50 D1 - - - pop de 31 D1:AA51 C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 4 D1:AA52 - - - - #include "includes/lib/std/Word.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Word.asm" 1 D1:AA52 - - - - ;;wordcpy [Words] 2 D1:AA52 - - - - ;;Copies a word. 3 D1:AA52 - - - - ;;Inputs: 4 D1:AA52 - - - - ;; HL: word pointer 5 D1:AA52 - - - - ;; DE: Destination 6 D1:AA52 - - - - wordcpy: 7 D1:AA52 D5 - - - push de 8 D1:AA53 E5 - - - push hl 9 D1:AA54 EB - - - ex de, hl 10 D1:AA55 1A - - - ld a, (de) 11 D1:AA56 77 - - - ld (hl), a 12 D1:AA57 13 - - - inc de 13 D1:AA58 23 - - - inc hl 14 D1:AA59 1A - - - ld a, (de) 15 D1:AA5A 77 - - - ld (hl), a 16 D1:AA5B E1 - - - pop hl 17 D1:AA5C D1 - - - pop de 18 D1:AA5D C9 - - - ret 19 D1:AA5E - - - - 20 D1:AA5E - - - - ;;wordcmp 21 D1:AA5E - - - - ;;Compares 2 words 22 D1:AA5E - - - - ;;Inputs: 23 D1:AA5E - - - - ;; HL: word pointer 24 D1:AA5E - - - - ;; DE: word pointer 25 D1:AA5E - - - - wordcmp: 26 D1:AA5E E5 - - - push hl 27 D1:AA5F D5 - - - push de 28 D1:AA60 1A - - - ld a, (de) 29 D1:AA61 BE - - - cp a, (hl) 30 D1:AA62 20 04 - - jr nz, wordcmpEnd 31 D1:AA64 23 - - - inc hl 32 D1:AA65 13 - - - inc de 33 D1:AA66 1A - - - ld a, (de) 34 D1:AA67 BE - - - cp a, (hl) 35 D1:AA68 - - - - wordcmpEnd: 36 D1:AA68 D1 - - - pop de 37 D1:AA69 E1 - - - pop hl 38 D1:AA6A C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 5 D1:AA6B - - - - #include "includes/lib/std/Mem.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Mem.asm" 1 D1:AA6B - - - - ;;memset 2 D1:AA6B - - - - ;;Fills B amount of bytes from hl with a 3 D1:AA6B - - - - ;;Inputs: 4 D1:AA6B - - - - ;; HL: start 5 D1:AA6B - - - - ;; B: how many bytes 6 D1:AA6B - - - - ;; A: Byte 7 D1:AA6B - - - - memset: 8 D1:AA6B E5 - - - push hl 9 D1:AA6C C5 - - - push bc 10 D1:AA6D - - - - memsetLoop: 11 D1:AA6D 77 - - - ld (hl), a 12 D1:AA6E 23 - - - inc hl 13 D1:AA6F 10 FC - - djnz memsetLoop 14 D1:AA71 C1 - - - pop bc 15 D1:AA72 E1 - - - pop hl 16 D1:AA73 C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 6 D1:AA74 - - - - #include "includes/lib/std/Char.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Char.asm" 1 D1:AA74 - - - - #include "includes/tables/CSC.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/tables/CSC.asm" 1 D1:AA74 - - - - charMapCSC: 2 D1:AA74 22 57 52 4D 48 FF FF - .DB "\"WRMH", $FF, $FF 3 D1:AA7B 3F 5B 56 51 4C 47 FF FF .DB Lquestion, Ltheta, "VQLG", $FF, $FF 4 D1:AA83 3A 5A 55 50 4B 46 43 FF .DB ":ZUPKFC", $FF 5 D1:AA8B 20 59 54 4F 4A 45 42 FF .DB " YTOJEB", $FF 6 D1:AA93 FF 58 53 4E 49 44 41 - .DB $FF, "XSNIDA" 7 D1:AA9A - - - - 8 D1:AA9A - - - - numsymMapCSC 9 D1:AA9A 2B 2D 2A 2F 5E FF FF - .DB "+-*/^", $FF, $FF 10 D1:AAA1 5F 33 36 39 29 C1 5D FF .DB "_369)", $C1, "]", $FF 11 D1:AAA9 2E 32 35 38 28 7B 7D 3B .DB ".258({};" 12 D1:AAB1 30 31 34 37 2C 20 3C 3E 7C FF - - .DB "0147, <>|", $FF 13 D1:AABB 05 21 40 23 25 26 - - .DB $05, "!@#%&" 14 D1:AAC1 - - - - 15 D1:AAC1 - - - - numMapCSC 16 D1:AAC1 FF FF FF FF FF FF FF - .DB $FF, $FF, $FF, $FF, $FF, $FF, $FF 17 D1:AAC8 FF 33 36 39 FF FF FF FF .DB $FF, "369", $FF, $FF, $FF, $FF 18 D1:AAD0 FF 32 35 38 FF FF FF FF .DB $FF, "258", $FF, $FF, $FF, $FF 19 D1:AAD8 30 31 34 37 FF FF FF FF FF FF - - .DB "0147", $FF, $FF, $FF, $FF, $FF, $FF 20 D1:AAE2 FF FF FF FF FF FF - - .DB $FF, $FF, $FF, $FF, $FF, $FF Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Char.asm" 2 D1:AAE8 - - - - ;;chartoascii 3 D1:AAE8 - - - - ;;Converts a char to "ascii" 4 D1:AAE8 - - - - ;;Inputs: 5 D1:AAE8 - - - - ;; A: char code (csc) 6 D1:AAE8 - - - - ;;Outputs: 7 D1:AAE8 - - - - ;; A: ascii char 8 D1:AAE8 - - - - chartoascii: 9 D1:AAE8 E5 - - - push hl 10 D1:AAE9 21 00 00 00 ld hl, 0 11 D1:AAED 26 00 - - ld h, 0 12 D1:AAEF 6F - - - ld l, a 13 D1:AAF0 11 74 AA D1 ld de, charMapCSC 14 D1:AAF4 19 - - - add hl, de 15 D1:AAF5 7E - - - ld a, (hl) 16 D1:AAF6 E1 - - - pop hl 17 D1:AAF7 C9 - - - ret 18 D1:AAF8 - - - - 19 D1:AAF8 - - - - ;;Charnumtoascii 20 D1:AAF8 - - - - ;;Converts a char to "ascii" 21 D1:AAF8 - - - - ;;Inputs: 22 D1:AAF8 - - - - ;; A: char code (csc) 23 D1:AAF8 - - - - ;;Outputs: 24 D1:AAF8 - - - - ;; A: ascii char 25 D1:AAF8 - - - - charnumtoascii: 26 D1:AAF8 E5 - - - push hl 27 D1:AAF9 21 00 00 00 ld hl, 0 28 D1:AAFD 26 00 - - ld h, 0 29 D1:AAFF 6F - - - ld l, a 30 D1:AB00 11 C1 AA D1 ld de, numMapCSC 31 D1:AB04 19 - - - add hl, de 32 D1:AB05 7E - - - ld a, (hl) 33 D1:AB06 E1 - - - pop hl 34 D1:AB07 C9 - - - ret 35 D1:AB08 - - - - 36 D1:AB08 - - - - ;;charnumsymtoascii 37 D1:AB08 - - - - ;;Converts a char to "ascii" 38 D1:AB08 - - - - ;;Inputs: 39 D1:AB08 - - - - ;; A: char code (csc) 40 D1:AB08 - - - - ;;Outputs: 41 D1:AB08 - - - - ;; A: ascii char 42 D1:AB08 - - - - charnumsymtoascii: 43 D1:AB08 E5 - - - push hl 44 D1:AB09 21 00 00 00 ld hl, 0 45 D1:AB0D 26 00 - - ld h, 0 46 D1:AB0F 6F - - - ld l, a 47 D1:AB10 11 9A AA D1 ld de, numsymMapCSC 48 D1:AB14 19 - - - add hl, de 49 D1:AB15 7E - - - ld a, (hl) 50 D1:AB16 E1 - - - pop hl 51 D1:AB17 C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 7 D1:AB18 - - - - #include "includes/lib/std/Cursor.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Cursor.asm" 1 D1:AB18 - - - - ;;cursorcharunderreset 2 D1:AB18 - - - - ;;Sets curUnder to 0 3 D1:AB18 - - - - cursorcurunderreset: 4 D1:AB18 E5 - - - push hl 5 D1:AB19 21 99 05 D0 ld hl, curUnder 6 D1:AB1D 36 20 - - ld (hl), ' ' 7 D1:AB1F E1 - - - pop hl 8 D1:AB20 C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 8 D1:AB21 - - - - #include "includes/lib/std/Print.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Print.asm" 1 D1:AB21 - - - - ;;printprompt 2 D1:AB21 - - - - ;;Sets curcol to 0 and prints prompt 3 D1:AB21 - - - - ;;Inputs: 4 D1:AB21 - - - - ;; HL: Prompt String Location 5 D1:AB21 - - - - printprompt: 6 D1:AB21 E5 - - - push hl 7 D1:AB22 AF - - - xor a 8 D1:AB23 32 96 05 D0 ld (CurCol), a 9 D1:AB27 CD C0 07 02 call _PutS 10 D1:AB2B E1 - - - pop hl 11 D1:AB2C C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 9 D1:AB2D - - - - #include "includes/lib/std/Draw.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Draw.asm" 1 D1:AB2D - - - - ;;drawpixel 2 D1:AB2D - - - - ;;Sets a pixel to specified color (565) 3 D1:AB2D - - - - ;;Inputs: 4 D1:AB2D - - - - ;; HL: color 5 D1:AB2D - - - - ;; DE: vRam location 6 D1:AB2D - - - - drawpixel: 7 D1:AB2D E5 - - - push hl 8 D1:AB2E D5 - - - push de 9 D1:AB2F EB - - - ex de, hl 10 D1:AB30 73 - - - ld (hl), e 11 D1:AB31 23 - - - inc hl 12 D1:AB32 72 - - - ld (hl), d 13 D1:AB33 D1 - - - pop de 14 D1:AB34 E1 - - - pop hl 15 D1:AB35 C9 - - - ret 16 D1:AB36 - - - - 17 D1:AB36 - - - - ;;drawpixelxy 18 D1:AB36 - - - - ;;Sets a pixel to specified color 19 D1:AB36 - - - - ;;Inputs: 20 D1:AB36 - - - - ;; HL: color 21 D1:AB36 - - - - ;; DE: x 22 D1:AB36 - - - - ;; A: y 23 D1:AB36 - - - - drawpixelxy 24 D1:AB36 D5 - - - push de 25 D1:AB37 E5 - - - push hl 26 D1:AB38 EB - - - ex de, hl 27 D1:AB39 29 - - - add hl, hl 28 D1:AB3A E5 - - - push hl 29 D1:AB3B 21 80 02 00 ld hl, 640 30 D1:AB3F CD 94 A9 D1 call mulAbyHL 31 D1:AB43 EB - - - ex de, hl 32 D1:AB44 E1 - - - pop hl 33 D1:AB45 19 - - - add hl, de 34 D1:AB46 11 00 00 D4 ld de, vRam 35 D1:AB4A 19 - - - add hl, de 36 D1:AB4B EB - - - ex de, hl 37 D1:AB4C E1 - - - pop hl 38 D1:AB4D CD 2D AB D1 call drawpixel 39 D1:AB51 D1 - - - pop de 40 D1:AB52 C9 - - - ret 41 D1:AB53 - - - - 42 D1:AB53 - - - - ;;drawrow 43 D1:AB53 - - - - ;;Draws a row on lcd 44 D1:AB53 - - - - ;;Inputs: 45 D1:AB53 - - - - ;; A: y 46 D1:AB53 - - - - ;; HL: color 47 D1:AB53 - - - - drawrow: 48 D1:AB53 E5 - - - push hl 49 D1:AB54 C5 - - - push bc 50 D1:AB55 E5 - - - push hl 51 D1:AB56 21 E0 01 00 ld hl, lcdHeight * 2 52 D1:AB5A CD 94 A9 D1 call mulAbyHL 53 D1:AB5E 11 00 00 D4 ld de, vRam 54 D1:AB62 19 - - - add hl, de 55 D1:AB63 EB - - - ex de, hl 56 D1:AB64 E1 - - - pop hl 57 D1:AB65 01 40 01 00 ld bc, lcdWidth 58 D1:AB69 - - - - drawrowLoop: 59 D1:AB69 CD 2D AB D1 call drawpixel 60 D1:AB6D 13 - - - inc de 61 D1:AB6E 13 - - - inc de 62 D1:AB6F 0B - - - dec bc 63 D1:AB70 E5 - - - push hl 64 D1:AB71 21 00 00 00 ld hl, 0 65 D1:AB75 CD 7F A9 D1 call cpHLBC 66 D1:AB79 E1 - - - pop hl 67 D1:AB7A 20 ED - - jr nz, drawrowLoop 68 D1:AB7C C1 - - - pop bc 69 D1:AB7D E1 - - - pop hl 70 D1:AB7E C9 - - - ret 71 D1:AB7F - - - - 72 D1:AB7F - - - - ;;drawbar 73 D1:AB7F - - - - ;;Loops drawing row 74 D1:AB7F - - - - ;;Inputs: 75 D1:AB7F - - - - ;; A: y 76 D1:AB7F - - - - ;; [B]C: height 77 D1:AB7F - - - - ;; HL: color 78 D1:AB7F - - - - drawbar: 79 D1:AB7F C5 - - - push bc 80 D1:AB80 - - - - drawbarLoop: 81 D1:AB80 CD 53 AB D1 call drawrow 82 D1:AB84 0B - - - dec bc 83 D1:AB85 3C - - - inc a 84 D1:AB86 E5 - - - push hl 85 D1:AB87 21 00 00 00 ld hl, 0 86 D1:AB8B CD 7F A9 D1 call cpHLBC 87 D1:AB8F E1 - - - pop hl 88 D1:AB90 20 EE - - jr nz, drawbarLoop 89 D1:AB92 C1 - - - pop bc 90 D1:AB93 C9 - - - ret 91 D1:AB94 - - - - 92 D1:AB94 - - - - ;;drawrectfilled 93 D1:AB94 - - - - ;;Draws a rectangle from coordinates (Slow) 94 D1:AB94 - - - - ;;Inputs: 95 D1:AB94 - - - - ;; DE: x 96 D1:AB94 - - - - ;; C: y 97 D1:AB94 - - - - ;; HL: width 98 D1:AB94 - - - - ;; A: height 99 D1:AB94 - - - - ;; IXH+IXL: color 100 D1:AB94 - - - - drawrectfilled: 101 D1:AB94 19 - - - add hl, de 102 D1:AB95 81 - - - add a, c 103 D1:AB96 47 - - - ld b, a 104 D1:AB97 - - - - drawrectfilledLoopY: 105 D1:AB97 D5 - - - push de 106 D1:AB98 - - - - drawrectfilledLoopX: 107 D1:AB98 E5 - - - push hl 108 D1:AB99 C5 - - - push bc 109 D1:AB9A EB - - - ex de, hl 110 D1:AB9B DD 54 - - ld d, ixh 111 D1:AB9D DD 5D - - ld e, ixl 112 D1:AB9F EB - - - ex de, hl 113 D1:ABA0 79 - - - ld a, c 114 D1:ABA1 CD 36 AB D1 call drawpixelxy 115 D1:ABA5 C1 - - - pop bc 116 D1:ABA6 E1 - - - pop hl 117 D1:ABA7 13 - - - inc de 118 D1:ABA8 CD 7A A9 D1 call cpHLDE 119 D1:ABAC 20 EA - - jr nz, drawrectfilledLoopX 120 D1:ABAE D1 - - - pop de 121 D1:ABAF 0C - - - inc c 122 D1:ABB0 78 - - - ld a, b 123 D1:ABB1 B9 - - - cp c 124 D1:ABB2 20 E3 - - jr nz, drawrectfilledLoopY 125 D1:ABB4 C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 10 D1:ABB5 - - - - #include "includes/lib/std/Array.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Array.asm" 1 D1:ABB5 - - - - ;;array2d 2 D1:ABB5 - - - - ;;gets the address of 2d array 3 D1:ABB5 - - - - ;;Inputs: 4 D1:ABB5 - - - - ;; H: y 5 D1:ABB5 - - - - ;; L: x width 6 D1:ABB5 - - - - ;; B: x 7 D1:ABB5 - - - - ;; DE: Array start 8 D1:ABB5 - - - - ;;Outputs: 9 D1:ABB5 - - - - ;; DE: Array loc address 10 D1:ABB5 - - - - array2d: 11 D1:ABB5 E5 - - - push hl 12 D1:ABB6 ED 6C - - mlt hl 13 D1:ABB8 19 - - - add hl, de 14 D1:ABB9 11 00 00 00 ld de, 0 15 D1:ABBD 58 - - - ld e, b 16 D1:ABBE 19 - - - add hl, de 17 D1:ABBF EB - - - ex de, hl 18 D1:ABC0 E1 - - - pop hl 19 D1:ABC1 C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 11 D1:ABC2 - - - - #include "includes/lib/std/Hex.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Hex.asm" 1 D1:ABC2 - - - - ;;bytetohexstr 2 D1:ABC2 - - - - ;;converts byte to hex string 3 D1:ABC2 - - - - ;;Inputs: 4 D1:ABC2 - - - - ;; A: input byte 5 D1:ABC2 - - - - ;;Outputs: 6 D1:ABC2 - - - - ;; hl: output string location 7 D1:ABC2 - - - - bytetohexstr: 8 D1:ABC2 E5 - - - push hl 9 D1:ABC3 C5 - - - push bc 10 D1:ABC4 01 00 00 00 ld bc, 0 11 D1:ABC8 4F - - - ld c, a 12 D1:ABC9 06 0F - - ld b, $0F 13 D1:ABCB A0 - - - and a, b 14 D1:ABCC 47 - - - ld b, a 15 D1:ABCD 79 - - - ld a, c 16 D1:ABCE 48 - - - ld c, b 17 D1:ABCF 06 00 - - ld b, 0 18 D1:ABD1 21 0B AC D1 ld hl, hexLUT 19 D1:ABD5 09 - - - add hl, bc 20 D1:ABD6 46 - - - ld b, (hl) 21 D1:ABD7 21 08 AC D1 ld hl, bytetohexstrBuf + 1 22 D1:ABDB 70 - - - ld (hl), b 23 D1:ABDC C1 - - - pop bc 24 D1:ABDD C5 - - - push bc 25 D1:ABDE 01 00 00 00 ld bc, 0 26 D1:ABE2 CB 3F - - srl a 27 D1:ABE4 CB 3F - - srl a 28 D1:ABE6 CB 3F - - srl a 29 D1:ABE8 CB 3F - - srl a 30 D1:ABEA 47 - - - ld b, a 31 D1:ABEB 79 - - - ld a, c 32 D1:ABEC 48 - - - ld c, b 33 D1:ABED 06 00 - - ld b, 0 34 D1:ABEF 21 0B AC D1 ld hl, hexLUT 35 D1:ABF3 09 - - - add hl, bc 36 D1:ABF4 46 - - - ld b, (hl) 37 D1:ABF5 21 07 AC D1 ld hl, bytetohexstrBuf 38 D1:ABF9 70 - - - ld (hl), b 39 D1:ABFA C1 - - - pop bc 40 D1:ABFB 21 09 AC D1 ld hl, bytetohexstrBuf + 2 41 D1:ABFF 36 00 - - ld (hl), $00 42 D1:AC01 E1 - - - pop hl 43 D1:AC02 21 07 AC D1 ld hl, bytetohexstrBuf 44 D1:AC06 C9 - - - ret 45 D1:AC07 - - - - 46 D1:AC07 00 00 00 00 bytetohexstrBuf: .db $00, $00, $00, $00 47 D1:AC0B - - - - 48 D1:AC0B - - - - #include "includes/tables/hexLUT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/tables/hexLUT.asm" 1 D1:AC0B 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 - - - hexLUT: .db "0123456789ABCDEF", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Hex.asm" 49 D1:AC1C - - - - 50 D1:AC1C - - - - ;;hexToA 51 D1:AC1C - - - - ;;Converts a hexadecimal string to a number. 52 D1:AC1C - - - - ;;Inputs: 53 D1:AC1C - - - - ;; HL: String pointer 54 D1:AC1C - - - - ;;Outputs: 55 D1:AC1C - - - - ;; A: Value 56 D1:AC1C - - - - hexToA: 57 D1:AC1C C5 - - - push bc 58 D1:AC1D E5 - - - push hl 59 D1:AC1E 06 00 - - ld b, 0 60 D1:AC20 7E - - - _: ld a, (hl) 61 D1:AC21 B7 - - - or a 62 D1:AC22 28 11 - - jr z, hexToA_ret 63 D1:AC24 CB 10 CB 10 CB 10 CB 10 rl b \ rl b \ rl b \ rl b 64 D1:AC2C CD 39 AC D1 call hexToA_doConvert 65 D1:AC30 B0 - - - or b 66 D1:AC31 47 - - - ld b, a 67 D1:AC32 23 - - - inc hl 68 D1:AC33 18 EB - - jr -_ 69 D1:AC35 - - - - hexToA_ret: 70 D1:AC35 78 - - - ld a, b 71 D1:AC36 E1 - - - pop hl 72 D1:AC37 C1 - - - pop bc 73 D1:AC38 C9 - - - ret 74 D1:AC39 - - - - 75 D1:AC39 - - - - hexToA_doConvert: 76 D1:AC39 FE 61 - - cp 'a' ; Convert to lowercase 77 D1:AC3B 38 02 - - jr c, _ 78 D1:AC3D D6 20 - - sub 'a' - 'A' 79 D1:AC3F FE 41 - - _: cp 'A' ; Close gap between numbers and letter 80 D1:AC41 38 02 - - jr c, _ 81 D1:AC43 D6 07 - - sub 'A'-('9'+1) 82 D1:AC45 D6 30 - - _: sub '0' ; To number 83 D1:AC47 C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 12 D1:AC48 - - - - 13 D1:AC48 - - - - #include "includes/lib/std/String.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/String.asm" 1 D1:AC48 - - - - ;;strlen 2 D1:AC48 - - - - ;;Determines the length of a zero delimited string. 3 D1:AC48 - - - - ;;Inputs: 4 D1:AC48 - - - - ;; HL: String pointer 5 D1:AC48 - - - - ;;Outputs: 6 D1:AC48 - - - - ;; BC: String length 7 D1:AC48 - - - - strlen: 8 D1:AC48 F5 - - - push af 9 D1:AC49 E5 - - - push hl 10 D1:AC4A AF - - - xor a 11 D1:AC4B 47 - - - ld b, a 12 D1:AC4C 4F - - - ld c, a 13 D1:AC4D ED B1 - - cpir 14 D1:AC4F - - - - ; bc = -bc 15 D1:AC4F AF 91 4F 9F 90 47 - - xor a \ sub c \ ld c, a \ sbc a, a \ sub b \ ld b, a 16 D1:AC55 0B - - - dec bc 17 D1:AC56 E1 - - - pop hl 18 D1:AC57 F1 - - - pop af 19 D1:AC58 C9 - - - ret 20 D1:AC59 - - - - 21 D1:AC59 - - - - ;;strcmp 22 D1:AC59 - - - - ;;Determines if two strings are equal, and checks alphabetical sort order. 23 D1:AC59 - - - - ;;Inputs: 24 D1:AC59 - - - - ;; HL: String pointer 25 D1:AC59 - - - - ;; DE: String pointer 26 D1:AC59 - - - - ;;Outputs: 27 D1:AC59 - - - - ;; Z: Set if equal, reset if not equal 28 D1:AC59 - - - - ;; C: Set if string HL is alphabetically earlier than string DE 29 D1:AC59 - - - - strcmp: 30 D1:AC59 E5 - - - push hl 31 D1:AC5A D5 - - - push de 32 D1:AC5B - - - - strcmpLoop: 33 D1:AC5B 1A - - - ld a, (de) 34 D1:AC5C B7 - - - or a 35 D1:AC5D 28 07 - - jr z, strCmpEnd 36 D1:AC5F BE - - - cp (hl) 37 D1:AC60 20 06 - - jr nz, strcmpExit 38 D1:AC62 23 - - - inc hl 39 D1:AC63 13 - - - inc de 40 D1:AC64 18 F5 - - jr strcmpLoop 41 D1:AC66 - - - - strcmpEnd: 42 D1:AC66 7E - - - ld a, (hl) 43 D1:AC67 B7 - - - or a 44 D1:AC68 - - - - strcmpExit: 45 D1:AC68 3F - - - ccf 46 D1:AC69 D1 - - - pop de 47 D1:AC6A E1 - - - pop hl 48 D1:AC6B C9 - - - ret 49 D1:AC6C - - - - 50 D1:AC6C - - - - ;;strcpy 51 D1:AC6C - - - - ;;Copies a string. 52 D1:AC6C - - - - ;;Inputs: 53 D1:AC6C - - - - ;; HL: String pointer 54 D1:AC6C - - - - ;; DE: Destination 55 D1:AC6C - - - - ;;Notes: 56 D1:AC6C - - - - ;; This will trample into undefined territory if you try to copy a string into some 57 D1:AC6C - - - - ;;allocated memory it won't fit in. 58 D1:AC6C - - - - strcpy: 59 D1:AC6C D5 - - - push de 60 D1:AC6D E5 - - - push hl 61 D1:AC6E EB - - - ex de, hl 62 D1:AC6F 1A - - - _: ld a, (de) 63 D1:AC70 77 - - - ld (hl), a 64 D1:AC71 B7 - - - or a 65 D1:AC72 28 04 - - jr z, _ 66 D1:AC74 23 13 - - inc hl \ inc de 67 D1:AC76 18 F7 - - jr -_ 68 D1:AC78 E1 - - - _: pop hl 69 D1:AC79 D1 - - - pop de 70 D1:AC7A C9 - - - ret 71 D1:AC7B - - - - 72 D1:AC7B - - - - ;;strchr 73 D1:AC7B - - - - ;;Returns a pointer on the first occurence of a character in a string. 74 D1:AC7B - - - - ;;Inputs: 75 D1:AC7B - - - - ;; HL: Haystack 76 D1:AC7B - - - - ;; B: Needle 77 D1:AC7B - - - - ;;Outputs: 78 D1:AC7B - - - - ;; HL: Pointer to first occurence of character 79 D1:AC7B - - - - ;; Z: Set if character found 80 D1:AC7B - - - - ;; A: Destroyed 81 D1:AC7B - - - - strchr: 82 D1:AC7B - - - - strchrLoop: 83 D1:AC7B 7E - - - ld a, (hl) 84 D1:AC7C B7 - - - or a 85 D1:AC7D 28 05 - - jr z, strchrNoCharFound 86 D1:AC7F B8 - - - cp b 87 D1:AC80 C8 - - - ret z 88 D1:AC81 23 - - - inc hl 89 D1:AC82 18 F7 - - jr strchrLoop 90 D1:AC84 - - - - strchrNoCharFound: 91 D1:AC84 3C - - - inc a 92 D1:AC85 C9 - - - ret 93 D1:AC86 - - - - 94 D1:AC86 - - - - ;;strtob 95 D1:AC86 - - - - ;;Converts a string to a byte 96 D1:AC86 - - - - ;;Inputs: 97 D1:AC86 - - - - ;; HL: string pointer 98 D1:AC86 - - - - ;;Outputs: 99 D1:AC86 - - - - ;; A: byte 100 D1:AC86 - - - - strtob: 101 D1:AC86 C5 - - - push bc 102 D1:AC87 D5 - - - push de 103 D1:AC88 0E 00 - - ld c, 0 104 D1:AC8A - - - - strtobNumFind: 105 D1:AC8A 7E - - - ld a, (hl) 106 D1:AC8B FE 00 - - cp $00 107 D1:AC8D CA DF AC D1 jp z, strtobEXIT 108 D1:AC91 0E 00 - - ld c, 0 109 D1:AC93 D6 31 - - sub '1' 110 D1:AC95 FE 3A - - cp '9' + 1 111 D1:AC97 38 03 - - jr c, strtobNumWhile 112 D1:AC99 23 - - - inc hl 113 D1:AC9A 18 EE - - jr strtobNumFind 114 D1:AC9C - - - - strtobNumWhile: 115 D1:AC9C E5 - - - push hl 116 D1:AC9D - - - - strtobNumWhileLoop: 117 D1:AC9D 79 - - - ld a, c 118 D1:AC9E FE 03 - - cp 3 119 D1:ACA0 D2 B1 AC D1 jp nc, strtobConvert 120 D1:ACA4 7E - - - ld a, (hl) 121 D1:ACA5 D6 2F - - sub '0' - 1 122 D1:ACA7 38 08 - - jr c, strtobConvert 123 D1:ACA9 FE 3A - - cp '9' + 1 124 D1:ACAB 30 04 - - jr nc, strtobConvert 125 D1:ACAD 23 - - - inc hl 126 D1:ACAE 0C - - - inc c 127 D1:ACAF 18 EC - - jr strtobNumWhileLoop 128 D1:ACB1 - - - - strtobConvert: 129 D1:ACB1 2B - - - dec hl 130 D1:ACB2 7E - - - ld a, (hl) 131 D1:ACB3 D6 30 - - sub '0' 132 D1:ACB5 4F - - - ld c, a 133 D1:ACB6 2B - - - dec hl 134 D1:ACB7 D1 - - - pop de 135 D1:ACB8 CD 7A A9 D1 call cpHLDE 136 D1:ACBC DA DF AC D1 jp c, strtobExit 137 D1:ACC0 7E - - - ld a, (hl) 138 D1:ACC1 D6 30 - - sub '0' 139 D1:ACC3 06 0A - - ld b, 10 140 D1:ACC5 CD 8C A9 D1 call mulAbyB 141 D1:ACC9 81 - - - add a, c 142 D1:ACCA 4F - - - ld c, a 143 D1:ACCB 2B - - - dec hl 144 D1:ACCC CD 7A A9 D1 call cpHLDE 145 D1:ACD0 DA DF AC D1 jp c, strtobExit 146 D1:ACD4 7E - - - ld a, (hl) 147 D1:ACD5 D6 30 - - sub '0' 148 D1:ACD7 06 64 - - ld b, 100 149 D1:ACD9 CD 8C A9 D1 call mulAbyB 150 D1:ACDD 81 - - - add a, c 151 D1:ACDE 4F - - - ld c, a 152 D1:ACDF - - - - strtobExit: 153 D1:ACDF 79 - - - ld a, c 154 D1:ACE0 D1 - - - pop de 155 D1:ACE1 C1 - - - pop bc 156 D1:ACE2 C9 - - - ret 157 D1:ACE3 - - - - 158 D1:ACE3 - - - - ;;strtow 159 D1:ACE3 - - - - ;;Converts a string to a byte 160 D1:ACE3 - - - - ;;Inputs: 161 D1:ACE3 - - - - ;; HL: string pointer 162 D1:ACE3 - - - - ;;Outputs: 163 D1:ACE3 - - - - ;; HL: byte 164 D1:ACE3 - - - - strtow: 165 D1:ACE3 C5 - - - push bc 166 D1:ACE4 D5 - - - push de 167 D1:ACE5 01 00 00 00 ld bc, 0 168 D1:ACE9 - - - - strtowNumFind: 169 D1:ACE9 7E - - - ld a, (hl) 170 D1:ACEA FE 00 - - cp $00 171 D1:ACEC CA 82 AD D1 jp z, strtowEXIT 172 D1:ACF0 0E 00 - - ld c, 0 173 D1:ACF2 D6 31 - - sub '1' 174 D1:ACF4 FE 3A - - cp '9' + 1 175 D1:ACF6 38 03 - - jr c, strtowNumWhile 176 D1:ACF8 23 - - - inc hl 177 D1:ACF9 18 EE - - jr strtowNumFind 178 D1:ACFB - - - - strtowNumWhile: 179 D1:ACFB E5 - - - push hl 180 D1:ACFC - - - - strtowNumWhileLoop: 181 D1:ACFC 79 - - - ld a, c 182 D1:ACFD FE 05 - - cp 5 183 D1:ACFF D2 10 AD D1 jp nc, strtowConvert 184 D1:AD03 7E - - - ld a, (hl) 185 D1:AD04 D6 2F - - sub '0' - 1 186 D1:AD06 38 08 - - jr c, strtowConvert 187 D1:AD08 FE 3A - - cp '9' + 1 188 D1:AD0A 30 04 - - jr nc, strtowConvert 189 D1:AD0C 23 - - - inc hl 190 D1:AD0D 0C - - - inc c 191 D1:AD0E 18 EC - - jr strtowNumWhileLoop 192 D1:AD10 - - - - strtowConvert: 193 D1:AD10 01 00 00 00 ld bc, 0 194 D1:AD14 2B - - - dec hl 195 D1:AD15 7E - - - ld a, (hl) 196 D1:AD16 D6 30 - - sub '0' 197 D1:AD18 01 00 00 00 ld bc, 0 198 D1:AD1C 4F - - - ld c, a 199 D1:AD1D 2B - - - dec hl 200 D1:AD1E - - - - 201 D1:AD1E D1 - - - pop de 202 D1:AD1F CD 7A A9 D1 call cpHLDE 203 D1:AD23 DA 82 AD D1 jp c, strtowExit 204 D1:AD27 7E - - - ld a, (hl) 205 D1:AD28 D6 30 - - sub '0' 206 D1:AD2A E5 - - - push hl 207 D1:AD2B 21 0A 00 00 ld hl, 10 208 D1:AD2F CD 94 A9 D1 call mulAbyHL 209 D1:AD33 09 - - - add hl, bc 210 D1:AD34 44 - - - ld b, h 211 D1:AD35 4D - - - ld c, l 212 D1:AD36 E1 - - - pop hl 213 D1:AD37 2B - - - dec hl 214 D1:AD38 - - - - 215 D1:AD38 CD 7A A9 D1 call cpHLDE 216 D1:AD3C DA 82 AD D1 jp c, strtowExit 217 D1:AD40 7E - - - ld a, (hl) 218 D1:AD41 D6 30 - - sub '0' 219 D1:AD43 E5 - - - push hl 220 D1:AD44 21 64 00 00 ld hl, 100 221 D1:AD48 CD 94 A9 D1 call mulAbyHL 222 D1:AD4C 09 - - - add hl, bc 223 D1:AD4D 44 - - - ld b, h 224 D1:AD4E 4D - - - ld c, l 225 D1:AD4F E1 - - - pop hl 226 D1:AD50 2B - - - dec hl 227 D1:AD51 - - - - 228 D1:AD51 CD 7A A9 D1 call cpHLDE 229 D1:AD55 DA 82 AD D1 jp c, strtowExit 230 D1:AD59 7E - - - ld a, (hl) 231 D1:AD5A D6 30 - - sub '0' 232 D1:AD5C E5 - - - push hl 233 D1:AD5D 21 E8 03 00 ld hl, 1000 234 D1:AD61 CD 94 A9 D1 call mulAbyHL 235 D1:AD65 09 - - - add hl, bc 236 D1:AD66 44 - - - ld b, h 237 D1:AD67 4D - - - ld c, l 238 D1:AD68 E1 - - - pop hl 239 D1:AD69 2B - - - dec hl 240 D1:AD6A - - - - 241 D1:AD6A CD 7A A9 D1 call cpHLDE 242 D1:AD6E DA 82 AD D1 jp c, strtowExit 243 D1:AD72 7E - - - ld a, (hl) 244 D1:AD73 D6 30 - - sub '0' 245 D1:AD75 E5 - - - push hl 246 D1:AD76 21 10 27 00 ld hl, 10000 247 D1:AD7A CD 94 A9 D1 call mulAbyHL 248 D1:AD7E 09 - - - add hl, bc 249 D1:AD7F 44 - - - ld b, h 250 D1:AD80 4D - - - ld c, l 251 D1:AD81 E1 - - - pop hl 252 D1:AD82 - - - - 253 D1:AD82 - - - - strtowExit: 254 D1:AD82 21 00 00 00 ld hl, 0 255 D1:AD86 60 - - - ld h, b 256 D1:AD87 69 - - - ld l, c 257 D1:AD88 D1 - - - pop de 258 D1:AD89 C1 - - - pop bc 259 D1:AD8A C9 - - - ret 260 D1:AD8B - - - - 261 D1:AD8B - - - - ;;strxor 262 D1:AD8B - - - - ;;xor 2 strings together 263 D1:AD8B - - - - ;;Inputs: 264 D1:AD8B - - - - ;; HL: string 1 265 D1:AD8B - - - - ;; DE: string 2 266 D1:AD8B - - - - ;;Outputs: 267 D1:AD8B - - - - ;; HL: Xor String Pointer 268 D1:AD8B - - - - strxor: 269 D1:AD8B E5 - - - push hl 270 D1:AD8C D5 - - - push de 271 D1:AD8D EB - - - ex de, hl 272 D1:AD8E - - - - strxorLoop: 273 D1:AD8E 1A - - - ld a, (de) 274 D1:AD8F B7 - - - or a, a 275 D1:AD90 28 0A - - jr z, strxorEnd 276 D1:AD92 AE - - - xor (hl) 277 D1:AD93 B7 - - - or a, a 278 D1:AD94 20 01 - - jr nz, strxorLoopLD 279 D1:AD96 7E - - - ld a, (hl) 280 D1:AD97 - - - - strxorLoopLD: 281 D1:AD97 12 - - - ld (de), a 282 D1:AD98 13 - - - inc de 283 D1:AD99 23 - - - inc hl 284 D1:AD9A 18 F2 - - jr strxorLoop 285 D1:AD9C - - - - strxorEnd: 286 D1:AD9C D1 - - - pop de 287 D1:AD9D E1 - - - pop hl 288 D1:AD9E C9 - - - ret 289 D1:AD9F - - - - 290 D1:AD9F - - - - 291 D1:AD9F - - - - ;;toLower [Strings] 292 D1:AD9F - - - - ;;Converts every alpha character of a string to lowercase. 293 D1:AD9F - - - - ;;Inputs: 294 D1:AD9F - - - - ;; HL: Pointer to string 295 D1:AD9F - - - - ;;Notes: 296 D1:AD9F - - - - ;; This modifies the string in-place. 297 D1:AD9F - - - - ;toLower: 298 D1:AD9F - - - - ; push af \ push hl 299 D1:AD9F - - - - ; ld a, (hl) 300 D1:AD9F - - - - ; or a 301 D1:AD9F - - - - ; jr z, toLowerExit 302 D1:AD9F - - - - ; call isAlphaNum 303 D1:AD9F - - - - ; jr nc, toLowerNotUpperAlpha 304 D1:AD9F - - - - ; cp 'a' 305 D1:AD9F - - - - ; jr nc, toLowerNotUpperAlpha 306 D1:AD9F - - - - ; add a, 'a' - 'A' 307 D1:AD9F - - - - ; ld (hl), a 308 D1:AD9F - - - - ;toLowerNotUpperAlpha: 309 D1:AD9F - - - - ; inc hl 310 D1:AD9F - - - - ; jr toLower + 2 311 D1:AD9F - - - - ;toLowerExit: 312 D1:AD9F - - - - ; pop hl \ pop af 313 D1:AD9F - - - - ; ret 314 D1:AD9F - - - - 315 D1:AD9F - - - - ;;toUpper [Strings] 316 D1:AD9F - - - - ;;Converts every alpha character of a string to uppercase. 317 D1:AD9F - - - - ;;Inputs: 318 D1:AD9F - - - - ;; HL: Pointer to string 319 D1:AD9F - - - - ;;Notes: 320 D1:AD9F - - - - ;; This modifies the string in-place. 321 D1:AD9F - - - - ;toUpper: 322 D1:AD9F - - - - ; push af \ push hl 323 D1:AD9F - - - - ; ld a, (hl) 324 D1:AD9F - - - - ; or a 325 D1:AD9F - - - - ; jr z, toUpperExit 326 D1:AD9F - - - - ; call isAlphaNum 327 D1:AD9F - - - - ; jr nc, toUpperNotLowerAlpha 328 D1:AD9F - - - - ; cp 'a' 329 D1:AD9F - - - - ; jr c, toUpperNotLowerAlpha 330 D1:AD9F - - - - ; sub 'a' - 'A' 331 D1:AD9F - - - - ; ld (hl), a 332 D1:AD9F - - - - ;toUpperNotLowerAlpha: 333 D1:AD9F - - - - ; inc hl 334 D1:AD9F - - - - ; jr toUpper + 2 335 D1:AD9F - - - - ;toUpperExit: 336 D1:AD9F - - - - ; pop hl \ pop af 337 D1:AD9F - - - - ; ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" 14 D1:AD9F - - - - 15 D1:AD9F - - - - #include "includes/lib/std/Input.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/Input.asm" 1 D1:AD9F - - - - ;;inputgetkey 2 D1:AD9F - - - - ;;Gets keycode 3 D1:AD9F - - - - ;;Outputs: 4 D1:AD9F - - - - ;; A: keycode 5 D1:AD9F - - - - ;;Destroys: 6 D1:AD9F - - - - ;; DE 7 D1:AD9F - - - - inputgetkey: 8 D1:AD9F EB - - - ex de, hl 9 D1:ADA0 CD 4C 01 02 call _GetCSC 10 D1:ADA4 EB - - - ex de, hl 11 D1:ADA5 B7 - - - or a 12 D1:ADA6 28 F7 - - jr z, inputgetkey 13 D1:ADA8 C9 - - - ret 14 D1:ADA9 - - - - 15 D1:ADA9 - - - - ;;inputstr 16 D1:ADA9 - - - - ;;Inputs string of length [Buffer Size] and puts it in (Destination) 17 D1:ADA9 - - - - ;;Inputs: 18 D1:ADA9 - - - - ;; HL: Destination 19 D1:ADA9 - - - - ;; D[E]: Buffer Size 20 D1:ADA9 - - - - ;;Ouptuts: 21 D1:ADA9 - - - - ;; (HL): String 22 D1:ADA9 - - - - inputstr: 23 D1:ADA9 D5 - - - push de 24 D1:ADAA E5 - - - push hl 25 D1:ADAB ED 53 C9 AE D1 - - - ld (inputstrSizeBuf), de 26 D1:ADB0 E5 - - - push hl 27 D1:ADB1 D5 - - - push de 28 D1:ADB2 21 96 05 D0 ld hl, CurCol 29 D1:ADB6 11 CB AE D1 ld de, inputstrCurColBuf 30 D1:ADBA CD 4A AA D1 call bytecpy 31 D1:ADBE 21 95 05 D0 ld hl, CurRow 32 D1:ADC2 11 CC AE D1 ld de, inputstrCurRowBuf 33 D1:ADC6 CD 4A AA D1 call bytecpy 34 D1:ADCA D1 - - - pop de 35 D1:ADCB E1 - - - pop hl 36 D1:ADCC - - - - 37 D1:ADCC FD CB 12 9E res Shift2nd, (IY + ShiftFlags) 38 D1:ADD0 CD B0 08 02 call _CursorOn 39 D1:ADD4 - - - - 40 D1:ADD4 AF - - - xor a 41 D1:ADD5 47 - - - ld b, a 42 D1:ADD6 - - - - inputstrKeyInput: 43 D1:ADD6 CD 18 AB D1 call cursorcurunderreset 44 D1:ADDA CD 9F AD D1 call inputgetkey 45 D1:ADDE - - - - 46 D1:ADDE FE 36 - - cp sk2nd 47 D1:ADE0 CA 37 AE D1 jp z, inputstrKey2nd 48 D1:ADE4 FE 38 - - cp skDel 49 D1:ADE6 CA 45 AE D1 jp z, inputstrKeyDel 50 D1:ADEA FE 0F - - cp skClear 51 D1:ADEC CA 65 AE D1 jp z, inputstrKeyClear 52 D1:ADF0 FE 09 - - cp skEnter 53 D1:ADF2 CA B5 AE D1 jp z, inputstrKeyEnter 54 D1:ADF6 - - - - 55 D1:ADF6 4F - - - ld c, a 56 D1:ADF7 78 - - - ld a, b 57 D1:ADF8 D5 - - - push de 58 D1:ADF9 ED 5B C9 AE D1 - - - ld de, (inputstrSizeBuf) 59 D1:ADFE BB - - - cp e 60 D1:ADFF D1 - - - pop de 61 D1:AE00 28 D4 - - jr z, inputstrKeyInput 62 D1:AE02 79 - - - ld a, c 63 D1:AE03 - - - - 64 D1:AE03 D6 0A - - sub skAdd 65 D1:AE05 38 CF - - jr c, inputstrKeyInput 66 D1:AE07 FE 26 - - cp skMath - skAdd + 1 67 D1:AE09 30 CB - - jr nc, inputstrKeyInput 68 D1:AE0B - - - - 69 D1:AE0B FD CB 12 5E bit Shift2nd, (IY + ShiftFlags) ; TIOS BASED 70 D1:AE0F CC E8 AA D1 call z, chartoascii 71 D1:AE13 C4 08 AB D1 call nz, charnumsymtoascii 72 D1:AE17 - - - - 73 D1:AE17 FE FF - - cp $FF 74 D1:AE19 28 BB - - jr z, inputstrKeyInput 75 D1:AE1B - - - - 76 D1:AE1B FD CB 05 96 res textScrolled, (iy+textFlags) 77 D1:AE1F - - - - 78 D1:AE1F CD B8 07 02 call _PutC 79 D1:AE23 - - - - 80 D1:AE23 77 - - - ld (hl), a 81 D1:AE24 23 - - - inc hl 82 D1:AE25 04 - - - inc b 83 D1:AE26 - - - - 84 D1:AE26 FD CB 05 56 bit textScrolled, (iy+textFlags) 85 D1:AE2A 28 AA - - jr z, inputstrKeyInput 86 D1:AE2C E5 - - - push hl 87 D1:AE2D 21 CC AE D1 ld hl, inputstrCurRowBuf 88 D1:AE31 7E - - - ld a, (hl) 89 D1:AE32 3D - - - dec a 90 D1:AE33 77 - - - ld (hl), a 91 D1:AE34 E1 - - - pop hl 92 D1:AE35 18 9F - - jr inputstrKeyInput 93 D1:AE37 - - - - inputstrKey2nd: 94 D1:AE37 E5 - - - push hl 95 D1:AE38 21 92 00 D0 ld hl, Flags + ShiftFlags 96 D1:AE3C 7E - - - ld a, (hl) 97 D1:AE3D EE 08 - - xor 1 << Shift2nd ; Toggle state of Shift2nd flag 98 D1:AE3F 77 - - - ld (hl), a 99 D1:AE40 E1 - - - pop hl 100 D1:AE41 C3 D6 AD D1 jp inputstrKeyInput 101 D1:AE45 - - - - inputstrKeyDel: 102 D1:AE45 78 - - - ld a, b 103 D1:AE46 FE 00 - - cp 0 104 D1:AE48 CA D6 AD D1 jp z, inputstrKeyInput 105 D1:AE4C - - - - 106 D1:AE4C 3E 20 - - ld a, ' ' 107 D1:AE4E CD B4 07 02 call _PutMap 108 D1:AE52 - - - - 109 D1:AE52 E5 - - - push hl 110 D1:AE53 21 96 05 D0 ld hl, CurCol 111 D1:AE57 35 - - - dec (hl) 112 D1:AE58 E1 - - - pop hl 113 D1:AE59 - - - - 114 D1:AE59 3E 20 - - ld a, ' ' 115 D1:AE5B CD B4 07 02 call _PutMap 116 D1:AE5F - - - - 117 D1:AE5F 2B - - - dec hl 118 D1:AE60 05 - - - dec b 119 D1:AE61 C3 D6 AD D1 jp inputstrKeyInput 120 D1:AE65 - - - - 121 D1:AE65 - - - - inputstrKeyClear: 122 D1:AE65 78 - - - ld a, b 123 D1:AE66 FE 00 - - cp 0 124 D1:AE68 CA D6 AD D1 jp z, inputstrKeyInput 125 D1:AE6C - - - - 126 D1:AE6C E5 - - - push hl 127 D1:AE6D D5 - - - push de 128 D1:AE6E 21 CB AE D1 ld hl, inputstrCurColBuf 129 D1:AE72 11 96 05 D0 ld de, CurCol 130 D1:AE76 CD 4A AA D1 call bytecpy 131 D1:AE7A 21 CC AE D1 ld hl, inputstrCurRowBuf 132 D1:AE7E 11 95 05 D0 ld de, CurRow 133 D1:AE82 CD 4A AA D1 call bytecpy 134 D1:AE86 D1 - - - pop de 135 D1:AE87 E1 - - - pop hl 136 D1:AE88 - - - - 137 D1:AE88 3E 20 - - ld a, ' ' 138 D1:AE8A 04 - - - inc b 139 D1:AE8B - - - - inputstrKeyClearLoop: 140 D1:AE8B CD B8 07 02 call _PutC 141 D1:AE8F 10 FA - - djnz inputstrKeyClearLoop 142 D1:AE91 06 00 - - ld b, 0 143 D1:AE93 - - - - 144 D1:AE93 D5 - - - push de 145 D1:AE94 E5 - - - push hl 146 D1:AE95 21 CB AE D1 ld hl, inputstrCurColBuf 147 D1:AE99 11 96 05 D0 ld de, CurCol 148 D1:AE9D CD 4A AA D1 call bytecpy 149 D1:AEA1 21 CC AE D1 ld hl, inputstrCurRowBuf 150 D1:AEA5 11 95 05 D0 ld de, CurRow 151 D1:AEA9 CD 4A AA D1 call bytecpy 152 D1:AEAD E1 - - - pop hl 153 D1:AEAE D1 - - - pop de 154 D1:AEAF E1 - - - pop hl 155 D1:AEB0 E5 - - - push hl 156 D1:AEB1 C3 D6 AD D1 jp inputstrKeyInput 157 D1:AEB5 - - - - 158 D1:AEB5 - - - - inputstrKeyEnter: 159 D1:AEB5 36 00 - - ld (hl), 0 160 D1:AEB7 CD A8 08 02 call _CursorOff 161 D1:AEBB 3E 20 - - ld a, ' ' 162 D1:AEBD CD B4 07 02 call _PutMap 163 D1:AEC1 E1 - - - pop hl 164 D1:AEC2 D1 - - - pop de 165 D1:AEC3 FD CB 12 9E res Shift2nd, (IY + ShiftFlags) 166 D1:AEC7 C9 - - - ret 167 D1:AEC8 - - - - 168 D1:AEC8 00 - - - inputstrFlags: .db %00000000 169 D1:AEC9 - - - - ; 0: num Flag 170 D1:AEC9 00 00 - - inputstrSizeBuf: .dw $0000 171 D1:AECB 00 - - - inputstrCurColBuf: .db $00 172 D1:AECC 00 - - - inputstrCurRowBuf: .db $00 173 D1:AECD - - - - 174 D1:AECD - - - - ;;inputcharstr 175 D1:AECD - - - - ;;Inputs string of (only letters) of length [Buffer Size] and puts it in (Destination) 176 D1:AECD - - - - ;;Inputs: 177 D1:AECD - - - - ;; HL: Destination 178 D1:AECD - - - - ;; D[E]: Buffer Size 179 D1:AECD - - - - ;;Ouptuts: 180 D1:AECD - - - - ;; (HL): String 181 D1:AECD - - - - inputcharstr: 182 D1:AECD D5 - - - push de 183 D1:AECE E5 - - - push hl 184 D1:AECF ED 53 DD AF D1 - - - ld (inputcharstrSizeBuf), de 185 D1:AED4 E5 - - - push hl 186 D1:AED5 D5 - - - push de 187 D1:AED6 21 96 05 D0 ld hl, CurCol 188 D1:AEDA 11 DF AF D1 ld de, inputcharstrCurColBuf 189 D1:AEDE CD 4A AA D1 call bytecpy 190 D1:AEE2 21 95 05 D0 ld hl, CurRow 191 D1:AEE6 11 E0 AF D1 ld de, inputcharstrCurRowBuf 192 D1:AEEA CD 4A AA D1 call bytecpy 193 D1:AEEE D1 - - - pop de 194 D1:AEEF E1 - - - pop hl 195 D1:AEF0 - - - - 196 D1:AEF0 CD B0 08 02 call _CursorOn 197 D1:AEF4 - - - - 198 D1:AEF4 AF - - - xor a 199 D1:AEF5 47 - - - ld b, a 200 D1:AEF6 - - - - inputcharstrKeyInput: 201 D1:AEF6 CD 18 AB D1 call cursorcurunderreset 202 D1:AEFA CD 9F AD D1 call inputgetkey 203 D1:AEFE - - - - 204 D1:AEFE FE 38 - - cp skDel 205 D1:AF00 CA 49 AF D1 jp z, inputcharstrKeyDel 206 D1:AF04 FE 0F - - cp skClear 207 D1:AF06 CA 69 AF D1 jp z, inputcharstrKeyClear 208 D1:AF0A FE 09 - - cp skEnter 209 D1:AF0C CA CE AF D1 jp z, inputcharstrKeyEnter 210 D1:AF10 - - - - 211 D1:AF10 4F - - - ld c, a 212 D1:AF11 78 - - - ld a, b 213 D1:AF12 D5 - - - push de 214 D1:AF13 ED 5B DD AF D1 - - - ld de, (inputcharstrSizeBuf) 215 D1:AF18 BB - - - cp e 216 D1:AF19 D1 - - - pop de 217 D1:AF1A 28 DA - - jr z, inputcharstrKeyInput 218 D1:AF1C 79 - - - ld a, c 219 D1:AF1D - - - - 220 D1:AF1D D6 0A - - sub skAdd 221 D1:AF1F 38 D5 - - jr c, inputcharstrKeyInput 222 D1:AF21 FE 26 - - cp skMath - skAdd + 1 223 D1:AF23 30 D1 - - jr nc, inputcharstrKeyInput 224 D1:AF25 - - - - 225 D1:AF25 CD E8 AA D1 call chartoascii 226 D1:AF29 - - - - 227 D1:AF29 FE FF - - cp $FF 228 D1:AF2B 28 C9 - - jr z, inputcharstrKeyInput 229 D1:AF2D - - - - 230 D1:AF2D FD CB 05 96 res textScrolled, (iy+textFlags) 231 D1:AF31 - - - - 232 D1:AF31 CD B8 07 02 call _PutC 233 D1:AF35 - - - - 234 D1:AF35 77 - - - ld (hl), a 235 D1:AF36 23 - - - inc hl 236 D1:AF37 04 - - - inc b 237 D1:AF38 - - - - 238 D1:AF38 FD CB 05 56 bit textScrolled, (iy+textFlags) 239 D1:AF3C 28 B8 - - jr z, inputcharstrKeyInput 240 D1:AF3E E5 - - - push hl 241 D1:AF3F 21 E0 AF D1 ld hl, inputcharstrCurRowBuf 242 D1:AF43 7E - - - ld a, (hl) 243 D1:AF44 3D - - - dec a 244 D1:AF45 77 - - - ld (hl), a 245 D1:AF46 E1 - - - pop hl 246 D1:AF47 18 AD - - jr inputcharstrKeyInput 247 D1:AF49 - - - - inputcharstrKeyDel: 248 D1:AF49 78 - - - ld a, b 249 D1:AF4A FE 00 - - cp 0 250 D1:AF4C CA F6 AE D1 jp z, inputcharstrKeyInput 251 D1:AF50 - - - - 252 D1:AF50 3E 20 - - ld a, ' ' 253 D1:AF52 CD B4 07 02 call _PutMap 254 D1:AF56 - - - - 255 D1:AF56 E5 - - - push hl 256 D1:AF57 21 96 05 D0 ld hl, CurCol 257 D1:AF5B 35 - - - dec (hl) 258 D1:AF5C E1 - - - pop hl 259 D1:AF5D - - - - 260 D1:AF5D 3E 20 - - ld a, ' ' 261 D1:AF5F CD B4 07 02 call _PutMap 262 D1:AF63 - - - - 263 D1:AF63 2B - - - dec hl 264 D1:AF64 05 - - - dec b 265 D1:AF65 C3 F6 AE D1 jp inputcharstrKeyInput 266 D1:AF69 - - - - 267 D1:AF69 - - - - inputcharstrKeyClear: 268 D1:AF69 78 - - - ld a, b 269 D1:AF6A FE 00 - - cp 0 270 D1:AF6C CA F6 AE D1 jp z, inputcharstrKeyInput 271 D1:AF70 - - - - 272 D1:AF70 E5 - - - push hl 273 D1:AF71 21 95 05 D0 ld hl, CurRow 274 D1:AF75 4E - - - ld c, (hl) 275 D1:AF76 E1 - - - pop hl 276 D1:AF77 - - - - 277 D1:AF77 E5 - - - push hl 278 D1:AF78 D5 - - - push de 279 D1:AF79 21 DF AF D1 ld hl, inputcharstrCurColBuf 280 D1:AF7D 11 96 05 D0 ld de, CurCol 281 D1:AF81 CD 4A AA D1 call bytecpy 282 D1:AF85 21 E0 AF D1 ld hl, inputcharstrCurRowBuf 283 D1:AF89 11 95 05 D0 ld de, CurRow 284 D1:AF8D CD 4A AA D1 call bytecpy 285 D1:AF91 D1 - - - pop de 286 D1:AF92 E1 - - - pop hl 287 D1:AF93 - - - - 288 D1:AF93 3E 20 - - ld a, ' ' 289 D1:AF95 04 - - - inc b 290 D1:AF96 - - - - inputcharstrKeyClearLoop: 291 D1:AF96 CD B8 07 02 call _PutC 292 D1:AF9A 10 FA - - djnz inputcharstrKeyClearLoop 293 D1:AF9C - - - - 294 D1:AF9C E5 - - - push hl 295 D1:AF9D D5 - - - push de 296 D1:AF9E 21 DF AF D1 ld hl, inputcharstrCurColBuf 297 D1:AFA2 11 96 05 D0 ld de, CurCol 298 D1:AFA6 CD 4A AA D1 call bytecpy 299 D1:AFAA D1 - - - pop de 300 D1:AFAB E1 - - - pop hl 301 D1:AFAC - - - - 302 D1:AFAC D5 - - - push de 303 D1:AFAD E5 - - - push hl 304 D1:AFAE 21 DF AF D1 ld hl, inputcharstrCurColBuf 305 D1:AFB2 11 96 05 D0 ld de, CurCol 306 D1:AFB6 CD 4A AA D1 call bytecpy 307 D1:AFBA 21 E0 AF D1 ld hl, inputcharstrCurRowBuf 308 D1:AFBE 11 95 05 D0 ld de, CurRow 309 D1:AFC2 CD 4A AA D1 call bytecpy 310 D1:AFC6 E1 - - - pop hl 311 D1:AFC7 D1 - - - pop de 312 D1:AFC8 E1 - - - pop hl 313 D1:AFC9 E5 - - - push hl 314 D1:AFCA C3 F6 AE D1 jp inputcharstrKeyInput 315 D1:AFCE - - - - 316 D1:AFCE - - - - inputcharstrKeyEnter: 317 D1:AFCE 36 00 - - ld (hl), 0 318 D1:AFD0 CD A8 08 02 call _CursorOff 319 D1:AFD4 3E 20 - - ld a, ' ' 320 D1:AFD6 CD B4 07 02 call _PutMap 321 D1:AFDA E1 - - - pop hl 322 D1:AFDB D1 - - - pop de 323 D1:AFDC C9 - - - ret 324 D1:AFDD - - - - 325 D1:AFDD 00 00 - - inputcharstrSizeBuf: .dw $0000 326 D1:AFDF 00 - - - inputcharstrCurColBuf: .db $00 327 D1:AFE0 00 - - - inputcharstrCurRowBuf: .db $00 328 D1:AFE1 - - - - 329 D1:AFE1 - - - - ;;inputnumstr 330 D1:AFE1 - - - - ;;Inputs string of (only numbers) of length [Buffer Size] and puts it in (Destination) 331 D1:AFE1 - - - - ;;Inputs: 332 D1:AFE1 - - - - ;; HL: Destination 333 D1:AFE1 - - - - ;; D[E]: Buffer Size 334 D1:AFE1 - - - - ;;Ouptuts: 335 D1:AFE1 - - - - ;; (HL): String 336 D1:AFE1 - - - - inputnumstr: 337 D1:AFE1 D5 - - - push de 338 D1:AFE2 E5 - - - push hl 339 D1:AFE3 ED 53 E1 B0 D1 - - - ld (inputnumstrSizeBuf), de 340 D1:AFE8 E5 - - - push hl 341 D1:AFE9 D5 - - - push de 342 D1:AFEA 21 96 05 D0 ld hl, CurCol 343 D1:AFEE 11 E3 B0 D1 ld de, inputnumstrCurColBuf 344 D1:AFF2 CD 4A AA D1 call bytecpy 345 D1:AFF6 21 95 05 D0 ld hl, CurRow 346 D1:AFFA 11 E4 B0 D1 ld de, inputnumstrCurRowBuf 347 D1:AFFE CD 4A AA D1 call bytecpy 348 D1:B002 D1 - - - pop de 349 D1:B003 E1 - - - pop hl 350 D1:B004 - - - - 351 D1:B004 CD B0 08 02 call _CursorOn 352 D1:B008 - - - - 353 D1:B008 AF - - - xor a 354 D1:B009 47 - - - ld b, a 355 D1:B00A - - - - 356 D1:B00A - - - - inputnumstrKeyInput: 357 D1:B00A CD 18 AB D1 call cursorcurunderreset 358 D1:B00E CD 9F AD D1 call inputgetkey 359 D1:B012 - - - - 360 D1:B012 FE 38 - - cp skDel 361 D1:B014 CA 5D B0 D1 jp z, inputnumstrKeyDel 362 D1:B018 FE 0F - - cp skClear 363 D1:B01A CA 7D B0 D1 jp z, inputnumstrKeyClear 364 D1:B01E FE 09 - - cp skEnter 365 D1:B020 CA D2 B0 D1 jp z, inputnumstrKeyEnter 366 D1:B024 - - - - 367 D1:B024 4F - - - ld c, a 368 D1:B025 78 - - - ld a, b 369 D1:B026 D5 - - - push de 370 D1:B027 ED 5B E1 B0 D1 - - - ld de, (inputnumstrSizeBuf) 371 D1:B02C BB - - - cp e 372 D1:B02D D1 - - - pop de 373 D1:B02E 28 DA - - jr z, inputnumstrKeyInput 374 D1:B030 79 - - - ld a, c 375 D1:B031 - - - - 376 D1:B031 D6 0A - - sub skAdd 377 D1:B033 38 D5 - - jr c, inputnumstrKeyInput 378 D1:B035 FE 26 - - cp skMath - skAdd + 1 379 D1:B037 30 D1 - - jr nc, inputnumstrKeyInput 380 D1:B039 - - - - 381 D1:B039 CD F8 AA D1 call charnumtoascii 382 D1:B03D FE FF - - cp $FF 383 D1:B03F 28 C9 - - jr z, inputnumstrKeyInput 384 D1:B041 - - - - 385 D1:B041 FD CB 05 96 res textScrolled, (iy+textFlags) 386 D1:B045 - - - - 387 D1:B045 CD B8 07 02 call _PutC 388 D1:B049 - - - - 389 D1:B049 77 - - - ld (hl), a 390 D1:B04A 23 - - - inc hl 391 D1:B04B 04 - - - inc b 392 D1:B04C - - - - 393 D1:B04C FD CB 05 56 bit textScrolled, (iy+textFlags) 394 D1:B050 28 B8 - - jr z, inputnumstrKeyInput 395 D1:B052 E5 - - - push hl 396 D1:B053 21 E4 B0 D1 ld hl, inputnumstrCurRowBuf 397 D1:B057 7E - - - ld a, (hl) 398 D1:B058 3D - - - dec a 399 D1:B059 77 - - - ld (hl), a 400 D1:B05A E1 - - - pop hl 401 D1:B05B 18 AD - - jr inputnumstrKeyInput 402 D1:B05D - - - - inputnumstrkeydel: 403 D1:B05D 78 - - - ld a, b 404 D1:B05E FE 00 - - cp 0 405 D1:B060 CA 0A B0 D1 jp z, inputnumstrKeyInput 406 D1:B064 - - - - 407 D1:B064 3E 20 - - ld a, ' ' 408 D1:B066 CD B4 07 02 call _PutMap 409 D1:B06A - - - - 410 D1:B06A E5 - - - push hl 411 D1:B06B 21 96 05 D0 ld hl, CurCol 412 D1:B06F 35 - - - dec (hl) 413 D1:B070 E1 - - - pop hl 414 D1:B071 - - - - 415 D1:B071 3E 20 - - ld a, ' ' 416 D1:B073 CD B4 07 02 call _PutMap 417 D1:B077 - - - - 418 D1:B077 2B - - - dec hl 419 D1:B078 05 - - - dec b 420 D1:B079 C3 0A B0 D1 jp inputnumstrKeyInput 421 D1:B07D - - - - 422 D1:B07D - - - - inputnumstrKeyClear: 423 D1:B07D 78 - - - ld a, b 424 D1:B07E FE 00 - - cp 0 425 D1:B080 CA 0A B0 D1 jp z, inputnumstrKeyInput 426 D1:B084 - - - - 427 D1:B084 E5 - - - push hl 428 D1:B085 21 95 05 D0 ld hl, CurRow 429 D1:B089 4E - - - ld c, (hl) 430 D1:B08A E1 - - - pop hl 431 D1:B08B - - - - 432 D1:B08B E5 - - - push hl 433 D1:B08C D5 - - - push de 434 D1:B08D 21 E3 B0 D1 ld hl, inputnumstrCurColBuf 435 D1:B091 11 96 05 D0 ld de, CurCol 436 D1:B095 CD 4A AA D1 call bytecpy 437 D1:B099 21 E4 B0 D1 ld hl, inputnumstrCurRowBuf 438 D1:B09D 11 95 05 D0 ld de, CurRow 439 D1:B0A1 CD 4A AA D1 call bytecpy 440 D1:B0A5 D1 - - - pop de 441 D1:B0A6 E1 - - - pop hl 442 D1:B0A7 - - - - 443 D1:B0A7 3E 20 - - ld a, ' ' 444 D1:B0A9 04 - - - inc b 445 D1:B0AA - - - - inputnumstrKeyClearLoop: 446 D1:B0AA CD B8 07 02 call _PutC 447 D1:B0AE 10 FA - - djnz inputnumstrKeyClearLoop 448 D1:B0B0 - - - - 449 D1:B0B0 D5 - - - push de 450 D1:B0B1 E5 - - - push hl 451 D1:B0B2 21 E3 B0 D1 ld hl, inputnumstrCurColBuf 452 D1:B0B6 11 96 05 D0 ld de, CurCol 453 D1:B0BA CD 4A AA D1 call bytecpy 454 D1:B0BE 21 E4 B0 D1 ld hl, inputnumstrCurRowBuf 455 D1:B0C2 11 95 05 D0 ld de, CurRow 456 D1:B0C6 CD 4A AA D1 call bytecpy 457 D1:B0CA E1 - - - pop hl 458 D1:B0CB D1 - - - pop de 459 D1:B0CC E1 - - - pop hl 460 D1:B0CD E5 - - - push hl 461 D1:B0CE C3 0A B0 D1 jp inputnumstrKeyInput 462 D1:B0D2 - - - - 463 D1:B0D2 - - - - inputnumstrKeyEnter: 464 D1:B0D2 36 00 - - ld (hl), 0 465 D1:B0D4 CD A8 08 02 call _CursorOff 466 D1:B0D8 3E 20 - - ld a, ' ' 467 D1:B0DA CD B4 07 02 call _PutMap 468 D1:B0DE E1 - - - pop hl 469 D1:B0DF D1 - - - pop de 470 D1:B0E0 C9 - - - ret 471 D1:B0E1 - - - - 472 D1:B0E1 00 00 - - inputnumstrSizeBuf: .dw $0000 473 D1:B0E3 00 - - - inputnumstrCurColBuf: .db $00 474 D1:B0E4 00 - - - inputnumstrCurRowBuf: .db $00 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/std/std.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/lib.inc" 2 D1:B0E5 - - - - #include "includes/lib/fsh/fsh.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/fsh.inc" 1 D1:B0E5 - - - - #include "includes/lib/fsh/Command.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/Command.asm" 1 D1:B0E5 - - - - ;;commandfill 2 D1:B0E5 - - - - ;;Fills command mem with byte a 3 D1:B0E5 - - - - ;;Inputs: 4 D1:B0E5 - - - - ;; A: byte 5 D1:B0E5 - - - - commandfill: 6 D1:B0E5 E5 - - - push hl 7 D1:B0E6 C5 - - - push bc 8 D1:B0E7 D5 - - - push de 9 D1:B0E8 06 00 - - ld b, 0 10 D1:B0EA 11 00 00 00 ld de, 0 11 D1:B0EE 4F - - - ld c, a 12 D1:B0EF 21 9F EA D0 ld hl, FshCmd 13 D1:B0F3 - - - - commandfillLoop: 14 D1:B0F3 71 - - - ld (hl), c 15 D1:B0F4 23 - - - inc hl 16 D1:B0F5 04 - - - inc b 17 D1:B0F6 13 - - - inc de 18 D1:B0F7 78 - - - ld a, b 19 D1:B0F8 FE 40 - - cp FshCmdSize 20 D1:B0FA 38 F7 - - jr c, commandfillLoop 21 D1:B0FC D1 - - - pop de 22 D1:B0FD C1 - - - pop bc 23 D1:B0FE E1 - - - pop hl 24 D1:B0FF C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/fsh.inc" 2 D1:B100 - - - - #include "includes/lib/fsh/Parse.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/Parse.asm" 1 D1:B100 - - - - ;;fshparsecommand 2 D1:B100 - - - - ;;Inputs: 3 D1:B100 - - - - ;; HL: FshCmd 4 D1:B100 - - - - ;;b = buf row 5 D1:B100 - - - - ;;c = char in row 6 D1:B100 - - - - ;de = scratch 7 D1:B100 - - - - fshparsecommand: 8 D1:B100 E5 - - - push hl 9 D1:B101 C5 - - - push bc 10 D1:B102 D5 - - - push de 11 D1:B103 E5 - - - push hl 12 D1:B104 E5 - - - push hl 13 D1:B105 21 17 B2 D1 ld hl, fshparsecommandCmd 14 D1:B109 06 2D - - ld b, 45 15 D1:B10B 3E 00 - - ld a, $00 16 D1:B10D CD 6B AA D1 call memset 17 D1:B111 E1 - - - pop hl 18 D1:B112 - - - - 19 D1:B112 01 00 00 00 ld bc, 0 20 D1:B116 11 00 00 00 ld de, 0 21 D1:B11A - - - - fshparsecommandLoop: 22 D1:B11A 7E - - - ld a, (hl) 23 D1:B11B - - - - fshparsecommandCheckSpace: 24 D1:B11B FE 20 - - cp ' ' ;end of word 25 D1:B11D 20 0C - - jr nz, fshparsecommandCheckEnd 26 D1:B11F 3E 00 - - ld a, $00 27 D1:B121 CD 4A B2 D1 call fshparsecommandCopyChar 28 D1:B125 0E 00 - - ld c, 0 29 D1:B127 04 - - - inc b 30 D1:B128 23 - - - inc hl 31 D1:B129 18 EF - - jr fshparsecommandLoop 32 D1:B12B - - - - 33 D1:B12B - - - - fshparsecommandCheckEnd: 34 D1:B12B FE 00 - - cp $00 ;end of string 35 D1:B12D 28 13 - - jr z, fshparsecommandCheckArgStatus 36 D1:B12F - - - - 37 D1:B12F - - - - fshparsecommandLoopEnd: 38 D1:B12F CD 4A B2 D1 call fshparsecommandCopyChar 39 D1:B133 23 - - - inc hl 40 D1:B134 0C - - - inc c 41 D1:B135 - - - - 42 D1:B135 79 - - - ld a, c 43 D1:B136 FE 08 - - cp FshCmdCmdSize 44 D1:B138 20 E0 - - jr nz, fshparsecommandLoop 45 D1:B13A - - - - ;inc hl 46 D1:B13A 0E 00 - - ld c, 0 47 D1:B13C 04 - - - inc b 48 D1:B13D 78 - - - ld a, b 49 D1:B13E FE 05 - - cp 5 50 D1:B140 20 D8 - - jr nz, fshparsecommandLoop 51 D1:B142 - - - - ; ld bc, 0 52 D1:B142 - - - - 53 D1:B142 - - - - fshparsecommandCheckArgStatus: 54 D1:B142 AF - - - xor a 55 D1:B143 21 CD EA D0 ld hl, FshCmdArgFlags 56 D1:B147 77 - - - ld (hl), a 57 D1:B148 - - - - fshparsecommandCheckArg0: 58 D1:B148 21 20 B2 D1 ld hl, fshparsecommandArg0 59 D1:B14C 7E - - - ld a, (hl) 60 D1:B14D FE 00 - - cp $00 61 D1:B14F 28 27 - - jr z, fshparsecommandCheckArg1 62 D1:B151 21 CD EA D0 ld hl, FshCmdArgFlags 63 D1:B155 CB C6 - - set 0, (hl) 64 D1:B157 7E - - - ld a, (hl) 65 D1:B158 21 20 B2 D1 ld hl, fshparsecommandArg0 66 D1:B15C 7E - - - ld a, (hl) 67 D1:B15D D6 30 - - sub '0' 68 D1:B15F FE 0A - - cp '9' - '0' + 1 69 D1:B161 30 15 - - jr nc, fshparsecommandCheckArg1 70 D1:B163 CD E3 AC D1 call strtow 71 D1:B167 11 20 B2 D1 ld de, fshparsecommandArg0 72 D1:B16B EB - - - ex de, hl 73 D1:B16C 73 - - - ld (hl), e 74 D1:B16D 23 - - - inc hl 75 D1:B16E 72 - - - ld (hl), d 76 D1:B16F 34 - - - inc (hl) 77 D1:B170 36 00 - - ld (hl), $00 78 D1:B172 21 CD EA D0 ld hl, FshCmdArgFlags 79 D1:B176 CB CE - - set 1, (hl) 80 D1:B178 - - - - fshparsecommandCheckArg1: 81 D1:B178 21 29 B2 D1 ld hl, fshparsecommandArg1 82 D1:B17C 7E - - - ld a, (hl) 83 D1:B17D FE 00 - - cp $00 84 D1:B17F 28 26 - - jr z, fshparsecommandCheckArg2 85 D1:B181 21 CD EA D0 ld hl, FshCmdArgFlags 86 D1:B185 CB D6 - - set 2, (hl) 87 D1:B187 21 29 B2 D1 ld hl, fshparsecommandArg1 88 D1:B18B 7E - - - ld a, (hl) 89 D1:B18C D6 30 - - sub '0' 90 D1:B18E FE 0A - - cp '9' - '0' + 1 91 D1:B190 30 15 - - jr nc, fshparsecommandCheckArg2 92 D1:B192 CD E3 AC D1 call strtow 93 D1:B196 11 29 B2 D1 ld de, fshparsecommandArg1 94 D1:B19A EB - - - ex de, hl 95 D1:B19B 73 - - - ld (hl), e 96 D1:B19C 23 - - - inc hl 97 D1:B19D 72 - - - ld (hl), d 98 D1:B19E 23 - - - inc hl 99 D1:B19F 36 00 - - ld (hl), $00 100 D1:B1A1 21 CD EA D0 ld hl, FshCmdArgFlags 101 D1:B1A5 CB DE - - set 3, (hl) 102 D1:B1A7 - - - - fshparsecommandCheckArg2: 103 D1:B1A7 21 32 B2 D1 ld hl, fshparsecommandArg2 104 D1:B1AB 7E - - - ld a, (hl) 105 D1:B1AC FE 00 - - cp $00 106 D1:B1AE 28 26 - - jr z, fshparsecommandCheckArg3 107 D1:B1B0 21 CD EA D0 ld hl, FshCmdArgFlags 108 D1:B1B4 CB E6 - - set 4, (hl) 109 D1:B1B6 21 32 B2 D1 ld hl, fshparsecommandArg2 110 D1:B1BA 7E - - - ld a, (hl) 111 D1:B1BB D6 30 - - sub '0' 112 D1:B1BD FE 0A - - cp '9' - '0' + 1 113 D1:B1BF 30 15 - - jr nc, fshparsecommandCheckArg3 114 D1:B1C1 CD E3 AC D1 call strtow 115 D1:B1C5 11 32 B2 D1 ld de, fshparsecommandArg2 116 D1:B1C9 EB - - - ex de, hl 117 D1:B1CA 73 - - - ld (hl), e 118 D1:B1CB 23 - - - inc hl 119 D1:B1CC 72 - - - ld (hl), d 120 D1:B1CD 23 - - - inc hl 121 D1:B1CE 36 00 - - ld (hl), $00 122 D1:B1D0 21 CD EA D0 ld hl, FshCmdArgFlags 123 D1:B1D4 CB EE - - set 5, (hl) 124 D1:B1D6 - - - - fshparsecommandCheckArg3: 125 D1:B1D6 21 3B B2 D1 ld hl, fshparsecommandArg3 126 D1:B1DA 7E - - - ld a, (hl) 127 D1:B1DB FE 00 - - cp $00 128 D1:B1DD 28 26 - - jr z, fshparsecommandCopyBack 129 D1:B1DF 21 CD EA D0 ld hl, FshCmdArgFlags 130 D1:B1E3 CB F6 - - set 6, (hl) 131 D1:B1E5 21 3B B2 D1 ld hl, fshparsecommandArg3 132 D1:B1E9 7E - - - ld a, (hl) 133 D1:B1EA D6 30 - - sub '0' 134 D1:B1EC FE 0A - - cp '9' - '0' + 1 135 D1:B1EE 30 15 - - jr nc, fshparsecommandCopyBack 136 D1:B1F0 CD E3 AC D1 call strtow 137 D1:B1F4 11 3B B2 D1 ld de, fshparsecommandArg3 138 D1:B1F8 EB - - - ex de, hl 139 D1:B1F9 73 - - - ld (hl), e 140 D1:B1FA 23 - - - inc hl 141 D1:B1FB 72 - - - ld (hl), d 142 D1:B1FC 23 - - - inc hl 143 D1:B1FD 36 00 - - ld (hl), $00 144 D1:B1FF 21 CD EA D0 ld hl, FshCmdArgFlags 145 D1:B203 CB FE - - set 7, (hl) 146 D1:B205 - - - - fshparsecommandCopyBack: 147 D1:B205 E1 - - - pop hl 148 D1:B206 C5 - - - push bc 149 D1:B207 EB - - - ex de, hl 150 D1:B208 21 17 B2 D1 ld hl, fshparsecommandCmd 151 D1:B20C 01 2D 00 00 ld bc, 45 152 D1:B210 ED B0 - - ldir 153 D1:B212 C1 - - - pop bc 154 D1:B213 - - - - 155 D1:B213 D1 - - - pop de 156 D1:B214 C1 - - - pop bc 157 D1:B215 E1 - - - pop hl 158 D1:B216 C9 - - - ret 159 D1:B217 - - - - 160 D1:B217 00 00 00 00 00 00 00 00 00 - - - fshparsecommandCmd: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 161 D1:B220 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg0: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 162 D1:B229 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg1: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 163 D1:B232 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg2: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 164 D1:B23B 00 00 00 00 00 00 00 00 00 - - - fshparsecommandArg3: .db $00, $00, $00, $00, $00, $00, $00, $00, $00 165 D1:B244 00 00 00 00 00 00 - - fshparsecommandOverB: .db $00, $00, $00, $00, $00, $00 166 D1:B24A - - - - 167 D1:B24A - - - - fshparsecommandCopyChar: 168 D1:B24A - - - - ;Copy 169 D1:B24A E5 - - - push hl 170 D1:B24B C5 - - - push bc 171 D1:B24C 21 00 00 00 ld hl, 0 172 D1:B250 60 - - - ld h, b 173 D1:B251 2E 09 - - ld l, 9 174 D1:B253 41 - - - ld b, c 175 D1:B254 11 17 B2 D1 ld de, fshparsecommandCmd 176 D1:B258 CD B5 AB D1 call array2d 177 D1:B25C C1 - - - pop bc 178 D1:B25D E1 - - - pop hl 179 D1:B25E - - - - ;push hl 180 D1:B25E - - - - ; ld hl, fshparsecommandCmd+45+1 181 D1:B25E - - - - ; call cpHLDE 182 D1:B25E - - - - ;pop hl 183 D1:B25E - - - - ;pop de 184 D1:B25E - - - - ;ret c 185 D1:B25E - - - - ;push de 186 D1:B25E 12 - - - ld (de), a ;ld buffer 187 D1:B25F C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/fsh.inc" 3 D1:B260 - - - - #include "includes/lib/fsh/FshVar.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/FshVar.asm" 1 D1:B260 - - - - ;;fshvarset 2 D1:B260 - - - - ;;Sets a Word in FshVars. 3 D1:B260 - - - - ;;Inputs: 4 D1:B260 - - - - ;; HL: 16b 5 D1:B260 - - - - ;; DE: Destination Word Relitive to FshVars 6 D1:B260 - - - - fshvarset: 7 D1:B260 C5 - - - push bc 8 D1:B261 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 9 D1:B265 CD 84 A9 D1 call cpBCDE 10 D1:B269 C1 - - - pop bc 11 D1:B26A 38 11 - - jr c, fshvarsetOOBException 12 D1:B26C C5 - - - push bc 13 D1:B26D D5 - - - push de 14 D1:B26E E5 - - - push hl 15 D1:B26F 01 1F EA D0 ld bc, FshVars 16 D1:B273 EB - - - ex de, hl 17 D1:B274 29 - - - add hl, hl 18 D1:B275 09 - - - add hl, bc 19 D1:B276 73 - - - ld (hl), e 20 D1:B277 23 - - - inc hl 21 D1:B278 72 - - - ld (hl), d 22 D1:B279 E1 - - - pop hl 23 D1:B27A D1 - - - pop de 24 D1:B27B C1 - - - pop bc 25 D1:B27C C9 - - - ret 26 D1:B27D - - - - fshvarsetOOBException: 27 D1:B27D E5 - - - push hl 28 D1:B27E 21 A2 B3 D1 ld hl, ErrOutOfBoundso 29 D1:B282 CD 5D B3 D1 call ErrSet 30 D1:B286 E1 - - - pop hl 31 D1:B287 C9 - - - ret 32 D1:B288 - - - - 33 D1:B288 - - - - ;;fshvarget 34 D1:B288 - - - - ;;Gets a Word in FshVars. 35 D1:B288 - - - - ;;Inputs: 36 D1:B288 - - - - ;; DE: Destination Word Relitive to FshVars 37 D1:B288 - - - - ;;Outputs: 38 D1:B288 - - - - ;; HL: Word in (DE) 39 D1:B288 - - - - fshvarget: 40 D1:B288 C5 - - - push bc 41 D1:B289 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 42 D1:B28D CD 84 A9 D1 call cpBCDE 43 D1:B291 C1 - - - pop bc 44 D1:B292 38 14 - - jr c, fshvargetOOBException 45 D1:B294 C5 - - - push bc 46 D1:B295 D5 - - - push de 47 D1:B296 21 00 00 00 ld hl, 0 48 D1:B29A 01 1F EA D0 ld bc, FshVars 49 D1:B29E EB - - - ex de, hl 50 D1:B29F 29 - - - add hl, hl 51 D1:B2A0 09 - - - add hl, bc 52 D1:B2A1 5E - - - ld e, (hl) 53 D1:B2A2 23 - - - inc hl 54 D1:B2A3 56 - - - ld d, (hl) 55 D1:B2A4 EB - - - ex de, hl 56 D1:B2A5 D1 - - - pop de 57 D1:B2A6 C1 - - - pop bc 58 D1:B2A7 C9 - - - ret 59 D1:B2A8 - - - - fshvargetOOBException: 60 D1:B2A8 E5 - - - push hl 61 D1:B2A9 21 A2 B3 D1 ld hl, ErrOutOfBoundso 62 D1:B2AD CD 5D B3 D1 call ErrSet 63 D1:B2B1 E1 - - - pop hl 64 D1:B2B2 C9 - - - ret 65 D1:B2B3 - - - - ;;fshvarcpy 66 D1:B2B3 - - - - ;;Copies a word. 67 D1:B2B3 - - - - ;;Inputs: 68 D1:B2B3 - - - - ;; HL: Byte pointer 69 D1:B2B3 - - - - ;; DE: Destination 70 D1:B2B3 - - - - fshvarcpy: 71 D1:B2B3 C5 - - - push bc 72 D1:B2B4 01 3F 00 00 ld bc, FshVarsSize / 2 - 1 73 D1:B2B8 CD 84 A9 D1 call cpBCDE 74 D1:B2BC C1 - - - pop bc 75 D1:B2BD 38 2A - - jr c, fshvarcpyOOBException 76 D1:B2BF C5 - - - push bc 77 D1:B2C0 01 40 00 00 ld bc, FshVarsSize / 2 78 D1:B2C4 CD 7F A9 D1 call cpHLBC 79 D1:B2C8 C1 - - - pop bc 80 D1:B2C9 30 1E - - jr nc, fshvarcpyOOBException 81 D1:B2CB D5 - - - push de 82 D1:B2CC E5 - - - push hl 83 D1:B2CD 01 40 00 00 ld bc, FshVarsSize / 2 84 D1:B2D1 CD 84 A9 D1 call cpBCDE 85 D1:B2D5 38 12 - - jr c, fshvarcpyOOBException 86 D1:B2D7 01 1F EA D0 ld bc, FshVars 87 D1:B2DB 29 - - - add hl, hl 88 D1:B2DC 09 - - - add hl, bc 89 D1:B2DD EB - - - ex de, hl 90 D1:B2DE 29 - - - add hl, hl 91 D1:B2DF 09 - - - add hl, bc 92 D1:B2E0 1A - - - ld a, (de) 93 D1:B2E1 77 - - - ld (hl), a 94 D1:B2E2 13 - - - inc de 95 D1:B2E3 23 - - - inc hl 96 D1:B2E4 1A - - - ld a, (de) 97 D1:B2E5 77 - - - ld (hl), a 98 D1:B2E6 E1 - - - pop hl 99 D1:B2E7 D1 - - - pop de 100 D1:B2E8 C9 - - - ret 101 D1:B2E9 - - - - 102 D1:B2E9 - - - - fshvarcpyOOBException: 103 D1:B2E9 E5 - - - push hl 104 D1:B2EA 21 A2 B3 D1 ld hl, ErrOutOfBoundso 105 D1:B2EE CD 5D B3 D1 call ErrSet 106 D1:B2F2 E1 - - - pop hl 107 D1:B2F3 C9 - - - ret 108 D1:B2F4 - - - - 109 D1:B2F4 - - - - ;;fshvarreset 110 D1:B2F4 - - - - ;;Fills fshvars with $00 111 D1:B2F4 - - - - fshvarreset: 112 D1:B2F4 E5 - - - push hl 113 D1:B2F5 C5 - - - push bc 114 D1:B2F6 D5 - - - push de 115 D1:B2F7 06 00 - - ld b, 0 116 D1:B2F9 11 00 00 00 ld de, 0 117 D1:B2FD 21 00 00 00 ld hl, 0 118 D1:B301 - - - - fshvarfillLoop: 119 D1:B301 CD 60 B2 D1 call fshvarset 120 D1:B305 04 - - - inc b 121 D1:B306 13 - - - inc de 122 D1:B307 78 - - - ld a, b 123 D1:B308 FE 40 - - cp FshVarsSize / 2 124 D1:B30A 38 F5 - - jr c, fshvarfillLoop 125 D1:B30C D1 - - - pop de 126 D1:B30D C1 - - - pop bc 127 D1:B30E E1 - - - pop hl 128 D1:B30F C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/fsh.inc" 4 D1:B310 - - - - #include "includes/lib/fsh/Err.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/Err.asm" 1 D1:B310 - - - - ;;ErrCatch 2 D1:B310 - - - - ;;Checks err bit and jp to err route 3 D1:B310 - - - - ErrCatch: 4 D1:B310 C1 - - - pop bc 5 D1:B311 E5 - - - push hl 6 D1:B312 21 79 A9 D1 ld hl, FshFlags 7 D1:B316 CB 4E - - bit 1, (hl) 8 D1:B318 E1 - - - pop hl 9 D1:B319 C2 1F B3 D1 jp nz, ErrRoute 10 D1:B31D C5 - - - push bc 11 D1:B31E C9 - - - ret 12 D1:B31F - - - - 13 D1:B31F - - - - ;;ErrRoute 14 D1:B31F - - - - ;;Routes err codes. 15 D1:B31F - - - - ErrRoute: 16 D1:B31F - - - - 17 D1:B31F 21 79 A9 D1 ld hl, FshFlags 18 D1:B323 CB 8E - - res 1, (hl) 19 D1:B325 - - - - 20 D1:B325 21 CE EA D0 ld hl, FshCmdErrCode 21 D1:B329 - - - - 22 D1:B329 11 6C B3 D1 ld de, ErrCmdNotFoundo 23 D1:B32D CD 42 AA D1 call bytecmp 24 D1:B331 CA 6D B3 D1 jp z, ErrCmdNotFoundf 25 D1:B335 - - - - 26 D1:B335 11 A2 B3 D1 ld de, ErrOutOfBoundso 27 D1:B339 CD 42 AA D1 call bytecmp 28 D1:B33D CA A3 B3 D1 jp z, ErrOutOfBoundsf 29 D1:B341 - - - - 30 D1:B341 11 C8 B3 D1 ld de, ErrArgso 31 D1:B345 CD 42 AA D1 call bytecmp 32 D1:B349 CA C9 B3 D1 jp z, ErrArgsf 33 D1:B34D - - - - 34 D1:B34D 11 F2 B3 D1 ld de, ErrUsageo 35 D1:B351 CD 42 AA D1 call bytecmp 36 D1:B355 CA F3 B3 D1 jp z, ErrUsagef 37 D1:B359 - - - - 38 D1:B359 C3 1E B4 D1 jp ErrDefault 39 D1:B35D - - - - 40 D1:B35D - - - - 41 D1:B35D - - - - ;;ErrSet 42 D1:B35D - - - - ;;Sets all things relating to Err codes 43 D1:B35D - - - - ;;Inputs: 44 D1:B35D - - - - ;; HL: Err_____o 45 D1:B35D - - - - ErrSet: 46 D1:B35D E5 - - - push hl 47 D1:B35E 7E - - - ld a, (hl) 48 D1:B35F 21 CE EA D0 ld hl, FshCmdErrCode 49 D1:B363 77 - - - ld (hl), a 50 D1:B364 21 79 A9 D1 ld hl, FshFlags 51 D1:B368 CB CE - - set 1, (hl) 52 D1:B36A E1 - - - pop hl 53 D1:B36B C9 - - - ret 54 D1:B36C - - - - 55 D1:B36C - - - - ;;ERR FUNCS------------------- 56 D1:B36C - - - - 57 D1:B36C 01 - - - ErrCmdNotFoundo: .db $01 58 D1:B36D - - - - ErrCmdNotFoundf: 59 D1:B36D 21 9F EA D0 ld hl, FshCmd 60 D1:B371 7E - - - ld a, (hl) 61 D1:B372 FE 00 - - cp $00 62 D1:B374 CA DF A8 D1 jp z, Fin 63 D1:B378 21 90 B3 D1 ld hl, ErrCmdNotFoundt 64 D1:B37C CD C0 07 02 call _PutS 65 D1:B380 21 9F EA D0 ld hl, FshCmd 66 D1:B384 CD C0 07 02 call _PutS 67 D1:B388 CD F0 07 02 call _NewLine 68 D1:B38C C3 DF A8 D1 jp Fin 69 D1:B390 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:B3A2 - - - - 71 D1:B3A2 02 - - - ErrOutOfBoundso: .db $02 72 D1:B3A3 - - - - ErrOutOfBoundsf: 73 D1:B3A3 21 B3 B3 D1 ld hl, ErrOutOfBoundst 74 D1:B3A7 CD C0 07 02 call _PutS 75 D1:B3AB CD F0 07 02 call _NewLine 76 D1:B3AF C3 DF A8 D1 jp Fin 77 D1:B3B3 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:B3C8 - - - - 79 D1:B3C8 03 - - - ErrArgso: .db $03 80 D1:B3C9 - - - - ErrArgsf: 81 D1:B3C9 21 D9 B3 D1 ld hl, ErrArgst 82 D1:B3CD CD C0 07 02 call _PutS 83 D1:B3D1 CD F0 07 02 call _NewLine 84 D1:B3D5 C3 DF A8 D1 jp Fin 85 D1:B3D9 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:B3F2 - - - - 87 D1:B3F2 04 - - - ErrUsageo: .db $04 88 D1:B3F3 - - - - ErrUsagef: 89 D1:B3F3 21 0F B4 D1 ld hl, ErrUsaget 90 D1:B3F7 CD C0 07 02 call _PutS 91 D1:B3FB 21 9F EA D0 ld hl, FshCmd 92 D1:B3FF CD 9C B7 D1 call manrouteu 93 D1:B403 CD C0 07 02 call _PutS 94 D1:B407 CD F0 07 02 call _NewLine 95 D1:B40B C3 DF A8 D1 jp Fin 96 D1:B40F 65 72 72 6F 72 3A 20 55 73 61 67 65 3A 20 00 - ErrUsaget: .db "error: Usage: ", 0 97 D1:B41E - - - - 98 D1:B41E - - - - ErrDefault: 99 D1:B41E 21 2A B4 D1 ld hl, ErrDefaultt 100 D1:B422 CD C0 07 02 call _PutS 101 D1:B426 C3 FF A8 D1 jp Exit 102 D1:B42A 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 "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/fsh.inc" 5 D1:B43F - - - - #include "includes/lib/fsh/Print.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/Print.asm" 1 D1:B43F - - - - ;;printfshnamelong 2 D1:B43F - - - - ;;prints Name + Varsv + Version to screen 3 D1:B43F - - - - printfshnamelong: 4 D1:B43F E5 - - - push hl 5 D1:B440 21 09 A9 D1 ld hl, FshName 6 D1:B444 CD C0 07 02 call _PutS 7 D1:B448 3E 20 - - ld a, ' ' 8 D1:B44A CD B8 07 02 call _PutC 9 D1:B44E 21 3E A9 D1 ld hl, FshVVars 10 D1:B452 CD C0 07 02 call _PutS 11 D1:B456 3E 20 - - ld a, ' ' 12 D1:B458 CD B8 07 02 call _PutC 13 D1:B45C 3E 76 - - ld a, 'v' 14 D1:B45E CD B8 07 02 call _PutC 15 D1:B462 21 42 A9 D1 ld hl, FshVMajor 16 D1:B466 CD C0 07 02 call _PutS 17 D1:B46A 21 4C A9 D1 ld hl, FshVSeparator 18 D1:B46E CD C0 07 02 call _PutS 19 D1:B472 21 44 A9 D1 ld hl, FshVMinor 20 D1:B476 CD C0 07 02 call _PutS 21 D1:B47A 21 4C A9 D1 ld hl, FshVSeparator 22 D1:B47E CD C0 07 02 call _PutS 23 D1:B482 21 46 A9 D1 ld hl, FshVPatch 24 D1:B486 CD C0 07 02 call _PutS 25 D1:B48A 3E 20 - - ld a, ' ' 26 D1:B48C CD B8 07 02 call _PutC 27 D1:B490 21 48 A9 D1 ld hl, FshVBuild 28 D1:B494 CD C0 07 02 call _PutS 29 D1:B498 E1 - - - pop hl 30 D1:B499 C9 - - - ret 31 D1:B49A - - - - 32 D1:B49A - - - - ;;printmotd 33 D1:B49A - - - - ;;prints the motd to screen 34 D1:B49A - - - - printmotd: 35 D1:B49A CD 3F B4 D1 call printfshnamelong 36 D1:B49E CD F0 07 02 call _NewLine 37 D1:B4A2 CD F0 07 02 call _NewLine 38 D1:B4A6 21 4E A9 D1 ld hl, FshMotd2nd 39 D1:B4AA CD C0 07 02 call _PutS 40 D1:B4AE CD F0 07 02 call _NewLine 41 D1:B4B2 21 64 A9 D1 ld hl, FshMotdHelp 42 D1:B4B6 CD C0 07 02 call _PutS 43 D1:B4BA CD F0 07 02 call _NewLine 44 D1:B4BE C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/fsh.inc" 6 D1:B4BF - - - - #include "includes/lib/fsh/Draw.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/Draw.asm" 1 D1:B4BF - - - - ;;drawstatusbar 2 D1:B4BF - - - - ;;draws the FSH status bar 3 D1:B4BF - - - - drawstatusbar: 4 D1:B4BF - - - - ;rgbto565(84, 84, 84) 5 D1:B4BF 21 AA 52 00 ld hl, $52AA 6 D1:B4C3 3E 00 - - ld a, 0 7 D1:B4C5 01 1E 00 00 ld bc, 30 8 D1:B4C9 CD 7F AB D1 call drawbar 9 D1:B4CD - - - - ;rgbto565(0, 159, 209) 10 D1:B4CD 21 FA 04 00 ld hl, $04FA 11 D1:B4D1 - - - - ;ld hl, %1111100000000000 12 D1:B4D1 EB DD 6B DD 62 EB 21 02 00 00 11 00 00 00 01 00 00 00 0E 00 3E 1E CD 94 AB D1 - - drawrectfilledM(0, 0, 2, 30) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/Draw.asm" 13 D1:B4EB CD 2A B5 D1 call drawbatteryind 14 D1:B4EF - - - - ;draw name 15 D1:B4EF FD CB 32 D6 set fracDrawLFont, (iy + fontFlags) 16 D1:B4F3 3E 06 - - ld a, 6 17 D1:B4F5 32 D5 08 D0 ld (penRow), a 18 D1:B4F9 21 07 00 00 ld hl, 7 19 D1:B4FD 22 D2 08 D0 ld (penCol), hl 20 D1:B501 21 AA 52 00 ld hl, $52AA 21 D1:B505 22 AA 26 D0 ld (drawBGcolor), hl 22 D1:B509 21 FF FF 00 ld hl, $ffff 23 D1:B50D 22 AC 26 D0 ld (drawFGcolor), hl 24 D1:B511 21 09 A9 D1 ld hl, FshName 25 D1:B515 CD 34 08 02 call _VPutS 26 D1:B519 21 FF FF 00 ld hl, $ffff 27 D1:B51D 22 AA 26 D0 ld (drawBGcolor), hl 28 D1:B521 21 00 00 00 ld hl, $0000 29 D1:B525 22 AC 26 D0 ld (drawFGcolor), hl 30 D1:B529 C9 - - - ret 31 D1:B52A - - - - 32 D1:B52A - - - - drawbatteryind: 33 D1:B52A CD 50 1A 02 call _DrawBatteryIndicator 34 D1:B52E C9 - - - ret 35 D1:B52F - - - - 36 D1:B52F - - - - 37 D1:B52F - - - - updatestatusbar: 38 D1:B52F CD 2A B5 D1 call drawbatteryind 39 D1:B533 C9 - - - ret Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/fsh.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/lib.inc" 3 D1:B534 - - - - #include "includes/lib/prgm/prgm.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/prgm/prgm.inc" 1 D1:B534 - - - - #include "includes/lib/prgm/Prgm.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/prgm/Prgm.asm" 1 D1:B534 - - - - #define prgmmovsize prgmmov_end - prgmmov_start 2 D1:B534 - - - - 3 D1:B534 - - - - prgmrun: 4 D1:B534 CD 28 08 02 call _HomeUp 5 D1:B538 CD 44 08 02 call _RunIndicOn 6 D1:B53C CD 44 11 02 call _APDSetup 7 D1:B540 CD 38 11 02 call _EnableAPD 8 D1:B544 C3 D5 EE D0 jp prgmloader 9 D1:B548 - - - - 10 D1:B548 - - - - prgminstallload: 11 D1:B548 21 57 B5 D1 ld hl, prgmloader_start 12 D1:B54C 11 D5 EE D0 ld de, SafeSScreen 13 D1:B550 01 3E 01 00 ld bc, prgmmovsize 14 D1:B554 ED B0 - - ldir 15 D1:B556 C9 - - - ret 16 D1:B557 - - - - 17 D1:B557 - - - - prgmloader_start: 18 D1:B557 - - - - relocate(SafeSScreen) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/prgm/Prgm.asm" 19 D0:EED5 - - - - 20 D0:EED5 - - - - prgmmov_start: 21 D0:EED5 - - - - prgmmov: 22 D0:EED5 - - - - 23 D0:EED5 - - - - prgmloader: 24 D0:EED5 CD DA EF D0 call prgm_del_usermem; now we deleted ourselves. cool. 25 D0:EED9 - - - - 26 D0:EED9 CD 74 03 00 call _boot_ClearVRAM 27 D0:EEDD - - - - ;ld a,$2D 28 D0:EEDD - - - - ;ld (mpLcdCtrl),a ; Set LCD to 16bpp 29 D0:EEDD CD 3C 1A 02 call _DrawStatusBar 30 D0:EEE1 - - - - ;ld hl,(prgmNamePtr) 31 D0:EEE1 - - - - ;call NamePtrToOP1 32 D0:EEE1 CD 96 EF D0 call prgm_to_usermem 33 D0:EEE5 21 81 A8 D1 ld hl, userMem 34 D0:EEE9 23 - - - inc hl 35 D0:EEEA 23 - - - inc hl 36 D0:EEEB 7E - - - ld a, (hl) 37 D0:EEEC FE EF - - cp a,tExtTok 38 D0:EEEE 28 11 - - jr z, runBasicProgram ; is it a basic program 39 D0:EEF0 21 6B EF D0 ld hl, prgmunloader;ErrCatchBASIC 40 D0:EEF4 CD 98 07 02 call _PushErrorHandler 41 D0:EEF8 21 6B EF D0 ld hl, prgmunloader 42 D0:EEFC E5 - - - push hl 43 D0:EEFD C3 81 A8 D1 jp userMem ; simply call userMem to execute the program 44 D0:EF01 - - - - 45 D0:EF01 - - - - runBasicProgram: 46 D0:EF01 CD 44 08 02 call _RunIndicOn 47 D0:EF05 - - - - ;call DeleteTempProgramGetName 48 D0:EF05 - - - - ;ld hl,(asm_prgm_size);actualSizePrgm) 49 D0:EF05 - - - - ;push hl 50 D0:EF05 - - - - ;call _CreateProg ; create a temp program so we can execute 51 D0:EF05 - - - - ;inc de 52 D0:EF05 - - - - ;inc de 53 D0:EF05 - - - - ;pop bc 54 D0:EF05 - - - - ;call _ChkBCIs0 55 D0:EF05 - - - - ;jr z,InROM ; there's nothing to copy 56 D0:EF05 - - - - ;ld hl,(userMem) 57 D0:EF05 - - - - ;ldi 58 D0:EF05 - - - - ;jp po,InROM 59 D0:EF05 - - - - ;ldir 60 D0:EF05 - - - - InROM: ;call _OP4ToOP1 61 D0:EF05 - - - - GoodInRAM: 62 D0:EF05 - - - - ;ld de,apperr1 63 D0:EF05 - - - - ;ld hl,StopError 64 D0:EF05 - - - - ;ld bc,StopErrorEnd-StopError 65 D0:EF05 - - - - ;ldir 66 D0:EF05 FD CB 03 C6 set graphdraw,(iy+graphFlags) 67 D0:EF09 21 31 EF D0 ld hl,ErrCatchBASIC 68 D0:EF0D CD 98 07 02 call _PushErrorHandler 69 D0:EF11 FD CB 08 CE set progExecuting,(iy+newdispf) 70 D0:EF15 FD CB 08 CE set allowProgTokens,(iy+newDispF) 71 D0:EF19 FD CB 0C F6 set cmdExec,(iy+cmdFlags) ;settheseflagsto execute BASIC prgm 72 D0:EF1D FD CB 09 A6 res onInterrupt,(iy+onflags) 73 D0:EF21 21 6B EF D0 ld hl, prgmunloader 74 D0:EF25 E5 - - - push hl 75 D0:EF26 97 - - - sub a,a 76 D0:EF27 32 8D 05 D0 ld (kbdGetKy),a 77 D0:EF2B FB - - - ei 78 D0:EF2C 76 - - - halt 79 D0:EF2D C3 00 0F 02 jp _ParseInp ; run program 80 D0:EF31 - - - - 81 D0:EF31 - - - - 82 D0:EF31 - - - - ErrCatchBASIC: 83 D0:EF31 CD 74 03 00 call _boot_ClearVRAM 84 D0:EF35 CD 3C 1A 02 call _DrawStatusBar 85 D0:EF39 CD 10 0E 02 call _DispErrorScreen 86 D0:EF3D FD CB 05 DE set textInverse, (iy + textFlags) 87 D0:EF41 21 01 00 00 ld hl,1 88 D0:EF45 22 95 05 D0 ld (curRow),hl 89 D0:EF49 21 63 EF D0 ld hl,QuitStr1 90 D0:EF4D CD C0 07 02 call _PutS 91 D0:EF51 FD CB 05 9E res textInverse, (iy + textFlags) 92 D0:EF55 21 66 EF D0 ld hl,QuitStr2 93 D0:EF59 CD C0 07 02 call _PutS 94 D0:EF5D CD 8C 0D 02 call _GetKey 95 D0:EF61 18 0C - - jr +_ 96 D0:EF63 - - - - 97 D0:EF63 31 3A 00 - QuitStr1: .db "1:",0 98 D0:EF66 51 75 69 74 00 - - - QuitStr2: .db "Quit",0 99 D0:EF6B - - - - 100 D0:EF6B - - - - 101 D0:EF6B - - - - prgmunloader: 102 D0:EF6B CD 9C 07 02 call _PopErrorHandler 103 D0:EF6F 21 0C F0 D0 _: ld hl, prgmFsh 104 D0:EF73 CD 20 03 02 call _Mov9ToOP1 105 D0:EF77 CD 0C 05 02 call _ChkFindSym 106 D0:EF7B CD 98 1F 02 call _ChkInRam 107 D0:EF7F EB - - - ex de,hl 108 D0:EF80 28 08 - - jr z,ExistsInRAM 109 D0:EF82 11 09 00 00 ld de,9 110 D0:EF86 19 - - - add hl,de 111 D0:EF87 5E - - - ld e,(hl) 112 D0:EF88 19 - - - add hl,de 113 D0:EF89 23 - - - inc hl 114 D0:EF8A - - - - ExistsInRAM: ; HL->totalPrgmSize bytes 115 D0:EF8A CD 96 EF D0 call prgm_to_usermem 116 D0:EF8E CD 48 08 02 call _RunIndicOff 117 D0:EF92 C3 81 A8 D1 jp userMem 118 D0:EF96 - - - - 119 D0:EF96 - - - - prgm_to_usermem: 120 D0:EF96 3E 09 - - ld a, 09h ; 'add hl,bc' 121 D0:EF98 32 D6 EF D0 ld (offset_SMC),a 122 D0:EF9C CD 0C 05 02 call _ChkFindSym 123 D0:EFA0 CD 98 1F 02 call _ChkInRam 124 D0:EFA4 EB - - - ex de,hl 125 D0:EFA5 28 0D - - jr z,AlreadyInRAM 126 D0:EFA7 AF - - - xor a,a 127 D0:EFA8 32 D6 EF D0 ld (offset_SMC),a 128 D0:EFAC 11 09 00 00 ld de,9 129 D0:EFB0 19 - - - add hl,de 130 D0:EFB1 5E - - - ld e,(hl) 131 D0:EFB2 19 - - - add hl,de 132 D0:EFB3 23 - - - inc hl 133 D0:EFB4 - - - - AlreadyInRAM: ; HL->totalPrgmSize bytes 134 D0:EFB4 CD 9C 1D 02 call _LoadDEInd_s 135 D0:EFB8 23 - - - inc hl 136 D0:EFB9 23 - - - inc hl ; bypass bytes $EF,$7B (texttok,tasm84cecmp) 137 D0:EFBA E5 - - - push hl 138 D0:EFBB D5 - - - push de 139 D0:EFBC EB - - - ex de,hl 140 D0:EFBD CD 2C 07 02 call _ErrNotEnoughMem; check and see if we have enough memory left for this operation 141 D0:EFC1 E1 - - - pop hl 142 D0:EFC2 22 8C 11 D0 ld (asm_prgm_size),hl; store the totalPrgmSize of the program to asm_prgm_size for later use 143 D0:EFC6 11 81 A8 D1 ld de,userMem 144 D0:EFCA D5 - - - push de 145 D0:EFCB CD 14 05 02 call _InsertMem ; insert memory into the userspace 146 D0:EFCF D1 - - - pop de 147 D0:EFD0 E1 - - - pop hl ; HL->start of program 148 D0:EFD1 ED 4B 8C 11 D0 - - - ld bc,(asm_prgm_size) ; load totalPrgmSize of current program 149 D0:EFD6 - - - - offset_SMC: 150 D0:EFD6 09 - - - add hl,bc ; if in ram, do this; otherwise, smc it so it doesn't execute 151 D0:EFD7 ED B0 - - ldir ; copy the program to userMem 152 D0:EFD9 C9 - - - ret ; return 153 D0:EFDA - - - - 154 D0:EFDA - - - - prgm_del_usermem: 155 D0:EFDA ED 5B 8C 11 D0 - - - ld de,(asm_prgm_size) ; load total program totalPrgmSize 156 D0:EFDF B7 - - - or a,a 157 D0:EFE0 ED 62 - - sbc hl,hl 158 D0:EFE2 22 8C 11 D0 ld (asm_prgm_size),hl ; delete whatever current program was there 159 D0:EFE6 21 81 A8 D1 ld hl,userMem 160 D0:EFEA C3 90 05 02 jp _DelMem ; HL->place to delete, DE=amount to delete 161 D0:EFEE - - - - 162 D0:EFEE - - - - DeleteTempProgramGetName: 163 D0:EFEE 21 06 F0 D0 ld hl,tmpPrgmName 164 D0:EFF2 CD 20 03 02 call _Mov9ToOP1 165 D0:EFF6 CD 28 06 02 call _PushOP1 166 D0:EFFA CD 0C 05 02 call _ChkFindSym 167 D0:EFFE D4 34 14 02 call nc,_DelVarArc ; delete the temp prgm if it exists 168 D0:F002 C3 C4 05 02 jp _PopOP1 169 D0:F006 - - - - 170 D0:F006 - - - - prgmattributes: 171 D0:F006 - - - - 172 D0:F006 - - - - 173 D0:F006 - - - - 174 D0:F006 16 5A 54 47 50 00 - - tmpPrgmName: .db tempProgObj,"ZTGP",0 175 D0:F00C 05 46 53 48 41 00 - - prgmFsh: .db ProgObj, "FSHA", 0 176 D0:F012 00 - - - prgmFlags: .db $00 ;basic 177 D0:F013 - - - - #define isasm equ 0 178 D0:F013 - - - - #define isbasic equ 1 179 D0:F013 - - - - #define isice equ 2 180 D0:F013 - - - - prgmmov_end: 181 D0:F013 - - - - endrelocate() Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/prgm/prgm.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/lib.inc" 4 D1:B695 - - - - #include "includes/lib/crypto/crypto.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/crypto.inc" 1 D1:B695 - - - - #include "includes/lib/crypto/Rot.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/Rot.asm" 1 D1:B695 - - - - ;;rotletencrypt 2 D1:B695 - - - - ;;Encrypts a string in rot-n (uses $41 to $5B) 3 D1:B695 - - - - ;;Inputs: 4 D1:B695 - - - - ;; HL: string pointer 5 D1:B695 - - - - ;; A: rot-n 6 D1:B695 - - - - ;;Notes: 7 D1:B695 - - - - ;; Changes string in place. 8 D1:B695 - - - - rotletencrypt: 9 D1:B695 E5 - - - push hl 10 D1:B696 C5 - - - push bc 11 D1:B697 - - - - rotletencryptMod: 12 D1:B697 E5 - - - push hl 13 D1:B698 67 - - - ld h, a 14 D1:B699 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 15 D1:B69B CD A6 A9 D1 call modHL 16 D1:B69F 44 - - - ld b, h 17 D1:B6A0 E1 - - - pop hl 18 D1:B6A1 - - - - rotletencryptLoop: 19 D1:B6A1 7E - - - ld a, (hl) 20 D1:B6A2 FE 00 - - cp a, $00 21 D1:B6A4 28 0F - - jr z, rotletencryptEnd 22 D1:B6A6 FE 20 - - cp a, ' ' 23 D1:B6A8 28 07 - - jr z, rotletencryptLD 24 D1:B6AA 80 - - - add a, b 25 D1:B6AB FE 5C - - cp a, 'Z' + 2 26 D1:B6AD 38 02 - - jr c , rotletencryptLD 27 D1:B6AF D6 1B - - sub a, 'Z' + 2 - 'A' 28 D1:B6B1 - - - - rotletencryptLD: 29 D1:B6B1 77 - - - ld (hl), a 30 D1:B6B2 23 - - - inc hl 31 D1:B6B3 18 EC - - jr rotletencryptLoop 32 D1:B6B5 - - - - rotletencryptEnd: 33 D1:B6B5 36 00 - - ld (hl), $00 34 D1:B6B7 C1 - - - pop bc 35 D1:B6B8 E1 - - - pop hl 36 D1:B6B9 C9 - - - ret 37 D1:B6BA - - - - 38 D1:B6BA - - - - ;;rotletdecrypt 39 D1:B6BA - - - - ;;Decrypts a string in rot-n (uses $41 to $5B) 40 D1:B6BA - - - - ;;Inputs: 41 D1:B6BA - - - - ;; HL: string pointer 42 D1:B6BA - - - - ;; A: rot-n 43 D1:B6BA - - - - ;;Notes: 44 D1:B6BA - - - - ;; Changes string in place. 45 D1:B6BA - - - - rotletdecrypt: 46 D1:B6BA E5 - - - push hl 47 D1:B6BB C5 - - - push bc 48 D1:B6BC - - - - rotletdecryptMod: 49 D1:B6BC E5 - - - push hl 50 D1:B6BD 67 - - - ld h, a 51 D1:B6BE 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 52 D1:B6C0 CD A6 A9 D1 call modHL 53 D1:B6C4 44 - - - ld b, h 54 D1:B6C5 E1 - - - pop hl 55 D1:B6C6 - - - - rotletdecryptLoop: 56 D1:B6C6 7E - - - ld a, (hl) 57 D1:B6C7 FE 00 - - cp a, $00 58 D1:B6C9 28 0F - - jr z, rotletdecryptEnd 59 D1:B6CB FE 20 - - cp a, ' ' 60 D1:B6CD 28 07 - - jr z, rotletdecryptLD 61 D1:B6CF 90 - - - sub a, b 62 D1:B6D0 FE 41 - - cp a, 'A' 63 D1:B6D2 30 02 - - jr nc , rotletdecryptLD 64 D1:B6D4 C6 1B - - add a, 'Z' + 2 - 'A' 65 D1:B6D6 - - - - rotletdecryptLD: 66 D1:B6D6 77 - - - ld (hl), a 67 D1:B6D7 23 - - - inc hl 68 D1:B6D8 18 EC - - jr rotletdecryptLoop 69 D1:B6DA - - - - rotletdecryptEnd: 70 D1:B6DA 36 00 - - ld (hl), $00 71 D1:B6DC C1 - - - pop bc 72 D1:B6DD E1 - - - pop hl 73 D1:B6DE C9 - - - ret 74 D1:B6DF - - - - 75 D1:B6DF - - - - ;;rotasciiencrypt 76 D1:B6DF - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) 77 D1:B6DF - - - - ;;Inputs: 78 D1:B6DF - - - - ;; HL: string pointer 79 D1:B6DF - - - - ;; A: x 80 D1:B6DF - - - - ;;Notes: 81 D1:B6DF - - - - ;; Changes string in place. 82 D1:B6DF - - - - rotasciiencrypt: 83 D1:B6DF E5 - - - push hl 84 D1:B6E0 C5 - - - push bc 85 D1:B6E1 0E 00 - - ld c, 0 86 D1:B6E3 4F - - - ld c, a 87 D1:B6E4 - - - - rotasciiencryptLoop: 88 D1:B6E4 7E - - - ld a, (hl) 89 D1:B6E5 FE 00 - - cp 0 90 D1:B6E7 28 13 - - jr z, rotasciiencryptEnd 91 D1:B6E9 81 - - - add a, c 92 D1:B6EA FE 00 - - cp 0 93 D1:B6EC 20 01 - - jr nz, rotasciiencryptLd 94 D1:B6EE 3C - - - inc a 95 D1:B6EF - - - - rotasciiencryptLd: 96 D1:B6EF 77 - - - ld (hl), a 97 D1:B6F0 23 - - - inc hl 98 D1:B6F1 FE EF - - cp a, $EF 99 D1:B6F3 38 EF - - jr c, rotasciiencryptLoop 100 D1:B6F5 2B - - - dec hl 101 D1:B6F6 D6 0F - - sub a, $0F 102 D1:B6F8 77 - - - ld (hl), a 103 D1:B6F9 23 - - - inc hl 104 D1:B6FA 18 E8 - - jr rotasciiencryptLoop 105 D1:B6FC - - - - rotasciiencryptEnd: 106 D1:B6FC 36 00 - - ld (hl), $00 107 D1:B6FE C1 - - - pop bc 108 D1:B6FF E1 - - - pop hl 109 D1:B700 C9 - - - ret 110 D1:B701 - - - - 111 D1:B701 - - - - ;;rotasciidecrypt 112 D1:B701 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) 113 D1:B701 - - - - ;;Inputs: 114 D1:B701 - - - - ;; HL: string pointer 115 D1:B701 - - - - ;; A: x 116 D1:B701 - - - - ;;Notes: 117 D1:B701 - - - - ;; Changes string in place. 118 D1:B701 - - - - rotasciidecrypt: 119 D1:B701 E5 - - - push hl 120 D1:B702 C5 - - - push bc 121 D1:B703 0E 00 - - ld c, 0 122 D1:B705 4F - - - ld c, a 123 D1:B706 - - - - rotasciidecryptLoop: 124 D1:B706 7E - - - ld a, (hl) 125 D1:B707 FE 00 - - cp 0 126 D1:B709 28 13 - - jr z, rotasciidecryptEnd 127 D1:B70B 91 - - - sub a, c 128 D1:B70C FE 00 - - cp 0 129 D1:B70E 20 01 - - jr nz, rotasciidecryptLd 130 D1:B710 3D - - - dec a 131 D1:B711 - - - - rotasciidecryptLd: 132 D1:B711 77 - - - ld (hl), a 133 D1:B712 23 - - - inc hl 134 D1:B713 FE EF - - cp a, $EF 135 D1:B715 38 EF - - jr c, rotasciidecryptLoop 136 D1:B717 2B - - - dec hl 137 D1:B718 C6 0F - - add a, $0F 138 D1:B71A 77 - - - ld (hl), a 139 D1:B71B 23 - - - inc hl 140 D1:B71C 18 E8 - - jr rotasciidecryptLoop 141 D1:B71E - - - - rotasciidecryptEnd: 142 D1:B71E 36 00 - - ld (hl), $00 143 D1:B720 C1 - - - pop bc 144 D1:B721 E1 - - - pop hl 145 D1:B722 C9 - - - ret 146 D1:B723 - - - - Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/crypto.inc" 2 D1:B723 - - - - #include "includes/lib/crypto/Xor.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/Xor.asm" 1 D1:B723 - - - - ;;xorcrypt 2 D1:B723 - - - - ;;crypts a string using xor 3 D1:B723 - - - - ;;Inputs: 4 D1:B723 - - - - ;; HL: string pointer 5 D1:B723 - - - - ;; DE: seed pointer (shorter) 6 D1:B723 - - - - ;;Notes: 7 D1:B723 - - - - ;; Changes string in place. 8 D1:B723 - - - - xorcrypt: 9 D1:B723 E5 - - - push hl 10 D1:B724 D5 - - - push de 11 D1:B725 C5 - - - push bc 12 D1:B726 CD 48 AC D1 call strlen 13 D1:B72A D5 - - - push de 14 D1:B72B E5 - - - push hl 15 D1:B72C 21 00 00 00 ld hl, 0 16 D1:B730 60 - - - ld h, b 17 D1:B731 69 - - - ld l, c 18 D1:B732 EB - - - ex de, hl 19 D1:B733 CD 48 AC D1 call strlen 20 D1:B737 EB - - - ex de, hl 21 D1:B738 7D - - - ld a, l ;C = len(seed) l=len(string) 22 D1:B739 91 - - - sub a,c 23 D1:B73A D2 44 B7 D1 jp nc, xorcryptNSmaller 24 D1:B73E 0E 01 - - ld c, $01 25 D1:B740 3E 00 - - ld a, 0 26 D1:B742 2E 00 - - ld l, 0 27 D1:B744 - - - - xorcryptNSmaller: 28 D1:B744 0D - - - dec c 29 D1:B745 D2 4B B7 D1 jp nc, xorcryptNSmaller2 30 D1:B749 0E 00 - - ld c, 0 31 D1:B74B - - - - xorcryptNSmaller2: 32 D1:B74B 41 - - - ld b, c 33 D1:B74C 4D - - - ld c, l ;b=len(seed) c=len(string) 34 D1:B74D E1 - - - pop hl 35 D1:B74E B7 - - - or a, a 36 D1:B74F D1 - - - pop de 37 D1:B750 28 2C - - jr z, xorcryptEnd 38 D1:B752 D5 - - - push de 39 D1:B753 EB - - - ex de, hl; hl=seed 40 D1:B754 E1 - - - pop hl 41 D1:B755 C5 - - - push bc 42 D1:B756 D5 - - - push de 43 D1:B757 11 00 00 00 ld de, 0 44 D1:B75B 58 - - - ld e, b 45 D1:B75C 01 00 00 00 ld bc, 0 46 D1:B760 4B - - - ld c, e 47 D1:B761 09 - - - add hl, bc 48 D1:B762 D1 - - - pop de 49 D1:B763 C1 - - - pop bc 50 D1:B764 23 - - - inc hl 51 D1:B765 36 80 - - ld (hl), %10000000 52 D1:B767 C5 - - - push bc 53 D1:B768 05 - - - dec b 54 D1:B769 3E FF - - ld a, $FF 55 D1:B76B B8 - - - cp a, b 56 D1:B76C 28 0B - - jr z, xorcryptPadLoopEnd 57 D1:B76E 3E 00 - - ld a, $00 58 D1:B770 B8 - - - cp a, b 59 D1:B771 20 01 - - jr nz, xorcryptPadLoop 60 D1:B773 04 - - - inc b 61 D1:B774 - - - - xorcryptPadLoop: 62 D1:B774 23 - - - inc hl 63 D1:B775 36 65 - - ld (hl), 'e' 64 D1:B777 10 FB - - djnz xorcryptPadLoop 65 D1:B779 - - - - xorcryptPadLoopEnd: 66 D1:B779 C1 - - - pop bc 67 D1:B77A 70 - - - ld (hl), b 68 D1:B77B 23 - - - inc hl 69 D1:B77C 36 00 - - ld (hl), $00 70 D1:B77E - - - - xorcryptEnd: 71 D1:B77E C1 - - - pop bc 72 D1:B77F D1 - - - pop de 73 D1:B780 E1 - - - pop hl 74 D1:B781 - - - - ;push hl 75 D1:B781 - - - - ;xorcryptRandLoop: 76 D1:B781 - - - - ;ld a, (hl) 77 D1:B781 - - - - ;or a, a 78 D1:B781 - - - - ;jr z, xorcryptRandLoopEnd 79 D1:B781 - - - - ;call randomint 80 D1:B781 - - - - ;or a, a 81 D1:B781 - - - - ;jr nz, xorcryptRandLoopLD 82 D1:B781 - - - - ;ld a, '/' 83 D1:B781 - - - - ;xorcryptRandLoopLD: 84 D1:B781 - - - - ;ld (hl), a 85 D1:B781 - - - - ;inc hl 86 D1:B781 - - - - ;jr xorcryptRandLoop 87 D1:B781 - - - - ;xorcryptRandLoopEnd: 88 D1:B781 - - - - ;pop hl 89 D1:B781 CD 8B AD D1 call strxor 90 D1:B785 C9 - - - ret 91 D1:B786 - - - - Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/crypto.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/lib.inc" Listing for file "FSHa.asm" 74 D1:B786 - - - - 75 D1:B786 - - - - #include "includes/man-db.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/man-db.asm" 1 D1:B786 - - - - ;;TODO: move module specific macros to diffrent file 2 D1:B786 - - - - ;;manroute 3 D1:B786 - - - - ;;routes command string to discription 4 D1:B786 - - - - ;;Inputs: 5 D1:B786 - - - - ;; HL: Command String 6 D1:B786 - - - - ;;Outputs: 7 D1:B786 - - - - ;; HL: Command Discription String 8 D1:B786 - - - - manroute: 9 D1:B786 D5 - - - push de 10 D1:B787 - - - - #macro routestrjp(cmdXs, cmdXm) 11 D1:B787 ld de, cmdXs 12 D1:B787 call strcmp 13 D1:B787 ld de, cmdXm 14 D1:B787 jp z, manrouteReturn 15 D1:B787 #endmacro 16 D1:B787 - - - - 17 D1:B787 - - - - #macro subroutestrjp(cmdXs, cmdYs, cmdYm) 18 D1:B787 push hl 19 D1:B787 ld de, cmdXs 20 D1:B787 call strcmp 21 D1:B787 ld hl, 0 22 D1:B787 jr nz, +_ 23 D1:B787 ld hl, FshCmdArg1 24 D1:B787 _: 25 D1:B787 ld de, cmdYs 26 D1:B787 call strcmp 27 D1:B787 pop hl 28 D1:B787 ld de, cmdYm 29 D1:B787 jp z, manrouteReturn 30 D1:B787 #endmacro 31 D1:B787 - - - - 32 D1:B787 CD 43 B9 D1 call fshcmdmanroute 33 D1:B78B CD 95 C2 D1 call cryptocmdmanroute 34 D1:B78F - - - - ;Extention Point 35 D1:B78F - - - - 36 D1:B78F 21 CE EA D0 ld hl, FshCmdErrCode 37 D1:B793 36 01 - - ld (hl), $01 38 D1:B795 11 00 00 00 ld de, $00 39 D1:B799 - - - - manrouteReturn: 40 D1:B799 EB - - - ex de, hl 41 D1:B79A D1 - - - pop de 42 D1:B79B C9 - - - ret 43 D1:B79C - - - - 44 D1:B79C - - - - ;;manrouteu 45 D1:B79C - - - - ;;routes command string to usage 46 D1:B79C - - - - ;;Inputs: 47 D1:B79C - - - - ;; HL: Command String 48 D1:B79C - - - - ;;Outputs: 49 D1:B79C - - - - ;; HL: Command Usage String 50 D1:B79C - - - - manrouteu: 51 D1:B79C D5 - - - push de 52 D1:B79D - - - - #macro routeustrjp(cmdXs, cmdXu) 53 D1:B79D ld de, cmdXs 54 D1:B79D call strcmp 55 D1:B79D ld de, cmdXu 56 D1:B79D jp z, manrouteuReturn 57 D1:B79D #endmacro 58 D1:B79D - - - - 59 D1:B79D - - - - #macro subrouteustrjp(cmdXs, cmdYs, cmdYu) 60 D1:B79D push hl 61 D1:B79D ld de, cmdXs 62 D1:B79D call strcmp 63 D1:B79D ld hl, 0 64 D1:B79D jr nz, +_ 65 D1:B79D ld hl, FshCmdArg1 66 D1:B79D _: 67 D1:B79D ld de, cmdYs 68 D1:B79D call strcmp 69 D1:B79D pop hl 70 D1:B79D ld de, cmdYu 71 D1:B79D jp z, manrouteuReturn 72 D1:B79D #endmacro 73 D1:B79D - - - - 74 D1:B79D CD F6 B9 D1 call fshcmdmanrouteu 75 D1:B7A1 CD 90 C3 D1 call cryptocmdmanrouteu 76 D1:B7A5 - - - - ;Extention Point 77 D1:B7A5 - - - - 78 D1:B7A5 21 CE EA D0 ld hl, FshCmdErrCode 79 D1:B7A9 36 01 - - ld (hl), $01 80 D1:B7AB 11 00 00 00 ld de, $00 81 D1:B7AF - - - - manrouteuReturn: 82 D1:B7AF EB - - - ex de, hl 83 D1:B7B0 D1 - - - pop de 84 D1:B7B1 C9 - - - ret Listing for file "FSHa.asm" 76 D1:B7B2 - - - - #include "includes/Command.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Command.asm" 1 D1:B7B2 - - - - ;;Commanddecode 2 D1:B7B2 - - - - ;;Decodes all commands. 3 D1:B7B2 - - - - ;;Inputs: 4 D1:B7B2 - - - - ;; HL: Cmd String mem loc 5 D1:B7B2 - - - - ;; DE: Op code mem loc 6 D1:B7B2 - - - - ;;Output: 7 D1:B7B2 - - - - ;; Sets (DE) with command op code 8 D1:B7B2 - - - - commanddecode: 9 D1:B7B2 - - - - #macro decodecmdopt(cmdXs, cmdXo) 10 D1:B7B2 push hl 11 D1:B7B2 push de 12 D1:B7B2 ld de, cmdXs 13 D1:B7B2 call strcmp 14 D1:B7B2 ld hl, cmdXo 15 D1:B7B2 pop de 16 D1:B7B2 call z, wordcpy 17 D1:B7B2 pop hl 18 D1:B7B2 #endmacro 19 D1:B7B2 - - - - 20 D1:B7B2 CD DF B7 D1 call fshcmddecode 21 D1:B7B6 CD 51 C2 D1 call cryptocmddecode 22 D1:B7BA CD 06 CC D1 call prgmcmddecode 23 D1:B7BE - - - - ;Extention Point 24 D1:B7BE - - - - 25 D1:B7BE C9 - - - ret 26 D1:B7BF - - - - 27 D1:B7BF - - - - ;;commandroute 28 D1:B7BF - - - - ;;Routes all commamds. 29 D1:B7BF - - - - ;;Inputs: 30 D1:B7BF - - - - ;; HL: Op code mem loc 31 D1:B7BF - - - - commandroute: 32 D1:B7BF - - - - #macro routeoptjp(cmdXo, cmdXf) 33 D1:B7BF ld de, cmdXo 34 D1:B7BF call wordcmp 35 D1:B7BF jp z, cmdXf 36 D1:B7BF #endmacro 37 D1:B7BF - - - - 38 D1:B7BF CD BC B8 D1 call fshcmdroute 39 D1:B7C3 CD 7A C2 D1 call cryptocmdroute 40 D1:B7C7 CD 1B CC D1 call prgmcmdroute 41 D1:B7CB - - - - ;Extention Point 42 D1:B7CB - - - - 43 D1:B7CB 21 6C B3 D1 ld hl, ErrCmdNotFoundo 44 D1:B7CF 11 CE EA D0 ld de, FshCmdErrCode 45 D1:B7D3 CD 4A AA D1 call bytecpy 46 D1:B7D7 CD 5D B3 D1 call ErrSet 47 D1:B7DB C3 E7 A8 D1 jp Err 48 D1:B7DF - - - - 49 D1:B7DF - - - - #include "includes/FshCommands/FshCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommand.asm" 1 D1:B7DF - - - - fshcmddecode: 2 D1:B7DF E5 D5 11 A9 BA D1 CD 59 AC D1 21 AE BA D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdEXIT, fshcmdEXITo) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommand.asm" 3 D1:B7F3 E5 D5 11 C3 BA D1 CD 59 AC D1 21 C7 BA D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdSET, fshcmdSETo) 4 D1:B807 E5 D5 11 BB BB D1 CD 59 AC D1 21 C0 BB D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdCOPY, fshcmdCOPYo) 5 D1:B81B E5 D5 11 CA BC D1 CD 59 AC D1 21 CF BC D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdMOVE, fshcmdMOVEo) 6 D1:B82F E5 D5 11 E1 BD D1 CD 59 AC D1 21 E5 BD D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdCLS, fshcmdCLSo) 7 D1:B843 E5 D5 11 0E BE D1 CD 59 AC D1 21 12 BE D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo) 8 D1:B857 E5 D5 11 B1 BE D1 CD 59 AC D1 21 B6 BE D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdVARS, fshcmdVARSo) 9 D1:B86B E5 D5 11 22 BF D1 CD 59 AC D1 21 28 BF D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdSLEEP, fshcmdSLEEPo) 10 D1:B87F E5 D5 11 71 BF D1 CD 59 AC D1 21 76 BF D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdINFO, fshcmdINFOo) 11 D1:B893 E5 D5 11 14 C0 D1 CD 59 AC D1 21 19 C0 D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo) 12 D1:B8A7 E5 D5 11 68 C1 D1 CD 59 AC D1 21 6C C1 D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdMAN, fshcmdMANo) 13 D1:B8BB C9 - - - ret 14 D1:B8BC - - - - 15 D1:B8BC - - - - fshcmdroute: 16 D1:B8BC C1 - - - pop bc ;pop the ret loc from stack into bc 17 D1:B8BD 11 AE BA D1 CD 5E AA D1 CA BF BA D1 routeoptjp(fshcmdEXITo, fshcmdEXITf) 18 D1:B8C9 11 C7 BA D1 CD 5E AA D1 CA 06 BB D1 routeoptjp(fshcmdSETo, fshcmdSETf) 19 D1:B8D5 11 C0 BB D1 CD 5E AA D1 CA 1C BC D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf) 20 D1:B8E1 11 CF BC D1 CD 5E AA D1 CA 2A BD D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf) 21 D1:B8ED 11 E5 BD D1 CD 5E AA D1 CA FD BD D1 routeoptjp(fshcmdCLSo, fshcmdCLSf) 22 D1:B8F9 11 12 BE D1 CD 5E AA D1 CA 4A BE D1 routeoptjp(fshcmdVARo, fshcmdVARf) 23 D1:B905 11 B6 BE D1 CD 5E AA D1 CA D3 BE D1 routeoptjp(fshcmdVARSo, fshcmdVARSf) 24 D1:B911 11 28 BF D1 CD 5E AA D1 CA 5A BF D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf) 25 D1:B91D 11 76 BF D1 CD 5E AA D1 CA A3 BF D1 routeoptjp(fshcmdINFOo, fshcmdINFOf) 26 D1:B929 11 19 C0 D1 CD 5E AA D1 CA 36 C0 D1 routeoptjp(fshcmdHELPo, fshcmdHELPf) 27 D1:B935 11 6C C1 D1 CD 5E AA D1 CA 9A C1 D1 routeoptjp(fshcmdMANo, fshcmdMANf) 28 D1:B941 C5 - - - push bc ;put ret location back on stack 29 D1:B942 C9 - - - ret 30 D1:B943 - - - - 31 D1:B943 - - - - fshcmdmanroute: 32 D1:B943 C1 - - - pop bc 33 D1:B944 11 A9 BA D1 CD 59 AC D1 11 B0 BA D1 CA 99 B7 D1 routestrjp(fshcmdEXIT, fshCmdEXITm) 34 D1:B954 11 C3 BA D1 CD 59 AC D1 11 C9 BA D1 CA 99 B7 D1 routestrjp(fshcmdSET, fshCmdSETm) 35 D1:B964 11 BB BB D1 CD 59 AC D1 11 C2 BB D1 CA 99 B7 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm) 36 D1:B974 11 CA BC D1 CD 59 AC D1 11 D1 BC D1 CA 99 B7 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm) 37 D1:B984 11 E1 BD D1 CD 59 AC D1 11 E7 BD D1 CA 99 B7 D1 routestrjp(fshcmdCLS, fshCmdCLSm) 38 D1:B994 11 0E BE D1 CD 59 AC D1 11 14 BE D1 CA 99 B7 D1 routestrjp(fshcmdVAR, fshCmdVARm) 39 D1:B9A4 11 B1 BE D1 CD 59 AC D1 11 B8 BE D1 CA 99 B7 D1 routestrjp(fshcmdVARS, fshCmdVARSm) 40 D1:B9B4 11 22 BF D1 CD 59 AC D1 11 2A BF D1 CA 99 B7 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm) 41 D1:B9C4 11 71 BF D1 CD 59 AC D1 11 78 BF D1 CA 99 B7 D1 routestrjp(fshcmdINFO, fshCmdINFOm) 42 D1:B9D4 11 14 C0 D1 CD 59 AC D1 11 1B C0 D1 CA 99 B7 D1 routestrjp(fshcmdHELP, fshCmdHELPm) 43 D1:B9E4 11 68 C1 D1 CD 59 AC D1 11 6E C1 D1 CA 99 B7 D1 routestrjp(fshcmdMAN, fshCmdMANm) 44 D1:B9F4 C5 - - - push bc 45 D1:B9F5 C9 - - - ret 46 D1:B9F6 - - - - 47 D1:B9F6 - - - - fshcmdmanrouteu: 48 D1:B9F6 C1 - - - pop bc 49 D1:B9F7 11 A9 BA D1 CD 59 AC D1 11 BA BA D1 CA AF B7 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu) 50 D1:BA07 11 C3 BA D1 CD 59 AC D1 11 E4 BA D1 CA AF B7 D1 routeustrjp(fshcmdSET, fshCmdSETu) 51 D1:BA17 11 BB BB D1 CD 59 AC D1 11 F0 BB D1 CA AF B7 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu) 52 D1:BA27 11 CA BC D1 CD 59 AC D1 11 FE BC D1 CA AF B7 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu) 53 D1:BA37 11 E1 BD D1 CD 59 AC D1 11 F9 BD D1 CA AF B7 D1 routeustrjp(fshcmdCLS, fshCmdCLSu) 54 D1:BA47 11 0E BE D1 CD 59 AC D1 11 35 BE D1 CA AF B7 D1 routeustrjp(fshcmdVAR, fshCmdVARu) 55 D1:BA57 11 B1 BE D1 CD 59 AC D1 11 CE BE D1 CA AF B7 D1 routeustrjp(fshcmdVARS, fshCmdVARSu) 56 D1:BA67 11 22 BF D1 CD 59 AC D1 11 54 BF D1 CA AF B7 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu) 57 D1:BA77 11 71 BF D1 CD 59 AC D1 11 9E BF D1 CA AF B7 D1 routeustrjp(fshcmdINFO, fshCmdINFOu) 58 D1:BA87 11 14 C0 D1 CD 59 AC D1 11 31 C0 D1 CA AF B7 D1 routeustrjp(fshcmdHELP, fshCmdHELPu) 59 D1:BA97 11 68 C1 D1 CD 59 AC D1 11 8C C1 D1 CA AF B7 D1 routeustrjp(fshcmdMAN, fshCmdMANu) 60 D1:BAA7 C5 - - - push bc 61 D1:BAA8 C9 - - - ret 62 D1:BAA9 - - - - 63 D1:BAA9 - - - - #include "includes/FshCommands/FshCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 1 D1:BAA9 - - - - #include "includes/FshCommands/EXIT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/EXIT.asm" 1 D1:BAA9 45 58 49 54 00 - - - fshcmdEXIT: .db "EXIT", 0 2 D1:BAAE FF 00 - - fshcmdEXITo: .dw $00FF 3 D1:BAB0 45 78 69 74 73 20 46 73 68 00 - - fshcmdEXITm: .db "Exits Fsh", 0 4 D1:BABA 45 58 49 54 00 - - - fshcmdEXITu: .db "EXIT", 0 5 D1:BABF C3 EB A8 D1 fshcmdEXITf: JP Cleanup Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 2 D1:BAC3 - - - - #include "includes/FshCommands/SET.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/SET.asm" 1 D1:BAC3 53 45 54 00 fshcmdSET: .db "SET", 0 2 D1:BAC7 01 00 - - fshcmdSETo: .dw $0001 3 D1:BAC9 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:BAE4 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:BB06 - - - - fshcmdSETf: 6 D1:BB06 - - - - fshcmdSETfArg0: 7 D1:BB06 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:BB0A CB 4E - - bit 1, (hl) 9 D1:BB0C 20 34 - - jr nz, fshcmdSETfArg1 10 D1:BB0E CB 46 - - bit 0, (hl) 11 D1:BB10 28 0C - - jr z, fshcmdSETfArg0Get 12 D1:BB12 21 F2 B3 D1 ld hl, ErrUsageo 13 D1:BB16 CD 5D B3 D1 call ErrSet 14 D1:BB1A CD 10 B3 D1 call ErrCatch 15 D1:BB1E - - - - fshcmdSETfArg0Get: 16 D1:BB1E 21 A5 BB D1 ld hl, fshcmdSETfDIndex 17 D1:BB22 CD 21 AB D1 call printprompt 18 D1:BB26 21 9F BB D1 ld hl, fshcmdSETfInputBuffer 19 D1:BB2A 11 03 00 00 ld de, 3 20 D1:BB2E CD E1 AF D1 call inputnumstr 21 D1:BB32 CD E3 AC D1 call strtow 22 D1:BB36 11 A8 EA D0 ld de, FshCmdArg0 23 D1:BB3A EB - - - ex de, hl 24 D1:BB3B 73 - - - ld (hl), e 25 D1:BB3C 23 - - - inc hl 26 D1:BB3D 72 - - - ld (hl), d 27 D1:BB3E CD F0 07 02 call _NewLine 28 D1:BB42 - - - - fshcmdSETfArg1: 29 D1:BB42 21 CD EA D0 ld hl, FshCmdArgFlags 30 D1:BB46 CB 5E - - bit 3, (hl) 31 D1:BB48 20 34 - - jr nz, fshcmdSETfExe 32 D1:BB4A CB 56 - - bit 2, (hl) 33 D1:BB4C 28 0C - - jr z, fshcmdSETfArg1Get 34 D1:BB4E 21 F2 B3 D1 ld hl, ErrUsageo 35 D1:BB52 CD 5D B3 D1 call ErrSet 36 D1:BB56 CD 10 B3 D1 call ErrCatch 37 D1:BB5A - - - - fshcmdSETfArg1Get: 38 D1:BB5A 21 B3 BB D1 ld hl, fshcmdSETfDValue 39 D1:BB5E CD 21 AB D1 call printprompt 40 D1:BB62 21 9F BB D1 ld hl, fshcmdSETfInputBuffer 41 D1:BB66 11 05 00 00 ld de, 5 42 D1:BB6A CD E1 AF D1 call inputnumstr 43 D1:BB6E CD E3 AC D1 call strtow 44 D1:BB72 EB - - - ex de, hl 45 D1:BB73 21 B1 EA D0 ld hl, FshCmdArg1 46 D1:BB77 73 - - - ld (hl), e 47 D1:BB78 23 - - - inc hl 48 D1:BB79 72 - - - ld (hl), d 49 D1:BB7A CD F0 07 02 call _NewLine 50 D1:BB7E - - - - fshcmdSETfExe: 51 D1:BB7E 21 A8 EA D0 ld hl, FshCmdArg0 52 D1:BB82 11 00 00 00 ld de, 0 53 D1:BB86 5E - - - ld e, (hl) 54 D1:BB87 23 - - - inc hl 55 D1:BB88 56 - - - ld d, (hl) 56 D1:BB89 D5 - - - push de 57 D1:BB8A 21 B1 EA D0 ld hl, FshCmdArg1 58 D1:BB8E 5E - - - ld e, (hl) 59 D1:BB8F 23 - - - inc hl 60 D1:BB90 56 - - - ld d, (hl) 61 D1:BB91 EB - - - ex de, hl 62 D1:BB92 D1 - - - pop de 63 D1:BB93 CD 60 B2 D1 call fshvarset 64 D1:BB97 CD 10 B3 D1 call ErrCatch 65 D1:BB9B C3 DF A8 D1 jp Fin 66 D1:BB9F - - - - 67 D1:BB9F 00 00 00 00 00 00 - - fshcmdSETfInputBuffer: .db $00, $00, $00, $00, $00, $00 68 D1:BBA5 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdSETfDIndex: .db "Destination= ", 0 69 D1:BBB3 56 61 6C 75 65 3D 20 00 fshcmdSETfDValue: .db "Value= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 3 D1:BBBB - - - - #include "includes/FshCommands/COPY.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/COPY.asm" 1 D1:BBBB 43 4F 50 59 00 - - - fshcmdCOPY: .db "COPY", 0 2 D1:BBC0 02 00 - - fshcmdCOPYo: .dw $0002 3 D1:BBC2 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:BBF0 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:BC1C - - - - fshcmdCOPYf: 6 D1:BC1C - - - - fshcmdCOPYfArg0: 7 D1:BC1C 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:BC20 CB 4E - - bit 1, (hl) 9 D1:BC22 20 31 - - jr nz, fshcmdCOPYfArg1 10 D1:BC24 CB 46 - - bit 0, (hl) 11 D1:BC26 28 0C - - jr z, fshcmdCOPYfArg0Get 12 D1:BC28 21 F2 B3 D1 ld hl, ErrUsageo 13 D1:BC2C CD 5D B3 D1 call ErrSet 14 D1:BC30 CD 10 B3 D1 call ErrCatch 15 D1:BC34 - - - - fshcmdCOPYfArg0Get: 16 D1:BC34 21 B3 BC D1 ld hl, fshcmdCOPYfDSource 17 D1:BC38 CD 21 AB D1 call printprompt 18 D1:BC3C 21 AF BC D1 ld hl, fshcmdCOPYfInputBuffer 19 D1:BC40 11 03 00 00 ld de, 3 20 D1:BC44 CD E1 AF D1 call inputnumstr 21 D1:BC48 CD 86 AC D1 call strtob 22 D1:BC4C 21 A8 EA D0 ld hl, FshCmdArg0 23 D1:BC50 77 - - - ld (hl), a 24 D1:BC51 CD F0 07 02 call _NewLine 25 D1:BC55 - - - - fshcmdCOPYfArg1: 26 D1:BC55 21 CD EA D0 ld hl, FshCmdArgFlags 27 D1:BC59 CB 5E - - bit 3, (hl) 28 D1:BC5B 20 31 - - jr nz, fshcmdCOPYfExe 29 D1:BC5D CB 56 - - bit 2, (hl) 30 D1:BC5F 28 0C - - jr z, fshcmdCOPYfArg1Get 31 D1:BC61 21 F2 B3 D1 ld hl, ErrUsageo 32 D1:BC65 CD 5D B3 D1 call ErrSet 33 D1:BC69 CD 10 B3 D1 call ErrCatch 34 D1:BC6D - - - - fshcmdCOPYfArg1Get: 35 D1:BC6D 21 B3 BC D1 ld hl, fshcmdCOPYfDSource 36 D1:BC71 CD 21 AB D1 call printprompt 37 D1:BC75 21 AF BC D1 ld hl, fshcmdCOPYfInputBuffer 38 D1:BC79 11 03 00 00 ld de, 3 39 D1:BC7D CD E1 AF D1 call inputnumstr 40 D1:BC81 CD 86 AC D1 call strtob 41 D1:BC85 21 B1 EA D0 ld hl, FshCmdArg1 42 D1:BC89 77 - - - ld (hl), a 43 D1:BC8A CD F0 07 02 call _NewLine 44 D1:BC8E - - - - fshcmdCOPYfExe: 45 D1:BC8E 21 A8 EA D0 ld hl, FshCmdArg0 46 D1:BC92 11 00 00 00 ld de, 0 47 D1:BC96 5E - - - ld e, (hl) 48 D1:BC97 EB - - - ex de, hl 49 D1:BC98 E5 - - - push hl 50 D1:BC99 21 B1 EA D0 ld hl, FshCmdArg1 51 D1:BC9D 11 00 00 00 ld de, 0 52 D1:BCA1 5E - - - ld e, (hl) 53 D1:BCA2 E1 - - - pop hl 54 D1:BCA3 CD B3 B2 D1 call fshvarcpy 55 D1:BCA7 CD 10 B3 D1 call ErrCatch 56 D1:BCAB C3 DF A8 D1 jp Fin 57 D1:BCAF - - - - 58 D1:BCAF 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00 59 D1:BCB3 53 6F 75 72 63 65 3D 20 00 - - - fshcmdCOPYfDSource: .db "Source= ", 0 60 D1:BCBC 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdCOPYfDDestination: .db "Destination= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 4 D1:BCCA - - - - #include "includes/FshCommands/MOVE.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/MOVE.asm" 1 D1:BCCA 4D 4F 56 45 00 - - - fshcmdMOVE: .db "MOVE", 0 2 D1:BCCF 03 00 - - fshcmdMOVEo: .dw $0003 3 D1:BCD1 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:BCFE 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:BD2A - - - - fshcmdMOVEf: 6 D1:BD2A - - - - fshcmdMOVEfArg0: 7 D1:BD2A 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:BD2E CB 4E - - bit 1, (hl) 9 D1:BD30 20 31 - - jr nz, fshcmdMOVEfArg1 10 D1:BD32 CB 46 - - bit 0, (hl) 11 D1:BD34 28 0C - - jr z, fshcmdMOVEfArg0Get 12 D1:BD36 21 F2 B3 D1 ld hl, ErrUsageo 13 D1:BD3A CD 5D B3 D1 call ErrSet 14 D1:BD3E CD 10 B3 D1 call ErrCatch 15 D1:BD42 - - - - fshcmdMOVEfArg0Get: 16 D1:BD42 21 CA BD D1 ld hl, fshcmdMOVEfDSource 17 D1:BD46 CD 21 AB D1 call printprompt 18 D1:BD4A 21 C6 BD D1 ld hl, fshcmdMOVEfInputBuffer 19 D1:BD4E 11 03 00 00 ld de, 3 20 D1:BD52 CD E1 AF D1 call inputnumstr 21 D1:BD56 CD 86 AC D1 call strtob 22 D1:BD5A 21 A8 EA D0 ld hl, FshCmdArg0 23 D1:BD5E 77 - - - ld (hl), a 24 D1:BD5F CD F0 07 02 call _NewLine 25 D1:BD63 - - - - fshcmdMOVEfArg1: 26 D1:BD63 21 CD EA D0 ld hl, FshCmdArgFlags 27 D1:BD67 CB 5E - - bit 3, (hl) 28 D1:BD69 20 31 - - jr nz, fshcmdMOVEfExe 29 D1:BD6B CB 56 - - bit 2, (hl) 30 D1:BD6D 28 0C - - jr z, fshcmdMOVEfArg1Get 31 D1:BD6F 21 F2 B3 D1 ld hl, ErrUsageo 32 D1:BD73 CD 5D B3 D1 call ErrSet 33 D1:BD77 CD 10 B3 D1 call ErrCatch 34 D1:BD7B - - - - fshcmdMOVEfArg1Get: 35 D1:BD7B 21 D3 BD D1 ld hl, fshcmdMOVEfDDestination 36 D1:BD7F CD 21 AB D1 call printprompt 37 D1:BD83 21 C6 BD D1 ld hl, fshcmdMOVEfInputBuffer 38 D1:BD87 11 03 00 00 ld de, 3 39 D1:BD8B CD E1 AF D1 call inputnumstr 40 D1:BD8F CD 86 AC D1 call strtob 41 D1:BD93 21 B1 EA D0 ld hl, FshCmdArg1 42 D1:BD97 77 - - - ld (hl), a 43 D1:BD98 CD F0 07 02 call _NewLine 44 D1:BD9C - - - - fshcmdMOVEfExe: 45 D1:BD9C 21 A8 EA D0 ld hl, FshCmdArg0 46 D1:BDA0 11 00 00 00 ld de, 0 47 D1:BDA4 5E - - - ld e, (hl) 48 D1:BDA5 EB - - - ex de, hl 49 D1:BDA6 E5 - - - push hl 50 D1:BDA7 21 B1 EA D0 ld hl, FshCmdArg1 51 D1:BDAB 11 00 00 00 ld de, 0 52 D1:BDAF 5E - - - ld e, (hl) 53 D1:BDB0 E1 - - - pop hl 54 D1:BDB1 CD B3 B2 D1 call fshvarcpy 55 D1:BDB5 EB - - - ex de, hl 56 D1:BDB6 21 00 00 00 ld hl, 0 57 D1:BDBA CD 60 B2 D1 call fshvarset 58 D1:BDBE CD 10 B3 D1 call ErrCatch 59 D1:BDC2 C3 DF A8 D1 jp Fin 60 D1:BDC6 - - - - 61 D1:BDC6 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00 62 D1:BDCA 53 6F 75 72 63 65 3D 20 00 - - - fshcmdMOVEfDSource: .db "Source= ", 0 63 D1:BDD3 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdMOVEfDDestination: .db "Destination= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 5 D1:BDE1 - - - - #include "includes/FshCommands/CLS.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/CLS.asm" 1 D1:BDE1 43 4C 53 00 fshcmdCLS: .db "CLS", 0 2 D1:BDE5 10 00 - - fshcmdCLSo: .dw $0010 3 D1:BDE7 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:BDF9 43 4C 53 00 fshcmdCLSu: .db "CLS", 0 5 D1:BDFD - - - - fshcmdCLSf: 6 D1:BDFD CD 08 08 02 call _ClrLCDFull 7 D1:BE01 AF - - - xor a 8 D1:BE02 32 95 05 D0 ld (CurRow), a 9 D1:BE06 32 96 05 D0 ld (CurCol), a 10 D1:BE0A C3 DF A8 D1 jp Fin Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 6 D1:BE0E - - - - #include "includes/FshCommands/VAR.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/VAR.asm" 1 D1:BE0E 56 41 52 00 fshcmdVAR: .db "VAR", 0 2 D1:BE12 11 00 - - fshcmdVARo: .dw $0011 3 D1:BE14 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:BE35 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:BE4A - - - - fshcmdVARf: 6 D1:BE4A - - - - fshcmdVARfArg0: 7 D1:BE4A 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:BE4E CB 4E - - bit 1, (hl) 9 D1:BE50 20 34 - - jr nz, fshcmdVARfExe 10 D1:BE52 CB 46 - - bit 0, (hl) 11 D1:BE54 28 0C - - jr z, fshcmdVARfArg0Get 12 D1:BE56 21 F2 B3 D1 ld hl, ErrUsageo 13 D1:BE5A CD 5D B3 D1 call ErrSet 14 D1:BE5E CD 10 B3 D1 call ErrCatch 15 D1:BE62 - - - - fshcmdVARfArg0Get: 16 D1:BE62 21 A9 BE D1 ld hl, fshcmdVARfDIndex 17 D1:BE66 CD 21 AB D1 call printprompt 18 D1:BE6A 21 A5 BE D1 ld hl, fshcmdVARfInputBuffer 19 D1:BE6E 11 03 00 00 ld de, 3 20 D1:BE72 CD E1 AF D1 call inputnumstr 21 D1:BE76 CD E3 AC D1 call strtow 22 D1:BE7A 11 A8 EA D0 ld de, FshCmdArg0 23 D1:BE7E EB - - - ex de, hl 24 D1:BE7F 73 - - - ld (hl), e 25 D1:BE80 23 - - - inc hl 26 D1:BE81 72 - - - ld (hl), d 27 D1:BE82 CD F0 07 02 call _NewLine 28 D1:BE86 - - - - fshcmdVARfExe: 29 D1:BE86 21 A8 EA D0 ld hl, FshCmdArg0 30 D1:BE8A 11 00 00 00 ld de, 0 31 D1:BE8E 5E - - - ld e, (hl) 32 D1:BE8F 23 - - - inc hl 33 D1:BE90 56 - - - ld d, (hl) 34 D1:BE91 CD 88 B2 D1 call fshvarget 35 D1:BE95 CD 10 B3 D1 call ErrCatch 36 D1:BE99 CD BC 07 02 call _DispHL_s 37 D1:BE9D CD F0 07 02 call _NewLine 38 D1:BEA1 C3 DF A8 D1 jp Fin 39 D1:BEA5 - - - - 40 D1:BEA5 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00 41 D1:BEA9 49 6E 64 65 78 3D 20 00 fshcmdVARfDIndex: .db "Index= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 7 D1:BEB1 - - - - #include "includes/FshCommands/VARS.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/VARS.asm" 1 D1:BEB1 56 41 52 53 00 - - - fshcmdVARS: .db "VARS", 0 2 D1:BEB6 12 00 - - fshcmdVARSo: .dw $0012 3 D1:BEB8 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:BECE 56 41 52 53 00 - - - fshcmdVARSu: .db "VARS", 0 5 D1:BED3 - - - - fshcmdVARSf: 6 D1:BED3 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:BED7 CB 46 - - bit 0, (hl) 8 D1:BED9 28 0C - - jr z, fshcmdVARSfExe 9 D1:BEDB 21 F2 B3 D1 ld hl, ErrUsageo 10 D1:BEDF CD 5D B3 D1 call ErrSet 11 D1:BEE3 CD 10 B3 D1 call ErrCatch 12 D1:BEE7 - - - - fshcmdVARSfExe: 13 D1:BEE7 06 00 - - ld b, 0 14 D1:BEE9 0E 00 - - ld c, 0 15 D1:BEEB 11 00 00 00 ld de, 0 16 D1:BEEF - - - - fshcmdVARSfLoop: 17 D1:BEEF CD 88 B2 D1 call fshvarget 18 D1:BEF3 7C - - - ld a, h 19 D1:BEF4 CD B8 07 02 call _PutC 20 D1:BEF8 7D - - - ld a, l 21 D1:BEF9 CD B8 07 02 call _PutC 22 D1:BEFD 79 - - - ld a, c 23 D1:BEFE 0C - - - inc c 24 D1:BEFF FE 07 - - cp 7 25 D1:BF01 20 0E - - jr nz, fshcmdVARSfLoopU 26 D1:BF03 E5 - - - push hl 27 D1:BF04 C5 - - - push bc 28 D1:BF05 D5 - - - push de 29 D1:BF06 CD F0 07 02 call _NewLine 30 D1:BF0A D1 - - - pop de 31 D1:BF0B C1 - - - pop bc 32 D1:BF0C E1 - - - pop hl 33 D1:BF0D 0E 00 - - ld c, 0 34 D1:BF0F 18 06 - - jr fshcmdVARSfLoopEnd 35 D1:BF11 - - - - fshcmdVARSfLoopU: 36 D1:BF11 3E 5F - - ld a, '_' 37 D1:BF13 CD B8 07 02 call _PutC 38 D1:BF17 - - - - fshcmdVARSfLoopEnd: 39 D1:BF17 04 - - - inc b 40 D1:BF18 13 - - - inc de 41 D1:BF19 78 - - - ld a, b 42 D1:BF1A FE 40 - - cp FshVarsSize / 2 43 D1:BF1C 38 D1 - - jr c, fshcmdVARSfLoop 44 D1:BF1E C3 DF A8 D1 jp Fin Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 8 D1:BF22 - - - - #include "includes/FshCommands/SLEEP.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/SLEEP.asm" 1 D1:BF22 53 4C 45 45 50 00 - - fshcmdSLEEP: .db "SLEEP", 0 2 D1:BF28 16 00 - - fshcmdSLEEPo: .dw $0016 3 D1:BF2A 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:BF54 53 4C 45 45 50 00 - - fshcmdSLEEPu: .db "SLEEP", 0 5 D1:BF5A - - - - fshcmdSLEEPf: 6 D1:BF5A F3 - - - di 7 D1:BF5B CD 38 11 02 call _EnableAPD 8 D1:BF5F 3E 01 - - ld a,1 9 D1:BF61 21 90 05 D0 ld hl,apdSubTimer 10 D1:BF65 77 - - - ld (hl),a 11 D1:BF66 23 - - - inc hl 12 D1:BF67 77 - - - ld (hl),a 13 D1:BF68 FD CB 08 DE set apdRunning,(iy+apdFlags) 14 D1:BF6C FB - - - ei 15 D1:BF6D C3 DF A8 D1 jp Fin Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 9 D1:BF71 - - - - #include "includes/FshCommands/INFO.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/INFO.asm" 1 D1:BF71 49 4E 46 4F 00 - - - fshcmdINFO: .db "INFO", 0 2 D1:BF76 20 00 - - fshcmdINFOo: .dw $0020 3 D1:BF78 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:BF9E 49 4E 46 4F 00 - - - fshcmdINFOu: .db "INFO", 0 5 D1:BFA3 - - - - fshcmdINFOf: 6 D1:BFA3 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:BFA7 CB 46 - - bit 0, (hl) 8 D1:BFA9 28 0C - - jr z, fshcmdINFOfExe 9 D1:BFAB 21 F2 B3 D1 ld hl, ErrUsageo 10 D1:BFAF CD 5D B3 D1 call ErrSet 11 D1:BFB3 CD 10 B3 D1 call ErrCatch 12 D1:BFB7 - - - - fshcmdINFOfExe: 13 D1:BFB7 CD 08 08 02 call _ClrLCDFull 14 D1:BFBB AF - - - xor a 15 D1:BFBC 32 95 05 D0 ld (CurRow), a 16 D1:BFC0 32 96 05 D0 ld (CurCol), a 17 D1:BFC4 - - - - 18 D1:BFC4 CD 3F B4 D1 call printfshnamelong 19 D1:BFC8 CD F0 07 02 call _NewLine 20 D1:BFCC - - - - 21 D1:BFCC 21 13 A9 D1 ld hl, FshBy 22 D1:BFD0 CD C0 07 02 call _PutS 23 D1:BFD4 CD F0 07 02 call _NewLine 24 D1:BFD8 - - - - 25 D1:BFD8 21 1D A9 D1 ld hl, FshSite 26 D1:BFDC CD C0 07 02 call _PutS 27 D1:BFE0 CD F0 07 02 call _NewLine 28 D1:BFE4 - - - - 29 D1:BFE4 CD F0 07 02 call _NewLine 30 D1:BFE8 21 0C C0 D1 ld hl, fshcmdINFOfSPS1 31 D1:BFEC CD C0 07 02 call _PutS 32 D1:BFF0 3E 27 - - ld a, $27 33 D1:BFF2 CD B8 07 02 call _PutC 34 D1:BFF6 21 38 A9 D1 ld hl, PS1 35 D1:BFFA CD C0 07 02 call _PutS 36 D1:BFFE 3E 27 - - ld a, $27 37 D1:C000 CD B8 07 02 call _PutC 38 D1:C004 CD F0 07 02 call _NewLine 39 D1:C008 - - - - 40 D1:C008 C3 DF A8 D1 jp Fin 41 D1:C00C - - - - 42 D1:C00C 50 53 31 CE CE CE 3A 00 fshcmdINFOfSPS1: .db "PS1", $CE, $CE, $CE, ":", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 10 D1:C014 - - - - #include "includes/FshCommands/HELP.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/HELP.asm" 1 D1:C014 48 45 4C 50 00 - - - fshcmdHELP: .db "HELP", 0 2 D1:C019 21 00 - - fshcmdHELPo: .dw $0021 3 D1:C01B 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:C031 48 45 4C 50 00 - - - fshcmdHELPu: .db "HELP", 0 5 D1:C036 - - - - fshcmdHELPf: 6 D1:C036 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:C03A CB 46 - - bit 0, (hl) 8 D1:C03C 28 0C - - jr z, fshcmdHELPfExe 9 D1:C03E 21 F2 B3 D1 ld hl, ErrUsageo 10 D1:C042 CD 5D B3 D1 call ErrSet 11 D1:C046 CD 10 B3 D1 call ErrCatch 12 D1:C04A - - - - fshcmdHELPfExe: 13 D1:C04A 21 2F C1 D1 ld hl, fshcmdHELPfLine1 14 D1:C04E CD C0 07 02 call _PutS 15 D1:C052 CD F0 07 02 call _NewLine 16 D1:C056 - - - - 17 D1:C056 - - - - #macro fshcmdHELPmRow1(cmdXs) 18 D1:C056 xor a 19 D1:C056 ld (curCol), a 20 D1:C056 ld hl, cmdXs 21 D1:C056 call _PutS 22 D1:C056 call _NewLine 23 D1:C056 #endmacro 24 D1:C056 - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs) 25 D1:C056 xor a 26 D1:C056 ld (curCol), a 27 D1:C056 ld hl, cmdXs 28 D1:C056 call _PutS 29 D1:C056 ld a, 9 30 D1:C056 ld (curcol), a 31 D1:C056 ld hl, cmdYs 32 D1:C056 call _PutS 33 D1:C056 call _NewLine 34 D1:C056 #endmacro 35 D1:C056 - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs) 36 D1:C056 xor a 37 D1:C056 ld (curCol), a 38 D1:C056 ld hl, cmdXs 39 D1:C056 call _PutS 40 D1:C056 ld a, 9 41 D1:C056 ld (curcol), a 42 D1:C056 ld hl, cmdYs 43 D1:C056 call _PutS 44 D1:C056 ld a, 19 45 D1:C056 ld (curcol), a 46 D1:C056 ld hl, cmdZs 47 D1:C056 call _PutS 48 D1:C056 call _NewLine 49 D1:C056 #endmacro 50 D1:C056 - - - - 51 D1:C056 AF 32 96 05 D0 21 A9 BA D1 CD C0 07 02 3E 09 32 96 05 D0 21 C3 BA D1 CD C0 07 02 3E 13 32 96 05 D0 21 BB BB D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdEXIT, fshcmdSET, fshcmdCOPY) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/HELP.asm" 52 D1:C083 AF 32 96 05 D0 21 CA BC D1 CD C0 07 02 3E 09 32 96 05 D0 21 E1 BD D1 CD C0 07 02 3E 13 32 96 05 D0 21 0E BE D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdMOVE, fshcmdCLS, fshcmdVAR) 53 D1:C0B0 AF 32 96 05 D0 21 B1 BE D1 CD C0 07 02 3E 09 32 96 05 D0 21 22 BF D1 CD C0 07 02 3E 13 32 96 05 D0 21 71 BF D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdVARS, fshcmdSLEEP, fshcmdINFO) 54 D1:C0DD AF 32 96 05 D0 21 14 C0 D1 CD C0 07 02 3E 09 32 96 05 D0 21 68 C1 D1 CD C0 07 02 CD F0 07 02 - fshcmdHELPmRow2(fshcmdHELP, fshcmdMAN) 55 D1:C0FC AF 32 96 05 D0 21 8B C4 D1 CD C0 07 02 3E 09 32 96 05 D0 21 41 C8 D1 CD C0 07 02 CD F0 07 02 - fshcmdHELPmRow2(cryptocmdENCRYPT, cryptocmdDECRYPT) 56 D1:C11B - - - - ; Extention Point 57 D1:C11B - - - - 58 D1:C11B CD F0 07 02 call _NewLine 59 D1:C11F 21 43 C1 D1 ld hl, fshcmdHELPfLine2 60 D1:C123 CD C0 07 02 call _PutS 61 D1:C127 CD F0 07 02 call _NewLine 62 D1:C12B C3 DF A8 D1 jp Fin 63 D1:C12F - - - - 64 D1:C12F 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 65 D1:C143 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 "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" 11 D1:C168 - - - - #include "includes/FshCommands/MAN.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/MAN.asm" 1 D1:C168 4D 41 4E 00 fshcmdMAN: .db "MAN", 0 2 D1:C16C 22 00 - - fshcmdMANo: .dw $0022 3 D1:C16E 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:C18C 4D 41 4E 20 3C 63 6F 6D 6D 61 6E 64 3E 00 - - fshcmdMANu: .db "MAN ", 0 5 D1:C19A - - - - fshcmdMANf: 6 D1:C19A - - - - fshcmdMANfCheckArgs: 7 D1:C19A 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:C19E CB 46 - - bit 0, (hl) 9 D1:C1A0 28 10 - - jr z, fshcmdMANfArg0Get 10 D1:C1A2 CB 4E - - bit 1, (hl) 11 D1:C1A4 28 24 - - jr z, fshcmdMANfExe 12 D1:C1A6 21 F2 B3 D1 ld hl, ErrUsageo 13 D1:C1AA CD 5D B3 D1 call ErrSet 14 D1:C1AE CD 10 B3 D1 call ErrCatch 15 D1:C1B2 - - - - fshcmdMANfArg0Get: 16 D1:C1B2 21 47 C2 D1 ld hl, fshcmdMANfPrompt 17 D1:C1B6 CD 21 AB D1 call printprompt 18 D1:C1BA - - - - 19 D1:C1BA 21 A8 EA D0 ld hl, FshCmdArg0 20 D1:C1BE 11 08 00 00 ld de, FshCmdCmdSize 21 D1:C1C2 CD A9 AD D1 call inputstr 22 D1:C1C6 CD F0 07 02 call _NewLine 23 D1:C1CA - - - - 24 D1:C1CA - - - - fshcmdMANfExe: 25 D1:C1CA 21 A8 EA D0 ld hl, FshCmdArg0 26 D1:C1CE 11 9F EA D0 ld de, FshCmd 27 D1:C1D2 CD 6C AC D1 call strcpy 28 D1:C1D6 - - - - 29 D1:C1D6 21 36 C2 D1 ld hl, fshcmdMANfPrefix 30 D1:C1DA CD C0 07 02 call _PutS 31 D1:C1DE - - - - 32 D1:C1DE 21 9F EA D0 ld hl, FshCmd 33 D1:C1E2 CD C0 07 02 call _PutS 34 D1:C1E6 CD F0 07 02 call _NewLine 35 D1:C1EA CD F0 07 02 call _NewLine 36 D1:C1EE - - - - 37 D1:C1EE 21 9F EA D0 ld hl, FshCmd 38 D1:C1F2 CD 86 B7 D1 call manroute 39 D1:C1F6 11 00 00 00 ld de, $00 40 D1:C1FA CD 7A A9 D1 call cpHLDE 41 D1:C1FE CA E7 A8 D1 jp z, Err 42 D1:C202 - - - - 43 D1:C202 CD C0 07 02 call _PutS 44 D1:C206 CD F0 07 02 call _NewLine 45 D1:C20A CD F0 07 02 call _NewLine 46 D1:C20E - - - - 47 D1:C20E 21 3F C2 D1 ld hl, fshcmdMANfUsage 48 D1:C212 CD C0 07 02 call _PutS 49 D1:C216 - - - - 50 D1:C216 21 9F EA D0 ld hl, FshCmd 51 D1:C21A CD 9C B7 D1 call manrouteu 52 D1:C21E 11 00 00 00 ld de, $00 53 D1:C222 CD 7A A9 D1 call cpHLDE 54 D1:C226 CA E7 A8 D1 jp z, Err 55 D1:C22A CD C0 07 02 call _PutS 56 D1:C22E CD F0 07 02 call _NewLine 57 D1:C232 - - - - 58 D1:C232 C3 DF A8 D1 jp Fin 59 D1:C236 - - - - 60 D1:C236 4D 41 4E 2D 44 42 DF 20 00 - - - fshcmdMANfPrefix: .db "MAN-DB", $DF, ' ', 0 61 D1:C23F 55 73 61 67 65 3A 20 00 fshcmdMANfUsage: .db "Usage: ",0 62 D1:C247 43 6F 6D 6D 61 6E 64 3D 20 00 - - fshcmdMANfPrompt: .db "Command= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Command.asm" 50 D1:C251 - - - - #include "includes/CryptoCommands/CryptoCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommand.asm" 1 D1:C251 - - - - cryptocmddecode: 2 D1:C251 E5 D5 11 8B C4 D1 CD 59 AC D1 21 93 C4 D1 D1 CC 52 AA D1 E1 decodecmdopt(cryptocmdENCRYPT, cryptocmdENCRYPTo) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommand.asm" 3 D1:C265 E5 D5 11 41 C8 D1 CD 59 AC D1 21 49 C8 D1 D1 CC 52 AA D1 E1 decodecmdopt(cryptocmdDECRYPT, cryptocmdDECRYPTo) 4 D1:C279 C9 - - - ret 5 D1:C27A - - - - 6 D1:C27A - - - - cryptocmdroute: 7 D1:C27A C1 - - - pop bc 8 D1:C27B 11 93 C4 D1 CD 5E AA D1 CA 03 C5 D1 routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf) 9 D1:C287 11 49 C8 D1 CD 5E AA D1 CA B9 C8 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) 10 D1:C293 C5 - - - push bc 11 D1:C294 C9 - - - ret 12 D1:C295 - - - - 13 D1:C295 - - - - cryptocmdmanroute: 14 D1:C295 C1 - - - pop bc 15 D1:C296 E5 11 8B C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 8C C5 D1 CD 59 AC D1 E1 11 90 C5 D1 CA 99 B7 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTm) 16 D1:C2BA E5 11 41 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 42 C9 D1 CD 59 AC D1 E1 11 46 C9 D1 CA 99 B7 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTm) 17 D1:C2DE - - - - 18 D1:C2DE E5 11 8B C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 9A C6 D1 CD 59 AC D1 E1 11 9E C6 D1 CA 99 B7 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORm) 19 D1:C302 E5 11 41 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 49 CA D1 CD 59 AC D1 E1 11 4D CA D1 CA 99 B7 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORm) 20 D1:C326 - - - - 21 D1:C326 E5 11 8B C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 99 C7 D1 CD 59 AC D1 E1 11 9E C7 D1 CA 99 B7 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm) 22 D1:C34A E5 11 41 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 5E CB D1 CD 59 AC D1 E1 11 63 CB D1 CA 99 B7 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPm) 23 D1:C36E - - - - 24 D1:C36E 11 8B C4 D1 CD 59 AC D1 11 95 C4 D1 CA 99 B7 D1 routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm) 25 D1:C37E 11 41 C8 D1 CD 59 AC D1 11 4B C8 D1 CA 99 B7 D1 routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm) 26 D1:C38E - - - - 27 D1:C38E C5 - - - push bc 28 D1:C38F C9 - - - ret 29 D1:C390 - - - - 30 D1:C390 - - - - 31 D1:C390 - - - - cryptocmdmanrouteu: 32 D1:C390 C1 - - - pop bc 33 D1:C391 E5 11 8B C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 8C C5 D1 CD 59 AC D1 E1 11 C7 C5 D1 CA AF B7 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTu) 34 D1:C3B5 E5 11 41 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 42 C9 D1 CD 59 AC D1 E1 11 7D C9 D1 CA AF B7 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTu) 35 D1:C3D9 - - - - 36 D1:C3D9 E5 11 8B C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 9A C6 D1 CD 59 AC D1 E1 11 C0 C6 D1 CA AF B7 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORu) 37 D1:C3FD E5 11 41 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 49 CA D1 CD 59 AC D1 E1 11 6F CA D1 CA AF B7 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu) 38 D1:C421 - - - - 39 D1:C421 E5 11 8B C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 99 C7 D1 CD 59 AC D1 E1 11 AF C7 D1 CA AF B7 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu) 40 D1:C445 E5 11 41 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 5E CB D1 CD 59 AC D1 E1 11 74 CB D1 CA AF B7 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPu) 41 D1:C469 - - - - 42 D1:C469 11 8B C4 D1 CD 59 AC D1 11 DE C4 D1 CA AF B7 D1 routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu) 43 D1:C479 11 41 C8 D1 CD 59 AC D1 11 94 C8 D1 CA AF B7 D1 routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu) 44 D1:C489 - - - - 45 D1:C489 C5 - - - push bc 46 D1:C48A C9 - - - ret 47 D1:C48B - - - - 48 D1:C48B - - - - #include "includes/CryptoCommands/CryptoCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" 1 D1:C48B - - - - #include "includes/CryptoCommands/ENCRYPT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ENCRYPT.asm" 1 D1:C48B 45 4E 43 52 59 50 54 00 cryptocmdENCRYPT: .db "ENCRYPT", 0 2 D1:C493 01 02 - - cryptocmdENCRYPTo: .dw $0201 3 D1:C495 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:C4DE 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:C503 - - - - cryptocmdENCRYPTf: 6 D1:C503 - - - - cryptocmdENCRYPTfArg0: 7 D1:C503 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:C507 CB 46 - - bit 0, (hl) 9 D1:C509 28 10 - - jr z, cryptocmdENCRYPTfArg0Get 10 D1:C50B CB 4E - - bit 1, (hl) 11 D1:C50D 28 24 - - jr z, cryptocmdENCRYPTfExe 12 D1:C50F 21 F2 B3 D1 ld hl, ErrUsageo 13 D1:C513 CD 5D B3 D1 call ErrSet 14 D1:C517 CD 10 B3 D1 call ErrCatch 15 D1:C51B - - - - cryptocmdENCRYPTfArg0Get: 16 D1:C51B 21 83 C5 D1 ld hl, cryptocmdENCRYPTfSCypher 17 D1:C51F CD 21 AB D1 call printprompt 18 D1:C523 21 A8 EA D0 ld hl, FshCmdArg0 19 D1:C527 11 2C 00 00 ld de, FshCmdInptSize 20 D1:C52B CD A9 AD D1 call inputstr 21 D1:C52F CD F0 07 02 call _NewLine 22 D1:C533 - - - - cryptocmdENCRYPTfExe: 23 D1:C533 - - - - 24 D1:C533 - - - - #macro cryptocmdENCRYPTcmpjp(cmdX, cmdXf) 25 D1:C533 ld hl, FshCmdArg0 26 D1:C533 ld de, CmdX 27 D1:C533 call strcmp 28 D1:C533 jp z, cmdXf 29 D1:C533 #endmacro 30 D1:C533 - - - - 31 D1:C533 21 A8 EA D0 11 8C C5 D1 CD 59 AC D1 CA E6 C5 D1 cryptocmdENCRYPTcmpjp(cryptocmdROT, cryptocmdROTf) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ENCRYPT.asm" 32 D1:C543 21 A8 EA D0 11 9A C6 D1 CD 59 AC D1 CA DC C6 D1 cryptocmdENCRYPTcmpjp(cryptocmdXOR, cryptocmdXORf) 33 D1:C553 21 A8 EA D0 11 99 C7 D1 CD 59 AC D1 CA BC C7 D1 cryptocmdENCRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) 34 D1:C563 - - - - 35 D1:C563 21 A8 EA D0 ld hl, FshCmdArg0 36 D1:C567 11 9F EA D0 ld de, FshCmd 37 D1:C56B CD 6C AC D1 call strcpy 38 D1:C56F - - - - 39 D1:C56F 21 6C B3 D1 ld hl, ErrCmdNotFoundo 40 D1:C573 11 CE EA D0 ld de, FshCmdErrCode 41 D1:C577 CD 4A AA D1 call bytecpy 42 D1:C57B CD 5D B3 D1 call ErrSet 43 D1:C57F C3 E7 A8 D1 jp Err 44 D1:C583 - - - - 45 D1:C583 43 79 70 68 65 72 3D 20 00 - - - cryptocmdENCRYPTfSCypher: .db "Cypher= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" 2 D1:C58C - - - - #include "includes/CryptoCommands/ROT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ROT.asm" 1 D1:C58C 52 4F 54 00 cryptocmdROT: .db "ROT", 0 2 D1:C590 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:C5C7 45 4E 43 52 59 50 54 20 52 4F 54 20 3C 73 68 69 66 74 23 3E 20 3C 6D 65 73 73 61 67 65 3E 00 - cryptocmdROTu: .db "ENCRYPT ROT ", 0 4 D1:C5E6 - - - - cryptocmdROTf: 5 D1:C5E6 - - - - cryptocmdROTfArg1: 6 D1:C5E6 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:C5EA CB 5E - - bit 3, (hl) 8 D1:C5EC 20 32 - - jr nz, cryptocmdROTfArg2 9 D1:C5EE CB 56 - - bit 2, (hl) 10 D1:C5F0 28 0C - - jr z, cryptocmdROTfArg1Get 11 D1:C5F2 21 F2 B3 D1 ld hl, ErrUsageo 12 D1:C5F6 CD 5D B3 D1 call ErrSet 13 D1:C5FA CD 10 B3 D1 call ErrCatch 14 D1:C5FE - - - - cryptocmdROTfArg1Get: 15 D1:C5FE 21 7F C6 D1 ld hl, cryptocmdROTfDShift 16 D1:C602 CD 21 AB D1 call printprompt 17 D1:C606 21 B1 EA D0 ld hl, FshCmdArg1 18 D1:C60A 11 03 00 00 ld de, 3 19 D1:C60E CD E1 AF D1 call inputnumstr 20 D1:C612 CD E3 AC D1 call strtow 21 D1:C616 11 B1 EA D0 ld de, FshCmdArg1 22 D1:C61A EB - - - ex de, hl 23 D1:C61B 73 - - - ld (hl), e 24 D1:C61C CD F0 07 02 call _NewLine 25 D1:C620 - - - - cryptocmdROTfArg2: 26 D1:C620 21 BA EA D0 ld hl, FshCmdArg2 27 D1:C624 11 D1 EA D0 ld de, FshScratch 28 D1:C628 CD 6C AC D1 call strcpy 29 D1:C62C 21 CD EA D0 ld hl, FshCmdArgFlags 30 D1:C630 CB 66 - - bit 4, (hl) 31 D1:C632 28 10 - - jr z, cryptocmdROTfArg2Get 32 D1:C634 CB 6E - - bit 5, (hl) 33 D1:C636 28 24 - - jr z, cryptocmdROTfExe 34 D1:C638 21 F2 B3 D1 ld hl, ErrUsageo 35 D1:C63C CD 5D B3 D1 call ErrSet 36 D1:C640 CD 10 B3 D1 call ErrCatch 37 D1:C644 - - - - cryptocmdROTfArg2Get: 38 D1:C644 21 87 C6 D1 ld hl, cryptocmdROTfDMessage 39 D1:C648 CD 21 AB D1 call printprompt 40 D1:C64C 21 D1 EA D0 ld hl, FshScratch 41 D1:C650 11 10 00 00 ld de, FshScratchSize - 4 42 D1:C654 CD CD AE D1 call inputcharstr 43 D1:C658 CD F0 07 02 call _NewLine 44 D1:C65C - - - - cryptocmdROTfExe: 45 D1:C65C 21 B1 EA D0 ld hl, FshCmdArg1 46 D1:C660 7E - - - ld a, (hl) 47 D1:C661 21 D1 EA D0 ld hl, FshScratch 48 D1:C665 CD 95 B6 D1 call rotletencrypt 49 D1:C669 E5 - - - push hl 50 D1:C66A 21 91 C6 D1 ld hl, cryptocmdROTfDResult 51 D1:C66E CD C0 07 02 call _PutS 52 D1:C672 E1 - - - pop hl 53 D1:C673 CD C0 07 02 call _PutS 54 D1:C677 CD F0 07 02 call _NewLine 55 D1:C67B C3 DF A8 D1 jp Fin 56 D1:C67F - - - - 57 D1:C67F 53 68 69 66 74 3D 20 00 cryptocmdROTfDShift: .db "Shift= ", 0 58 D1:C687 4D 65 73 73 61 67 65 3D 20 00 - - cryptocmdROTfDMessage: .db "Message= ", 0 59 D1:C691 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdROTfDResult: .db "Result: ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" 3 D1:C69A - - - - #include "includes/CryptoCommands/XOR.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/XOR.asm" 1 D1:C69A 58 4F 52 00 cryptocmdXOR: .db "XOR", 0 2 D1:C69E 58 4F 52 3A 20 43 79 70 68 65 72 2C 20 61 6E 64 20 65 6E 63 6F 64 65 73 20 61 20 73 74 72 69 6E 67 00 - - cryptocmdXORm: .db "XOR: Cypher, and encodes a string", 0 3 D1:C6C0 45 4E 43 52 59 50 54 20 58 4F 52 20 3C 6B 65 79 3E 20 3C 6D 65 73 73 61 67 65 3E 00 cryptocmdXORu: .db "ENCRYPT XOR ", 0 4 D1:C6DC - - - - cryptocmdXORf: 5 D1:C6DC - - - - cryptocmdXORfArg1: 6 D1:C6DC 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:C6E0 CB 56 - - bit 2, (hl) 8 D1:C6E2 28 10 - - jr z, cryptocmdXORfArg1Get 9 D1:C6E4 CB 5E - - bit 3, (hl) 10 D1:C6E6 28 24 - - jr z, cryptocmdXORfArg2 11 D1:C6E8 21 F2 B3 D1 ld hl, ErrUsageo 12 D1:C6EC CD 5D B3 D1 call ErrSet 13 D1:C6F0 CD 10 B3 D1 call ErrCatch 14 D1:C6F4 - - - - cryptocmdXORfArg1Get: 15 D1:C6F4 21 80 C7 D1 ld hl, cryptocmdXORfDKey 16 D1:C6F8 CD 21 AB D1 call printprompt 17 D1:C6FC 21 B1 EA D0 ld hl, FshCmdArg1 18 D1:C700 11 08 00 00 ld de, FshCmdCmdSize 19 D1:C704 CD A9 AD D1 call inputstr 20 D1:C708 CD F0 07 02 call _NewLine 21 D1:C70C - - - - cryptocmdXORfArg2: 22 D1:C70C 21 BA EA D0 ld hl, FshCmdArg2 23 D1:C710 11 D1 EA D0 ld de, FshScratch 24 D1:C714 CD 6C AC D1 call strcpy 25 D1:C718 21 CD EA D0 ld hl, FshCmdArgFlags 26 D1:C71C CB 66 - - bit 4, (hl) 27 D1:C71E 28 10 - - jr z, cryptocmdXORfArg2Get 28 D1:C720 CB 6E - - bit 5, (hl) 29 D1:C722 28 24 - - jr z, cryptocmdXORfExe 30 D1:C724 21 F2 B3 D1 ld hl, ErrUsageo 31 D1:C728 CD 5D B3 D1 call ErrSet 32 D1:C72C CD 10 B3 D1 call ErrCatch 33 D1:C730 - - - - cryptocmdXORfArg2Get: 34 D1:C730 21 86 C7 D1 ld hl, cryptocmdXORfDMessage 35 D1:C734 CD 21 AB D1 call printprompt 36 D1:C738 21 D1 EA D0 ld hl, FshScratch 37 D1:C73C 11 09 00 00 ld de, FshScratchSize - 1 / 2 38 D1:C740 CD CD AE D1 call inputcharstr 39 D1:C744 CD F0 07 02 call _NewLine 40 D1:C748 - - - - cryptocmdXORfExe: 41 D1:C748 21 D1 EA D0 ld hl, FshScratch 42 D1:C74C 11 B1 EA D0 ld de, FshCmdArg1 43 D1:C750 CD 23 B7 D1 call xorcrypt 44 D1:C754 21 90 C7 D1 ld hl, cryptocmdXORfDResult 45 D1:C758 CD C0 07 02 call _PutS 46 D1:C75C 21 D1 EA D0 ld hl, FshScratch 47 D1:C760 - - - - cryptocmdXORfPrint: 48 D1:C760 7E - - - ld a, (hl) 49 D1:C761 B7 - - - or a, a 50 D1:C762 28 14 - - jr z, cryptocmdXORfPrintEnd 51 D1:C764 E5 - - - push hl 52 D1:C765 CD C2 AB D1 call bytetohexstr 53 D1:C769 7E - - - ld a, (hl) 54 D1:C76A CD B8 07 02 call _PutC 55 D1:C76E 23 - - - inc hl 56 D1:C76F 7E - - - ld a, (hl) 57 D1:C770 CD B8 07 02 call _PutC 58 D1:C774 E1 - - - pop hl 59 D1:C775 23 - - - inc hl 60 D1:C776 18 E8 - - jr cryptocmdXORfPrint 61 D1:C778 - - - - cryptocmdXORfPrintEnd: 62 D1:C778 CD F0 07 02 call _NewLine 63 D1:C77C C3 DF A8 D1 jp Fin 64 D1:C780 - - - - 65 D1:C780 4B 65 79 3D 20 00 - - cryptocmdXORfDKey: .db "Key= ", 0 66 D1:C786 4D 65 73 73 61 67 65 3D 20 00 - - cryptocmdXORfDMessage: .db "Message= ", 0 67 D1:C790 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdXORfDResult: .db "Result: ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" 4 D1:C799 - - - - #include "includes/CryptoCommands/HELP.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/HELP.asm" 1 D1:C799 48 45 4C 50 00 - - - cryptocmdHELP: .db "HELP", 0 2 D1:C79E 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:C7AF 45 4E 43 52 59 50 54 20 48 45 4C 50 00 - - - cryptocmdHELPu: .db "ENCRYPT HELP", 0 4 D1:C7BC - - - - cryptocmdHELPf: 5 D1:C7BC 21 CD EA D0 ld hl, FshCmdArgFlags 6 D1:C7C0 CB 56 - - bit 2, (hl) 7 D1:C7C2 28 0C - - jr z, cryptocmdHELPfExe 8 D1:C7C4 21 F2 B3 D1 ld hl, ErrUsageo 9 D1:C7C8 CD 5D B3 D1 call ErrSet 10 D1:C7CC CD 10 B3 D1 call ErrCatch 11 D1:C7D0 - - - - cryptocmdHELPfExe: 12 D1:C7D0 21 2E C8 D1 ld hl, cryptocmdHELPfLine1 13 D1:C7D4 CD C0 07 02 call _PutS 14 D1:C7D8 CD F0 07 02 call _NewLine 15 D1:C7DC - - - - 16 D1:C7DC - - - - #macro cryptocmdHELPmRow1(cmdXs) 17 D1:C7DC xor a 18 D1:C7DC ld (curCol), a 19 D1:C7DC ld hl, cmdXs 20 D1:C7DC call _PutS 21 D1:C7DC call _NewLine 22 D1:C7DC #endmacro 23 D1:C7DC - - - - #macro cryptocmdHELPmRowU(cmdXs, cmdXu) 24 D1:C7DC xor a 25 D1:C7DC ld (curCol), a 26 D1:C7DC ld hl, cmdXs 27 D1:C7DC call _PutS 28 D1:C7DC ld a, ':' 29 D1:C7DC call _PutC 30 D1:C7DC ld a, ' ' 31 D1:C7DC call _PutC 32 D1:C7DC ld hl, cmdXu 33 D1:C7DC call _PutS 34 D1:C7DC call _NewLine 35 D1:C7DC #endmacro 36 D1:C7DC - - - - #macro cryptocmdHELPmRow2(cmdXs, cmdYs) 37 D1:C7DC xor a 38 D1:C7DC ld (curCol), a 39 D1:C7DC ld hl, cmdXs 40 D1:C7DC call _PutS 41 D1:C7DC ld a, 9 42 D1:C7DC ld (curcol), a 43 D1:C7DC ld hl, cmdYs 44 D1:C7DC call _PutS 45 D1:C7DC call _NewLine 46 D1:C7DC #endmacro 47 D1:C7DC - - - - #macro cryptocmdHELPmRow3(cmdXs, cmdYs, cmdZs) 48 D1:C7DC xor a 49 D1:C7DC ld (curCol), a 50 D1:C7DC ld hl, cmdXs 51 D1:C7DC call _PutS 52 D1:C7DC ld a, 9 53 D1:C7DC ld (curcol), a 54 D1:C7DC ld hl, cmdYs 55 D1:C7DC call _PutS 56 D1:C7DC ld a, 19 57 D1:C7DC ld (curcol), a 58 D1:C7DC ld hl, cmdZs 59 D1:C7DC call _PutS 60 D1:C7DC call _NewLine 61 D1:C7DC #endmacro 62 D1:C7DC - - - - 63 D1:C7DC AF 32 96 05 D0 21 8C C5 D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 02 21 C7 C5 D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdHELPmRowU(cryptocmdROT, cryptocmdROTu) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/HELP.asm" 64 D1:C801 AF 32 96 05 D0 21 9A C6 D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 02 21 C0 C6 D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdHELPmRowU(cryptocmdXOR, cryptocmdXORu) 65 D1:C826 - - - - 66 D1:C826 CD F0 07 02 call _NewLine 67 D1:C82A C3 DF A8 D1 jp Fin 68 D1:C82E - - - - 69 D1:C82E 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 "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" 5 D1:C841 - - - - 6 D1:C841 - - - - #include "includes/CryptoCommands/DECRYPT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/DECRYPT.asm" 1 D1:C841 44 45 43 52 59 50 54 00 cryptocmdDECRYPT: .db "DECRYPT", 0 2 D1:C849 02 02 - - cryptocmdDECRYPTo: .dw $0202 3 D1:C84B 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:C894 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:C8B9 - - - - cryptocmdDECRYPTf: 6 D1:C8B9 - - - - cryptocmdDECRYPTfArg0: 7 D1:C8B9 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:C8BD CB 46 - - bit 0, (hl) 9 D1:C8BF 28 10 - - jr z, cryptocmdDECRYPTfArg0Get 10 D1:C8C1 CB 4E - - bit 1, (hl) 11 D1:C8C3 28 24 - - jr z, cryptocmdDECRYPTfExe 12 D1:C8C5 21 F2 B3 D1 ld hl, ErrUsageo 13 D1:C8C9 CD 5D B3 D1 call ErrSet 14 D1:C8CD CD 10 B3 D1 call ErrCatch 15 D1:C8D1 - - - - cryptocmdDECRYPTfArg0Get: 16 D1:C8D1 21 39 C9 D1 ld hl, cryptocmdDECRYPTfSCypher 17 D1:C8D5 CD 21 AB D1 call printprompt 18 D1:C8D9 21 A8 EA D0 ld hl, FshCmdArg0 19 D1:C8DD 11 2C 00 00 ld de, FshCmdInptSize 20 D1:C8E1 CD A9 AD D1 call inputstr 21 D1:C8E5 CD F0 07 02 call _NewLine 22 D1:C8E9 - - - - cryptocmdDECRYPTfExe: 23 D1:C8E9 - - - - 24 D1:C8E9 - - - - #macro cryptocmdDECRYPTcmpjp(cmdX, cmdXf) 25 D1:C8E9 ld hl, FshCmdArg0 26 D1:C8E9 ld de, CmdX 27 D1:C8E9 call strcmp 28 D1:C8E9 jp z, cmdXf 29 D1:C8E9 #endmacro 30 D1:C8E9 - - - - 31 D1:C8E9 21 A8 EA D0 11 42 C9 D1 CD 59 AC D1 CA 92 C9 D1 cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/DECRYPT.asm" 32 D1:C8F9 21 A8 EA D0 11 49 CA D1 CD 59 AC D1 CA 81 CA D1 cryptocmdDECRYPTcmpjp(cryptocmdunXOR, cryptocmdunXORf) 33 D1:C909 21 A8 EA D0 11 5E CB D1 CD 59 AC D1 CA 81 CB D1 cryptocmdDECRYPTcmpjp(cryptocmdunHELP, cryptocmdunHELPf) 34 D1:C919 - - - - 35 D1:C919 21 A8 EA D0 ld hl, FshCmdArg0 36 D1:C91D 11 9F EA D0 ld de, FshCmd 37 D1:C921 CD 6C AC D1 call strcpy 38 D1:C925 - - - - 39 D1:C925 21 6C B3 D1 ld hl, ErrCmdNotFoundo 40 D1:C929 11 CE EA D0 ld de, FshCmdErrCode 41 D1:C92D CD 4A AA D1 call bytecpy 42 D1:C931 CD 5D B3 D1 call ErrSet 43 D1:C935 C3 E7 A8 D1 jp Err 44 D1:C939 - - - - 45 D1:C939 43 79 70 68 65 72 3D 20 00 - - - cryptocmdDECRYPTfSCypher: .db "Cypher= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" 7 D1:C942 - - - - #include "includes/CryptoCommands/unROT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unROT.asm" 1 D1:C942 52 4F 54 00 cryptocmdunROT: .db "ROT", 0 2 D1:C946 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:C97D 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:C992 - - - - cryptocmdunROTf: 5 D1:C992 - - - - cryptocmdunROTfArg1: 6 D1:C992 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:C996 CB 5E - - bit 3, (hl) 8 D1:C998 20 32 - - jr nz, cryptocmdunROTfArg2 9 D1:C99A CB 56 - - bit 2, (hl) 10 D1:C99C 28 0C - - jr z, cryptocmdunROTfArg1Get 11 D1:C99E 21 F2 B3 D1 ld hl, ErrUsageo 12 D1:C9A2 CD 5D B3 D1 call ErrSet 13 D1:C9A6 CD 10 B3 D1 call ErrCatch 14 D1:C9AA - - - - cryptocmdunROTfArg1Get: 15 D1:C9AA 21 2B CA D1 ld hl, cryptocmdunROTfDShift 16 D1:C9AE CD 21 AB D1 call printprompt 17 D1:C9B2 21 B1 EA D0 ld hl, FshCmdArg1 18 D1:C9B6 11 03 00 00 ld de, 3 19 D1:C9BA CD E1 AF D1 call inputnumstr 20 D1:C9BE CD E3 AC D1 call strtow 21 D1:C9C2 11 B1 EA D0 ld de, FshCmdArg1 22 D1:C9C6 EB - - - ex de, hl 23 D1:C9C7 73 - - - ld (hl), e 24 D1:C9C8 CD F0 07 02 call _NewLine 25 D1:C9CC - - - - cryptocmdunROTfArg2: 26 D1:C9CC 21 BA EA D0 ld hl, FshCmdArg2 27 D1:C9D0 11 D1 EA D0 ld de, FshScratch 28 D1:C9D4 CD 6C AC D1 call strcpy 29 D1:C9D8 21 CD EA D0 ld hl, FshCmdArgFlags 30 D1:C9DC CB 66 - - bit 4, (hl) 31 D1:C9DE 28 10 - - jr z, cryptocmdunROTfArg2Get 32 D1:C9E0 CB 6E - - bit 5, (hl) 33 D1:C9E2 28 24 - - jr z, cryptocmdunROTfExe 34 D1:C9E4 21 F2 B3 D1 ld hl, ErrUsageo 35 D1:C9E8 CD 5D B3 D1 call ErrSet 36 D1:C9EC CD 10 B3 D1 call ErrCatch 37 D1:C9F0 - - - - cryptocmdunROTfArg2Get: 38 D1:C9F0 21 33 CA D1 ld hl, cryptocmdunROTfDMessage 39 D1:C9F4 CD 21 AB D1 call printprompt 40 D1:C9F8 21 D1 EA D0 ld hl, FshScratch 41 D1:C9FC 11 10 00 00 ld de, FshScratchSize - 4 42 D1:CA00 CD CD AE D1 call inputcharstr 43 D1:CA04 CD F0 07 02 call _NewLine 44 D1:CA08 - - - - cryptocmdunROTfExe: 45 D1:CA08 21 B1 EA D0 ld hl, FshCmdArg1 46 D1:CA0C 7E - - - ld a, (hl) 47 D1:CA0D 21 D1 EA D0 ld hl, FshScratch 48 D1:CA11 CD BA B6 D1 call rotletdecrypt 49 D1:CA15 E5 - - - push hl 50 D1:CA16 21 40 CA D1 ld hl, cryptocmdunROTfDResult 51 D1:CA1A CD C0 07 02 call _PutS 52 D1:CA1E E1 - - - pop hl 53 D1:CA1F CD C0 07 02 call _PutS 54 D1:CA23 CD F0 07 02 call _NewLine 55 D1:CA27 C3 DF A8 D1 jp Fin 56 D1:CA2B - - - - 57 D1:CA2B 53 68 69 66 74 3D 20 00 cryptocmdunROTfDShift: .db "Shift= ", 0 58 D1:CA33 43 79 70 68 65 72 54 65 78 74 3D 20 00 - - - cryptocmdunROTfDMessage: .db "CypherText= ", 0 59 D1:CA40 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdunROTfDResult: .db "Result: ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" 8 D1:CA49 - - - - #include "includes/CryptoCommands/unXOR.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unXOR.asm" 1 D1:CA49 58 4F 52 00 cryptocmdunXOR: .db "XOR", 0 2 D1:CA4D 58 4F 52 3A 20 43 79 70 68 65 72 2C 20 61 6E 64 20 64 65 63 6F 64 65 73 20 61 20 73 74 72 69 6E 67 00 - - cryptocmdunXORm: .db "XOR: Cypher, and decodes a string", 0 3 D1:CA6F 44 45 43 52 59 50 54 20 58 4F 52 20 3C 6B 65 79 3E 00 - - cryptocmdunXORu: .db "DECRYPT XOR ", 0 4 D1:CA81 - - - - cryptocmdunXORf: 5 D1:CA81 - - - - cryptocmdunXORfArg1: 6 D1:CA81 21 CD EA D0 ld hl, FshCmdArgFlags 7 D1:CA85 CB 56 - - bit 2, (hl) 8 D1:CA87 28 10 - - jr z, cryptocmdunXORfArg1Get 9 D1:CA89 CB 5E - - bit 3, (hl) 10 D1:CA8B 28 24 - - jr z, cryptocmdunXORfArg2 11 D1:CA8D 21 F2 B3 D1 ld hl, ErrUsageo 12 D1:CA91 CD 5D B3 D1 call ErrSet 13 D1:CA95 CD 10 B3 D1 call ErrCatch 14 D1:CA99 - - - - cryptocmdunXORfArg1Get: 15 D1:CA99 21 2E CB D1 ld hl, cryptocmdunXORfDKey 16 D1:CA9D CD 21 AB D1 call printprompt 17 D1:CAA1 21 B1 EA D0 ld hl, FshCmdArg1 18 D1:CAA5 11 08 00 00 ld de, FshCmdCmdSize 19 D1:CAA9 CD A9 AD D1 call inputstr 20 D1:CAAD CD F0 07 02 call _NewLine 21 D1:CAB1 - - - - cryptocmdunXORfArg2: 22 D1:CAB1 21 BA EA D0 ld hl, FshCmdArg2 23 D1:CAB5 11 D1 EA D0 ld de, FshScratch 24 D1:CAB9 CD 6C AC D1 call strcpy 25 D1:CABD 21 CD EA D0 ld hl, FshCmdArgFlags 26 D1:CAC1 CB 66 - - bit 4, (hl) 27 D1:CAC3 20 45 - - jr nz, cryptocmdunXORfExe 28 D1:CAC5 - - - - cryptocmdunXORfArg2Get: 29 D1:CAC5 21 4E CB D1 ld hl, cryptocmdunXORfStringPBuffer 30 D1:CAC9 06 0F - - ld b, $0F 31 D1:CACB 3E 00 - - ld a, $00 32 D1:CACD CD 6B AA D1 call memset 33 D1:CAD1 21 34 CB D1 ld hl, cryptocmdunXORfDMessage 34 D1:CAD5 CD 21 AB D1 call printprompt 35 D1:CAD9 21 D1 EA D0 ld hl, FshScratch 36 D1:CADD 11 10 00 00 ld de, FshScratchSize - 4 37 D1:CAE1 CD A9 AD D1 call inputstr 38 D1:CAE5 01 4E CB D1 ld bc, cryptocmdunXORfStringPBuffer 39 D1:CAE9 - - - - cryptocmdunXORfArg2GetLoop: 40 D1:CAE9 7E - - - ld a, (hl) 41 D1:CAEA B7 - - - or a, a 42 D1:CAEB 28 19 - - jr z, cryptocmdunXORfArg2GetLoopEnd 43 D1:CAED 32 4A CB D1 ld (cryptocmdunXORfStringBuffer), a 44 D1:CAF1 23 - - - inc hl 45 D1:CAF2 7E - - - ld a, (hl) 46 D1:CAF3 32 4B CB D1 ld (cryptocmdunXORfStringBuffer + 1), a 47 D1:CAF7 E5 - - - push hl 48 D1:CAF8 21 4A CB D1 ld hl, cryptocmdunXORfStringBuffer 49 D1:CAFC CD 1C AC D1 call hexToA 50 D1:CB00 E1 - - - pop hl 51 D1:CB01 02 - - - ld (bc), a 52 D1:CB02 23 - - - inc hl 53 D1:CB03 03 - - - inc bc 54 D1:CB04 18 E3 - - jr cryptocmdunXORfArg2GetLoop 55 D1:CB06 - - - - cryptocmdunXORfArg2GetLoopEnd: 56 D1:CB06 CD F0 07 02 call _NewLine 57 D1:CB0A - - - - cryptocmdunXORfExe: 58 D1:CB0A 21 4E CB D1 ld hl, cryptocmdunXORfStringPBuffer 59 D1:CB0E 11 B1 EA D0 ld de, FshCmdArg1 60 D1:CB12 CD 23 B7 D1 call xorcrypt 61 D1:CB16 21 41 CB D1 ld hl, cryptocmdunXORfDResult 62 D1:CB1A CD C0 07 02 call _PutS 63 D1:CB1E 21 4E CB D1 ld hl, cryptocmdunXORfStringPBuffer 64 D1:CB22 CD C0 07 02 call _PutS 65 D1:CB26 CD F0 07 02 call _NewLine 66 D1:CB2A C3 DF A8 D1 jp Fin 67 D1:CB2E - - - - 68 D1:CB2E 4B 65 79 3D 20 00 - - cryptocmdunXORfDKey: .db "Key= ", 0 69 D1:CB34 43 79 70 68 65 72 54 65 78 74 3D 20 00 - - - cryptocmdunXORfDMessage: .db "CypherText= ", 0 70 D1:CB41 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdunXORfDResult: .db "Result: ", 0 71 D1:CB4A 00 00 00 00 cryptocmdunXORfStringBuffer: .db $00, $00, $00, $00 72 D1:CB4E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cryptocmdunXORfStringPBuffer: .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" 9 D1:CB5E - - - - #include "includes/CryptoCommands/unHELP.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unHELP.asm" 1 D1:CB5E 48 45 4C 50 00 - - - cryptocmdunHELP: .db "HELP", 0 2 D1:CB63 48 65 6C 70 20 66 6F 72 20 63 79 70 68 65 72 73 00 - - - cryptocmdunHELPm: .db "Help for cyphers", 0 3 D1:CB74 44 45 43 52 59 50 54 20 48 45 4C 50 00 - - - cryptocmdunHELPu: .db "DECRYPT HELP", 0 4 D1:CB81 - - - - cryptocmdunHELPf: 5 D1:CB81 21 CD EA D0 ld hl, FshCmdArgFlags 6 D1:CB85 CB 56 - - bit 2, (hl) 7 D1:CB87 28 0C - - jr z, cryptocmdunHELPfExe 8 D1:CB89 21 F2 B3 D1 ld hl, ErrUsageo 9 D1:CB8D CD 5D B3 D1 call ErrSet 10 D1:CB91 CD 10 B3 D1 call ErrCatch 11 D1:CB95 - - - - cryptocmdunHELPfExe: 12 D1:CB95 21 F3 CB D1 ld hl, cryptocmdunHELPfLine1 13 D1:CB99 CD C0 07 02 call _PutS 14 D1:CB9D CD F0 07 02 call _NewLine 15 D1:CBA1 - - - - 16 D1:CBA1 - - - - #macro cryptocmdunHELPmRow1(cmdXs) 17 D1:CBA1 xor a 18 D1:CBA1 ld (curCol), a 19 D1:CBA1 ld hl, cmdXs 20 D1:CBA1 call _PutS 21 D1:CBA1 call _NewLine 22 D1:CBA1 #endmacro 23 D1:CBA1 - - - - #macro cryptocmdunHELPmRowU(cmdXs, cmdXu) 24 D1:CBA1 xor a 25 D1:CBA1 ld (curCol), a 26 D1:CBA1 ld hl, cmdXs 27 D1:CBA1 call _PutS 28 D1:CBA1 ld a, ':' 29 D1:CBA1 call _PutC 30 D1:CBA1 ld a, ' ' 31 D1:CBA1 call _PutC 32 D1:CBA1 ld hl, cmdXu 33 D1:CBA1 call _PutS 34 D1:CBA1 call _NewLine 35 D1:CBA1 #endmacro 36 D1:CBA1 - - - - #macro cryptocmdunHELPmRow2(cmdXs, cmdYs) 37 D1:CBA1 xor a 38 D1:CBA1 ld (curCol), a 39 D1:CBA1 ld hl, cmdXs 40 D1:CBA1 call _PutS 41 D1:CBA1 ld a, 9 42 D1:CBA1 ld (curcol), a 43 D1:CBA1 ld hl, cmdYs 44 D1:CBA1 call _PutS 45 D1:CBA1 call _NewLine 46 D1:CBA1 #endmacro 47 D1:CBA1 - - - - #macro cryptocmdunHELPmRow3(cmdXs, cmdYs, cmdZs) 48 D1:CBA1 xor a 49 D1:CBA1 ld (curCol), a 50 D1:CBA1 ld hl, cmdXs 51 D1:CBA1 call _PutS 52 D1:CBA1 ld a, 9 53 D1:CBA1 ld (curcol), a 54 D1:CBA1 ld hl, cmdYs 55 D1:CBA1 call _PutS 56 D1:CBA1 ld a, 19 57 D1:CBA1 ld (curcol), a 58 D1:CBA1 ld hl, cmdZs 59 D1:CBA1 call _PutS 60 D1:CBA1 call _NewLine 61 D1:CBA1 #endmacro 62 D1:CBA1 - - - - 63 D1:CBA1 AF 32 96 05 D0 21 42 C9 D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 02 21 7D C9 D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdunHELPmRowU(cryptocmdunROT, cryptocmdunROTu) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unHELP.asm" 64 D1:CBC6 AF 32 96 05 D0 21 49 CA D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 02 21 6F CA D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdunHELPmRowU(cryptocmdunXOR, cryptocmdunXORu) 65 D1:CBEB - - - - 66 D1:CBEB CD F0 07 02 call _NewLine 67 D1:CBEF C3 DF A8 D1 jp Fin 68 D1:CBF3 - - - - 69 D1:CBF3 41 76 61 69 6C 61 62 6C 65 20 43 72 79 70 74 6F 73 3A 00 - cryptocmdunHELPfLine1: .db "Available Cryptos:", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Command.asm" 51 D1:CC06 - - - - #include "includes/PrgmCommands/PrgmCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommand.asm" 1 D1:CC06 - - - - prgmcmddecode: 2 D1:CC06 E5 D5 11 50 CC D1 CD 59 AC D1 21 55 CC D1 D1 CC 52 AA D1 E1 decodecmdopt(prgmcmdPRGM, prgmcmdPRGMo) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommand.asm" 3 D1:CC1A C9 - - - ret 4 D1:CC1B - - - - 5 D1:CC1B - - - - prgmcmdroute: 6 D1:CC1B C1 - - - pop bc 7 D1:CC1C 11 55 CC D1 CD 5E AA D1 CA 61 CC D1 routeoptjp(prgmcmdPRGMo, prgmcmdPRGMf) 8 D1:CC28 C5 - - - push bc 9 D1:CC29 C9 - - - ret 10 D1:CC2A - - - - 11 D1:CC2A - - - - prgmcmdmanroute: 12 D1:CC2A C1 - - - pop bc 13 D1:CC2B 11 50 CC D1 CD 59 AC D1 11 57 CC D1 CA 99 B7 D1 routestrjp(prgmcmdPRGM, prgmcmdPRGMm) 14 D1:CC3B C5 - - - push bc 15 D1:CC3C C9 - - - ret 16 D1:CC3D - - - - 17 D1:CC3D - - - - 18 D1:CC3D - - - - prgmcmdmanrouteu: 19 D1:CC3D C1 - - - pop bc 20 D1:CC3E 11 50 CC D1 CD 59 AC D1 11 5C CC D1 CA AF B7 D1 routeustrjp(prgmcmdPRGM, prgmcmdPRGMu) 21 D1:CC4E C5 - - - push bc 22 D1:CC4F C9 - - - ret 23 D1:CC50 - - - - 24 D1:CC50 - - - - #include "includes/PrgmCommands/PrgmCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommands.inc" 1 D1:CC50 - - - - #include "includes/PrgmCommands/PRGM.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PRGM.asm" 1 D1:CC50 50 52 47 4D 00 - - - prgmcmdPRGM: .db "PRGM", 0 2 D1:CC55 00 01 - - prgmcmdPRGMo: .dw $0100 3 D1:CC57 68 65 6C 70 00 - - - prgmcmdPRGMm: .db "help", 0 4 D1:CC5C 50 52 47 4D 00 - - - prgmcmdPRGMu: .db "PRGM", 0 5 D1:CC61 - - - - prgmcmdPRGMf: 6 D1:CC61 - - - - prgmcmdPRGMfCheckArgs: 7 D1:CC61 21 CD EA D0 ld hl, FshCmdArgFlags 8 D1:CC65 CB 46 - - bit 0, (hl) 9 D1:CC67 28 10 - - jr z, prgmcmdPRGMfArg0Get 10 D1:CC69 CB 4E - - bit 1, (hl) 11 D1:CC6B 28 24 - - jr z, prgmcmdPRGMfExe 12 D1:CC6D 21 F2 B3 D1 ld hl, ErrUsageo 13 D1:CC71 CD 5D B3 D1 call ErrSet 14 D1:CC75 CD 10 B3 D1 call ErrCatch 15 D1:CC79 - - - - prgmcmdPRGMfArg0Get: 16 D1:CC79 21 B3 CC D1 ld hl, prgmcmdPRGMfPrompt 17 D1:CC7D CD 21 AB D1 call printprompt 18 D1:CC81 - - - - 19 D1:CC81 21 A8 EA D0 ld hl, FshCmdArg0 20 D1:CC85 11 08 00 00 ld de, 8 21 D1:CC89 CD A9 AD D1 call inputstr 22 D1:CC8D CD F0 07 02 call _NewLine 23 D1:CC91 - - - - 24 D1:CC91 - - - - prgmcmdPRGMfExe: 25 D1:CC91 21 A8 EA D0 ld hl, fshCmdArg0 26 D1:CC95 11 AA CC D1 ld de, prgmcmdPRGMSprgm + 1 27 D1:CC99 CD 6C AC D1 call strcpy 28 D1:CC9D - - - - 29 D1:CC9D 21 A9 CC D1 ld hl, prgmcmdPRGMSprgm 30 D1:CCA1 CD 20 03 02 call _Mov9ToOP1 31 D1:CCA5 - - - - 32 D1:CCA5 C3 34 B5 D1 jp prgmrun 33 D1:CCA9 - - - - 34 D1:CCA9 05 00 00 00 00 00 00 00 00 00 - - prgmcmdPRGMSprgm: .db ProgObj, 0, 0, 0, 0, 0, 0, 0, 0, 0 35 D1:CCB3 50 72 67 6D 3D 00 - - prgmcmdPRGMfPrompt: .db "Prgm=", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Command.asm" Listing for file "FSHa.asm" 77 D1:CCB9 - - - - 78 D1:CCB9 45 4E 44 46 53 48 41 - .db "ENDFSHA" 79 D1:CCC0 - - - - 80 D1:CCC0 - - - - .end