fsh-shell/bin/FSHa.lst

4289 lines
175 KiB
Plaintext

1 00:0000 - - - - #include "includes/static/ti84pce.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\static\ti84pce.inc"
1 00:0000 - - - - ;TI-84 Plus CE Include File
2 00:0000 - - - -
3 00:0000 - - - - ;Various Parts Contributed by
4 00:0000 - - - - ;- BrandonW
5 00:0000 - - - - ;- calc84
6 00:0000 - - - - ;- MateoConLechuga
7 00:0000 - - - - ;- Runer112
8 00:0000 - - - - ;- tr1p1ea
9 00:0000 - - - - ;- Kerm Martian
10 00:0000 - - - - ;- Texas Instruments (ti83plus.inc)
Listing for file "FSHa.asm"
2 00:0000 - - - - #include "includes/static/define.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\static\define.inc"
Listing for file "FSHa.asm"
3 00:0000 - - - - #include "includes/macros/macros.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc"
1 00:0000 - - - - #include "includes/macros/misc.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\misc.asm"
1 00:0000 - - - - ;;rgbto565
2 00:0000 - - - - ;;turns an rgb input into the 656 format that the lcd uses
3 00:0000 - - - - ;;Inputs:
4 00:0000 - - - - ;; r,g,b
5 00:0000 - - - - ;;Outputs:
6 00:0000 - - - - ;; HL: color
7 00:0000 - - - - #macro rgbto565(red, green, blue)
8 00:0000 ld hl, ((red / 255 * 31) << 11) | ((green / 255 * 63) << 5) | ((blue / 255 * 31))
9 00:0000 #endmacro
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc"
2 00:0000 - - - - #include "includes/macros/pixel.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\pixel.asm"
1 00:0000 - - - - ;;pixel
2 00:0000 - - - - ;;Gets vRam location of coordinates
3 00:0000 - - - - ;;Inputs:
4 00:0000 - - - - ;; x: x axis
5 00:0000 - - - - ;; y: y axis
6 00:0000 - - - - ;;Outputs:
7 00:0000 - - - - ;; DE: vRam location
8 00:0000 - - - - #macro pixel(x, y)
9 00:0000 ld de, vRam + (y * 320 * 2) + (x * 2)
10 00:0000 #endmacro
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc"
3 00:0000 - - - - #include "includes/macros/draw.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\draw.asm"
1 00:0000 - - - - #macro drawpixelxyM(x, y)
2 00:0000 ld de, x
3 00:0000 ld a, y
4 00:0000 call drawpixelxy
5 00:0000 #endmacro
6 00:0000 - - - -
7 00:0000 - - - - #macro drawlineM(x1, y1, x2, y2)
8 00:0000 ;TODO
9 00:0000 #endmacro
10 00:0000 - - - -
11 00:0000 - - - - #macro drawrowM(y)
12 00:0000 ld a, y
13 00:0000 call drawrow
14 00:0000 #endmacro
15 00:0000 - - - -
16 00:0000 - - - - #macro drawbarM(y, height)
17 00:0000 ld a, y
18 00:0000 ld bc, height
19 00:0000 call drawbar
20 00:0000 #endmacro
21 00:0000 - - - -
22 00:0000 - - - - #macro drawrectfilledM(x, y, width, height)
23 00:0000 ex de, hl
24 00:0000 ld ixl, e
25 00:0000 ld ixh, d
26 00:0000 ex de, hl
27 00:0000 ld hl, width
28 00:0000 ld de, x
29 00:0000 ld bc, 0
30 00:0000 ld c, y
31 00:0000 ld a, height
32 00:0000 call drawrectfilled
33 00:0000 #endmacro
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc"
4 00:0000 - - - - #include "includes/macros/command.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\command.asm"
1 00:0000 - - - - ;;decodecmdopt
2 00:0000 - - - - ;;compares cmdXs to command input and conditionally sets opt to optcode
3 00:0000 - - - - ;;Inputs:
4 00:0000 - - - - ;; HL: cmd string input
5 00:0000 - - - - ;; DE: op code mem location
6 00:0000 - - - - #macro decodecmdopt(cmdXs, cmdXo)
7 00:0000 push hl
8 00:0000 push de
9 00:0000 ld de, cmdXs
10 00:0000 call strcmp
11 00:0000 ld hl, cmdXo
12 00:0000 pop de
13 00:0000 call z, bytecpy
14 00:0000 pop hl
15 00:0000 #endmacro
16 00:0000 - - - -
17 00:0000 - - - - #macro routeoptjp(cmdXo, cmdXf)
18 00:0000 ld de, cmdXo
19 00:0000 call bytecmp
20 00:0000 jp z, cmdXf
21 00:0000 #endmacro
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\macros\macros.inc"
Listing for file "FSHa.asm"
4 00:0000 - - - -
5 00:0000 - - - - .assume ADL=1
6 00:0000 - - - - .org userMem-2
7 D1:A87F EF 7B - - .DB tExtTok,tAsm84CeCmp
8 D1:A881 - - - -
9 D1:A881 - - - - Setup:
10 D1:A881 CD 48 08 02 CALL _RunIndicOff
11 D1:A885 CD 38 11 02 CALL _EnableAPD
12 D1:A889 FD CB 08 DE SET apdRunning,(iy+apdFlags)
13 D1:A88D CD 28 08 02 CALL _homeup
14 D1:A891 CD 08 08 02 CALL _ClrLCDFull
15 D1:A895 - - - -
16 D1:A895 CD 95 B4 D1 CALL drawstatusbar
17 D1:A899 - - - -
18 D1:A899 CD CA B2 D1 CALL fshvarreset
19 D1:A89D - - - -
20 D1:A89D CD 70 B4 D1 CALL printmotd
21 D1:A8A1 - - - -
22 D1:A8A1 - - - - Input:
23 D1:A8A1 - - - - ;; TODO: Update status bar sometimes
24 D1:A8A1 3E 00 - - LD A, $00
25 D1:A8A3 CD BB B0 D1 CALL commandfill
26 D1:A8A7 - - - -
27 D1:A8A7 21 2B A9 D1 LD HL, PS1
28 D1:A8AB CD FB AA D1 CALL printprompt
29 D1:A8AF - - - -
30 D1:A8AF 21 9F EA D0 LD HL, FshCmd
31 D1:A8B3 11 2C 00 00 LD DE, FshCmdInptSize
32 D1:A8B7 CD 7F AD D1 CALL inputstr
33 D1:A8BB - - - -
34 D1:A8BB 21 9F EA D0 LD HL, FshCmd
35 D1:A8BF CD D6 B0 D1 CALL fshparsecommand
36 D1:A8C3 - - - -
37 D1:A8C3 CD F0 07 02 CALL _NewLine
38 D1:A8C7 - - - -
39 D1:A8C7 - - - - Decode:
40 D1:A8C7 21 9F EA D0 LD HL, FshCmd
41 D1:A8CB 11 CC EA D0 LD DE, FshCmdOP
42 D1:A8CF CD 1B B6 D1 CALL commanddecode
43 D1:A8D3 - - - -
44 D1:A8D3 - - - - Route:
45 D1:A8D3 21 CC EA D0 LD HL, FshCmdOP
46 D1:A8D7 C3 24 B6 D1 JP commandroute
47 D1:A8DB - - - -
48 D1:A8DB - - - - Fin:
49 D1:A8DB C3 A1 A8 D1 JP Input
50 D1:A8DF - - - -
51 D1:A8DF - - - - Err:
52 D1:A8DF C3 F5 B2 D1 JP ErrRoute
53 D1:A8E3 - - - -
54 D1:A8E3 - - - - Cleanup:
55 D1:A8E3 FD CB 03 C6 SET graphdraw,(IY+graphflags)
56 D1:A8E7 CD 08 08 02 CALL _ClrLCDFull
57 D1:A8EB CD 18 08 02 CALL _ClrTxtShdw
58 D1:A8EF CD 28 08 02 CALL _homeup
59 D1:A8F3 CD 3C 1A 02 call _DrawStatusBar
60 D1:A8F7 - - - -
61 D1:A8F7 - - - - Exit:
62 D1:A8F7 FD CB 00 AE RES donePrgm,(iy+doneFlags)
63 D1:A8FB C9 - - - RET
64 D1:A8FC - - - -
65 D1:A8FC - - - - #include "includes/Text.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Text.inc"
1 D1:A8FC - - - - ;STRINGS -------------------------
2 D1:A8FC 46 73 68 20
53 48 65 6C
6C 00 - - FshName: .db "Fsh SHell", 0
3 D1:A906 42 79 20 70
69 78 69 79
73 00 - - FshBy: .db "By pixiys", 0
4 D1:A910 73 74 65 70
68 65 6E 6C
74 6F 74 68
2E 63 6F 6D
2F 66 73 68
2D 73 68 65
6C 6C 00 - FshSite: .db "stephenltoth.com/fsh-shell", 0
5 D1:A92B 46 53 48 3E
20 00 - - PS1: .db "FSH> ", 0
6 D1:A931 36 34 77 00 FshVVars: .db "64w", 0
7 D1:A935 30 00 - - FshVMajor: .db "0", 0
8 D1:A937 31 00 - - FshVMinor: .db "1", 0
9 D1:A939 30 00 - - FshVPatch: .db "0", 0
10 D1:A93B 34 36 34 00 FshVBuild: .db "464", 0
11 D1:A93F 2E 00 - - FshVSeparator: .db ".", 0
12 D1:A941 50 72 65 73
73 20 32 6E
64 20 66 6F
72 20 6E 75
6D 62 65 72
73 00 - - FshMotd2nd: .db "Press 2nd for numbers", 0
13 D1:A957 54 79 70 65
20 27 48 45
4C 50 27 20
66 6F 72 20
68 65 6C 70
00 - - - FshMotdHelp: .db "Type 'HELP' for help", 0
Listing for file "FSHa.asm"
66 D1:A96C 00 - - - FshFlags: .DB %00000000
67 D1:A96D - - - - ; 0: Debug Flag
68 D1:A96D - - - - ; 1: Error Flag
69 D1:A96D - - - - ; 2: Program Flag
70 D1:A96D - - - -
71 D1:A96D - - - - #include "includes/lib/std/std.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
1 D1:A96D - - - - #include "includes/lib/std/Math.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Math.asm"
1 D1:A96D - - - - ;;cpHLDE
2 D1:A96D - - - - ;;Compares HL to DE.
3 D1:A96D - - - - ;;Output:
4 D1:A96D - - - - ;; Same as z80 CP instruction.
5 D1:A96D - - - - cpHLDE:
6 D1:A96D B7 - - - or a
7 D1:A96E ED 52 - - sbc hl, de
8 D1:A970 19 - - - add hl,de
9 D1:A971 C9 - - - ret
10 D1:A972 - - - -
11 D1:A972 - - - - ;;cpHLBC
12 D1:A972 - - - - ;;Compares HL to BC.
13 D1:A972 - - - - ;;Output:
14 D1:A972 - - - - ;; Same as z80 CP instruction.
15 D1:A972 - - - - cpHLBC:
16 D1:A972 B7 - - - or a
17 D1:A973 ED 42 - - sbc hl, bc
18 D1:A975 09 - - - add hl,bc
19 D1:A976 C9 - - - ret
20 D1:A977 - - - -
21 D1:A977 - - - - ;;cpBCDE
22 D1:A977 - - - - ;;Compares DE to BC.
23 D1:A977 - - - - ;;Output:
24 D1:A977 - - - - ;; Same as z80 CP instruction.
25 D1:A977 - - - - cpBCDE:
26 D1:A977 E5 - - - push hl
27 D1:A978 60 - - - ld h, b
28 D1:A979 69 - - - ld l, c
29 D1:A97A B7 - - - or a
30 D1:A97B ED 52 - - sbc hl, de
31 D1:A97D E1 - - - pop hl
32 D1:A97E C9 - - - ret
33 D1:A97F - - - -
34 D1:A97F - - - - ;;mulAbyB
35 D1:A97F - - - - ;;Multiplys AxB
36 D1:A97F - - - - ;;Inputs:
37 D1:A97F - - - - ;; A: Multiplier
38 D1:A97F - - - - ;; B: Multiplicand
39 D1:A97F - - - - ;;Outputs:
40 D1:A97F - - - - ;; A: Product of A and B.
41 D1:A97F - - - - mulAbyB:
42 D1:A97F C5 - - - push bc
43 D1:A980 4F - - - ld c, a
44 D1:A981 - - - - mulAbyBLoop:
45 D1:A981 81 - - - add a, c
46 D1:A982 10 FD - - djnz mulAbyBLoop
47 D1:A984 91 - - - sub c
48 D1:A985 C1 - - - pop bc
49 D1:A986 C9 - - - ret
50 D1:A987 - - - -
51 D1:A987 - - - - ;;mulAbyHL
52 D1:A987 - - - - ;;Multiplys AxHL
53 D1:A987 - - - - ;;Inputs:
54 D1:A987 - - - - ;; A: Multiplier
55 D1:A987 - - - - ;; HL: Multiplicand
56 D1:A987 - - - - ;;Outputs:
57 D1:A987 - - - - ;; HL: Product of A and HL.
58 D1:A987 - - - - mulAbyHL:
59 D1:A987 C5 - - - push bc
60 D1:A988 D5 - - - push de
61 D1:A989 11 00 00 00 ld de, 0
62 D1:A98D EB - - - ex de, hl
63 D1:A98E FE 00 - - cp 0
64 D1:A990 28 04 - - jr z, mulAbyHLEnd
65 D1:A992 47 - - - ld b, a
66 D1:A993 - - - - mulAbyHLLoop:
67 D1:A993 19 - - - add hl, de
68 D1:A994 10 FD - - djnz mulAbyHLLoop
69 D1:A996 - - - - mulAbyHLEnd:
70 D1:A996 D1 - - - pop de
71 D1:A997 C1 - - - pop bc
72 D1:A998 C9 - - - ret
73 D1:A999 - - - -
74 D1:A999 - - - - ;;modHL
75 D1:A999 - - - - ;;H % L => H
76 D1:A999 - - - - ;;Inputs:
77 D1:A999 - - - - ;; H:
78 D1:A999 - - - - ;; L:
79 D1:A999 - - - - modHL:
80 D1:A999 C5 - - - push bc
81 D1:A99A 44 - - - ld b, h
82 D1:A99B 3E 00 - - ld a, 0
83 D1:A99D - - - - modHLLoop:
84 D1:A99D 3C - - - inc a
85 D1:A99E BD - - - cp a, l
86 D1:A99F 20 02 - - jr nz, modHLLoopEnd
87 D1:A9A1 3E 00 - - ld a, 0
88 D1:A9A3 - - - - modHLLoopEnd:
89 D1:A9A3 10 F8 - - djnz modHLLoop
90 D1:A9A5 67 - - - ld h, a
91 D1:A9A6 C1 - - - pop bc
92 D1:A9A7 C9 - - - ret
93 D1:A9A8 - - - -
94 D1:A9A8 - - - -
95 D1:A9A8 - - - -
96 D1:A9A8 - - - - ;;mul32By8
97 D1:A9A8 - - - - ;;Performs an unsigned multiplication of DEHL and A.
98 D1:A9A8 - - - - ;;Outputs:
99 D1:A9A8 - - - - ;; DEHL: product of DEHL and A
100 D1:A9A8 - - - - mul32By8:
101 D1:A9A8 C5 DD E5 - push bc \ push ix
102 D1:A9AB DD 2E 08 - ld ixl, 8
103 D1:A9AE D5 - - - push de
104 D1:A9AF E5 - - - push hl
105 D1:A9B0 21 00 00 00 ld hl, 0
106 D1:A9B4 54 - - - ld d, h
107 D1:A9B5 5D - - - ld e, l
108 D1:A9B6 - - - - mul32by8loop:
109 D1:A9B6 29 - - - add hl, hl
110 D1:A9B7 CB 13 - - rl e
111 D1:A9B9 CB 12 - - rl d
112 D1:A9BB 17 - - - rla
113 D1:A9BC 30 0A - - jr nc, mul32by8noAdd
114 D1:A9BE C1 - - - pop bc
115 D1:A9BF 09 - - - add hl, bc
116 D1:A9C0 E3 - - - ex (sp), hl
117 D1:A9C1 E5 - - - push hl
118 D1:A9C2 ED 5A - - adc hl, de
119 D1:A9C4 D1 - - - pop de
120 D1:A9C5 EB - - - ex de, hl
121 D1:A9C6 E3 - - - ex (sp), hl
122 D1:A9C7 C5 - - - push bc
123 D1:A9C8 - - - - mul32by8noAdd:
124 D1:A9C8 DD 2D - - dec ixl
125 D1:A9CA 20 EA - - jr nz, mul32by8loop
126 D1:A9CC C1 - - - pop bc
127 D1:A9CD C1 - - - pop bc
128 D1:A9CE DD E1 C1 - pop ix \ pop bc
129 D1:A9D1 C9 - - - ret
130 D1:A9D2 - - - -
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
2 D1:A9D2 - - - - #include "includes/lib/std/Random.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Random.asm"
1 D1:A9D2 - - - - ;;randomint
2 D1:A9D2 - - - - ;;Gets an 8-bit random number.
3 D1:A9D2 - - - - ;;Inputs:
4 D1:A9D2 - - - - ;; A: Seed
5 D1:A9D2 - - - - ;;Outputs:
6 D1:A9D2 - - - - ;; A: Random number (0-255)
7 D1:A9D2 - - - - ;;Notes:
8 D1:A9D2 - - - - ;; This is not cryptographically random.
9 D1:A9D2 - - - - randomint:
10 D1:A9D2 32 25 AA D1 ld (randomintSeed), a
11 D1:A9D6 E5 - - - push hl
12 D1:A9D7 D5 - - - push de
13 D1:A9D8 C5 - - - push bc
14 D1:A9D9 2A 25 AA D1 ld hl, (randomintSeed)
15 D1:A9DD ED 5B 27 AA
D1 - - - ld de, (randomintSeed+2)
16 D1:A9E2 44 - - - ld b, h
17 D1:A9E3 4D - - - ld c, l
18 D1:A9E4 29 CB 13 CB
12 - - - add hl, hl \ rl e \ rl d
19 D1:A9E9 29 CB 13 CB
12 - - - add hl, hl \ rl e \ rl d
20 D1:A9EE 2C - - - inc l
21 D1:A9EF 09 - - - add hl, bc
22 D1:A9F0 22 25 AA D1 ld (randomintSeed), hl
23 D1:A9F4 2A 27 AA D1 ld hl, (randomintSeed+2)
24 D1:A9F8 ED 5A - - adc hl, de
25 D1:A9FA 22 28 AA D1 ld (randomintSeed+3), hl
26 D1:A9FE EB - - - ex de, hl
27 D1:A9FF 2A 25 AA D1 ld hl, (randomintSeed)
28 D1:AA03 ED 5B 29 AA
D1 - - - ld de, (randomintSeed+4)
29 D1:AA08 01 5E F9 00 ld bc, 63838
30 D1:AA0C 29 CB 11 CB
10 - - - add hl, hl \ rl c \ rl b
31 D1:AA11 ED 43 2B AA
D1 - - - ld (randomintSeed+6), bc
32 D1:AA16 9F - - - sbc a, a
33 D1:AA17 E6 F1 - - and %11110001
34 D1:AA19 AD - - - xor l
35 D1:AA1A 6F - - - ld l, a
36 D1:AA1B 22 2C AA D1 ld (randomintSeed+7), hl
37 D1:AA1F 7A - - - ld a, d
38 D1:AA20 80 - - - add a, b
39 D1:AA21 C1 - - - pop bc
40 D1:AA22 D1 - - - pop de
41 D1:AA23 E1 - - - pop hl
42 D1:AA24 C9 - - - ret
43 D1:AA25 - - - - ;Actual random bytes
44 D1:AA25 28 BE B3 BB
A3 F1 97 AF
87 50 26 91
46 CC 5F C7 randomintSeed: .db $28, $BE, $B3, $BB, $a3, $f1, $97, $af, $87, $50, $26, $91, $46, $cc, $5f, $c7
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
3 D1:AA35 - - - - #include "includes/lib/std/Byte.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Byte.asm"
1 D1:AA35 - - - - ;;bytecmp
2 D1:AA35 - - - - ;;Determines if two bytes are equal.
3 D1:AA35 - - - - ;;Inputs:
4 D1:AA35 - - - - ;; HL: Byte pointer
5 D1:AA35 - - - - ;; DE: Byte pointer
6 D1:AA35 - - - - ;;Outputs:
7 D1:AA35 - - - - ;; Z: Set if equal, reset if not equal
8 D1:AA35 - - - - bytecmp:
9 D1:AA35 E5 - - - push hl
10 D1:AA36 D5 - - - push de
11 D1:AA37 1A - - - ld a, (de)
12 D1:AA38 B7 - - - or a
13 D1:AA39 BE - - - cp (hl)
14 D1:AA3A D1 - - - pop de
15 D1:AA3B E1 - - - pop hl
16 D1:AA3C C9 - - - ret
17 D1:AA3D - - - -
18 D1:AA3D - - - - ;;bytecpy
19 D1:AA3D - - - - ;; Copies a byte.
20 D1:AA3D - - - - ;;Inputs:
21 D1:AA3D - - - - ;; HL: Byte pointer
22 D1:AA3D - - - - ;; DE: Destination
23 D1:AA3D - - - - bytecpy:
24 D1:AA3D D5 - - - push de
25 D1:AA3E E5 - - - push hl
26 D1:AA3F EB - - - ex de, hl
27 D1:AA40 1A - - - ld a, (de)
28 D1:AA41 77 - - - ld (hl), a
29 D1:AA42 E1 - - - pop hl
30 D1:AA43 D1 - - - pop de
31 D1:AA44 C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
4 D1:AA45 - - - - #include "includes/lib/std/Mem.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Mem.asm"
1 D1:AA45 - - - - ;;memset
2 D1:AA45 - - - - ;;Fills B amount of bytes from hl with a
3 D1:AA45 - - - - ;;Inputs:
4 D1:AA45 - - - - ;; HL: start
5 D1:AA45 - - - - ;; B: how many bytes
6 D1:AA45 - - - - ;; A: Byte
7 D1:AA45 - - - - memset:
8 D1:AA45 E5 - - - push hl
9 D1:AA46 C5 - - - push bc
10 D1:AA47 - - - - memsetLoop:
11 D1:AA47 77 - - - ld (hl), a
12 D1:AA48 23 - - - inc hl
13 D1:AA49 10 FC - - djnz memsetLoop
14 D1:AA4B C1 - - - pop bc
15 D1:AA4C E1 - - - pop hl
16 D1:AA4D C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
5 D1:AA4E - - - - #include "includes/lib/std/Char.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Char.asm"
1 D1:AA4E - - - - #include "includes/tables/CSC.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\tables\CSC.asm"
1 D1:AA4E - - - - charMapCSC:
2 D1:AA4E 22 57 52 4D
48 FF FF - .DB "\"WRMH", $FF, $FF
3 D1:AA55 3F 5B 56 51
4C 47 FF FF .DB Lquestion, Ltheta, "VQLG", $FF, $FF
4 D1:AA5D 3A 5A 55 50
4B 46 43 FF .DB ":ZUPKFC", $FF
5 D1:AA65 20 59 54 4F
4A 45 42 FF .DB " YTOJEB", $FF
6 D1:AA6D FF 58 53 4E
49 44 41 - .DB $FF, "XSNIDA"
7 D1:AA74 - - - -
8 D1:AA74 - - - - numsymMapCSC
9 D1:AA74 2B 2D 2A 2F
5E FF FF - .DB "+-*/^", $FF, $FF
10 D1:AA7B 5F 33 36 39
29 C1 5D FF .DB "_369)", $C1, "]", $FF
11 D1:AA83 2E 32 35 38
28 7B 7D 3B .DB ".258({};"
12 D1:AA8B 30 31 34 37
2C 20 3C 3E
7C FF - - .DB "0147, <>|", $FF
13 D1:AA95 05 21 40 23
25 26 - - .DB $05, "!@#%&"
14 D1:AA9B - - - -
15 D1:AA9B - - - - numMapCSC
16 D1:AA9B FF FF FF FF
FF FF FF - .DB $FF, $FF, $FF, $FF, $FF, $FF, $FF
17 D1:AAA2 FF 33 36 39
FF FF FF FF .DB $FF, "369", $FF, $FF, $FF, $FF
18 D1:AAAA FF 32 35 38
FF FF FF FF .DB $FF, "258", $FF, $FF, $FF, $FF
19 D1:AAB2 30 31 34 37
FF FF FF FF
FF FF - - .DB "0147", $FF, $FF, $FF, $FF, $FF, $FF
20 D1:AABC FF FF FF FF
FF FF - - .DB $FF, $FF, $FF, $FF, $FF, $FF
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Char.asm"
2 D1:AAC2 - - - - ;;chartoascii
3 D1:AAC2 - - - - ;;Converts a char to "ascii"
4 D1:AAC2 - - - - ;;Inputs:
5 D1:AAC2 - - - - ;; A: char code (csc)
6 D1:AAC2 - - - - ;;Outputs:
7 D1:AAC2 - - - - ;; A: ascii char
8 D1:AAC2 - - - - chartoascii:
9 D1:AAC2 E5 - - - push hl
10 D1:AAC3 21 00 00 00 ld hl, 0
11 D1:AAC7 26 00 - - ld h, 0
12 D1:AAC9 6F - - - ld l, a
13 D1:AACA 11 4E AA D1 ld de, charMapCSC
14 D1:AACE 19 - - - add hl, de
15 D1:AACF 7E - - - ld a, (hl)
16 D1:AAD0 E1 - - - pop hl
17 D1:AAD1 C9 - - - ret
18 D1:AAD2 - - - -
19 D1:AAD2 - - - - ;;Charnumtoascii
20 D1:AAD2 - - - - ;;Converts a char to "ascii"
21 D1:AAD2 - - - - ;;Inputs:
22 D1:AAD2 - - - - ;; A: char code (csc)
23 D1:AAD2 - - - - ;;Outputs:
24 D1:AAD2 - - - - ;; A: ascii char
25 D1:AAD2 - - - - charnumtoascii:
26 D1:AAD2 E5 - - - push hl
27 D1:AAD3 21 00 00 00 ld hl, 0
28 D1:AAD7 26 00 - - ld h, 0
29 D1:AAD9 6F - - - ld l, a
30 D1:AADA 11 9B AA D1 ld de, numMapCSC
31 D1:AADE 19 - - - add hl, de
32 D1:AADF 7E - - - ld a, (hl)
33 D1:AAE0 E1 - - - pop hl
34 D1:AAE1 C9 - - - ret
35 D1:AAE2 - - - -
36 D1:AAE2 - - - - ;;charnumsymtoascii
37 D1:AAE2 - - - - ;;Converts a char to "ascii"
38 D1:AAE2 - - - - ;;Inputs:
39 D1:AAE2 - - - - ;; A: char code (csc)
40 D1:AAE2 - - - - ;;Outputs:
41 D1:AAE2 - - - - ;; A: ascii char
42 D1:AAE2 - - - - charnumsymtoascii:
43 D1:AAE2 E5 - - - push hl
44 D1:AAE3 21 00 00 00 ld hl, 0
45 D1:AAE7 26 00 - - ld h, 0
46 D1:AAE9 6F - - - ld l, a
47 D1:AAEA 11 74 AA D1 ld de, numsymMapCSC
48 D1:AAEE 19 - - - add hl, de
49 D1:AAEF 7E - - - ld a, (hl)
50 D1:AAF0 E1 - - - pop hl
51 D1:AAF1 C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
6 D1:AAF2 - - - - #include "includes/lib/std/Cursor.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Cursor.asm"
1 D1:AAF2 - - - - ;;cursorcharunderreset
2 D1:AAF2 - - - - ;;Sets curUnder to 0
3 D1:AAF2 - - - - cursorcurunderreset:
4 D1:AAF2 E5 - - - push hl
5 D1:AAF3 21 99 05 D0 ld hl, curUnder
6 D1:AAF7 36 20 - - ld (hl), ' '
7 D1:AAF9 E1 - - - pop hl
8 D1:AAFA C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
7 D1:AAFB - - - - #include "includes/lib/std/Print.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Print.asm"
1 D1:AAFB - - - - ;;printprompt
2 D1:AAFB - - - - ;;Sets curcol to 0 and prints prompt
3 D1:AAFB - - - - ;;Inputs:
4 D1:AAFB - - - - ;; HL: Prompt String Location
5 D1:AAFB - - - - printprompt:
6 D1:AAFB E5 - - - push hl
7 D1:AAFC AF - - - xor a
8 D1:AAFD 32 96 05 D0 ld (CurCol), a
9 D1:AB01 CD C0 07 02 call _PutS
10 D1:AB05 E1 - - - pop hl
11 D1:AB06 C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
8 D1:AB07 - - - - #include "includes/lib/std/Draw.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Draw.asm"
1 D1:AB07 - - - - ;;drawpixel
2 D1:AB07 - - - - ;;Sets a pixel to specified color (565)
3 D1:AB07 - - - - ;;Inputs:
4 D1:AB07 - - - - ;; HL: color
5 D1:AB07 - - - - ;; DE: vRam location
6 D1:AB07 - - - - drawpixel:
7 D1:AB07 E5 - - - push hl
8 D1:AB08 D5 - - - push de
9 D1:AB09 EB - - - ex de, hl
10 D1:AB0A 73 - - - ld (hl), e
11 D1:AB0B 23 - - - inc hl
12 D1:AB0C 72 - - - ld (hl), d
13 D1:AB0D D1 - - - pop de
14 D1:AB0E E1 - - - pop hl
15 D1:AB0F C9 - - - ret
16 D1:AB10 - - - -
17 D1:AB10 - - - - ;;drawpixelxy
18 D1:AB10 - - - - ;;Sets a pixel to specified color
19 D1:AB10 - - - - ;;Inputs:
20 D1:AB10 - - - - ;; HL: color
21 D1:AB10 - - - - ;; DE: x
22 D1:AB10 - - - - ;; A: y
23 D1:AB10 - - - - drawpixelxy
24 D1:AB10 D5 - - - push de
25 D1:AB11 E5 - - - push hl
26 D1:AB12 EB - - - ex de, hl
27 D1:AB13 29 - - - add hl, hl
28 D1:AB14 E5 - - - push hl
29 D1:AB15 21 80 02 00 ld hl, 640
30 D1:AB19 CD 87 A9 D1 call mulAbyHL
31 D1:AB1D EB - - - ex de, hl
32 D1:AB1E E1 - - - pop hl
33 D1:AB1F 19 - - - add hl, de
34 D1:AB20 11 00 00 D4 ld de, vRam
35 D1:AB24 19 - - - add hl, de
36 D1:AB25 EB - - - ex de, hl
37 D1:AB26 E1 - - - pop hl
38 D1:AB27 CD 07 AB D1 call drawpixel
39 D1:AB2B D1 - - - pop de
40 D1:AB2C C9 - - - ret
41 D1:AB2D - - - -
42 D1:AB2D - - - - ;;drawrow
43 D1:AB2D - - - - ;;Draws a row on lcd
44 D1:AB2D - - - - ;;Inputs:
45 D1:AB2D - - - - ;; A: y
46 D1:AB2D - - - - ;; HL: color
47 D1:AB2D - - - - drawrow:
48 D1:AB2D E5 - - - push hl
49 D1:AB2E C5 - - - push bc
50 D1:AB2F E5 - - - push hl
51 D1:AB30 21 E0 01 00 ld hl, lcdHeight * 2
52 D1:AB34 CD 87 A9 D1 call mulAbyHL
53 D1:AB38 11 00 00 D4 ld de, vRam
54 D1:AB3C 19 - - - add hl, de
55 D1:AB3D EB - - - ex de, hl
56 D1:AB3E E1 - - - pop hl
57 D1:AB3F 01 40 01 00 ld bc, lcdWidth
58 D1:AB43 - - - - drawrowLoop:
59 D1:AB43 CD 07 AB D1 call drawpixel
60 D1:AB47 13 - - - inc de
61 D1:AB48 13 - - - inc de
62 D1:AB49 0B - - - dec bc
63 D1:AB4A E5 - - - push hl
64 D1:AB4B 21 00 00 00 ld hl, 0
65 D1:AB4F CD 72 A9 D1 call cpHLBC
66 D1:AB53 E1 - - - pop hl
67 D1:AB54 20 ED - - jr nz, drawrowLoop
68 D1:AB56 C1 - - - pop bc
69 D1:AB57 E1 - - - pop hl
70 D1:AB58 C9 - - - ret
71 D1:AB59 - - - -
72 D1:AB59 - - - - ;;drawbar
73 D1:AB59 - - - - ;;Loops drawing row
74 D1:AB59 - - - - ;;Inputs:
75 D1:AB59 - - - - ;; A: y
76 D1:AB59 - - - - ;; [B]C: height
77 D1:AB59 - - - - ;; HL: color
78 D1:AB59 - - - - drawbar:
79 D1:AB59 C5 - - - push bc
80 D1:AB5A - - - - drawbarLoop:
81 D1:AB5A CD 2D AB D1 call drawrow
82 D1:AB5E 0B - - - dec bc
83 D1:AB5F 3C - - - inc a
84 D1:AB60 E5 - - - push hl
85 D1:AB61 21 00 00 00 ld hl, 0
86 D1:AB65 CD 72 A9 D1 call cpHLBC
87 D1:AB69 E1 - - - pop hl
88 D1:AB6A 20 EE - - jr nz, drawbarLoop
89 D1:AB6C C1 - - - pop bc
90 D1:AB6D C9 - - - ret
91 D1:AB6E - - - -
92 D1:AB6E - - - - ;;drawrectfilled
93 D1:AB6E - - - - ;;Draws a rectangle from coordinates (Slow)
94 D1:AB6E - - - - ;;Inputs:
95 D1:AB6E - - - - ;; DE: x
96 D1:AB6E - - - - ;; C: y
97 D1:AB6E - - - - ;; HL: width
98 D1:AB6E - - - - ;; A: height
99 D1:AB6E - - - - ;; IXH+IXL: color
100 D1:AB6E - - - - drawrectfilled:
101 D1:AB6E 19 - - - add hl, de
102 D1:AB6F 81 - - - add a, c
103 D1:AB70 47 - - - ld b, a
104 D1:AB71 - - - - drawrectfilledLoopY:
105 D1:AB71 D5 - - - push de
106 D1:AB72 - - - - drawrectfilledLoopX:
107 D1:AB72 E5 - - - push hl
108 D1:AB73 C5 - - - push bc
109 D1:AB74 EB - - - ex de, hl
110 D1:AB75 DD 54 - - ld d, ixh
111 D1:AB77 DD 5D - - ld e, ixl
112 D1:AB79 EB - - - ex de, hl
113 D1:AB7A 79 - - - ld a, c
114 D1:AB7B CD 10 AB D1 call drawpixelxy
115 D1:AB7F C1 - - - pop bc
116 D1:AB80 E1 - - - pop hl
117 D1:AB81 13 - - - inc de
118 D1:AB82 CD 6D A9 D1 call cpHLDE
119 D1:AB86 20 EA - - jr nz, drawrectfilledLoopX
120 D1:AB88 D1 - - - pop de
121 D1:AB89 0C - - - inc c
122 D1:AB8A 78 - - - ld a, b
123 D1:AB8B B9 - - - cp c
124 D1:AB8C 20 E3 - - jr nz, drawrectfilledLoopY
125 D1:AB8E C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
9 D1:AB8F - - - - #include "includes/lib/std/Array.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Array.asm"
1 D1:AB8F - - - - ;;array2d
2 D1:AB8F - - - - ;;gets the address of 2d array
3 D1:AB8F - - - - ;;Inputs:
4 D1:AB8F - - - - ;; H: y
5 D1:AB8F - - - - ;; L: x width
6 D1:AB8F - - - - ;; B: x
7 D1:AB8F - - - - ;; DE: Array start
8 D1:AB8F - - - - ;;Outputs:
9 D1:AB8F - - - - ;; DE: Array loc address
10 D1:AB8F - - - - array2d:
11 D1:AB8F E5 - - - push hl
12 D1:AB90 ED 6C - - mlt hl
13 D1:AB92 19 - - - add hl, de
14 D1:AB93 11 00 00 00 ld de, 0
15 D1:AB97 58 - - - ld e, b
16 D1:AB98 19 - - - add hl, de
17 D1:AB99 EB - - - ex de, hl
18 D1:AB9A E1 - - - pop hl
19 D1:AB9B C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
10 D1:AB9C - - - - #include "includes/lib/std/Hex.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Hex.asm"
1 D1:AB9C - - - - ;;bytetohexstr
2 D1:AB9C - - - - ;;converts byte to hex string
3 D1:AB9C - - - - ;;Inputs:
4 D1:AB9C - - - - ;; A: input byte
5 D1:AB9C - - - - ;;Outputs:
6 D1:AB9C - - - - ;; hl: output string location
7 D1:AB9C - - - - bytetohexstr:
8 D1:AB9C E5 - - - push hl
9 D1:AB9D C5 - - - push bc
10 D1:AB9E 01 00 00 00 ld bc, 0
11 D1:ABA2 4F - - - ld c, a
12 D1:ABA3 06 0F - - ld b, $0F
13 D1:ABA5 A0 - - - and a, b
14 D1:ABA6 47 - - - ld b, a
15 D1:ABA7 79 - - - ld a, c
16 D1:ABA8 48 - - - ld c, b
17 D1:ABA9 06 00 - - ld b, 0
18 D1:ABAB 21 E5 AB D1 ld hl, hexLUT
19 D1:ABAF 09 - - - add hl, bc
20 D1:ABB0 46 - - - ld b, (hl)
21 D1:ABB1 21 E2 AB D1 ld hl, bytetohexstrBuf + 1
22 D1:ABB5 70 - - - ld (hl), b
23 D1:ABB6 C1 - - - pop bc
24 D1:ABB7 C5 - - - push bc
25 D1:ABB8 01 00 00 00 ld bc, 0
26 D1:ABBC CB 3F - - srl a
27 D1:ABBE CB 3F - - srl a
28 D1:ABC0 CB 3F - - srl a
29 D1:ABC2 CB 3F - - srl a
30 D1:ABC4 47 - - - ld b, a
31 D1:ABC5 79 - - - ld a, c
32 D1:ABC6 48 - - - ld c, b
33 D1:ABC7 06 00 - - ld b, 0
34 D1:ABC9 21 E5 AB D1 ld hl, hexLUT
35 D1:ABCD 09 - - - add hl, bc
36 D1:ABCE 46 - - - ld b, (hl)
37 D1:ABCF 21 E1 AB D1 ld hl, bytetohexstrBuf
38 D1:ABD3 70 - - - ld (hl), b
39 D1:ABD4 C1 - - - pop bc
40 D1:ABD5 21 E3 AB D1 ld hl, bytetohexstrBuf + 2
41 D1:ABD9 36 00 - - ld (hl), $00
42 D1:ABDB E1 - - - pop hl
43 D1:ABDC 21 E1 AB D1 ld hl, bytetohexstrBuf
44 D1:ABE0 C9 - - - ret
45 D1:ABE1 - - - -
46 D1:ABE1 00 00 00 00 bytetohexstrBuf: .db $00, $00, $00, $00
47 D1:ABE5 - - - -
48 D1:ABE5 - - - - #include "includes/tables/hexLUT.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\tables\hexLUT.asm"
1 D1:ABE5 30 31 32 33
34 35 36 37
38 39 41 42
43 44 45 46
00 - - - hexLUT: .db "0123456789ABCDEF", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Hex.asm"
49 D1:ABF6 - - - -
50 D1:ABF6 - - - - ;;hexToA
51 D1:ABF6 - - - - ;;Converts a hexadecimal string to a number.
52 D1:ABF6 - - - - ;;Inputs:
53 D1:ABF6 - - - - ;; HL: String pointer
54 D1:ABF6 - - - - ;;Outputs:
55 D1:ABF6 - - - - ;; A: Value
56 D1:ABF6 - - - - hexToA:
57 D1:ABF6 C5 - - - push bc
58 D1:ABF7 E5 - - - push hl
59 D1:ABF8 06 00 - - ld b, 0
60 D1:ABFA 7E - - - _: ld a, (hl)
61 D1:ABFB B7 - - - or a
62 D1:ABFC 28 11 - - jr z, hexToA_ret
63 D1:ABFE CB 10 CB 10
CB 10 CB 10 rl b \ rl b \ rl b \ rl b
64 D1:AC06 CD 13 AC D1 call hexToA_doConvert
65 D1:AC0A B0 - - - or b
66 D1:AC0B 47 - - - ld b, a
67 D1:AC0C 23 - - - inc hl
68 D1:AC0D 18 EB - - jr -_
69 D1:AC0F - - - - hexToA_ret:
70 D1:AC0F 78 - - - ld a, b
71 D1:AC10 E1 - - - pop hl
72 D1:AC11 C1 - - - pop bc
73 D1:AC12 C9 - - - ret
74 D1:AC13 - - - -
75 D1:AC13 - - - - hexToA_doConvert:
76 D1:AC13 FE 61 - - cp 'a' ; Convert to lowercase
77 D1:AC15 38 02 - - jr c, _
78 D1:AC17 D6 20 - - sub 'a' - 'A'
79 D1:AC19 FE 41 - - _: cp 'A' ; Close gap between numbers and letter
80 D1:AC1B 38 02 - - jr c, _
81 D1:AC1D D6 07 - - sub 'A'-('9'+1)
82 D1:AC1F D6 30 - - _: sub '0' ; To number
83 D1:AC21 C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
11 D1:AC22 - - - -
12 D1:AC22 - - - - #include "includes/lib/std/String.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\String.asm"
1 D1:AC22 - - - - ;;strlen
2 D1:AC22 - - - - ;;Determines the length of a zero delimited string.
3 D1:AC22 - - - - ;;Inputs:
4 D1:AC22 - - - - ;; HL: String pointer
5 D1:AC22 - - - - ;;Outputs:
6 D1:AC22 - - - - ;; BC: String length
7 D1:AC22 - - - - strlen:
8 D1:AC22 F5 - - - push af
9 D1:AC23 E5 - - - push hl
10 D1:AC24 AF - - - xor a
11 D1:AC25 47 - - - ld b, a
12 D1:AC26 4F - - - ld c, a
13 D1:AC27 ED B1 - - cpir
14 D1:AC29 - - - - ; bc = -bc
15 D1:AC29 AF 91 4F 9F
90 47 - - xor a \ sub c \ ld c, a \ sbc a, a \ sub b \ ld b, a
16 D1:AC2F 0B - - - dec bc
17 D1:AC30 E1 - - - pop hl
18 D1:AC31 F1 - - - pop af
19 D1:AC32 C9 - - - ret
20 D1:AC33 - - - -
21 D1:AC33 - - - - ;;strcmp
22 D1:AC33 - - - - ;;Determines if two strings are equal, and checks alphabetical sort order.
23 D1:AC33 - - - - ;;Inputs:
24 D1:AC33 - - - - ;; HL: String pointer
25 D1:AC33 - - - - ;; DE: String pointer
26 D1:AC33 - - - - ;;Outputs:
27 D1:AC33 - - - - ;; Z: Set if equal, reset if not equal
28 D1:AC33 - - - - ;; C: Set if string HL is alphabetically earlier than string DE
29 D1:AC33 - - - - strcmp:
30 D1:AC33 E5 - - - push hl
31 D1:AC34 D5 - - - push de
32 D1:AC35 - - - - strcmpLoop:
33 D1:AC35 1A - - - ld a, (de)
34 D1:AC36 B7 - - - or a
35 D1:AC37 28 07 - - jr z, strCmpEnd
36 D1:AC39 BE - - - cp (hl)
37 D1:AC3A 20 06 - - jr nz, strcmpExit
38 D1:AC3C 23 - - - inc hl
39 D1:AC3D 13 - - - inc de
40 D1:AC3E 18 F5 - - jr strcmpLoop
41 D1:AC40 - - - - strcmpEnd:
42 D1:AC40 7E - - - ld a, (hl)
43 D1:AC41 B7 - - - or a
44 D1:AC42 - - - - strcmpExit:
45 D1:AC42 3F - - - ccf
46 D1:AC43 D1 - - - pop de
47 D1:AC44 E1 - - - pop hl
48 D1:AC45 C9 - - - ret
49 D1:AC46 - - - -
50 D1:AC46 - - - - ;;strcpy
51 D1:AC46 - - - - ;;Copies a string.
52 D1:AC46 - - - - ;;Inputs:
53 D1:AC46 - - - - ;; HL: String pointer
54 D1:AC46 - - - - ;; DE: Destination
55 D1:AC46 - - - - ;;Notes:
56 D1:AC46 - - - - ;; This will trample into undefined territory if you try to copy a string into some
57 D1:AC46 - - - - ;;allocated memory it won't fit in.
58 D1:AC46 - - - - strcpy:
59 D1:AC46 D5 - - - push de
60 D1:AC47 E5 - - - push hl
61 D1:AC48 EB - - - ex de, hl
62 D1:AC49 1A - - - _: ld a, (de)
63 D1:AC4A 77 - - - ld (hl), a
64 D1:AC4B B7 - - - or a
65 D1:AC4C 28 04 - - jr z, _
66 D1:AC4E 23 13 - - inc hl \ inc de
67 D1:AC50 18 F7 - - jr -_
68 D1:AC52 E1 - - - _: pop hl
69 D1:AC53 D1 - - - pop de
70 D1:AC54 C9 - - - ret
71 D1:AC55 - - - -
72 D1:AC55 - - - - ;;strchr
73 D1:AC55 - - - - ;;Returns a pointer on the first occurence of a character in a string.
74 D1:AC55 - - - - ;;Inputs:
75 D1:AC55 - - - - ;; HL: Haystack
76 D1:AC55 - - - - ;; B: Needle
77 D1:AC55 - - - - ;;Outputs:
78 D1:AC55 - - - - ;; HL: Pointer to first occurence of character
79 D1:AC55 - - - - ;; Z: Set if character found
80 D1:AC55 - - - - ;; A: Destroyed
81 D1:AC55 - - - - strchr:
82 D1:AC55 - - - - strchrLoop:
83 D1:AC55 7E - - - ld a, (hl)
84 D1:AC56 B7 - - - or a
85 D1:AC57 28 05 - - jr z, strchrNoCharFound
86 D1:AC59 B8 - - - cp b
87 D1:AC5A C8 - - - ret z
88 D1:AC5B 23 - - - inc hl
89 D1:AC5C 18 F7 - - jr strchrLoop
90 D1:AC5E - - - - strchrNoCharFound:
91 D1:AC5E 3C - - - inc a
92 D1:AC5F C9 - - - ret
93 D1:AC60 - - - -
94 D1:AC60 - - - - ;;strtob
95 D1:AC60 - - - - ;;Converts a string to a byte
96 D1:AC60 - - - - ;;Inputs:
97 D1:AC60 - - - - ;; HL: string pointer
98 D1:AC60 - - - - ;;Outputs:
99 D1:AC60 - - - - ;; A: byte
100 D1:AC60 - - - - strtob:
101 D1:AC60 C5 - - - push bc
102 D1:AC61 D5 - - - push de
103 D1:AC62 0E 00 - - ld c, 0
104 D1:AC64 - - - - strtobNumFind:
105 D1:AC64 7E - - - ld a, (hl)
106 D1:AC65 FE 00 - - cp $00
107 D1:AC67 CA B9 AC D1 jp z, strtobEXIT
108 D1:AC6B 0E 00 - - ld c, 0
109 D1:AC6D D6 31 - - sub '1'
110 D1:AC6F FE 3A - - cp '9' + 1
111 D1:AC71 38 03 - - jr c, strtobNumWhile
112 D1:AC73 23 - - - inc hl
113 D1:AC74 18 EE - - jr strtobNumFind
114 D1:AC76 - - - - strtobNumWhile:
115 D1:AC76 E5 - - - push hl
116 D1:AC77 - - - - strtobNumWhileLoop:
117 D1:AC77 79 - - - ld a, c
118 D1:AC78 FE 03 - - cp 3
119 D1:AC7A D2 8B AC D1 jp nc, strtobConvert
120 D1:AC7E 7E - - - ld a, (hl)
121 D1:AC7F D6 2F - - sub '0' - 1
122 D1:AC81 38 08 - - jr c, strtobConvert
123 D1:AC83 FE 3A - - cp '9' + 1
124 D1:AC85 30 04 - - jr nc, strtobConvert
125 D1:AC87 23 - - - inc hl
126 D1:AC88 0C - - - inc c
127 D1:AC89 18 EC - - jr strtobNumWhileLoop
128 D1:AC8B - - - - strtobConvert:
129 D1:AC8B 2B - - - dec hl
130 D1:AC8C 7E - - - ld a, (hl)
131 D1:AC8D D6 30 - - sub '0'
132 D1:AC8F 4F - - - ld c, a
133 D1:AC90 2B - - - dec hl
134 D1:AC91 D1 - - - pop de
135 D1:AC92 CD 6D A9 D1 call cpHLDE
136 D1:AC96 DA B9 AC D1 jp c, strtobExit
137 D1:AC9A 7E - - - ld a, (hl)
138 D1:AC9B D6 30 - - sub '0'
139 D1:AC9D 06 0A - - ld b, 10
140 D1:AC9F CD 7F A9 D1 call mulAbyB
141 D1:ACA3 81 - - - add a, c
142 D1:ACA4 4F - - - ld c, a
143 D1:ACA5 2B - - - dec hl
144 D1:ACA6 CD 6D A9 D1 call cpHLDE
145 D1:ACAA DA B9 AC D1 jp c, strtobExit
146 D1:ACAE 7E - - - ld a, (hl)
147 D1:ACAF D6 30 - - sub '0'
148 D1:ACB1 06 64 - - ld b, 100
149 D1:ACB3 CD 7F A9 D1 call mulAbyB
150 D1:ACB7 81 - - - add a, c
151 D1:ACB8 4F - - - ld c, a
152 D1:ACB9 - - - - strtobExit:
153 D1:ACB9 79 - - - ld a, c
154 D1:ACBA D1 - - - pop de
155 D1:ACBB C1 - - - pop bc
156 D1:ACBC C9 - - - ret
157 D1:ACBD - - - -
158 D1:ACBD - - - - ;;strtow
159 D1:ACBD - - - - ;;Converts a string to a byte
160 D1:ACBD - - - - ;;Inputs:
161 D1:ACBD - - - - ;; HL: string pointer
162 D1:ACBD - - - - ;;Outputs:
163 D1:ACBD - - - - ;; HL: byte
164 D1:ACBD - - - - strtow:
165 D1:ACBD C5 - - - push bc
166 D1:ACBE D5 - - - push de
167 D1:ACBF 01 00 00 00 ld bc, 0
168 D1:ACC3 - - - - strtowNumFind:
169 D1:ACC3 7E - - - ld a, (hl)
170 D1:ACC4 FE 00 - - cp $00
171 D1:ACC6 CA 5C AD D1 jp z, strtowEXIT
172 D1:ACCA 0E 00 - - ld c, 0
173 D1:ACCC D6 31 - - sub '1'
174 D1:ACCE FE 3A - - cp '9' + 1
175 D1:ACD0 38 03 - - jr c, strtowNumWhile
176 D1:ACD2 23 - - - inc hl
177 D1:ACD3 18 EE - - jr strtowNumFind
178 D1:ACD5 - - - - strtowNumWhile:
179 D1:ACD5 E5 - - - push hl
180 D1:ACD6 - - - - strtowNumWhileLoop:
181 D1:ACD6 79 - - - ld a, c
182 D1:ACD7 FE 05 - - cp 5
183 D1:ACD9 D2 EA AC D1 jp nc, strtowConvert
184 D1:ACDD 7E - - - ld a, (hl)
185 D1:ACDE D6 2F - - sub '0' - 1
186 D1:ACE0 38 08 - - jr c, strtowConvert
187 D1:ACE2 FE 3A - - cp '9' + 1
188 D1:ACE4 30 04 - - jr nc, strtowConvert
189 D1:ACE6 23 - - - inc hl
190 D1:ACE7 0C - - - inc c
191 D1:ACE8 18 EC - - jr strtowNumWhileLoop
192 D1:ACEA - - - - strtowConvert:
193 D1:ACEA 01 00 00 00 ld bc, 0
194 D1:ACEE 2B - - - dec hl
195 D1:ACEF 7E - - - ld a, (hl)
196 D1:ACF0 D6 30 - - sub '0'
197 D1:ACF2 01 00 00 00 ld bc, 0
198 D1:ACF6 4F - - - ld c, a
199 D1:ACF7 2B - - - dec hl
200 D1:ACF8 - - - -
201 D1:ACF8 D1 - - - pop de
202 D1:ACF9 CD 6D A9 D1 call cpHLDE
203 D1:ACFD DA 5C AD D1 jp c, strtowExit
204 D1:AD01 7E - - - ld a, (hl)
205 D1:AD02 D6 30 - - sub '0'
206 D1:AD04 E5 - - - push hl
207 D1:AD05 21 0A 00 00 ld hl, 10
208 D1:AD09 CD 87 A9 D1 call mulAbyHL
209 D1:AD0D 09 - - - add hl, bc
210 D1:AD0E 44 - - - ld b, h
211 D1:AD0F 4D - - - ld c, l
212 D1:AD10 E1 - - - pop hl
213 D1:AD11 2B - - - dec hl
214 D1:AD12 - - - -
215 D1:AD12 CD 6D A9 D1 call cpHLDE
216 D1:AD16 DA 5C AD D1 jp c, strtowExit
217 D1:AD1A 7E - - - ld a, (hl)
218 D1:AD1B D6 30 - - sub '0'
219 D1:AD1D E5 - - - push hl
220 D1:AD1E 21 64 00 00 ld hl, 100
221 D1:AD22 CD 87 A9 D1 call mulAbyHL
222 D1:AD26 09 - - - add hl, bc
223 D1:AD27 44 - - - ld b, h
224 D1:AD28 4D - - - ld c, l
225 D1:AD29 E1 - - - pop hl
226 D1:AD2A 2B - - - dec hl
227 D1:AD2B - - - -
228 D1:AD2B CD 6D A9 D1 call cpHLDE
229 D1:AD2F DA 5C AD D1 jp c, strtowExit
230 D1:AD33 7E - - - ld a, (hl)
231 D1:AD34 D6 30 - - sub '0'
232 D1:AD36 E5 - - - push hl
233 D1:AD37 21 E8 03 00 ld hl, 1000
234 D1:AD3B CD 87 A9 D1 call mulAbyHL
235 D1:AD3F 09 - - - add hl, bc
236 D1:AD40 44 - - - ld b, h
237 D1:AD41 4D - - - ld c, l
238 D1:AD42 E1 - - - pop hl
239 D1:AD43 2B - - - dec hl
240 D1:AD44 - - - -
241 D1:AD44 CD 6D A9 D1 call cpHLDE
242 D1:AD48 DA 5C AD D1 jp c, strtowExit
243 D1:AD4C 7E - - - ld a, (hl)
244 D1:AD4D D6 30 - - sub '0'
245 D1:AD4F E5 - - - push hl
246 D1:AD50 21 10 27 00 ld hl, 10000
247 D1:AD54 CD 87 A9 D1 call mulAbyHL
248 D1:AD58 09 - - - add hl, bc
249 D1:AD59 44 - - - ld b, h
250 D1:AD5A 4D - - - ld c, l
251 D1:AD5B E1 - - - pop hl
252 D1:AD5C - - - -
253 D1:AD5C - - - - strtowExit:
254 D1:AD5C 21 00 00 00 ld hl, 0
255 D1:AD60 60 - - - ld h, b
256 D1:AD61 69 - - - ld l, c
257 D1:AD62 D1 - - - pop de
258 D1:AD63 C1 - - - pop bc
259 D1:AD64 C9 - - - ret
260 D1:AD65 - - - -
261 D1:AD65 - - - - ;;strxor
262 D1:AD65 - - - - ;;xor 2 strings together
263 D1:AD65 - - - - ;;Inputs:
264 D1:AD65 - - - - ;; HL: string 1
265 D1:AD65 - - - - ;; DE: string 2
266 D1:AD65 - - - - ;;Outputs:
267 D1:AD65 - - - - ;; HL: Xor String Pointer
268 D1:AD65 - - - - strxor:
269 D1:AD65 E5 - - - push hl
270 D1:AD66 D5 - - - push de
271 D1:AD67 EB - - - ex de, hl
272 D1:AD68 - - - - strxorLoop:
273 D1:AD68 1A - - - ld a, (de)
274 D1:AD69 B7 - - - or a, a
275 D1:AD6A 28 06 - - jr z, strxorEnd
276 D1:AD6C AE - - - xor (hl)
277 D1:AD6D 12 - - - ld (de), a
278 D1:AD6E 13 - - - inc de
279 D1:AD6F 23 - - - inc hl
280 D1:AD70 18 F6 - - jr strxorLoop
281 D1:AD72 - - - - strxorEnd:
282 D1:AD72 D1 - - - pop de
283 D1:AD73 E1 - - - pop hl
284 D1:AD74 C9 - - - ret
285 D1:AD75 - - - -
286 D1:AD75 - - - -
287 D1:AD75 - - - - ;;toLower [Strings]
288 D1:AD75 - - - - ;;Converts every alpha character of a string to lowercase.
289 D1:AD75 - - - - ;;Inputs:
290 D1:AD75 - - - - ;; HL: Pointer to string
291 D1:AD75 - - - - ;;Notes:
292 D1:AD75 - - - - ;; This modifies the string in-place.
293 D1:AD75 - - - - ;toLower:
294 D1:AD75 - - - - ; push af \ push hl
295 D1:AD75 - - - - ; ld a, (hl)
296 D1:AD75 - - - - ; or a
297 D1:AD75 - - - - ; jr z, toLowerExit
298 D1:AD75 - - - - ; call isAlphaNum
299 D1:AD75 - - - - ; jr nc, toLowerNotUpperAlpha
300 D1:AD75 - - - - ; cp 'a'
301 D1:AD75 - - - - ; jr nc, toLowerNotUpperAlpha
302 D1:AD75 - - - - ; add a, 'a' - 'A'
303 D1:AD75 - - - - ; ld (hl), a
304 D1:AD75 - - - - ;toLowerNotUpperAlpha:
305 D1:AD75 - - - - ; inc hl
306 D1:AD75 - - - - ; jr toLower + 2
307 D1:AD75 - - - - ;toLowerExit:
308 D1:AD75 - - - - ; pop hl \ pop af
309 D1:AD75 - - - - ; ret
310 D1:AD75 - - - -
311 D1:AD75 - - - - ;;toUpper [Strings]
312 D1:AD75 - - - - ;;Converts every alpha character of a string to uppercase.
313 D1:AD75 - - - - ;;Inputs:
314 D1:AD75 - - - - ;; HL: Pointer to string
315 D1:AD75 - - - - ;;Notes:
316 D1:AD75 - - - - ;; This modifies the string in-place.
317 D1:AD75 - - - - ;toUpper:
318 D1:AD75 - - - - ; push af \ push hl
319 D1:AD75 - - - - ; ld a, (hl)
320 D1:AD75 - - - - ; or a
321 D1:AD75 - - - - ; jr z, toUpperExit
322 D1:AD75 - - - - ; call isAlphaNum
323 D1:AD75 - - - - ; jr nc, toUpperNotLowerAlpha
324 D1:AD75 - - - - ; cp 'a'
325 D1:AD75 - - - - ; jr c, toUpperNotLowerAlpha
326 D1:AD75 - - - - ; sub 'a' - 'A'
327 D1:AD75 - - - - ; ld (hl), a
328 D1:AD75 - - - - ;toUpperNotLowerAlpha:
329 D1:AD75 - - - - ; inc hl
330 D1:AD75 - - - - ; jr toUpper + 2
331 D1:AD75 - - - - ;toUpperExit:
332 D1:AD75 - - - - ; pop hl \ pop af
333 D1:AD75 - - - - ; ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
13 D1:AD75 - - - -
14 D1:AD75 - - - - #include "includes/lib/std/Input.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\Input.asm"
1 D1:AD75 - - - - ;;inputgetkey
2 D1:AD75 - - - - ;;Gets keycode
3 D1:AD75 - - - - ;;Outputs:
4 D1:AD75 - - - - ;; A: keycode
5 D1:AD75 - - - - ;;Destroys:
6 D1:AD75 - - - - ;; DE
7 D1:AD75 - - - - inputgetkey:
8 D1:AD75 EB - - - ex de, hl
9 D1:AD76 CD 4C 01 02 call _GetCSC
10 D1:AD7A EB - - - ex de, hl
11 D1:AD7B B7 - - - or a
12 D1:AD7C 28 F7 - - jr z, inputgetkey
13 D1:AD7E C9 - - - ret
14 D1:AD7F - - - -
15 D1:AD7F - - - - ;;inputstr
16 D1:AD7F - - - - ;;Inputs string of length [Buffer Size] and puts it in (Destination)
17 D1:AD7F - - - - ;;Inputs:
18 D1:AD7F - - - - ;; HL: Destination
19 D1:AD7F - - - - ;; D[E]: Buffer Size
20 D1:AD7F - - - - ;;Ouptuts:
21 D1:AD7F - - - - ;; (HL): String
22 D1:AD7F - - - - inputstr:
23 D1:AD7F D5 - - - push de
24 D1:AD80 E5 - - - push hl
25 D1:AD81 ED 53 9F AE
D1 - - - ld (inputstrSizeBuf), de
26 D1:AD86 E5 - - - push hl
27 D1:AD87 D5 - - - push de
28 D1:AD88 21 96 05 D0 ld hl, CurCol
29 D1:AD8C 11 A1 AE D1 ld de, inputstrCurColBuf
30 D1:AD90 CD 3D AA D1 call bytecpy
31 D1:AD94 21 95 05 D0 ld hl, CurRow
32 D1:AD98 11 A2 AE D1 ld de, inputstrCurRowBuf
33 D1:AD9C CD 3D AA D1 call bytecpy
34 D1:ADA0 D1 - - - pop de
35 D1:ADA1 E1 - - - pop hl
36 D1:ADA2 - - - -
37 D1:ADA2 FD CB 12 9E res Shift2nd, (IY + ShiftFlags)
38 D1:ADA6 CD B0 08 02 call _CursorOn
39 D1:ADAA - - - -
40 D1:ADAA AF - - - xor a
41 D1:ADAB 47 - - - ld b, a
42 D1:ADAC - - - - inputstrKeyInput:
43 D1:ADAC CD F2 AA D1 call cursorcurunderreset
44 D1:ADB0 CD 75 AD D1 call inputgetkey
45 D1:ADB4 - - - -
46 D1:ADB4 FE 36 - - cp sk2nd
47 D1:ADB6 CA 0D AE D1 jp z, inputstrKey2nd
48 D1:ADBA FE 38 - - cp skDel
49 D1:ADBC CA 1B AE D1 jp z, inputstrKeyDel
50 D1:ADC0 FE 0F - - cp skClear
51 D1:ADC2 CA 3B AE D1 jp z, inputstrKeyClear
52 D1:ADC6 FE 09 - - cp skEnter
53 D1:ADC8 CA 8B AE D1 jp z, inputstrKeyEnter
54 D1:ADCC - - - -
55 D1:ADCC 4F - - - ld c, a
56 D1:ADCD 78 - - - ld a, b
57 D1:ADCE D5 - - - push de
58 D1:ADCF ED 5B 9F AE
D1 - - - ld de, (inputstrSizeBuf)
59 D1:ADD4 BB - - - cp e
60 D1:ADD5 D1 - - - pop de
61 D1:ADD6 28 D4 - - jr z, inputstrKeyInput
62 D1:ADD8 79 - - - ld a, c
63 D1:ADD9 - - - -
64 D1:ADD9 D6 0A - - sub skAdd
65 D1:ADDB 38 CF - - jr c, inputstrKeyInput
66 D1:ADDD FE 26 - - cp skMath - skAdd + 1
67 D1:ADDF 30 CB - - jr nc, inputstrKeyInput
68 D1:ADE1 - - - -
69 D1:ADE1 FD CB 12 5E bit Shift2nd, (IY + ShiftFlags) ; TIOS BASED
70 D1:ADE5 CC C2 AA D1 call z, chartoascii
71 D1:ADE9 C4 E2 AA D1 call nz, charnumsymtoascii
72 D1:ADED - - - -
73 D1:ADED FE FF - - cp $FF
74 D1:ADEF 28 BB - - jr z, inputstrKeyInput
75 D1:ADF1 - - - -
76 D1:ADF1 FD CB 05 96 res textScrolled, (iy+textFlags)
77 D1:ADF5 - - - -
78 D1:ADF5 CD B8 07 02 call _PutC
79 D1:ADF9 - - - -
80 D1:ADF9 77 - - - ld (hl), a
81 D1:ADFA 23 - - - inc hl
82 D1:ADFB 04 - - - inc b
83 D1:ADFC - - - -
84 D1:ADFC FD CB 05 56 bit textScrolled, (iy+textFlags)
85 D1:AE00 28 AA - - jr z, inputstrKeyInput
86 D1:AE02 E5 - - - push hl
87 D1:AE03 21 A2 AE D1 ld hl, inputstrCurRowBuf
88 D1:AE07 7E - - - ld a, (hl)
89 D1:AE08 3D - - - dec a
90 D1:AE09 77 - - - ld (hl), a
91 D1:AE0A E1 - - - pop hl
92 D1:AE0B 18 9F - - jr inputstrKeyInput
93 D1:AE0D - - - - inputstrKey2nd:
94 D1:AE0D E5 - - - push hl
95 D1:AE0E 21 92 00 D0 ld hl, Flags + ShiftFlags
96 D1:AE12 7E - - - ld a, (hl)
97 D1:AE13 EE 08 - - xor 1 << Shift2nd ; Toggle state of Shift2nd flag
98 D1:AE15 77 - - - ld (hl), a
99 D1:AE16 E1 - - - pop hl
100 D1:AE17 C3 AC AD D1 jp inputstrKeyInput
101 D1:AE1B - - - - inputstrKeyDel:
102 D1:AE1B 78 - - - ld a, b
103 D1:AE1C FE 00 - - cp 0
104 D1:AE1E CA AC AD D1 jp z, inputstrKeyInput
105 D1:AE22 - - - -
106 D1:AE22 3E 20 - - ld a, ' '
107 D1:AE24 CD B4 07 02 call _PutMap
108 D1:AE28 - - - -
109 D1:AE28 E5 - - - push hl
110 D1:AE29 21 96 05 D0 ld hl, CurCol
111 D1:AE2D 35 - - - dec (hl)
112 D1:AE2E E1 - - - pop hl
113 D1:AE2F - - - -
114 D1:AE2F 3E 20 - - ld a, ' '
115 D1:AE31 CD B4 07 02 call _PutMap
116 D1:AE35 - - - -
117 D1:AE35 2B - - - dec hl
118 D1:AE36 05 - - - dec b
119 D1:AE37 C3 AC AD D1 jp inputstrKeyInput
120 D1:AE3B - - - -
121 D1:AE3B - - - - inputstrKeyClear:
122 D1:AE3B 78 - - - ld a, b
123 D1:AE3C FE 00 - - cp 0
124 D1:AE3E CA AC AD D1 jp z, inputstrKeyInput
125 D1:AE42 - - - -
126 D1:AE42 E5 - - - push hl
127 D1:AE43 D5 - - - push de
128 D1:AE44 21 A1 AE D1 ld hl, inputstrCurColBuf
129 D1:AE48 11 96 05 D0 ld de, CurCol
130 D1:AE4C CD 3D AA D1 call bytecpy
131 D1:AE50 21 A2 AE D1 ld hl, inputstrCurRowBuf
132 D1:AE54 11 95 05 D0 ld de, CurRow
133 D1:AE58 CD 3D AA D1 call bytecpy
134 D1:AE5C D1 - - - pop de
135 D1:AE5D E1 - - - pop hl
136 D1:AE5E - - - -
137 D1:AE5E 3E 20 - - ld a, ' '
138 D1:AE60 04 - - - inc b
139 D1:AE61 - - - - inputstrKeyClearLoop:
140 D1:AE61 CD B8 07 02 call _PutC
141 D1:AE65 10 FA - - djnz inputstrKeyClearLoop
142 D1:AE67 06 00 - - ld b, 0
143 D1:AE69 - - - -
144 D1:AE69 D5 - - - push de
145 D1:AE6A E5 - - - push hl
146 D1:AE6B 21 A1 AE D1 ld hl, inputstrCurColBuf
147 D1:AE6F 11 96 05 D0 ld de, CurCol
148 D1:AE73 CD 3D AA D1 call bytecpy
149 D1:AE77 21 A2 AE D1 ld hl, inputstrCurRowBuf
150 D1:AE7B 11 95 05 D0 ld de, CurRow
151 D1:AE7F CD 3D AA D1 call bytecpy
152 D1:AE83 E1 - - - pop hl
153 D1:AE84 D1 - - - pop de
154 D1:AE85 E1 - - - pop hl
155 D1:AE86 E5 - - - push hl
156 D1:AE87 C3 AC AD D1 jp inputstrKeyInput
157 D1:AE8B - - - -
158 D1:AE8B - - - - inputstrKeyEnter:
159 D1:AE8B 36 00 - - ld (hl), 0
160 D1:AE8D CD A8 08 02 call _CursorOff
161 D1:AE91 3E 20 - - ld a, ' '
162 D1:AE93 CD B4 07 02 call _PutMap
163 D1:AE97 E1 - - - pop hl
164 D1:AE98 D1 - - - pop de
165 D1:AE99 FD CB 12 9E res Shift2nd, (IY + ShiftFlags)
166 D1:AE9D C9 - - - ret
167 D1:AE9E - - - -
168 D1:AE9E 00 - - - inputstrFlags: .db %00000000
169 D1:AE9F - - - - ; 0: num Flag
170 D1:AE9F 00 00 - - inputstrSizeBuf: .dw $0000
171 D1:AEA1 00 - - - inputstrCurColBuf: .db $00
172 D1:AEA2 00 - - - inputstrCurRowBuf: .db $00
173 D1:AEA3 - - - -
174 D1:AEA3 - - - - ;;inputcharstr
175 D1:AEA3 - - - - ;;Inputs string of (only letters) of length [Buffer Size] and puts it in (Destination)
176 D1:AEA3 - - - - ;;Inputs:
177 D1:AEA3 - - - - ;; HL: Destination
178 D1:AEA3 - - - - ;; D[E]: Buffer Size
179 D1:AEA3 - - - - ;;Ouptuts:
180 D1:AEA3 - - - - ;; (HL): String
181 D1:AEA3 - - - - inputcharstr:
182 D1:AEA3 D5 - - - push de
183 D1:AEA4 E5 - - - push hl
184 D1:AEA5 ED 53 B3 AF
D1 - - - ld (inputcharstrSizeBuf), de
185 D1:AEAA E5 - - - push hl
186 D1:AEAB D5 - - - push de
187 D1:AEAC 21 96 05 D0 ld hl, CurCol
188 D1:AEB0 11 B5 AF D1 ld de, inputcharstrCurColBuf
189 D1:AEB4 CD 3D AA D1 call bytecpy
190 D1:AEB8 21 95 05 D0 ld hl, CurRow
191 D1:AEBC 11 B6 AF D1 ld de, inputcharstrCurRowBuf
192 D1:AEC0 CD 3D AA D1 call bytecpy
193 D1:AEC4 D1 - - - pop de
194 D1:AEC5 E1 - - - pop hl
195 D1:AEC6 - - - -
196 D1:AEC6 CD B0 08 02 call _CursorOn
197 D1:AECA - - - -
198 D1:AECA AF - - - xor a
199 D1:AECB 47 - - - ld b, a
200 D1:AECC - - - - inputcharstrKeyInput:
201 D1:AECC CD F2 AA D1 call cursorcurunderreset
202 D1:AED0 CD 75 AD D1 call inputgetkey
203 D1:AED4 - - - -
204 D1:AED4 FE 38 - - cp skDel
205 D1:AED6 CA 1F AF D1 jp z, inputcharstrKeyDel
206 D1:AEDA FE 0F - - cp skClear
207 D1:AEDC CA 3F AF D1 jp z, inputcharstrKeyClear
208 D1:AEE0 FE 09 - - cp skEnter
209 D1:AEE2 CA A4 AF D1 jp z, inputcharstrKeyEnter
210 D1:AEE6 - - - -
211 D1:AEE6 4F - - - ld c, a
212 D1:AEE7 78 - - - ld a, b
213 D1:AEE8 D5 - - - push de
214 D1:AEE9 ED 5B B3 AF
D1 - - - ld de, (inputcharstrSizeBuf)
215 D1:AEEE BB - - - cp e
216 D1:AEEF D1 - - - pop de
217 D1:AEF0 28 DA - - jr z, inputcharstrKeyInput
218 D1:AEF2 79 - - - ld a, c
219 D1:AEF3 - - - -
220 D1:AEF3 D6 0A - - sub skAdd
221 D1:AEF5 38 D5 - - jr c, inputcharstrKeyInput
222 D1:AEF7 FE 26 - - cp skMath - skAdd + 1
223 D1:AEF9 30 D1 - - jr nc, inputcharstrKeyInput
224 D1:AEFB - - - -
225 D1:AEFB CD C2 AA D1 call chartoascii
226 D1:AEFF - - - -
227 D1:AEFF FE FF - - cp $FF
228 D1:AF01 28 C9 - - jr z, inputcharstrKeyInput
229 D1:AF03 - - - -
230 D1:AF03 FD CB 05 96 res textScrolled, (iy+textFlags)
231 D1:AF07 - - - -
232 D1:AF07 CD B8 07 02 call _PutC
233 D1:AF0B - - - -
234 D1:AF0B 77 - - - ld (hl), a
235 D1:AF0C 23 - - - inc hl
236 D1:AF0D 04 - - - inc b
237 D1:AF0E - - - -
238 D1:AF0E FD CB 05 56 bit textScrolled, (iy+textFlags)
239 D1:AF12 28 B8 - - jr z, inputcharstrKeyInput
240 D1:AF14 E5 - - - push hl
241 D1:AF15 21 B6 AF D1 ld hl, inputcharstrCurRowBuf
242 D1:AF19 7E - - - ld a, (hl)
243 D1:AF1A 3D - - - dec a
244 D1:AF1B 77 - - - ld (hl), a
245 D1:AF1C E1 - - - pop hl
246 D1:AF1D 18 AD - - jr inputcharstrKeyInput
247 D1:AF1F - - - - inputcharstrKeyDel:
248 D1:AF1F 78 - - - ld a, b
249 D1:AF20 FE 00 - - cp 0
250 D1:AF22 CA CC AE D1 jp z, inputcharstrKeyInput
251 D1:AF26 - - - -
252 D1:AF26 3E 20 - - ld a, ' '
253 D1:AF28 CD B4 07 02 call _PutMap
254 D1:AF2C - - - -
255 D1:AF2C E5 - - - push hl
256 D1:AF2D 21 96 05 D0 ld hl, CurCol
257 D1:AF31 35 - - - dec (hl)
258 D1:AF32 E1 - - - pop hl
259 D1:AF33 - - - -
260 D1:AF33 3E 20 - - ld a, ' '
261 D1:AF35 CD B4 07 02 call _PutMap
262 D1:AF39 - - - -
263 D1:AF39 2B - - - dec hl
264 D1:AF3A 05 - - - dec b
265 D1:AF3B C3 CC AE D1 jp inputcharstrKeyInput
266 D1:AF3F - - - -
267 D1:AF3F - - - - inputcharstrKeyClear:
268 D1:AF3F 78 - - - ld a, b
269 D1:AF40 FE 00 - - cp 0
270 D1:AF42 CA CC AE D1 jp z, inputcharstrKeyInput
271 D1:AF46 - - - -
272 D1:AF46 E5 - - - push hl
273 D1:AF47 21 95 05 D0 ld hl, CurRow
274 D1:AF4B 4E - - - ld c, (hl)
275 D1:AF4C E1 - - - pop hl
276 D1:AF4D - - - -
277 D1:AF4D E5 - - - push hl
278 D1:AF4E D5 - - - push de
279 D1:AF4F 21 B5 AF D1 ld hl, inputcharstrCurColBuf
280 D1:AF53 11 96 05 D0 ld de, CurCol
281 D1:AF57 CD 3D AA D1 call bytecpy
282 D1:AF5B 21 B6 AF D1 ld hl, inputcharstrCurRowBuf
283 D1:AF5F 11 95 05 D0 ld de, CurRow
284 D1:AF63 CD 3D AA D1 call bytecpy
285 D1:AF67 D1 - - - pop de
286 D1:AF68 E1 - - - pop hl
287 D1:AF69 - - - -
288 D1:AF69 3E 20 - - ld a, ' '
289 D1:AF6B 04 - - - inc b
290 D1:AF6C - - - - inputcharstrKeyClearLoop:
291 D1:AF6C CD B8 07 02 call _PutC
292 D1:AF70 10 FA - - djnz inputcharstrKeyClearLoop
293 D1:AF72 - - - -
294 D1:AF72 E5 - - - push hl
295 D1:AF73 D5 - - - push de
296 D1:AF74 21 B5 AF D1 ld hl, inputcharstrCurColBuf
297 D1:AF78 11 96 05 D0 ld de, CurCol
298 D1:AF7C CD 3D AA D1 call bytecpy
299 D1:AF80 D1 - - - pop de
300 D1:AF81 E1 - - - pop hl
301 D1:AF82 - - - -
302 D1:AF82 D5 - - - push de
303 D1:AF83 E5 - - - push hl
304 D1:AF84 21 B5 AF D1 ld hl, inputcharstrCurColBuf
305 D1:AF88 11 96 05 D0 ld de, CurCol
306 D1:AF8C CD 3D AA D1 call bytecpy
307 D1:AF90 21 B6 AF D1 ld hl, inputcharstrCurRowBuf
308 D1:AF94 11 95 05 D0 ld de, CurRow
309 D1:AF98 CD 3D AA D1 call bytecpy
310 D1:AF9C E1 - - - pop hl
311 D1:AF9D D1 - - - pop de
312 D1:AF9E E1 - - - pop hl
313 D1:AF9F E5 - - - push hl
314 D1:AFA0 C3 CC AE D1 jp inputcharstrKeyInput
315 D1:AFA4 - - - -
316 D1:AFA4 - - - - inputcharstrKeyEnter:
317 D1:AFA4 36 00 - - ld (hl), 0
318 D1:AFA6 CD A8 08 02 call _CursorOff
319 D1:AFAA 3E 20 - - ld a, ' '
320 D1:AFAC CD B4 07 02 call _PutMap
321 D1:AFB0 E1 - - - pop hl
322 D1:AFB1 D1 - - - pop de
323 D1:AFB2 C9 - - - ret
324 D1:AFB3 - - - -
325 D1:AFB3 00 00 - - inputcharstrSizeBuf: .dw $0000
326 D1:AFB5 00 - - - inputcharstrCurColBuf: .db $00
327 D1:AFB6 00 - - - inputcharstrCurRowBuf: .db $00
328 D1:AFB7 - - - -
329 D1:AFB7 - - - - ;;inputnumstr
330 D1:AFB7 - - - - ;;Inputs string of (only numbers) of length [Buffer Size] and puts it in (Destination)
331 D1:AFB7 - - - - ;;Inputs:
332 D1:AFB7 - - - - ;; HL: Destination
333 D1:AFB7 - - - - ;; D[E]: Buffer Size
334 D1:AFB7 - - - - ;;Ouptuts:
335 D1:AFB7 - - - - ;; (HL): String
336 D1:AFB7 - - - - inputnumstr:
337 D1:AFB7 D5 - - - push de
338 D1:AFB8 E5 - - - push hl
339 D1:AFB9 ED 53 B7 B0
D1 - - - ld (inputnumstrSizeBuf), de
340 D1:AFBE E5 - - - push hl
341 D1:AFBF D5 - - - push de
342 D1:AFC0 21 96 05 D0 ld hl, CurCol
343 D1:AFC4 11 B9 B0 D1 ld de, inputnumstrCurColBuf
344 D1:AFC8 CD 3D AA D1 call bytecpy
345 D1:AFCC 21 95 05 D0 ld hl, CurRow
346 D1:AFD0 11 BA B0 D1 ld de, inputnumstrCurRowBuf
347 D1:AFD4 CD 3D AA D1 call bytecpy
348 D1:AFD8 D1 - - - pop de
349 D1:AFD9 E1 - - - pop hl
350 D1:AFDA - - - -
351 D1:AFDA CD B0 08 02 call _CursorOn
352 D1:AFDE - - - -
353 D1:AFDE AF - - - xor a
354 D1:AFDF 47 - - - ld b, a
355 D1:AFE0 - - - -
356 D1:AFE0 - - - - inputnumstrKeyInput:
357 D1:AFE0 CD F2 AA D1 call cursorcurunderreset
358 D1:AFE4 CD 75 AD D1 call inputgetkey
359 D1:AFE8 - - - -
360 D1:AFE8 FE 38 - - cp skDel
361 D1:AFEA CA 33 B0 D1 jp z, inputnumstrKeyDel
362 D1:AFEE FE 0F - - cp skClear
363 D1:AFF0 CA 53 B0 D1 jp z, inputnumstrKeyClear
364 D1:AFF4 FE 09 - - cp skEnter
365 D1:AFF6 CA A8 B0 D1 jp z, inputnumstrKeyEnter
366 D1:AFFA - - - -
367 D1:AFFA 4F - - - ld c, a
368 D1:AFFB 78 - - - ld a, b
369 D1:AFFC D5 - - - push de
370 D1:AFFD ED 5B B7 B0
D1 - - - ld de, (inputnumstrSizeBuf)
371 D1:B002 BB - - - cp e
372 D1:B003 D1 - - - pop de
373 D1:B004 28 DA - - jr z, inputnumstrKeyInput
374 D1:B006 79 - - - ld a, c
375 D1:B007 - - - -
376 D1:B007 D6 0A - - sub skAdd
377 D1:B009 38 D5 - - jr c, inputnumstrKeyInput
378 D1:B00B FE 26 - - cp skMath - skAdd + 1
379 D1:B00D 30 D1 - - jr nc, inputnumstrKeyInput
380 D1:B00F - - - -
381 D1:B00F CD D2 AA D1 call charnumtoascii
382 D1:B013 FE FF - - cp $FF
383 D1:B015 28 C9 - - jr z, inputnumstrKeyInput
384 D1:B017 - - - -
385 D1:B017 FD CB 05 96 res textScrolled, (iy+textFlags)
386 D1:B01B - - - -
387 D1:B01B CD B8 07 02 call _PutC
388 D1:B01F - - - -
389 D1:B01F 77 - - - ld (hl), a
390 D1:B020 23 - - - inc hl
391 D1:B021 04 - - - inc b
392 D1:B022 - - - -
393 D1:B022 FD CB 05 56 bit textScrolled, (iy+textFlags)
394 D1:B026 28 B8 - - jr z, inputnumstrKeyInput
395 D1:B028 E5 - - - push hl
396 D1:B029 21 BA B0 D1 ld hl, inputnumstrCurRowBuf
397 D1:B02D 7E - - - ld a, (hl)
398 D1:B02E 3D - - - dec a
399 D1:B02F 77 - - - ld (hl), a
400 D1:B030 E1 - - - pop hl
401 D1:B031 18 AD - - jr inputnumstrKeyInput
402 D1:B033 - - - - inputnumstrkeydel:
403 D1:B033 78 - - - ld a, b
404 D1:B034 FE 00 - - cp 0
405 D1:B036 CA E0 AF D1 jp z, inputnumstrKeyInput
406 D1:B03A - - - -
407 D1:B03A 3E 20 - - ld a, ' '
408 D1:B03C CD B4 07 02 call _PutMap
409 D1:B040 - - - -
410 D1:B040 E5 - - - push hl
411 D1:B041 21 96 05 D0 ld hl, CurCol
412 D1:B045 35 - - - dec (hl)
413 D1:B046 E1 - - - pop hl
414 D1:B047 - - - -
415 D1:B047 3E 20 - - ld a, ' '
416 D1:B049 CD B4 07 02 call _PutMap
417 D1:B04D - - - -
418 D1:B04D 2B - - - dec hl
419 D1:B04E 05 - - - dec b
420 D1:B04F C3 E0 AF D1 jp inputnumstrKeyInput
421 D1:B053 - - - -
422 D1:B053 - - - - inputnumstrKeyClear:
423 D1:B053 78 - - - ld a, b
424 D1:B054 FE 00 - - cp 0
425 D1:B056 CA E0 AF D1 jp z, inputnumstrKeyInput
426 D1:B05A - - - -
427 D1:B05A E5 - - - push hl
428 D1:B05B 21 95 05 D0 ld hl, CurRow
429 D1:B05F 4E - - - ld c, (hl)
430 D1:B060 E1 - - - pop hl
431 D1:B061 - - - -
432 D1:B061 E5 - - - push hl
433 D1:B062 D5 - - - push de
434 D1:B063 21 B9 B0 D1 ld hl, inputnumstrCurColBuf
435 D1:B067 11 96 05 D0 ld de, CurCol
436 D1:B06B CD 3D AA D1 call bytecpy
437 D1:B06F 21 BA B0 D1 ld hl, inputnumstrCurRowBuf
438 D1:B073 11 95 05 D0 ld de, CurRow
439 D1:B077 CD 3D AA D1 call bytecpy
440 D1:B07B D1 - - - pop de
441 D1:B07C E1 - - - pop hl
442 D1:B07D - - - -
443 D1:B07D 3E 20 - - ld a, ' '
444 D1:B07F 04 - - - inc b
445 D1:B080 - - - - inputnumstrKeyClearLoop:
446 D1:B080 CD B8 07 02 call _PutC
447 D1:B084 10 FA - - djnz inputnumstrKeyClearLoop
448 D1:B086 - - - -
449 D1:B086 D5 - - - push de
450 D1:B087 E5 - - - push hl
451 D1:B088 21 B9 B0 D1 ld hl, inputnumstrCurColBuf
452 D1:B08C 11 96 05 D0 ld de, CurCol
453 D1:B090 CD 3D AA D1 call bytecpy
454 D1:B094 21 BA B0 D1 ld hl, inputnumstrCurRowBuf
455 D1:B098 11 95 05 D0 ld de, CurRow
456 D1:B09C CD 3D AA D1 call bytecpy
457 D1:B0A0 E1 - - - pop hl
458 D1:B0A1 D1 - - - pop de
459 D1:B0A2 E1 - - - pop hl
460 D1:B0A3 E5 - - - push hl
461 D1:B0A4 C3 E0 AF D1 jp inputnumstrKeyInput
462 D1:B0A8 - - - -
463 D1:B0A8 - - - - inputnumstrKeyEnter:
464 D1:B0A8 36 00 - - ld (hl), 0
465 D1:B0AA CD A8 08 02 call _CursorOff
466 D1:B0AE 3E 20 - - ld a, ' '
467 D1:B0B0 CD B4 07 02 call _PutMap
468 D1:B0B4 E1 - - - pop hl
469 D1:B0B5 D1 - - - pop de
470 D1:B0B6 C9 - - - ret
471 D1:B0B7 - - - -
472 D1:B0B7 00 00 - - inputnumstrSizeBuf: .dw $0000
473 D1:B0B9 00 - - - inputnumstrCurColBuf: .db $00
474 D1:B0BA 00 - - - inputnumstrCurRowBuf: .db $00
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\std\std.inc"
Listing for file "FSHa.asm"
72 D1:B0BB - - - - #include "includes/lib/fsh/fsh.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc"
1 D1:B0BB - - - - #include "includes/lib/fsh/Command.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Command.asm"
1 D1:B0BB - - - - ;;commandfill
2 D1:B0BB - - - - ;;Fills command mem with byte a
3 D1:B0BB - - - - ;;Inputs:
4 D1:B0BB - - - - ;; A: byte
5 D1:B0BB - - - - commandfill:
6 D1:B0BB E5 - - - push hl
7 D1:B0BC C5 - - - push bc
8 D1:B0BD D5 - - - push de
9 D1:B0BE 06 00 - - ld b, 0
10 D1:B0C0 11 00 00 00 ld de, 0
11 D1:B0C4 4F - - - ld c, a
12 D1:B0C5 21 9F EA D0 ld hl, FshCmd
13 D1:B0C9 - - - - commandfillLoop:
14 D1:B0C9 71 - - - ld (hl), c
15 D1:B0CA 23 - - - inc hl
16 D1:B0CB 04 - - - inc b
17 D1:B0CC 13 - - - inc de
18 D1:B0CD 78 - - - ld a, b
19 D1:B0CE FE 40 - - cp FshCmdSize
20 D1:B0D0 38 F7 - - jr c, commandfillLoop
21 D1:B0D2 D1 - - - pop de
22 D1:B0D3 C1 - - - pop bc
23 D1:B0D4 E1 - - - pop hl
24 D1:B0D5 C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc"
2 D1:B0D6 - - - - #include "includes/lib/fsh/Parse.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Parse.asm"
1 D1:B0D6 - - - - ;;fshparsecommand
2 D1:B0D6 - - - - ;;Inputs:
3 D1:B0D6 - - - - ;; HL: FshCmd
4 D1:B0D6 - - - - ;;b = buf row
5 D1:B0D6 - - - - ;;c = char in row
6 D1:B0D6 - - - - ;de = scratch
7 D1:B0D6 - - - - fshparsecommand:
8 D1:B0D6 E5 - - - push hl
9 D1:B0D7 C5 - - - push bc
10 D1:B0D8 D5 - - - push de
11 D1:B0D9 E5 - - - push hl
12 D1:B0DA E5 - - - push hl
13 D1:B0DB 21 ED B1 D1 ld hl, fshparsecommandCmd
14 D1:B0DF 06 2D - - ld b, 45
15 D1:B0E1 3E 00 - - ld a, $00
16 D1:B0E3 CD 45 AA D1 call memset
17 D1:B0E7 E1 - - - pop hl
18 D1:B0E8 - - - -
19 D1:B0E8 01 00 00 00 ld bc, 0
20 D1:B0EC 11 00 00 00 ld de, 0
21 D1:B0F0 - - - - fshparsecommandLoop:
22 D1:B0F0 7E - - - ld a, (hl)
23 D1:B0F1 - - - - fshparsecommandCheckSpace:
24 D1:B0F1 FE 20 - - cp ' ' ;end of word
25 D1:B0F3 20 0C - - jr nz, fshparsecommandCheckEnd
26 D1:B0F5 3E 00 - - ld a, $00
27 D1:B0F7 CD 20 B2 D1 call fshparsecommandCopyChar
28 D1:B0FB 0E 00 - - ld c, 0
29 D1:B0FD 04 - - - inc b
30 D1:B0FE 23 - - - inc hl
31 D1:B0FF 18 EF - - jr fshparsecommandLoop
32 D1:B101 - - - -
33 D1:B101 - - - - fshparsecommandCheckEnd:
34 D1:B101 FE 00 - - cp $00 ;end of string
35 D1:B103 28 13 - - jr z, fshparsecommandCheckArgStatus
36 D1:B105 - - - -
37 D1:B105 - - - - fshparsecommandLoopEnd:
38 D1:B105 CD 20 B2 D1 call fshparsecommandCopyChar
39 D1:B109 23 - - - inc hl
40 D1:B10A 0C - - - inc c
41 D1:B10B - - - -
42 D1:B10B 79 - - - ld a, c
43 D1:B10C FE 08 - - cp FshCmdCmdSize
44 D1:B10E 20 E0 - - jr nz, fshparsecommandLoop
45 D1:B110 - - - - ;inc hl
46 D1:B110 0E 00 - - ld c, 0
47 D1:B112 04 - - - inc b
48 D1:B113 78 - - - ld a, b
49 D1:B114 FE 05 - - cp 5
50 D1:B116 20 D8 - - jr nz, fshparsecommandLoop
51 D1:B118 - - - - ; ld bc, 0
52 D1:B118 - - - -
53 D1:B118 - - - - fshparsecommandCheckArgStatus:
54 D1:B118 AF - - - xor a
55 D1:B119 21 CD EA D0 ld hl, FshCmdArgFlags
56 D1:B11D 77 - - - ld (hl), a
57 D1:B11E - - - - fshparsecommandCheckArg0:
58 D1:B11E 21 F6 B1 D1 ld hl, fshparsecommandArg0
59 D1:B122 7E - - - ld a, (hl)
60 D1:B123 FE 00 - - cp $00
61 D1:B125 28 27 - - jr z, fshparsecommandCheckArg1
62 D1:B127 21 CD EA D0 ld hl, FshCmdArgFlags
63 D1:B12B CB C6 - - set 0, (hl)
64 D1:B12D 7E - - - ld a, (hl)
65 D1:B12E 21 F6 B1 D1 ld hl, fshparsecommandArg0
66 D1:B132 7E - - - ld a, (hl)
67 D1:B133 D6 30 - - sub '0'
68 D1:B135 FE 0A - - cp '9' - '0' + 1
69 D1:B137 30 15 - - jr nc, fshparsecommandCheckArg1
70 D1:B139 CD BD AC D1 call strtow
71 D1:B13D 11 F6 B1 D1 ld de, fshparsecommandArg0
72 D1:B141 EB - - - ex de, hl
73 D1:B142 73 - - - ld (hl), e
74 D1:B143 23 - - - inc hl
75 D1:B144 72 - - - ld (hl), d
76 D1:B145 34 - - - inc (hl)
77 D1:B146 36 00 - - ld (hl), $00
78 D1:B148 21 CD EA D0 ld hl, FshCmdArgFlags
79 D1:B14C CB CE - - set 1, (hl)
80 D1:B14E - - - - fshparsecommandCheckArg1:
81 D1:B14E 21 FF B1 D1 ld hl, fshparsecommandArg1
82 D1:B152 7E - - - ld a, (hl)
83 D1:B153 FE 00 - - cp $00
84 D1:B155 28 26 - - jr z, fshparsecommandCheckArg2
85 D1:B157 21 CD EA D0 ld hl, FshCmdArgFlags
86 D1:B15B CB D6 - - set 2, (hl)
87 D1:B15D 21 FF B1 D1 ld hl, fshparsecommandArg1
88 D1:B161 7E - - - ld a, (hl)
89 D1:B162 D6 30 - - sub '0'
90 D1:B164 FE 0A - - cp '9' - '0' + 1
91 D1:B166 30 15 - - jr nc, fshparsecommandCheckArg2
92 D1:B168 CD BD AC D1 call strtow
93 D1:B16C 11 FF B1 D1 ld de, fshparsecommandArg1
94 D1:B170 EB - - - ex de, hl
95 D1:B171 73 - - - ld (hl), e
96 D1:B172 23 - - - inc hl
97 D1:B173 72 - - - ld (hl), d
98 D1:B174 23 - - - inc hl
99 D1:B175 36 00 - - ld (hl), $00
100 D1:B177 21 CD EA D0 ld hl, FshCmdArgFlags
101 D1:B17B CB DE - - set 3, (hl)
102 D1:B17D - - - - fshparsecommandCheckArg2:
103 D1:B17D 21 08 B2 D1 ld hl, fshparsecommandArg2
104 D1:B181 7E - - - ld a, (hl)
105 D1:B182 FE 00 - - cp $00
106 D1:B184 28 26 - - jr z, fshparsecommandCheckArg3
107 D1:B186 21 CD EA D0 ld hl, FshCmdArgFlags
108 D1:B18A CB E6 - - set 4, (hl)
109 D1:B18C 21 08 B2 D1 ld hl, fshparsecommandArg2
110 D1:B190 7E - - - ld a, (hl)
111 D1:B191 D6 30 - - sub '0'
112 D1:B193 FE 0A - - cp '9' - '0' + 1
113 D1:B195 30 15 - - jr nc, fshparsecommandCheckArg3
114 D1:B197 CD BD AC D1 call strtow
115 D1:B19B 11 08 B2 D1 ld de, fshparsecommandArg2
116 D1:B19F EB - - - ex de, hl
117 D1:B1A0 73 - - - ld (hl), e
118 D1:B1A1 23 - - - inc hl
119 D1:B1A2 72 - - - ld (hl), d
120 D1:B1A3 23 - - - inc hl
121 D1:B1A4 36 00 - - ld (hl), $00
122 D1:B1A6 21 CD EA D0 ld hl, FshCmdArgFlags
123 D1:B1AA CB EE - - set 5, (hl)
124 D1:B1AC - - - - fshparsecommandCheckArg3:
125 D1:B1AC 21 11 B2 D1 ld hl, fshparsecommandArg3
126 D1:B1B0 7E - - - ld a, (hl)
127 D1:B1B1 FE 00 - - cp $00
128 D1:B1B3 28 26 - - jr z, fshparsecommandCopyBack
129 D1:B1B5 21 CD EA D0 ld hl, FshCmdArgFlags
130 D1:B1B9 CB F6 - - set 6, (hl)
131 D1:B1BB 21 11 B2 D1 ld hl, fshparsecommandArg3
132 D1:B1BF 7E - - - ld a, (hl)
133 D1:B1C0 D6 30 - - sub '0'
134 D1:B1C2 FE 0A - - cp '9' - '0' + 1
135 D1:B1C4 30 15 - - jr nc, fshparsecommandCopyBack
136 D1:B1C6 CD BD AC D1 call strtow
137 D1:B1CA 11 11 B2 D1 ld de, fshparsecommandArg3
138 D1:B1CE EB - - - ex de, hl
139 D1:B1CF 73 - - - ld (hl), e
140 D1:B1D0 23 - - - inc hl
141 D1:B1D1 72 - - - ld (hl), d
142 D1:B1D2 23 - - - inc hl
143 D1:B1D3 36 00 - - ld (hl), $00
144 D1:B1D5 21 CD EA D0 ld hl, FshCmdArgFlags
145 D1:B1D9 CB FE - - set 7, (hl)
146 D1:B1DB - - - - fshparsecommandCopyBack:
147 D1:B1DB E1 - - - pop hl
148 D1:B1DC C5 - - - push bc
149 D1:B1DD EB - - - ex de, hl
150 D1:B1DE 21 ED B1 D1 ld hl, fshparsecommandCmd
151 D1:B1E2 01 2D 00 00 ld bc, 45
152 D1:B1E6 ED B0 - - ldir
153 D1:B1E8 C1 - - - pop bc
154 D1:B1E9 - - - -
155 D1:B1E9 D1 - - - pop de
156 D1:B1EA C1 - - - pop bc
157 D1:B1EB E1 - - - pop hl
158 D1:B1EC C9 - - - ret
159 D1:B1ED - - - -
160 D1:B1ED 00 00 00 00
00 00 00 00
00 - - - fshparsecommandCmd: .db $00, $00, $00, $00, $00, $00, $00, $00, $00
161 D1:B1F6 00 00 00 00
00 00 00 00
00 - - - fshparsecommandArg0: .db $00, $00, $00, $00, $00, $00, $00, $00, $00
162 D1:B1FF 00 00 00 00
00 00 00 00
00 - - - fshparsecommandArg1: .db $00, $00, $00, $00, $00, $00, $00, $00, $00
163 D1:B208 00 00 00 00
00 00 00 00
00 - - - fshparsecommandArg2: .db $00, $00, $00, $00, $00, $00, $00, $00, $00
164 D1:B211 00 00 00 00
00 00 00 00
00 - - - fshparsecommandArg3: .db $00, $00, $00, $00, $00, $00, $00, $00, $00
165 D1:B21A 00 00 00 00
00 00 - - fshparsecommandOverB: .db $00, $00, $00, $00, $00, $00
166 D1:B220 - - - -
167 D1:B220 - - - - fshparsecommandCopyChar:
168 D1:B220 - - - - ;Copy
169 D1:B220 E5 - - - push hl
170 D1:B221 C5 - - - push bc
171 D1:B222 21 00 00 00 ld hl, 0
172 D1:B226 60 - - - ld h, b
173 D1:B227 2E 09 - - ld l, 9
174 D1:B229 41 - - - ld b, c
175 D1:B22A 11 ED B1 D1 ld de, fshparsecommandCmd
176 D1:B22E CD 8F AB D1 call array2d
177 D1:B232 C1 - - - pop bc
178 D1:B233 E1 - - - pop hl
179 D1:B234 - - - - ;push hl
180 D1:B234 - - - - ; ld hl, fshparsecommandCmd+45+1
181 D1:B234 - - - - ; call cpHLDE
182 D1:B234 - - - - ;pop hl
183 D1:B234 - - - - ;pop de
184 D1:B234 - - - - ;ret c
185 D1:B234 - - - - ;push de
186 D1:B234 12 - - - ld (de), a ;ld buffer
187 D1:B235 C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc"
3 D1:B236 - - - - #include "includes/lib/fsh/FshVar.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\FshVar.asm"
1 D1:B236 - - - - ;;fshvarset
2 D1:B236 - - - - ;;Sets a Word in FshVars.
3 D1:B236 - - - - ;;Inputs:
4 D1:B236 - - - - ;; HL: 16b
5 D1:B236 - - - - ;; DE: Destination Word Relitive to FshVars
6 D1:B236 - - - - fshvarset:
7 D1:B236 C5 - - - push bc
8 D1:B237 01 3F 00 00 ld bc, FshVarsSize / 2 - 1
9 D1:B23B CD 77 A9 D1 call cpBCDE
10 D1:B23F C1 - - - pop bc
11 D1:B240 38 11 - - jr c, fshvarsetOOBException
12 D1:B242 C5 - - - push bc
13 D1:B243 D5 - - - push de
14 D1:B244 E5 - - - push hl
15 D1:B245 01 1F EA D0 ld bc, FshVars
16 D1:B249 EB - - - ex de, hl
17 D1:B24A 29 - - - add hl, hl
18 D1:B24B 09 - - - add hl, bc
19 D1:B24C 73 - - - ld (hl), e
20 D1:B24D 23 - - - inc hl
21 D1:B24E 72 - - - ld (hl), d
22 D1:B24F E1 - - - pop hl
23 D1:B250 D1 - - - pop de
24 D1:B251 C1 - - - pop bc
25 D1:B252 C9 - - - ret
26 D1:B253 - - - - fshvarsetOOBException:
27 D1:B253 E5 - - - push hl
28 D1:B254 21 78 B3 D1 ld hl, ErrOutOfBoundso
29 D1:B258 CD 33 B3 D1 call ErrSet
30 D1:B25C E1 - - - pop hl
31 D1:B25D C9 - - - ret
32 D1:B25E - - - -
33 D1:B25E - - - - ;;fshvarget
34 D1:B25E - - - - ;;Gets a Word in FshVars.
35 D1:B25E - - - - ;;Inputs:
36 D1:B25E - - - - ;; DE: Destination Word Relitive to FshVars
37 D1:B25E - - - - ;;Outputs:
38 D1:B25E - - - - ;; HL: Word in (DE)
39 D1:B25E - - - - fshvarget:
40 D1:B25E C5 - - - push bc
41 D1:B25F 01 3F 00 00 ld bc, FshVarsSize / 2 - 1
42 D1:B263 CD 77 A9 D1 call cpBCDE
43 D1:B267 C1 - - - pop bc
44 D1:B268 38 14 - - jr c, fshvargetOOBException
45 D1:B26A C5 - - - push bc
46 D1:B26B D5 - - - push de
47 D1:B26C 21 00 00 00 ld hl, 0
48 D1:B270 01 1F EA D0 ld bc, FshVars
49 D1:B274 EB - - - ex de, hl
50 D1:B275 29 - - - add hl, hl
51 D1:B276 09 - - - add hl, bc
52 D1:B277 5E - - - ld e, (hl)
53 D1:B278 23 - - - inc hl
54 D1:B279 56 - - - ld d, (hl)
55 D1:B27A EB - - - ex de, hl
56 D1:B27B D1 - - - pop de
57 D1:B27C C1 - - - pop bc
58 D1:B27D C9 - - - ret
59 D1:B27E - - - - fshvargetOOBException:
60 D1:B27E E5 - - - push hl
61 D1:B27F 21 78 B3 D1 ld hl, ErrOutOfBoundso
62 D1:B283 CD 33 B3 D1 call ErrSet
63 D1:B287 E1 - - - pop hl
64 D1:B288 C9 - - - ret
65 D1:B289 - - - - ;;fshvarcpy
66 D1:B289 - - - - ;;Copies a word.
67 D1:B289 - - - - ;;Inputs:
68 D1:B289 - - - - ;; HL: Byte pointer
69 D1:B289 - - - - ;; DE: Destination
70 D1:B289 - - - - fshvarcpy:
71 D1:B289 C5 - - - push bc
72 D1:B28A 01 3F 00 00 ld bc, FshVarsSize / 2 - 1
73 D1:B28E CD 77 A9 D1 call cpBCDE
74 D1:B292 C1 - - - pop bc
75 D1:B293 38 2A - - jr c, fshvarcpyOOBException
76 D1:B295 C5 - - - push bc
77 D1:B296 01 40 00 00 ld bc, FshVarsSize / 2
78 D1:B29A CD 72 A9 D1 call cpHLBC
79 D1:B29E C1 - - - pop bc
80 D1:B29F 30 1E - - jr nc, fshvarcpyOOBException
81 D1:B2A1 D5 - - - push de
82 D1:B2A2 E5 - - - push hl
83 D1:B2A3 01 40 00 00 ld bc, FshVarsSize / 2
84 D1:B2A7 CD 77 A9 D1 call cpBCDE
85 D1:B2AB 38 12 - - jr c, fshvarcpyOOBException
86 D1:B2AD 01 1F EA D0 ld bc, FshVars
87 D1:B2B1 29 - - - add hl, hl
88 D1:B2B2 09 - - - add hl, bc
89 D1:B2B3 EB - - - ex de, hl
90 D1:B2B4 29 - - - add hl, hl
91 D1:B2B5 09 - - - add hl, bc
92 D1:B2B6 1A - - - ld a, (de)
93 D1:B2B7 77 - - - ld (hl), a
94 D1:B2B8 13 - - - inc de
95 D1:B2B9 23 - - - inc hl
96 D1:B2BA 1A - - - ld a, (de)
97 D1:B2BB 77 - - - ld (hl), a
98 D1:B2BC E1 - - - pop hl
99 D1:B2BD D1 - - - pop de
100 D1:B2BE C9 - - - ret
101 D1:B2BF - - - -
102 D1:B2BF - - - - fshvarcpyOOBException:
103 D1:B2BF E5 - - - push hl
104 D1:B2C0 21 78 B3 D1 ld hl, ErrOutOfBoundso
105 D1:B2C4 CD 33 B3 D1 call ErrSet
106 D1:B2C8 E1 - - - pop hl
107 D1:B2C9 C9 - - - ret
108 D1:B2CA - - - -
109 D1:B2CA - - - - ;;fshvarreset
110 D1:B2CA - - - - ;;Fills fshvars with $00
111 D1:B2CA - - - - fshvarreset:
112 D1:B2CA E5 - - - push hl
113 D1:B2CB C5 - - - push bc
114 D1:B2CC D5 - - - push de
115 D1:B2CD 06 00 - - ld b, 0
116 D1:B2CF 11 00 00 00 ld de, 0
117 D1:B2D3 21 00 00 00 ld hl, 0
118 D1:B2D7 - - - - fshvarfillLoop:
119 D1:B2D7 CD 36 B2 D1 call fshvarset
120 D1:B2DB 04 - - - inc b
121 D1:B2DC 13 - - - inc de
122 D1:B2DD 78 - - - ld a, b
123 D1:B2DE FE 40 - - cp FshVarsSize / 2
124 D1:B2E0 38 F5 - - jr c, fshvarfillLoop
125 D1:B2E2 D1 - - - pop de
126 D1:B2E3 C1 - - - pop bc
127 D1:B2E4 E1 - - - pop hl
128 D1:B2E5 C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc"
4 D1:B2E6 - - - - #include "includes/lib/fsh/Err.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Err.asm"
1 D1:B2E6 - - - - ;;ErrCatch
2 D1:B2E6 - - - - ;;Checks err bit and jp to err route
3 D1:B2E6 - - - - ErrCatch:
4 D1:B2E6 C1 - - - pop bc
5 D1:B2E7 E5 - - - push hl
6 D1:B2E8 21 6C A9 D1 ld hl, FshFlags
7 D1:B2EC CB 4E - - bit 1, (hl)
8 D1:B2EE E1 - - - pop hl
9 D1:B2EF C2 F5 B2 D1 jp nz, ErrRoute
10 D1:B2F3 C5 - - - push bc
11 D1:B2F4 C9 - - - ret
12 D1:B2F5 - - - -
13 D1:B2F5 - - - - ;;ErrRoute
14 D1:B2F5 - - - - ;;Routes err codes.
15 D1:B2F5 - - - - ErrRoute:
16 D1:B2F5 - - - -
17 D1:B2F5 21 6C A9 D1 ld hl, FshFlags
18 D1:B2F9 CB 8E - - res 1, (hl)
19 D1:B2FB - - - -
20 D1:B2FB 21 CE EA D0 ld hl, FshCmdErrCode
21 D1:B2FF - - - -
22 D1:B2FF 11 42 B3 D1 ld de, ErrCmdNotFoundo
23 D1:B303 CD 35 AA D1 call bytecmp
24 D1:B307 CA 43 B3 D1 jp z, ErrCmdNotFoundf
25 D1:B30B - - - -
26 D1:B30B 11 78 B3 D1 ld de, ErrOutOfBoundso
27 D1:B30F CD 35 AA D1 call bytecmp
28 D1:B313 CA 79 B3 D1 jp z, ErrOutOfBoundsf
29 D1:B317 - - - -
30 D1:B317 11 9E B3 D1 ld de, ErrArgso
31 D1:B31B CD 35 AA D1 call bytecmp
32 D1:B31F CA 9F B3 D1 jp z, ErrArgsf
33 D1:B323 - - - -
34 D1:B323 11 C8 B3 D1 ld de, ErrUsageo
35 D1:B327 CD 35 AA D1 call bytecmp
36 D1:B32B CA C9 B3 D1 jp z, ErrUsagef
37 D1:B32F - - - -
38 D1:B32F C3 F4 B3 D1 jp ErrDefault
39 D1:B333 - - - -
40 D1:B333 - - - -
41 D1:B333 - - - - ;;ErrSet
42 D1:B333 - - - - ;;Sets all things relating to Err codes
43 D1:B333 - - - - ;;Inputs:
44 D1:B333 - - - - ;; HL: Err_____o
45 D1:B333 - - - - ErrSet:
46 D1:B333 E5 - - - push hl
47 D1:B334 7E - - - ld a, (hl)
48 D1:B335 21 CE EA D0 ld hl, FshCmdErrCode
49 D1:B339 77 - - - ld (hl), a
50 D1:B33A 21 6C A9 D1 ld hl, FshFlags
51 D1:B33E CB CE - - set 1, (hl)
52 D1:B340 E1 - - - pop hl
53 D1:B341 C9 - - - ret
54 D1:B342 - - - -
55 D1:B342 - - - - ;;ERR FUNCS-------------------
56 D1:B342 - - - -
57 D1:B342 01 - - - ErrCmdNotFoundo: .db $01
58 D1:B343 - - - - ErrCmdNotFoundf:
59 D1:B343 21 9F EA D0 ld hl, FshCmd
60 D1:B347 7E - - - ld a, (hl)
61 D1:B348 FE 00 - - cp $00
62 D1:B34A CA DB A8 D1 jp z, Fin
63 D1:B34E 21 66 B3 D1 ld hl, ErrCmdNotFoundt
64 D1:B352 CD C0 07 02 call _PutS
65 D1:B356 21 9F EA D0 ld hl, FshCmd
66 D1:B35A CD C0 07 02 call _PutS
67 D1:B35E CD F0 07 02 call _NewLine
68 D1:B362 C3 DB A8 D1 jp Fin
69 D1:B366 65 72 72 6F
72 3A 4E 6F
20 43 6F 6D
6D 61 6E 64
3A 00 - - ErrCmdNotFoundt: .db "error:No Command:", 0
70 D1:B378 - - - -
71 D1:B378 02 - - - ErrOutOfBoundso: .db $02
72 D1:B379 - - - - ErrOutOfBoundsf:
73 D1:B379 21 89 B3 D1 ld hl, ErrOutOfBoundst
74 D1:B37D CD C0 07 02 call _PutS
75 D1:B381 CD F0 07 02 call _NewLine
76 D1:B385 C3 DB A8 D1 jp Fin
77 D1:B389 65 72 72 6F
72 3A 20 4F
75 74 20 4F
66 20 42 6F
75 6E 64 73
00 - - - ErrOutOfBoundst: .db "error: Out Of Bounds", 0
78 D1:B39E - - - -
79 D1:B39E 03 - - - ErrArgso: .db $03
80 D1:B39F - - - - ErrArgsf:
81 D1:B39F 21 AF B3 D1 ld hl, ErrArgst
82 D1:B3A3 CD C0 07 02 call _PutS
83 D1:B3A7 CD F0 07 02 call _NewLine
84 D1:B3AB C3 DB A8 D1 jp Fin
85 D1:B3AF 65 72 72 6F
72 3A 20 49
6E 76 61 6C
69 64 20 41
72 67 75 6D
65 6E 74 73
00 - - - ErrArgst: .db "error: Invalid Arguments", 0
86 D1:B3C8 - - - -
87 D1:B3C8 04 - - - ErrUsageo: .db $04
88 D1:B3C9 - - - - ErrUsagef:
89 D1:B3C9 21 E5 B3 D1 ld hl, ErrUsaget
90 D1:B3CD CD C0 07 02 call _PutS
91 D1:B3D1 21 9F EA D0 ld hl, FshCmd
92 D1:B3D5 CD 05 B6 D1 call manrouteu
93 D1:B3D9 CD C0 07 02 call _PutS
94 D1:B3DD CD F0 07 02 call _NewLine
95 D1:B3E1 C3 DB A8 D1 jp Fin
96 D1:B3E5 65 72 72 6F
72 3A 20 55
73 61 67 65
3A 20 00 - ErrUsaget: .db "error: Usage: ", 0
97 D1:B3F4 - - - -
98 D1:B3F4 - - - - ErrDefault:
99 D1:B3F4 21 00 B4 D1 ld hl, ErrDefaultt
100 D1:B3F8 CD C0 07 02 call _PutS
101 D1:B3FC C3 F7 A8 D1 jp Exit
102 D1:B400 65 72 72 6F
72 3A 20 44
65 66 61 75
6C 74 3B 20
45 78 69 74
00 - - - ErrDefaultt: .db "error: Default; Exit", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc"
5 D1:B415 - - - - #include "includes/lib/fsh/Print.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Print.asm"
1 D1:B415 - - - - ;;printfshnamelong
2 D1:B415 - - - - ;;prints Name + Varsv + Version to screen
3 D1:B415 - - - - printfshnamelong:
4 D1:B415 E5 - - - push hl
5 D1:B416 21 FC A8 D1 ld hl, FshName
6 D1:B41A CD C0 07 02 call _PutS
7 D1:B41E 3E 20 - - ld a, ' '
8 D1:B420 CD B8 07 02 call _PutC
9 D1:B424 21 31 A9 D1 ld hl, FshVVars
10 D1:B428 CD C0 07 02 call _PutS
11 D1:B42C 3E 20 - - ld a, ' '
12 D1:B42E CD B8 07 02 call _PutC
13 D1:B432 3E 76 - - ld a, 'v'
14 D1:B434 CD B8 07 02 call _PutC
15 D1:B438 21 35 A9 D1 ld hl, FshVMajor
16 D1:B43C CD C0 07 02 call _PutS
17 D1:B440 21 3F A9 D1 ld hl, FshVSeparator
18 D1:B444 CD C0 07 02 call _PutS
19 D1:B448 21 37 A9 D1 ld hl, FshVMinor
20 D1:B44C CD C0 07 02 call _PutS
21 D1:B450 21 3F A9 D1 ld hl, FshVSeparator
22 D1:B454 CD C0 07 02 call _PutS
23 D1:B458 21 39 A9 D1 ld hl, FshVPatch
24 D1:B45C CD C0 07 02 call _PutS
25 D1:B460 3E 20 - - ld a, ' '
26 D1:B462 CD B8 07 02 call _PutC
27 D1:B466 21 3B A9 D1 ld hl, FshVBuild
28 D1:B46A CD C0 07 02 call _PutS
29 D1:B46E E1 - - - pop hl
30 D1:B46F C9 - - - ret
31 D1:B470 - - - -
32 D1:B470 - - - - ;;printmotd
33 D1:B470 - - - - ;;prints the motd to screen
34 D1:B470 - - - - printmotd:
35 D1:B470 CD 15 B4 D1 call printfshnamelong
36 D1:B474 CD F0 07 02 call _NewLine
37 D1:B478 CD F0 07 02 call _NewLine
38 D1:B47C 21 41 A9 D1 ld hl, FshMotd2nd
39 D1:B480 CD C0 07 02 call _PutS
40 D1:B484 CD F0 07 02 call _NewLine
41 D1:B488 21 57 A9 D1 ld hl, FshMotdHelp
42 D1:B48C CD C0 07 02 call _PutS
43 D1:B490 CD F0 07 02 call _NewLine
44 D1:B494 C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc"
6 D1:B495 - - - - #include "includes/lib/fsh/Draw.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Draw.asm"
1 D1:B495 - - - - ;;drawstatusbar
2 D1:B495 - - - - ;;draws the FSH status bar
3 D1:B495 - - - - drawstatusbar:
4 D1:B495 - - - - ;rgbto565(84, 84, 84)
5 D1:B495 21 AA 52 00 ld hl, $52AA
6 D1:B499 3E 00 - - ld a, 0
7 D1:B49B 01 1E 00 00 ld bc, 30
8 D1:B49F CD 59 AB D1 call drawbar
9 D1:B4A3 - - - - ;rgbto565(0, 159, 209)
10 D1:B4A3 21 FA 04 00 ld hl, $04FA
11 D1:B4A7 - - - - ;ld hl, %1111100000000000
12 D1:B4A7 EB DD 6B DD
62 EB 21 02
00 00 11 00
00 00 01 00
00 00 0E 00
3E 1E CD 6E
AB D1 - - drawrectfilledM(0, 0, 2, 30)
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\Draw.asm"
13 D1:B4C1 CD 50 1A 02 call _DrawBatteryIndicator
14 D1:B4C5 - - - - ;draw name
15 D1:B4C5 FD CB 32 D6 set fracDrawLFont, (iy + fontFlags)
16 D1:B4C9 3E 06 - - ld a, 6
17 D1:B4CB 32 D5 08 D0 ld (penRow), a
18 D1:B4CF 3E 07 - - ld a, 7
19 D1:B4D1 32 D2 08 D0 ld (penCol), a
20 D1:B4D5 21 AA 52 00 ld hl, $52AA
21 D1:B4D9 22 AA 26 D0 ld (drawBGcolor), hl
22 D1:B4DD 21 FF FF 00 ld hl, $ffff
23 D1:B4E1 22 AC 26 D0 ld (drawFGcolor), hl
24 D1:B4E5 21 FC A8 D1 ld hl, FshName
25 D1:B4E9 CD 34 08 02 call _VPutS
26 D1:B4ED 21 FF FF 00 ld hl, $ffff
27 D1:B4F1 22 AA 26 D0 ld (drawBGcolor), hl
28 D1:B4F5 21 00 00 00 ld hl, $0000
29 D1:B4F9 22 AC 26 D0 ld (drawFGcolor), hl
30 D1:B4FD C9 - - - ret
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\fsh\fsh.inc"
Listing for file "FSHa.asm"
73 D1:B4FE - - - - #include "includes/lib/crypto/crypto.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc"
1 D1:B4FE - - - - #include "includes/lib/crypto/Rot.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\Rot.asm"
1 D1:B4FE - - - - ;;rotletencrypt
2 D1:B4FE - - - - ;;Encrypts a string in rot-n (uses $41 to $5B)
3 D1:B4FE - - - - ;;Inputs:
4 D1:B4FE - - - - ;; HL: string pointer
5 D1:B4FE - - - - ;; A: rot-n
6 D1:B4FE - - - - ;;Notes:
7 D1:B4FE - - - - ;; Changes string in place.
8 D1:B4FE - - - - rotletencrypt:
9 D1:B4FE E5 - - - push hl
10 D1:B4FF C5 - - - push bc
11 D1:B500 - - - - rotletencryptMod:
12 D1:B500 E5 - - - push hl
13 D1:B501 67 - - - ld h, a
14 D1:B502 2E 19 - - ld l, 'Z' + 1 - 'A' - 1
15 D1:B504 CD 99 A9 D1 call modHL
16 D1:B508 44 - - - ld b, h
17 D1:B509 E1 - - - pop hl
18 D1:B50A - - - - rotletencryptLoop:
19 D1:B50A 7E - - - ld a, (hl)
20 D1:B50B FE 00 - - cp a, $00
21 D1:B50D 28 0F - - jr z, rotletencryptEnd
22 D1:B50F FE 20 - - cp a, ' '
23 D1:B511 28 07 - - jr z, rotletencryptLD
24 D1:B513 80 - - - add a, b
25 D1:B514 FE 5C - - cp a, 'Z' + 2
26 D1:B516 38 02 - - jr c , rotletencryptLD
27 D1:B518 D6 1B - - sub a, 'Z' + 2 - 'A'
28 D1:B51A - - - - rotletencryptLD:
29 D1:B51A 77 - - - ld (hl), a
30 D1:B51B 23 - - - inc hl
31 D1:B51C 18 EC - - jr rotletencryptLoop
32 D1:B51E - - - - rotletencryptEnd:
33 D1:B51E 36 00 - - ld (hl), $00
34 D1:B520 C1 - - - pop bc
35 D1:B521 E1 - - - pop hl
36 D1:B522 C9 - - - ret
37 D1:B523 - - - -
38 D1:B523 - - - - ;;rotletdecrypt
39 D1:B523 - - - - ;;Decrypts a string in rot-n (uses $41 to $5B)
40 D1:B523 - - - - ;;Inputs:
41 D1:B523 - - - - ;; HL: string pointer
42 D1:B523 - - - - ;; A: rot-n
43 D1:B523 - - - - ;;Notes:
44 D1:B523 - - - - ;; Changes string in place.
45 D1:B523 - - - - rotletdecrypt:
46 D1:B523 E5 - - - push hl
47 D1:B524 C5 - - - push bc
48 D1:B525 - - - - rotletdecryptMod:
49 D1:B525 E5 - - - push hl
50 D1:B526 67 - - - ld h, a
51 D1:B527 2E 19 - - ld l, 'Z' + 1 - 'A' - 1
52 D1:B529 CD 99 A9 D1 call modHL
53 D1:B52D 44 - - - ld b, h
54 D1:B52E E1 - - - pop hl
55 D1:B52F - - - - rotletdecryptLoop:
56 D1:B52F 7E - - - ld a, (hl)
57 D1:B530 FE 00 - - cp a, $00
58 D1:B532 28 0F - - jr z, rotletdecryptEnd
59 D1:B534 FE 20 - - cp a, ' '
60 D1:B536 28 07 - - jr z, rotletdecryptLD
61 D1:B538 90 - - - sub a, b
62 D1:B539 FE 41 - - cp a, 'A'
63 D1:B53B 30 02 - - jr nc , rotletdecryptLD
64 D1:B53D C6 1B - - add a, 'Z' + 2 - 'A'
65 D1:B53F - - - - rotletdecryptLD:
66 D1:B53F 77 - - - ld (hl), a
67 D1:B540 23 - - - inc hl
68 D1:B541 18 EC - - jr rotletdecryptLoop
69 D1:B543 - - - - rotletdecryptEnd:
70 D1:B543 36 00 - - ld (hl), $00
71 D1:B545 C1 - - - pop bc
72 D1:B546 E1 - - - pop hl
73 D1:B547 C9 - - - ret
74 D1:B548 - - - -
75 D1:B548 - - - - ;;rotasciiencrypt
76 D1:B548 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF)
77 D1:B548 - - - - ;;Inputs:
78 D1:B548 - - - - ;; HL: string pointer
79 D1:B548 - - - - ;; A: x
80 D1:B548 - - - - ;;Notes:
81 D1:B548 - - - - ;; Changes string in place.
82 D1:B548 - - - - rotasciiencrypt:
83 D1:B548 E5 - - - push hl
84 D1:B549 C5 - - - push bc
85 D1:B54A 0E 00 - - ld c, 0
86 D1:B54C 4F - - - ld c, a
87 D1:B54D - - - - rotasciiencryptLoop:
88 D1:B54D 7E - - - ld a, (hl)
89 D1:B54E FE 00 - - cp 0
90 D1:B550 28 13 - - jr z, rotasciiencryptEnd
91 D1:B552 81 - - - add a, c
92 D1:B553 FE 00 - - cp 0
93 D1:B555 20 01 - - jr nz, rotasciiencryptLd
94 D1:B557 3C - - - inc a
95 D1:B558 - - - - rotasciiencryptLd:
96 D1:B558 77 - - - ld (hl), a
97 D1:B559 23 - - - inc hl
98 D1:B55A FE EF - - cp a, $EF
99 D1:B55C 38 EF - - jr c, rotasciiencryptLoop
100 D1:B55E 2B - - - dec hl
101 D1:B55F D6 0F - - sub a, $0F
102 D1:B561 77 - - - ld (hl), a
103 D1:B562 23 - - - inc hl
104 D1:B563 18 E8 - - jr rotasciiencryptLoop
105 D1:B565 - - - - rotasciiencryptEnd:
106 D1:B565 36 00 - - ld (hl), $00
107 D1:B567 C1 - - - pop bc
108 D1:B568 E1 - - - pop hl
109 D1:B569 C9 - - - ret
110 D1:B56A - - - -
111 D1:B56A - - - - ;;rotasciidecrypt
112 D1:B56A - - - - ;;Encrypts a string in rot-x (uses $00 to $EF)
113 D1:B56A - - - - ;;Inputs:
114 D1:B56A - - - - ;; HL: string pointer
115 D1:B56A - - - - ;; A: x
116 D1:B56A - - - - ;;Notes:
117 D1:B56A - - - - ;; Changes string in place.
118 D1:B56A - - - - rotasciidecrypt:
119 D1:B56A E5 - - - push hl
120 D1:B56B C5 - - - push bc
121 D1:B56C 0E 00 - - ld c, 0
122 D1:B56E 4F - - - ld c, a
123 D1:B56F - - - - rotasciidecryptLoop:
124 D1:B56F 7E - - - ld a, (hl)
125 D1:B570 FE 00 - - cp 0
126 D1:B572 28 13 - - jr z, rotasciidecryptEnd
127 D1:B574 91 - - - sub a, c
128 D1:B575 FE 00 - - cp 0
129 D1:B577 20 01 - - jr nz, rotasciidecryptLd
130 D1:B579 3D - - - dec a
131 D1:B57A - - - - rotasciidecryptLd:
132 D1:B57A 77 - - - ld (hl), a
133 D1:B57B 23 - - - inc hl
134 D1:B57C FE EF - - cp a, $EF
135 D1:B57E 38 EF - - jr c, rotasciidecryptLoop
136 D1:B580 2B - - - dec hl
137 D1:B581 C6 0F - - add a, $0F
138 D1:B583 77 - - - ld (hl), a
139 D1:B584 23 - - - inc hl
140 D1:B585 18 E8 - - jr rotasciidecryptLoop
141 D1:B587 - - - - rotasciidecryptEnd:
142 D1:B587 36 00 - - ld (hl), $00
143 D1:B589 C1 - - - pop bc
144 D1:B58A E1 - - - pop hl
145 D1:B58B C9 - - - ret
146 D1:B58C - - - -
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc"
2 D1:B58C - - - - #include "includes/lib/crypto/Xor.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\Xor.asm"
1 D1:B58C - - - - ;;xorcrypt
2 D1:B58C - - - - ;;<en><de>crypts a string using xor
3 D1:B58C - - - - ;;Inputs:
4 D1:B58C - - - - ;; HL: string pointer
5 D1:B58C - - - - ;; DE: seed pointer (shorter)
6 D1:B58C - - - - ;;Notes:
7 D1:B58C - - - - ;; Changes string in place.
8 D1:B58C - - - - xorcrypt:
9 D1:B58C E5 - - - push hl
10 D1:B58D D5 - - - push de
11 D1:B58E C5 - - - push bc
12 D1:B58F CD 22 AC D1 call strlen
13 D1:B593 D5 - - - push de
14 D1:B594 E5 - - - push hl
15 D1:B595 21 00 00 00 ld hl, 0
16 D1:B599 60 - - - ld h, b
17 D1:B59A 69 - - - ld l, c
18 D1:B59B EB - - - ex de, hl
19 D1:B59C CD 22 AC D1 call strlen
20 D1:B5A0 EB - - - ex de, hl
21 D1:B5A1 7D - - - ld a, l ;C = len(seed) l=len(string)
22 D1:B5A2 91 - - - sub a,c
23 D1:B5A3 D2 AD B5 D1 jp nc, xorcryptNSmaller
24 D1:B5A7 0E 01 - - ld c, $01
25 D1:B5A9 3E 00 - - ld a, 0
26 D1:B5AB 2E 00 - - ld l, 0
27 D1:B5AD - - - - xorcryptNSmaller:
28 D1:B5AD 0D - - - dec c
29 D1:B5AE D2 B4 B5 D1 jp nc, xorcryptNSmaller2
30 D1:B5B2 0E 00 - - ld c, 0
31 D1:B5B4 - - - - xorcryptNSmaller2:
32 D1:B5B4 41 - - - ld b, c
33 D1:B5B5 4D - - - ld c, l ;b=len(seed) c=len(string)
34 D1:B5B6 E1 - - - pop hl
35 D1:B5B7 B7 - - - or a, a
36 D1:B5B8 D1 - - - pop de
37 D1:B5B9 28 2C - - jr z, xorcryptEnd
38 D1:B5BB D5 - - - push de
39 D1:B5BC EB - - - ex de, hl; hl=seed
40 D1:B5BD E1 - - - pop hl
41 D1:B5BE C5 - - - push bc
42 D1:B5BF D5 - - - push de
43 D1:B5C0 11 00 00 00 ld de, 0
44 D1:B5C4 58 - - - ld e, b
45 D1:B5C5 01 00 00 00 ld bc, 0
46 D1:B5C9 4B - - - ld c, e
47 D1:B5CA 09 - - - add hl, bc
48 D1:B5CB D1 - - - pop de
49 D1:B5CC C1 - - - pop bc
50 D1:B5CD 23 - - - inc hl
51 D1:B5CE 36 80 - - ld (hl), %10000000
52 D1:B5D0 C5 - - - push bc
53 D1:B5D1 05 - - - dec b
54 D1:B5D2 3E FF - - ld a, $FF
55 D1:B5D4 B8 - - - cp a, b
56 D1:B5D5 28 0B - - jr z, xorcryptPadLoopEnd
57 D1:B5D7 3E 00 - - ld a, $00
58 D1:B5D9 B8 - - - cp a, b
59 D1:B5DA 20 01 - - jr nz, xorcryptPadLoop
60 D1:B5DC 04 - - - inc b
61 D1:B5DD - - - - xorcryptPadLoop:
62 D1:B5DD 23 - - - inc hl
63 D1:B5DE 36 11 - - ld (hl), $11
64 D1:B5E0 10 FB - - djnz xorcryptPadLoop
65 D1:B5E2 - - - - xorcryptPadLoopEnd:
66 D1:B5E2 C1 - - - pop bc
67 D1:B5E3 70 - - - ld (hl), b
68 D1:B5E4 23 - - - inc hl
69 D1:B5E5 36 00 - - ld (hl), $00
70 D1:B5E7 - - - - xorcryptEnd:
71 D1:B5E7 C1 - - - pop bc
72 D1:B5E8 D1 - - - pop de
73 D1:B5E9 E1 - - - pop hl
74 D1:B5EA - - - - ;push hl
75 D1:B5EA - - - - ;xorcryptRandLoop:
76 D1:B5EA - - - - ;ld a, (hl)
77 D1:B5EA - - - - ;or a, a
78 D1:B5EA - - - - ;jr z, xorcryptRandLoopEnd
79 D1:B5EA - - - - ;call randomint
80 D1:B5EA - - - - ;ld (hl), a
81 D1:B5EA - - - - ;inc hl
82 D1:B5EA - - - - ;jr xorcryptRandLoop
83 D1:B5EA - - - - ;xorcryptRandLoopEnd:
84 D1:B5EA - - - - ;pop hl
85 D1:B5EA CD 65 AD D1 call strxor
86 D1:B5EE C9 - - - ret
87 D1:B5EF - - - -
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\lib\crypto\crypto.inc"
Listing for file "FSHa.asm"
74 D1:B5EF - - - -
75 D1:B5EF - - - - #include "includes/man-db.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\man-db.asm"
1 D1:B5EF - - - - ;;TODO: move module specific macros to diffrent file
2 D1:B5EF - - - - ;;manroute
3 D1:B5EF - - - - ;;routes command string to discription
4 D1:B5EF - - - - ;;Inputs:
5 D1:B5EF - - - - ;; HL: Command String
6 D1:B5EF - - - - ;;Outputs:
7 D1:B5EF - - - - ;; HL: Command Discription String
8 D1:B5EF - - - - manroute:
9 D1:B5EF D5 - - - push de
10 D1:B5F0 - - - - #macro routestrjp(cmdXs, cmdXm)
11 D1:B5F0 ld de, cmdXs
12 D1:B5F0 call strcmp
13 D1:B5F0 ld de, cmdXm
14 D1:B5F0 jp z, manrouteReturn
15 D1:B5F0 #endmacro
16 D1:B5F0 - - - -
17 D1:B5F0 - - - - #macro subroutestrjp(cmdXs, cmdYs, cmdYm)
18 D1:B5F0 push hl
19 D1:B5F0 ld de, cmdXs
20 D1:B5F0 call strcmp
21 D1:B5F0 ld hl, 0
22 D1:B5F0 jr nz, +_
23 D1:B5F0 ld hl, FshCmdArg1
24 D1:B5F0 _:
25 D1:B5F0 ld de, cmdYs
26 D1:B5F0 call strcmp
27 D1:B5F0 pop hl
28 D1:B5F0 ld de, cmdYm
29 D1:B5F0 jp z, manrouteReturn
30 D1:B5F0 #endmacro
31 D1:B5F0 - - - -
32 D1:B5F0 CD A4 B7 D1 call fshcmdmanroute
33 D1:B5F4 CD CC C0 D1 call cryptocmdmanroute
34 D1:B5F8 - - - - ;Extention Point
35 D1:B5F8 - - - -
36 D1:B5F8 21 CE EA D0 ld hl, FshCmdErrCode
37 D1:B5FC 36 01 - - ld (hl), $01
38 D1:B5FE 11 00 00 00 ld de, $00
39 D1:B602 - - - - manrouteReturn:
40 D1:B602 EB - - - ex de, hl
41 D1:B603 D1 - - - pop de
42 D1:B604 C9 - - - ret
43 D1:B605 - - - -
44 D1:B605 - - - - ;;manrouteu
45 D1:B605 - - - - ;;routes command string to usage
46 D1:B605 - - - - ;;Inputs:
47 D1:B605 - - - - ;; HL: Command String
48 D1:B605 - - - - ;;Outputs:
49 D1:B605 - - - - ;; HL: Command Usage String
50 D1:B605 - - - - manrouteu:
51 D1:B605 D5 - - - push de
52 D1:B606 - - - - #macro routeustrjp(cmdXs, cmdXu)
53 D1:B606 ld de, cmdXs
54 D1:B606 call strcmp
55 D1:B606 ld de, cmdXu
56 D1:B606 jp z, manrouteuReturn
57 D1:B606 #endmacro
58 D1:B606 - - - -
59 D1:B606 - - - - #macro subrouteustrjp(cmdXs, cmdYs, cmdYu)
60 D1:B606 push hl
61 D1:B606 ld de, cmdXs
62 D1:B606 call strcmp
63 D1:B606 ld hl, 0
64 D1:B606 jr nz, +_
65 D1:B606 ld hl, FshCmdArg1
66 D1:B606 _:
67 D1:B606 ld de, cmdYs
68 D1:B606 call strcmp
69 D1:B606 pop hl
70 D1:B606 ld de, cmdYu
71 D1:B606 jp z, manrouteuReturn
72 D1:B606 #endmacro
73 D1:B606 - - - -
74 D1:B606 CD 57 B8 D1 call fshcmdmanrouteu
75 D1:B60A CD C7 C1 D1 call cryptocmdmanrouteu
76 D1:B60E - - - - ;Extention Point
77 D1:B60E - - - -
78 D1:B60E 21 CE EA D0 ld hl, FshCmdErrCode
79 D1:B612 36 01 - - ld (hl), $01
80 D1:B614 11 00 00 00 ld de, $00
81 D1:B618 - - - - manrouteuReturn:
82 D1:B618 EB - - - ex de, hl
83 D1:B619 D1 - - - pop de
84 D1:B61A C9 - - - ret
Listing for file "FSHa.asm"
76 D1:B61B - - - - #include "includes/Command.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Command.asm"
1 D1:B61B - - - - ;;Commanddecode
2 D1:B61B - - - - ;;Decodes all commands.
3 D1:B61B - - - - ;;Inputs:
4 D1:B61B - - - - ;; HL: Cmd String mem loc
5 D1:B61B - - - - ;; DE: Op code mem loc
6 D1:B61B - - - - ;;Output:
7 D1:B61B - - - - ;; Sets (DE) with command op code
8 D1:B61B - - - - commanddecode:
9 D1:B61B CD 40 B6 D1 call fshcmddecode
10 D1:B61F CD 88 C0 D1 call cryptocmddecode
11 D1:B623 - - - - ;Extention Point
12 D1:B623 - - - -
13 D1:B623 C9 - - - ret
14 D1:B624 - - - -
15 D1:B624 - - - - ;;commandroute
16 D1:B624 - - - - ;;Routes all commamds.
17 D1:B624 - - - - ;;Inputs:
18 D1:B624 - - - - ;; HL: Op code mem loc
19 D1:B624 - - - - commandroute:
20 D1:B624 CD 1D B7 D1 call fshcmdroute
21 D1:B628 CD B1 C0 D1 call cryptocmdroute
22 D1:B62C - - - - ;Extention Point
23 D1:B62C - - - -
24 D1:B62C 21 42 B3 D1 ld hl, ErrCmdNotFoundo
25 D1:B630 11 CE EA D0 ld de, FshCmdErrCode
26 D1:B634 CD 3D AA D1 call bytecpy
27 D1:B638 CD 33 B3 D1 call ErrSet
28 D1:B63C C3 DF A8 D1 jp Err
29 D1:B640 - - - -
30 D1:B640 - - - - #include "includes/FshCommands/FshCommand.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm"
1 D1:B640 - - - - fshcmddecode:
2 D1:B640 E5 D5 11 0A
B9 D1 CD 33
AC D1 21 0F
B9 D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdEXIT, fshcmdEXITo)
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm"
3 D1:B654 E5 D5 11 23
B9 D1 CD 33
AC D1 21 27
B9 D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdSET, fshcmdSETo)
4 D1:B668 E5 D5 11 1A
BA D1 CD 33
AC D1 21 1F
BA D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdCOPY, fshcmdCOPYo)
5 D1:B67C E5 D5 11 28
BB D1 CD 33
AC D1 21 2D
BB D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdMOVE, fshcmdMOVEo)
6 D1:B690 E5 D5 11 3E
BC D1 CD 33
AC D1 21 42
BC D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdCLS, fshcmdCLSo)
7 D1:B6A4 E5 D5 11 6A
BC D1 CD 33
AC D1 21 6E
BC D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo)
8 D1:B6B8 E5 D5 11 0C
BD D1 CD 33
AC D1 21 11
BD D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdVARS, fshcmdVARSo)
9 D1:B6CC E5 D5 11 7C
BD D1 CD 33
AC D1 21 82
BD D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdSLEEP, fshcmdSLEEPo)
10 D1:B6E0 E5 D5 11 CA
BD D1 CD 33
AC D1 21 CF
BD D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdINFO, fshcmdINFOo)
11 D1:B6F4 E5 D5 11 6C
BE D1 CD 33
AC D1 21 71
BE D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo)
12 D1:B708 E5 D5 11 A0
BF D1 CD 33
AC D1 21 A4
BF D1 D1 CC
3D AA D1 E1 decodecmdopt(fshcmdMAN, fshcmdMANo)
13 D1:B71C C9 - - - ret
14 D1:B71D - - - -
15 D1:B71D - - - - fshcmdroute:
16 D1:B71D C1 - - - pop bc ;pop the ret loc from stack into bc
17 D1:B71E 11 0F B9 D1
CD 35 AA D1
CA 1F B9 D1 routeoptjp(fshcmdEXITo, fshcmdEXITf)
18 D1:B72A 11 27 B9 D1
CD 35 AA D1
CA 65 B9 D1 routeoptjp(fshcmdSETo, fshcmdSETf)
19 D1:B736 11 1F BA D1
CD 35 AA D1
CA 7A BA D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf)
20 D1:B742 11 2D BB D1
CD 35 AA D1
CA 87 BB D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf)
21 D1:B74E 11 42 BC D1
CD 35 AA D1
CA 59 BC D1 routeoptjp(fshcmdCLSo, fshcmdCLSf)
22 D1:B75A 11 6E BC D1
CD 35 AA D1
CA A5 BC D1 routeoptjp(fshcmdVARo, fshcmdVARf)
23 D1:B766 11 11 BD D1
CD 35 AA D1
CA 2D BD D1 routeoptjp(fshcmdVARSo, fshcmdVARSf)
24 D1:B772 11 82 BD D1
CD 35 AA D1
CA B3 BD D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf)
25 D1:B77E 11 CF BD D1
CD 35 AA D1
CA FB BD D1 routeoptjp(fshcmdINFOo, fshcmdINFOf)
26 D1:B78A 11 71 BE D1
CD 35 AA D1
CA 8D BE D1 routeoptjp(fshcmdHELPo, fshcmdHELPf)
27 D1:B796 11 A4 BF D1
CD 35 AA D1
CA D1 BF D1 routeoptjp(fshcmdMANo, fshcmdMANf)
28 D1:B7A2 C5 - - - push bc ;put ret location back on stack
29 D1:B7A3 C9 - - - ret
30 D1:B7A4 - - - -
31 D1:B7A4 - - - - fshcmdmanroute:
32 D1:B7A4 C1 - - - pop bc
33 D1:B7A5 11 0A B9 D1
CD 33 AC D1
11 10 B9 D1
CA 02 B6 D1 routestrjp(fshcmdEXIT, fshCmdEXITm)
34 D1:B7B5 11 23 B9 D1
CD 33 AC D1
11 28 B9 D1
CA 02 B6 D1 routestrjp(fshcmdSET, fshCmdSETm)
35 D1:B7C5 11 1A BA D1
CD 33 AC D1
11 20 BA D1
CA 02 B6 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm)
36 D1:B7D5 11 28 BB D1
CD 33 AC D1
11 2E BB D1
CA 02 B6 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm)
37 D1:B7E5 11 3E BC D1
CD 33 AC D1
11 43 BC D1
CA 02 B6 D1 routestrjp(fshcmdCLS, fshCmdCLSm)
38 D1:B7F5 11 6A BC D1
CD 33 AC D1
11 6F BC D1
CA 02 B6 D1 routestrjp(fshcmdVAR, fshCmdVARm)
39 D1:B805 11 0C BD D1
CD 33 AC D1
11 12 BD D1
CA 02 B6 D1 routestrjp(fshcmdVARS, fshCmdVARSm)
40 D1:B815 11 7C BD D1
CD 33 AC D1
11 83 BD D1
CA 02 B6 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm)
41 D1:B825 11 CA BD D1
CD 33 AC D1
11 D0 BD D1
CA 02 B6 D1 routestrjp(fshcmdINFO, fshCmdINFOm)
42 D1:B835 11 6C BE D1
CD 33 AC D1
11 72 BE D1
CA 02 B6 D1 routestrjp(fshcmdHELP, fshCmdHELPm)
43 D1:B845 11 A0 BF D1
CD 33 AC D1
11 A5 BF D1
CA 02 B6 D1 routestrjp(fshcmdMAN, fshCmdMANm)
44 D1:B855 C5 - - - push bc
45 D1:B856 C9 - - - ret
46 D1:B857 - - - -
47 D1:B857 - - - - fshcmdmanrouteu:
48 D1:B857 C1 - - - pop bc
49 D1:B858 11 0A B9 D1
CD 33 AC D1
11 1A B9 D1
CA 18 B6 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu)
50 D1:B868 11 23 B9 D1
CD 33 AC D1
11 43 B9 D1
CA 18 B6 D1 routeustrjp(fshcmdSET, fshCmdSETu)
51 D1:B878 11 1A BA D1
CD 33 AC D1
11 4E BA D1
CA 18 B6 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu)
52 D1:B888 11 28 BB D1
CD 33 AC D1
11 5B BB D1
CA 18 B6 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu)
53 D1:B898 11 3E BC D1
CD 33 AC D1
11 55 BC D1
CA 18 B6 D1 routeustrjp(fshcmdCLS, fshCmdCLSu)
54 D1:B8A8 11 6A BC D1
CD 33 AC D1
11 90 BC D1
CA 18 B6 D1 routeustrjp(fshcmdVAR, fshCmdVARu)
55 D1:B8B8 11 0C BD D1
CD 33 AC D1
11 28 BD D1
CA 18 B6 D1 routeustrjp(fshcmdVARS, fshCmdVARSu)
56 D1:B8C8 11 7C BD D1
CD 33 AC D1
11 AD BD D1
CA 18 B6 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu)
57 D1:B8D8 11 CA BD D1
CD 33 AC D1
11 F6 BD D1
CA 18 B6 D1 routeustrjp(fshcmdINFO, fshCmdINFOu)
58 D1:B8E8 11 6C BE D1
CD 33 AC D1
11 88 BE D1
CA 18 B6 D1 routeustrjp(fshcmdHELP, fshCmdHELPu)
59 D1:B8F8 11 A0 BF D1
CD 33 AC D1
11 C3 BF D1
CA 18 B6 D1 routeustrjp(fshcmdMAN, fshCmdMANu)
60 D1:B908 C5 - - - push bc
61 D1:B909 C9 - - - ret
62 D1:B90A - - - -
63 D1:B90A - - - - #include "includes/FshCommands/FshCommands.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
1 D1:B90A - - - - #include "includes/FshCommands/EXIT.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\EXIT.asm"
1 D1:B90A 45 58 49 54
00 - - - fshcmdEXIT: .db "EXIT", 0
2 D1:B90F FF - - - fshcmdEXITo: .db $FF
3 D1:B910 45 78 69 74
73 20 46 73
68 00 - - fshcmdEXITm: .db "Exits Fsh", 0
4 D1:B91A 45 58 49 54
00 - - - fshcmdEXITu: .db "EXIT", 0
5 D1:B91F C3 E3 A8 D1 fshcmdEXITf: JP Cleanup
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
2 D1:B923 - - - - #include "includes/FshCommands/SET.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\SET.asm"
1 D1:B923 53 45 54 00 fshcmdSET: .db "SET", 0
2 D1:B927 01 - - - fshcmdSETo: .db $01
3 D1:B928 53 65 74 73
20 61 20 76
61 6C 75 65
20 69 6E 20
46 53 48 20
6D 65 6D 6F
72 79 00 - fshcmdSETm: .db "Sets a value in FSH memory", 0
4 D1:B943 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:B965 - - - - fshcmdSETf:
6 D1:B965 - - - - fshcmdSETfArg0:
7 D1:B965 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:B969 CB 4E - - bit 1, (hl)
9 D1:B96B 20 34 - - jr nz, fshcmdSETfArg1
10 D1:B96D CB 46 - - bit 0, (hl)
11 D1:B96F 28 0C - - jr z, fshcmdSETfArg0Get
12 D1:B971 21 C8 B3 D1 ld hl, ErrUsageo
13 D1:B975 CD 33 B3 D1 call ErrSet
14 D1:B979 CD E6 B2 D1 call ErrCatch
15 D1:B97D - - - - fshcmdSETfArg0Get:
16 D1:B97D 21 04 BA D1 ld hl, fshcmdSETfDIndex
17 D1:B981 CD FB AA D1 call printprompt
18 D1:B985 21 FE B9 D1 ld hl, fshcmdSETfInputBuffer
19 D1:B989 11 03 00 00 ld de, 3
20 D1:B98D CD B7 AF D1 call inputnumstr
21 D1:B991 CD BD AC D1 call strtow
22 D1:B995 11 A8 EA D0 ld de, FshCmdArg0
23 D1:B999 EB - - - ex de, hl
24 D1:B99A 73 - - - ld (hl), e
25 D1:B99B 23 - - - inc hl
26 D1:B99C 72 - - - ld (hl), d
27 D1:B99D CD F0 07 02 call _NewLine
28 D1:B9A1 - - - - fshcmdSETfArg1:
29 D1:B9A1 21 CD EA D0 ld hl, FshCmdArgFlags
30 D1:B9A5 CB 5E - - bit 3, (hl)
31 D1:B9A7 20 34 - - jr nz, fshcmdSETfExe
32 D1:B9A9 CB 56 - - bit 2, (hl)
33 D1:B9AB 28 0C - - jr z, fshcmdSETfArg1Get
34 D1:B9AD 21 C8 B3 D1 ld hl, ErrUsageo
35 D1:B9B1 CD 33 B3 D1 call ErrSet
36 D1:B9B5 CD E6 B2 D1 call ErrCatch
37 D1:B9B9 - - - - fshcmdSETfArg1Get:
38 D1:B9B9 21 12 BA D1 ld hl, fshcmdSETfDValue
39 D1:B9BD CD FB AA D1 call printprompt
40 D1:B9C1 21 FE B9 D1 ld hl, fshcmdSETfInputBuffer
41 D1:B9C5 11 05 00 00 ld de, 5
42 D1:B9C9 CD B7 AF D1 call inputnumstr
43 D1:B9CD CD BD AC D1 call strtow
44 D1:B9D1 EB - - - ex de, hl
45 D1:B9D2 21 B1 EA D0 ld hl, FshCmdArg1
46 D1:B9D6 73 - - - ld (hl), e
47 D1:B9D7 23 - - - inc hl
48 D1:B9D8 72 - - - ld (hl), d
49 D1:B9D9 CD F0 07 02 call _NewLine
50 D1:B9DD - - - - fshcmdSETfExe:
51 D1:B9DD 21 A8 EA D0 ld hl, FshCmdArg0
52 D1:B9E1 11 00 00 00 ld de, 0
53 D1:B9E5 5E - - - ld e, (hl)
54 D1:B9E6 23 - - - inc hl
55 D1:B9E7 56 - - - ld d, (hl)
56 D1:B9E8 D5 - - - push de
57 D1:B9E9 21 B1 EA D0 ld hl, FshCmdArg1
58 D1:B9ED 5E - - - ld e, (hl)
59 D1:B9EE 23 - - - inc hl
60 D1:B9EF 56 - - - ld d, (hl)
61 D1:B9F0 EB - - - ex de, hl
62 D1:B9F1 D1 - - - pop de
63 D1:B9F2 CD 36 B2 D1 call fshvarset
64 D1:B9F6 CD E6 B2 D1 call ErrCatch
65 D1:B9FA C3 DB A8 D1 jp Fin
66 D1:B9FE - - - -
67 D1:B9FE 00 00 00 00
00 00 - - fshcmdSETfInputBuffer: .db $00, $00, $00, $00, $00, $00
68 D1:BA04 44 65 73 74
69 6E 61 74
69 6F 6E 3D
20 00 - - fshcmdSETfDIndex: .db "Destination= ", 0
69 D1:BA12 56 61 6C 75
65 3D 20 00 fshcmdSETfDValue: .db "Value= ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
3 D1:BA1A - - - - #include "includes/FshCommands/COPY.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\COPY.asm"
1 D1:BA1A 43 4F 50 59
00 - - - fshcmdCOPY: .db "COPY", 0
2 D1:BA1F 02 - - - fshcmdCOPYo: .db $02
3 D1:BA20 43 6F 70 79
73 20 61 20
76 61 6C 75
65 20 69 6E
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:BA4E 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:BA7A - - - - fshcmdCOPYf:
6 D1:BA7A - - - - fshcmdCOPYfArg0:
7 D1:BA7A 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:BA7E CB 4E - - bit 1, (hl)
9 D1:BA80 20 31 - - jr nz, fshcmdCOPYfArg1
10 D1:BA82 CB 46 - - bit 0, (hl)
11 D1:BA84 28 0C - - jr z, fshcmdCOPYfArg0Get
12 D1:BA86 21 C8 B3 D1 ld hl, ErrUsageo
13 D1:BA8A CD 33 B3 D1 call ErrSet
14 D1:BA8E CD E6 B2 D1 call ErrCatch
15 D1:BA92 - - - - fshcmdCOPYfArg0Get:
16 D1:BA92 21 11 BB D1 ld hl, fshcmdCOPYfDSource
17 D1:BA96 CD FB AA D1 call printprompt
18 D1:BA9A 21 0D BB D1 ld hl, fshcmdCOPYfInputBuffer
19 D1:BA9E 11 03 00 00 ld de, 3
20 D1:BAA2 CD B7 AF D1 call inputnumstr
21 D1:BAA6 CD 60 AC D1 call strtob
22 D1:BAAA 21 A8 EA D0 ld hl, FshCmdArg0
23 D1:BAAE 77 - - - ld (hl), a
24 D1:BAAF CD F0 07 02 call _NewLine
25 D1:BAB3 - - - - fshcmdCOPYfArg1:
26 D1:BAB3 21 CD EA D0 ld hl, FshCmdArgFlags
27 D1:BAB7 CB 5E - - bit 3, (hl)
28 D1:BAB9 20 31 - - jr nz, fshcmdCOPYfExe
29 D1:BABB CB 56 - - bit 2, (hl)
30 D1:BABD 28 0C - - jr z, fshcmdCOPYfArg1Get
31 D1:BABF 21 C8 B3 D1 ld hl, ErrUsageo
32 D1:BAC3 CD 33 B3 D1 call ErrSet
33 D1:BAC7 CD E6 B2 D1 call ErrCatch
34 D1:BACB - - - - fshcmdCOPYfArg1Get:
35 D1:BACB 21 11 BB D1 ld hl, fshcmdCOPYfDSource
36 D1:BACF CD FB AA D1 call printprompt
37 D1:BAD3 21 0D BB D1 ld hl, fshcmdCOPYfInputBuffer
38 D1:BAD7 11 03 00 00 ld de, 3
39 D1:BADB CD B7 AF D1 call inputnumstr
40 D1:BADF CD 60 AC D1 call strtob
41 D1:BAE3 21 B1 EA D0 ld hl, FshCmdArg1
42 D1:BAE7 77 - - - ld (hl), a
43 D1:BAE8 CD F0 07 02 call _NewLine
44 D1:BAEC - - - - fshcmdCOPYfExe:
45 D1:BAEC 21 A8 EA D0 ld hl, FshCmdArg0
46 D1:BAF0 11 00 00 00 ld de, 0
47 D1:BAF4 5E - - - ld e, (hl)
48 D1:BAF5 EB - - - ex de, hl
49 D1:BAF6 E5 - - - push hl
50 D1:BAF7 21 B1 EA D0 ld hl, FshCmdArg1
51 D1:BAFB 11 00 00 00 ld de, 0
52 D1:BAFF 5E - - - ld e, (hl)
53 D1:BB00 E1 - - - pop hl
54 D1:BB01 CD 89 B2 D1 call fshvarcpy
55 D1:BB05 CD E6 B2 D1 call ErrCatch
56 D1:BB09 C3 DB A8 D1 jp Fin
57 D1:BB0D - - - -
58 D1:BB0D 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00
59 D1:BB11 53 6F 75 72
63 65 3D 20
00 - - - fshcmdCOPYfDSource: .db "Source= ", 0
60 D1:BB1A 44 65 73 74
69 6E 61 74
69 6F 6E 3D
20 00 - - fshcmdCOPYfDDestination: .db "Destination= ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
4 D1:BB28 - - - - #include "includes/FshCommands/MOVE.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\MOVE.asm"
1 D1:BB28 4D 4F 56 45
00 - - - fshcmdMOVE: .db "MOVE", 0
2 D1:BB2D 03 - - - fshcmdMOVEo: .db $03
3 D1:BB2E 4D 6F 76 65
20 61 20 76
61 6C 75 65
20 69 6E 20
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:BB5B 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:BB87 - - - - fshcmdMOVEf:
6 D1:BB87 - - - - fshcmdMOVEfArg0:
7 D1:BB87 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:BB8B CB 4E - - bit 1, (hl)
9 D1:BB8D 20 31 - - jr nz, fshcmdMOVEfArg1
10 D1:BB8F CB 46 - - bit 0, (hl)
11 D1:BB91 28 0C - - jr z, fshcmdMOVEfArg0Get
12 D1:BB93 21 C8 B3 D1 ld hl, ErrUsageo
13 D1:BB97 CD 33 B3 D1 call ErrSet
14 D1:BB9B CD E6 B2 D1 call ErrCatch
15 D1:BB9F - - - - fshcmdMOVEfArg0Get:
16 D1:BB9F 21 27 BC D1 ld hl, fshcmdMOVEfDSource
17 D1:BBA3 CD FB AA D1 call printprompt
18 D1:BBA7 21 23 BC D1 ld hl, fshcmdMOVEfInputBuffer
19 D1:BBAB 11 03 00 00 ld de, 3
20 D1:BBAF CD B7 AF D1 call inputnumstr
21 D1:BBB3 CD 60 AC D1 call strtob
22 D1:BBB7 21 A8 EA D0 ld hl, FshCmdArg0
23 D1:BBBB 77 - - - ld (hl), a
24 D1:BBBC CD F0 07 02 call _NewLine
25 D1:BBC0 - - - - fshcmdMOVEfArg1:
26 D1:BBC0 21 CD EA D0 ld hl, FshCmdArgFlags
27 D1:BBC4 CB 5E - - bit 3, (hl)
28 D1:BBC6 20 31 - - jr nz, fshcmdMOVEfExe
29 D1:BBC8 CB 56 - - bit 2, (hl)
30 D1:BBCA 28 0C - - jr z, fshcmdMOVEfArg1Get
31 D1:BBCC 21 C8 B3 D1 ld hl, ErrUsageo
32 D1:BBD0 CD 33 B3 D1 call ErrSet
33 D1:BBD4 CD E6 B2 D1 call ErrCatch
34 D1:BBD8 - - - - fshcmdMOVEfArg1Get:
35 D1:BBD8 21 30 BC D1 ld hl, fshcmdMOVEfDDestination
36 D1:BBDC CD FB AA D1 call printprompt
37 D1:BBE0 21 23 BC D1 ld hl, fshcmdMOVEfInputBuffer
38 D1:BBE4 11 03 00 00 ld de, 3
39 D1:BBE8 CD B7 AF D1 call inputnumstr
40 D1:BBEC CD 60 AC D1 call strtob
41 D1:BBF0 21 B1 EA D0 ld hl, FshCmdArg1
42 D1:BBF4 77 - - - ld (hl), a
43 D1:BBF5 CD F0 07 02 call _NewLine
44 D1:BBF9 - - - - fshcmdMOVEfExe:
45 D1:BBF9 21 A8 EA D0 ld hl, FshCmdArg0
46 D1:BBFD 11 00 00 00 ld de, 0
47 D1:BC01 5E - - - ld e, (hl)
48 D1:BC02 EB - - - ex de, hl
49 D1:BC03 E5 - - - push hl
50 D1:BC04 21 B1 EA D0 ld hl, FshCmdArg1
51 D1:BC08 11 00 00 00 ld de, 0
52 D1:BC0C 5E - - - ld e, (hl)
53 D1:BC0D E1 - - - pop hl
54 D1:BC0E CD 89 B2 D1 call fshvarcpy
55 D1:BC12 EB - - - ex de, hl
56 D1:BC13 21 00 00 00 ld hl, 0
57 D1:BC17 CD 36 B2 D1 call fshvarset
58 D1:BC1B CD E6 B2 D1 call ErrCatch
59 D1:BC1F C3 DB A8 D1 jp Fin
60 D1:BC23 - - - -
61 D1:BC23 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00
62 D1:BC27 53 6F 75 72
63 65 3D 20
00 - - - fshcmdMOVEfDSource: .db "Source= ", 0
63 D1:BC30 44 65 73 74
69 6E 61 74
69 6F 6E 3D
20 00 - - fshcmdMOVEfDDestination: .db "Destination= ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
5 D1:BC3E - - - - #include "includes/FshCommands/CLS.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\CLS.asm"
1 D1:BC3E 43 4C 53 00 fshcmdCLS: .db "CLS", 0
2 D1:BC42 10 - - - fshcmdCLSo: .db $10
3 D1:BC43 43 6C 65 61
72 73 20 74
68 65 20 73
63 72 65 65
6E 00 - - fshcmdCLSm: .db "Clears the screen", 0
4 D1:BC55 43 4C 53 00 fshcmdCLSu: .db "CLS", 0
5 D1:BC59 - - - - fshcmdCLSf:
6 D1:BC59 CD 08 08 02 call _ClrLCDFull
7 D1:BC5D AF - - - xor a
8 D1:BC5E 32 95 05 D0 ld (CurRow), a
9 D1:BC62 32 96 05 D0 ld (CurCol), a
10 D1:BC66 C3 DB A8 D1 jp Fin
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
6 D1:BC6A - - - - #include "includes/FshCommands/VAR.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\VAR.asm"
1 D1:BC6A 56 41 52 00 fshcmdVAR: .db "VAR", 0
2 D1:BC6E 11 - - - fshcmdVARo: .db $11
3 D1:BC6F 44 69 73 70
6C 61 79 73
20 61 20 76
61 6C 75 65
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:BC90 56 41 52 20
3C 73 6F 75
72 63 65 20
61 64 64 72
65 73 73 3E
00 - - - fshcmdVARu: .db "VAR <source address>", 0
5 D1:BCA5 - - - - fshcmdVARf:
6 D1:BCA5 - - - - fshcmdVARfArg0:
7 D1:BCA5 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:BCA9 CB 4E - - bit 1, (hl)
9 D1:BCAB 20 34 - - jr nz, fshcmdVARfExe
10 D1:BCAD CB 46 - - bit 0, (hl)
11 D1:BCAF 28 0C - - jr z, fshcmdVARfArg0Get
12 D1:BCB1 21 C8 B3 D1 ld hl, ErrUsageo
13 D1:BCB5 CD 33 B3 D1 call ErrSet
14 D1:BCB9 CD E6 B2 D1 call ErrCatch
15 D1:BCBD - - - - fshcmdVARfArg0Get:
16 D1:BCBD 21 04 BD D1 ld hl, fshcmdVARfDIndex
17 D1:BCC1 CD FB AA D1 call printprompt
18 D1:BCC5 21 00 BD D1 ld hl, fshcmdVARfInputBuffer
19 D1:BCC9 11 03 00 00 ld de, 3
20 D1:BCCD CD B7 AF D1 call inputnumstr
21 D1:BCD1 CD BD AC D1 call strtow
22 D1:BCD5 11 A8 EA D0 ld de, FshCmdArg0
23 D1:BCD9 EB - - - ex de, hl
24 D1:BCDA 73 - - - ld (hl), e
25 D1:BCDB 23 - - - inc hl
26 D1:BCDC 72 - - - ld (hl), d
27 D1:BCDD CD F0 07 02 call _NewLine
28 D1:BCE1 - - - - fshcmdVARfExe:
29 D1:BCE1 21 A8 EA D0 ld hl, FshCmdArg0
30 D1:BCE5 11 00 00 00 ld de, 0
31 D1:BCE9 5E - - - ld e, (hl)
32 D1:BCEA 23 - - - inc hl
33 D1:BCEB 56 - - - ld d, (hl)
34 D1:BCEC CD 5E B2 D1 call fshvarget
35 D1:BCF0 CD E6 B2 D1 call ErrCatch
36 D1:BCF4 CD BC 07 02 call _DispHL_s
37 D1:BCF8 CD F0 07 02 call _NewLine
38 D1:BCFC C3 DB A8 D1 jp Fin
39 D1:BD00 - - - -
40 D1:BD00 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00
41 D1:BD04 49 6E 64 65
78 3D 20 00 fshcmdVARfDIndex: .db "Index= ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
7 D1:BD0C - - - - #include "includes/FshCommands/VARS.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\VARS.asm"
1 D1:BD0C 56 41 52 53
00 - - - fshcmdVARS: .db "VARS", 0
2 D1:BD11 12 - - - fshcmdVARSo: .db $12
3 D1:BD12 44 69 73 70
6C 61 79 73
20 61 6C 6C
20 46 73 68
20 56 61 72
73 00 - - fshcmdVARSm: .db "Displays all Fsh Vars", 0
4 D1:BD28 56 41 52 53
00 - - - fshcmdVARSu: .db "VARS", 0
5 D1:BD2D - - - - fshcmdVARSf:
6 D1:BD2D 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:BD31 CB 46 - - bit 0, (hl)
8 D1:BD33 28 0C - - jr z, fshcmdVARSfExe
9 D1:BD35 21 C8 B3 D1 ld hl, ErrUsageo
10 D1:BD39 CD 33 B3 D1 call ErrSet
11 D1:BD3D CD E6 B2 D1 call ErrCatch
12 D1:BD41 - - - - fshcmdVARSfExe:
13 D1:BD41 06 00 - - ld b, 0
14 D1:BD43 0E 00 - - ld c, 0
15 D1:BD45 11 00 00 00 ld de, 0
16 D1:BD49 - - - - fshcmdVARSfLoop:
17 D1:BD49 CD 5E B2 D1 call fshvarget
18 D1:BD4D 7C - - - ld a, h
19 D1:BD4E CD B8 07 02 call _PutC
20 D1:BD52 7D - - - ld a, l
21 D1:BD53 CD B8 07 02 call _PutC
22 D1:BD57 79 - - - ld a, c
23 D1:BD58 0C - - - inc c
24 D1:BD59 FE 07 - - cp 7
25 D1:BD5B 20 0E - - jr nz, fshcmdVARSfLoopU
26 D1:BD5D E5 - - - push hl
27 D1:BD5E C5 - - - push bc
28 D1:BD5F D5 - - - push de
29 D1:BD60 CD F0 07 02 call _NewLine
30 D1:BD64 D1 - - - pop de
31 D1:BD65 C1 - - - pop bc
32 D1:BD66 E1 - - - pop hl
33 D1:BD67 0E 00 - - ld c, 0
34 D1:BD69 18 06 - - jr fshcmdVARSfLoopEnd
35 D1:BD6B - - - - fshcmdVARSfLoopU:
36 D1:BD6B 3E 5F - - ld a, '_'
37 D1:BD6D CD B8 07 02 call _PutC
38 D1:BD71 - - - - fshcmdVARSfLoopEnd:
39 D1:BD71 04 - - - inc b
40 D1:BD72 13 - - - inc de
41 D1:BD73 78 - - - ld a, b
42 D1:BD74 FE 40 - - cp FshVarsSize / 2
43 D1:BD76 38 D1 - - jr c, fshcmdVARSfLoop
44 D1:BD78 C3 DB A8 D1 jp Fin
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
8 D1:BD7C - - - - #include "includes/FshCommands/SLEEP.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\SLEEP.asm"
1 D1:BD7C 53 4C 45 45
50 00 - - fshcmdSLEEP: .db "SLEEP", 0
2 D1:BD82 16 - - - fshcmdSLEEPo: .db $16
3 D1:BD83 50 75 74 73
20 74 68 65
20 63 61 6C
63 75 6C 61
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:BDAD 53 4C 45 45
50 00 - - fshcmdSLEEPu: .db "SLEEP", 0
5 D1:BDB3 - - - - fshcmdSLEEPf:
6 D1:BDB3 F3 - - - di
7 D1:BDB4 CD 38 11 02 call _EnableAPD
8 D1:BDB8 3E 01 - - ld a,1
9 D1:BDBA 21 90 05 D0 ld hl,apdSubTimer
10 D1:BDBE 77 - - - ld (hl),a
11 D1:BDBF 23 - - - inc hl
12 D1:BDC0 77 - - - ld (hl),a
13 D1:BDC1 FD CB 08 DE set apdRunning,(iy+apdFlags)
14 D1:BDC5 FB - - - ei
15 D1:BDC6 C3 DB A8 D1 jp Fin
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
9 D1:BDCA - - - - #include "includes/FshCommands/INFO.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\INFO.asm"
1 D1:BDCA 49 4E 46 4F
00 - - - fshcmdINFO: .db "INFO", 0
2 D1:BDCF 20 - - - fshcmdINFOo: .db $20
3 D1:BDD0 44 69 73 70
6C 61 79 73
20 53 79 65
74 65 6D 20
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:BDF6 49 4E 46 4F
00 - - - fshcmdINFOu: .db "INFO", 0
5 D1:BDFB - - - - fshcmdINFOf:
6 D1:BDFB 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:BDFF CB 46 - - bit 0, (hl)
8 D1:BE01 28 0C - - jr z, fshcmdINFOfExe
9 D1:BE03 21 C8 B3 D1 ld hl, ErrUsageo
10 D1:BE07 CD 33 B3 D1 call ErrSet
11 D1:BE0B CD E6 B2 D1 call ErrCatch
12 D1:BE0F - - - - fshcmdINFOfExe:
13 D1:BE0F CD 08 08 02 call _ClrLCDFull
14 D1:BE13 AF - - - xor a
15 D1:BE14 32 95 05 D0 ld (CurRow), a
16 D1:BE18 32 96 05 D0 ld (CurCol), a
17 D1:BE1C - - - -
18 D1:BE1C CD 15 B4 D1 call printfshnamelong
19 D1:BE20 CD F0 07 02 call _NewLine
20 D1:BE24 - - - -
21 D1:BE24 21 06 A9 D1 ld hl, FshBy
22 D1:BE28 CD C0 07 02 call _PutS
23 D1:BE2C CD F0 07 02 call _NewLine
24 D1:BE30 - - - -
25 D1:BE30 21 10 A9 D1 ld hl, FshSite
26 D1:BE34 CD C0 07 02 call _PutS
27 D1:BE38 CD F0 07 02 call _NewLine
28 D1:BE3C - - - -
29 D1:BE3C CD F0 07 02 call _NewLine
30 D1:BE40 21 64 BE D1 ld hl, fshcmdINFOfSPS1
31 D1:BE44 CD C0 07 02 call _PutS
32 D1:BE48 3E 27 - - ld a, $27
33 D1:BE4A CD B8 07 02 call _PutC
34 D1:BE4E 21 2B A9 D1 ld hl, PS1
35 D1:BE52 CD C0 07 02 call _PutS
36 D1:BE56 3E 27 - - ld a, $27
37 D1:BE58 CD B8 07 02 call _PutC
38 D1:BE5C CD F0 07 02 call _NewLine
39 D1:BE60 - - - -
40 D1:BE60 C3 DB A8 D1 jp Fin
41 D1:BE64 - - - -
42 D1:BE64 50 53 31 CE
CE CE 3A 00 fshcmdINFOfSPS1: .db "PS1", $CE, $CE, $CE, ":", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
10 D1:BE6C - - - - #include "includes/FshCommands/HELP.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\HELP.asm"
1 D1:BE6C 48 45 4C 50
00 - - - fshcmdHELP: .db "HELP", 0
2 D1:BE71 21 - - - fshcmdHELPo: .db $21
3 D1:BE72 44 69 73 70
6C 61 79 73
20 61 6C 6C
20 63 6F 6D
6D 61 6E 64
73 00 - - fshcmdHELPm: .db "Displays all commands", 0
4 D1:BE88 48 45 4C 50
00 - - - fshcmdHELPu: .db "HELP", 0
5 D1:BE8D - - - - fshcmdHELPf:
6 D1:BE8D 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:BE91 CB 46 - - bit 0, (hl)
8 D1:BE93 28 0C - - jr z, fshcmdHELPfExe
9 D1:BE95 21 C8 B3 D1 ld hl, ErrUsageo
10 D1:BE99 CD 33 B3 D1 call ErrSet
11 D1:BE9D CD E6 B2 D1 call ErrCatch
12 D1:BEA1 - - - - fshcmdHELPfExe:
13 D1:BEA1 21 67 BF D1 ld hl, fshcmdHELPfLine1
14 D1:BEA5 CD C0 07 02 call _PutS
15 D1:BEA9 CD F0 07 02 call _NewLine
16 D1:BEAD - - - -
17 D1:BEAD - - - - #macro fshcmdHELPmRow1(cmdXs)
18 D1:BEAD xor a
19 D1:BEAD ld (curCol), a
20 D1:BEAD ld hl, cmdXs
21 D1:BEAD call _PutS
22 D1:BEAD call _NewLine
23 D1:BEAD #endmacro
24 D1:BEAD - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs)
25 D1:BEAD xor a
26 D1:BEAD ld (curCol), a
27 D1:BEAD ld hl, cmdXs
28 D1:BEAD call _PutS
29 D1:BEAD ld a, 9
30 D1:BEAD ld (curcol), a
31 D1:BEAD ld hl, cmdYs
32 D1:BEAD call _PutS
33 D1:BEAD call _NewLine
34 D1:BEAD #endmacro
35 D1:BEAD - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs)
36 D1:BEAD xor a
37 D1:BEAD ld (curCol), a
38 D1:BEAD ld hl, cmdXs
39 D1:BEAD call _PutS
40 D1:BEAD ld a, 9
41 D1:BEAD ld (curcol), a
42 D1:BEAD ld hl, cmdYs
43 D1:BEAD call _PutS
44 D1:BEAD ld a, 19
45 D1:BEAD ld (curcol), a
46 D1:BEAD ld hl, cmdZs
47 D1:BEAD call _PutS
48 D1:BEAD call _NewLine
49 D1:BEAD #endmacro
50 D1:BEAD - - - -
51 D1:BEAD AF 32 96 05
D0 21 0A B9
D1 CD C0 07
02 3E 09 32
96 05 D0 21
23 B9 D1 CD
C0 07 02 3E
13 32 96 05
D0 21 1A BA
D1 CD C0 07
02 CD F0 07
02 - - - fshcmdHELPmRow3(fshcmdEXIT, fshcmdSET, fshcmdCOPY)
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\HELP.asm"
52 D1:BEDA AF 32 96 05
D0 21 28 BB
D1 CD C0 07
02 3E 09 32
96 05 D0 21
3E BC D1 CD
C0 07 02 3E
13 32 96 05
D0 21 6A BC
D1 CD C0 07
02 CD F0 07
02 - - - fshcmdHELPmRow3(fshcmdMOVE, fshcmdCLS, fshcmdVAR)
53 D1:BF07 AF 32 96 05
D0 21 0C BD
D1 CD C0 07
02 3E 09 32
96 05 D0 21
7C BD D1 CD
C0 07 02 3E
13 32 96 05
D0 21 CA BD
D1 CD C0 07
02 CD F0 07
02 - - - fshcmdHELPmRow3(fshcmdVARS, fshcmdSLEEP, fshcmdINFO)
54 D1:BF34 AF 32 96 05
D0 21 6C BE
D1 CD C0 07
02 3E 09 32
96 05 D0 21
A0 BF D1 CD
C0 07 02 CD
F0 07 02 - fshcmdHELPmRow2(fshcmdHELP, fshcmdMAN)
55 D1:BF53 - - - - ; Extention Point
56 D1:BF53 - - - -
57 D1:BF53 CD F0 07 02 call _NewLine
58 D1:BF57 21 7B BF D1 ld hl, fshcmdHELPfLine2
59 D1:BF5B CD C0 07 02 call _PutS
60 D1:BF5F CD F0 07 02 call _NewLine
61 D1:BF63 C3 DB A8 D1 jp Fin
62 D1:BF67 - - - -
63 D1:BF67 41 76 61 69
6C 61 62 6C
65 20 43 6F
6D 6D 61 6E
64 73 3A 00 fshcmdHELPfLine1: .db "Available Commands:", 0
64 D1:BF7B 54 79 70 65
20 27 4D 41
4E 27 20 61
6E 64 20 63
6F 6D 6D 61
6E 64 20 66
6F 72 20 6D
6F 72 65 20
69 6E 66 6F
00 - - - fshcmdHELPfLine2: .db "Type 'MAN' and command for more info", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
11 D1:BFA0 - - - - #include "includes/FshCommands/MAN.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\MAN.asm"
1 D1:BFA0 4D 41 4E 00 fshcmdMAN: .db "MAN", 0
2 D1:BFA4 22 - - - fshcmdMANo: .db $22
3 D1:BFA5 44 69 73 70
6C 61 79 73
20 4D 41 4E
20 74 65 78
74 20 66 6F
72 20 63 6F
6D 6D 61 6E
64 00 - - fshcmdMANm: .db "Displays MAN text for command", 0
4 D1:BFC3 4D 41 4E 20
3C 63 6F 6D
6D 61 6E 64
3E 00 - - fshcmdMANu: .db "MAN <command>", 0
5 D1:BFD1 - - - - fshcmdMANf:
6 D1:BFD1 - - - - fshcmdMANfCheckArgs:
7 D1:BFD1 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:BFD5 CB 46 - - bit 0, (hl)
9 D1:BFD7 28 10 - - jr z, fshcmdMANfArg0Get
10 D1:BFD9 CB 4E - - bit 1, (hl)
11 D1:BFDB 28 24 - - jr z, fshcmdMANfExe
12 D1:BFDD 21 C8 B3 D1 ld hl, ErrUsageo
13 D1:BFE1 CD 33 B3 D1 call ErrSet
14 D1:BFE5 CD E6 B2 D1 call ErrCatch
15 D1:BFE9 - - - - fshcmdMANfArg0Get:
16 D1:BFE9 21 7E C0 D1 ld hl, fshcmdMANfPrompt
17 D1:BFED CD FB AA D1 call printprompt
18 D1:BFF1 - - - -
19 D1:BFF1 21 A8 EA D0 ld hl, FshCmdArg0
20 D1:BFF5 11 08 00 00 ld de, FshCmdCmdSize
21 D1:BFF9 CD 7F AD D1 call inputstr
22 D1:BFFD CD F0 07 02 call _NewLine
23 D1:C001 - - - -
24 D1:C001 - - - - fshcmdMANfExe:
25 D1:C001 21 A8 EA D0 ld hl, FshCmdArg0
26 D1:C005 11 9F EA D0 ld de, FshCmd
27 D1:C009 CD 46 AC D1 call strcpy
28 D1:C00D - - - -
29 D1:C00D 21 6D C0 D1 ld hl, fshcmdMANfPrefix
30 D1:C011 CD C0 07 02 call _PutS
31 D1:C015 - - - -
32 D1:C015 21 9F EA D0 ld hl, FshCmd
33 D1:C019 CD C0 07 02 call _PutS
34 D1:C01D CD F0 07 02 call _NewLine
35 D1:C021 CD F0 07 02 call _NewLine
36 D1:C025 - - - -
37 D1:C025 21 9F EA D0 ld hl, FshCmd
38 D1:C029 CD EF B5 D1 call manroute
39 D1:C02D 11 00 00 00 ld de, $00
40 D1:C031 CD 6D A9 D1 call cpHLDE
41 D1:C035 CA DF A8 D1 jp z, Err
42 D1:C039 - - - -
43 D1:C039 CD C0 07 02 call _PutS
44 D1:C03D CD F0 07 02 call _NewLine
45 D1:C041 CD F0 07 02 call _NewLine
46 D1:C045 - - - -
47 D1:C045 21 76 C0 D1 ld hl, fshcmdMANfUsage
48 D1:C049 CD C0 07 02 call _PutS
49 D1:C04D - - - -
50 D1:C04D 21 9F EA D0 ld hl, FshCmd
51 D1:C051 CD 05 B6 D1 call manrouteu
52 D1:C055 11 00 00 00 ld de, $00
53 D1:C059 CD 6D A9 D1 call cpHLDE
54 D1:C05D CA DF A8 D1 jp z, Err
55 D1:C061 CD C0 07 02 call _PutS
56 D1:C065 CD F0 07 02 call _NewLine
57 D1:C069 - - - -
58 D1:C069 C3 DB A8 D1 jp Fin
59 D1:C06D - - - -
60 D1:C06D 4D 41 4E 2D
44 42 DF 20
00 - - - fshcmdMANfPrefix: .db "MAN-DB", $DF, ' ', 0
61 D1:C076 55 73 61 67
65 3A 20 00 fshcmdMANfUsage: .db "Usage: ",0
62 D1:C07E 43 6F 6D 6D
61 6E 64 3D
20 00 - - fshcmdMANfPrompt: .db "Command= ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommands.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\FshCommands\FshCommand.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Command.asm"
31 D1:C088 - - - - #include "includes/CryptoCommands/CryptoCommand.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm"
1 D1:C088 - - - - cryptocmddecode:
2 D1:C088 E5 D5 11 C2
C2 D1 CD 33
AC D1 21 CA
C2 D1 D1 CC
3D AA D1 E1 decodecmdopt(cryptocmdENCRYPT, cryptocmdENCRYPTo)
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm"
3 D1:C09C E5 D5 11 48
C6 D1 CD 33
AC D1 21 50
C6 D1 D1 CC
3D AA D1 E1 decodecmdopt(cryptocmdDECRYPT, cryptocmdDECRYPTo)
4 D1:C0B0 C9 - - - ret
5 D1:C0B1 - - - -
6 D1:C0B1 - - - - cryptocmdroute:
7 D1:C0B1 C1 - - - pop bc
8 D1:C0B2 11 CA C2 D1
CD 35 AA D1
CA 39 C3 D1 routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf)
9 D1:C0BE 11 50 C6 D1
CD 35 AA D1
CA BF C6 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf)
10 D1:C0CA C5 - - - push bc
11 D1:C0CB C9 - - - ret
12 D1:C0CC - - - -
13 D1:C0CC - - - - cryptocmdmanroute:
14 D1:C0CC C1 - - - pop bc
15 D1:C0CD E5 11 C2 C2
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
C2 C3 D1 CD
33 AC D1 E1
11 C6 C3 D1
CA 02 B6 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTm)
16 D1:C0F1 E5 11 48 C6
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
48 C7 D1 CD
33 AC D1 E1
11 4C C7 D1
CA 02 B6 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTm)
17 D1:C115 - - - -
18 D1:C115 E5 11 C2 C2
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
C6 C4 D1 CD
33 AC D1 E1
11 CA C4 D1
CA 02 B6 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORm)
19 D1:C139 E5 11 48 C6
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
4F C8 D1 CD
33 AC D1 E1
11 53 C8 D1
CA 02 B6 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORm)
20 D1:C15D - - - -
21 D1:C15D E5 11 C2 C2
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
C5 C5 D1 CD
33 AC D1 E1
11 CA C5 D1
CA 02 B6 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm)
22 D1:C181 E5 11 48 C6
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
C5 C5 D1 CD
33 AC D1 E1
11 CA C5 D1
CA 02 B6 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPm)
23 D1:C1A5 - - - -
24 D1:C1A5 11 C2 C2 D1
CD 33 AC D1
11 CB C2 D1
CA 02 B6 D1 routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm)
25 D1:C1B5 11 48 C6 D1
CD 33 AC D1
11 51 C6 D1
CA 02 B6 D1 routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm)
26 D1:C1C5 - - - -
27 D1:C1C5 C5 - - - push bc
28 D1:C1C6 C9 - - - ret
29 D1:C1C7 - - - -
30 D1:C1C7 - - - -
31 D1:C1C7 - - - - cryptocmdmanrouteu:
32 D1:C1C7 C1 - - - pop bc
33 D1:C1C8 E5 11 C2 C2
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
C2 C3 D1 CD
33 AC D1 E1
11 FD C3 D1
CA 18 B6 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTu)
34 D1:C1EC E5 11 48 C6
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
48 C7 D1 CD
33 AC D1 E1
11 83 C7 D1
CA 18 B6 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTu)
35 D1:C210 - - - -
36 D1:C210 E5 11 C2 C2
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
C6 C4 D1 CD
33 AC D1 E1
11 EC C4 D1
CA 18 B6 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORu)
37 D1:C234 E5 11 48 C6
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
4F C8 D1 CD
33 AC D1 E1
11 75 C8 D1
CA 18 B6 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu)
38 D1:C258 - - - -
39 D1:C258 E5 11 C2 C2
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
C5 C5 D1 CD
33 AC D1 E1
11 DB C5 D1
CA 18 B6 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu)
40 D1:C27C E5 11 48 C6
D1 CD 33 AC
D1 21 00 00
00 20 04 21
B1 EA D0 11
C5 C5 D1 CD
33 AC D1 E1
11 DB C5 D1
CA 18 B6 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdHELP, cryptocmdHELPu)
41 D1:C2A0 - - - -
42 D1:C2A0 11 C2 C2 D1
CD 33 AC D1
11 14 C3 D1
CA 18 B6 D1 routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu)
43 D1:C2B0 11 48 C6 D1
CD 33 AC D1
11 9A C6 D1
CA 18 B6 D1 routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu)
44 D1:C2C0 - - - -
45 D1:C2C0 C5 - - - push bc
46 D1:C2C1 C9 - - - ret
47 D1:C2C2 - - - -
48 D1:C2C2 - - - - #include "includes/CryptoCommands/CryptoCommands.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc"
1 D1:C2C2 - - - - #include "includes/CryptoCommands/ENCRYPT.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ENCRYPT.asm"
1 D1:C2C2 45 4E 43 52
59 50 54 00 cryptocmdENCRYPT: .db "ENCRYPT", 0
2 D1:C2CA 40 - - - cryptocmdENCRYPTo: .db $40
3 D1:C2CB 45 6E 63 72
79 70 74 73
20 61 20 73
74 72 69 6E
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:C314 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:C339 - - - - cryptocmdENCRYPTf:
6 D1:C339 - - - - cryptocmdENCRYPTfArg0:
7 D1:C339 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:C33D CB 46 - - bit 0, (hl)
9 D1:C33F 28 10 - - jr z, cryptocmdENCRYPTfArg0Get
10 D1:C341 CB 4E - - bit 1, (hl)
11 D1:C343 28 24 - - jr z, cryptocmdENCRYPTfExe
12 D1:C345 21 C8 B3 D1 ld hl, ErrUsageo
13 D1:C349 CD 33 B3 D1 call ErrSet
14 D1:C34D CD E6 B2 D1 call ErrCatch
15 D1:C351 - - - - cryptocmdENCRYPTfArg0Get:
16 D1:C351 21 B9 C3 D1 ld hl, cryptocmdENCRYPTfSCypher
17 D1:C355 CD FB AA D1 call printprompt
18 D1:C359 21 A8 EA D0 ld hl, FshCmdArg0
19 D1:C35D 11 2C 00 00 ld de, FshCmdInptSize
20 D1:C361 CD 7F AD D1 call inputstr
21 D1:C365 CD F0 07 02 call _NewLine
22 D1:C369 - - - - cryptocmdENCRYPTfExe:
23 D1:C369 - - - -
24 D1:C369 - - - - #macro cryptocmdENCRYPTcmpjp(cmdX, cmdXf)
25 D1:C369 ld hl, FshCmdArg0
26 D1:C369 ld de, CmdX
27 D1:C369 call strcmp
28 D1:C369 jp z, cmdXf
29 D1:C369 #endmacro
30 D1:C369 - - - -
31 D1:C369 21 A8 EA D0
11 C2 C3 D1
CD 33 AC D1
CA 12 C4 D1 cryptocmdENCRYPTcmpjp(cryptocmdROT, cryptocmdROTf)
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ENCRYPT.asm"
32 D1:C379 21 A8 EA D0
11 C6 C4 D1
CD 33 AC D1
CA 08 C5 D1 cryptocmdENCRYPTcmpjp(cryptocmdXOR, cryptocmdXORf)
33 D1:C389 21 A8 EA D0
11 C5 C5 D1
CD 33 AC D1
CA E8 C5 D1 cryptocmdENCRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf)
34 D1:C399 - - - -
35 D1:C399 21 A8 EA D0 ld hl, FshCmdArg0
36 D1:C39D 11 9F EA D0 ld de, FshCmd
37 D1:C3A1 CD 46 AC D1 call strcpy
38 D1:C3A5 - - - -
39 D1:C3A5 21 42 B3 D1 ld hl, ErrCmdNotFoundo
40 D1:C3A9 11 CE EA D0 ld de, FshCmdErrCode
41 D1:C3AD CD 3D AA D1 call bytecpy
42 D1:C3B1 CD 33 B3 D1 call ErrSet
43 D1:C3B5 C3 DF A8 D1 jp Err
44 D1:C3B9 - - - -
45 D1:C3B9 43 79 70 68
65 72 3D 20
00 - - - cryptocmdENCRYPTfSCypher: .db "Cypher= ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc"
2 D1:C3C2 - - - - #include "includes/CryptoCommands/ROT.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\ROT.asm"
1 D1:C3C2 52 4F 54 00 cryptocmdROT: .db "ROT", 0
2 D1:C3C6 52 4F 54 3A
20 43 79 70
68 65 72 2C
20 72 6F 74
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:C3FD 45 4E 43 52
59 50 54 20
52 4F 54 20
3C 73 68 69
66 74 23 3E
00 - - - cryptocmdROTu: .db "ENCRYPT ROT <shift#>", 0
4 D1:C412 - - - - cryptocmdROTf:
5 D1:C412 - - - - cryptocmdROTfArg1:
6 D1:C412 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:C416 CB 5E - - bit 3, (hl)
8 D1:C418 20 32 - - jr nz, cryptocmdROTfArg2
9 D1:C41A CB 56 - - bit 2, (hl)
10 D1:C41C 28 0C - - jr z, cryptocmdROTfArg1Get
11 D1:C41E 21 C8 B3 D1 ld hl, ErrUsageo
12 D1:C422 CD 33 B3 D1 call ErrSet
13 D1:C426 CD E6 B2 D1 call ErrCatch
14 D1:C42A - - - - cryptocmdROTfArg1Get:
15 D1:C42A 21 AB C4 D1 ld hl, cryptocmdROTfDShift
16 D1:C42E CD FB AA D1 call printprompt
17 D1:C432 21 B1 EA D0 ld hl, FshCmdArg1
18 D1:C436 11 03 00 00 ld de, 3
19 D1:C43A CD B7 AF D1 call inputnumstr
20 D1:C43E CD BD AC D1 call strtow
21 D1:C442 11 B1 EA D0 ld de, FshCmdArg1
22 D1:C446 EB - - - ex de, hl
23 D1:C447 73 - - - ld (hl), e
24 D1:C448 CD F0 07 02 call _NewLine
25 D1:C44C - - - - cryptocmdROTfArg2:
26 D1:C44C 21 BA EA D0 ld hl, FshCmdArg2
27 D1:C450 11 CF EA D0 ld de, FshScratch
28 D1:C454 CD 46 AC D1 call strcpy
29 D1:C458 21 CD EA D0 ld hl, FshCmdArgFlags
30 D1:C45C CB 66 - - bit 4, (hl)
31 D1:C45E 28 10 - - jr z, cryptocmdROTfArg2Get
32 D1:C460 CB 6E - - bit 5, (hl)
33 D1:C462 28 24 - - jr z, cryptocmdROTfExe
34 D1:C464 21 C8 B3 D1 ld hl, ErrUsageo
35 D1:C468 CD 33 B3 D1 call ErrSet
36 D1:C46C CD E6 B2 D1 call ErrCatch
37 D1:C470 - - - - cryptocmdROTfArg2Get:
38 D1:C470 21 B3 C4 D1 ld hl, cryptocmdROTfDMessage
39 D1:C474 CD FB AA D1 call printprompt
40 D1:C478 21 CF EA D0 ld hl, FshScratch
41 D1:C47C 11 10 00 00 ld de, FshScratchSize - 4
42 D1:C480 CD A3 AE D1 call inputcharstr
43 D1:C484 CD F0 07 02 call _NewLine
44 D1:C488 - - - - cryptocmdROTfExe:
45 D1:C488 21 B1 EA D0 ld hl, FshCmdArg1
46 D1:C48C 7E - - - ld a, (hl)
47 D1:C48D 21 CF EA D0 ld hl, FshScratch
48 D1:C491 CD FE B4 D1 call rotletencrypt
49 D1:C495 E5 - - - push hl
50 D1:C496 21 BD C4 D1 ld hl, cryptocmdROTfDResult
51 D1:C49A CD C0 07 02 call _PutS
52 D1:C49E E1 - - - pop hl
53 D1:C49F CD C0 07 02 call _PutS
54 D1:C4A3 CD F0 07 02 call _NewLine
55 D1:C4A7 C3 DB A8 D1 jp Fin
56 D1:C4AB - - - -
57 D1:C4AB 53 68 69 66
74 3D 20 00 cryptocmdROTfDShift: .db "Shift= ", 0
58 D1:C4B3 4D 65 73 73
61 67 65 3D
20 00 - - cryptocmdROTfDMessage: .db "Message= ", 0
59 D1:C4BD 52 65 73 75
6C 74 3A 20
00 - - - cryptocmdROTfDResult: .db "Result: ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc"
3 D1:C4C6 - - - - #include "includes/CryptoCommands/XOR.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\XOR.asm"
1 D1:C4C6 58 4F 52 00 cryptocmdXOR: .db "XOR", 0
2 D1:C4CA 58 4F 52 3A
20 43 79 70
68 65 72 2C
20 61 6E 64
20 65 6E 63
6F 64 65 73
20 61 20 73
74 72 69 6E
67 00 - - cryptocmdXORm: .db "XOR: Cypher, and encodes a string", 0
3 D1:C4EC 45 4E 43 52
59 50 54 20
58 4F 52 20
3C 4B 65 79
3E 20 3C 4D
65 73 73 61
67 65 3E 00 cryptocmdXORu: .db "ENCRYPT XOR <Key> <Message>", 0
4 D1:C508 - - - - cryptocmdXORf:
5 D1:C508 - - - - cryptocmdXORfArg1:
6 D1:C508 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:C50C CB 56 - - bit 2, (hl)
8 D1:C50E 28 10 - - jr z, cryptocmdXORfArg1Get
9 D1:C510 CB 5E - - bit 3, (hl)
10 D1:C512 28 24 - - jr z, cryptocmdXORfArg2
11 D1:C514 21 C8 B3 D1 ld hl, ErrUsageo
12 D1:C518 CD 33 B3 D1 call ErrSet
13 D1:C51C CD E6 B2 D1 call ErrCatch
14 D1:C520 - - - - cryptocmdXORfArg1Get:
15 D1:C520 21 AC C5 D1 ld hl, cryptocmdXORfDKey
16 D1:C524 CD FB AA D1 call printprompt
17 D1:C528 21 B1 EA D0 ld hl, FshCmdArg1
18 D1:C52C 11 08 00 00 ld de, FshCmdCmdSize
19 D1:C530 CD 7F AD D1 call inputstr
20 D1:C534 CD F0 07 02 call _NewLine
21 D1:C538 - - - - cryptocmdXORfArg2:
22 D1:C538 21 BA EA D0 ld hl, FshCmdArg2
23 D1:C53C 11 CF EA D0 ld de, FshScratch
24 D1:C540 CD 46 AC D1 call strcpy
25 D1:C544 21 CD EA D0 ld hl, FshCmdArgFlags
26 D1:C548 CB 66 - - bit 4, (hl)
27 D1:C54A 28 10 - - jr z, cryptocmdXORfArg2Get
28 D1:C54C CB 6E - - bit 5, (hl)
29 D1:C54E 28 24 - - jr z, cryptocmdXORfExe
30 D1:C550 21 C8 B3 D1 ld hl, ErrUsageo
31 D1:C554 CD 33 B3 D1 call ErrSet
32 D1:C558 CD E6 B2 D1 call ErrCatch
33 D1:C55C - - - - cryptocmdXORfArg2Get:
34 D1:C55C 21 B2 C5 D1 ld hl, cryptocmdXORfDMessage
35 D1:C560 CD FB AA D1 call printprompt
36 D1:C564 21 CF EA D0 ld hl, FshScratch
37 D1:C568 11 10 00 00 ld de, FshScratchSize - 4
38 D1:C56C CD A3 AE D1 call inputcharstr
39 D1:C570 CD F0 07 02 call _NewLine
40 D1:C574 - - - - cryptocmdXORfExe:
41 D1:C574 21 CF EA D0 ld hl, FshScratch
42 D1:C578 11 B1 EA D0 ld de, FshCmdArg1
43 D1:C57C CD 8C B5 D1 call xorcrypt
44 D1:C580 21 BC C5 D1 ld hl, cryptocmdXORfDResult
45 D1:C584 CD C0 07 02 call _PutS
46 D1:C588 21 CF EA D0 ld hl, FshScratch
47 D1:C58C - - - - cryptocmdXORfPrint:
48 D1:C58C 7E - - - ld a, (hl)
49 D1:C58D B7 - - - or a, a
50 D1:C58E 28 14 - - jr z, cryptocmdXORfPrintEnd
51 D1:C590 E5 - - - push hl
52 D1:C591 CD 9C AB D1 call bytetohexstr
53 D1:C595 7E - - - ld a, (hl)
54 D1:C596 CD B8 07 02 call _PutC
55 D1:C59A 23 - - - inc hl
56 D1:C59B 7E - - - ld a, (hl)
57 D1:C59C CD B8 07 02 call _PutC
58 D1:C5A0 E1 - - - pop hl
59 D1:C5A1 23 - - - inc hl
60 D1:C5A2 18 E8 - - jr cryptocmdXORfPrint
61 D1:C5A4 - - - - cryptocmdXORfPrintEnd:
62 D1:C5A4 CD F0 07 02 call _NewLine
63 D1:C5A8 C3 DB A8 D1 jp Fin
64 D1:C5AC - - - -
65 D1:C5AC 4B 65 79 3D
20 00 - - cryptocmdXORfDKey: .db "Key= ", 0
66 D1:C5B2 4D 65 73 73
61 67 65 3D
20 00 - - cryptocmdXORfDMessage: .db "Message= ", 0
67 D1:C5BC 52 65 73 75
6C 74 3A 20
00 - - - cryptocmdXORfDResult: .db "Result: ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc"
4 D1:C5C5 - - - -
5 D1:C5C5 - - - - #include "includes/CryptoCommands/HELP.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\HELP.asm"
1 D1:C5C5 48 45 4C 50
00 - - - cryptocmdHELP: .db "HELP", 0
2 D1:C5CA 48 65 6C 70
20 66 6F 72
20 63 79 70
68 65 72 73
00 - - - cryptocmdHELPm: .db "Help for cyphers", 0
3 D1:C5DB 45 4E 43 52
59 50 54 20
48 45 4C 50
00 - - - cryptocmdHELPu: .db "ENCRYPT HELP", 0
4 D1:C5E8 - - - - cryptocmdHELPf:
5 D1:C5E8 21 CD EA D0 ld hl, FshCmdArgFlags
6 D1:C5EC CB 56 - - bit 2, (hl)
7 D1:C5EE 28 0C - - jr z, cryptocmdHELPfExe
8 D1:C5F0 21 C8 B3 D1 ld hl, ErrUsageo
9 D1:C5F4 CD 33 B3 D1 call ErrSet
10 D1:C5F8 CD E6 B2 D1 call ErrCatch
11 D1:C5FC - - - - cryptocmdHELPfExe:
12 D1:C5FC 21 35 C6 D1 ld hl, cryptocmdHELPfLine1
13 D1:C600 CD C0 07 02 call _PutS
14 D1:C604 CD F0 07 02 call _NewLine
15 D1:C608 - - - -
16 D1:C608 - - - - #macro cryptocmdHELPmRow1(cmdXs)
17 D1:C608 xor a
18 D1:C608 ld (curCol), a
19 D1:C608 ld hl, cmdXs
20 D1:C608 call _PutS
21 D1:C608 call _NewLine
22 D1:C608 #endmacro
23 D1:C608 - - - - #macro cryptocmdHELPmRowU(cmdXs, cmdXu)
24 D1:C608 xor a
25 D1:C608 ld (curCol), a
26 D1:C608 ld hl, cmdXs
27 D1:C608 call _PutS
28 D1:C608 ld a, ':'
29 D1:C608 call _PutC
30 D1:C608 ld a, ' '
31 D1:C608 call _PutC
32 D1:C608 ld hl, cmdXu
33 D1:C608 call _PutS
34 D1:C608 call _NewLine
35 D1:C608 #endmacro
36 D1:C608 - - - - #macro cryptocmdHELPmRow2(cmdXs, cmdYs)
37 D1:C608 xor a
38 D1:C608 ld (curCol), a
39 D1:C608 ld hl, cmdXs
40 D1:C608 call _PutS
41 D1:C608 ld a, 9
42 D1:C608 ld (curcol), a
43 D1:C608 ld hl, cmdYs
44 D1:C608 call _PutS
45 D1:C608 call _NewLine
46 D1:C608 #endmacro
47 D1:C608 - - - - #macro cryptocmdHELPmRow3(cmdXs, cmdYs, cmdZs)
48 D1:C608 xor a
49 D1:C608 ld (curCol), a
50 D1:C608 ld hl, cmdXs
51 D1:C608 call _PutS
52 D1:C608 ld a, 9
53 D1:C608 ld (curcol), a
54 D1:C608 ld hl, cmdYs
55 D1:C608 call _PutS
56 D1:C608 ld a, 19
57 D1:C608 ld (curcol), a
58 D1:C608 ld hl, cmdZs
59 D1:C608 call _PutS
60 D1:C608 call _NewLine
61 D1:C608 #endmacro
62 D1:C608 - - - -
63 D1:C608 AF 32 96 05
D0 21 C2 C3
D1 CD C0 07
02 3E 3A CD
B8 07 02 3E
20 CD B8 07
02 21 FD C3
D1 CD C0 07
02 CD F0 07
02 - - - cryptocmdHELPmRowU(cryptocmdROT, cryptocmdROTu)
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\HELP.asm"
64 D1:C62D - - - -
65 D1:C62D CD F0 07 02 call _NewLine
66 D1:C631 C3 DB A8 D1 jp Fin
67 D1:C635 - - - -
68 D1:C635 41 76 61 69
6C 61 62 6C
65 20 43 72
79 70 74 6F
73 3A 00 - cryptocmdHELPfLine1: .db "Available Cryptos:", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc"
6 D1:C648 - - - -
7 D1:C648 - - - - #include "includes/CryptoCommands/DECRYPT.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\DECRYPT.asm"
1 D1:C648 44 45 43 52
59 50 54 00 cryptocmdDECRYPT: .db "DECRYPT", 0
2 D1:C650 41 - - - cryptocmdDECRYPTo: .db $41
3 D1:C651 44 65 63 72
79 70 74 73
20 61 20 73
74 72 69 6E
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:C69A 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:C6BF - - - - cryptocmdDECRYPTf:
6 D1:C6BF - - - - cryptocmdDECRYPTfArg0:
7 D1:C6BF 21 CD EA D0 ld hl, FshCmdArgFlags
8 D1:C6C3 CB 46 - - bit 0, (hl)
9 D1:C6C5 28 10 - - jr z, cryptocmdDECRYPTfArg0Get
10 D1:C6C7 CB 4E - - bit 1, (hl)
11 D1:C6C9 28 24 - - jr z, cryptocmdDECRYPTfExe
12 D1:C6CB 21 C8 B3 D1 ld hl, ErrUsageo
13 D1:C6CF CD 33 B3 D1 call ErrSet
14 D1:C6D3 CD E6 B2 D1 call ErrCatch
15 D1:C6D7 - - - - cryptocmdDECRYPTfArg0Get:
16 D1:C6D7 21 3F C7 D1 ld hl, cryptocmdDECRYPTfSCypher
17 D1:C6DB CD FB AA D1 call printprompt
18 D1:C6DF 21 A8 EA D0 ld hl, FshCmdArg0
19 D1:C6E3 11 2C 00 00 ld de, FshCmdInptSize
20 D1:C6E7 CD 7F AD D1 call inputstr
21 D1:C6EB CD F0 07 02 call _NewLine
22 D1:C6EF - - - - cryptocmdDECRYPTfExe:
23 D1:C6EF - - - -
24 D1:C6EF - - - - #macro cryptocmdDECRYPTcmpjp(cmdX, cmdXf)
25 D1:C6EF ld hl, FshCmdArg0
26 D1:C6EF ld de, CmdX
27 D1:C6EF call strcmp
28 D1:C6EF jp z, cmdXf
29 D1:C6EF #endmacro
30 D1:C6EF - - - -
31 D1:C6EF 21 A8 EA D0
11 48 C7 D1
CD 33 AC D1
CA 98 C7 D1 cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf)
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\DECRYPT.asm"
32 D1:C6FF 21 A8 EA D0
11 4F C8 D1
CD 33 AC D1
CA 81 C8 D1 cryptocmdDECRYPTcmpjp(cryptocmdunXOR, cryptocmdunXORf)
33 D1:C70F 21 A8 EA D0
11 C5 C5 D1
CD 33 AC D1
CA E8 C5 D1 cryptocmdDECRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf)
34 D1:C71F - - - -
35 D1:C71F 21 A8 EA D0 ld hl, FshCmdArg0
36 D1:C723 11 9F EA D0 ld de, FshCmd
37 D1:C727 CD 46 AC D1 call strcpy
38 D1:C72B - - - -
39 D1:C72B 21 42 B3 D1 ld hl, ErrCmdNotFoundo
40 D1:C72F 11 CE EA D0 ld de, FshCmdErrCode
41 D1:C733 CD 3D AA D1 call bytecpy
42 D1:C737 CD 33 B3 D1 call ErrSet
43 D1:C73B C3 DF A8 D1 jp Err
44 D1:C73F - - - -
45 D1:C73F 43 79 70 68
65 72 3D 20
00 - - - cryptocmdDECRYPTfSCypher: .db "Cypher= ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc"
8 D1:C748 - - - - #include "includes/CryptoCommands/unROT.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\unROT.asm"
1 D1:C748 52 4F 54 00 cryptocmdunROT: .db "ROT", 0
2 D1:C74C 52 4F 54 3A
20 43 79 70
68 65 72 2C
20 72 6F 74
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:C783 44 45 43 52
59 50 54 20
52 4F 54 20
3C 73 68 69
66 74 23 3E
00 - - - cryptocmdunROTu: .db "DECRYPT ROT <shift#>", 0
4 D1:C798 - - - - cryptocmdunROTf:
5 D1:C798 - - - - cryptocmdunROTfArg1:
6 D1:C798 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:C79C CB 5E - - bit 3, (hl)
8 D1:C79E 20 32 - - jr nz, cryptocmdunROTfArg2
9 D1:C7A0 CB 56 - - bit 2, (hl)
10 D1:C7A2 28 0C - - jr z, cryptocmdunROTfArg1Get
11 D1:C7A4 21 C8 B3 D1 ld hl, ErrUsageo
12 D1:C7A8 CD 33 B3 D1 call ErrSet
13 D1:C7AC CD E6 B2 D1 call ErrCatch
14 D1:C7B0 - - - - cryptocmdunROTfArg1Get:
15 D1:C7B0 21 31 C8 D1 ld hl, cryptocmdunROTfDShift
16 D1:C7B4 CD FB AA D1 call printprompt
17 D1:C7B8 21 B1 EA D0 ld hl, FshCmdArg1
18 D1:C7BC 11 03 00 00 ld de, 3
19 D1:C7C0 CD B7 AF D1 call inputnumstr
20 D1:C7C4 CD BD AC D1 call strtow
21 D1:C7C8 11 B1 EA D0 ld de, FshCmdArg1
22 D1:C7CC EB - - - ex de, hl
23 D1:C7CD 73 - - - ld (hl), e
24 D1:C7CE CD F0 07 02 call _NewLine
25 D1:C7D2 - - - - cryptocmdunROTfArg2:
26 D1:C7D2 21 BA EA D0 ld hl, FshCmdArg2
27 D1:C7D6 11 CF EA D0 ld de, FshScratch
28 D1:C7DA CD 46 AC D1 call strcpy
29 D1:C7DE 21 CD EA D0 ld hl, FshCmdArgFlags
30 D1:C7E2 CB 66 - - bit 4, (hl)
31 D1:C7E4 28 10 - - jr z, cryptocmdunROTfArg2Get
32 D1:C7E6 CB 6E - - bit 5, (hl)
33 D1:C7E8 28 24 - - jr z, cryptocmdunROTfExe
34 D1:C7EA 21 C8 B3 D1 ld hl, ErrUsageo
35 D1:C7EE CD 33 B3 D1 call ErrSet
36 D1:C7F2 CD E6 B2 D1 call ErrCatch
37 D1:C7F6 - - - - cryptocmdunROTfArg2Get:
38 D1:C7F6 21 39 C8 D1 ld hl, cryptocmdunROTfDMessage
39 D1:C7FA CD FB AA D1 call printprompt
40 D1:C7FE 21 CF EA D0 ld hl, FshScratch
41 D1:C802 11 10 00 00 ld de, FshScratchSize - 4
42 D1:C806 CD A3 AE D1 call inputcharstr
43 D1:C80A CD F0 07 02 call _NewLine
44 D1:C80E - - - - cryptocmdunROTfExe:
45 D1:C80E 21 B1 EA D0 ld hl, FshCmdArg1
46 D1:C812 7E - - - ld a, (hl)
47 D1:C813 21 CF EA D0 ld hl, FshScratch
48 D1:C817 CD 23 B5 D1 call rotletdecrypt
49 D1:C81B E5 - - - push hl
50 D1:C81C 21 46 C8 D1 ld hl, cryptocmdunROTfDResult
51 D1:C820 CD C0 07 02 call _PutS
52 D1:C824 E1 - - - pop hl
53 D1:C825 CD C0 07 02 call _PutS
54 D1:C829 CD F0 07 02 call _NewLine
55 D1:C82D C3 DB A8 D1 jp Fin
56 D1:C831 - - - -
57 D1:C831 53 68 69 66
74 3D 20 00 cryptocmdunROTfDShift: .db "Shift= ", 0
58 D1:C839 43 79 70 68
65 72 54 65
78 74 3D 20
00 - - - cryptocmdunROTfDMessage: .db "CypherText= ", 0
59 D1:C846 52 65 73 75
6C 74 3A 20
00 - - - cryptocmdunROTfDResult: .db "Result: ", 0
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc"
9 D1:C84F - - - - #include "includes/CryptoCommands/unXOR.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\unXOR.asm"
1 D1:C84F 58 4F 52 00 cryptocmdunXOR: .db "XOR", 0
2 D1:C853 58 4F 52 3A
20 43 79 70
68 65 72 2C
20 61 6E 64
20 64 65 63
6F 64 65 73
20 61 20 73
74 72 69 6E
67 00 - - cryptocmdunXORm: .db "XOR: Cypher, and decodes a string", 0
3 D1:C875 44 45 43 52
59 50 54 20
58 4F 52 00 cryptocmdunXORu: .db "DECRYPT XOR", 0
4 D1:C881 - - - - cryptocmdunXORf:
5 D1:C881 - - - - cryptocmdunXORfArg1:
6 D1:C881 21 CD EA D0 ld hl, FshCmdArgFlags
7 D1:C885 CB 56 - - bit 2, (hl)
8 D1:C887 28 10 - - jr z, cryptocmdunXORfArg1Get
9 D1:C889 CB 5E - - bit 3, (hl)
10 D1:C88B 28 24 - - jr z, cryptocmdunXORfArg2
11 D1:C88D 21 C8 B3 D1 ld hl, ErrUsageo
12 D1:C891 CD 33 B3 D1 call ErrSet
13 D1:C895 CD E6 B2 D1 call ErrCatch
14 D1:C899 - - - - cryptocmdunXORfArg1Get:
15 D1:C899 21 2E C9 D1 ld hl, cryptocmdunXORfDKey
16 D1:C89D CD FB AA D1 call printprompt
17 D1:C8A1 21 B1 EA D0 ld hl, FshCmdArg1
18 D1:C8A5 11 08 00 00 ld de, FshCmdCmdSize
19 D1:C8A9 CD 7F AD D1 call inputstr
20 D1:C8AD CD F0 07 02 call _NewLine
21 D1:C8B1 - - - - cryptocmdunXORfArg2:
22 D1:C8B1 21 BA EA D0 ld hl, FshCmdArg2
23 D1:C8B5 11 CF EA D0 ld de, FshScratch
24 D1:C8B9 CD 46 AC D1 call strcpy
25 D1:C8BD 21 CD EA D0 ld hl, FshCmdArgFlags
26 D1:C8C1 CB 66 - - bit 4, (hl)
27 D1:C8C3 20 45 - - jr nz, cryptocmdunXORfExe
28 D1:C8C5 - - - - cryptocmdunXORfArg2Get:
29 D1:C8C5 21 4E C9 D1 ld hl, cryptocmdunXORfStringPBuffer
30 D1:C8C9 06 0F - - ld b, $0F
31 D1:C8CB 3E 00 - - ld a, $00
32 D1:C8CD CD 45 AA D1 call memset
33 D1:C8D1 21 34 C9 D1 ld hl, cryptocmdunXORfDMessage
34 D1:C8D5 CD FB AA D1 call printprompt
35 D1:C8D9 21 CF EA D0 ld hl, FshScratch
36 D1:C8DD 11 10 00 00 ld de, FshScratchSize - 4
37 D1:C8E1 CD 7F AD D1 call inputstr
38 D1:C8E5 01 4E C9 D1 ld bc, cryptocmdunXORfStringPBuffer
39 D1:C8E9 - - - - cryptocmdunXORfArg2GetLoop:
40 D1:C8E9 7E - - - ld a, (hl)
41 D1:C8EA B7 - - - or a, a
42 D1:C8EB 28 19 - - jr z, cryptocmdunXORfArg2GetLoopEnd
43 D1:C8ED 32 4A C9 D1 ld (cryptocmdunXORfStringBuffer), a
44 D1:C8F1 23 - - - inc hl
45 D1:C8F2 7E - - - ld a, (hl)
46 D1:C8F3 32 4B C9 D1 ld (cryptocmdunXORfStringBuffer + 1), a
47 D1:C8F7 E5 - - - push hl
48 D1:C8F8 21 4A C9 D1 ld hl, cryptocmdunXORfStringBuffer
49 D1:C8FC CD F6 AB D1 call hexToA
50 D1:C900 E1 - - - pop hl
51 D1:C901 02 - - - ld (bc), a
52 D1:C902 23 - - - inc hl
53 D1:C903 03 - - - inc bc
54 D1:C904 18 E3 - - jr cryptocmdunXORfArg2GetLoop
55 D1:C906 - - - - cryptocmdunXORfArg2GetLoopEnd:
56 D1:C906 - - - -
57 D1:C906 CD F0 07 02 call _NewLine
58 D1:C90A - - - - cryptocmdunXORfExe:
59 D1:C90A 21 4E C9 D1 ld hl, cryptocmdunXORfStringPBuffer
60 D1:C90E 11 B1 EA D0 ld de, FshCmdArg1
61 D1:C912 CD 8C B5 D1 call xorcrypt
62 D1:C916 21 41 C9 D1 ld hl, cryptocmdunXORfDResult
63 D1:C91A CD C0 07 02 call _PutS
64 D1:C91E 21 4E C9 D1 ld hl, cryptocmdunXORfStringPBuffer
65 D1:C922 CD C0 07 02 call _PutS
66 D1:C926 CD F0 07 02 call _NewLine
67 D1:C92A C3 DB A8 D1 jp Fin
68 D1:C92E - - - -
69 D1:C92E 4B 65 79 3D
20 00 - - cryptocmdunXORfDKey: .db "Key= ", 0
70 D1:C934 43 79 70 68
65 72 54 65
78 74 3D 20
00 - - - cryptocmdunXORfDMessage: .db "CypherText= ", 0
71 D1:C941 52 65 73 75
6C 74 3A 20
00 - - - cryptocmdunXORfDResult: .db "Result: ", 0
72 D1:C94A 00 00 00 00 cryptocmdunXORfStringBuffer: .db $00, $00, $00, $00
73 D1:C94E 00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00 cryptocmdunXORfStringPBuffer: .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommands.inc"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\CryptoCommands\CryptoCommand.asm"
Listing for file "C:\Users\iD Student\Desktop\Stephen Toth\fsh-shell\includes\Command.asm"
Listing for file "FSHa.asm"
77 D1:C95E - - - -
78 D1:C95E - - - - .end