fsh-shell/bin/FSHa.lst

4642 lines
188 KiB
Plaintext

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"
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 4C 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 94 B6 D1 CALL commanddecode
44 D1:A8D7 - - - -
45 D1:A8D7 - - - - Route:
46 D1:A8D7 21 CF EA D0 LD HL, FshCmdOP
47 D1:A8DB C3 A1 B6 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 35 33 30 00 FshVBuild: .db "530", 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 7E B6 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 prgmloadersize prgmloaderend - prgmloader
2 D1:B534 - - - - #define prgmunloadersize prgmunloaderend - prgmunloader
3 D1:B534 - - - - #define prgm_to_usermem_size prgm_to_usermem_end - prgm_to_usermem
4 D1:B534 - - - - prgmloaderloc equ SafeSScreen
5 D1:B534 - - - - prgmunloaderloc equ SafeSScreen + prgmloadersize
6 D1:B534 - - - - prgm_to_usermem_loc equ SafeSScreen + prgmloadersize + prgmunloadersize
7 D1:B534 - - - -
8 D1:B534 - - - -
9 D1:B534 - - - - prgmbasic:
10 D1:B534 - - - -
11 D1:B534 - - - - prgmasm:
12 D1:B534 CD 18 08 02 call _ClrTxtShdw
13 D1:B538 CD 28 08 02 call _HomeUp
14 D1:B53C CD 44 08 02 call _RunIndicOn
15 D1:B540 CD 44 11 02 call _APDSetup
16 D1:B544 CD 38 11 02 call _EnableAPD
17 D1:B548 C3 D5 EE D0 jp prgmloaderloc
18 D1:B54C - - - -
19 D1:B54C - - - - prgminstallload:
20 D1:B54C 21 77 B5 D1 ld hl, prgmmov_start
21 D1:B550 11 D5 EE D0 ld de, prgmloaderloc
22 D1:B554 01 17 00 00 ld bc, prgmloadersize
23 D1:B558 ED B0 - - ldir
24 D1:B55A 21 8E B5 D1 ld hl, prgmmov_start + prgmloadersize
25 D1:B55E 11 34 B5 D1 ld de, prgmunloaderloc
26 D1:B562 01 14 00 00 ld bc, prgmunloadersize
27 D1:B566 ED B0 - - ldir
28 D1:B568 21 A2 B5 D1 ld hl, prgmmov_start + prgmloadersize + prgmunloadersize
29 D1:B56C 11 34 B5 D1 ld de, prgm_to_usermem_loc
30 D1:B570 01 44 00 00 ld bc, prgm_to_usermem_size
31 D1:B574 ED B0 - - ldir
32 D1:B576 C9 - - - ret
33 D1:B577 - - - -
34 D1:B577 - - - - prgmmov_start:
35 D1:B577 - - - -
36 D1:B577 - - - - .org SafeSScreen
37 D0:EED5 - - - -
38 D0:EED5 - - - - prgmmov:
39 D0:EED5 - - - -
40 D0:EED5 - - - - prgmloader:
41 D0:EED5 3E 73 - - ld a, 's'
42 D0:EED7 CD B8 07 02 call _PutC
43 D0:EEDB CD 34 B5 D1 call prgm_to_usermem_loc
44 D0:EEDF 21 EC EE D0 ld hl, prgmunloader
45 D0:EEE3 E5 - - - push hl
46 D0:EEE4 FD CB 0D D6 set appAutoScroll,(iy + appflags)
47 D0:EEE8 C3 81 A8 D1 jp userMem
48 D0:EEEC - - - - prgmloaderend:
49 D0:EEEC - - - -
50 D0:EEEC - - - - prgmunloader:
51 D0:EEEC 21 44 EF D0 ld hl, prgmFsh
52 D0:EEF0 CD 20 03 02 call _Mov9ToOP1
53 D0:EEF4 CD 00 EF D0 call prgm_to_usermem
54 D0:EEF8 CD 48 08 02 call _RunIndicOff
55 D0:EEFC C3 DF A8 D1 jp Fin
56 D0:EF00 - - - - prgmunloaderend:
57 D0:EF00 - - - -
58 D0:EF00 - - - - prgm_to_usermem:
59 D0:EF00 3E 09 - - ld a,$9 ; 'add hl,bc'
60 D0:EF02 32 40 EF D0 ld (prgm_to_usermem.smc),a
61 D0:EF06 CD 0C 05 02 call _ChkFindSym
62 D0:EF0A CD 98 1F 02 call _ChkInRam
63 D0:EF0E EB - - - ex de,hl
64 D0:EF0F 28 0D - - jr z, prgm_to_usermem.in_ram
65 D0:EF11 AF - - - xor a,a
66 D0:EF12 32 40 EF D0 ld (prgm_to_usermem.smc),a
67 D0:EF16 11 09 00 00 ld de,9
68 D0:EF1A 19 - - - add hl,de
69 D0:EF1B 5E - - - ld e,(hl)
70 D0:EF1C 19 - - - add hl,de
71 D0:EF1D 23 - - - inc hl
72 D0:EF1E - - - - prgm_to_usermem.in_ram: ; hl -> size bytes
73 D0:EF1E CD 9C 1D 02 call _LoadDEInd_s
74 D0:EF22 23 - - - inc hl
75 D0:EF23 23 - - - inc hl ; bypass tExtTok, tAsm84CECmp
76 D0:EF24 E5 - - - push hl
77 D0:EF25 D5 - - - push de
78 D0:EF26 EB - - - ex de,hl
79 D0:EF27 CD 2C 07 02 call _ErrNotEnoughMem; check and see if we have enough memory
80 D0:EF2B E1 - - - pop hl
81 D0:EF2C 22 8C 11 D0 ld (asm_prgm_size),hl ; store the size of the program
82 D0:EF30 11 81 A8 D1 ld de,userMem
83 D0:EF34 D5 - - - push de
84 D0:EF35 CD 14 05 02 call _InsertMem; insert memory into usermem
85 D0:EF39 D1 - - - pop de
86 D0:EF3A E1 - - - pop hl ; hl -> start of program
87 D0:EF3B ED 4B 8C 11
D0 - - - ld bc,(asm_prgm_size) ; load size of current program
88 D0:EF40 - - - - prgm_to_usermem.smc equ $
89 D0:EF40 09 - - - add hl,bc ; if not in ram smc it so it doesn't execute
90 D0:EF41 ED B0 - - ldir ; copy the program to userMem
91 D0:EF43 C9 - - - ret
92 D0:EF44 - - - - prgm_to_usermem_end:
93 D0:EF44 - - - -
94 D0:EF44 05 46 53 48
41 00 - - prgmFsh: .db ProgObj, "FSHA", 0
95 D0:EF4A - - - -
96 D0:EF4A - - - - prgmmov_end:
97 D0:EF4A - - - -
98 D0:EF4A - - - - .org prgmmov_start
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:B577 - - - - #include "includes/lib/crypto/crypto.inc"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/crypto.inc"
1 D1:B577 - - - - #include "includes/lib/crypto/Rot.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/Rot.asm"
1 D1:B577 - - - - ;;rotletencrypt
2 D1:B577 - - - - ;;Encrypts a string in rot-n (uses $41 to $5B)
3 D1:B577 - - - - ;;Inputs:
4 D1:B577 - - - - ;; HL: string pointer
5 D1:B577 - - - - ;; A: rot-n
6 D1:B577 - - - - ;;Notes:
7 D1:B577 - - - - ;; Changes string in place.
8 D1:B577 - - - - rotletencrypt:
9 D1:B577 E5 - - - push hl
10 D1:B578 C5 - - - push bc
11 D1:B579 - - - - rotletencryptMod:
12 D1:B579 E5 - - - push hl
13 D1:B57A 67 - - - ld h, a
14 D1:B57B 2E 19 - - ld l, 'Z' + 1 - 'A' - 1
15 D1:B57D CD A6 A9 D1 call modHL
16 D1:B581 44 - - - ld b, h
17 D1:B582 E1 - - - pop hl
18 D1:B583 - - - - rotletencryptLoop:
19 D1:B583 7E - - - ld a, (hl)
20 D1:B584 FE 00 - - cp a, $00
21 D1:B586 28 0F - - jr z, rotletencryptEnd
22 D1:B588 FE 20 - - cp a, ' '
23 D1:B58A 28 07 - - jr z, rotletencryptLD
24 D1:B58C 80 - - - add a, b
25 D1:B58D FE 5C - - cp a, 'Z' + 2
26 D1:B58F 38 02 - - jr c , rotletencryptLD
27 D1:B591 D6 1B - - sub a, 'Z' + 2 - 'A'
28 D1:B593 - - - - rotletencryptLD:
29 D1:B593 77 - - - ld (hl), a
30 D1:B594 23 - - - inc hl
31 D1:B595 18 EC - - jr rotletencryptLoop
32 D1:B597 - - - - rotletencryptEnd:
33 D1:B597 36 00 - - ld (hl), $00
34 D1:B599 C1 - - - pop bc
35 D1:B59A E1 - - - pop hl
36 D1:B59B C9 - - - ret
37 D1:B59C - - - -
38 D1:B59C - - - - ;;rotletdecrypt
39 D1:B59C - - - - ;;Decrypts a string in rot-n (uses $41 to $5B)
40 D1:B59C - - - - ;;Inputs:
41 D1:B59C - - - - ;; HL: string pointer
42 D1:B59C - - - - ;; A: rot-n
43 D1:B59C - - - - ;;Notes:
44 D1:B59C - - - - ;; Changes string in place.
45 D1:B59C - - - - rotletdecrypt:
46 D1:B59C E5 - - - push hl
47 D1:B59D C5 - - - push bc
48 D1:B59E - - - - rotletdecryptMod:
49 D1:B59E E5 - - - push hl
50 D1:B59F 67 - - - ld h, a
51 D1:B5A0 2E 19 - - ld l, 'Z' + 1 - 'A' - 1
52 D1:B5A2 CD A6 A9 D1 call modHL
53 D1:B5A6 44 - - - ld b, h
54 D1:B5A7 E1 - - - pop hl
55 D1:B5A8 - - - - rotletdecryptLoop:
56 D1:B5A8 7E - - - ld a, (hl)
57 D1:B5A9 FE 00 - - cp a, $00
58 D1:B5AB 28 0F - - jr z, rotletdecryptEnd
59 D1:B5AD FE 20 - - cp a, ' '
60 D1:B5AF 28 07 - - jr z, rotletdecryptLD
61 D1:B5B1 90 - - - sub a, b
62 D1:B5B2 FE 41 - - cp a, 'A'
63 D1:B5B4 30 02 - - jr nc , rotletdecryptLD
64 D1:B5B6 C6 1B - - add a, 'Z' + 2 - 'A'
65 D1:B5B8 - - - - rotletdecryptLD:
66 D1:B5B8 77 - - - ld (hl), a
67 D1:B5B9 23 - - - inc hl
68 D1:B5BA 18 EC - - jr rotletdecryptLoop
69 D1:B5BC - - - - rotletdecryptEnd:
70 D1:B5BC 36 00 - - ld (hl), $00
71 D1:B5BE C1 - - - pop bc
72 D1:B5BF E1 - - - pop hl
73 D1:B5C0 C9 - - - ret
74 D1:B5C1 - - - -
75 D1:B5C1 - - - - ;;rotasciiencrypt
76 D1:B5C1 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF)
77 D1:B5C1 - - - - ;;Inputs:
78 D1:B5C1 - - - - ;; HL: string pointer
79 D1:B5C1 - - - - ;; A: x
80 D1:B5C1 - - - - ;;Notes:
81 D1:B5C1 - - - - ;; Changes string in place.
82 D1:B5C1 - - - - rotasciiencrypt:
83 D1:B5C1 E5 - - - push hl
84 D1:B5C2 C5 - - - push bc
85 D1:B5C3 0E 00 - - ld c, 0
86 D1:B5C5 4F - - - ld c, a
87 D1:B5C6 - - - - rotasciiencryptLoop:
88 D1:B5C6 7E - - - ld a, (hl)
89 D1:B5C7 FE 00 - - cp 0
90 D1:B5C9 28 13 - - jr z, rotasciiencryptEnd
91 D1:B5CB 81 - - - add a, c
92 D1:B5CC FE 00 - - cp 0
93 D1:B5CE 20 01 - - jr nz, rotasciiencryptLd
94 D1:B5D0 3C - - - inc a
95 D1:B5D1 - - - - rotasciiencryptLd:
96 D1:B5D1 77 - - - ld (hl), a
97 D1:B5D2 23 - - - inc hl
98 D1:B5D3 FE EF - - cp a, $EF
99 D1:B5D5 38 EF - - jr c, rotasciiencryptLoop
100 D1:B5D7 2B - - - dec hl
101 D1:B5D8 D6 0F - - sub a, $0F
102 D1:B5DA 77 - - - ld (hl), a
103 D1:B5DB 23 - - - inc hl
104 D1:B5DC 18 E8 - - jr rotasciiencryptLoop
105 D1:B5DE - - - - rotasciiencryptEnd:
106 D1:B5DE 36 00 - - ld (hl), $00
107 D1:B5E0 C1 - - - pop bc
108 D1:B5E1 E1 - - - pop hl
109 D1:B5E2 C9 - - - ret
110 D1:B5E3 - - - -
111 D1:B5E3 - - - - ;;rotasciidecrypt
112 D1:B5E3 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF)
113 D1:B5E3 - - - - ;;Inputs:
114 D1:B5E3 - - - - ;; HL: string pointer
115 D1:B5E3 - - - - ;; A: x
116 D1:B5E3 - - - - ;;Notes:
117 D1:B5E3 - - - - ;; Changes string in place.
118 D1:B5E3 - - - - rotasciidecrypt:
119 D1:B5E3 E5 - - - push hl
120 D1:B5E4 C5 - - - push bc
121 D1:B5E5 0E 00 - - ld c, 0
122 D1:B5E7 4F - - - ld c, a
123 D1:B5E8 - - - - rotasciidecryptLoop:
124 D1:B5E8 7E - - - ld a, (hl)
125 D1:B5E9 FE 00 - - cp 0
126 D1:B5EB 28 13 - - jr z, rotasciidecryptEnd
127 D1:B5ED 91 - - - sub a, c
128 D1:B5EE FE 00 - - cp 0
129 D1:B5F0 20 01 - - jr nz, rotasciidecryptLd
130 D1:B5F2 3D - - - dec a
131 D1:B5F3 - - - - rotasciidecryptLd:
132 D1:B5F3 77 - - - ld (hl), a
133 D1:B5F4 23 - - - inc hl
134 D1:B5F5 FE EF - - cp a, $EF
135 D1:B5F7 38 EF - - jr c, rotasciidecryptLoop
136 D1:B5F9 2B - - - dec hl
137 D1:B5FA C6 0F - - add a, $0F
138 D1:B5FC 77 - - - ld (hl), a
139 D1:B5FD 23 - - - inc hl
140 D1:B5FE 18 E8 - - jr rotasciidecryptLoop
141 D1:B600 - - - - rotasciidecryptEnd:
142 D1:B600 36 00 - - ld (hl), $00
143 D1:B602 C1 - - - pop bc
144 D1:B603 E1 - - - pop hl
145 D1:B604 C9 - - - ret
146 D1:B605 - - - -
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/crypto.inc"
2 D1:B605 - - - - #include "includes/lib/crypto/Xor.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/Xor.asm"
1 D1:B605 - - - - ;;xorcrypt
2 D1:B605 - - - - ;;<en><de>crypts a string using xor
3 D1:B605 - - - - ;;Inputs:
4 D1:B605 - - - - ;; HL: string pointer
5 D1:B605 - - - - ;; DE: seed pointer (shorter)
6 D1:B605 - - - - ;;Notes:
7 D1:B605 - - - - ;; Changes string in place.
8 D1:B605 - - - - xorcrypt:
9 D1:B605 E5 - - - push hl
10 D1:B606 D5 - - - push de
11 D1:B607 C5 - - - push bc
12 D1:B608 CD 48 AC D1 call strlen
13 D1:B60C D5 - - - push de
14 D1:B60D E5 - - - push hl
15 D1:B60E 21 00 00 00 ld hl, 0
16 D1:B612 60 - - - ld h, b
17 D1:B613 69 - - - ld l, c
18 D1:B614 EB - - - ex de, hl
19 D1:B615 CD 48 AC D1 call strlen
20 D1:B619 EB - - - ex de, hl
21 D1:B61A 7D - - - ld a, l ;C = len(seed) l=len(string)
22 D1:B61B 91 - - - sub a,c
23 D1:B61C D2 26 B6 D1 jp nc, xorcryptNSmaller
24 D1:B620 0E 01 - - ld c, $01
25 D1:B622 3E 00 - - ld a, 0
26 D1:B624 2E 00 - - ld l, 0
27 D1:B626 - - - - xorcryptNSmaller:
28 D1:B626 0D - - - dec c
29 D1:B627 D2 2D B6 D1 jp nc, xorcryptNSmaller2
30 D1:B62B 0E 00 - - ld c, 0
31 D1:B62D - - - - xorcryptNSmaller2:
32 D1:B62D 41 - - - ld b, c
33 D1:B62E 4D - - - ld c, l ;b=len(seed) c=len(string)
34 D1:B62F E1 - - - pop hl
35 D1:B630 B7 - - - or a, a
36 D1:B631 D1 - - - pop de
37 D1:B632 28 2C - - jr z, xorcryptEnd
38 D1:B634 D5 - - - push de
39 D1:B635 EB - - - ex de, hl; hl=seed
40 D1:B636 E1 - - - pop hl
41 D1:B637 C5 - - - push bc
42 D1:B638 D5 - - - push de
43 D1:B639 11 00 00 00 ld de, 0
44 D1:B63D 58 - - - ld e, b
45 D1:B63E 01 00 00 00 ld bc, 0
46 D1:B642 4B - - - ld c, e
47 D1:B643 09 - - - add hl, bc
48 D1:B644 D1 - - - pop de
49 D1:B645 C1 - - - pop bc
50 D1:B646 23 - - - inc hl
51 D1:B647 36 80 - - ld (hl), %10000000
52 D1:B649 C5 - - - push bc
53 D1:B64A 05 - - - dec b
54 D1:B64B 3E FF - - ld a, $FF
55 D1:B64D B8 - - - cp a, b
56 D1:B64E 28 0B - - jr z, xorcryptPadLoopEnd
57 D1:B650 3E 00 - - ld a, $00
58 D1:B652 B8 - - - cp a, b
59 D1:B653 20 01 - - jr nz, xorcryptPadLoop
60 D1:B655 04 - - - inc b
61 D1:B656 - - - - xorcryptPadLoop:
62 D1:B656 23 - - - inc hl
63 D1:B657 36 65 - - ld (hl), 'e'
64 D1:B659 10 FB - - djnz xorcryptPadLoop
65 D1:B65B - - - - xorcryptPadLoopEnd:
66 D1:B65B C1 - - - pop bc
67 D1:B65C 70 - - - ld (hl), b
68 D1:B65D 23 - - - inc hl
69 D1:B65E 36 00 - - ld (hl), $00
70 D1:B660 - - - - xorcryptEnd:
71 D1:B660 C1 - - - pop bc
72 D1:B661 D1 - - - pop de
73 D1:B662 E1 - - - pop hl
74 D1:B663 - - - - ;push hl
75 D1:B663 - - - - ;xorcryptRandLoop:
76 D1:B663 - - - - ;ld a, (hl)
77 D1:B663 - - - - ;or a, a
78 D1:B663 - - - - ;jr z, xorcryptRandLoopEnd
79 D1:B663 - - - - ;call randomint
80 D1:B663 - - - - ;or a, a
81 D1:B663 - - - - ;jr nz, xorcryptRandLoopLD
82 D1:B663 - - - - ;ld a, '/'
83 D1:B663 - - - - ;xorcryptRandLoopLD:
84 D1:B663 - - - - ;ld (hl), a
85 D1:B663 - - - - ;inc hl
86 D1:B663 - - - - ;jr xorcryptRandLoop
87 D1:B663 - - - - ;xorcryptRandLoopEnd:
88 D1:B663 - - - - ;pop hl
89 D1:B663 CD 8B AD D1 call strxor
90 D1:B667 C9 - - - ret
91 D1:B668 - - - -
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:B668 - - - -
75 D1:B668 - - - - #include "includes/man-db.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/man-db.asm"
1 D1:B668 - - - - ;;TODO: move module specific macros to diffrent file
2 D1:B668 - - - - ;;manroute
3 D1:B668 - - - - ;;routes command string to discription
4 D1:B668 - - - - ;;Inputs:
5 D1:B668 - - - - ;; HL: Command String
6 D1:B668 - - - - ;;Outputs:
7 D1:B668 - - - - ;; HL: Command Discription String
8 D1:B668 - - - - manroute:
9 D1:B668 D5 - - - push de
10 D1:B669 - - - - #macro routestrjp(cmdXs, cmdXm)
11 D1:B669 ld de, cmdXs
12 D1:B669 call strcmp
13 D1:B669 ld de, cmdXm
14 D1:B669 jp z, manrouteReturn
15 D1:B669 #endmacro
16 D1:B669 - - - -
17 D1:B669 - - - - #macro subroutestrjp(cmdXs, cmdYs, cmdYm)
18 D1:B669 push hl
19 D1:B669 ld de, cmdXs
20 D1:B669 call strcmp
21 D1:B669 ld hl, 0
22 D1:B669 jr nz, +_
23 D1:B669 ld hl, FshCmdArg1
24 D1:B669 _:
25 D1:B669 ld de, cmdYs
26 D1:B669 call strcmp
27 D1:B669 pop hl
28 D1:B669 ld de, cmdYm
29 D1:B669 jp z, manrouteReturn
30 D1:B669 #endmacro
31 D1:B669 - - - -
32 D1:B669 CD 25 B8 D1 call fshcmdmanroute
33 D1:B66D CD 77 C1 D1 call cryptocmdmanroute
34 D1:B671 - - - - ;Extention Point
35 D1:B671 - - - -
36 D1:B671 21 CE EA D0 ld hl, FshCmdErrCode
37 D1:B675 36 01 - - ld (hl), $01
38 D1:B677 11 00 00 00 ld de, $00
39 D1:B67B - - - - manrouteReturn:
40 D1:B67B EB - - - ex de, hl
41 D1:B67C D1 - - - pop de
42 D1:B67D C9 - - - ret
43 D1:B67E - - - -
44 D1:B67E - - - - ;;manrouteu
45 D1:B67E - - - - ;;routes command string to usage
46 D1:B67E - - - - ;;Inputs:
47 D1:B67E - - - - ;; HL: Command String
48 D1:B67E - - - - ;;Outputs:
49 D1:B67E - - - - ;; HL: Command Usage String
50 D1:B67E - - - - manrouteu:
51 D1:B67E D5 - - - push de
52 D1:B67F - - - - #macro routeustrjp(cmdXs, cmdXu)
53 D1:B67F ld de, cmdXs
54 D1:B67F call strcmp
55 D1:B67F ld de, cmdXu
56 D1:B67F jp z, manrouteuReturn
57 D1:B67F #endmacro
58 D1:B67F - - - -
59 D1:B67F - - - - #macro subrouteustrjp(cmdXs, cmdYs, cmdYu)
60 D1:B67F push hl
61 D1:B67F ld de, cmdXs
62 D1:B67F call strcmp
63 D1:B67F ld hl, 0
64 D1:B67F jr nz, +_
65 D1:B67F ld hl, FshCmdArg1
66 D1:B67F _:
67 D1:B67F ld de, cmdYs
68 D1:B67F call strcmp
69 D1:B67F pop hl
70 D1:B67F ld de, cmdYu
71 D1:B67F jp z, manrouteuReturn
72 D1:B67F #endmacro
73 D1:B67F - - - -
74 D1:B67F CD D8 B8 D1 call fshcmdmanrouteu
75 D1:B683 CD 72 C2 D1 call cryptocmdmanrouteu
76 D1:B687 - - - - ;Extention Point
77 D1:B687 - - - -
78 D1:B687 21 CE EA D0 ld hl, FshCmdErrCode
79 D1:B68B 36 01 - - ld (hl), $01
80 D1:B68D 11 00 00 00 ld de, $00
81 D1:B691 - - - - manrouteuReturn:
82 D1:B691 EB - - - ex de, hl
83 D1:B692 D1 - - - pop de
84 D1:B693 C9 - - - ret
Listing for file "FSHa.asm"
76 D1:B694 - - - - #include "includes/Command.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Command.asm"
1 D1:B694 - - - - ;;Commanddecode
2 D1:B694 - - - - ;;Decodes all commands.
3 D1:B694 - - - - ;;Inputs:
4 D1:B694 - - - - ;; HL: Cmd String mem loc
5 D1:B694 - - - - ;; DE: Op code mem loc
6 D1:B694 - - - - ;;Output:
7 D1:B694 - - - - ;; Sets (DE) with command op code
8 D1:B694 - - - - commanddecode:
9 D1:B694 - - - - #macro decodecmdopt(cmdXs, cmdXo)
10 D1:B694 push hl
11 D1:B694 push de
12 D1:B694 ld de, cmdXs
13 D1:B694 call strcmp
14 D1:B694 ld hl, cmdXo
15 D1:B694 pop de
16 D1:B694 call z, wordcpy
17 D1:B694 pop hl
18 D1:B694 #endmacro
19 D1:B694 - - - -
20 D1:B694 CD C1 B6 D1 call fshcmddecode
21 D1:B698 CD 33 C1 D1 call cryptocmddecode
22 D1:B69C CD E8 CA D1 call prgmcmddecode
23 D1:B6A0 - - - - ;Extention Point
24 D1:B6A0 - - - -
25 D1:B6A0 C9 - - - ret
26 D1:B6A1 - - - -
27 D1:B6A1 - - - - ;;commandroute
28 D1:B6A1 - - - - ;;Routes all commamds.
29 D1:B6A1 - - - - ;;Inputs:
30 D1:B6A1 - - - - ;; HL: Op code mem loc
31 D1:B6A1 - - - - commandroute:
32 D1:B6A1 - - - - #macro routeoptjp(cmdXo, cmdXf)
33 D1:B6A1 ld de, cmdXo
34 D1:B6A1 call wordcmp
35 D1:B6A1 jp z, cmdXf
36 D1:B6A1 #endmacro
37 D1:B6A1 - - - -
38 D1:B6A1 CD 9E B7 D1 call fshcmdroute
39 D1:B6A5 CD 5C C1 D1 call cryptocmdroute
40 D1:B6A9 CD FD CA D1 call prgmcmdroute
41 D1:B6AD - - - - ;Extention Point
42 D1:B6AD - - - -
43 D1:B6AD 21 6C B3 D1 ld hl, ErrCmdNotFoundo
44 D1:B6B1 11 CE EA D0 ld de, FshCmdErrCode
45 D1:B6B5 CD 4A AA D1 call bytecpy
46 D1:B6B9 CD 5D B3 D1 call ErrSet
47 D1:B6BD C3 E7 A8 D1 jp Err
48 D1:B6C1 - - - -
49 D1:B6C1 - - - - #include "includes/FshCommands/FshCommand.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommand.asm"
1 D1:B6C1 - - - - fshcmddecode:
2 D1:B6C1 E5 D5 11 8B
B9 D1 CD 59
AC D1 21 90
B9 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:B6D5 E5 D5 11 A5
B9 D1 CD 59
AC D1 21 A9
B9 D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdSET, fshcmdSETo)
4 D1:B6E9 E5 D5 11 9D
BA D1 CD 59
AC D1 21 A2
BA D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdCOPY, fshcmdCOPYo)
5 D1:B6FD E5 D5 11 AC
BB D1 CD 59
AC D1 21 B1
BB D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdMOVE, fshcmdMOVEo)
6 D1:B711 E5 D5 11 C3
BC D1 CD 59
AC D1 21 C7
BC D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdCLS, fshcmdCLSo)
7 D1:B725 E5 D5 11 F0
BC D1 CD 59
AC D1 21 F4
BC D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo)
8 D1:B739 E5 D5 11 93
BD D1 CD 59
AC D1 21 98
BD D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdVARS, fshcmdVARSo)
9 D1:B74D E5 D5 11 04
BE D1 CD 59
AC D1 21 0A
BE D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdSLEEP, fshcmdSLEEPo)
10 D1:B761 E5 D5 11 53
BE D1 CD 59
AC D1 21 58
BE D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdINFO, fshcmdINFOo)
11 D1:B775 E5 D5 11 F6
BE D1 CD 59
AC D1 21 FB
BE D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo)
12 D1:B789 E5 D5 11 4A
C0 D1 CD 59
AC D1 21 4E
C0 D1 D1 CC
52 AA D1 E1 decodecmdopt(fshcmdMAN, fshcmdMANo)
13 D1:B79D C9 - - - ret
14 D1:B79E - - - -
15 D1:B79E - - - - fshcmdroute:
16 D1:B79E C1 - - - pop bc ;pop the ret loc from stack into bc
17 D1:B79F 11 90 B9 D1
CD 5E AA D1
CA A1 B9 D1 routeoptjp(fshcmdEXITo, fshcmdEXITf)
18 D1:B7AB 11 A9 B9 D1
CD 5E AA D1
CA E8 B9 D1 routeoptjp(fshcmdSETo, fshcmdSETf)
19 D1:B7B7 11 A2 BA D1
CD 5E AA D1
CA FE BA D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf)
20 D1:B7C3 11 B1 BB D1
CD 5E AA D1
CA 0C BC D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf)
21 D1:B7CF 11 C7 BC D1
CD 5E AA D1
CA DF BC D1 routeoptjp(fshcmdCLSo, fshcmdCLSf)
22 D1:B7DB 11 F4 BC D1
CD 5E AA D1
CA 2C BD D1 routeoptjp(fshcmdVARo, fshcmdVARf)
23 D1:B7E7 11 98 BD D1
CD 5E AA D1
CA B5 BD D1 routeoptjp(fshcmdVARSo, fshcmdVARSf)
24 D1:B7F3 11 0A BE D1
CD 5E AA D1
CA 3C BE D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf)
25 D1:B7FF 11 58 BE D1
CD 5E AA D1
CA 85 BE D1 routeoptjp(fshcmdINFOo, fshcmdINFOf)
26 D1:B80B 11 FB BE D1
CD 5E AA D1
CA 18 BF D1 routeoptjp(fshcmdHELPo, fshcmdHELPf)
27 D1:B817 11 4E C0 D1
CD 5E AA D1
CA 7C C0 D1 routeoptjp(fshcmdMANo, fshcmdMANf)
28 D1:B823 C5 - - - push bc ;put ret location back on stack
29 D1:B824 C9 - - - ret
30 D1:B825 - - - -
31 D1:B825 - - - - fshcmdmanroute:
32 D1:B825 C1 - - - pop bc
33 D1:B826 11 8B B9 D1
CD 59 AC D1
11 92 B9 D1
CA 7B B6 D1 routestrjp(fshcmdEXIT, fshCmdEXITm)
34 D1:B836 11 A5 B9 D1
CD 59 AC D1
11 AB B9 D1
CA 7B B6 D1 routestrjp(fshcmdSET, fshCmdSETm)
35 D1:B846 11 9D BA D1
CD 59 AC D1
11 A4 BA D1
CA 7B B6 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm)
36 D1:B856 11 AC BB D1
CD 59 AC D1
11 B3 BB D1
CA 7B B6 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm)
37 D1:B866 11 C3 BC D1
CD 59 AC D1
11 C9 BC D1
CA 7B B6 D1 routestrjp(fshcmdCLS, fshCmdCLSm)
38 D1:B876 11 F0 BC D1
CD 59 AC D1
11 F6 BC D1
CA 7B B6 D1 routestrjp(fshcmdVAR, fshCmdVARm)
39 D1:B886 11 93 BD D1
CD 59 AC D1
11 9A BD D1
CA 7B B6 D1 routestrjp(fshcmdVARS, fshCmdVARSm)
40 D1:B896 11 04 BE D1
CD 59 AC D1
11 0C BE D1
CA 7B B6 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm)
41 D1:B8A6 11 53 BE D1
CD 59 AC D1
11 5A BE D1
CA 7B B6 D1 routestrjp(fshcmdINFO, fshCmdINFOm)
42 D1:B8B6 11 F6 BE D1
CD 59 AC D1
11 FD BE D1
CA 7B B6 D1 routestrjp(fshcmdHELP, fshCmdHELPm)
43 D1:B8C6 11 4A C0 D1
CD 59 AC D1
11 50 C0 D1
CA 7B B6 D1 routestrjp(fshcmdMAN, fshCmdMANm)
44 D1:B8D6 C5 - - - push bc
45 D1:B8D7 C9 - - - ret
46 D1:B8D8 - - - -
47 D1:B8D8 - - - - fshcmdmanrouteu:
48 D1:B8D8 C1 - - - pop bc
49 D1:B8D9 11 8B B9 D1
CD 59 AC D1
11 9C B9 D1
CA 91 B6 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu)
50 D1:B8E9 11 A5 B9 D1
CD 59 AC D1
11 C6 B9 D1
CA 91 B6 D1 routeustrjp(fshcmdSET, fshCmdSETu)
51 D1:B8F9 11 9D BA D1
CD 59 AC D1
11 D2 BA D1
CA 91 B6 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu)
52 D1:B909 11 AC BB D1
CD 59 AC D1
11 E0 BB D1
CA 91 B6 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu)
53 D1:B919 11 C3 BC D1
CD 59 AC D1
11 DB BC D1
CA 91 B6 D1 routeustrjp(fshcmdCLS, fshCmdCLSu)
54 D1:B929 11 F0 BC D1
CD 59 AC D1
11 17 BD D1
CA 91 B6 D1 routeustrjp(fshcmdVAR, fshCmdVARu)
55 D1:B939 11 93 BD D1
CD 59 AC D1
11 B0 BD D1
CA 91 B6 D1 routeustrjp(fshcmdVARS, fshCmdVARSu)
56 D1:B949 11 04 BE D1
CD 59 AC D1
11 36 BE D1
CA 91 B6 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu)
57 D1:B959 11 53 BE D1
CD 59 AC D1
11 80 BE D1
CA 91 B6 D1 routeustrjp(fshcmdINFO, fshCmdINFOu)
58 D1:B969 11 F6 BE D1
CD 59 AC D1
11 13 BF D1
CA 91 B6 D1 routeustrjp(fshcmdHELP, fshCmdHELPu)
59 D1:B979 11 4A C0 D1
CD 59 AC D1
11 6E C0 D1
CA 91 B6 D1 routeustrjp(fshcmdMAN, fshCmdMANu)
60 D1:B989 C5 - - - push bc
61 D1:B98A C9 - - - ret
62 D1:B98B - - - -
63 D1:B98B - - - - #include "includes/FshCommands/FshCommands.inc"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc"
1 D1:B98B - - - - #include "includes/FshCommands/EXIT.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/EXIT.asm"
1 D1:B98B 45 58 49 54
00 - - - fshcmdEXIT: .db "EXIT", 0
2 D1:B990 FF 00 - - fshcmdEXITo: .dw $00FF
3 D1:B992 45 78 69 74
73 20 46 73
68 00 - - fshcmdEXITm: .db "Exits Fsh", 0
4 D1:B99C 45 58 49 54
00 - - - fshcmdEXITu: .db "EXIT", 0
5 D1:B9A1 C3 EB A8 D1 fshcmdEXITf: JP Cleanup
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc"
2 D1:B9A5 - - - - #include "includes/FshCommands/SET.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/SET.asm"
1 D1:B9A5 53 45 54 00 fshcmdSET: .db "SET", 0
2 D1:B9A9 01 00 - - fshcmdSETo: .dw $0001
3 D1:B9AB 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:B9C6 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 <destination address> <value>", 0
5 D1:B9E8 - - - - fshcmdSETf:
6 D1:B9E8 - - - - fshcmdSETfArg0:
7 D1:B9E8 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:B9EC CB 4E - - bit 1, (hl)
9 D1:B9EE 20 34 - - jr nz, fshcmdSETfArg1
10 D1:B9F0 CB 46 - - bit 0, (hl)
11 D1:B9F2 28 0C - - jr z, fshcmdSETfArg0Get
12 D1:B9F4 21 F2 B3 D1 ld hl, ErrUsageo
13 D1:B9F8 CD 5D B3 D1 call ErrSet
14 D1:B9FC CD 10 B3 D1 call ErrCatch
15 D1:BA00 - - - - fshcmdSETfArg0Get:
16 D1:BA00 21 87 BA D1 ld hl, fshcmdSETfDIndex
17 D1:BA04 CD 21 AB D1 call printprompt
18 D1:BA08 21 81 BA D1 ld hl, fshcmdSETfInputBuffer
19 D1:BA0C 11 03 00 00 ld de, 3
20 D1:BA10 CD E1 AF D1 call inputnumstr
21 D1:BA14 CD E3 AC D1 call strtow
22 D1:BA18 11 A8 EA D0 ld de, FshCmdArg0
23 D1:BA1C EB - - - ex de, hl
24 D1:BA1D 73 - - - ld (hl), e
25 D1:BA1E 23 - - - inc hl
26 D1:BA1F 72 - - - ld (hl), d
27 D1:BA20 CD F0 07 02 call _NewLine
28 D1:BA24 - - - - fshcmdSETfArg1:
29 D1:BA24 21 CD EA D0 ld hl, FshCmdArgFlags
30 D1:BA28 CB 5E - - bit 3, (hl)
31 D1:BA2A 20 34 - - jr nz, fshcmdSETfExe
32 D1:BA2C CB 56 - - bit 2, (hl)
33 D1:BA2E 28 0C - - jr z, fshcmdSETfArg1Get
34 D1:BA30 21 F2 B3 D1 ld hl, ErrUsageo
35 D1:BA34 CD 5D B3 D1 call ErrSet
36 D1:BA38 CD 10 B3 D1 call ErrCatch
37 D1:BA3C - - - - fshcmdSETfArg1Get:
38 D1:BA3C 21 95 BA D1 ld hl, fshcmdSETfDValue
39 D1:BA40 CD 21 AB D1 call printprompt
40 D1:BA44 21 81 BA D1 ld hl, fshcmdSETfInputBuffer
41 D1:BA48 11 05 00 00 ld de, 5
42 D1:BA4C CD E1 AF D1 call inputnumstr
43 D1:BA50 CD E3 AC D1 call strtow
44 D1:BA54 EB - - - ex de, hl
45 D1:BA55 21 B1 EA D0 ld hl, FshCmdArg1
46 D1:BA59 73 - - - ld (hl), e
47 D1:BA5A 23 - - - inc hl
48 D1:BA5B 72 - - - ld (hl), d
49 D1:BA5C CD F0 07 02 call _NewLine
50 D1:BA60 - - - - fshcmdSETfExe:
51 D1:BA60 21 A8 EA D0 ld hl, FshCmdArg0
52 D1:BA64 11 00 00 00 ld de, 0
53 D1:BA68 5E - - - ld e, (hl)
54 D1:BA69 23 - - - inc hl
55 D1:BA6A 56 - - - ld d, (hl)
56 D1:BA6B D5 - - - push de
57 D1:BA6C 21 B1 EA D0 ld hl, FshCmdArg1
58 D1:BA70 5E - - - ld e, (hl)
59 D1:BA71 23 - - - inc hl
60 D1:BA72 56 - - - ld d, (hl)
61 D1:BA73 EB - - - ex de, hl
62 D1:BA74 D1 - - - pop de
63 D1:BA75 CD 60 B2 D1 call fshvarset
64 D1:BA79 CD 10 B3 D1 call ErrCatch
65 D1:BA7D C3 DF A8 D1 jp Fin
66 D1:BA81 - - - -
67 D1:BA81 00 00 00 00
00 00 - - fshcmdSETfInputBuffer: .db $00, $00, $00, $00, $00, $00
68 D1:BA87 44 65 73 74
69 6E 61 74
69 6F 6E 3D
20 00 - - fshcmdSETfDIndex: .db "Destination= ", 0
69 D1:BA95 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:BA9D - - - - #include "includes/FshCommands/COPY.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/COPY.asm"
1 D1:BA9D 43 4F 50 59
00 - - - fshcmdCOPY: .db "COPY", 0
2 D1:BAA2 02 00 - - fshcmdCOPYo: .dw $0002
3 D1:BAA4 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:BAD2 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 <source address> <destination address>", 0
5 D1:BAFE - - - - fshcmdCOPYf:
6 D1:BAFE - - - - fshcmdCOPYfArg0:
7 D1:BAFE 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:BB02 CB 4E - - bit 1, (hl)
9 D1:BB04 20 31 - - jr nz, fshcmdCOPYfArg1
10 D1:BB06 CB 46 - - bit 0, (hl)
11 D1:BB08 28 0C - - jr z, fshcmdCOPYfArg0Get
12 D1:BB0A 21 F2 B3 D1 ld hl, ErrUsageo
13 D1:BB0E CD 5D B3 D1 call ErrSet
14 D1:BB12 CD 10 B3 D1 call ErrCatch
15 D1:BB16 - - - - fshcmdCOPYfArg0Get:
16 D1:BB16 21 95 BB D1 ld hl, fshcmdCOPYfDSource
17 D1:BB1A CD 21 AB D1 call printprompt
18 D1:BB1E 21 91 BB D1 ld hl, fshcmdCOPYfInputBuffer
19 D1:BB22 11 03 00 00 ld de, 3
20 D1:BB26 CD E1 AF D1 call inputnumstr
21 D1:BB2A CD 86 AC D1 call strtob
22 D1:BB2E 21 A8 EA D0 ld hl, FshCmdArg0
23 D1:BB32 77 - - - ld (hl), a
24 D1:BB33 CD F0 07 02 call _NewLine
25 D1:BB37 - - - - fshcmdCOPYfArg1:
26 D1:BB37 21 CD EA D0 ld hl, FshCmdArgFlags
27 D1:BB3B CB 5E - - bit 3, (hl)
28 D1:BB3D 20 31 - - jr nz, fshcmdCOPYfExe
29 D1:BB3F CB 56 - - bit 2, (hl)
30 D1:BB41 28 0C - - jr z, fshcmdCOPYfArg1Get
31 D1:BB43 21 F2 B3 D1 ld hl, ErrUsageo
32 D1:BB47 CD 5D B3 D1 call ErrSet
33 D1:BB4B CD 10 B3 D1 call ErrCatch
34 D1:BB4F - - - - fshcmdCOPYfArg1Get:
35 D1:BB4F 21 95 BB D1 ld hl, fshcmdCOPYfDSource
36 D1:BB53 CD 21 AB D1 call printprompt
37 D1:BB57 21 91 BB D1 ld hl, fshcmdCOPYfInputBuffer
38 D1:BB5B 11 03 00 00 ld de, 3
39 D1:BB5F CD E1 AF D1 call inputnumstr
40 D1:BB63 CD 86 AC D1 call strtob
41 D1:BB67 21 B1 EA D0 ld hl, FshCmdArg1
42 D1:BB6B 77 - - - ld (hl), a
43 D1:BB6C CD F0 07 02 call _NewLine
44 D1:BB70 - - - - fshcmdCOPYfExe:
45 D1:BB70 21 A8 EA D0 ld hl, FshCmdArg0
46 D1:BB74 11 00 00 00 ld de, 0
47 D1:BB78 5E - - - ld e, (hl)
48 D1:BB79 EB - - - ex de, hl
49 D1:BB7A E5 - - - push hl
50 D1:BB7B 21 B1 EA D0 ld hl, FshCmdArg1
51 D1:BB7F 11 00 00 00 ld de, 0
52 D1:BB83 5E - - - ld e, (hl)
53 D1:BB84 E1 - - - pop hl
54 D1:BB85 CD B3 B2 D1 call fshvarcpy
55 D1:BB89 CD 10 B3 D1 call ErrCatch
56 D1:BB8D C3 DF A8 D1 jp Fin
57 D1:BB91 - - - -
58 D1:BB91 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00
59 D1:BB95 53 6F 75 72
63 65 3D 20
00 - - - fshcmdCOPYfDSource: .db "Source= ", 0
60 D1:BB9E 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:BBAC - - - - #include "includes/FshCommands/MOVE.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/MOVE.asm"
1 D1:BBAC 4D 4F 56 45
00 - - - fshcmdMOVE: .db "MOVE", 0
2 D1:BBB1 03 00 - - fshcmdMOVEo: .dw $0003
3 D1:BBB3 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:BBE0 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 <source address> <destination address>", 0
5 D1:BC0C - - - - fshcmdMOVEf:
6 D1:BC0C - - - - fshcmdMOVEfArg0:
7 D1:BC0C 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:BC10 CB 4E - - bit 1, (hl)
9 D1:BC12 20 31 - - jr nz, fshcmdMOVEfArg1
10 D1:BC14 CB 46 - - bit 0, (hl)
11 D1:BC16 28 0C - - jr z, fshcmdMOVEfArg0Get
12 D1:BC18 21 F2 B3 D1 ld hl, ErrUsageo
13 D1:BC1C CD 5D B3 D1 call ErrSet
14 D1:BC20 CD 10 B3 D1 call ErrCatch
15 D1:BC24 - - - - fshcmdMOVEfArg0Get:
16 D1:BC24 21 AC BC D1 ld hl, fshcmdMOVEfDSource
17 D1:BC28 CD 21 AB D1 call printprompt
18 D1:BC2C 21 A8 BC D1 ld hl, fshcmdMOVEfInputBuffer
19 D1:BC30 11 03 00 00 ld de, 3
20 D1:BC34 CD E1 AF D1 call inputnumstr
21 D1:BC38 CD 86 AC D1 call strtob
22 D1:BC3C 21 A8 EA D0 ld hl, FshCmdArg0
23 D1:BC40 77 - - - ld (hl), a
24 D1:BC41 CD F0 07 02 call _NewLine
25 D1:BC45 - - - - fshcmdMOVEfArg1:
26 D1:BC45 21 CD EA D0 ld hl, FshCmdArgFlags
27 D1:BC49 CB 5E - - bit 3, (hl)
28 D1:BC4B 20 31 - - jr nz, fshcmdMOVEfExe
29 D1:BC4D CB 56 - - bit 2, (hl)
30 D1:BC4F 28 0C - - jr z, fshcmdMOVEfArg1Get
31 D1:BC51 21 F2 B3 D1 ld hl, ErrUsageo
32 D1:BC55 CD 5D B3 D1 call ErrSet
33 D1:BC59 CD 10 B3 D1 call ErrCatch
34 D1:BC5D - - - - fshcmdMOVEfArg1Get:
35 D1:BC5D 21 B5 BC D1 ld hl, fshcmdMOVEfDDestination
36 D1:BC61 CD 21 AB D1 call printprompt
37 D1:BC65 21 A8 BC D1 ld hl, fshcmdMOVEfInputBuffer
38 D1:BC69 11 03 00 00 ld de, 3
39 D1:BC6D CD E1 AF D1 call inputnumstr
40 D1:BC71 CD 86 AC D1 call strtob
41 D1:BC75 21 B1 EA D0 ld hl, FshCmdArg1
42 D1:BC79 77 - - - ld (hl), a
43 D1:BC7A CD F0 07 02 call _NewLine
44 D1:BC7E - - - - fshcmdMOVEfExe:
45 D1:BC7E 21 A8 EA D0 ld hl, FshCmdArg0
46 D1:BC82 11 00 00 00 ld de, 0
47 D1:BC86 5E - - - ld e, (hl)
48 D1:BC87 EB - - - ex de, hl
49 D1:BC88 E5 - - - push hl
50 D1:BC89 21 B1 EA D0 ld hl, FshCmdArg1
51 D1:BC8D 11 00 00 00 ld de, 0
52 D1:BC91 5E - - - ld e, (hl)
53 D1:BC92 E1 - - - pop hl
54 D1:BC93 CD B3 B2 D1 call fshvarcpy
55 D1:BC97 EB - - - ex de, hl
56 D1:BC98 21 00 00 00 ld hl, 0
57 D1:BC9C CD 60 B2 D1 call fshvarset
58 D1:BCA0 CD 10 B3 D1 call ErrCatch
59 D1:BCA4 C3 DF A8 D1 jp Fin
60 D1:BCA8 - - - -
61 D1:BCA8 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00
62 D1:BCAC 53 6F 75 72
63 65 3D 20
00 - - - fshcmdMOVEfDSource: .db "Source= ", 0
63 D1:BCB5 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:BCC3 - - - - #include "includes/FshCommands/CLS.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/CLS.asm"
1 D1:BCC3 43 4C 53 00 fshcmdCLS: .db "CLS", 0
2 D1:BCC7 10 00 - - fshcmdCLSo: .dw $0010
3 D1:BCC9 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:BCDB 43 4C 53 00 fshcmdCLSu: .db "CLS", 0
5 D1:BCDF - - - - fshcmdCLSf:
6 D1:BCDF CD 08 08 02 call _ClrLCDFull
7 D1:BCE3 AF - - - xor a
8 D1:BCE4 32 95 05 D0 ld (CurRow), a
9 D1:BCE8 32 96 05 D0 ld (CurCol), a
10 D1:BCEC C3 DF A8 D1 jp Fin
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc"
6 D1:BCF0 - - - - #include "includes/FshCommands/VAR.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/VAR.asm"
1 D1:BCF0 56 41 52 00 fshcmdVAR: .db "VAR", 0
2 D1:BCF4 11 00 - - fshcmdVARo: .dw $0011
3 D1:BCF6 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:BD17 56 41 52 20
3C 73 6F 75
72 63 65 20
61 64 64 72
65 73 73 3E
00 - - - fshcmdVARu: .db "VAR <source address>", 0
5 D1:BD2C - - - - fshcmdVARf:
6 D1:BD2C - - - - fshcmdVARfArg0:
7 D1:BD2C 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:BD30 CB 4E - - bit 1, (hl)
9 D1:BD32 20 34 - - jr nz, fshcmdVARfExe
10 D1:BD34 CB 46 - - bit 0, (hl)
11 D1:BD36 28 0C - - jr z, fshcmdVARfArg0Get
12 D1:BD38 21 F2 B3 D1 ld hl, ErrUsageo
13 D1:BD3C CD 5D B3 D1 call ErrSet
14 D1:BD40 CD 10 B3 D1 call ErrCatch
15 D1:BD44 - - - - fshcmdVARfArg0Get:
16 D1:BD44 21 8B BD D1 ld hl, fshcmdVARfDIndex
17 D1:BD48 CD 21 AB D1 call printprompt
18 D1:BD4C 21 87 BD D1 ld hl, fshcmdVARfInputBuffer
19 D1:BD50 11 03 00 00 ld de, 3
20 D1:BD54 CD E1 AF D1 call inputnumstr
21 D1:BD58 CD E3 AC D1 call strtow
22 D1:BD5C 11 A8 EA D0 ld de, FshCmdArg0
23 D1:BD60 EB - - - ex de, hl
24 D1:BD61 73 - - - ld (hl), e
25 D1:BD62 23 - - - inc hl
26 D1:BD63 72 - - - ld (hl), d
27 D1:BD64 CD F0 07 02 call _NewLine
28 D1:BD68 - - - - fshcmdVARfExe:
29 D1:BD68 21 A8 EA D0 ld hl, FshCmdArg0
30 D1:BD6C 11 00 00 00 ld de, 0
31 D1:BD70 5E - - - ld e, (hl)
32 D1:BD71 23 - - - inc hl
33 D1:BD72 56 - - - ld d, (hl)
34 D1:BD73 CD 88 B2 D1 call fshvarget
35 D1:BD77 CD 10 B3 D1 call ErrCatch
36 D1:BD7B CD BC 07 02 call _DispHL_s
37 D1:BD7F CD F0 07 02 call _NewLine
38 D1:BD83 C3 DF A8 D1 jp Fin
39 D1:BD87 - - - -
40 D1:BD87 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00
41 D1:BD8B 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:BD93 - - - - #include "includes/FshCommands/VARS.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/VARS.asm"
1 D1:BD93 56 41 52 53
00 - - - fshcmdVARS: .db "VARS", 0
2 D1:BD98 12 00 - - fshcmdVARSo: .dw $0012
3 D1:BD9A 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:BDB0 56 41 52 53
00 - - - fshcmdVARSu: .db "VARS", 0
5 D1:BDB5 - - - - fshcmdVARSf:
6 D1:BDB5 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:BDB9 CB 46 - - bit 0, (hl)
8 D1:BDBB 28 0C - - jr z, fshcmdVARSfExe
9 D1:BDBD 21 F2 B3 D1 ld hl, ErrUsageo
10 D1:BDC1 CD 5D B3 D1 call ErrSet
11 D1:BDC5 CD 10 B3 D1 call ErrCatch
12 D1:BDC9 - - - - fshcmdVARSfExe:
13 D1:BDC9 06 00 - - ld b, 0
14 D1:BDCB 0E 00 - - ld c, 0
15 D1:BDCD 11 00 00 00 ld de, 0
16 D1:BDD1 - - - - fshcmdVARSfLoop:
17 D1:BDD1 CD 88 B2 D1 call fshvarget
18 D1:BDD5 7C - - - ld a, h
19 D1:BDD6 CD B8 07 02 call _PutC
20 D1:BDDA 7D - - - ld a, l
21 D1:BDDB CD B8 07 02 call _PutC
22 D1:BDDF 79 - - - ld a, c
23 D1:BDE0 0C - - - inc c
24 D1:BDE1 FE 07 - - cp 7
25 D1:BDE3 20 0E - - jr nz, fshcmdVARSfLoopU
26 D1:BDE5 E5 - - - push hl
27 D1:BDE6 C5 - - - push bc
28 D1:BDE7 D5 - - - push de
29 D1:BDE8 CD F0 07 02 call _NewLine
30 D1:BDEC D1 - - - pop de
31 D1:BDED C1 - - - pop bc
32 D1:BDEE E1 - - - pop hl
33 D1:BDEF 0E 00 - - ld c, 0
34 D1:BDF1 18 06 - - jr fshcmdVARSfLoopEnd
35 D1:BDF3 - - - - fshcmdVARSfLoopU:
36 D1:BDF3 3E 5F - - ld a, '_'
37 D1:BDF5 CD B8 07 02 call _PutC
38 D1:BDF9 - - - - fshcmdVARSfLoopEnd:
39 D1:BDF9 04 - - - inc b
40 D1:BDFA 13 - - - inc de
41 D1:BDFB 78 - - - ld a, b
42 D1:BDFC FE 40 - - cp FshVarsSize / 2
43 D1:BDFE 38 D1 - - jr c, fshcmdVARSfLoop
44 D1:BE00 C3 DF A8 D1 jp Fin
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc"
8 D1:BE04 - - - - #include "includes/FshCommands/SLEEP.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/SLEEP.asm"
1 D1:BE04 53 4C 45 45
50 00 - - fshcmdSLEEP: .db "SLEEP", 0
2 D1:BE0A 16 00 - - fshcmdSLEEPo: .dw $0016
3 D1:BE0C 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:BE36 53 4C 45 45
50 00 - - fshcmdSLEEPu: .db "SLEEP", 0
5 D1:BE3C - - - - fshcmdSLEEPf:
6 D1:BE3C F3 - - - di
7 D1:BE3D CD 38 11 02 call _EnableAPD
8 D1:BE41 3E 01 - - ld a,1
9 D1:BE43 21 90 05 D0 ld hl,apdSubTimer
10 D1:BE47 77 - - - ld (hl),a
11 D1:BE48 23 - - - inc hl
12 D1:BE49 77 - - - ld (hl),a
13 D1:BE4A FD CB 08 DE set apdRunning,(iy+apdFlags)
14 D1:BE4E FB - - - ei
15 D1:BE4F C3 DF A8 D1 jp Fin
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc"
9 D1:BE53 - - - - #include "includes/FshCommands/INFO.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/INFO.asm"
1 D1:BE53 49 4E 46 4F
00 - - - fshcmdINFO: .db "INFO", 0
2 D1:BE58 20 00 - - fshcmdINFOo: .dw $0020
3 D1:BE5A 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:BE80 49 4E 46 4F
00 - - - fshcmdINFOu: .db "INFO", 0
5 D1:BE85 - - - - fshcmdINFOf:
6 D1:BE85 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:BE89 CB 46 - - bit 0, (hl)
8 D1:BE8B 28 0C - - jr z, fshcmdINFOfExe
9 D1:BE8D 21 F2 B3 D1 ld hl, ErrUsageo
10 D1:BE91 CD 5D B3 D1 call ErrSet
11 D1:BE95 CD 10 B3 D1 call ErrCatch
12 D1:BE99 - - - - fshcmdINFOfExe:
13 D1:BE99 CD 08 08 02 call _ClrLCDFull
14 D1:BE9D AF - - - xor a
15 D1:BE9E 32 95 05 D0 ld (CurRow), a
16 D1:BEA2 32 96 05 D0 ld (CurCol), a
17 D1:BEA6 - - - -
18 D1:BEA6 CD 3F B4 D1 call printfshnamelong
19 D1:BEAA CD F0 07 02 call _NewLine
20 D1:BEAE - - - -
21 D1:BEAE 21 13 A9 D1 ld hl, FshBy
22 D1:BEB2 CD C0 07 02 call _PutS
23 D1:BEB6 CD F0 07 02 call _NewLine
24 D1:BEBA - - - -
25 D1:BEBA 21 1D A9 D1 ld hl, FshSite
26 D1:BEBE CD C0 07 02 call _PutS
27 D1:BEC2 CD F0 07 02 call _NewLine
28 D1:BEC6 - - - -
29 D1:BEC6 CD F0 07 02 call _NewLine
30 D1:BECA 21 EE BE D1 ld hl, fshcmdINFOfSPS1
31 D1:BECE CD C0 07 02 call _PutS
32 D1:BED2 3E 27 - - ld a, $27
33 D1:BED4 CD B8 07 02 call _PutC
34 D1:BED8 21 38 A9 D1 ld hl, PS1
35 D1:BEDC CD C0 07 02 call _PutS
36 D1:BEE0 3E 27 - - ld a, $27
37 D1:BEE2 CD B8 07 02 call _PutC
38 D1:BEE6 CD F0 07 02 call _NewLine
39 D1:BEEA - - - -
40 D1:BEEA C3 DF A8 D1 jp Fin
41 D1:BEEE - - - -
42 D1:BEEE 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:BEF6 - - - - #include "includes/FshCommands/HELP.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/HELP.asm"
1 D1:BEF6 48 45 4C 50
00 - - - fshcmdHELP: .db "HELP", 0
2 D1:BEFB 21 00 - - fshcmdHELPo: .dw $0021
3 D1:BEFD 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:BF13 48 45 4C 50
00 - - - fshcmdHELPu: .db "HELP", 0
5 D1:BF18 - - - - fshcmdHELPf:
6 D1:BF18 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:BF1C CB 46 - - bit 0, (hl)
8 D1:BF1E 28 0C - - jr z, fshcmdHELPfExe
9 D1:BF20 21 F2 B3 D1 ld hl, ErrUsageo
10 D1:BF24 CD 5D B3 D1 call ErrSet
11 D1:BF28 CD 10 B3 D1 call ErrCatch
12 D1:BF2C - - - - fshcmdHELPfExe:
13 D1:BF2C 21 11 C0 D1 ld hl, fshcmdHELPfLine1
14 D1:BF30 CD C0 07 02 call _PutS
15 D1:BF34 CD F0 07 02 call _NewLine
16 D1:BF38 - - - -
17 D1:BF38 - - - - #macro fshcmdHELPmRow1(cmdXs)
18 D1:BF38 xor a
19 D1:BF38 ld (curCol), a
20 D1:BF38 ld hl, cmdXs
21 D1:BF38 call _PutS
22 D1:BF38 call _NewLine
23 D1:BF38 #endmacro
24 D1:BF38 - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs)
25 D1:BF38 xor a
26 D1:BF38 ld (curCol), a
27 D1:BF38 ld hl, cmdXs
28 D1:BF38 call _PutS
29 D1:BF38 ld a, 9
30 D1:BF38 ld (curcol), a
31 D1:BF38 ld hl, cmdYs
32 D1:BF38 call _PutS
33 D1:BF38 call _NewLine
34 D1:BF38 #endmacro
35 D1:BF38 - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs)
36 D1:BF38 xor a
37 D1:BF38 ld (curCol), a
38 D1:BF38 ld hl, cmdXs
39 D1:BF38 call _PutS
40 D1:BF38 ld a, 9
41 D1:BF38 ld (curcol), a
42 D1:BF38 ld hl, cmdYs
43 D1:BF38 call _PutS
44 D1:BF38 ld a, 19
45 D1:BF38 ld (curcol), a
46 D1:BF38 ld hl, cmdZs
47 D1:BF38 call _PutS
48 D1:BF38 call _NewLine
49 D1:BF38 #endmacro
50 D1:BF38 - - - -
51 D1:BF38 AF 32 96 05
D0 21 8B B9
D1 CD C0 07
02 3E 09 32
96 05 D0 21
A5 B9 D1 CD
C0 07 02 3E
13 32 96 05
D0 21 9D BA
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:BF65 AF 32 96 05
D0 21 AC BB
D1 CD C0 07
02 3E 09 32
96 05 D0 21
C3 BC D1 CD
C0 07 02 3E
13 32 96 05
D0 21 F0 BC
D1 CD C0 07
02 CD F0 07
02 - - - fshcmdHELPmRow3(fshcmdMOVE, fshcmdCLS, fshcmdVAR)
53 D1:BF92 AF 32 96 05
D0 21 93 BD
D1 CD C0 07
02 3E 09 32
96 05 D0 21
04 BE D1 CD
C0 07 02 3E
13 32 96 05
D0 21 53 BE
D1 CD C0 07
02 CD F0 07
02 - - - fshcmdHELPmRow3(fshcmdVARS, fshcmdSLEEP, fshcmdINFO)
54 D1:BFBF AF 32 96 05
D0 21 F6 BE
D1 CD C0 07
02 3E 09 32
96 05 D0 21
4A C0 D1 CD
C0 07 02 CD
F0 07 02 - fshcmdHELPmRow2(fshcmdHELP, fshcmdMAN)
55 D1:BFDE AF 32 96 05
D0 21 6D C3
D1 CD C0 07
02 3E 09 32
96 05 D0 21
23 C7 D1 CD
C0 07 02 CD
F0 07 02 - fshcmdHELPmRow2(cryptocmdENCRYPT, cryptocmdDECRYPT)
56 D1:BFFD - - - - ; Extention Point
57 D1:BFFD - - - -
58 D1:BFFD CD F0 07 02 call _NewLine
59 D1:C001 21 25 C0 D1 ld hl, fshcmdHELPfLine2
60 D1:C005 CD C0 07 02 call _PutS
61 D1:C009 CD F0 07 02 call _NewLine
62 D1:C00D C3 DF A8 D1 jp Fin
63 D1:C011 - - - -
64 D1:C011 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:C025 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:C04A - - - - #include "includes/FshCommands/MAN.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/MAN.asm"
1 D1:C04A 4D 41 4E 00 fshcmdMAN: .db "MAN", 0
2 D1:C04E 22 00 - - fshcmdMANo: .dw $0022
3 D1:C050 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:C06E 4D 41 4E 20
3C 63 6F 6D
6D 61 6E 64
3E 00 - - fshcmdMANu: .db "MAN <command>", 0
5 D1:C07C - - - - fshcmdMANf:
6 D1:C07C - - - - fshcmdMANfCheckArgs:
7 D1:C07C 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:C080 CB 46 - - bit 0, (hl)
9 D1:C082 28 10 - - jr z, fshcmdMANfArg0Get
10 D1:C084 CB 4E - - bit 1, (hl)
11 D1:C086 28 24 - - jr z, fshcmdMANfExe
12 D1:C088 21 F2 B3 D1 ld hl, ErrUsageo
13 D1:C08C CD 5D B3 D1 call ErrSet
14 D1:C090 CD 10 B3 D1 call ErrCatch
15 D1:C094 - - - - fshcmdMANfArg0Get:
16 D1:C094 21 29 C1 D1 ld hl, fshcmdMANfPrompt
17 D1:C098 CD 21 AB D1 call printprompt
18 D1:C09C - - - -
19 D1:C09C 21 A8 EA D0 ld hl, FshCmdArg0
20 D1:C0A0 11 08 00 00 ld de, FshCmdCmdSize
21 D1:C0A4 CD A9 AD D1 call inputstr
22 D1:C0A8 CD F0 07 02 call _NewLine
23 D1:C0AC - - - -
24 D1:C0AC - - - - fshcmdMANfExe:
25 D1:C0AC 21 A8 EA D0 ld hl, FshCmdArg0
26 D1:C0B0 11 9F EA D0 ld de, FshCmd
27 D1:C0B4 CD 6C AC D1 call strcpy
28 D1:C0B8 - - - -
29 D1:C0B8 21 18 C1 D1 ld hl, fshcmdMANfPrefix
30 D1:C0BC CD C0 07 02 call _PutS
31 D1:C0C0 - - - -
32 D1:C0C0 21 9F EA D0 ld hl, FshCmd
33 D1:C0C4 CD C0 07 02 call _PutS
34 D1:C0C8 CD F0 07 02 call _NewLine
35 D1:C0CC CD F0 07 02 call _NewLine
36 D1:C0D0 - - - -
37 D1:C0D0 21 9F EA D0 ld hl, FshCmd
38 D1:C0D4 CD 68 B6 D1 call manroute
39 D1:C0D8 11 00 00 00 ld de, $00
40 D1:C0DC CD 7A A9 D1 call cpHLDE
41 D1:C0E0 CA E7 A8 D1 jp z, Err
42 D1:C0E4 - - - -
43 D1:C0E4 CD C0 07 02 call _PutS
44 D1:C0E8 CD F0 07 02 call _NewLine
45 D1:C0EC CD F0 07 02 call _NewLine
46 D1:C0F0 - - - -
47 D1:C0F0 21 21 C1 D1 ld hl, fshcmdMANfUsage
48 D1:C0F4 CD C0 07 02 call _PutS
49 D1:C0F8 - - - -
50 D1:C0F8 21 9F EA D0 ld hl, FshCmd
51 D1:C0FC CD 7E B6 D1 call manrouteu
52 D1:C100 11 00 00 00 ld de, $00
53 D1:C104 CD 7A A9 D1 call cpHLDE
54 D1:C108 CA E7 A8 D1 jp z, Err
55 D1:C10C CD C0 07 02 call _PutS
56 D1:C110 CD F0 07 02 call _NewLine
57 D1:C114 - - - -
58 D1:C114 C3 DF A8 D1 jp Fin
59 D1:C118 - - - -
60 D1:C118 4D 41 4E 2D
44 42 DF 20
00 - - - fshcmdMANfPrefix: .db "MAN-DB", $DF, ' ', 0
61 D1:C121 55 73 61 67
65 3A 20 00 fshcmdMANfUsage: .db "Usage: ",0
62 D1:C129 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:C133 - - - - #include "includes/CryptoCommands/CryptoCommand.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommand.asm"
1 D1:C133 - - - - cryptocmddecode:
2 D1:C133 E5 D5 11 6D
C3 D1 CD 59
AC D1 21 75
C3 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:C147 E5 D5 11 23
C7 D1 CD 59
AC D1 21 2B
C7 D1 D1 CC
52 AA D1 E1 decodecmdopt(cryptocmdDECRYPT, cryptocmdDECRYPTo)
4 D1:C15B C9 - - - ret
5 D1:C15C - - - -
6 D1:C15C - - - - cryptocmdroute:
7 D1:C15C C1 - - - pop bc
8 D1:C15D 11 75 C3 D1
CD 5E AA D1
CA E5 C3 D1 routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf)
9 D1:C169 11 2B C7 D1
CD 5E AA D1
CA 9B C7 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf)
10 D1:C175 C5 - - - push bc
11 D1:C176 C9 - - - ret
12 D1:C177 - - - -
13 D1:C177 - - - - cryptocmdmanroute:
14 D1:C177 C1 - - - pop bc
15 D1:C178 E5 11 6D C3
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
6E C4 D1 CD
59 AC D1 E1
11 72 C4 D1
CA 7B B6 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTm)
16 D1:C19C E5 11 23 C7
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
24 C8 D1 CD
59 AC D1 E1
11 28 C8 D1
CA 7B B6 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTm)
17 D1:C1C0 - - - -
18 D1:C1C0 E5 11 6D C3
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
7C C5 D1 CD
59 AC D1 E1
11 80 C5 D1
CA 7B B6 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORm)
19 D1:C1E4 E5 11 23 C7
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
2B C9 D1 CD
59 AC D1 E1
11 2F C9 D1
CA 7B B6 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORm)
20 D1:C208 - - - -
21 D1:C208 E5 11 6D C3
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
7B C6 D1 CD
59 AC D1 E1
11 80 C6 D1
CA 7B B6 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm)
22 D1:C22C E5 11 23 C7
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
40 CA D1 CD
59 AC D1 E1
11 45 CA D1
CA 7B B6 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPm)
23 D1:C250 - - - -
24 D1:C250 11 6D C3 D1
CD 59 AC D1
11 77 C3 D1
CA 7B B6 D1 routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm)
25 D1:C260 11 23 C7 D1
CD 59 AC D1
11 2D C7 D1
CA 7B B6 D1 routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm)
26 D1:C270 - - - -
27 D1:C270 C5 - - - push bc
28 D1:C271 C9 - - - ret
29 D1:C272 - - - -
30 D1:C272 - - - -
31 D1:C272 - - - - cryptocmdmanrouteu:
32 D1:C272 C1 - - - pop bc
33 D1:C273 E5 11 6D C3
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
6E C4 D1 CD
59 AC D1 E1
11 A9 C4 D1
CA 91 B6 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTu)
34 D1:C297 E5 11 23 C7
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
24 C8 D1 CD
59 AC D1 E1
11 5F C8 D1
CA 91 B6 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTu)
35 D1:C2BB - - - -
36 D1:C2BB E5 11 6D C3
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
7C C5 D1 CD
59 AC D1 E1
11 A2 C5 D1
CA 91 B6 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORu)
37 D1:C2DF E5 11 23 C7
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
2B C9 D1 CD
59 AC D1 E1
11 51 C9 D1
CA 91 B6 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu)
38 D1:C303 - - - -
39 D1:C303 E5 11 6D C3
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
7B C6 D1 CD
59 AC D1 E1
11 91 C6 D1
CA 91 B6 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu)
40 D1:C327 E5 11 23 C7
D1 CD 59 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
40 CA D1 CD
59 AC D1 E1
11 56 CA D1
CA 91 B6 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPu)
41 D1:C34B - - - -
42 D1:C34B 11 6D C3 D1
CD 59 AC D1
11 C0 C3 D1
CA 91 B6 D1 routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu)
43 D1:C35B 11 23 C7 D1
CD 59 AC D1
11 76 C7 D1
CA 91 B6 D1 routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu)
44 D1:C36B - - - -
45 D1:C36B C5 - - - push bc
46 D1:C36C C9 - - - ret
47 D1:C36D - - - -
48 D1:C36D - - - - #include "includes/CryptoCommands/CryptoCommands.inc"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc"
1 D1:C36D - - - - #include "includes/CryptoCommands/ENCRYPT.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ENCRYPT.asm"
1 D1:C36D 45 4E 43 52
59 50 54 00 cryptocmdENCRYPT: .db "ENCRYPT", 0
2 D1:C375 01 02 - - cryptocmdENCRYPTo: .dw $0201
3 D1:C377 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:C3C0 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 <Crypt Command> <Crypt Args>", 0
5 D1:C3E5 - - - - cryptocmdENCRYPTf:
6 D1:C3E5 - - - - cryptocmdENCRYPTfArg0:
7 D1:C3E5 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:C3E9 CB 46 - - bit 0, (hl)
9 D1:C3EB 28 10 - - jr z, cryptocmdENCRYPTfArg0Get
10 D1:C3ED CB 4E - - bit 1, (hl)
11 D1:C3EF 28 24 - - jr z, cryptocmdENCRYPTfExe
12 D1:C3F1 21 F2 B3 D1 ld hl, ErrUsageo
13 D1:C3F5 CD 5D B3 D1 call ErrSet
14 D1:C3F9 CD 10 B3 D1 call ErrCatch
15 D1:C3FD - - - - cryptocmdENCRYPTfArg0Get:
16 D1:C3FD 21 65 C4 D1 ld hl, cryptocmdENCRYPTfSCypher
17 D1:C401 CD 21 AB D1 call printprompt
18 D1:C405 21 A8 EA D0 ld hl, FshCmdArg0
19 D1:C409 11 2C 00 00 ld de, FshCmdInptSize
20 D1:C40D CD A9 AD D1 call inputstr
21 D1:C411 CD F0 07 02 call _NewLine
22 D1:C415 - - - - cryptocmdENCRYPTfExe:
23 D1:C415 - - - -
24 D1:C415 - - - - #macro cryptocmdENCRYPTcmpjp(cmdX, cmdXf)
25 D1:C415 ld hl, FshCmdArg0
26 D1:C415 ld de, CmdX
27 D1:C415 call strcmp
28 D1:C415 jp z, cmdXf
29 D1:C415 #endmacro
30 D1:C415 - - - -
31 D1:C415 21 A8 EA D0
11 6E C4 D1
CD 59 AC D1
CA C8 C4 D1 cryptocmdENCRYPTcmpjp(cryptocmdROT, cryptocmdROTf)
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ENCRYPT.asm"
32 D1:C425 21 A8 EA D0
11 7C C5 D1
CD 59 AC D1
CA BE C5 D1 cryptocmdENCRYPTcmpjp(cryptocmdXOR, cryptocmdXORf)
33 D1:C435 21 A8 EA D0
11 7B C6 D1
CD 59 AC D1
CA 9E C6 D1 cryptocmdENCRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf)
34 D1:C445 - - - -
35 D1:C445 21 A8 EA D0 ld hl, FshCmdArg0
36 D1:C449 11 9F EA D0 ld de, FshCmd
37 D1:C44D CD 6C AC D1 call strcpy
38 D1:C451 - - - -
39 D1:C451 21 6C B3 D1 ld hl, ErrCmdNotFoundo
40 D1:C455 11 CE EA D0 ld de, FshCmdErrCode
41 D1:C459 CD 4A AA D1 call bytecpy
42 D1:C45D CD 5D B3 D1 call ErrSet
43 D1:C461 C3 E7 A8 D1 jp Err
44 D1:C465 - - - -
45 D1:C465 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:C46E - - - - #include "includes/CryptoCommands/ROT.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ROT.asm"
1 D1:C46E 52 4F 54 00 cryptocmdROT: .db "ROT", 0
2 D1:C472 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:C4A9 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 <shift#> <message>", 0
4 D1:C4C8 - - - - cryptocmdROTf:
5 D1:C4C8 - - - - cryptocmdROTfArg1:
6 D1:C4C8 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:C4CC CB 5E - - bit 3, (hl)
8 D1:C4CE 20 32 - - jr nz, cryptocmdROTfArg2
9 D1:C4D0 CB 56 - - bit 2, (hl)
10 D1:C4D2 28 0C - - jr z, cryptocmdROTfArg1Get
11 D1:C4D4 21 F2 B3 D1 ld hl, ErrUsageo
12 D1:C4D8 CD 5D B3 D1 call ErrSet
13 D1:C4DC CD 10 B3 D1 call ErrCatch
14 D1:C4E0 - - - - cryptocmdROTfArg1Get:
15 D1:C4E0 21 61 C5 D1 ld hl, cryptocmdROTfDShift
16 D1:C4E4 CD 21 AB D1 call printprompt
17 D1:C4E8 21 B1 EA D0 ld hl, FshCmdArg1
18 D1:C4EC 11 03 00 00 ld de, 3
19 D1:C4F0 CD E1 AF D1 call inputnumstr
20 D1:C4F4 CD E3 AC D1 call strtow
21 D1:C4F8 11 B1 EA D0 ld de, FshCmdArg1
22 D1:C4FC EB - - - ex de, hl
23 D1:C4FD 73 - - - ld (hl), e
24 D1:C4FE CD F0 07 02 call _NewLine
25 D1:C502 - - - - cryptocmdROTfArg2:
26 D1:C502 21 BA EA D0 ld hl, FshCmdArg2
27 D1:C506 11 D1 EA D0 ld de, FshScratch
28 D1:C50A CD 6C AC D1 call strcpy
29 D1:C50E 21 CD EA D0 ld hl, FshCmdArgFlags
30 D1:C512 CB 66 - - bit 4, (hl)
31 D1:C514 28 10 - - jr z, cryptocmdROTfArg2Get
32 D1:C516 CB 6E - - bit 5, (hl)
33 D1:C518 28 24 - - jr z, cryptocmdROTfExe
34 D1:C51A 21 F2 B3 D1 ld hl, ErrUsageo
35 D1:C51E CD 5D B3 D1 call ErrSet
36 D1:C522 CD 10 B3 D1 call ErrCatch
37 D1:C526 - - - - cryptocmdROTfArg2Get:
38 D1:C526 21 69 C5 D1 ld hl, cryptocmdROTfDMessage
39 D1:C52A CD 21 AB D1 call printprompt
40 D1:C52E 21 D1 EA D0 ld hl, FshScratch
41 D1:C532 11 10 00 00 ld de, FshScratchSize - 4
42 D1:C536 CD CD AE D1 call inputcharstr
43 D1:C53A CD F0 07 02 call _NewLine
44 D1:C53E - - - - cryptocmdROTfExe:
45 D1:C53E 21 B1 EA D0 ld hl, FshCmdArg1
46 D1:C542 7E - - - ld a, (hl)
47 D1:C543 21 D1 EA D0 ld hl, FshScratch
48 D1:C547 CD 77 B5 D1 call rotletencrypt
49 D1:C54B E5 - - - push hl
50 D1:C54C 21 73 C5 D1 ld hl, cryptocmdROTfDResult
51 D1:C550 CD C0 07 02 call _PutS
52 D1:C554 E1 - - - pop hl
53 D1:C555 CD C0 07 02 call _PutS
54 D1:C559 CD F0 07 02 call _NewLine
55 D1:C55D C3 DF A8 D1 jp Fin
56 D1:C561 - - - -
57 D1:C561 53 68 69 66
74 3D 20 00 cryptocmdROTfDShift: .db "Shift= ", 0
58 D1:C569 4D 65 73 73
61 67 65 3D
20 00 - - cryptocmdROTfDMessage: .db "Message= ", 0
59 D1:C573 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:C57C - - - - #include "includes/CryptoCommands/XOR.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/XOR.asm"
1 D1:C57C 58 4F 52 00 cryptocmdXOR: .db "XOR", 0
2 D1:C580 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:C5A2 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 <key> <message>", 0
4 D1:C5BE - - - - cryptocmdXORf:
5 D1:C5BE - - - - cryptocmdXORfArg1:
6 D1:C5BE 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:C5C2 CB 56 - - bit 2, (hl)
8 D1:C5C4 28 10 - - jr z, cryptocmdXORfArg1Get
9 D1:C5C6 CB 5E - - bit 3, (hl)
10 D1:C5C8 28 24 - - jr z, cryptocmdXORfArg2
11 D1:C5CA 21 F2 B3 D1 ld hl, ErrUsageo
12 D1:C5CE CD 5D B3 D1 call ErrSet
13 D1:C5D2 CD 10 B3 D1 call ErrCatch
14 D1:C5D6 - - - - cryptocmdXORfArg1Get:
15 D1:C5D6 21 62 C6 D1 ld hl, cryptocmdXORfDKey
16 D1:C5DA CD 21 AB D1 call printprompt
17 D1:C5DE 21 B1 EA D0 ld hl, FshCmdArg1
18 D1:C5E2 11 08 00 00 ld de, FshCmdCmdSize
19 D1:C5E6 CD A9 AD D1 call inputstr
20 D1:C5EA CD F0 07 02 call _NewLine
21 D1:C5EE - - - - cryptocmdXORfArg2:
22 D1:C5EE 21 BA EA D0 ld hl, FshCmdArg2
23 D1:C5F2 11 D1 EA D0 ld de, FshScratch
24 D1:C5F6 CD 6C AC D1 call strcpy
25 D1:C5FA 21 CD EA D0 ld hl, FshCmdArgFlags
26 D1:C5FE CB 66 - - bit 4, (hl)
27 D1:C600 28 10 - - jr z, cryptocmdXORfArg2Get
28 D1:C602 CB 6E - - bit 5, (hl)
29 D1:C604 28 24 - - jr z, cryptocmdXORfExe
30 D1:C606 21 F2 B3 D1 ld hl, ErrUsageo
31 D1:C60A CD 5D B3 D1 call ErrSet
32 D1:C60E CD 10 B3 D1 call ErrCatch
33 D1:C612 - - - - cryptocmdXORfArg2Get:
34 D1:C612 21 68 C6 D1 ld hl, cryptocmdXORfDMessage
35 D1:C616 CD 21 AB D1 call printprompt
36 D1:C61A 21 D1 EA D0 ld hl, FshScratch
37 D1:C61E 11 09 00 00 ld de, FshScratchSize - 1 / 2
38 D1:C622 CD CD AE D1 call inputcharstr
39 D1:C626 CD F0 07 02 call _NewLine
40 D1:C62A - - - - cryptocmdXORfExe:
41 D1:C62A 21 D1 EA D0 ld hl, FshScratch
42 D1:C62E 11 B1 EA D0 ld de, FshCmdArg1
43 D1:C632 CD 05 B6 D1 call xorcrypt
44 D1:C636 21 72 C6 D1 ld hl, cryptocmdXORfDResult
45 D1:C63A CD C0 07 02 call _PutS
46 D1:C63E 21 D1 EA D0 ld hl, FshScratch
47 D1:C642 - - - - cryptocmdXORfPrint:
48 D1:C642 7E - - - ld a, (hl)
49 D1:C643 B7 - - - or a, a
50 D1:C644 28 14 - - jr z, cryptocmdXORfPrintEnd
51 D1:C646 E5 - - - push hl
52 D1:C647 CD C2 AB D1 call bytetohexstr
53 D1:C64B 7E - - - ld a, (hl)
54 D1:C64C CD B8 07 02 call _PutC
55 D1:C650 23 - - - inc hl
56 D1:C651 7E - - - ld a, (hl)
57 D1:C652 CD B8 07 02 call _PutC
58 D1:C656 E1 - - - pop hl
59 D1:C657 23 - - - inc hl
60 D1:C658 18 E8 - - jr cryptocmdXORfPrint
61 D1:C65A - - - - cryptocmdXORfPrintEnd:
62 D1:C65A CD F0 07 02 call _NewLine
63 D1:C65E C3 DF A8 D1 jp Fin
64 D1:C662 - - - -
65 D1:C662 4B 65 79 3D
20 00 - - cryptocmdXORfDKey: .db "Key= ", 0
66 D1:C668 4D 65 73 73
61 67 65 3D
20 00 - - cryptocmdXORfDMessage: .db "Message= ", 0
67 D1:C672 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:C67B - - - - #include "includes/CryptoCommands/HELP.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/HELP.asm"
1 D1:C67B 48 45 4C 50
00 - - - cryptocmdHELP: .db "HELP", 0
2 D1:C680 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:C691 45 4E 43 52
59 50 54 20
48 45 4C 50
00 - - - cryptocmdHELPu: .db "ENCRYPT HELP", 0
4 D1:C69E - - - - cryptocmdHELPf:
5 D1:C69E 21 CD EA D0 ld hl, FshCmdArgFlags
6 D1:C6A2 CB 56 - - bit 2, (hl)
7 D1:C6A4 28 0C - - jr z, cryptocmdHELPfExe
8 D1:C6A6 21 F2 B3 D1 ld hl, ErrUsageo
9 D1:C6AA CD 5D B3 D1 call ErrSet
10 D1:C6AE CD 10 B3 D1 call ErrCatch
11 D1:C6B2 - - - - cryptocmdHELPfExe:
12 D1:C6B2 21 10 C7 D1 ld hl, cryptocmdHELPfLine1
13 D1:C6B6 CD C0 07 02 call _PutS
14 D1:C6BA CD F0 07 02 call _NewLine
15 D1:C6BE - - - -
16 D1:C6BE - - - - #macro cryptocmdHELPmRow1(cmdXs)
17 D1:C6BE xor a
18 D1:C6BE ld (curCol), a
19 D1:C6BE ld hl, cmdXs
20 D1:C6BE call _PutS
21 D1:C6BE call _NewLine
22 D1:C6BE #endmacro
23 D1:C6BE - - - - #macro cryptocmdHELPmRowU(cmdXs, cmdXu)
24 D1:C6BE xor a
25 D1:C6BE ld (curCol), a
26 D1:C6BE ld hl, cmdXs
27 D1:C6BE call _PutS
28 D1:C6BE ld a, ':'
29 D1:C6BE call _PutC
30 D1:C6BE ld a, ' '
31 D1:C6BE call _PutC
32 D1:C6BE ld hl, cmdXu
33 D1:C6BE call _PutS
34 D1:C6BE call _NewLine
35 D1:C6BE #endmacro
36 D1:C6BE - - - - #macro cryptocmdHELPmRow2(cmdXs, cmdYs)
37 D1:C6BE xor a
38 D1:C6BE ld (curCol), a
39 D1:C6BE ld hl, cmdXs
40 D1:C6BE call _PutS
41 D1:C6BE ld a, 9
42 D1:C6BE ld (curcol), a
43 D1:C6BE ld hl, cmdYs
44 D1:C6BE call _PutS
45 D1:C6BE call _NewLine
46 D1:C6BE #endmacro
47 D1:C6BE - - - - #macro cryptocmdHELPmRow3(cmdXs, cmdYs, cmdZs)
48 D1:C6BE xor a
49 D1:C6BE ld (curCol), a
50 D1:C6BE ld hl, cmdXs
51 D1:C6BE call _PutS
52 D1:C6BE ld a, 9
53 D1:C6BE ld (curcol), a
54 D1:C6BE ld hl, cmdYs
55 D1:C6BE call _PutS
56 D1:C6BE ld a, 19
57 D1:C6BE ld (curcol), a
58 D1:C6BE ld hl, cmdZs
59 D1:C6BE call _PutS
60 D1:C6BE call _NewLine
61 D1:C6BE #endmacro
62 D1:C6BE - - - -
63 D1:C6BE AF 32 96 05
D0 21 6E C4
D1 CD C0 07
02 3E 3A CD
B8 07 02 3E
20 CD B8 07
02 21 A9 C4
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:C6E3 AF 32 96 05
D0 21 7C C5
D1 CD C0 07
02 3E 3A CD
B8 07 02 3E
20 CD B8 07
02 21 A2 C5
D1 CD C0 07
02 CD F0 07
02 - - - cryptocmdHELPmRowU(cryptocmdXOR, cryptocmdXORu)
65 D1:C708 - - - -
66 D1:C708 CD F0 07 02 call _NewLine
67 D1:C70C C3 DF A8 D1 jp Fin
68 D1:C710 - - - -
69 D1:C710 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:C723 - - - -
6 D1:C723 - - - - #include "includes/CryptoCommands/DECRYPT.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/DECRYPT.asm"
1 D1:C723 44 45 43 52
59 50 54 00 cryptocmdDECRYPT: .db "DECRYPT", 0
2 D1:C72B 02 02 - - cryptocmdDECRYPTo: .dw $0202
3 D1:C72D 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:C776 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 <Crypt Command> <Crypt Args>", 0
5 D1:C79B - - - - cryptocmdDECRYPTf:
6 D1:C79B - - - - cryptocmdDECRYPTfArg0:
7 D1:C79B 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:C79F CB 46 - - bit 0, (hl)
9 D1:C7A1 28 10 - - jr z, cryptocmdDECRYPTfArg0Get
10 D1:C7A3 CB 4E - - bit 1, (hl)
11 D1:C7A5 28 24 - - jr z, cryptocmdDECRYPTfExe
12 D1:C7A7 21 F2 B3 D1 ld hl, ErrUsageo
13 D1:C7AB CD 5D B3 D1 call ErrSet
14 D1:C7AF CD 10 B3 D1 call ErrCatch
15 D1:C7B3 - - - - cryptocmdDECRYPTfArg0Get:
16 D1:C7B3 21 1B C8 D1 ld hl, cryptocmdDECRYPTfSCypher
17 D1:C7B7 CD 21 AB D1 call printprompt
18 D1:C7BB 21 A8 EA D0 ld hl, FshCmdArg0
19 D1:C7BF 11 2C 00 00 ld de, FshCmdInptSize
20 D1:C7C3 CD A9 AD D1 call inputstr
21 D1:C7C7 CD F0 07 02 call _NewLine
22 D1:C7CB - - - - cryptocmdDECRYPTfExe:
23 D1:C7CB - - - -
24 D1:C7CB - - - - #macro cryptocmdDECRYPTcmpjp(cmdX, cmdXf)
25 D1:C7CB ld hl, FshCmdArg0
26 D1:C7CB ld de, CmdX
27 D1:C7CB call strcmp
28 D1:C7CB jp z, cmdXf
29 D1:C7CB #endmacro
30 D1:C7CB - - - -
31 D1:C7CB 21 A8 EA D0
11 24 C8 D1
CD 59 AC D1
CA 74 C8 D1 cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf)
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/DECRYPT.asm"
32 D1:C7DB 21 A8 EA D0
11 2B C9 D1
CD 59 AC D1
CA 63 C9 D1 cryptocmdDECRYPTcmpjp(cryptocmdunXOR, cryptocmdunXORf)
33 D1:C7EB 21 A8 EA D0
11 40 CA D1
CD 59 AC D1
CA 63 CA D1 cryptocmdDECRYPTcmpjp(cryptocmdunHELP, cryptocmdunHELPf)
34 D1:C7FB - - - -
35 D1:C7FB 21 A8 EA D0 ld hl, FshCmdArg0
36 D1:C7FF 11 9F EA D0 ld de, FshCmd
37 D1:C803 CD 6C AC D1 call strcpy
38 D1:C807 - - - -
39 D1:C807 21 6C B3 D1 ld hl, ErrCmdNotFoundo
40 D1:C80B 11 CE EA D0 ld de, FshCmdErrCode
41 D1:C80F CD 4A AA D1 call bytecpy
42 D1:C813 CD 5D B3 D1 call ErrSet
43 D1:C817 C3 E7 A8 D1 jp Err
44 D1:C81B - - - -
45 D1:C81B 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:C824 - - - - #include "includes/CryptoCommands/unROT.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unROT.asm"
1 D1:C824 52 4F 54 00 cryptocmdunROT: .db "ROT", 0
2 D1:C828 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:C85F 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 <shift#>", 0
4 D1:C874 - - - - cryptocmdunROTf:
5 D1:C874 - - - - cryptocmdunROTfArg1:
6 D1:C874 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:C878 CB 5E - - bit 3, (hl)
8 D1:C87A 20 32 - - jr nz, cryptocmdunROTfArg2
9 D1:C87C CB 56 - - bit 2, (hl)
10 D1:C87E 28 0C - - jr z, cryptocmdunROTfArg1Get
11 D1:C880 21 F2 B3 D1 ld hl, ErrUsageo
12 D1:C884 CD 5D B3 D1 call ErrSet
13 D1:C888 CD 10 B3 D1 call ErrCatch
14 D1:C88C - - - - cryptocmdunROTfArg1Get:
15 D1:C88C 21 0D C9 D1 ld hl, cryptocmdunROTfDShift
16 D1:C890 CD 21 AB D1 call printprompt
17 D1:C894 21 B1 EA D0 ld hl, FshCmdArg1
18 D1:C898 11 03 00 00 ld de, 3
19 D1:C89C CD E1 AF D1 call inputnumstr
20 D1:C8A0 CD E3 AC D1 call strtow
21 D1:C8A4 11 B1 EA D0 ld de, FshCmdArg1
22 D1:C8A8 EB - - - ex de, hl
23 D1:C8A9 73 - - - ld (hl), e
24 D1:C8AA CD F0 07 02 call _NewLine
25 D1:C8AE - - - - cryptocmdunROTfArg2:
26 D1:C8AE 21 BA EA D0 ld hl, FshCmdArg2
27 D1:C8B2 11 D1 EA D0 ld de, FshScratch
28 D1:C8B6 CD 6C AC D1 call strcpy
29 D1:C8BA 21 CD EA D0 ld hl, FshCmdArgFlags
30 D1:C8BE CB 66 - - bit 4, (hl)
31 D1:C8C0 28 10 - - jr z, cryptocmdunROTfArg2Get
32 D1:C8C2 CB 6E - - bit 5, (hl)
33 D1:C8C4 28 24 - - jr z, cryptocmdunROTfExe
34 D1:C8C6 21 F2 B3 D1 ld hl, ErrUsageo
35 D1:C8CA CD 5D B3 D1 call ErrSet
36 D1:C8CE CD 10 B3 D1 call ErrCatch
37 D1:C8D2 - - - - cryptocmdunROTfArg2Get:
38 D1:C8D2 21 15 C9 D1 ld hl, cryptocmdunROTfDMessage
39 D1:C8D6 CD 21 AB D1 call printprompt
40 D1:C8DA 21 D1 EA D0 ld hl, FshScratch
41 D1:C8DE 11 10 00 00 ld de, FshScratchSize - 4
42 D1:C8E2 CD CD AE D1 call inputcharstr
43 D1:C8E6 CD F0 07 02 call _NewLine
44 D1:C8EA - - - - cryptocmdunROTfExe:
45 D1:C8EA 21 B1 EA D0 ld hl, FshCmdArg1
46 D1:C8EE 7E - - - ld a, (hl)
47 D1:C8EF 21 D1 EA D0 ld hl, FshScratch
48 D1:C8F3 CD 9C B5 D1 call rotletdecrypt
49 D1:C8F7 E5 - - - push hl
50 D1:C8F8 21 22 C9 D1 ld hl, cryptocmdunROTfDResult
51 D1:C8FC CD C0 07 02 call _PutS
52 D1:C900 E1 - - - pop hl
53 D1:C901 CD C0 07 02 call _PutS
54 D1:C905 CD F0 07 02 call _NewLine
55 D1:C909 C3 DF A8 D1 jp Fin
56 D1:C90D - - - -
57 D1:C90D 53 68 69 66
74 3D 20 00 cryptocmdunROTfDShift: .db "Shift= ", 0
58 D1:C915 43 79 70 68
65 72 54 65
78 74 3D 20
00 - - - cryptocmdunROTfDMessage: .db "CypherText= ", 0
59 D1:C922 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:C92B - - - - #include "includes/CryptoCommands/unXOR.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unXOR.asm"
1 D1:C92B 58 4F 52 00 cryptocmdunXOR: .db "XOR", 0
2 D1:C92F 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:C951 44 45 43 52
59 50 54 20
58 4F 52 20
3C 6B 65 79
3E 00 - - cryptocmdunXORu: .db "DECRYPT XOR <key>", 0
4 D1:C963 - - - - cryptocmdunXORf:
5 D1:C963 - - - - cryptocmdunXORfArg1:
6 D1:C963 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:C967 CB 56 - - bit 2, (hl)
8 D1:C969 28 10 - - jr z, cryptocmdunXORfArg1Get
9 D1:C96B CB 5E - - bit 3, (hl)
10 D1:C96D 28 24 - - jr z, cryptocmdunXORfArg2
11 D1:C96F 21 F2 B3 D1 ld hl, ErrUsageo
12 D1:C973 CD 5D B3 D1 call ErrSet
13 D1:C977 CD 10 B3 D1 call ErrCatch
14 D1:C97B - - - - cryptocmdunXORfArg1Get:
15 D1:C97B 21 10 CA D1 ld hl, cryptocmdunXORfDKey
16 D1:C97F CD 21 AB D1 call printprompt
17 D1:C983 21 B1 EA D0 ld hl, FshCmdArg1
18 D1:C987 11 08 00 00 ld de, FshCmdCmdSize
19 D1:C98B CD A9 AD D1 call inputstr
20 D1:C98F CD F0 07 02 call _NewLine
21 D1:C993 - - - - cryptocmdunXORfArg2:
22 D1:C993 21 BA EA D0 ld hl, FshCmdArg2
23 D1:C997 11 D1 EA D0 ld de, FshScratch
24 D1:C99B CD 6C AC D1 call strcpy
25 D1:C99F 21 CD EA D0 ld hl, FshCmdArgFlags
26 D1:C9A3 CB 66 - - bit 4, (hl)
27 D1:C9A5 20 45 - - jr nz, cryptocmdunXORfExe
28 D1:C9A7 - - - - cryptocmdunXORfArg2Get:
29 D1:C9A7 21 30 CA D1 ld hl, cryptocmdunXORfStringPBuffer
30 D1:C9AB 06 0F - - ld b, $0F
31 D1:C9AD 3E 00 - - ld a, $00
32 D1:C9AF CD 6B AA D1 call memset
33 D1:C9B3 21 16 CA D1 ld hl, cryptocmdunXORfDMessage
34 D1:C9B7 CD 21 AB D1 call printprompt
35 D1:C9BB 21 D1 EA D0 ld hl, FshScratch
36 D1:C9BF 11 10 00 00 ld de, FshScratchSize - 4
37 D1:C9C3 CD A9 AD D1 call inputstr
38 D1:C9C7 01 30 CA D1 ld bc, cryptocmdunXORfStringPBuffer
39 D1:C9CB - - - - cryptocmdunXORfArg2GetLoop:
40 D1:C9CB 7E - - - ld a, (hl)
41 D1:C9CC B7 - - - or a, a
42 D1:C9CD 28 19 - - jr z, cryptocmdunXORfArg2GetLoopEnd
43 D1:C9CF 32 2C CA D1 ld (cryptocmdunXORfStringBuffer), a
44 D1:C9D3 23 - - - inc hl
45 D1:C9D4 7E - - - ld a, (hl)
46 D1:C9D5 32 2D CA D1 ld (cryptocmdunXORfStringBuffer + 1), a
47 D1:C9D9 E5 - - - push hl
48 D1:C9DA 21 2C CA D1 ld hl, cryptocmdunXORfStringBuffer
49 D1:C9DE CD 1C AC D1 call hexToA
50 D1:C9E2 E1 - - - pop hl
51 D1:C9E3 02 - - - ld (bc), a
52 D1:C9E4 23 - - - inc hl
53 D1:C9E5 03 - - - inc bc
54 D1:C9E6 18 E3 - - jr cryptocmdunXORfArg2GetLoop
55 D1:C9E8 - - - - cryptocmdunXORfArg2GetLoopEnd:
56 D1:C9E8 CD F0 07 02 call _NewLine
57 D1:C9EC - - - - cryptocmdunXORfExe:
58 D1:C9EC 21 30 CA D1 ld hl, cryptocmdunXORfStringPBuffer
59 D1:C9F0 11 B1 EA D0 ld de, FshCmdArg1
60 D1:C9F4 CD 05 B6 D1 call xorcrypt
61 D1:C9F8 21 23 CA D1 ld hl, cryptocmdunXORfDResult
62 D1:C9FC CD C0 07 02 call _PutS
63 D1:CA00 21 30 CA D1 ld hl, cryptocmdunXORfStringPBuffer
64 D1:CA04 CD C0 07 02 call _PutS
65 D1:CA08 CD F0 07 02 call _NewLine
66 D1:CA0C C3 DF A8 D1 jp Fin
67 D1:CA10 - - - -
68 D1:CA10 4B 65 79 3D
20 00 - - cryptocmdunXORfDKey: .db "Key= ", 0
69 D1:CA16 43 79 70 68
65 72 54 65
78 74 3D 20
00 - - - cryptocmdunXORfDMessage: .db "CypherText= ", 0
70 D1:CA23 52 65 73 75
6C 74 3A 20
00 - - - cryptocmdunXORfDResult: .db "Result: ", 0
71 D1:CA2C 00 00 00 00 cryptocmdunXORfStringBuffer: .db $00, $00, $00, $00
72 D1:CA30 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:CA40 - - - - #include "includes/CryptoCommands/unHELP.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unHELP.asm"
1 D1:CA40 48 45 4C 50
00 - - - cryptocmdunHELP: .db "HELP", 0
2 D1:CA45 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:CA56 44 45 43 52
59 50 54 20
48 45 4C 50
00 - - - cryptocmdunHELPu: .db "DECRYPT HELP", 0
4 D1:CA63 - - - - cryptocmdunHELPf:
5 D1:CA63 21 CD EA D0 ld hl, FshCmdArgFlags
6 D1:CA67 CB 56 - - bit 2, (hl)
7 D1:CA69 28 0C - - jr z, cryptocmdunHELPfExe
8 D1:CA6B 21 F2 B3 D1 ld hl, ErrUsageo
9 D1:CA6F CD 5D B3 D1 call ErrSet
10 D1:CA73 CD 10 B3 D1 call ErrCatch
11 D1:CA77 - - - - cryptocmdunHELPfExe:
12 D1:CA77 21 D5 CA D1 ld hl, cryptocmdunHELPfLine1
13 D1:CA7B CD C0 07 02 call _PutS
14 D1:CA7F CD F0 07 02 call _NewLine
15 D1:CA83 - - - -
16 D1:CA83 - - - - #macro cryptocmdunHELPmRow1(cmdXs)
17 D1:CA83 xor a
18 D1:CA83 ld (curCol), a
19 D1:CA83 ld hl, cmdXs
20 D1:CA83 call _PutS
21 D1:CA83 call _NewLine
22 D1:CA83 #endmacro
23 D1:CA83 - - - - #macro cryptocmdunHELPmRowU(cmdXs, cmdXu)
24 D1:CA83 xor a
25 D1:CA83 ld (curCol), a
26 D1:CA83 ld hl, cmdXs
27 D1:CA83 call _PutS
28 D1:CA83 ld a, ':'
29 D1:CA83 call _PutC
30 D1:CA83 ld a, ' '
31 D1:CA83 call _PutC
32 D1:CA83 ld hl, cmdXu
33 D1:CA83 call _PutS
34 D1:CA83 call _NewLine
35 D1:CA83 #endmacro
36 D1:CA83 - - - - #macro cryptocmdunHELPmRow2(cmdXs, cmdYs)
37 D1:CA83 xor a
38 D1:CA83 ld (curCol), a
39 D1:CA83 ld hl, cmdXs
40 D1:CA83 call _PutS
41 D1:CA83 ld a, 9
42 D1:CA83 ld (curcol), a
43 D1:CA83 ld hl, cmdYs
44 D1:CA83 call _PutS
45 D1:CA83 call _NewLine
46 D1:CA83 #endmacro
47 D1:CA83 - - - - #macro cryptocmdunHELPmRow3(cmdXs, cmdYs, cmdZs)
48 D1:CA83 xor a
49 D1:CA83 ld (curCol), a
50 D1:CA83 ld hl, cmdXs
51 D1:CA83 call _PutS
52 D1:CA83 ld a, 9
53 D1:CA83 ld (curcol), a
54 D1:CA83 ld hl, cmdYs
55 D1:CA83 call _PutS
56 D1:CA83 ld a, 19
57 D1:CA83 ld (curcol), a
58 D1:CA83 ld hl, cmdZs
59 D1:CA83 call _PutS
60 D1:CA83 call _NewLine
61 D1:CA83 #endmacro
62 D1:CA83 - - - -
63 D1:CA83 AF 32 96 05
D0 21 24 C8
D1 CD C0 07
02 3E 3A CD
B8 07 02 3E
20 CD B8 07
02 21 5F C8
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:CAA8 AF 32 96 05
D0 21 2B C9
D1 CD C0 07
02 3E 3A CD
B8 07 02 3E
20 CD B8 07
02 21 51 C9
D1 CD C0 07
02 CD F0 07
02 - - - cryptocmdunHELPmRowU(cryptocmdunXOR, cryptocmdunXORu)
65 D1:CACD - - - -
66 D1:CACD CD F0 07 02 call _NewLine
67 D1:CAD1 C3 DF A8 D1 jp Fin
68 D1:CAD5 - - - -
69 D1:CAD5 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:CAE8 - - - - #include "includes/PrgmCommands/PrgmCommand.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommand.asm"
1 D1:CAE8 - - - - prgmcmddecode:
2 D1:CAE8 E5 D5 11 32
CB D1 CD 59
AC D1 21 37
CB 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:CAFC C9 - - - ret
4 D1:CAFD - - - -
5 D1:CAFD - - - - prgmcmdroute:
6 D1:CAFD C1 - - - pop bc
7 D1:CAFE 11 37 CB D1
CD 5E AA D1
CA 43 CB D1 routeoptjp(prgmcmdPRGMo, prgmcmdPRGMf)
8 D1:CB0A C5 - - - push bc
9 D1:CB0B C9 - - - ret
10 D1:CB0C - - - -
11 D1:CB0C - - - - prgmcmdmanroute:
12 D1:CB0C C1 - - - pop bc
13 D1:CB0D 11 32 CB D1
CD 59 AC D1
11 39 CB D1
CA 7B B6 D1 routestrjp(prgmcmdPRGM, prgmcmdPRGMm)
14 D1:CB1D C5 - - - push bc
15 D1:CB1E C9 - - - ret
16 D1:CB1F - - - -
17 D1:CB1F - - - -
18 D1:CB1F - - - - prgmcmdmanrouteu:
19 D1:CB1F C1 - - - pop bc
20 D1:CB20 11 32 CB D1
CD 59 AC D1
11 3E CB D1
CA 91 B6 D1 routeustrjp(prgmcmdPRGM, prgmcmdPRGMu)
21 D1:CB30 C5 - - - push bc
22 D1:CB31 C9 - - - ret
23 D1:CB32 - - - -
24 D1:CB32 - - - - #include "includes/PrgmCommands/PrgmCommands.inc"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommands.inc"
1 D1:CB32 - - - - #include "includes/PrgmCommands/PRGM.asm"
Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PRGM.asm"
1 D1:CB32 50 52 47 4D
00 - - - prgmcmdPRGM: .db "PRGM", 0
2 D1:CB37 00 01 - - prgmcmdPRGMo: .dw $0100
3 D1:CB39 68 65 6C 70
00 - - - prgmcmdPRGMm: .db "help", 0
4 D1:CB3E 50 52 47 4D
00 - - - prgmcmdPRGMu: .db "PRGM", 0
5 D1:CB43 - - - - prgmcmdPRGMf:
6 D1:CB43 - - - -
7 D1:CB43 21 4F CB D1 ld hl, prgmcmdPRGMSprgm
8 D1:CB47 CD 20 03 02 call _Mov9ToOP1
9 D1:CB4B - - - -
10 D1:CB4B CD 34 B5 D1 call prgmasm
11 D1:CB4F - - - -
12 D1:CB4F 05 43 48 41
52 00 - - prgmcmdPRGMSprgm: .db ProgObj, "CHAR", 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:CB55 - - - -
78 D1:CB55 45 4E 44 46
53 48 41 - .db "ENDFSHA"
79 D1:CB5C - - - -
80 D1:CB5C - - - - .end