Add comments and use less magic

This commit is contained in:
Byron Lathi
2023-08-15 23:06:10 -07:00
parent 68ff523b10
commit 906516c4b5
3 changed files with 169 additions and 176 deletions

View File

@@ -2,157 +2,157 @@
00 80 4C 00 00 8D 13 92 8E 14 92 8D 1A 92 8E 1B
92 88 B9 FF FF 8D 24 92 88 B9 FF FF 8D 23 92 8C
26 92 20 FF FF A0 FF D0 E8 60 00 00 90 FD 00 00
00 00 A2 FF 9A D8 A9 00 85 00 A9 DF 85 01 20 08
00 00 A2 FF 9A D8 A9 00 85 02 A9 DF 85 03 20 08
FE 20 B9 FA 20 52 F0 58 20 69 F2 6C FC FF 20 AD
FA 00 A0 00 F0 07 A9 52 A2 F0 4C 05 92 60 AD FF
EF A2 00 60 8D FF EF 60 20 4F F2 C9 0A D0 05 A9
0D 20 4F F2 60 DA 5A A8 B2 00 AA A9 1B 20 4F F2
0D 20 4F F2 60 DA 5A A8 B2 02 AA A9 1B 20 4F F2
A9 5B 20 4F F2 98 20 4F F2 A9 3B 20 4F F2 8A 20
4F F2 A9 48 20 4F F2 7A FA 60 DA A9 1B 20 4F F2
A9 63 20 4F F2 68 60 40 DA BA 48 E8 E8 BD 00 01
29 10 D0 06 68 FA 20 68 F2 40 68 FA 7C BF F0 C5
F0 C9 F0 CA F0 20 9A F0 40 40 20 68 F0 40 48 A0
04 B1 00 09 40 20 3F F2 88 B1 00 20 3F F2 88 10
04 B1 02 09 40 20 3F F2 88 B1 02 20 3F F2 88 10
F8 68 09 01 20 3F F2 20 A9 FB 60 A2 08 A9 FF 20
3F F2 C9 FF D0 03 CA D0 F4 60 85 08 86 09 20 EB
F0 92 08 A9 FF 20 3F F2 A0 01 91 08 20 96 FB 60
AA 20 E4 FC A9 FF 20 3F F2 92 08 E6 08 D0 02 E6
09 CA D0 F0 60 85 08 86 09 20 EB F0 C9 02 B0 12
E6 08 D0 02 E6 08 A5 08 A6 09 20 11 FD A9 04 20
3F F2 C9 FF D0 03 CA D0 F4 60 85 0A 86 0B 20 EB
F0 92 0A A9 FF 20 3F F2 A0 01 91 0A 20 96 FB 60
AA 20 E4 FC A9 FF 20 3F F2 92 0A E6 0A D0 02 E6
0B CA D0 F0 60 85 0A 86 0B 20 EB F0 C9 02 B0 12
E6 0A D0 02 E6 0A A5 0A A6 0B 20 11 FD A9 04 20
10 F1 60 48 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF
20 3F F2 68 20 CE F0 20 EB F0 A8 A9 FF 20 3F F2
A9 00 20 39 F2 A9 FF 20 3F F2 98 A2 00 60 A9 00
20 39 F2 20 8B F1 A9 FF 20 3F F2 A9 00 20 39 F2
A2 50 A9 FF 20 3F F2 CA D0 F8 60 A2 01 A9 C8 3A
D0 FD CA D0 F8 60 85 0A 86 0B A9 FF 92 0A 20 E4
FC A5 00 85 0C A5 01 85 0D 20 51 FB A0 00 B1 0C
91 00 C8 B1 0C 91 00 C8 B1 0C 91 00 C8 B1 0C 91
00 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2
A9 11 A0 04 91 00 A9 00 20 CE F0 20 EB F0 C9 FF
F0 3F 85 12 A0 00 A9 FF 20 3F F2 85 11 A5 11 C9
D0 FD CA D0 F8 60 85 0C 86 0D A9 FF 92 0C 20 E4
FC A5 02 85 0E A5 03 85 0F 20 51 FB A0 00 B1 0E
91 02 C8 B1 0E 91 02 C8 B1 0E 91 02 C8 B1 0E 91
02 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2
A9 11 A0 04 91 02 A9 00 20 CE F0 20 EB F0 C9 FF
F0 3F 85 14 A0 00 A9 FF 20 3F F2 85 13 A5 13 C9
FF D0 05 C8 D0 F0 80 23 A2 02 A0 00 A9 FF 20 3F
F2 92 08 E6 08 D0 02 E6 09 88 D0 F0 A0 00 CA D0
EB A9 FF 20 3F F2 A9 FF 20 3F F2 A5 11 92 0A A5
12 48 A9 FF 20 3F F2 A9 00 20 39 F2 A9 FF 20 3F
F2 92 0A E6 0A D0 02 E6 0B 88 D0 F0 A0 00 CA D0
EB A9 FF 20 3F F2 A9 FF 20 3F F2 A5 13 92 0C A5
14 48 A9 FF 20 3F F2 A9 00 20 39 F2 A9 FF 20 3F
F2 68 60 A9 01 8D DB EF 60 9C DB EF 60 A9 00 8D
DA EF AD DB EF 30 FB AD D9 EF 60 8D E6 EF 60 48
8D E6 EF AD E7 EF 89 02 D0 F9 68 60 AD E6 EF A2
00 60 AD E7 EF A2 00 60 60 20 74 FB A2 00 86 02
86 03 A9 00 20 0B FC 20 5A FB A9 4D A2 FE 20 1A
00 60 AD E7 EF A2 00 60 60 20 74 FB A2 00 86 04
86 05 A9 00 20 0B FC 20 5A FB A9 4D A2 FE 20 1A
FB 20 3A F3 C9 00 20 B8 FC D0 03 4C 98 F2 A9 45
A2 FE 20 1A FB 4C 2E F3 A9 3B A2 FE 20 1A FB A0
05 20 C7 FB 20 0B FC AD 00 92 AE 01 92 20 11 FD
A9 0C 20 D8 FB 20 96 F1 A0 07 91 00 A0 07 A2 00
B1 00 C9 00 20 BE FC D0 03 4C DC F2 A0 06 A2 00
B1 00 C9 FE 20 BE FC F0 03 4C E5 F2 A2 00 A9 00
A9 0C 20 D8 FB 20 96 F1 A0 07 91 02 A0 07 A2 00
B1 02 C9 00 20 BE FC D0 03 4C DC F2 A0 06 A2 00
B1 02 C9 FE 20 BE FC F0 03 4C E5 F2 A2 00 A9 00
D0 03 4C E9 F2 A2 00 A9 01 D0 03 4C FA F2 AD 00
92 AE 01 92 20 3C F6 4C 2B F3 A0 06 A2 00 B1 00
92 AE 01 92 20 3C F6 4C 2B F3 A0 06 A2 00 B1 02
A2 00 29 F0 20 9F FA D0 03 4C 16 F3 A9 45 A2 FE
20 1A FB 4C 2B F3 A9 2B A2 FE 20 11 FD A0 08 A2
00 B1 00 20 11 FD A0 04 20 E6 FA 6C 00 92 4C 31
00 B1 02 20 11 FD A0 04 20 E6 FA 6C 00 92 4C 31
F3 4C 31 F3 A0 0C 20 85 FA 60 20 81 FB A9 00 20
FB FC 20 6E F1 4C 71 F3 A0 00 A2 00 18 A9 01 71
00 91 00 A0 00 A2 00 B1 00 C9 FF 20 BE FC D0 03
02 91 02 A0 00 A2 00 B1 02 C9 FF 20 BE FC D0 03
4C 71 F3 A9 6F A2 FE 20 1A FB A2 00 A9 01 4C A8
F4 20 AC F4 A0 01 91 00 C9 01 20 B8 FC D0 C9 A2
F4 20 AC F4 A0 01 91 02 C9 01 20 B8 FC D0 C9 A2
00 A9 00 A0 06 20 29 FD A0 07 20 BE FB E0 03 D0
02 C9 E8 20 D7 FC F0 03 4C 9E F3 4C AA F3 A0 06
A2 00 A9 01 20 75 FA 4C 88 F3 A9 01 20 D8 FB 20
C9 F4 A0 01 A2 00 B1 00 C9 01 20 B8 FC D0 03 4C
C9 F4 A0 01 A2 00 B1 02 C9 01 20 B8 FC D0 03 4C
D0 F3 A9 65 A2 FE 20 1A FB A2 00 A9 01 4C A8 F4
A0 05 A2 00 B1 00 C9 AA 20 B8 FC D0 03 4C E7 F3
A2 00 A9 01 4C A8 F4 A2 00 A9 00 A0 00 91 00 A0
00 A2 00 B1 00 C9 FF 20 BE FC D0 03 4C 0D F4 A9
A0 05 A2 00 B1 02 C9 AA 20 B8 FC D0 03 4C E7 F3
A2 00 A9 01 4C A8 F4 A2 00 A9 00 A0 00 91 02 A0
00 A2 00 B1 02 C9 FF 20 BE FC D0 03 4C 0D F4 A9
55 A2 FE 20 1A FB A2 00 A9 01 4C A8 F4 20 EB F5
A0 01 91 00 A0 01 A2 00 B1 00 C9 02 20 D7 FC D0
03 4C 2B F4 20 08 F6 A0 01 91 00 A2 00 A9 00 A0
A0 01 91 02 A0 01 A2 00 B1 02 C9 02 20 D7 FC D0
03 4C 2B F4 20 08 F6 A0 01 91 02 A2 00 A9 00 A0
06 20 29 FD A0 07 20 BE FB E0 03 D0 02 C9 E8 20
D7 FC F0 03 4C 4A F4 4C 56 F4 A0 06 A2 00 A9 01
20 75 FA 4C 34 F4 A0 00 A2 00 18 A9 01 71 00 91
00 A0 01 A2 00 B1 00 C9 00 20 B8 FC D0 81 A2 00
20 75 FA 4C 34 F4 A0 00 A2 00 18 A9 01 71 02 91
02 A0 01 A2 00 B1 02 C9 00 20 B8 FC D0 81 A2 00
A9 00 A0 06 20 29 FD A0 07 20 BE FB E0 03 D0 02
C9 E8 20 D7 FC F0 03 4C 8D F4 4C 99 F4 A0 06 A2
00 A9 01 20 75 FA 4C 77 F4 A9 01 20 D8 FB 20 71
F5 A2 00 A9 00 4C A8 F4 20 AE FB 60 A2 00 A9 00
20 FB FC A2 00 86 02 86 03 A9 00 20 0B FC A2 00
20 FB FC A2 00 86 04 86 05 A9 00 20 0B FC A2 00
A9 94 20 43 F1 4C C8 F4 60 20 11 FD A2 00 A9 FF
20 3F F2 A2 00 A9 00 20 33 F2 A2 00 A9 FF 20 3F
F2 A2 00 A9 08 20 FB FC A2 01 A9 00 85 02 A9 00
85 03 A9 AA 20 0B FC A2 00 A9 86 20 CE F0 A0 01
F2 A2 00 A9 08 20 FB FC A2 01 A9 00 85 04 A9 00
85 05 A9 AA 20 0B FC A2 00 A9 86 20 CE F0 A0 01
20 BE FB 20 25 F1 A2 00 A9 FF 20 3F F2 A2 00 A9
00 20 39 F2 A2 00 A9 FF 20 3F F2 20 96 FB 60 20
11 FD A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2
A2 00 A9 FF 20 3F F2 A2 00 A9 0D 20 FB FC A2 00
86 02 86 03 A9 00 20 0B FC A2 00 A9 00 20 CE F0
86 04 86 05 A9 00 20 0B FC A2 00 A9 00 20 CE F0
A0 01 20 BE FB 20 FA F0 A2 00 A9 FF 20 3F F2 A2
00 A9 00 20 39 F2 A2 00 A9 FF 20 3F F2 20 96 FB
60 20 11 FD 20 51 FB A2 00 A9 FF 20 3F F2 A2 00
A9 00 20 33 F2 A2 00 A9 FF 20 3F F2 A0 00 91 00
A0 00 A2 00 B1 00 C9 FF 20 B8 FC D0 03 4C B1 F5
A9 00 20 33 F2 A2 00 A9 FF 20 3F F2 A0 00 91 02
A0 00 A2 00 B1 02 C9 FF 20 B8 FC D0 03 4C B1 F5
4C A3 F5 A2 00 A9 FF 20 3F F2 C9 FF 20 B8 FC D0
F2 A2 00 A9 3A 20 FB FC A2 00 86 02 86 03 A9 00
F2 A2 00 A9 3A 20 FB FC A2 00 86 04 86 05 A9 00
20 0B FC A2 00 A9 00 20 CE F0 A0 02 20 BE FB 20
25 F1 A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 39 F2
A2 00 A9 FF 20 3F F2 20 A4 FB 60 A2 00 A9 37 20
FB FC A2 00 86 02 86 03 A9 00 20 0B FC A2 00 A9
FB FC A2 00 86 04 86 05 A9 00 20 0B FC A2 00 A9
00 20 43 F1 4C 07 F6 60 A2 00 A9 29 20 FB FC A2
00 86 02 A9 40 85 03 A9 00 20 0B FC A2 00 A9 00
00 86 04 A9 40 85 05 A9 00 20 0B FC A2 00 A9 00
20 43 F1 4C 26 F6 60 20 11 FD 20 74 FB A0 03 A2
00 B1 00 4C 36 F6 A0 0E 20 85 FA 60 20 11 FD A9
00 B1 02 4C 36 F6 A0 0E 20 85 FA 60 20 11 FD A9
00 20 FB FC 20 5A FB A2 00 A9 00 A0 00 20 29 FD
A0 01 20 BE FB E0 02 20 D7 FC F0 03 4C 62 F6 4C
C4 F6 A9 79 A2 FE 20 11 FD A0 06 20 BE FB A0 00
20 B3 FB 20 11 FD A0 07 A2 00 A9 01 20 75 FA A0
04 20 E6 FA A0 02 A2 00 B1 00 C9 1F 20 BE FC D0
04 20 E6 FA A0 02 A2 00 B1 02 C9 1F 20 BE FC D0
03 4C A6 F6 A9 7D A2 FE 20 1A FB A2 00 A9 00 A0
02 91 00 4C B8 F6 A2 00 A9 20 20 68 F0 A0 02 A2
00 18 A9 01 71 00 91 00 A0 00 A2 00 A9 01 20 75
02 91 02 4C B8 F6 A2 00 A9 20 20 68 F0 A0 02 A2
00 18 A9 01 71 02 91 02 A0 00 A2 00 A9 01 20 75
FA 4C 50 F6 A9 7D A2 FE 20 1A FB 20 A9 FB 60 A0
00 B1 16 E6 16 D0 02 E6 17 60 AD 3D 92 8D 38 92
00 B1 18 E6 18 D0 02 E6 19 60 AD 3D 92 8D 38 92
20 7B F7 A9 38 A2 92 20 11 FD 20 F2 FC 4C 02 92
A5 14 38 E9 02 85 14 B0 02 C6 15 60 AD 42 92 D0
A5 16 38 E9 02 85 16 B0 02 C6 17 60 AD 42 92 D0
11 20 19 F7 4C 98 FA AD 42 92 D0 06 20 19 F7 4C
92 FA 20 19 F7 85 02 86 03 20 F0 F6 A0 01 B1 14
AA 88 B1 14 60 A0 00 84 08 84 09 B1 16 38 E9 30
90 2C C9 0A B0 28 20 D3 F6 48 A5 08 A6 09 06 08
26 09 06 08 26 09 65 08 85 08 8A 65 09 85 09 06
08 26 09 68 65 08 85 08 90 D1 E6 09 B0 CD A5 08
A6 09 60 AC 44 92 EE 44 92 99 45 92 60 A9 45 A2
92 18 6D 44 92 90 01 E8 4C 11 FD A5 18 A6 19 4C
92 FA 20 19 F7 85 04 86 05 20 F0 F6 A0 01 B1 16
AA 88 B1 16 60 A0 00 84 0A 84 0B B1 18 38 E9 30
90 2C C9 0A B0 28 20 D3 F6 48 A5 0A A6 0B 06 0A
26 0B 06 0A 26 0B 65 0A 85 0A 8A 65 0B 85 0B 06
0A 26 0B 68 65 0A 85 0A 90 D1 E6 0B B0 CD A5 0A
A6 0B 60 AC 44 92 EE 44 92 99 45 92 60 A9 45 A2
92 18 6D 44 92 90 01 E8 4C 11 FD A5 1A A6 1B 4C
11 FD 20 DA F6 EE 3E 92 D0 F8 EE 3F 92 D0 F3 60
20 7B F7 AD 59 92 AE 5A 92 20 11 FD AD 5B 92 AE
5C 92 20 11 FD 4C 02 92 84 08 20 0B FC 20 6D F7
A5 08 4C 3B FC 84 08 20 0B FC 20 6D F7 A5 08 4C
7C FC 48 A0 05 B9 14 00 99 32 92 88 10 F7 68 85
14 86 15 20 8E FB 85 16 86 17 20 8E FB 85 18 86
19 A9 00 A8 91 18 C8 91 18 C8 B1 18 8D 03 92 C8
B1 18 8D 04 92 A5 16 85 08 A5 17 85 09 A0 00 B1
16 F0 0B C9 25 F0 07 C8 D0 F5 E6 17 D0 F1 98 18
65 16 85 16 90 02 E6 17 38 E5 08 85 0A A5 17 E5
09 85 0B 05 0A F0 25 20 74 FB A0 05 A5 19 91 00
88 A5 18 91 00 88 A5 09 91 00 88 A5 08 91 00 88
A5 0B 91 00 88 A5 0A 91 00 20 02 92 20 CF F6 AA
D0 0B A2 05 BD 32 92 95 14 CA 10 F8 60 C9 25 D0
09 B1 16 C9 25 D0 09 20 D3 F6 20 DD F6 4C F5 F7
A9 00 A2 0B 9D 39 92 CA 10 FA B1 16 C9 2D D0 05
5C 92 20 11 FD 4C 02 92 84 0A 20 0B FC 20 6D F7
A5 0A 4C 3B FC 84 0A 20 0B FC 20 6D F7 A5 0A 4C
7C FC 48 A0 05 B9 16 00 99 32 92 88 10 F7 68 85
16 86 17 20 8E FB 85 18 86 19 20 8E FB 85 1A 86
1B A9 00 A8 91 1A C8 91 1A C8 B1 1A 8D 03 92 C8
B1 1A 8D 04 92 A5 18 85 0A A5 19 85 0B A0 00 B1
18 F0 0B C9 25 F0 07 C8 D0 F5 E6 19 D0 F1 98 18
65 18 85 18 90 02 E6 19 38 E5 0A 85 0C A5 19 E5
0B 85 0D 05 0C F0 25 20 74 FB A0 05 A5 1B 91 02
88 A5 1A 91 02 88 A5 0B 91 02 88 A5 0A 91 02 88
A5 0D 91 02 88 A5 0C 91 02 20 02 92 20 CF F6 AA
D0 0B A2 05 BD 32 92 95 16 CA 10 F8 60 C9 25 D0
09 B1 18 C9 25 D0 09 20 D3 F6 20 DD F6 4C F5 F7
A9 00 A2 0B 9D 39 92 CA 10 FA B1 18 C9 2D D0 05
8E 39 92 F0 19 C9 2B D0 05 8E 3A 92 F0 10 C9 20
D0 05 8E 3B 92 F0 07 C9 23 D0 09 8E 3C 92 20 D3
F6 4C 7A F8 A2 20 C9 30 D0 06 AA 20 D3 F6 B1 16
F6 4C 7A F8 A2 20 C9 30 D0 06 AA 20 D3 F6 B1 18
8E 3D 92 C9 2A D0 09 20 D3 F6 20 19 F7 4C C3 F8
20 25 F7 8D 3E 92 8E 3F 92 8C 40 92 8C 41 92 B1
16 C9 2E D0 1B 20 D3 F6 B1 16 C9 2A D0 09 20 D3
18 C9 2E D0 1B 20 D3 F6 B1 18 C9 2A D0 09 20 D3
F6 20 19 F7 4C EA F8 20 25 F7 8D 40 92 8E 41 92
B1 16 C9 7A F0 19 C9 68 F0 15 C9 74 F0 11 C9 6A
B1 18 C9 7A F0 19 C9 68 F0 15 C9 74 F0 11 C9 6A
F0 08 C9 4C F0 04 C9 6C D0 0B A9 FF 8D 42 92 20
D3 F6 4C F0 F8 8C 44 92 A2 45 8E 59 92 A2 92 8E
5A 92 20 D3 F6 C9 63 D0 0D 20 19 F7 8D 45 92 A2
00 A9 01 4C 1C FA C9 64 F0 04 C9 69 D0 2D A2 00
AD 3B 92 F0 02 A2 20 AD 3A 92 F0 02 A2 2B 8E 43
92 20 07 F7 A4 03 30 0B AC 43 92 F0 06 8C 45 92
92 20 07 F7 A4 05 30 0B AC 43 92 F0 06 8C 45 92
EE 44 92 A0 0A 20 A8 F7 4C 13 FA C9 6E D0 15 20
19 F7 85 08 86 09 A0 00 B1 18 91 08 C8 B1 18 91
08 4C F5 F7 C9 6F D0 27 20 07 F7 AC 3C 92 F0 17
48 86 10 05 10 05 02 05 03 0D 40 92 0D 41 92 F0
19 F7 85 0A 86 0B A0 00 B1 1A 91 0A C8 B1 1A 91
0A 4C F5 F7 C9 6F D0 27 20 07 F7 AC 3C 92 F0 17
48 86 12 05 12 05 04 05 05 0D 40 92 0D 41 92 F0
06 A9 30 20 63 F7 68 A0 08 20 A8 F7 4C 13 FA C9
70 D0 0D A2 00 8E 42 92 E8 8E 3C 92 A9 78 D0 27
C9 73 D0 0C 20 19 F7 8D 59 92 8E 5A 92 4C 13 FA
@@ -166,66 +166,66 @@ AD 41 92 A8 ED 5C 92 B0 06 8E 5B 92 8C 5C 92 38
AD 3E 92 ED 5B 92 AA AD 3F 92 ED 5C 92 B0 03 A9
00 AA 49 FF 8D 3F 92 8A 49 FF 8D 3E 92 AD 39 92
D0 03 20 85 F7 20 90 F7 AD 39 92 F0 03 20 85 F7
4C F5 F7 A0 00 18 71 00 91 00 48 C8 8A 71 00 91
00 AA 68 60 C8 48 18 98 65 00 85 00 90 02 E6 01
68 60 A0 FF E0 80 B0 02 A0 00 84 02 84 03 60 E0
4C F5 F7 A0 00 18 71 02 91 02 48 C8 8A 71 02 91
02 AA 68 60 C8 48 18 98 65 02 85 02 90 02 E6 03
68 60 A0 FF E0 80 B0 02 A0 00 84 04 84 05 60 E0
00 D0 06 AA D0 03 A9 01 60 A2 00 8A 60 A0 00 F0
07 A9 52 A2 F0 4C 05 92 60 A9 00 85 08 A9 F0 85
09 A9 00 85 0A A9 92 85 0B A2 CD A9 FF 85 10 A0
00 E8 F0 0D B1 08 91 0A C8 D0 F6 E6 09 E6 0B D0
F0 E6 10 D0 EF 60 8C 5D 92 88 88 98 18 65 00 85
08 A6 01 90 01 E8 86 09 A0 01 B1 08 AA 88 B1 08
20 11 FD A5 08 A6 09 20 D8 FD AC 5D 92 4C 85 FA
85 08 86 09 20 75 F0 4C 1E FB 85 08 86 09 A0 00
B1 08 F0 0E C8 84 10 20 68 F0 A4 10 D0 F2 E6 09
07 A9 52 A2 F0 4C 05 92 60 A9 00 85 0A A9 F0 85
0B A9 00 85 0C A9 92 85 0D A2 CD A9 FF 85 12 A0
00 E8 F0 0D B1 0A 91 0C C8 D0 F6 E6 0B E6 0D D0
F0 E6 12 D0 EF 60 8C 5D 92 88 88 98 18 65 02 85
0A A6 03 90 01 E8 86 0B A0 01 B1 0A AA 88 B1 0A
20 11 FD A5 0A A6 0B 20 D8 FD AC 5D 92 4C 85 FA
85 0A 86 0B 20 75 F0 4C 1E FB 85 0A 86 0B A0 00
B1 0A F0 0E C8 84 12 20 68 F0 A4 12 D0 F2 E6 0B
D0 EE 60 E0 00 D0 15 4A AA BD A7 FE 90 05 4A 4A
4A 4A 18 29 0F AA BD 9C FE A2 00 60 38 A9 00 AA
60 A4 00 D0 02 C6 01 C6 00 60 A5 00 38 E9 02 85
00 90 01 60 C6 01 60 A5 00 38 E9 04 85 00 90 01
60 C6 01 60 A5 00 38 E9 06 85 00 90 01 60 C6 01
60 A5 00 38 E9 07 85 00 90 01 60 C6 01 60 A0 01
B1 00 AA 88 B1 00 E6 00 F0 05 E6 00 F0 03 60 E6
00 E6 01 60 A0 03 4C 85 FA A0 05 4C 85 FA A0 08
4C 85 FA 85 08 86 09 A2 00 B1 08 60 A0 01 B1 00
AA 88 B1 00 60 A0 03 B1 00 85 03 88 B1 00 85 02
88 B1 00 AA 88 B1 00 60 A2 00 18 65 00 48 8A 65
01 AA 68 60 18 49 FF 69 01 48 8A 49 FF 69 00 AA
A5 02 49 FF 69 00 85 02 A5 03 49 FF 69 00 85 03
68 60 A9 00 AA A0 00 84 02 84 03 48 20 67 FB A0
03 A5 03 91 00 88 A5 02 91 00 88 8A 91 00 68 88
91 00 60 85 10 20 8E FB 85 0A 86 0B 85 0C 86 0D
20 E4 FC 20 8E FB 85 02 86 03 60 20 23 FC A6 03
A4 10 C0 0A D0 39 A5 02 05 09 05 08 D0 11 E0 80
D0 0D A0 0B B9 90 FE 91 0A 88 10 F8 4C B3 FC 8A
10 1D A9 2D A0 00 91 0A E6 0A D0 02 E6 0B A5 08
A6 09 20 E4 FB 85 08 86 09 4C 7F FC 20 23 FC A9
00 48 A0 20 A9 00 06 08 26 09 26 02 26 03 2A C5
10 90 04 E5 10 E6 08 88 D0 EC A8 B9 80 FE 48 A5
08 05 09 05 02 05 03 D0 D9 A0 00 68 91 0A F0 03
C8 D0 F8 A5 0C A6 0D 60 D0 06 A2 00 8A 60 D0 FA
60 A4 02 D0 02 C6 03 C6 02 60 A5 02 38 E9 02 85
02 90 01 60 C6 03 60 A5 02 38 E9 04 85 02 90 01
60 C6 03 60 A5 02 38 E9 06 85 02 90 01 60 C6 03
60 A5 02 38 E9 07 85 02 90 01 60 C6 03 60 A0 01
B1 02 AA 88 B1 02 E6 02 F0 05 E6 02 F0 03 60 E6
02 E6 03 60 A0 03 4C 85 FA A0 05 4C 85 FA A0 08
4C 85 FA 85 0A 86 0B A2 00 B1 0A 60 A0 01 B1 02
AA 88 B1 02 60 A0 03 B1 02 85 05 88 B1 02 85 04
88 B1 02 AA 88 B1 02 60 A2 00 18 65 02 48 8A 65
03 AA 68 60 18 49 FF 69 01 48 8A 49 FF 69 00 AA
A5 04 49 FF 69 00 85 04 A5 05 49 FF 69 00 85 05
68 60 A9 00 AA A0 00 84 04 84 05 48 20 67 FB A0
03 A5 05 91 02 88 A5 04 91 02 88 8A 91 02 68 88
91 02 60 85 12 20 8E FB 85 0C 86 0D 85 0E 86 0F
20 E4 FC 20 8E FB 85 04 86 05 60 20 23 FC A6 05
A4 12 C0 0A D0 39 A5 04 05 0B 05 0A D0 11 E0 80
D0 0D A0 0B B9 90 FE 91 0C 88 10 F8 4C B3 FC 8A
10 1D A9 2D A0 00 91 0C E6 0C D0 02 E6 0D A5 0A
A6 0B 20 E4 FB 85 0A 86 0B 4C 7F FC 20 23 FC A9
00 48 A0 20 A9 00 06 0A 26 0B 26 04 26 05 2A C5
12 90 04 E5 12 E6 0A 88 D0 EC A8 B9 80 FE 48 A5
0A 05 0B 05 04 05 05 D0 D9 A0 00 68 91 0C F0 03
C8 D0 F8 A5 0E A6 0F 60 D0 06 A2 00 8A 60 D0 FA
A2 00 A9 01 60 F0 F9 30 F7 A2 00 8A 60 F0 02 10
EF A2 00 8A 60 F0 E9 90 E7 A2 00 8A 60 F0 DB A2
00 8A 2A 60 A0 01 B1 00 85 09 88 B1 00 85 08 4C
96 FB A9 01 4C 0F FD A0 00 B1 00 A4 00 F0 07 C6
00 A0 00 91 00 60 C6 01 C6 00 91 00 60 A9 00 A2
00 48 A5 00 38 E9 02 85 00 B0 02 C6 01 A0 01 8A
91 00 68 88 91 00 60 A0 00 91 00 C8 48 8A 91 00
68 60 85 0A 86 0B 20 E4 FC B1 08 D1 0A D0 0C AA
F0 10 C8 D0 F4 E6 09 E6 0B D0 EE B0 03 A2 FF 60
A2 01 60 85 0A 86 0B A2 00 A0 00 B1 0A F0 08 C8
D0 F9 E6 0B E8 D0 F4 98 60 85 08 86 09 85 0A 86
0B A0 00 B1 08 F0 14 20 37 FB 29 02 F0 06 B1 08
69 20 91 08 C8 D0 EC E6 09 D0 E8 A5 0A A6 0B 60
20 8E FB 85 0A 86 0B E8 8E 31 92 AA E8 8E 30 92
20 E4 FC 20 8E FB 85 0C 86 0D A0 00 84 10 B1 0C
18 65 0A 91 0C C8 B1 0C 65 0B 91 0C CE 30 92 F0
11 A4 10 B1 08 C8 D0 02 E6 09 84 10 20 68 F0 4C
BC FD CE 31 92 D0 EA 60 85 08 86 09 A9 00 8D 2A
92 8D 2B 92 A0 01 B1 00 AA 88 B1 00 20 11 FD A0
02 A9 2A 91 00 C8 A9 92 91 00 A5 08 A6 09 20 C2
F7 AD 2A 92 AE 2B 92 60 A9 32 85 08 A9 92 85 09
A9 00 A8 A2 00 F0 0A 91 08 C8 D0 FB E6 09 CA D0
F6 C0 2C F0 05 91 08 C8 D0 F7 60 62 61 64 20 74
00 8A 2A 60 A0 01 B1 02 85 0B 88 B1 02 85 0A 4C
96 FB A9 01 4C 0F FD A0 00 B1 02 A4 02 F0 07 C6
02 A0 00 91 02 60 C6 03 C6 02 91 02 60 A9 00 A2
00 48 A5 02 38 E9 02 85 02 B0 02 C6 03 A0 01 8A
91 02 68 88 91 02 60 A0 00 91 02 C8 48 8A 91 02
68 60 85 0C 86 0D 20 E4 FC B1 0A D1 0C D0 0C AA
F0 10 C8 D0 F4 E6 0B E6 0D D0 EE B0 03 A2 FF 60
A2 01 60 85 0C 86 0D A2 00 A0 00 B1 0C F0 08 C8
D0 F9 E6 0D E8 D0 F4 98 60 85 0A 86 0B 85 0C 86
0D A0 00 B1 0A F0 14 20 37 FB 29 02 F0 06 B1 0A
69 20 91 0A C8 D0 EC E6 0B D0 E8 A5 0C A6 0D 60
20 8E FB 85 0C 86 0D E8 8E 31 92 AA E8 8E 30 92
20 E4 FC 20 8E FB 85 0E 86 0F A0 00 84 12 B1 0E
18 65 0C 91 0E C8 B1 0E 65 0D 91 0E CE 30 92 F0
11 A4 12 B1 0A C8 D0 02 E6 0B 84 12 20 68 F0 4C
BC FD CE 31 92 D0 EA 60 85 0A 86 0B A9 00 8D 2A
92 8D 2B 92 A0 01 B1 02 AA 88 B1 02 20 11 FD A0
02 A9 2A 91 02 C8 A9 92 91 02 A5 0A A6 0B 20 C2
F7 AD 2A 92 AE 2B 92 60 A9 32 85 0A A9 92 85 0B
A9 00 A8 A2 00 F0 0A 91 0A C8 D0 FB E6 0B CA D0
F6 C0 2C F0 05 91 0A C8 D0 F7 60 62 61 64 20 74
6F 6B 65 6E 3A 20 25 78 0D 0A 00 53 75 63 63 65
73 73 0D 0A 00 45 72 72 6F 72 0D 0A 00 53 74 61
72 74 0D 0A 00 6F 70 5F 63 6F 6E 64 20 65 72 72

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<efx:project name="super6502" description="" last_change_date="Tue August 15 2023 19:01:15" location="/home/byron/Projects/super6502/hw/efinix_fpga" sw_version="2023.1.150" last_run_state="pass" last_run_tool="efx_pgm" last_run_flow="bitstream" config_result_in_sync="true" design_ood="sync" place_ood="sync" route_ood="sync" xmlns:efx="http://www.efinixinc.com/enf_proj" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.efinixinc.com/enf_proj enf_proj.xsd">
<efx:project name="super6502" description="" last_change_date="Tue August 15 2023 22:44:54" location="/home/byron/Projects/super6502/hw/efinix_fpga" sw_version="2023.1.150" last_run_state="pass" last_run_tool="efx_pgm" last_run_flow="bitstream" config_result_in_sync="true" design_ood="sync" place_ood="sync" route_ood="sync" xmlns:efx="http://www.efinixinc.com/enf_proj" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.efinixinc.com/enf_proj enf_proj.xsd">
<efx:device_info>
<efx:family name="Trion"/>
<efx:device name="T20F256"/>

View File

@@ -21,6 +21,10 @@ buf = $8200
addrh = $0000
addrl = $0000
.zeropage
data_start: .res 2
.segment "BOOTSECTOR"
@@ -40,10 +44,6 @@ _main:
ldx #>str
jsr _cputs
lda #<_addr
ldx #>_addr
jsr pushax
lda fat_count
cmp #$2
jne @fail
@@ -57,7 +57,9 @@ _main:
adc reserved_sectors
bcc @a
inx
@a: jsr pushax
@a: sta data_start
stx data_start + 1
jsr pushax
stz sreg
stz sreg+1
jsr pusheax
@@ -67,76 +69,69 @@ _main:
lda #<ptr1
ldx #>ptr1
jsr _SD_readSingleBlock
lda #<buf
ldx #>buf
jsr _SD_printBuf
lda #$20
lda #$20 ; Start at first directory entry (first is a disk label)
sta ptr3
lda #$82
lda #>buf
sta ptr3 + 1
ldy #$0b
ldy #$0b ; look for attributes
@1: lda (ptr3),y
cmp #$0f
bne @2
clc
cmp #$0f ; if attribute is 0xf, this is a lfn
bne @2 ; if not an lfn, then try to read filename
clc ; otherwise, go to the next entry (+0x20)
lda ptr3
adc #$20
sta ptr3
bra @1
@2: ldy #11
@2: ldy #11 ; ignore the attributes. Write null to make a string
lda #$00
sta (ptr3),y
lda ptr3
lda ptr3 ; store address of the filename string on the stack
pha
ldx ptr3 + 1
phx
lda #<_boot2_str
lda #<_boot2_str ; load the string "BOOT2 BIN"
ldx #>_boot2_str
jsr pushax
plx
plx ; then push the string we read earlier
pla
jsr _strcmp
bne @fail
lda #<_good
bne @fail ; if they are not equal then fail
lda #<_good ; TODO: We should try the next entry
ldx #>_good
jsr _cputs
jsr _cputs ; otherwise continue on
ldy #$1b
ldy #$1b ; load the high byte of the low first cluster
lda (ptr3),y
tax
dey
lda (ptr3),y
lda (ptr3),y ; load the low byte of the low first cluster
sec
sbc #$02 ; don't handle carry, assume <256
; now a is the cluster num minus 2. We need to multiply this by
; 8 and add it to 0x77f0
; multiply by 8 is asl3
ldx #$77
asl
sbc #$02 ; don't handle carry, assume low byte is not 0 or 1
ldx data_start + 1 ; load x as high data start
asl ; multiply cluster num (minus 2) by 8
asl
asl
clc
adc #$f0
bcc @3
adc data_start ; add that to low data start
bcc @3 ; handle carry
inx
@3: pha
phx
lda #$00
sta sreg
lda #$00
sta sreg+1
plx
pla
@3: stz sreg
stz sreg+1
phx
pha
jsr pusheax
lda #<buf
ldx #>buf
@@ -145,10 +140,8 @@ _main:
ldx #>ptr1
jsr _SD_readSingleBlock
lda #$00
sta sreg
lda #$00
sta sreg+1
stz sreg
stz sreg+1
pla
plx
inc