fsh-shell/bin/FSHa.lst

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