-
Notifications
You must be signed in to change notification settings - Fork 48
/
prog_tools.cpp
2059 lines (1991 loc) · 170 KB
/
prog_tools.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// -----------------------------------------------------------------------------
// Altair 8800 Simulator
//
// This file contains copies of the following programs:
// - Altair Turnkey Monitor (C) MITS 1977
// - Martin Eberhard's MBLE enhanced multi boot loader
// - Martin Eberhard's CDBL combo disk boot loader
// - Martin Eberhard's HDBL hard disk boot loader
// - Martin Eberhard's ADEXER tool
// - Tarbell disk boot loader
// - Cromemco RDOS 1.0
// - i8080 CPU Exerciser (C) Frank D. Cringle 1994, Ian Bartholomew 2009
//
// While the Altair 8800 simulator code itself is released under GPLv3,
// the contents of this file are excluded from that license for obvious reasons.
// -----------------------------------------------------------------------------
#include <Arduino.h>
#include "prog_tools.h"
#include "host.h"
#include "mem.h"
#include "prog.h"
const byte PROGMEM BDOS[28] = {
/* 0x0000 */ B11000011, 0x00, 0x00, // jmp 0000
/* 000003 */ B00000000, // nop
/* 000004 */ B00000000, // nop
/* 0x0005 */ B01111001, // mov a, c
/* 0x0006 */ B11111110, 0x02, // cpi 02
/* 0x0008 */ B11001010, 0x18, 0x00, // jz chrout
/* 0x000b */ B11111110, 0x09, // cpi 09
/* 0x000d */ B11000000, // rnz
// loop:
/* 0x000e */ B00011010, // ldax de
/* 0x000f */ B11111110, 0x24, // cpi '$'
/* 0x0011 */ B11001000, // rz
/* 0x0012 */ B11010011, 0x11, // out 0x11
/* 0x0014 */ B00010011, // inx de
/* 0x0015 */ B11000011, 0x0e, 0x00, // jmp loop
// chrout:
/* 0x0018 */ B01111011, // mov a,e
/* 0x0019 */ B11010011, 0x11, // out 0x11
/* 0x001b */ B11001001 // ret
};
// i8080 CPU Diagnostic (C) Microcosm Associates 1980
const byte PROGMEM i8080_cpudiag[92*16] =
{0xC3,0xAB,0x01,0x4D,0x49,0x43,0x52,0x4F,0x43,0x4F,0x53,0x4D,0x20,0x41,0x53,0x53,
0x4F,0x43,0x49,0x41,0x54,0x45,0x53,0x20,0x38,0x30,0x38,0x30,0x2F,0x38,0x30,0x38,
0x35,0x20,0x43,0x50,0x55,0x20,0x44,0x49,0x41,0x47,0x4E,0x4F,0x53,0x54,0x49,0x43,
0x20,0x56,0x45,0x52,0x53,0x49,0x4F,0x4E,0x20,0x31,0x2E,0x30,0x20,0x28,0x43,0x29,
0x20,0x31,0x39,0x38,0x30,0xD5,0xEB,0x0E,0x09,0xCD,0x05,0x00,0xD1,0xC9,0x0E,0x02,
0xCD,0x05,0x00,0xC9,0xF5,0xCD,0x64,0x01,0x5F,0xCD,0x4E,0x01,0xF1,0xCD,0x68,0x01,
0x5F,0xC3,0x4E,0x01,0x0F,0x0F,0x0F,0x0F,0xE6,0x0F,0xFE,0x0A,0xFA,0x71,0x01,0xC6,
0x07,0xC6,0x30,0xC9,0x0C,0x0D,0x0A,0x20,0x43,0x50,0x55,0x20,0x49,0x53,0x20,0x4F,
0x50,0x45,0x52,0x41,0x54,0x49,0x4F,0x4E,0x41,0x4C,0x24,0x0C,0x0D,0x0A,0x20,0x43,
0x50,0x55,0x20,0x48,0x41,0x53,0x20,0x46,0x41,0x49,0x4C,0x45,0x44,0x21,0x20,0x45,
0x52,0x52,0x4F,0x52,0x20,0x45,0x58,0x49,0x54,0x3D,0x24,0x31,0xA4,0x07,0xE6,0x00,
0xCA,0xB6,0x01,0xCD,0x89,0x06,0xD2,0xBC,0x01,0xCD,0x89,0x06,0xEA,0xC2,0x01,0xCD,
0x89,0x06,0xF2,0xC8,0x01,0xCD,0x89,0x06,0xC2,0xD7,0x01,0xDA,0xD7,0x01,0xE2,0xD7,
0x01,0xFA,0xD7,0x01,0xC3,0xDA,0x01,0xCD,0x89,0x06,0xC6,0x06,0xC2,0xE2,0x01,0xCD,
0x89,0x06,0xDA,0xEB,0x01,0xE2,0xEB,0x01,0xF2,0xEE,0x01,0xCD,0x89,0x06,0xC6,0x70,
0xE2,0xF6,0x01,0xCD,0x89,0x06,0xFA,0xFF,0x01,0xCA,0xFF,0x01,0xD2,0x02,0x02,0xCD,
0x89,0x06,0xC6,0x81,0xFA,0x0A,0x02,0xCD,0x89,0x06,0xCA,0x13,0x02,0xDA,0x13,0x02,
0xE2,0x16,0x02,0xCD,0x89,0x06,0xC6,0xFE,0xDA,0x1E,0x02,0xCD,0x89,0x06,0xCA,0x27,
0x02,0xE2,0x27,0x02,0xFA,0x2A,0x02,0xCD,0x89,0x06,0xFE,0x00,0xDA,0x42,0x02,0xCA,
0x42,0x02,0xFE,0xF5,0xDA,0x42,0x02,0xC2,0x42,0x02,0xFE,0xFF,0xCA,0x42,0x02,0xDA,
0x45,0x02,0xCD,0x89,0x06,0xCE,0x0A,0xCE,0x0A,0xFE,0x0B,0xCA,0x51,0x02,0xCD,0x89,
0x06,0xD6,0x0C,0xD6,0x0F,0xFE,0xF0,0xCA,0x5D,0x02,0xCD,0x89,0x06,0xDE,0xF1,0xDE,
0x0E,0xFE,0xF0,0xCA,0x69,0x02,0xCD,0x89,0x06,0xE6,0x55,0xFE,0x50,0xCA,0x73,0x02,
0xCD,0x89,0x06,0xF6,0x3A,0xFE,0x7A,0xCA,0x7D,0x02,0xCD,0x89,0x06,0xEE,0x0F,0xFE,
0x75,0xCA,0x87,0x02,0xCD,0x89,0x06,0xE6,0x00,0xDC,0x89,0x06,0xE4,0x89,0x06,0xFC,
0x89,0x06,0xC4,0x89,0x06,0xFE,0x00,0xCA,0x9D,0x02,0xCD,0x89,0x06,0xD6,0x77,0xD4,
0x89,0x06,0xEC,0x89,0x06,0xF4,0x89,0x06,0xCC,0x89,0x06,0xFE,0x89,0xCA,0xB3,0x02,
0xCD,0x89,0x06,0xE6,0xFF,0xE4,0xC0,0x02,0xFE,0xD9,0xCA,0x1D,0x03,0xCD,0x89,0x06,
0xE8,0xC6,0x10,0xEC,0xCC,0x02,0xC6,0x02,0xE0,0xCD,0x89,0x06,0xE0,0xC6,0x20,0xFC,
0xD8,0x02,0xC6,0x04,0xE8,0xCD,0x89,0x06,0xF0,0xC6,0x80,0xF4,0xE4,0x02,0xC6,0x80,
0xF8,0xCD,0x89,0x06,0xF8,0xC6,0x40,0xD4,0xF0,0x02,0xC6,0x40,0xF0,0xCD,0x89,0x06,
0xD8,0xC6,0x8F,0xDC,0xFC,0x02,0xD6,0x02,0xD0,0xCD,0x89,0x06,0xD0,0xC6,0xF7,0xC4,
0x08,0x03,0xC6,0xFE,0xD8,0xCD,0x89,0x06,0xC8,0xC6,0x01,0xCC,0x14,0x03,0xC6,0xD0,
0xC0,0xCD,0x89,0x06,0xC0,0xC6,0x47,0xFE,0x47,0xC8,0xCD,0x89,0x06,0x3E,0x77,0x3C,
0x47,0x04,0x48,0x0D,0x51,0x5A,0x63,0x6C,0x7D,0x3D,0x4F,0x59,0x6B,0x45,0x50,0x62,
0x7C,0x57,0x14,0x6A,0x4D,0x0C,0x61,0x44,0x05,0x58,0x7B,0x5F,0x1C,0x43,0x60,0x24,
0x4C,0x69,0x55,0x15,0x7A,0x67,0x25,0x54,0x42,0x68,0x2C,0x5D,0x1D,0x4B,0x79,0x6F,
0x2D,0x65,0x5C,0x53,0x4A,0x41,0x78,0xFE,0x77,0xC4,0x89,0x06,0xAF,0x06,0x01,0x0E,
0x03,0x16,0x07,0x1E,0x0F,0x26,0x1F,0x2E,0x3F,0x80,0x81,0x82,0x83,0x84,0x85,0x87,
0xFE,0xF0,0xC4,0x89,0x06,0x90,0x91,0x92,0x93,0x94,0x95,0xFE,0x78,0xC4,0x89,0x06,
0x97,0xC4,0x89,0x06,0x3E,0x80,0x87,0x06,0x01,0x0E,0x02,0x16,0x03,0x1E,0x04,0x26,
0x05,0x2E,0x06,0x88,0x06,0x80,0x80,0x80,0x89,0x80,0x80,0x8A,0x80,0x80,0x8B,0x80,
0x80,0x8C,0x80,0x80,0x8D,0x80,0x80,0x8F,0xFE,0x37,0xC4,0x89,0x06,0x3E,0x80,0x87,
0x06,0x01,0x98,0x06,0xFF,0x80,0x99,0x80,0x9A,0x80,0x9B,0x80,0x9C,0x80,0x9D,0xFE,
0xE0,0xC4,0x89,0x06,0x3E,0x80,0x87,0x9F,0xFE,0xFF,0xC4,0x89,0x06,0x3E,0xFF,0x06,
0xFE,0x0E,0xFC,0x16,0xEF,0x1E,0x7F,0x26,0xF4,0x2E,0xBF,0xA7,0xA1,0xA2,0xA3,0xA4,
0xA5,0xA7,0xFE,0x24,0xC4,0x89,0x06,0xAF,0x06,0x01,0x0E,0x02,0x16,0x04,0x1E,0x08,
0x26,0x10,0x2E,0x20,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB7,0xFE,0x3F,0xC4,0x89,0x06,
0x3E,0x00,0x26,0x8F,0x2E,0x4F,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xFE,0xCF,0xC4,0x89,
0x06,0xAF,0xC4,0x89,0x06,0x06,0x44,0x0E,0x45,0x16,0x46,0x1E,0x47,0x26,0x06,0x2E,
0xA6,0x70,0x06,0x00,0x46,0x3E,0x44,0xB8,0xC4,0x89,0x06,0x72,0x16,0x00,0x56,0x3E,
0x46,0xBA,0xC4,0x89,0x06,0x73,0x1E,0x00,0x5E,0x3E,0x47,0xBB,0xC4,0x89,0x06,0x74,
0x26,0x06,0x2E,0xA6,0x66,0x3E,0x06,0xBC,0xC4,0x89,0x06,0x75,0x26,0x06,0x2E,0xA6,
0x6E,0x3E,0xA6,0xBD,0xC4,0x89,0x06,0x26,0x06,0x2E,0xA6,0x3E,0x32,0x77,0xBE,0xC4,
0x89,0x06,0x86,0xFE,0x64,0xC4,0x89,0x06,0xAF,0x7E,0xFE,0x32,0xC4,0x89,0x06,0x26,
0x06,0x2E,0xA6,0x7E,0x96,0xC4,0x89,0x06,0x3E,0x80,0x87,0x8E,0xFE,0x33,0xC4,0x89,
0x06,0x3E,0x80,0x87,0x9E,0xFE,0xCD,0xC4,0x89,0x06,0xA6,0xC4,0x89,0x06,0x3E,0x25,
0xB6,0xFE,0x37,0xC4,0x89,0x06,0xAE,0xFE,0x05,0xC4,0x89,0x06,0x36,0x55,0x34,0x35,
0x86,0xFE,0x5A,0xC4,0x89,0x06,0x01,0xFF,0x12,0x11,0xFF,0x12,0x21,0xFF,0x12,0x03,
0x13,0x23,0x3E,0x13,0xB8,0xC4,0x89,0x06,0xBA,0xC4,0x89,0x06,0xBC,0xC4,0x89,0x06,
0x3E,0x00,0xB9,0xC4,0x89,0x06,0xBB,0xC4,0x89,0x06,0xBD,0xC4,0x89,0x06,0x0B,0x1B,
0x2B,0x3E,0x12,0xB8,0xC4,0x89,0x06,0xBA,0xC4,0x89,0x06,0xBC,0xC4,0x89,0x06,0x3E,
0xFF,0xB9,0xC4,0x89,0x06,0xBB,0xC4,0x89,0x06,0xBD,0xC4,0x89,0x06,0x32,0xA6,0x06,
0xAF,0x3A,0xA6,0x06,0xFE,0xFF,0xC4,0x89,0x06,0x2A,0xA4,0x06,0x22,0xA6,0x06,0x3A,
0xA4,0x06,0x47,0x3A,0xA6,0x06,0xB8,0xC4,0x89,0x06,0x3A,0xA5,0x06,0x47,0x3A,0xA7,
0x06,0xB8,0xC4,0x89,0x06,0x3E,0xAA,0x32,0xA6,0x06,0x44,0x4D,0xAF,0x0A,0xFE,0xAA,
0xC4,0x89,0x06,0x3C,0x02,0x3A,0xA6,0x06,0xFE,0xAB,0xC4,0x89,0x06,0x3E,0x77,0x32,
0xA6,0x06,0x2A,0xA4,0x06,0x11,0x00,0x00,0xEB,0xAF,0x1A,0xFE,0x77,0xC4,0x89,0x06,
0xAF,0x84,0x85,0xC4,0x89,0x06,0x3E,0xCC,0x12,0x3A,0xA6,0x06,0xFE,0xCC,0x12,0x3A,
0xA6,0x06,0xFE,0xCC,0xC4,0x89,0x06,0x21,0x77,0x77,0x29,0x3E,0xEE,0xBC,0xC4,0x89,
0x06,0xBD,0xC4,0x89,0x06,0x21,0x55,0x55,0x01,0xFF,0xFF,0x09,0x3E,0x55,0xD4,0x89,
0x06,0xBC,0xC4,0x89,0x06,0x3E,0x54,0xBD,0xC4,0x89,0x06,0x21,0xAA,0xAA,0x11,0x33,
0x33,0x19,0x3E,0xDD,0xBC,0xC4,0x89,0x06,0xBD,0xC4,0x89,0x06,0x37,0xD4,0x89,0x06,
0x3F,0xDC,0x89,0x06,0x3E,0xAA,0x2F,0xFE,0x55,0xC4,0x89,0x06,0xB7,0x27,0xFE,0x55,
0xC4,0x89,0x06,0x3E,0x88,0x87,0x27,0xFE,0x76,0xC4,0x89,0x06,0xAF,0x3E,0xAA,0x27,
0xD4,0x89,0x06,0xFE,0x10,0xC4,0x89,0x06,0xAF,0x3E,0x9A,0x27,0xD4,0x89,0x06,0xC4,
0x89,0x06,0x37,0x3E,0x42,0x07,0xDC,0x89,0x06,0x07,0xD4,0x89,0x06,0xFE,0x09,0xC4,
0x89,0x06,0x0F,0xD4,0x89,0x06,0x0F,0xFE,0x42,0xC4,0x89,0x06,0x17,0x17,0xD4,0x89,
0x06,0xFE,0x08,0xC4,0x89,0x06,0x1F,0x1F,0xDC,0x89,0x06,0xFE,0x02,0xC4,0x89,0x06,
0x01,0x34,0x12,0x11,0xAA,0xAA,0x21,0x55,0x55,0xAF,0xC5,0xD5,0xE5,0xF5,0x01,0x00,
0x00,0x11,0x00,0x00,0x21,0x00,0x00,0x3E,0xC0,0xC6,0xF0,0xF1,0xE1,0xD1,0xC1,0xDC,
0x89,0x06,0xC4,0x89,0x06,0xE4,0x89,0x06,0xFC,0x89,0x06,0x3E,0x12,0xB8,0xC4,0x89,
0x06,0x3E,0x34,0xB9,0xC4,0x89,0x06,0x3E,0xAA,0xBA,0xC4,0x89,0x06,0xBB,0xC4,0x89,
0x06,0x3E,0x55,0xBC,0xC4,0x89,0x06,0xBD,0xC4,0x89,0x06,0x21,0x00,0x00,0x39,0x22,
0xAB,0x06,0x31,0xAA,0x06,0x3B,0x3B,0x33,0x3B,0x3E,0x55,0x32,0xA8,0x06,0x2F,0x32,
0xA9,0x06,0xC1,0xB8,0xC4,0x89,0x06,0x2F,0xB9,0xC4,0x89,0x06,0x21,0xAA,0x06,0xF9,
0x21,0x33,0x77,0x3B,0x3B,0xE3,0x3A,0xA9,0x06,0xFE,0x77,0xC4,0x89,0x06,0x3A,0xA8,
0x06,0xFE,0x33,0xC4,0x89,0x06,0x3E,0x55,0xBD,0xC4,0x89,0x06,0x2F,0xBC,0xC4,0x89,
0x06,0x2A,0xAB,0x06,0xF9,0x21,0x9B,0x06,0xE9,0x21,0x8B,0x01,0xCD,0x45,0x01,0xE3,
0x7C,0xCD,0x54,0x01,0x7D,0xCD,0x54,0x01,0xC3,0x00,0x00,0x21,0x74,0x01,0xCD,0x45,
0x01,0xC3,0x00,0x00,0xA6,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
// i8080 CPU Exerciser (C) Frank D. Cringle 1994, Ian Bartholomew 2009
// modifications:
const byte PROGMEM i8080_exerciser[288*16] = {
0xc3,0x13,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,/*0x2a,0x00,0x06,*/ 0x21,0xFF,0x00,0xf9,0x11,0x01,0x0e,0x0e,0x09,0xcd,0xf5,0x0d,0x21,
/*0x3a*/0x3a,0x01,0x7e,0x23,0xb6,0xca,0x2f,0x01,0x2b,0xcd,0xce,0x0a,0xc3,0x22,0x01,0x11,
0x1e,0x0e,0x0e,0x09,0xcd,0xf5,0x0d,0xc3,0x00,0x00,0x6e,0x01,0xce,0x01,/*0x2e,0x02,*/0x6e,0x0a,
0x8e,0x02,0xee,0x02,0x4e,0x03,0xae,0x03,0x0e,0x04,0x6e,0x04,0xce,0x04,0x2e,0x05,
0x8e,0x05,0xee,0x05,0x4e,0x06,0xae,0x06,0x0e,0x07,0x6e,0x07,0xce,0x07,0x2e,0x08,
0x8e,0x08,0xee,0x08,0x4e,0x09,0xae,0x09,0x0e,0x0a,/*0x6e,0x0a,*/0x2e,0x02,0x00,0x00,0xff,0x09,
0x00,0x00,0x00,0xa5,0xc4,0xc7,0xc4,0x26,0xd2,0x50,0xa0,0xea,0x58,0x66,0x85,0xc6,
0xde,0xc9,0x9b,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0xf8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0x00,0xff,0xff,0x14,0x47,0x4b,0xa6,0x64,
0x61,0x64,0x20,0x3c,0x62,0x2c,0x64,0x2c,0x68,0x2c,0x73,0x70,0x3e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0xc6,
0x00,0x00,0x00,0x40,0x91,0x3c,0x7e,0x67,0x7a,0x6d,0xdf,0x61,0x5b,0x29,0x0b,0x10,
0x66,0xb2,0x85,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0x9e,0x92,0x2f,0x9e,0x61,
0x6c,0x75,0x6f,0x70,0x20,0x6e,0x6e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x80,
0x00,0x00,0x00,0x3e,0xc5,0x3a,0x57,0x4d,0x4c,0x03,0x01,0x09,0xe3,0x66,0xa6,0xd0,
0x3b,0xbb,0xad,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xd7,0x00,0x00,0x00,0xcf,0x76,0x2c,0x86,0x61,
0x6c,0x75,0x6f,0x70,0x20,0x3c,0x62,0x2c,0x63,0x2c,0x64,0x2c,0x65,0x2c,0x68,0x2c,
0x6c,0x2c,0x6d,0x2c,0x61,0x3e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x27,
0x00,0x00,0x00,0x41,0x21,0xfa,0x09,0x60,0x1d,0x59,0xa5,0x5b,0x8d,0x79,0x90,0x04,
0x8e,0x9d,0x29,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xd7,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x3f,0x03,0x0c,0x3c,
0x64,0x61,0x61,0x2c,0x63,0x6d,0x61,0x2c,0x73,0x74,0x63,0x2c,0x63,0x6d,0x63,0x3e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x3c,
0x00,0x00,0x00,0xdf,0x4a,0xd8,0xd5,0x98,0xe5,0x2b,0x8a,0xb0,0xa7,0x1b,0x43,0x44,
0x5a,0x30,0xd0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0xad,0xb6,0x46,0x0e,0x3c,
0x69,0x6e,0x72,0x2c,0x64,0x63,0x72,0x3e,0x20,0x61,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x04,
0x00,0x00,0x00,0x23,0xd6,0x2d,0x43,0x61,0x7a,0x80,0x81,0x86,0x5a,0x85,0x1e,0x86,
0x58,0xbb,0x9b,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0x83,0xed,0x13,0x45,0x3c,
0x69,0x6e,0x72,0x2c,0x64,0x63,0x72,0x3e,0x20,0x62,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x03,
0x00,0x00,0x00,0x97,0xcd,0xab,0x44,0xc9,0x8d,0xe3,0xe3,0xcc,0x11,0xa4,0xe8,0x02,
0x49,0x4d,0x2a,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x21,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0xf7,0x92,0x87,0xcd,0x3c,
0x69,0x6e,0x78,0x2c,0x64,0x63,0x78,0x3e,0x20,0x62,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x0c,
0x00,0x00,0x00,0x89,0xd7,0x35,0x09,0x5b,0x05,0x85,0x9f,0x27,0x8b,0x08,0xd2,0x95,
0x05,0x60,0x06,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0xe5,0xf6,0x72,0x1b,0x3c,
0x69,0x6e,0x72,0x2c,0x64,0x63,0x72,0x3e,0x20,0x63,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x14,
0x00,0x00,0x00,0xea,0xa0,0xba,0x5f,0xfb,0x65,0x1c,0x98,0xcc,0x38,0xbc,0xde,0x43,
0x5c,0xbd,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0x15,0xb5,0x57,0x9a,0x3c,
0x69,0x6e,0x72,0x2c,0x64,0x63,0x72,0x3e,0x20,0x64,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x13,
0x00,0x00,0x00,0x2e,0x34,0x1d,0x13,0xc9,0x28,0xca,0x0a,0x67,0x99,0x2e,0x3a,0x92,
0xf6,0x54,0x9d,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,
0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0x7f,0x4e,0x25,0x01,0x3c,
0x69,0x6e,0x78,0x2c,0x64,0x63,0x78,0x3e,0x20,0x64,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x1c,
0x00,0x00,0x00,0x2f,0x60,0x0d,0x4c,0x02,0x24,0xf5,0xe2,0xf4,0xa0,0x0a,0xa1,0x13,
0x32,0x25,0x59,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0xcf,0x2a,0xb3,0x96,0x3c,
0x69,0x6e,0x72,0x2c,0x64,0x63,0x72,0x3e,0x20,0x65,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x24,
0x00,0x00,0x00,0x06,0x15,0xeb,0xf2,0xdd,0xe8,0x2b,0x26,0xa6,0x11,0x1a,0xbc,0x17,
0x06,0x18,0x28,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0x12,0xb2,0x95,0x2c,0x3c,
0x69,0x6e,0x72,0x2c,0x64,0x63,0x72,0x3e,0x20,0x68,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x23,
0x00,0x00,0x00,0xf4,0xc3,0xa5,0x07,0x6d,0x1b,0x04,0x4f,0xc2,0xe2,0x2a,0x82,0x57,
0xe0,0xe1,0xc3,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0xf8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0x9f,0x2b,0x23,0xc0,0x3c,
0x69,0x6e,0x78,0x2c,0x64,0x63,0x78,0x3e,0x20,0x68,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x2c,
0x00,0x00,0x00,0x31,0x80,0x20,0xa5,0x56,0x43,0x09,0xb4,0xc1,0xf4,0xa2,0xdf,0xd1,
0x3c,0xa2,0x3e,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0xff,0x57,0xd3,0x56,0x3c,
0x69,0x6e,0x72,0x2c,0x64,0x63,0x72,0x3e,0x20,0x6c,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x34,
0x00,0x00,0x00,0x56,0xb8,0x7c,0x0c,0x3e,0xe5,0x03,0x01,0x7e,0x87,0x58,0xda,0x15,
0x5c,0x37,0x1f,0x01,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0x92,0xe9,0x63,0xbd,0x3c,
0x69,0x6e,0x72,0x2c,0x64,0x63,0x72,0x3e,0x20,0x6d,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x33,
0x00,0x00,0x00,0x6f,0x34,0x82,0xd4,0x69,0xd1,0xb6,0xde,0x94,0xa4,0x76,0xf4,0x53,
0x02,0x5b,0x85,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x21,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0xd5,0x70,0x2f,0xab,0x3c,
0x69,0x6e,0x78,0x2c,0x64,0x63,0x78,0x3e,0x20,0x73,0x70,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x2a,
0x03,0x01,0x00,0x63,0x98,0x30,0x78,0x77,0x20,0xfe,0xb1,0xfa,0xb9,0xb8,0xab,0x04,
0x06,0x15,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa9,0xc3,0xd5,0xcb,0x6c,
0x68,0x6c,0x64,0x20,0x6e,0x6e,0x6e,0x6e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x22,
0x03,0x01,0x00,0x03,0xd0,0x72,0x77,0x53,0x7f,0x72,0x3f,0xea,0x64,0x80,0xe1,0x10,
0x2d,0xe9,0x35,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe8,0x86,0x4f,0x26,0x73,
0x68,0x6c,0x64,0x20,0x6e,0x6e,0x6e,0x6e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x01,
0x00,0x00,0x00,0x1c,0x5c,0x46,0x2d,0xb9,0x8e,0x78,0x60,0xb1,0x74,0x0e,0xb3,0x46,
0xd1,0xcc,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xf4,0x6e,0x12,0x6c,
0x78,0x69,0x20,0x3c,0x62,0x2c,0x64,0x2c,0x68,0x2c,0x73,0x70,0x3e,0x2c,0x6e,0x6e,
0x6e,0x6e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x0a,
0x00,0x00,0x00,0xa8,0xb3,0x2a,0x1d,0x8e,0x7f,0xac,0x42,0x03,0x01,0x03,0x01,0xc6,
0xb1,0x8e,0xef,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0xff,0x00,0x00,0x2b,0x82,0x1d,0x5f,0x6c,
0x64,0x61,0x78,0x20,0x3c,0x62,0x2c,0x64,0x3e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x06,
0x00,0x00,0x00,0x07,0xc4,0x9d,0xf4,0x3d,0xd1,0x39,0x03,0x89,0xde,0x55,0x74,0x53,
0xc0,0x09,0x55,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xea,0xa7,0x20,0x44,0x6d,
0x76,0x69,0x20,0x3c,0x62,0x2c,0x63,0x2c,0x64,0x2c,0x65,0x2c,0x68,0x2c,0x6c,0x2c,
0x6d,0x2c,0x61,0x3e,0x2c,0x6e,0x6e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x40,
0x00,0x00,0x00,0xa4,0x72,0x24,0xa0,0xac,0x61,0x03,0x01,0xc7,0x82,0x8f,0x71,0x97,
0x8f,0x8e,0xef,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xd7,0xff,0x00,0x00,0x10,0xb5,0x8c,0xee,0x6d,
0x6f,0x76,0x20,0x3c,0x62,0x63,0x64,0x65,0x68,0x6c,0x61,0x3e,0x2c,0x3c,0x62,0x63,
0x64,0x65,0x68,0x6c,0x61,0x3e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x32,
0x03,0x01,0x00,0x68,0xfd,0xec,0xf4,0xa0,0x44,0x43,0xb5,0x53,0x06,0xba,0xcd,0xd2,
0x4f,0xd8,0x1f,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0xff,0x00,0x00,0xed,0x57,0xaf,0x72,0x73,
0x74,0x61,0x20,0x6e,0x6e,0x6e,0x6e,0x20,0x2f,0x20,0x6c,0x64,0x61,0x20,0x6e,0x6e,
0x6e,0x6e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x07,
0x00,0x00,0x00,0x92,0xcb,0x43,0x6d,0x90,0x0a,0x84,0xc2,0x53,0x0c,0x0e,0xf5,0x91,
0xeb,0xfc,0x40,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd7,0x00,0x00,0x00,0xe0,0xd8,0x92,0x35,0x3c,
0x72,0x6c,0x63,0x2c,0x72,0x72,0x63,0x2c,0x72,0x61,0x6c,0x2c,0x72,0x61,0x72,0x3e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xff,0x02,
0x00,0x00,0x00,0x3b,0x0c,0x92,0xb5,0xff,0x6c,0x9e,0x95,0x03,0x01,0x04,0x01,0xc1,
0x21,0xe7,0xbd,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x2b,0x04,0x71,0xe9,0x73,
0x74,0x61,0x78,0x20,0x3c,0x62,0x2c,0x64,0x3e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x24,0xe5,0x7e,
0x23,0x66,0x6f,0x7e,0x32,0x8a,0x0d,0x23,0xe5,0x11,0x14,0x00,0x19,0x11,0xe9,0x0c,
0xcd,0x58,0x0c,0xe1,0xe5,0x11,0x28,0x00,0x19,0x11,0x11,0x0d,0xcd,0x58,0x0c,0x21,
0x11,0x0d,0x36,0x01,0xe1,0xe5,0x11,0x58,0x0d,0x01,0x04,0x00,0x7e,0x12,0x23,0x13,
0x0b,0x78,0xb1,0xc2,0xfc,0x0a,0x11,0x03,0x01,0x01,0x10,0x00,0x7e,0x12,0x23,0x13,
0x0b,0x78,0xb1,0xc2,0x0c,0x0b,0x11,0x2c,0x00,0x19,0xeb,0x0e,0x09,0xcd,0xf5,0x0d,
0xcd,0xa2,0x0e,0x3a,0x58,0x0d,0xfe,0x76,0xca,0x3a,0x0b,0xe6,0xdf,0xfe,0xdd,0xc2,
0x37,0x0b,0x3a,0x59,0x0d,0xfe,0x76,0xc4,0x39,0x0d,0xcd,0x98,0x0c,0xc4,0xbc,0x0c,
0xe1,0xca,0x81,0x0b,0x11,0x3c,0x00,0x19,0xcd,0x63,0x0e,0xca,0x73,0x0b,0x11,0x3d,
0x0e,0x0e,0x09,0xcd,0xf5,0x0d,0xcd,0xc0,0x0d,0x11,0x58,0x0e,0x0e,0x09,0xcd,0xf5,
0x0d,0x21,0xb6,0x0e,0xcd,0xc0,0x0d,0x11,0x60,0x0e,0x0e,0x09,0xcd,0xf5,0x0d,0xe1,
0x23,0x23,0xc9,0x11,0x2d,0x0e,0x0e,0x09,0xcd,0xf5,0x0d,0xcd,0xc0,0x0d,0xc3,0x67,
0x0b,0xe5,0x3e,0x01,0x32,0xf7,0x0b,0x32,0x1b,0x0c,0x21,0xe9,0x0c,0x22,0xf8,0x0b,
0x21,0x11,0x0d,0x22,0x1c,0x0c,0x06,0x04,0xe1,0xe5,0x11,0x58,0x0d,0xcd,0xab,0x0b,
0x06,0x10,0x11,0x03,0x01,0xcd,0xab,0x0b,0xc3,0x23,0x0b,0xcd,0xb4,0x0b,0x23,0x05,
0xc2,0xab,0x0b,0xc9,0xc5,0xd5,0xe5,0x4e,0x11,0x14,0x00,0x19,0x7e,0xfe,0x00,0xca,
0xd5,0x0b,0x06,0x08,0x0f,0xf5,0x3e,0x00,0xdc,0xfa,0x0b,0xa9,0x0f,0x4f,0xf1,0x05,
0xc2,0xc4,0x0b,0x06,0x08,0x11,0x14,0x00,0x19,0x7e,0xfe,0x00,0xca,0xf0,0x0b,0x06,
0x08,0x0f,0xf5,0x3e,0x00,0xdc,0x1e,0x0c,0xa9,0x0f,0x4f,0xf1,0x05,0xc2,0xe1,0x0b,
0xe1,0xd1,0x79,0x12,0x13,0xc1,0xc9,0x00,0x00,0x00,0xc5,0xe5,0x2a,0xf8,0x0b,0x46,
0x21,0xf7,0x0b,0x7e,0x4f,0x07,0x77,0xfe,0x01,0xc2,0x13,0x0c,0x2a,0xf8,0x0b,0x23,
0x22,0xf8,0x0b,0x78,0xa1,0xe1,0xc1,0xc8,0x3e,0x01,0xc9,0x00,0x00,0x00,0xc5,0xe5,
0x2a,0x1c,0x0c,0x46,0x21,0x1b,0x0c,0x7e,0x4f,0x07,0x77,0xfe,0x01,0xc2,0x37,0x0c,
0x2a,0x1c,0x0c,0x23,0x22,0x1c,0x0c,0x78,0xa1,0xe1,0xc1,0xc8,0x3e,0x01,0xc9,0xf5,
0xc5,0xd5,0xe5,0x36,0x00,0x54,0x5d,0x13,0x0b,0x7e,0x12,0x23,0x13,0x0b,0x78,0xb1,
0xc2,0x49,0x0c,0xe1,0xd1,0xc1,0xf1,0xc9,0xd5,0xeb,0x01,0x28,0x00,0xcd,0x3f,0x0c,
0xeb,0x06,0x14,0x0e,0x01,0x16,0x00,0x5e,0x7b,0xa1,0xca,0x6e,0x0c,0x14,0x79,0x07,
0x4f,0xfe,0x01,0xc2,0x68,0x0c,0x23,0x05,0xc2,0x67,0x0c,0x7a,0xe6,0xf8,0x0f,0x0f,
0x0f,0x6f,0x26,0x00,0x7a,0xe6,0x07,0x3c,0x47,0x3e,0x80,0x07,0x05,0xc2,0x8b,0x0c,
0xd1,0x19,0x11,0x14,0x00,0x19,0x77,0xc9,0xc5,0xd5,0xe5,0x21,0xe9,0x0c,0x11,0x14,
0x00,0xeb,0x19,0xeb,0x34,0x7e,0xfe,0x00,0xca,0xb7,0x0c,0x47,0x1a,0xa0,0xca,0xb3,
0x0c,0x36,0x00,0xc1,0xd1,0xe1,0xc9,0x23,0x13,0xc3,0xa4,0x0c,0xc5,0xd5,0xe5,0x21,
0x11,0x0d,0x11,0x14,0x00,0xeb,0x19,0xeb,0x7e,0xb7,0xca,0xe4,0x0c,0x47,0x1a,0xa0,
0xc2,0xe0,0x0c,0x78,0x07,0xfe,0x01,0xc2,0xde,0x0c,0x36,0x00,0x23,0x13,0x77,0xaf,
0xe1,0xd1,0xc1,0xc9,0x23,0x13,0xc3,0xc8,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf5,0xc5,0xd5,0xe5,0xf3,0x21,0x00,
0x00,0x39,0x22,0xb4,0x0d,0x31,0x05,0x01,0xe1,0xe1,0xe1,0xd1,0xc1,0xf1,0x22,0xa2,
0x0d,0x2a,0x11,0x01,0xf9,0x2a,0xa2,0x0d,0x00,0x00,0x00,0x00,0x22,0xa2,0x0d,0x21,
0x00,0x00,0xda,0x69,0x0d,0x39,0xc3,0x6b,0x0d,0x39,0x37,0x22,0xb2,0x0d,0x2a,0xa2,
0x0d,0x31,0xb2,0x0d,0xf5,0xc5,0xd5,0xe5,0xe5,0xe5,0x2a,0xb4,0x0d,0xf9,0xfb,0x2a,
0x03,0x01,0x22,0xa4,0x0d,0x21,0xb0,0x0d,0x7e,0xe6,0xff,0x77,0x06,0x10,0x11,0xa4,
0x0d,0x21,0xb6,0x0e,0x1a,0x13,0xcd,0x7a,0x0e,0x05,0xc2,0x94,0x0d,0xe1,0xd1,0xc1,
0xf1,0xc9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0xcd,0xd2,0x0d,0x23,0x05,0xc2,0xb6,0x0d,0xc9,
0xf5,0xc5,0xe5,0x06,0x04,0x7e,0xcd,0xd2,0x0d,0x23,0x05,0xc2,0xc5,0x0d,0xe1,0xc1,
0xf1,0xc9,0xf5,0x0f,0x0f,0x0f,0x0f,0xcd,0xdb,0x0d,0xf1,0xf5,0xc5,0xd5,0xe5,0xe6,
0x0f,0xfe,0x0a,0xda,0xe8,0x0d,0xc6,0x27,0xc6,0x30,0x5f,0x0e,0x02,0xcd,0xf5,0x0d,
0xe1,0xd1,0xc1,0xf1,0xc9,0xf5,0xc5,0xd5,0xe5,0xcd,0x05,0x00,0xe1,0xd1,0xc1,0xf1,
0xc9,0x38,0x30,0x38,0x30,0x20,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,
0x6e,0x20,0x65,0x78,0x65,0x72,0x63,0x69,0x73,0x65,0x72,0x0a,0x0d,0x24,0x54,0x65,
0x73,0x74,0x73,0x20,0x63,0x6f,0x6d,0x70,0x6c,0x65,0x74,0x65,0x24,0x20,0x20,0x50,
0x41,0x53,0x53,0x21,0x20,0x63,0x72,0x63,0x20,0x69,0x73,0x3a,0x24,0x20,0x20,0x45,
0x52,0x52,0x4f,0x52,0x20,0x2a,0x2a,0x2a,0x2a,0x20,0x63,0x72,0x63,0x20,0x65,0x78,
0x70,0x65,0x63,0x74,0x65,0x64,0x3a,0x24,0x20,0x66,0x6f,0x75,0x6e,0x64,0x3a,0x24,
0x0a,0x0d,0x24,0xc5,0xd5,0xe5,0x11,0xb6,0x0e,0x06,0x04,0x1a,0xbe,0xc2,0x76,0x0e,
0x23,0x13,0x05,0xc2,0x6b,0x0e,0xe1,0xd1,0xc1,0xc9,0xf5,0xc5,0xd5,0xe5,0xe5,0x11,
0x03,0x00,0x19,0xae,0x6f,0x26,0x00,0x29,0x29,0xeb,0x21,0xba,0x0e,0x19,0xeb,0xe1,
0x01,0x04,0x00,0x1a,0xa8,0x46,0x77,0x13,0x23,0x0d,0xc2,0x93,0x0e,0xe1,0xd1,0xc1,
0xf1,0xc9,0xf5,0xc5,0xe5,0x21,0xb6,0x0e,0x3e,0xff,0x06,0x04,0x77,0x23,0x05,0xc2,
0xac,0x0e,0xe1,0xc1,0xf1,0xc9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x07,
0x30,0x96,0xee,0x0e,0x61,0x2c,0x99,0x09,0x51,0xba,0x07,0x6d,0xc4,0x19,0x70,0x6a,
0xf4,0x8f,0xe9,0x63,0xa5,0x35,0x9e,0x64,0x95,0xa3,0x0e,0xdb,0x88,0x32,0x79,0xdc,
0xb8,0xa4,0xe0,0xd5,0xe9,0x1e,0x97,0xd2,0xd9,0x88,0x09,0xb6,0x4c,0x2b,0x7e,0xb1,
0x7c,0xbd,0xe7,0xb8,0x2d,0x07,0x90,0xbf,0x1d,0x91,0x1d,0xb7,0x10,0x64,0x6a,0xb0,
0x20,0xf2,0xf3,0xb9,0x71,0x48,0x84,0xbe,0x41,0xde,0x1a,0xda,0xd4,0x7d,0x6d,0xdd,
0xe4,0xeb,0xf4,0xd4,0xb5,0x51,0x83,0xd3,0x85,0xc7,0x13,0x6c,0x98,0x56,0x64,0x6b,
0xa8,0xc0,0xfd,0x62,0xf9,0x7a,0x8a,0x65,0xc9,0xec,0x14,0x01,0x5c,0x4f,0x63,0x06,
0x6c,0xd9,0xfa,0x0f,0x3d,0x63,0x8d,0x08,0x0d,0xf5,0x3b,0x6e,0x20,0xc8,0x4c,0x69,
0x10,0x5e,0xd5,0x60,0x41,0xe4,0xa2,0x67,0x71,0x72,0x3c,0x03,0xe4,0xd1,0x4b,0x04,
0xd4,0x47,0xd2,0x0d,0x85,0xfd,0xa5,0x0a,0xb5,0x6b,0x35,0xb5,0xa8,0xfa,0x42,0xb2,
0x98,0x6c,0xdb,0xbb,0xc9,0xd6,0xac,0xbc,0xf9,0x40,0x32,0xd8,0x6c,0xe3,0x45,0xdf,
0x5c,0x75,0xdc,0xd6,0x0d,0xcf,0xab,0xd1,0x3d,0x59,0x26,0xd9,0x30,0xac,0x51,0xde,
0x00,0x3a,0xc8,0xd7,0x51,0x80,0xbf,0xd0,0x61,0x16,0x21,0xb4,0xf4,0xb5,0x56,0xb3,
0xc4,0x23,0xcf,0xba,0x95,0x99,0xb8,0xbd,0xa5,0x0f,0x28,0x02,0xb8,0x9e,0x5f,0x05,
0x88,0x08,0xc6,0x0c,0xd9,0xb2,0xb1,0x0b,0xe9,0x24,0x2f,0x6f,0x7c,0x87,0x58,0x68,
0x4c,0x11,0xc1,0x61,0x1d,0xab,0xb6,0x66,0x2d,0x3d,0x76,0xdc,0x41,0x90,0x01,0xdb,
0x71,0x06,0x98,0xd2,0x20,0xbc,0xef,0xd5,0x10,0x2a,0x71,0xb1,0x85,0x89,0x06,0xb6,
0xb5,0x1f,0x9f,0xbf,0xe4,0xa5,0xe8,0xb8,0xd4,0x33,0x78,0x07,0xc9,0xa2,0x0f,0x00,
0xf9,0x34,0x96,0x09,0xa8,0x8e,0xe1,0x0e,0x98,0x18,0x7f,0x6a,0x0d,0xbb,0x08,0x6d,
0x3d,0x2d,0x91,0x64,0x6c,0x97,0xe6,0x63,0x5c,0x01,0x6b,0x6b,0x51,0xf4,0x1c,0x6c,
0x61,0x62,0x85,0x65,0x30,0xd8,0xf2,0x62,0x00,0x4e,0x6c,0x06,0x95,0xed,0x1b,0x01,
0xa5,0x7b,0x82,0x08,0xf4,0xc1,0xf5,0x0f,0xc4,0x57,0x65,0xb0,0xd9,0xc6,0x12,0xb7,
0xe9,0x50,0x8b,0xbe,0xb8,0xea,0xfc,0xb9,0x88,0x7c,0x62,0xdd,0x1d,0xdf,0x15,0xda,
0x2d,0x49,0x8c,0xd3,0x7c,0xf3,0xfb,0xd4,0x4c,0x65,0x4d,0xb2,0x61,0x58,0x3a,0xb5,
0x51,0xce,0xa3,0xbc,0x00,0x74,0xd4,0xbb,0x30,0xe2,0x4a,0xdf,0xa5,0x41,0x3d,0xd8,
0x95,0xd7,0xa4,0xd1,0xc4,0x6d,0xd3,0xd6,0xf4,0xfb,0x43,0x69,0xe9,0x6a,0x34,0x6e,
0xd9,0xfc,0xad,0x67,0x88,0x46,0xda,0x60,0xb8,0xd0,0x44,0x04,0x2d,0x73,0x33,0x03,
0x1d,0xe5,0xaa,0x0a,0x4c,0x5f,0xdd,0x0d,0x7c,0xc9,0x50,0x05,0x71,0x3c,0x27,0x02,
0x41,0xaa,0xbe,0x0b,0x10,0x10,0xc9,0x0c,0x20,0x86,0x57,0x68,0xb5,0x25,0x20,0x6f,
0x85,0xb3,0xb9,0x66,0xd4,0x09,0xce,0x61,0xe4,0x9f,0x5e,0xde,0xf9,0x0e,0x29,0xd9,
0xc9,0x98,0xb0,0xd0,0x98,0x22,0xc7,0xd7,0xa8,0xb4,0x59,0xb3,0x3d,0x17,0x2e,0xb4,
0x0d,0x81,0xb7,0xbd,0x5c,0x3b,0xc0,0xba,0x6c,0xad,0xed,0xb8,0x83,0x20,0x9a,0xbf,
0xb3,0xb6,0x03,0xb6,0xe2,0x0c,0x74,0xb1,0xd2,0x9a,0xea,0xd5,0x47,0x39,0x9d,0xd2,
0x77,0xaf,0x04,0xdb,0x26,0x15,0x73,0xdc,0x16,0x83,0xe3,0x63,0x0b,0x12,0x94,0x64,
0x3b,0x84,0x0d,0x6d,0x6a,0x3e,0x7a,0x6a,0x5a,0xa8,0xe4,0x0e,0xcf,0x0b,0x93,0x09,
0xff,0x9d,0x0a,0x00,0xae,0x27,0x7d,0x07,0x9e,0xb1,0xf0,0x0f,0x93,0x44,0x87,0x08,
0xa3,0xd2,0x1e,0x01,0xf2,0x68,0x69,0x06,0xc2,0xfe,0xf7,0x62,0x57,0x5d,0x80,0x65,
0x67,0xcb,0x19,0x6c,0x36,0x71,0x6e,0x6b,0x06,0xe7,0xfe,0xd4,0x1b,0x76,0x89,0xd3,
0x2b,0xe0,0x10,0xda,0x7a,0x5a,0x67,0xdd,0x4a,0xcc,0xf9,0xb9,0xdf,0x6f,0x8e,0xbe,
0xef,0xf9,0x17,0xb7,0xbe,0x43,0x60,0xb0,0x8e,0xd5,0xd6,0xd6,0xa3,0xe8,0xa1,0xd1,
0x93,0x7e,0x38,0xd8,0xc2,0xc4,0x4f,0xdf,0xf2,0x52,0xd1,0xbb,0x67,0xf1,0xa6,0xbc,
0x57,0x67,0x3f,0xb5,0x06,0xdd,0x48,0xb2,0x36,0x4b,0xd8,0x0d,0x2b,0xda,0xaf,0x0a,
0x1b,0x4c,0x36,0x03,0x4a,0xf6,0x41,0x04,0x7a,0x60,0xdf,0x60,0xef,0xc3,0xa8,0x67,
0xdf,0x55,0x31,0x6e,0x8e,0xef,0x46,0x69,0xbe,0x79,0xcb,0x61,0xb3,0x8c,0xbc,0x66,
0x83,0x1a,0x25,0x6f,0xd2,0xa0,0x52,0x68,0xe2,0x36,0xcc,0x0c,0x77,0x95,0xbb,0x0b,
0x47,0x03,0x22,0x02,0x16,0xb9,0x55,0x05,0x26,0x2f,0xc5,0xba,0x3b,0xbe,0xb2,0xbd,
0x0b,0x28,0x2b,0xb4,0x5a,0x92,0x5c,0xb3,0x6a,0x04,0xc2,0xd7,0xff,0xa7,0xb5,0xd0,
0xcf,0x31,0x2c,0xd9,0x9e,0x8b,0x5b,0xde,0xae,0x1d,0x9b,0x64,0xc2,0xb0,0xec,0x63,
0xf2,0x26,0x75,0x6a,0xa3,0x9c,0x02,0x6d,0x93,0x0a,0x9c,0x09,0x06,0xa9,0xeb,0x0e,
0x36,0x3f,0x72,0x07,0x67,0x85,0x05,0x00,0x57,0x13,0x95,0xbf,0x4a,0x82,0xe2,0xb8,
0x7a,0x14,0x7b,0xb1,0x2b,0xae,0x0c,0xb6,0x1b,0x38,0x92,0xd2,0x8e,0x9b,0xe5,0xd5,
0xbe,0x0d,0x7c,0xdc,0xef,0xb7,0x0b,0xdb,0xdf,0x21,0x86,0xd3,0xd2,0xd4,0xf1,0xd4,
0xe2,0x42,0x68,0xdd,0xb3,0xf8,0x1f,0xda,0x83,0x6e,0x81,0xbe,0x16,0xcd,0xf6,0xb9,
0x26,0x5b,0x6f,0xb0,0x77,0xe1,0x18,0xb7,0x47,0x77,0x88,0x08,0x5a,0xe6,0xff,0x0f,
0x6a,0x70,0x66,0x06,0x3b,0xca,0x11,0x01,0x0b,0x5c,0x8f,0x65,0x9e,0xff,0xf8,0x62,
0xae,0x69,0x61,0x6b,0xff,0xd3,0x16,0x6c,0xcf,0x45,0xa0,0x0a,0xe2,0x78,0xd7,0x0d,
0xd2,0xee,0x4e,0x04,0x83,0x54,0x39,0x03,0xb3,0xc2,0xa7,0x67,0x26,0x61,0xd0,0x60,
0x16,0xf7,0x49,0x69,0x47,0x4d,0x3e,0x6e,0x77,0xdb,0xae,0xd1,0x6a,0x4a,0xd9,0xd6,
0x5a,0xdc,0x40,0xdf,0x0b,0x66,0x37,0xd8,0x3b,0xf0,0xa9,0xbc,0xae,0x53,0xde,0xbb,
0x9e,0xc5,0x47,0xb2,0xcf,0x7f,0x30,0xb5,0xff,0xe9,0xbd,0xbd,0xf2,0x1c,0xca,0xba,
0xc2,0x8a,0x53,0xb3,0x93,0x30,0x24,0xb4,0xa3,0xa6,0xba,0xd0,0x36,0x05,0xcd,0xd7,
0x06,0x93,0x54,0xde,0x57,0x29,0x23,0xd9,0x67,0xbf,0xb3,0x66,0x7a,0x2e,0xc4,0x61,
0x4a,0xb8,0x5d,0x68,0x1b,0x02,0x2a,0x6f,0x2b,0x94,0xb4,0x0b,0xbe,0x37,0xc3,0x0c,
0x8e,0xa1,0x5a,0x05,0xdf,0x1b,0x2d,0x02,0xef,0x8d,0xa0,0x0a,0xe2,0x78,0xd7,0x0d,
0xd2,0xee,0x4e,0x04,0x83,0x54,0x39,0x03,0xb3,0xc2,0xa7,0x67,0x26,0x61,0xd0,0x60,
0x16,0xf7,0x49,0x69,0x47,0x4d,0x3e,0x6e,0x77,0xdb,0xae,0xd1,0x6a,0x4a,0xd9,0xd6,
0x5a,0xdc,0x40,0xdf,0x0b,0x66,0x37,0xd8,0x3b,0xf0,0xa9,0xbc,0xae,0x53,0xde,0xbb,
0x9e,0xc5,0x47,0xb2,0xcf,0x7f,0x30,0xb5,0xff,0xe9,0xbd,0xbd,0xf2,0x1c,0xca,0xba};
static const byte PROGMEM statustest[] =
{0072, 0040, 0000, 0062, 0041, 0000, 0061, 0040, 0000,
0365, 0361, 0333, 0020, 0323, 0020, 0373, 0363, 0166};
static const byte PROGMEM serialirqtest[] =
{0061, 0000, 0001, 0076, 0003, 0323, 0020, 0076,
0225, 0323, 0020, 0373, 0000, 0166 /*0000*/, 0303, 0014,
0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
0365, 0333, 0021, 0323, 0021, 0361, 0373, 0311 };
static const byte PROGMEM calc[] = {
B00000001, B00000000, B00000000, // 0x0000 LXI BC,0x0000 // clear B (sum) and C
B11011011, B11111111, // 0x0003 disp: IN 0xff // read sense switches
B11100110, B10000000, // 0x0005 ANI 0x80 // isolate highest bit
B01010111, // 0x0007 MOV D, A // remember in D
B00001010, // 0x0008 loop: LDAX BC // show content of B on A8-A15 leds
B00001010, // 0x0009 LDAX BC
B00001100, // 0x000A INR C
B11000010, B00001000, B00000000, // 0x000B JNZ loop
B11011011, B11111111, // 0x000E IN 0xff // read sense switches
B10101010, // 0x0010 XRA D // has highest bit changed?
B11110010, B00001000, B00000000, // 0x0011 JP loop [0x0008] // loop if no change
B01011111, // 0x0014 MOV E, A // save full input in E
B11100110, B00011111, // 0x0015 ANI 0x2f // isolate lower 5 bits
B01010111, // 0x0017 MOV D, A // save input value in D
B01111011, // 0x0018 MOV A, E // get full input back
B11100110, B01100000, // 0x001A ANI 0x60 // isolate bits 5+6
B11111110, B00000000, // 0x001C CPI 0x00 // bits 5/6 = 00?
B11001010, B01010001, B00000000, // 0x001D JZ add [0x0051] // => addition
B11111110, B00100000, // 0x0020 CPI 0x20 // bits 5/6 = 01?
B11001010, B01001100, B00000000, // 0x0022 JZ sub [0x004C] // => subtraction
B11111110, B01000000, // 0x0025 CPI 0x40 // bits 5/6 = 10?
B11001010, B01010110, B00000000, // 0x0027 JZ mlt [0x0056] // => multiplication
B00010100, // 0x002A INC D
B00010101, // 0x002B DCR D
B11000010, B00110100, B00000000, // 0x002C JNZ div [0x0034] // divisor = 0?
B00000110, B11111111, // 0x002F MVI B, 0xFF // yes => result is 0xff
B11000011, B00000011, B00000000, // 0x0031 JMP disp [0x0003] // start over
B01111000, // 0x0034 div: MOV A, B // move divident to A
B00011110, B00000000, // 0x0035 MVI E, 0x00 // result := 0
B00011100, // 0x0037 divl: INR E // increment result
B10010010, // 0x0038 SUB D // subtract divisor
B11001010, B01001000, B00000000, // 0x0039 JZ divd [0x0048] // if =0 then we're done
B11010010, B00110110, B00000000, // 0x003C JNC divl [0x0037] // if >0 (no underflow) then subtract again
B10000010, // 0x003F ADD D // add back divisor to get remainder
B00011101, // 0x0040 DCR E // decrement result (since we overshot)
B00111111, // 0x0041 CMC // clear carry (is set at this point)
B00000111, // 0x0042 RLC // multiply remainder by 2
B10111010, // 0x0043 CMP D // compare remainder to divisor
B11111010, B01001000, B00000000, // 0x0044 JM divd [0x0048] // if 2*remainder < divisor then we're done (rounded down)
B00011100, // 0x0047 INC E // otherwise we round up
B01000011, // 0x0048 divd: MOV B, E // move result to B
B11000011, B00000011, B00000000, // 0x0049 JMP disp [0x0003] // start over
B01111000, // 0x004C sub: MOV A, B // move minuend to A
B10010010, // 0x004D SUB D // subtract (subtrahend is in D)
B11000011, B01100001, B00000000, // 0x004E JMP done [0x0061] // finish up
B01111000, // 0x0051 add: MOV A, B // move addend 1 to A
B10000010, // 0x0052 ADD D // add (addend 2 is in D)
B11000011, B01100001, B00000000, // 0x0053 JMP done [0x0061] // finish up
B00111110, B00000000, // 0x0056 mlt: MVI A, 0x00 // result is 0
B10111010, // 0x0058 CMP D // if multiplicator is 0
B11001010, B01100001, B00000000, // 0x0059 JZ done [0x0061] // then we're done
B10000000, // 0x005C mltl: ADD B // add multiplicant
B00010101, // 0x005D DCR D // decrement multiplicator
B11000010, B01011100, B00000000, // 0x005E JNZ mltl [0x005C] // repeat if multiplicator>0
B01000111, // 0x0061 done: MOV B, A // move result to B
B11000011, B00000011, B00000000 // 0x0062 JMP disp [0x0003] // start over
};
#if !defined(__AVR_ATmega2560__)
// Altair Turnkey Monitor (C) MITS 1977
// turnkey monitor MUST be located in RAM at address 0xFD00
// => not possible when running on MEGA
static const byte prog_turnmon[] = {
0x3E,0x03,0xD3,0x10,0x3E,0x11,0xD3,0x10,0x31,0x00,0xFC,0xCD,0x96,0xFD,0xCD,0x96,
0xFD,0x3E,0x2E,0xCD,0xF2,0xFD,0xCD,0xE8,0xFD,0xFE,0x4D,0xCA,0x2C,0xFD,0xFE,0x44,
0xCA,0x54,0xFD,0xFE,0x4A,0xC2,0x08,0xFD,0xCD,0xA0,0xFD,0xE9,0xCD,0xA0,0xFD,0xC3,
0x33,0xFD,0x23,0xCD,0x96,0xFD,0x54,0x5D,0xCD,0xC6,0xFD,0x1A,0x67,0xCD,0xCC,0xFD,
0xCD,0xA5,0xFD,0xEB,0xDA,0x32,0xFD,0x77,0xBE,0xCA,0x32,0xFD,0x3E,0x3F,0xCD,0xF2,
0xFD,0xC3,0x08,0xFD,0xCD,0xA0,0xFD,0xEB,0xD4,0xE3,0xFD,0xCD,0xA0,0xFD,0xE5,0x62,
0x6B,0xCD,0x96,0xFD,0xCD,0xC6,0xFD,0xCD,0xE3,0xFD,0x01,0x10,0x00,0x1A,0x67,0xC5,
0x3E,0x08,0xB9,0xC2,0x7E,0xFD,0x3E,0x2D,0xCD,0xF2,0xFD,0xCD,0xE3,0xFD,0xCD,0xCC,
0xFD,0xC1,0xE1,0x7C,0xBA,0xC2,0x8D,0xFD,0x7D,0xBB,0xCA,0x08,0xFD,0xE5,0x13,0x0D,
0xC2,0x6D,0xFD,0xC3,0x5F,0xFD,0x3E,0x0D,0xCD,0xF2,0xFD,0x3E,0x0A,0xC3,0xF2,0xFD,
0x06,0x06,0xC3,0xA7,0xFD,0x06,0x03,0x21,0x00,0x00,0xCD,0xE8,0xFD,0x4F,0xFE,0x20,
0x37,0xC8,0xE6,0xB8,0xEE,0x30,0xC2,0x4C,0xFD,0x79,0xE6,0x07,0x29,0x29,0x29,0x85,
0x6F,0x05,0xC2,0xAA,0xFD,0xC9,0x06,0x06,0xAF,0xC3,0xD6,0xFD,0x06,0x03,0xAF,0xC3,
0xD3,0xFD,0x29,0x17,0x29,0x17,0x29,0x17,0xE6,0x07,0xF6,0x30,0xCD,0xF2,0xFD,0x05,
0xC2,0xD2,0xFD,0x3E,0x20,0xC3,0xF2,0xFD,0xDB,0x10,0x0F,0xD2,0xE8,0xFD,0xDB,0x11,
0xE6,0x7F,0xF5,0x81,0x4F,0xDB,0x10,0x0F,0x0F,0xD2,0xF5,0xFD,0xF1,0xD3,0x11,0xC9
};
// Martin Eberhard's MBLE enhanced multi-boot loader V3.00
static const byte prog_mble[] = {
0xF3, 0x31, 0x80, 0x00, 0x21, 0xC9, 0x00, 0xE5, 0xCD, 0x7E, 0x00, 0x3B, 0x3B, 0x24, 0x7E, 0x47,
0x2F, 0x77, 0xBE, 0x70, 0xC8, 0xC1, 0x0E, 0x2C, 0x25, 0xEB, 0x1E, 0x23, 0x21, 0xE1, 0xE9, 0xE5,
0xCD, 0x7C, 0x00, 0x3B, 0x3B, 0x7E, 0xFE, 0xFD, 0xC5, 0xC0, 0xC1, 0x7A, 0x12, 0x1C, 0x2C, 0xC0,
0x62, 0x2E, 0x35, 0xF9, 0xE9, 0x01, 0x8D, 0x20, 0x0B, 0x78, 0xB1, 0xC2, 0x38, 0xFD, 0xD3, 0x20,
0xD3, 0x21, 0xD3, 0x22, 0x2F, 0xD3, 0x23, 0x3E, 0x2C, 0xD3, 0x20, 0xD3, 0x22, 0x3E, 0x03, 0xD3,
0x10, 0xD3, 0x12, 0x3E, 0x11, 0xD3, 0x10, 0xD3, 0x12, 0xDB, 0xFF, 0xE6, 0x07, 0x87, 0xC6, 0xED,
0x5F, 0x1A, 0x2E, 0xE6, 0x1F, 0x77, 0x2E, 0xDF, 0x3D, 0x77, 0x1C, 0x1A, 0x2E, 0xE1, 0x77, 0xD2,
0x75, 0xFD, 0x2C, 0x36, 0xC2, 0xCD, 0xE5, 0xFD, 0xCD, 0xDE, 0xFD, 0x4F, 0xB7, 0xCA, 0x8F, 0xFD,
0xCD, 0xDE, 0xFD, 0xB9, 0xCA, 0x80, 0xFD, 0x0D, 0xCD, 0xDE, 0xFD, 0x0D, 0xC2, 0x88, 0xFD, 0x62,
0x2E, 0x8F, 0xE5, 0xCD, 0xDE, 0xFD, 0xFE, 0x3C, 0xCA, 0xA3, 0xFD, 0xFE, 0x78, 0xC0, 0xCD, 0xDA,
0xFD, 0x67, 0xE9, 0xCD, 0xDE, 0xFD, 0x41, 0x4F, 0xCD, 0xDA, 0xFD, 0x67, 0x7A, 0xBC, 0x3E, 0x4F,
0xCA, 0xC8, 0xFD, 0xCD, 0xDE, 0xFD, 0x77, 0xBE, 0x3E, 0x4D, 0xC2, 0xC8, 0xFD, 0x23, 0x0D, 0xC2,
0xAC, 0xFD, 0xCD, 0xDE, 0xFD, 0xC8, 0x3E, 0x43, 0x32, 0x00, 0x00, 0x22, 0x01, 0x00, 0xFB, 0xD3,
0x01, 0xD3, 0x11, 0xD3, 0x05, 0xD3, 0x23, 0xC3, 0xCF, 0xFD, 0xCD, 0xDE, 0xFD, 0x6F, 0xDB, 0x00,
0xE6, 0x00, 0xCA, 0xDE, 0xFD, 0xDB, 0x00, 0xB8, 0xF5, 0x80, 0x47, 0xF1, 0xC9, 0x22, 0x01, 0x22,
0x01, 0x03, 0x01, 0x0F, 0x01, 0x42, 0x80, 0x0A, 0x02, 0x26, 0x01, 0x26, 0x01, 0xD5};
// Martin Eberhard's CDBL combo disk loader V2.05 (boots regular and minidisk)
static const byte prog_cdbl[] = {
0xF3, 0x11, 0xF5, 0xFF, 0x21, 0xE1, 0x4C, 0x1B, 0x2B, 0x1A, 0x77, 0x7D, 0xB7, 0xC2, 0x07, 0xFF,
0x01, 0x82, 0x06, 0xE9, 0xD3, 0x22, 0x2F, 0xD3, 0x23, 0x3E, 0x2C, 0xD3, 0x22, 0xAF, 0xD3, 0x08,
0xDB, 0x08, 0xE6, 0x08, 0xC2, 0x09, 0x4C, 0x3E, 0x04, 0xD3, 0x09, 0x3E, 0x01, 0xD3, 0x09, 0x0B,
0x78, 0xB1, 0xC2, 0x1B, 0x4C, 0x0C, 0xDB, 0x08, 0x0F, 0x0F, 0xDA, 0x22, 0x4C, 0xE6, 0x10, 0x3E,
0x02, 0xC2, 0x19, 0x4C, 0xDB, 0x09, 0xE6, 0x3F, 0xFE, 0x1E, 0xC2, 0x30, 0x4C, 0xDB, 0x09, 0x0F,
0xD2, 0x39, 0x4C, 0xDB, 0x09, 0x0F, 0xDA, 0x3F, 0x4C, 0xE6, 0x1F, 0xC6, 0x10, 0x4F, 0x65, 0x3E,
0x03, 0xD3, 0x10, 0x3E, 0x11, 0xD3, 0x10, 0x3E, 0x10, 0x31, 0x7B, 0x4D, 0xF5, 0xDB, 0x09, 0xE6,
0x3F, 0x0F, 0xB8, 0xC2, 0x59, 0x4C, 0x11, 0x7B, 0x4D, 0x7C, 0xAA, 0xE6, 0xFE, 0x3E, 0x4F, 0xCA,
0xC5, 0x4C, 0xE5, 0xC5, 0x01, 0x80, 0x00, 0xDB, 0x08, 0x07, 0xDA, 0x73, 0x4C, 0xDB, 0x0A, 0x12,
0x1C, 0xC2, 0x73, 0x4C, 0x1E, 0x7E, 0x1A, 0x77, 0xBE, 0xC2, 0xC3, 0x4C, 0x80, 0x47, 0x13, 0x23,
0x0D, 0xC2, 0x82, 0x4C, 0xEB, 0x4E, 0x0C, 0x23, 0xAE, 0xB1, 0xC1, 0xC2, 0xB6, 0x4C, 0x2A, 0x7C,
0x4D, 0xEB, 0x7D, 0x93, 0x7C, 0x9A, 0xD2, 0xC7, 0x4C, 0x11, 0x53, 0x4C, 0xD5, 0x04, 0x04, 0x78,
0xB9, 0xD8, 0x06, 0x01, 0xC8, 0x78, 0xD3, 0x09, 0x05, 0xC9, 0x3E, 0x04, 0xD3, 0x09, 0xE1, 0xF1,
0x3D, 0xC2, 0x55, 0x4C, 0x3E, 0x43, 0x11, 0x3E, 0x4D, 0x47, 0x37, 0x3E, 0x80, 0xD3, 0x08, 0xD2,
0x00, 0x00, 0xFB, 0x22, 0x01, 0x00, 0x78, 0x32, 0x00, 0x00, 0xD3, 0x01, 0xD3, 0x11, 0xD3, 0x05,
0xD3, 0x23, 0xC3, 0xD6, 0x4C
};
// Martin Eberhard's HDBL hard disk boot loader V2.0
static const byte prog_hdbl[] = {
0xF3, 0x21, 0x00, 0xFC, 0x16, 0xFC, 0x2B, 0x5D, 0x1A, 0x77, 0x7D, 0xD6, 0x12, 0xC2, 0x06, 0xFC,
0xF9, 0xE9, 0x67, 0x6F, 0xD3, 0xA0, 0xD3, 0xA2, 0xD3, 0xA4, 0xD3, 0xA6, 0xD3, 0xA1, 0xD3, 0xA5,
0x2F, 0xD3, 0xA3, 0xD3, 0xA7, 0x3E, 0x2C, 0xD3, 0xA0, 0xD3, 0xA4, 0xD3, 0xA6, 0x3E, 0x24, 0xD3,
0xA2, 0xDB, 0xA1, 0x3E, 0x03, 0xD3, 0x10, 0x3E, 0x11, 0xD3, 0x10, 0xCD, 0xE5, 0xFB, 0x0D, 0x0A,
0x48, 0x44, 0x42, 0x4C, 0x20, 0x32, 0x2E, 0x30, 0xB0, 0x06, 0x2B, 0xCD, 0x82, 0xFB, 0xE5, 0xEB,
0xDB, 0xA5, 0x6C, 0x61, 0x4F, 0x05, 0xC2, 0x50, 0xFB, 0xCD, 0xDC, 0xFB, 0x49, 0x4E, 0x47, 0x20,
0x46, 0x52, 0x4F, 0x4D, 0xA0, 0xDB, 0xFF, 0xE6, 0x08, 0x0F, 0x0F, 0x0F, 0xC6, 0x30, 0xCD, 0xF3,
0xFB, 0xCD, 0x82, 0xFB, 0xDB, 0xA5, 0x12, 0x13, 0x05, 0xC2, 0x74, 0xFB, 0x23, 0x0D, 0xC2, 0x71,
0xFB, 0xC9, 0xE5, 0xD5, 0xC5, 0x01, 0xD0, 0xFF, 0x50, 0x58, 0x13, 0x09, 0xDA, 0x8A, 0xFB, 0x7D,
0x91, 0xEB, 0xFE, 0x18, 0xDA, 0x99, 0xFB, 0xC6, 0x08, 0x47, 0xCD, 0xB9, 0xFB, 0x26, 0x30, 0xDB,
0xFF, 0xE6, 0x08, 0x07, 0x07, 0x07, 0xB0, 0xCD, 0xBA, 0xFB, 0xDB, 0xA5, 0xDB, 0xA3, 0xC1, 0x78,
0xD3, 0xA7, 0x3E, 0x50, 0xD3, 0xA3, 0xD1, 0xE1, 0xC9, 0x7D, 0xD3, 0xA7, 0xDB, 0xA1, 0xDB, 0xA3,
0x7C, 0xD3, 0xA3, 0xDB, 0xA0, 0x07, 0xD2, 0xC3, 0xFB, 0xDB, 0xA1, 0xE6, 0x7F, 0xC8, 0x32, 0x00,
0x00, 0xCD, 0xDC, 0xFB, 0x20, 0x45, 0x52, 0xD2, 0xFB, 0xC3, 0xD9, 0xFB, 0xCD, 0xE5, 0xFB, 0x0D,
0x0A, 0x4C, 0x4F, 0x41, 0xC4, 0xE3, 0x7E, 0xE6, 0x7F, 0xCD, 0xF3, 0xFB, 0xBE, 0x23, 0xCA, 0xE6,
0xFB, 0xE3, 0xC9, 0xF5, 0xDB, 0x10, 0xE6, 0x02, 0xCA, 0xF4, 0xFB, 0xF1, 0xD3, 0x11, 0xC9};
// Original 88-HDSK Hard Disk Turnkey Boot Loader (HD-TBL)
/*
static const byte prog_hdbl[] = {
0x31, 0x00, 0xC0, 0xCD, 0xA6, 0xFD, 0xCD, 0xBE, 0xFD, 0xDB, 0xA0, 0x07, 0xDA, 0x15, 0xFC, 0x11,
0xE1, 0xFD, 0xCD, 0xB1, 0xFD, 0x21, 0x00, 0x00, 0xCD, 0x5B, 0xFC, 0x06, 0x28, 0xDB, 0xA5, 0x05,
0xC2, 0x1D, 0xFC, 0xDB, 0xA5, 0x6F, 0xDB, 0xA5, 0x67, 0xDB, 0xA5, 0x5F, 0xDB, 0xA5, 0x57, 0xD5,
0x06, 0xD4, 0xDB, 0xA5, 0x05, 0xC2, 0x32, 0xFC, 0x11, 0xEC, 0xFD, 0xCD, 0xB1, 0xFD, 0x11, 0x00,
0x00, 0xCD, 0x5B, 0xFC, 0x06, 0x00, 0xDB, 0xA5, 0x12, 0x13, 0x05, 0xC2, 0x46, 0xFC, 0x23, 0xE3,
0x2B, 0x7C, 0xB5, 0xCA, 0x5A, 0xFC, 0xE3, 0xC3, 0x41, 0xFC, 0xE9, 0xE5, 0xD5, 0xC5, 0x06, 0x30,
0x11, 0x10, 0x00, 0x29, 0x7A, 0x17, 0xB8, 0xDA, 0x6C, 0xFC, 0x90, 0x2C, 0x57, 0x1D, 0xC2, 0x63,
0xFC, 0x47, 0x7D, 0xD3, 0xA7, 0xDB, 0xA3, 0x7C, 0xF6, 0x00, 0xD3, 0xA3, 0xCD, 0xA9, 0xFC, 0x78,
0xFE, 0x18, 0xDA, 0x89, 0xFC, 0xD6, 0x18, 0xC6, 0x20, 0xD3, 0xA7, 0xDB, 0xA3, 0x3E, 0x30, 0xD3,
0xA3, 0xCD, 0xA9, 0xFC, 0xDB, 0xA3, 0xDB, 0xA5, 0xAF, 0xD3, 0xA7, 0x3E, 0x50, 0xD3, 0xA3, 0xDB,
0xA4, 0x07, 0xD2, 0x9F, 0xFC, 0xC1, 0xD1, 0xE1, 0xC9, 0xDB, 0xA0, 0x07, 0xD2, 0xA9, 0xFC, 0xDB,
0xA1, 0xE6, 0x7F, 0xC8, 0x11, 0xF5, 0xFD, 0xCD, 0xB1, 0xFD, 0xCD, 0x8F, 0xFD, 0xCD, 0xBE, 0xFD,
0xC3, 0x06, 0xFD, 0xAF, 0xD3, 0xA0, 0xD3, 0xA2, 0xD3, 0xA4, 0xD3, 0xA6, 0xD3, 0xA1, 0xD3, 0xA5,
0x2F, 0xD3, 0xA3, 0xD3, 0xA7, 0x3E, 0x2C, 0xD3, 0xA0, 0xD3, 0xA4, 0xD3, 0xA6, 0x3E, 0x24, 0xD3,
0xA2, 0xDB, 0xA1, 0xC9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x31, 0x00, 0xC0, 0xCD, 0xA6, 0xFD, 0xCD, 0xBE, 0xFD, 0x3E, 0x2E, 0xCD, 0xD5, 0xFD, 0xCD, 0xC8,
0xFD, 0xFE, 0x4C, 0xCA, 0x06, 0xFC, 0xFE, 0x4D, 0xCA, 0x24, 0xFD, 0xFE, 0x4A, 0xC2, 0x06, 0xFD,
0xCD, 0x54, 0xFD, 0xE9, 0xCD, 0xD3, 0xFD, 0xCD, 0x54, 0xFD, 0x3E, 0x23, 0xCD, 0xBE, 0xFD, 0x7C,
0xCD, 0x8F, 0xFD, 0x7D, 0xCD, 0x8F, 0xFD, 0xCD, 0xD3, 0xFD, 0x7E, 0xCD, 0x8F, 0xFD, 0xCD, 0xD3,
0xFD, 0xCD, 0x5D, 0xFD, 0xDA, 0x2B, 0xFD, 0x77, 0xBE, 0xCA, 0x2B, 0xFD, 0x3E, 0x3F, 0xCD, 0xD5,
0xFD, 0xC3, 0x06, 0xFD, 0xCD, 0x5D, 0xFD, 0x67, 0xCD, 0x5D, 0xFD, 0x6F, 0xC9, 0xCD, 0xC8, 0xFD,
0xFE, 0x20, 0x37, 0xC8, 0xCD, 0x74, 0xFD, 0x07, 0x07, 0x07, 0x07, 0x4F, 0xCD, 0xC8, 0xFD, 0xCD,
0x74, 0xFD, 0xB1, 0xC9, 0xFE, 0x30, 0xDA, 0x4C, 0xFD, 0xFE, 0x3A, 0xDA, 0x8C, 0xFD, 0xE6, 0x5F,
0xFE, 0x41, 0xDA, 0x4C, 0xFD, 0xFE, 0x47, 0xD2, 0x4C, 0xFD, 0xD6, 0x07, 0xE6, 0x0F, 0xC9, 0xF5,
0x07, 0x07, 0x07, 0x07, 0xCD, 0x98, 0xFD, 0xF1, 0xE6, 0x0F, 0xFE, 0x0A, 0xDA, 0xA1, 0xFD, 0xC6,
0x07, 0xC6, 0x30, 0xC3, 0xD5, 0xFD, 0x3E, 0x03, 0xD3, 0x10, 0x3E, 0x11, 0xD3, 0x10, 0xC3, 0xC3,
0xFC, 0xF5, 0x1A, 0xCD, 0xD5, 0xFD, 0x13, 0xE6, 0x80, 0xCA, 0xB2, 0xFD, 0xF1, 0xC9, 0x3E, 0x0D,
0xCD, 0xD5, 0xFD, 0x3E, 0x0A, 0xC3, 0xD5, 0xFD, 0xDB, 0x10, 0x0F, 0xD2, 0xC8, 0xFD, 0xDB, 0x11,
0xE6, 0x7F, 0xDA, 0x3E, 0x20, 0xF5, 0xDB, 0x10, 0xE6, 0x02, 0xCA, 0xD6, 0xFD, 0xF1, 0xD3, 0x11,
0xC9, 0x52, 0x45, 0x53, 0x45, 0x54, 0x20, 0x43, 0x54, 0x4C, 0x0D, 0x8A, 0x4C, 0x4F, 0x41, 0x44,
0x49, 0x4E, 0x47, 0x0D, 0x8A, 0x4C, 0x4F, 0x41, 0x44, 0x20, 0x45, 0x52, 0x52, 0x4F, 0x52, 0xBA};
*/
// Tarbell disk boot loader
static const byte prog_tboot[] = {
0xDB, 0xFC, 0xAF, 0x6F, 0x67, 0x3C, 0xD3, 0xFA, 0x3E, 0x8C, 0xD3, 0xF8, 0xDB, 0xFC, 0xB7, 0xF2,
0x19, 0xFF, 0xDB, 0xFB, 0x77, 0x23, 0xC3, 0x0C, 0xFF, 0xDB, 0xF8, 0xB7, 0xCA, 0x7D, 0x00, 0x76
};
// Cromemco RDOS 1.0
// modified to skip the automatic Cromemco terminal speed determination which is unnecessary
// (we always use the baud rate set for the SIO card) and requires the user to repeatedly
// press ENTER (waits to receive 0x0D from terminal which Comemco terminals send automatically)
static const byte prog_rdos10[] = {
0x21, 0x7C, 0x00, 0xF9, 0xEB, 0xF3, 0x00, 0x00, 0x00, /* 0xCD, 0xEE, 0xC0, */ 0x97, 0xD3, 0x03, 0xDB, 0x34, 0xE6, 0x40,
0x28, 0x06, 0xC3, 0x0B, 0xC1, 0xCD, 0x29, 0xC2, 0x3E, 0xD0, 0xD3, 0x30, 0xDB, 0x30, 0x1F, 0x38,
0xFB, 0xF3, 0x3E, 0x10, 0x21, 0x80, 0x00, 0xF9, 0xF5, 0x44, 0xCD, 0x3F, 0xC0, 0x20, 0x0B, 0xF1,
0xF5, 0x44, 0x1E, 0x01, 0xCD, 0x8C, 0xC0, 0xCA, 0x80, 0x00, 0xF1, 0xEE, 0x10, 0x18, 0xE5, 0xCD,
0xCB, 0xC0, 0xD3, 0x34, 0x16, 0x98, 0xE6, 0x10, 0x3E, 0x7F, 0xD3, 0x04, 0x3E, 0x0F, 0x28, 0x1A,
0x3E, 0x0D, 0x18, 0x16, 0xF5, 0xCD, 0xCB, 0xC0, 0xD3, 0x34, 0xED, 0x51, 0x16, 0x98, 0xF1, 0x17,
0x38, 0x14, 0xE6, 0x20, 0x3E, 0x1F, 0x28, 0x02, 0x3E, 0x1D, 0xD3, 0x30, 0xDB, 0x34, 0x1F, 0x30,
0xFB, 0xDB, 0x30, 0x47, 0xA2, 0xC9, 0x3E, 0x6F, 0xD3, 0x04, 0x3E, 0x18, 0xCD, 0x6A, 0xC0, 0xDB,
0x04, 0xE6, 0x40, 0x20, 0xFA, 0x3E, 0x7F, 0xD3, 0x04, 0x97, 0x47, 0xC9, 0xCD, 0xB6, 0xC0, 0xC6,
0x88, 0x16, 0x9C, 0xD3, 0x30, 0xDB, 0x34, 0x1F, 0x38, 0xD7, 0xED, 0xA2, 0xC2, 0x95, 0xC0, 0x18,
0xCB, 0xCD, 0xB6, 0xC0, 0xC6, 0xA8, 0x16, 0xFC, 0xD3, 0x30, 0xDB, 0x34, 0x1F, 0x38, 0xC2, 0xED,
0xA3, 0xC2, 0xAA, 0xC0, 0x18, 0xB6, 0xCD, 0xCB, 0xC0, 0xF6, 0x80, 0x57, 0x7B, 0xD3, 0x32, 0xDB,
0x34, 0xE6, 0x20, 0x7A, 0xD3, 0x34, 0x3E, 0x04, 0xC8, 0x97, 0xC9, 0xE6, 0x10, 0x4F, 0x04, 0x97,
0x37, 0x17, 0x10, 0xFD, 0xB1, 0xF6, 0x20, 0x01, 0x33, 0x80, 0xC9, 0xDB, 0x00, 0xE6, 0x40, 0xC8,
0xDB, 0x01, 0xC9, 0xCD, 0xDB, 0xC0, 0x28, 0xFB, 0xE6, 0x7F, 0xC9, 0xCD, 0x29, 0xC2, 0x21, 0xCA,
0xC3, 0x0E, 0x00, 0x3E, 0x19, 0xD3, 0x02, 0xED, 0xA3, 0xCD, 0xE3, 0xC0, 0xCD, 0xE3, 0xC0, 0xFE,
0x0D, 0x3E, 0x09, 0x20, 0xF0, 0xC9, 0xCD, 0x85, 0xC2, 0x18, 0x13, 0xCD, 0xF7, 0xC2, 0x0D, 0x0D,
0x43, 0x52, 0x4F, 0x4D, 0x45, 0x4D, 0x43, 0x4F, 0x20, 0x52, 0x44, 0x4F, 0x53, 0xB1, 0x97, 0x12,
0xD5, 0xDD, 0xE1, 0xDD, 0xF9, 0xCD, 0xA9, 0xC1, 0x21, 0x28, 0xC1, 0xDD, 0xE5, 0xE3, 0x4E, 0xCB,
0x69, 0x23, 0xC4, 0xEC, 0xC2, 0xCD, 0xF7, 0xC2, 0xBB, 0xCD, 0xBA, 0xC2, 0x20, 0x05, 0xDD, 0x36,
0x00, 0x00, 0xC9, 0xD6, 0x41, 0x38, 0x6E, 0xFE, 0x17, 0x30, 0x6A, 0x5F, 0x16, 0x00, 0xCD, 0xBA,
0xC2, 0xFE, 0x3B, 0x28, 0x0D, 0xEB, 0x29, 0x11, 0xD2, 0xC3, 0x19, 0x5E, 0x23, 0x56, 0xEB, 0xFE,
0x4D, 0xE9, 0x7B, 0xFE, 0x04, 0x30, 0x4E, 0x43, 0xDD, 0xE5, 0xE1, 0xF6, 0xB0, 0x77, 0x54, 0x5D,
0x13, 0x78, 0xC6, 0x41, 0x12, 0xCD, 0x19, 0xC2, 0xFE, 0x3B, 0x20, 0x10, 0xCB, 0xBE, 0x13, 0x12,
0xCD, 0x19, 0xC2, 0xFE, 0x3B, 0x20, 0x05, 0xCB, 0xA6, 0x13, 0x12, 0x97, 0xCD, 0x29, 0xC2, 0xCB,
0xFE, 0x1A, 0xCD, 0x3F, 0xC0, 0x3E, 0x48, 0xC8, 0xCD, 0xF7, 0xC2, 0x20, 0x45, 0x52, 0x52, 0xA0,
0xCD, 0xF1, 0xC1, 0x78, 0xCD, 0xD4, 0xC2, 0x18, 0x10, 0x3E, 0x0D, 0x18, 0x44, 0xCD, 0x85, 0xC2,
0x4B, 0xED, 0x78, 0x18, 0xEF, 0xCD, 0xF7, 0xC2, 0xBF, 0xC3, 0x23, 0xC1, 0xD9, 0xE1, 0xD9, 0xD1,
0x28, 0x05, 0x15, 0x28, 0xD3, 0x18, 0x0A, 0x01, 0x7F, 0xFF, 0xFD, 0x09, 0xFD, 0x23, 0xE3, 0x16,
0x0A, 0xE1, 0xC1, 0x79, 0xD9, 0xE5, 0xD9, 0xC0, 0xD4, 0xA2, 0xC3, 0x30, 0xDC, 0x1C, 0xCD, 0xAE,
0xC3, 0xD0, 0xDB, 0x31, 0x3C, 0x5F, 0xC5, 0xCD, 0x29, 0xC3, 0xC1, 0x79, 0x1E, 0x01, 0xC9, 0x3E,
0x20, 0xF5, 0xE6, 0x7F, 0xFE, 0x1B, 0x28, 0xC1, 0xFE, 0x7D, 0x28, 0xBD, 0xCD, 0xDB, 0xC0, 0x20,
0xF1, 0xDB, 0x00, 0xE6, 0x80, 0x28, 0xFA, 0xF1, 0xF5, 0xE6, 0x7F, 0xD3, 0x01, 0xFE, 0x0D, 0x20,
0x06, 0xCD, 0xF7, 0xC2, 0x0A, 0x00, 0x80, 0xF1, 0xC9, 0xCD, 0xE3, 0xC0, 0xCD, 0xF1, 0xC1, 0xFE,
0x61, 0xD8, 0xD6, 0x20, 0xC9, 0x97, 0xCD, 0x64, 0xC2, 0xCD, 0xBB, 0xC2, 0x20, 0x87, 0xEB, 0xC9,
0xCD, 0xA9, 0xC1, 0xCD, 0xCF, 0xC2, 0x3E, 0x3A, 0x18, 0xB7, 0xCD, 0x82, 0xC2, 0x1A, 0xED, 0xA1,
0x2B, 0xC4, 0xCF, 0xC2, 0xC4, 0xC6, 0xC2, 0xEB, 0xC4, 0xC6, 0xC2, 0xC4, 0xCC, 0xC2, 0xC4, 0xA9,
0xC1, 0xEB, 0x23, 0x13, 0xE0, 0x18, 0xE6, 0xCD, 0x82, 0xC2, 0xE5, 0xD5, 0xC5, 0xED, 0xB0, 0xC1,
0xD1, 0xE1, 0x18, 0xD9, 0xCD, 0x8B, 0xC2, 0xEB, 0xCD, 0xBB, 0xC2, 0xFE, 0x53, 0x20, 0x05, 0xCD,
0x8A, 0xC2, 0x18, 0x07, 0xCD, 0x8B, 0xC2, 0xB7, 0xED, 0x52, 0x23, 0x44, 0x4D, 0xE5, 0xFD, 0xE1,
0xC9, 0x97, 0xCD, 0x64, 0xC2, 0xCD, 0x8B, 0xC2, 0x18, 0x9F, 0x97, 0xC5, 0x21, 0x00, 0x00, 0xCD,
0xBB, 0xC2, 0xCD, 0xA3, 0xC2, 0xDA, 0xB5, 0xC1, 0xCD, 0x19, 0xC2, 0xCD, 0xA3, 0xC2, 0x78, 0x30,
0xF7, 0xC1, 0xC9, 0x47, 0xD6, 0x30, 0xD8, 0xC6, 0xE9, 0xD8, 0xD6, 0xFA, 0x30, 0x03, 0xC6, 0x07,
0xD8, 0xC6, 0x0A, 0x29, 0x29, 0x29, 0x29, 0xB5, 0x6F, 0xC9, 0x97, 0xB7, 0xCC, 0x19, 0xC2, 0xFE,
0x20, 0x28, 0xF9, 0xFE, 0x0D, 0xC9, 0xCD, 0xEF, 0xC1, 0x7E, 0x18, 0x08, 0xCD, 0xEF, 0xC1, 0x7C,
0xCD, 0xD4, 0xC2, 0x7D, 0xCD, 0xD8, 0xC2, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0xF5, 0xE6, 0x0F, 0xFE,
0x0A, 0x38, 0x02, 0xC6, 0x07, 0xC6, 0x30, 0xCD, 0xF1, 0xC1, 0xF1, 0xC9, 0xF5, 0x7E, 0x23, 0xCD,
0xF1, 0xC1, 0x17, 0x30, 0xF8, 0xF1, 0xC9, 0xE3, 0xCD, 0xEC, 0xC2, 0xE3, 0xC9, 0xE1, 0xCD, 0x85,
0xC2, 0xEB, 0xE9, 0x20, 0x36, 0xCD, 0x25, 0xC2, 0x16, 0x10, 0xCD, 0x30, 0xC2, 0xCD, 0xC6, 0xC2,
0xED, 0xA1, 0xE2, 0xA9, 0xC1, 0x15, 0x28, 0xF0, 0x7A, 0xE6, 0x03, 0xCC, 0xEF, 0xC1, 0x18, 0xED,
0x28, 0x1C, 0xCB, 0x69, 0x28, 0x15, 0xCD, 0x85, 0xC2, 0x3E, 0x4C, 0x16, 0x27, 0xCD, 0xB2, 0xC3,
0x38, 0x09, 0x53, 0xCD, 0x54, 0xC0, 0x3E, 0x53, 0xC3, 0x97, 0xC1, 0xC3, 0xB5, 0xC1, 0x97, 0xCD,
0x85, 0xC2, 0xEB, 0xCC, 0x30, 0xC2, 0xCC, 0xEF, 0xC1, 0xCD, 0xC9, 0xC2, 0xCD, 0xF7, 0xC2, 0xAE,
0xCD, 0x19, 0xC2, 0xFE, 0x2F, 0xDC, 0xF1, 0xC1, 0x38, 0x06, 0xEB, 0xCD, 0x8B, 0xC2, 0xEB, 0x73,
0xFE, 0x0D, 0xC4, 0xEF, 0xC1, 0xC8, 0x23, 0x3E, 0x07, 0xA5, 0x18, 0xD7, 0xFE, 0x44, 0x20, 0xCB,
0xCD, 0x94, 0xC3, 0xC5, 0xE5, 0xD5, 0xCD, 0x8C, 0xC0, 0x3E, 0x52, 0xCD, 0xBC, 0xC1, 0x18, 0xF3,
0xFE, 0x44, 0x20, 0xB7, 0xCD, 0x94, 0xC3, 0xC5, 0xE5, 0xD5, 0xCD, 0xA1, 0xC0, 0x3E, 0x57, 0xCD,
0xBC, 0xC1, 0x18, 0xF3, 0xCB, 0x69, 0x28, 0xA3, 0xC5, 0xCD, 0x81, 0xC2, 0xC1, 0xCD, 0xAE, 0xC3,
0x38, 0x99, 0xDB, 0x31, 0x57, 0xEB, 0xCD, 0xCC, 0xC2, 0xEB, 0x79, 0x16, 0x0A, 0xC9, 0x3E, 0x1A,
0x16, 0x12, 0xCB, 0x61, 0x20, 0x01, 0x7A, 0xBB, 0xD8, 0x79, 0xE6, 0x03, 0x47, 0x79, 0xC9, 0xCD,
0x8B, 0xC2, 0xEB, 0xCD, 0x85, 0xC2, 0x4B, 0xED, 0x69, 0xC9, 0x90, 0xC0, 0xA0, 0x90, 0x88, 0x84,
0x82, 0x01, 0xB5, 0xC1, 0x15, 0xC0, 0xB5, 0xC1, 0x03, 0xC3, 0xAD, 0xC1, 0xB5, 0xC1, 0xFD, 0xC2,
0xB5, 0xC1, 0xEB, 0xC0, 0xB5, 0xC1, 0x06, 0xC1, 0xB5, 0xC1, 0x57, 0xC2, 0xB5, 0xC1, 0xBF, 0xC3,
0xB5, 0xC1, 0xB5, 0xC1, 0x6C, 0xC3, 0x20, 0xC3, 0xB5, 0xC1, 0xB5, 0xC1, 0x3A, 0xC2, 0x80, 0xC3
};
// ACUTER monitor (necessary for the Processor Technology Music System), ported to the
// Altair and amended (HGET/HSAVE) by Mike Douglas.
static const byte prog_acuter[] = {
0x7F, 0xC3, 0x81, 0xF0, 0xC3, 0xC3, 0xF0, 0xC3, 0x52, 0xF4, 0xC3, 0x75, 0xF4, 0xC3, 0xB8, 0xF4,
0xC3, 0xF5, 0xF4, 0xC3, 0x3D, 0xF5, 0xC3, 0xF2, 0xF5, 0x3A, 0x07, 0xBC, 0xC3, 0x2E, 0xF0, 0x3A,
0x06, 0xBC, 0xE5, 0x21, 0xA2, 0xF1, 0xE6, 0x03, 0x07, 0x85, 0x6F, 0xC3, 0x43, 0xF1, 0xE5, 0x21,
0x9A, 0xF1, 0xC3, 0x26, 0xF0, 0xDB, 0x10, 0xE6, 0x01, 0xC8, 0xDB, 0x11, 0xC9, 0xDB, 0x12, 0xE6,
0x01, 0xC8, 0xDB, 0x13, 0xC9, 0xDB, 0x12, 0xE6, 0x02, 0xCA, 0x45, 0xF0, 0x78, 0xD3, 0x13, 0xC9,
0xDB, 0x04, 0xE6, 0x02, 0xC8, 0xDB, 0x05, 0xC9, 0xDB, 0x04, 0xE6, 0x01, 0xCA, 0x58, 0xF0, 0x78,
0xD3, 0x05, 0xC9, 0xE5, 0x2A, 0x00, 0xBC, 0xC3, 0x6E, 0xF0, 0xE5, 0x2A, 0x02, 0xBC, 0x7D, 0xB4,
0xC2, 0x47, 0xF1, 0xC3, 0xBD, 0xF0, 0xDB, 0x10, 0xE6, 0x02, 0xCA, 0x76, 0xF0, 0x78, 0xD3, 0x11,
0xC9, 0xDB, 0x05, 0x3E, 0x03, 0xD3, 0x10, 0xD3, 0x12, 0x3E, 0x11, 0xD3, 0x10, 0xD3, 0x12, 0xAF,
0x4F, 0x21, 0x04, 0xBC, 0x77, 0x23, 0x0C, 0xC2, 0x94, 0xF0, 0xDB, 0xFF, 0x47, 0xE6, 0x03, 0x32,
0x05, 0xBC, 0x21, 0x00, 0x00, 0xFE, 0x03, 0xCA, 0xAD, 0xF0, 0x22, 0x02, 0xBC, 0x78, 0x1F, 0x1F,
0xE6, 0x03, 0x32, 0x04, 0xBC, 0xFE, 0x03, 0xCA, 0xBD, 0xF0, 0x22, 0x00, 0xBC, 0x2A, 0x04, 0xBC,
0x22, 0x06, 0xBC, 0x31, 0xFF, 0xBF, 0xCD, 0xD3, 0xF1, 0xCD, 0xD2, 0xF0, 0xCD, 0x26, 0xF1, 0xC3,
0xC3, 0xF0, 0x21, 0x5E, 0xBE, 0x36, 0x07, 0x23, 0x22, 0x08, 0xBC, 0x3E, 0x50, 0x36, 0x20, 0x23,
0x3D, 0xC2, 0xDD, 0xF0, 0xCD, 0x1F, 0xF0, 0xCA, 0xE4, 0xF0, 0xE6, 0x7F, 0xCA, 0xBD, 0xF0, 0x47,
0xFE, 0x0D, 0xCA, 0x19, 0xF0, 0xFE, 0x0A, 0xC8, 0x2A, 0x08, 0xBC, 0xFE, 0x7F, 0xCA, 0x05, 0xF1,
0xFE, 0x08, 0xC2, 0x1B, 0xF1, 0x2B, 0x3E, 0x07, 0xBE, 0xCA, 0xE4, 0xF0, 0x06, 0x08, 0xCD, 0x19,
0xF0, 0x06, 0x20, 0xCD, 0x19, 0xF0, 0x06, 0x08, 0xC3, 0x1D, 0xF1, 0x70, 0x23, 0x22, 0x08, 0xBC,
0xCD, 0x19, 0xF0, 0xC3, 0xE4, 0xF0, 0xCD, 0x66, 0xF1, 0xEB, 0x21, 0x00, 0xF0, 0xE5, 0xCD, 0x05,
0xF2, 0xCA, 0x04, 0xF3, 0xEB, 0x11, 0x6D, 0xF1, 0xCD, 0x4D, 0xF1, 0xCC, 0x4A, 0xF1, 0xCA, 0x05,
0xF3, 0x13, 0xEB, 0x7E, 0x23, 0x66, 0x6F, 0xE3, 0x7D, 0xC9, 0x11, 0x37, 0xBC, 0x1A, 0xB7, 0xC8,
0xE5, 0xBE, 0x13, 0xC2, 0x5F, 0xF1, 0x23, 0x1A, 0xBE, 0xC2, 0x5F, 0xF1, 0xE1, 0xB7, 0xC9, 0x13,
0x13, 0x13, 0xE1, 0xC3, 0x4D, 0xF1, 0x21, 0x5F, 0xBE, 0x22, 0x08, 0xBC, 0xC9, 0x44, 0x55, 0x46,
0xF2, 0x45, 0x4E, 0xAD, 0xF2, 0x45, 0x58, 0xE2, 0xF2, 0x47, 0x45, 0x2A, 0xF3, 0x53, 0x41, 0x69,
0xF3, 0x48, 0x47, 0x64, 0xF6, 0x48, 0x53, 0xF2, 0xF6, 0x58, 0x45, 0x29, 0xF3, 0x43, 0x41, 0xB0,
0xF3, 0x53, 0x45, 0xF9, 0xF3, 0x43, 0x55, 0x2F, 0xF4, 0x00, 0x76, 0xF0, 0x45, 0xF0, 0x58, 0xF0,
0x6A, 0xF0, 0x35, 0xF0, 0x3D, 0xF0, 0x50, 0xF0, 0x63, 0xF0, 0x54, 0x41, 0x0D, 0xF4, 0x53, 0x3D,
0x0E, 0xF4, 0x49, 0x3D, 0x0F, 0xF4, 0x4F, 0x3D, 0x13, 0xF4, 0x43, 0x49, 0x17, 0xF4, 0x43, 0x4F,
0x1B, 0xF4, 0x58, 0x45, 0x23, 0xF4, 0x54, 0x59, 0x1F, 0xF4, 0x4E, 0x3D, 0x27, 0xF4, 0x43, 0x52,
0x2B, 0xF4, 0x00, 0xCD, 0xDB, 0xF1, 0x06, 0x3E, 0xC3, 0x19, 0xF0, 0x06, 0x0D, 0xCD, 0x19, 0xF0,
0x06, 0x0A, 0xCD, 0x19, 0xF0, 0x3A, 0x0A, 0xBC, 0x4F, 0x0D, 0xF8, 0xAF, 0xCD, 0xA9, 0xF2, 0xC3,
0xE9, 0xF1, 0x0E, 0x0C, 0x1A, 0xFE, 0x20, 0xCA, 0x05, 0xF2, 0x13, 0xFE, 0x3D, 0xCA, 0x05, 0xF2,
0x0D, 0xC2, 0xF4, 0xF1, 0xC9, 0x0E, 0x0A, 0x1A, 0xFE, 0x20, 0xC0, 0x13, 0x0D, 0xC8, 0xC3, 0x07,
0xF2, 0xCD, 0xF2, 0xF1, 0xCA, 0x04, 0xF3, 0x21, 0x00, 0x00, 0x1A, 0xFE, 0x20, 0xC8, 0xFE, 0x2F,
0xC8, 0xFE, 0x3A, 0xC8, 0x29, 0x29, 0x29, 0x29, 0xCD, 0x34, 0xF2, 0xD2, 0x04, 0xF3, 0x85, 0x6F,
0x13, 0xC3, 0x1A, 0xF2, 0xD6, 0x30, 0xFE, 0x0A, 0xD8, 0xD6, 0x07, 0xFE, 0x10, 0xC9, 0xCD, 0xF2,
0xF1, 0xC8, 0xCD, 0x17, 0xF2, 0xC9, 0xCD, 0x11, 0xF2, 0xE5, 0xCD, 0x3E, 0xF2, 0xD1, 0xEB, 0xCD,
0xDB, 0xF1, 0xCD, 0x72, 0xF2, 0xCD, 0x90, 0xF2, 0x0E, 0x10, 0x7E, 0xC5, 0xCD, 0x77, 0xF2, 0x7C,
0xBA, 0xDA, 0x69, 0xF2, 0x7D, 0xBB, 0xD2, 0xC3, 0xF0, 0xC1, 0x23, 0x0D, 0xC2, 0x5A, 0xF2, 0xC3,
0x4F, 0xF2, 0x7C, 0xCD, 0x95, 0xF2, 0x7D, 0xCD, 0x95, 0xF2, 0xCD, 0x1F, 0xF0, 0xCA, 0x90, 0xF2,
0xE6, 0x7F, 0xCA, 0xC3, 0xF0, 0xFE, 0x20, 0xC2, 0x90, 0xF2, 0xCD, 0x1F, 0xF0, 0xCA, 0x8A, 0xF2,
0x06, 0x20, 0xC3, 0x19, 0xF0, 0x4F, 0x0F, 0x0F, 0x0F, 0x0F, 0xCD, 0x9E, 0xF2, 0x79, 0xE6, 0x0F,
0xC6, 0x30, 0xFE, 0x3A, 0xDA, 0xA9, 0xF2, 0xC6, 0x07, 0x47, 0xC3, 0x19, 0xF0, 0xCD, 0x11, 0xF2,
0xE5, 0xCD, 0xDB, 0xF1, 0x06, 0x3A, 0xCD, 0x19, 0xF0, 0xCD, 0xD2, 0xF0, 0xCD, 0x66, 0xF1, 0xEB,
0x0E, 0x03, 0xCD, 0x07, 0xF2, 0xCA, 0xB1, 0xF2, 0xFE, 0x2F, 0xCA, 0xC3, 0xF0, 0xCD, 0x17, 0xF2,
0xFE, 0x3A, 0xCA, 0xDD, 0xF2, 0x7D, 0xE1, 0x77, 0x23, 0xE5, 0xC3, 0xC0, 0xF2, 0xE3, 0x13, 0xC3,
0xC0, 0xF2, 0xCD, 0x11, 0xF2, 0xE5, 0x21, 0x00, 0xF0, 0xC9, 0x21, 0x17, 0xBC, 0xCD, 0xF2, 0xF1,
0x06, 0x06, 0x1A, 0xFE, 0x20, 0xCA, 0x10, 0xF3, 0xFE, 0x2F, 0xCA, 0x10, 0xF3, 0x77, 0x13, 0x23,
0x05, 0xC2, 0xF2, 0xF2, 0xEB, 0xCD, 0xDB, 0xF1, 0x06, 0x3F, 0xCD, 0x19, 0xF0, 0xC3, 0xC3, 0xF0,
0x36, 0x00, 0x23, 0x05, 0xC2, 0x10, 0xF3, 0xFE, 0x2F, 0x3E, 0x01, 0xC2, 0x24, 0xF3, 0x13, 0xCD,
0x05, 0xF2, 0xD6, 0x30, 0xAF, 0x32, 0x4F, 0xBC, 0xC9, 0x3E, 0xAF, 0xF5, 0x21, 0x27, 0xBC, 0xCD,
0xED, 0xF2, 0x21, 0x00, 0x00, 0xCD, 0x3E, 0xF2, 0xEB, 0x21, 0x27, 0xBC, 0x7E, 0xB7, 0xC2, 0x44,
0xF3, 0x21, 0x17, 0xBC, 0xE5, 0xCD, 0xCD, 0xF3, 0xE1, 0xCD, 0x3D, 0xF5, 0xDA, 0x99, 0xF3, 0xCD,
0xCF, 0xF3, 0xF1, 0xB7, 0xC8, 0x3A, 0x1D, 0xBC, 0xB7, 0xFA, 0x99, 0xF3, 0x3A, 0x1C, 0xBC, 0xB7,
0xC2, 0x99, 0xF3, 0x2A, 0x22, 0xBC, 0xC3, 0xE5, 0xF2, 0xCD, 0xEA, 0xF2, 0xCD, 0x11, 0xF2, 0xE5,
0xCD, 0x11, 0xF2, 0xE3, 0xE5, 0xCD, 0x3E, 0xF2, 0x22, 0x20, 0xBC, 0xE1, 0xD1, 0xE5, 0x7B, 0x95,
0x6F, 0x7A, 0xDE, 0x00, 0x94, 0x67, 0x23, 0x22, 0x1E, 0xBC, 0xE5, 0xCD, 0xCD, 0xF3, 0x21, 0x17,
0xBC, 0xCD, 0x23, 0xF6, 0xD1, 0xE1, 0xC3, 0x03, 0xF6, 0xCD, 0xDB, 0xF1, 0x16, 0x06, 0x21, 0xAA,
0xF3, 0xCD, 0xE9, 0xF3, 0xCD, 0xCF, 0xF3, 0xC3, 0xC3, 0xF0, 0x45, 0x52, 0x52, 0x4F, 0x52, 0x20,
0xCD, 0xEA, 0xF2, 0xCD, 0xDB, 0xF1, 0xCD, 0xCD, 0xF3, 0x06, 0x01, 0xCD, 0x56, 0xF6, 0xCD, 0x95,
0xF5, 0xDA, 0xC3, 0xF0, 0xC2, 0xBE, 0xF3, 0xCD, 0xCF, 0xF3, 0xC3, 0xB6, 0xF3, 0xAF, 0xC9, 0x16,
0x08, 0x21, 0x16, 0xBC, 0xCD, 0xE9, 0xF3, 0xCD, 0x90, 0xF2, 0x2A, 0x20, 0xBC, 0xCD, 0x72, 0xF2,
0x2A, 0x1E, 0xBC, 0xCD, 0x72, 0xF2, 0xC3, 0xDB, 0xF1, 0x7E, 0xB7, 0xC2, 0xF0, 0xF3, 0x3E, 0x20,
0xCD, 0xA9, 0xF2, 0x23, 0x15, 0xC2, 0xE9, 0xF3, 0xC9, 0xCD, 0xF2, 0xF1, 0xCA, 0x04, 0xF3, 0xD5,
0xCD, 0x11, 0xF2, 0xE3, 0x11, 0xAA, 0xF1, 0xCD, 0x4D, 0xF1, 0xC3, 0x3E, 0xF1, 0xC9, 0xC9, 0x32,
0x06, 0xBC, 0xC9, 0x32, 0x07, 0xBC, 0xC9, 0x22, 0x00, 0xBC, 0xC9, 0x22, 0x02, 0xBC, 0xC9, 0x32,
0x1D, 0xBC, 0xC9, 0x22, 0x22, 0xBC, 0xC9, 0x32, 0x0A, 0xBC, 0xC9, 0x32, 0x0B, 0xBC, 0xC9, 0xCD,
0xEA, 0xF2, 0x21, 0xC3, 0xF0, 0xCD, 0x3E, 0xF2, 0xE5, 0x21, 0x17, 0xBC, 0xCD, 0x4A, 0xF1, 0xCA,
0x45, 0xF4, 0x1B, 0x36, 0x00, 0x7E, 0x12, 0x13, 0x23, 0x7E, 0x12, 0x13, 0xE1, 0xEB, 0x73, 0x23,
0x72, 0xC9, 0xE5, 0xCD, 0xA5, 0xF4, 0xC2, 0x6C, 0xF4, 0x36, 0x01, 0x23, 0x77, 0x23, 0x77, 0x11,
0x5E, 0xBC, 0x3A, 0x4F, 0xBC, 0x82, 0x57, 0xC1, 0xB7, 0xC3, 0x28, 0xF5, 0xE1, 0xD1, 0xAF, 0x37,
0xC9, 0x3D, 0x37, 0xD1, 0xC9, 0xCD, 0xA5, 0xF4, 0xC8, 0xB7, 0x3C, 0x36, 0x00, 0xC8, 0x23, 0x23,
0x7E, 0x7E, 0xCD, 0x31, 0xF5, 0xC5, 0x21, 0x07, 0x00, 0x09, 0xB7, 0xCA, 0x9D, 0xF4, 0xE5, 0x77,
0x23, 0x36, 0x00, 0x23, 0x73, 0x23, 0x72, 0x60, 0x69, 0xCD, 0xEF, 0xF5, 0xE1, 0xAF, 0x77, 0x23,
0x77, 0xE1, 0xC3, 0xEF, 0xF5, 0x21, 0x50, 0xBC, 0x1F, 0xE6, 0x01, 0x32, 0x4F, 0xBC, 0xCA, 0xB4,
0xF4, 0x21, 0x57, 0xBC, 0x7E, 0xB7, 0x37, 0xC9, 0xCD, 0xA5, 0xF4, 0xC8, 0x3C, 0xFA, 0x6E, 0xF4,
0x36, 0xFF, 0x23, 0x7E, 0xE5, 0x23, 0xCD, 0x31, 0xF5, 0xE1, 0xB7, 0xC2, 0xE7, 0xF4, 0xD5, 0xE5,
0x23, 0xCD, 0x18, 0xF5, 0xCD, 0x3A, 0xF5, 0xDA, 0x6C, 0xF4, 0xE1, 0x7B, 0xB2, 0xCA, 0x71, 0xF4,
0x73, 0x23, 0x36, 0x00, 0x2B, 0x7B, 0xD1, 0x3D, 0x77, 0x23, 0x7E, 0x34, 0x83, 0x5F, 0xD2, 0xF2,
0xF4, 0x14, 0x1A, 0xB7, 0xC9, 0xCD, 0xA5, 0xF4, 0xC8, 0x3C, 0xC8, 0x36, 0xFE, 0x23, 0x23, 0x78,
0xF5, 0xE5, 0xCD, 0x31, 0xF5, 0xE1, 0x7E, 0x83, 0x5F, 0xD2, 0x0D, 0xF5, 0x14, 0xF1, 0x12, 0xB7,
0x34, 0xC0, 0xCD, 0x18, 0xF5, 0xC3, 0xEF, 0xF5, 0xCD, 0x31, 0xF5, 0xC5, 0x21, 0x06, 0x00, 0x09,
0x01, 0x00, 0x01, 0xCD, 0x28, 0xF5, 0xE1, 0xC9, 0x23, 0x71, 0x23, 0x70, 0x23, 0x73, 0x23, 0x72,
0xC9, 0x23, 0x4E, 0x23, 0x46, 0x23, 0x5E, 0x23, 0x56, 0xC9, 0xCD, 0x52, 0xF6, 0xD5, 0x06, 0x03,
0xCD, 0x56, 0xF6, 0xDB, 0x07, 0xE5, 0xCD, 0x95, 0xF5, 0xE1, 0xDA, 0x78, 0xF5, 0xC2, 0x45, 0xF5,
0xE5, 0x11, 0x17, 0xBC, 0xCD, 0x46, 0xF6, 0xE1, 0xC2, 0x45, 0xF5, 0xD1, 0x7A, 0xB3, 0x2A, 0x1E,
0xBC, 0xEB, 0xC2, 0x68, 0xF5, 0x2A, 0x20, 0xBC, 0xD5, 0xCD, 0x87, 0xF5, 0xCA, 0x82, 0xF5, 0xCD,
0xB6, 0xF5, 0xDA, 0x78, 0xF5, 0xCA, 0x69, 0xF5, 0xAF, 0x37, 0xC3, 0x83, 0xF5, 0x06, 0x01, 0xCD,
0x56, 0xF6, 0xAF, 0xD3, 0x06, 0xD1, 0xC9, 0xAF, 0x47, 0xB2, 0xC2, 0x92, 0xF5, 0xB3, 0xC8, 0x43,
0x5A, 0xC9, 0x15, 0xB7, 0xC9, 0x06, 0x0A, 0xCD, 0xCF, 0xF5, 0xD8, 0xDB, 0x07, 0xB7, 0xC2, 0x95,
0xF5, 0x05, 0xC2, 0x97, 0xF5, 0xCD, 0xE2, 0xF5, 0xD8, 0xFE, 0x01, 0xDA, 0xA5, 0xF5, 0xC2, 0x95,
0xF5, 0x21, 0x17, 0xBC, 0x06, 0x10, 0x0E, 0x00, 0xCD, 0xE2, 0xF5, 0xD8, 0x77, 0x23, 0xCD, 0x1C,
0xF6, 0x05, 0xC2, 0xB8, 0xF5, 0xCD, 0xE2, 0xF5, 0xA9, 0xC8, 0x3A, 0x0B, 0xBC, 0x3C, 0xC9, 0xDB,
0x06, 0x2F, 0xE6, 0x01, 0xC0, 0xCD, 0x1F, 0xF0, 0xCA, 0xCF, 0xF5, 0xE6, 0x7F, 0xC2, 0xCF, 0xF5,
0x37, 0xC9, 0xCD, 0xCF, 0xF5, 0xD8, 0xDB, 0x06, 0xE6, 0x18, 0xDB, 0x07, 0xC8, 0x37, 0xC9, 0xCD,
0x52, 0xF6, 0xE5, 0xCD, 0x23, 0xF6, 0xE1, 0x11, 0x07, 0x00, 0x19, 0x5E, 0x23, 0x56, 0x23, 0x7E,
0x23, 0x66, 0x6F, 0xE5, 0xCD, 0x87, 0xF5, 0xCA, 0x7D, 0xF5, 0xCD, 0x37, 0xF6, 0xC3, 0x04, 0xF6,
0xF5, 0xDB, 0x06, 0x2F, 0xE6, 0x80, 0xCA, 0x11, 0xF6, 0xF1, 0xD3, 0x07, 0x91, 0x4F, 0xA9, 0x2F,
0x91, 0x4F, 0xC9, 0xCD, 0x54, 0xF6, 0x16, 0x32, 0xAF, 0xCD, 0x10, 0xF6, 0x15, 0xC2, 0x28, 0xF6,
0x3E, 0x01, 0xCD, 0x10, 0xF6, 0x06, 0x10, 0x0E, 0x00, 0x7E, 0xCD, 0x10, 0xF6, 0x05, 0x23, 0xC2,
0x39, 0xF6, 0x79, 0xC3, 0x10, 0xF6, 0x06, 0x05, 0x1A, 0xBE, 0xC0, 0x05, 0xC8, 0x23, 0x13, 0xC3,
0x48, 0xF6, 0xAF, 0xC9, 0x06, 0x04, 0x11, 0x00, 0x00, 0x1B, 0x7A, 0xB3, 0xC2, 0x59, 0xF6, 0x05,
0xC2, 0x56, 0xF6, 0xC9, 0x21, 0x06, 0xBC, 0xCD, 0xA5, 0xF7, 0xCD, 0xDB, 0xF1, 0x0E, 0x00, 0xCD,
0xD5, 0xF6, 0xD6, 0x3A, 0xC2, 0x6F, 0xF6, 0x57, 0xCD, 0xB9, 0xF6, 0x7B, 0xB7, 0xCA, 0xA4, 0xF6,
0x43, 0x0C, 0xCD, 0xB9, 0xF6, 0x63, 0xCD, 0xB9, 0xF6, 0x6B, 0x0E, 0x00, 0xCD, 0xB9, 0xF6, 0xCD,
0xB9, 0xF6, 0x73, 0x23, 0x05, 0xC2, 0x8F, 0xF6, 0xCD, 0xB9, 0xF6, 0xCA, 0x6A, 0xF6, 0x21, 0xF1,
0xF7, 0xCD, 0xBC, 0xF7, 0x11, 0xB8, 0x0B, 0x3A, 0x0C, 0xBC, 0xCD, 0x22, 0xF0, 0xC2, 0xA4, 0xF6,
0x1B, 0x7A, 0xB3, 0xC2, 0xA7, 0xF6, 0xC3, 0xC3, 0xF0, 0xCD, 0xD5, 0xF6, 0xCD, 0x34, 0xF2, 0xD2,
0x9E, 0xF6, 0x87, 0x87, 0x87, 0x87, 0x5F, 0xCD, 0xD5, 0xF6, 0xCD, 0x34, 0xF2, 0xD2, 0x9E, 0xF6,
0x83, 0x5F, 0x82, 0x57, 0xC9, 0xC5, 0x3A, 0x0C, 0xBC, 0xCD, 0x22, 0xF0, 0xCA, 0xD6, 0xF6, 0xFE,
0x00, 0xCA, 0xC3, 0xF0, 0x47, 0x79, 0xB7, 0xCA, 0xEF, 0xF6, 0xCD, 0x19, 0xF0, 0xC1, 0xC9, 0x78,
0xC1, 0xC9, 0xCD, 0x11, 0xF2, 0xE5, 0xCD, 0x11, 0xF2, 0xE5, 0x21, 0x07, 0xBC, 0xCD, 0xA5, 0xF7,
0x21, 0xDB, 0xF7, 0xCD, 0xBC, 0xF7, 0xCD, 0x1F, 0xF0, 0xCA, 0x06, 0xF7, 0xFE, 0x00, 0xCA, 0xC3,
0xF0, 0xD1, 0xE1, 0x7B, 0x95, 0x5F, 0x7A, 0x9C, 0x57, 0x13, 0x06, 0x3A, 0xCD, 0x95, 0xF7, 0x06,
0x00, 0xCD, 0x65, 0xF7, 0x7C, 0xCD, 0x76, 0xF7, 0x7D, 0xCD, 0x76, 0xF7, 0xAF, 0xCD, 0x76, 0xF7,
0x7E, 0xCD, 0x76, 0xF7, 0x23, 0x0D, 0xC2, 0x30, 0xF7, 0x78, 0x2F, 0x3C, 0xCD, 0x76, 0xF7, 0xCD,
0x9B, 0xF7, 0x7A, 0xB7, 0xFA, 0x4F, 0xF7, 0xC2, 0x1A, 0xF7, 0x7B, 0xB7, 0xC2, 0x1A, 0xF7, 0x06,
0x3A, 0xCD, 0x95, 0xF7, 0x0E, 0x0A, 0x06, 0x30, 0xCD, 0x95, 0xF7, 0x0D, 0xC2, 0x56, 0xF7, 0xCD,
0x9B, 0xF7, 0xC3, 0xC3, 0xF0, 0x0E, 0x10, 0x7B, 0x91, 0x5F, 0x7A, 0xDE, 0x00, 0x57, 0xD2, 0x75,
0xF7, 0x7B, 0xC6, 0x10, 0x4F, 0x79, 0xF5, 0x80, 0x47, 0xF1, 0xC5, 0x4F, 0x0F, 0x0F, 0x0F, 0x0F,
0xCD, 0x89, 0xF7, 0x79, 0xCD, 0x89, 0xF7, 0xC1, 0xC9, 0xE6, 0x0F, 0xC6, 0x30, 0xFE, 0x3A, 0xDA,
0x94, 0xF7, 0xC6, 0x07, 0x47, 0x3A, 0x0C, 0xBC, 0xC3, 0x1C, 0xF0, 0x06, 0x0D, 0xCD, 0x95, 0xF7,
0x06, 0x0A, 0xC3, 0x95, 0xF7, 0x6E, 0xCD, 0x3E, 0xF2, 0x7D, 0xE6, 0x03, 0x32, 0x0C, 0xBC, 0xC6,
0x30, 0x4F, 0x21, 0xC7, 0xF7, 0xCD, 0xBC, 0xF7, 0x41, 0xC3, 0x19, 0xF0, 0x7E, 0xB7, 0xC8, 0x47,
0xCD, 0x19, 0xF0, 0x23, 0xC3, 0xBC, 0xF7, 0x0D, 0x0A, 0x53, 0x65, 0x6E, 0x64, 0x2F, 0x52, 0x63,
0x76, 0x20, 0x6F, 0x6E, 0x20, 0x70, 0x6F, 0x72, 0x74, 0x20, 0x00, 0x2C, 0x20, 0x52, 0x45, 0x54,
0x55, 0x52, 0x4E, 0x20, 0x77, 0x68, 0x65, 0x6E, 0x20, 0x72, 0x65, 0x61, 0x64, 0x79, 0x0D, 0x0A,
0x00, 0x0D, 0x0A, 0x0A, 0x48, 0x65, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x0D, 0x0A, 0x00
};
// Processor Technology Music System (1977)
static const byte prog_musicsys[] = {
0xC3, 0x93, 0x07, 0xCD, 0x0B, 0x02, 0x31, 0x00, 0x00, 0x21, 0x00, 0x00, 0xE5, 0x21, 0x92, 0x07,
0x22, 0xE6, 0x07, 0x23, 0x1E, 0x02, 0x01, 0x16, 0x00, 0xC5, 0xCD, 0xF7, 0x01, 0xC8, 0xFE, 0x7F,
0xCA, 0x3B, 0x00, 0x77, 0xFE, 0x0D, 0xCA, 0x46, 0x00, 0xFE, 0x20, 0xD8, 0xFE, 0x5F, 0xD0, 0xCD,
0xE5, 0x01, 0x3E, 0x48, 0xBB, 0xDA, 0x41, 0x00, 0x23, 0x1C, 0xC9, 0x3E, 0x02, 0xBB, 0xC8, 0x2B,
0x1D, 0x3E, 0x5F, 0xC3, 0xE5, 0x01, 0xCD, 0x0B, 0x02, 0xE1, 0x21, 0x92, 0x07, 0x73, 0x1D, 0x1D,
0xC8, 0x23, 0x7E, 0xE5, 0xEB, 0xFE, 0x3A, 0xDA, 0xF4, 0x00, 0x13, 0x1A, 0xFE, 0x21, 0xD2, 0x5A,
0x00, 0xCD, 0x57, 0x02, 0x22, 0xE0, 0x07, 0xCD, 0x57, 0x02, 0x22, 0xE2, 0x07, 0xD1, 0x1A, 0x21,
0x4F, 0x07, 0xCD, 0x79, 0x02, 0xC3, 0x98, 0x00, 0x3E, 0x30, 0x01, 0x3E, 0x31, 0x01, 0x3E, 0x32,
0x01, 0x3E, 0x33, 0x01, 0x3E, 0x34, 0x01, 0x3E, 0x35, 0x01, 0x3E, 0x36, 0x01, 0x3E, 0x37, 0x32,
0xB3, 0x00, 0x21, 0xAE, 0x00, 0xCD, 0x04, 0x02, 0x1A, 0xFE, 0x0D, 0xC2, 0xA0, 0x00, 0x1B, 0x1A,
0xF5, 0x3E, 0x3F, 0x12, 0x2A, 0xE6, 0x07, 0xCD, 0x04, 0x02, 0xF1, 0x12, 0xC3, 0x00, 0x00, 0x45,
0x52, 0x52, 0x20, 0x00, 0x0D, 0xCD, 0x50, 0x02, 0xCA, 0x00, 0x00, 0x7C, 0x32, 0x4B, 0x02, 0x7D,
0x32, 0x48, 0x02, 0xC9, 0xCD, 0x50, 0x02, 0xC8, 0x97, 0x32, 0x92, 0x07, 0x44, 0x4D, 0xCD, 0x39,
0x01, 0xD5, 0xD5, 0xC2, 0xE1, 0x00, 0xCD, 0x4F, 0x01, 0x2A, 0xE2, 0x07, 0x7C, 0xB5, 0xCA, 0x04,
0x01, 0x2A, 0xE2, 0x07, 0x7C, 0xB5, 0xCA, 0x00, 0x00, 0x44, 0x4D, 0xCD, 0x39, 0x01, 0xC2, 0x04,
0x01, 0xC3, 0x01, 0x01, 0xCD, 0x57, 0x02, 0x44, 0x4D, 0xCD, 0x39, 0x01, 0xD5, 0xC2, 0x10, 0x01,
0xD5, 0xCD, 0x4F, 0x01, 0xC1, 0x2A, 0xDE, 0x07, 0xCD, 0x15, 0x02, 0x60, 0x69, 0x22, 0xDE, 0x07,
0xC1, 0x2A, 0xDE, 0x07, 0xE5, 0x3A, 0x92, 0x07, 0xCD, 0x95, 0x05, 0x11, 0x93, 0x07, 0xCD, 0x3D,
0x02, 0x22, 0xDE, 0x07, 0x36, 0x01, 0xD1, 0xCD, 0x24, 0x02, 0x11, 0x92, 0x07, 0x62, 0x6B, 0x7E,
0xCD, 0x95, 0x05, 0xCD, 0x15, 0x02, 0xC3, 0x06, 0x00, 0x2A, 0xDC, 0x07, 0xEB, 0xCD, 0x57, 0x01,
0xD5, 0xCD, 0x56, 0x02, 0xD1, 0x7D, 0x91, 0x6F, 0x7C, 0x98, 0xDA, 0x4F, 0x01, 0xB5, 0xC9, 0xEB,
0x7E, 0xCD, 0x95, 0x05, 0xC3, 0x3C, 0x01, 0x1A, 0x3D, 0xC0, 0xF1, 0x97, 0x3C, 0xC9, 0xCD, 0x50,
0x02, 0x44, 0x4D, 0xC2, 0x6A, 0x01, 0x2B, 0x22, 0xE2, 0x07, 0xCD, 0x39, 0x01, 0x2A, 0xE2, 0x07,
0x44, 0x4D, 0xCA, 0x82, 0x01, 0xCD, 0x57, 0x01, 0xD5, 0xCD, 0x56, 0x02, 0xD1, 0x79, 0x95, 0x78,
0x9C, 0xD8, 0xEB, 0xCD, 0x04, 0x02, 0xEB, 0x13, 0xC3, 0x75, 0x01, 0x21, 0xD3, 0x08, 0xCD, 0x33,
0x02, 0x22, 0xDC, 0x07, 0x36, 0x01, 0x2A, 0xDC, 0x07, 0xCD, 0x33, 0x02, 0x22, 0xDC, 0x07, 0xE5,
0xFE, 0x23, 0x7E, 0x3D, 0xCA, 0xB6, 0x01, 0xCD, 0x95, 0x05, 0x7E, 0xFE, 0x0D, 0xCA, 0xA1, 0x01,
0x11, 0x93, 0x07, 0xC3, 0x7E, 0x00, 0x22, 0xDE, 0x07, 0xE3, 0xCD, 0xC4, 0x01, 0xE1, 0xCD, 0xC4,
0x01, 0xC3, 0x00, 0x00, 0x7C, 0xCD, 0xD1, 0x01, 0x7D, 0xCD, 0xD1, 0x01, 0x3E, 0x20, 0xC3, 0xE5,
0x01, 0xF5, 0x1F, 0x1F, 0x1F, 0x1F, 0xCD, 0xDA, 0x01, 0xF1, 0xE6, 0x0F, 0xFE, 0x0A, 0xDA, 0xE3,
0x01, 0xC6, 0x07, 0xC6, 0x30, 0xC5, 0x47, 0xCD, 0x00, 0x00, 0xC1, 0xCD, 0xF7, 0x01, 0xFE, 0x20,
0xC0, 0xCD, 0xF7, 0x01, 0xC0, 0x3B, 0x3B, 0xCD, 0x00, 0x00, 0xC8, 0xE6, 0x7F, 0xC0, 0xC3, 0x00,
0x00, 0xCD, 0xE5, 0x01, 0x23, 0x7E, 0xFE, 0x0D, 0xC2, 0x01, 0x02, 0x3E, 0x0A, 0xCD, 0xE5, 0x01,
0x3E, 0x0D, 0xC3, 0xE5, 0x01, 0x7C, 0xBA, 0xC2, 0x1D, 0x02, 0x7D, 0xBB, 0xC8, 0x1A, 0x02, 0x13,
0x03, 0xC3, 0x15, 0x02, 0x78, 0xBA, 0xC2, 0x2C, 0x02, 0x79, 0xBB, 0xC8, 0x1B, 0x2B, 0x1A, 0x77,
0xC3, 0x24, 0x02, 0xD5, 0xEB, 0xCD, 0x50, 0x02, 0xC2, 0x3C, 0x02, 0x19, 0xD1, 0x7D, 0xD6, 0xD3,
0x7C, 0xDE, 0x08, 0xDA, 0x7B, 0x00, 0x7D, 0xD6, 0x00, 0x7C, 0xDE, 0x00, 0xD2, 0x7B, 0x00, 0xC9,
0x2A, 0xE0, 0x07, 0x7C, 0xB5, 0xC9, 0x13, 0x21, 0x00, 0x00, 0x1A, 0xFE, 0x20, 0xCA, 0x56, 0x02,
0xFE, 0x21, 0xD8, 0xCD, 0xB1, 0x05, 0xF5, 0x3E, 0xF0, 0xA4, 0xC2, 0x7B, 0x00, 0xF1, 0x29, 0x29,
0x29, 0x29, 0x85, 0x6F, 0x13, 0x1A, 0xC3, 0x60, 0x02, 0x23, 0x23, 0xBE, 0x23, 0xD8, 0xC2, 0x79,
0x02, 0xC1, 0x7E, 0x23, 0x66, 0x6F, 0xE9, 0x2A, 0xDE, 0x07, 0x23, 0xCD, 0x33, 0x02, 0x22, 0xEA,
0x07, 0x22, 0xE8, 0x07, 0x3E, 0x70, 0xCD, 0xCA, 0x05, 0x22, 0xEC, 0x07, 0x3E, 0x19, 0x21, 0xF4,
0x07, 0xCD, 0xCA, 0x05, 0xCD, 0xCD, 0x03, 0x2A, 0xDC, 0x07, 0xEB, 0x1B, 0x21, 0xD2, 0x02, 0xE5,
0x13, 0x1A, 0x3D, 0xCA, 0xA4, 0x05, 0xEB, 0x22, 0xE6, 0x07, 0xEB, 0x13, 0x1A, 0xFE, 0x20, 0xC2,
0xBB, 0x02, 0x13, 0x1A, 0xFE, 0x0D, 0xCA, 0xB0, 0x02, 0xFE, 0x20, 0xC9, 0x31, 0x00, 0x00, 0xCD,
0xC2, 0x02, 0x21, 0xCC, 0x02, 0xE5, 0xC8, 0x21, 0x65, 0x07, 0xCD, 0x79, 0x02, 0xCD, 0xDB, 0x05,
0xD0, 0x21, 0xFB, 0x07, 0x46, 0xCD, 0x4A, 0x03, 0x13, 0x1A, 0x1B, 0x21, 0x3A, 0x07, 0xCD, 0xD2,
0x05, 0xDA, 0xFA, 0x02, 0xB0, 0x47, 0x13, 0x21, 0x06, 0x70, 0x3A, 0xF9, 0x07, 0x21, 0xEE, 0x07,
0xCD, 0x95, 0x05, 0xD5, 0x5E, 0x23, 0x56, 0xE3, 0xEB, 0x3A, 0xF7, 0x07, 0x77, 0x23, 0x4E, 0x70,
0x13, 0x1A, 0x1B, 0xFE, 0x27, 0xCC, 0x35, 0x03, 0xFE, 0x22, 0xCC, 0x35, 0x03, 0xFE, 0x2C, 0xCC,
0x2E, 0x03, 0x23, 0xEB, 0xE3, 0x72, 0x2B, 0x73, 0xD1, 0x0C, 0xC2, 0x81, 0x00, 0xC9, 0x2B, 0x7E,
0x1F, 0x77, 0xC3, 0x3F, 0x03, 0x0F, 0x3E, 0x01, 0x2B, 0x35, 0xDA, 0x3F, 0x03, 0x35, 0x3C, 0x23,
0x23, 0x77, 0x23, 0x7E, 0xA1, 0x4F, 0x36, 0x70, 0x13, 0xC9, 0x21, 0x35, 0x07, 0xCD, 0xD2, 0x05,
0xDA, 0x56, 0x03, 0x47, 0x13, 0x1A, 0xCD, 0xB1, 0x05, 0xB0, 0x47, 0xC9, 0xD5, 0x2A, 0xEC, 0x07,
0x44, 0x4D, 0x21, 0x0D, 0x08, 0x22, 0xEE, 0x07, 0x11, 0x42, 0x00, 0x19, 0x22, 0xF0, 0x07, 0x19,
0x22, 0xF2, 0x07, 0x60, 0x69, 0x3E, 0x05, 0xCD, 0x95, 0x05, 0x11, 0x93, 0x07, 0xCD, 0x3D, 0x02,
0x2A, 0xEE, 0x07, 0x7E, 0x2A, 0xF0, 0x07, 0xBE, 0xDA, 0x8C, 0x03, 0x7E, 0x2A, 0xF2, 0x07, 0xBE,
0xDA, 0x94, 0x03, 0x7E, 0xFE, 0xFF, 0xCA, 0xC3, 0x03, 0x02, 0x03, 0x57, 0x2A, 0xEE, 0x07, 0x3A,
0xFA, 0x07, 0xCD, 0xF1, 0x03, 0x22, 0xEE, 0x07, 0x2A, 0xF0, 0x07, 0x3A, 0xFC, 0x07, 0xCD, 0xF1,
0x03, 0x22, 0xF0, 0x07, 0x2A, 0xF2, 0x07, 0x3A, 0xFE, 0x07, 0xCD, 0xF1, 0x03, 0x22, 0xF2, 0x07,
0xC3, 0x73, 0x03, 0xCD, 0xCD, 0x03, 0x60, 0x69, 0x22, 0xEC, 0x07, 0xD1, 0xC9, 0x97, 0x32, 0xF9,
0x07, 0x21, 0x0D, 0x08, 0x22, 0xEE, 0x07, 0xCD, 0xE3, 0x03, 0x22, 0xF0, 0x07, 0xCD, 0xE3, 0x03,
0x22, 0xF2, 0x07, 0x3E, 0x42, 0x36, 0xFF, 0x23, 0x3D, 0xC2, 0xE5, 0x03, 0x2B, 0x36, 0x70, 0x23,
0xC9, 0x32, 0xF8, 0x07, 0xEB, 0xE5, 0x1A, 0xFE, 0xFF, 0xCA, 0x61, 0x04, 0x94, 0x12, 0x13, 0x1A,
0x1B, 0xC2, 0x06, 0x04, 0x13, 0x13, 0xF5, 0xE6, 0x8F, 0x87, 0xD2, 0x0F, 0x04, 0x2F, 0x3C, 0xC6,
0x10, 0x21, 0xF8, 0x07, 0x86, 0xC6, 0x0E, 0xFA, 0x15, 0x04, 0x21, 0xC5, 0x06, 0xCD, 0x95, 0x05,
0x23, 0x7E, 0x2B, 0x32, 0xF6, 0x07, 0xE3, 0x3E, 0x70, 0xBC, 0xCA, 0x60, 0x04, 0xA4, 0xF5, 0x3A,
0xF6, 0x07, 0x21, 0x06, 0x08, 0xCD, 0x95, 0x05, 0xF1, 0xC4, 0x66, 0x04, 0x7E, 0xE1, 0x86, 0x6F,
0x3A, 0xFD, 0x07, 0x85, 0xFE, 0x33, 0xDA, 0x54, 0x04, 0xB7, 0xFA, 0x4F, 0x04, 0xD6, 0x18, 0xC6,
0x0C, 0xC3, 0x44, 0x04, 0x21, 0x03, 0x07, 0xCD, 0x95, 0x05, 0x7E, 0x02, 0x03, 0xE1, 0xEB, 0xC9,
0xE1, 0x3E, 0xFF, 0xC3, 0x5B, 0x04, 0x36, 0xFF, 0x87, 0xF8, 0x34, 0x87, 0xF0, 0x34, 0xC9, 0x3E,
0x80, 0xFE, 0x97, 0x32, 0xFB, 0x07, 0xC9, 0xCD, 0xAE, 0x05, 0x3D, 0xFE, 0x03, 0xD2, 0x84, 0x00,
0x87, 0x32, 0xF9, 0x07, 0xC9, 0x13, 0x1A, 0x06, 0x00, 0xCD, 0x4A, 0x03, 0x3A, 0xF9, 0x07, 0x21,
0xFA, 0x07, 0xCD, 0x95, 0x05, 0x78, 0x87, 0x77, 0xD0, 0x2F, 0x3C, 0x77, 0xC9, 0xCD, 0x5C, 0x03,
0xD5, 0x11, 0xFF, 0x07, 0x21, 0x06, 0x08, 0x44, 0x4D, 0xCD, 0x15, 0x02, 0xD1, 0xCD, 0xC2, 0x02,
0xC2, 0xAD, 0x04, 0xC9, 0x21, 0xFF, 0x07, 0x3E, 0x07, 0xCD, 0xCA, 0x05, 0xCD, 0xC2, 0x02, 0xC8,
0xCD, 0xB1, 0x05, 0xFE, 0x08, 0xD2, 0x87, 0x00, 0x47, 0x04, 0x13, 0x1A, 0x21, 0xB7, 0x06, 0x0E,
0x01, 0xFE, 0x23, 0xCA, 0xE0, 0x04, 0xFE, 0x26, 0xC2, 0x87, 0x00, 0x21, 0xBE, 0x06, 0x0E, 0xFF,
0xD5, 0xEB, 0x05, 0xC2, 0xE8, 0x04, 0xD1, 0xC9, 0x1A, 0x21, 0xFF, 0x07, 0xCD, 0x95, 0x05, 0x71,
0x13, 0xC3, 0xE2, 0x04, 0xCD, 0xAE, 0x05, 0x2F, 0x3C, 0xC3, 0xFF, 0x04, 0xCD, 0xAE, 0x05, 0x32,
0xFD, 0x07, 0xC9, 0xCD, 0xC2, 0x02, 0xCD, 0xDB, 0x05, 0xDA, 0x8A, 0x00, 0xCD, 0x2C, 0x05, 0x1F,
0x1F, 0xE6, 0x0F, 0x32, 0xF4, 0x07, 0x2A, 0xE8, 0x07, 0xC3, 0x28, 0x05, 0xCD, 0x56, 0x02, 0x1B,
0x7D, 0x32, 0xF5, 0x07, 0x2A, 0xE8, 0x07, 0x23, 0x23, 0x23, 0x77, 0xC9, 0x1F, 0x1F, 0xE6, 0x7F,
0x47, 0x1F, 0x1F, 0xE6, 0x3F, 0x4F, 0x1F, 0x1F, 0xE6, 0x3F, 0x80, 0x81, 0x3C, 0xC9, 0x13, 0x1A,
0xFE, 0x0D, 0xC2, 0x3E, 0x05, 0x1B, 0xC9, 0xCD, 0x9A, 0x05, 0x44, 0x4D, 0xCD, 0x84, 0x05, 0x22,
0xE8, 0x07, 0xD5, 0xEB, 0x2A, 0xEA, 0x07, 0x79, 0x95, 0x12, 0x13, 0x78, 0x9C, 0x12, 0x13, 0x2A,
0xF4, 0x07, 0xEB, 0x73, 0x23, 0x72, 0xD1, 0xC9, 0xCD, 0x84, 0x05, 0xD5, 0x5E, 0x23, 0x56, 0x23,
0x4E, 0x23, 0x46, 0x2A, 0xE8, 0x07, 0x73, 0x23, 0x72, 0x23, 0x71, 0x23, 0x70, 0x7A, 0xB3, 0xD1,
0xCA, 0x8D, 0x00, 0xC9, 0x13, 0x1A, 0xD6, 0x41, 0xDA, 0x8D, 0x00, 0xFE, 0x1A, 0xD2, 0x8D, 0x00,
0x87, 0x87, 0x2A, 0xEA, 0x07, 0x85, 0x6F, 0xD0, 0x24, 0xC9, 0xCD, 0x5C, 0x03, 0x36, 0xFF, 0x23,
0x22, 0xEC, 0x07, 0xC9, 0xCD, 0x9A, 0x05, 0xE5, 0x2A, 0xEA, 0x07, 0xC3, 0xBA, 0x01, 0xCD, 0xC2,
0x02, 0xFE, 0x30, 0xDA, 0x78, 0x00, 0xFE, 0x3A, 0xDA, 0xC7, 0x05, 0xFE, 0x41, 0xDA, 0x78, 0x00,
0xFE, 0x47, 0xD2, 0x78, 0x00, 0xD6, 0x07, 0xD6, 0x30, 0xC9, 0x36, 0x00, 0x23, 0x3D, 0xC2, 0xCA,
0x05, 0xC9, 0x23, 0xBE, 0x23, 0xD8, 0xC2, 0xD2, 0x05, 0x7E, 0xC9, 0x21, 0x41, 0x07, 0xCD, 0xD2,
0x05, 0xD8, 0x21, 0xF7, 0x07, 0x77, 0x13, 0x1A, 0xFE, 0x2E, 0xC2, 0xF3, 0x05, 0x7E, 0x1F, 0x86,
0x77, 0x13, 0x1A, 0xFE, 0x3A, 0x7E, 0xC2, 0xFE, 0x05, 0xCD, 0x2D, 0x05, 0x77, 0x13, 0x1B, 0xBF,
0xC9, 0x2A, 0xEA, 0x07, 0xCD, 0x33, 0x02, 0x22, 0xEA, 0x07, 0x3E, 0x1A, 0xF5, 0xE5, 0xE5, 0xE1,
0xC1, 0xF1, 0x3D, 0xF8, 0xF5, 0x5E, 0x23, 0x56, 0x23, 0x7A, 0xB3, 0xEB, 0x09, 0xEB, 0xC5, 0x4E,
0x23, 0x46, 0x23, 0xE5, 0xC4, 0x2A, 0x06, 0xC3, 0x0F, 0x06, 0x21, 0x00, 0x00, 0x39, 0x22, 0xE4,
0x07, 0xEB, 0xF9, 0x79, 0x32, 0x77, 0x06, 0xDB, 0xFF, 0xB7, 0xC2, 0x43, 0x06, 0x60, 0x2E, 0x3E,
0xC3, 0x46, 0x06, 0x2A, 0xB5, 0x06, 0x22, 0x7D, 0x06, 0xE1, 0x7D, 0xFE, 0xFF, 0xCA, 0xB0, 0x06,
0x32, 0x7C, 0x06, 0x3E, 0xC2, 0x24, 0xC2, 0x5A, 0x06, 0x3C, 0x32, 0x91, 0x06, 0xE1, 0x3E, 0xC2,
0x2C, 0xC2, 0x65, 0x06, 0x3C, 0x32, 0x89, 0x06, 0x3E, 0xC2, 0x24, 0xC2, 0x6F, 0x06, 0x3C, 0x32,
0x81, 0x06, 0x21, 0xFE, 0xFF, 0x39, 0x3E, 0x00, 0x32, 0xA8, 0x06, 0x1E, 0x00, 0xDB, 0xFF, 0x23,
0x05, 0xC2, 0x86, 0x06, 0xFB, 0x46, 0x2B, 0x0D, 0xF3, 0xC2, 0x8E, 0x06, 0xFB, 0x4E, 0x2B, 0x15,
0xF3, 0xC2, 0x96, 0x06, 0xFB, 0x56, 0x23, 0x3D, 0xF3, 0x32, 0xF4, 0x07, 0xF6, 0x00, 0xF6, 0x00,
0xC2, 0x7F, 0x06, 0x1D, 0xC2, 0x7D, 0x06, 0x3E, 0x00, 0x3D, 0xC2, 0x78, 0x06, 0xC3, 0x49, 0x06,
0x2A, 0xE4, 0x07, 0xF9, 0xC9, 0xDB, 0xFF, 0x03, 0x00, 0x04, 0x01, 0x05, 0x02, 0x06, 0x06, 0x02,
0x05, 0x01, 0x04, 0x00, 0x03, 0xFF, 0x06, 0x00, 0x00, 0x02, 0x01, 0x04, 0x02, 0x05, 0x03, 0x07,
0x04, 0x09, 0x05, 0x0B, 0x06, 0x0C, 0x00, 0x0E, 0x01, 0x10, 0x02, 0x11, 0x03, 0x13, 0x04, 0x15,
0x05, 0x17, 0x06, 0x18, 0x00, 0x1A, 0x01, 0x1C, 0x02, 0x1D, 0x03, 0x1F, 0x04, 0x21, 0x05, 0x23,
0x06, 0x24, 0x00, 0x26, 0x01, 0x28, 0x02, 0x29, 0x03, 0x2B, 0x04, 0x2D, 0x05, 0x2F, 0x06, 0x30,
0x00, 0x32, 0x01, 0x00, 0xF1, 0xE4, 0xD7, 0xCB, 0xC0, 0xB5, 0xAB, 0xA1, 0x98, 0x90, 0x88, 0x80,
0x79, 0x72, 0x6B, 0x65, 0x60, 0x5A, 0x55, 0x51, 0x4C, 0x48, 0x44, 0x40, 0x3C, 0x39, 0x36, 0x33,
0x30, 0x2D, 0x2B, 0x28, 0x26, 0x24, 0x22, 0x20, 0x1E, 0x1C, 0x1B, 0x19, 0x18, 0x17, 0x15, 0x14,
0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x2B, 0x00, 0x2D, 0x80, 0xFF, 0x23, 0x20, 0x25, 0x10, 0x26,
0x40, 0xFF, 0x48, 0x60, 0x49, 0x18, 0x51, 0x30, 0x53, 0x0C, 0x54, 0x06, 0x57, 0xC0, 0x58, 0x03,
0xFF, 0x44, 0xC4, 0x00, 0x46, 0x96, 0x01, 0x4C, 0x5E, 0x01, 0x4E, 0x8B, 0x01, 0x50, 0x01, 0x06,
0x52, 0xB5, 0x00, 0x53, 0x87, 0x02, 0xFF, 0x24, 0xF8, 0x02, 0x2A, 0x72, 0x04, 0x2F, 0x3E, 0x05,
0x3C, 0xF4, 0x04, 0x3D, 0x1C, 0x05, 0x3E, 0xFC, 0x04, 0x40, 0x6F, 0x04, 0x4B, 0xB4, 0x04, 0x4D,
0x9D, 0x04, 0x4E, 0x03, 0x05, 0x50, 0x47, 0x05, 0x52, 0x68, 0x05, 0x56, 0x77, 0x04, 0x5E, 0x85,
0x04, 0xFF, 0x00, 0xEB, 0x21, 0x00, 0x00, 0x39, 0x22, 0x01, 0x00, 0x22, 0x07, 0x00, 0x2B, 0x2B,
0x22, 0xCD, 0x02, 0x3E, 0x31, 0x32, 0x00, 0x00, 0x21, 0x00, 0x00, 0xE5, 0x21, 0x04, 0x00, 0x19,
0x22, 0xB9, 0x00, 0x21, 0x19, 0x00, 0x19, 0x22, 0xE8, 0x01, 0x21, 0x1F, 0x00, 0x19, 0x22, 0xF8,
0x01, 0x7A, 0x32, 0x4B, 0x02, 0x7B, 0x32, 0x48, 0x02, 0x1A, 0xB7, 0xC2, 0xD4, 0x07, 0x32, 0x9C,
0x06, 0x32, 0x9E, 0x06, 0xCD, 0x0B, 0x02, 0x21, 0xEB, 0x07, 0xCD, 0x04, 0x02, 0x21, 0x8B, 0x01,
0xE5, 0x21, 0xCA, 0x05, 0xE5, 0xE5, 0x21, 0x93, 0x07, 0x3E, 0x40, 0xC9, 0x54, 0x48, 0x45, 0x20,
0x4D, 0x55, 0x53, 0x49, 0x43, 0x20, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, 0x20, 0x28, 0x43, 0x29,
0x20, 0x31, 0x39, 0x37, 0x37, 0x20, 0x53, 0x4F, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x20, 0x54,
0x45, 0x43, 0x48, 0x4E, 0x4F, 0x4C, 0x4F, 0x47, 0x59, 0x20, 0x43, 0x4F, 0x52, 0x50, 0x2E, 0x20,
0x20, 0x20, 0x3C, 0x37, 0x37, 0x2D, 0x30, 0x35, 0x2D, 0x31, 0x39, 0x3E, 0x0D, 0x00, 0x00, 0x00};
static const byte prog_adexer[] = {
0xF3, 0x31, 0xCA, 0x32, 0x21, 0x41, 0x32, 0x01, 0x00, 0x02, 0x36, 0x00, 0x23, 0x0B, 0x78, 0xB1,
0xC2, 0x0A, 0x00, 0x3C, 0x32, 0xCA, 0x33, 0xAF, 0xD3, 0xA0, 0xD3, 0xA2, 0xD3, 0xA4, 0xD3, 0xA6,
0xD3, 0xA1, 0xD3, 0xA5, 0x2F, 0xD3, 0xA3, 0xD3, 0xA7, 0x3E, 0x2C, 0xD3, 0xA0, 0xD3, 0xA4, 0xD3,
0xA6, 0x3E, 0x24, 0xD3, 0xA2, 0x3E, 0x03, 0xD3, 0x12, 0x3E, 0x15, 0xD3, 0x12, 0xDB, 0xFF, 0xE6,
0x03, 0xD6, 0x02, 0xC2, 0x4A, 0x00, 0x3C, 0x32, 0x45, 0x32, 0xCD, 0x20, 0x31, 0x3E, 0x03, 0xD3,
0x10, 0x3E, 0x15, 0xD3, 0x10, 0xCD, 0xE3, 0x26, 0x20, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D,
0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D,
0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D,
0x3D, 0x3D, 0x0D, 0x0A, 0x20, 0x3D, 0x20, 0x41, 0x6C, 0x74, 0x61, 0x69, 0x72, 0x20, 0x44, 0x61,
0x74, 0x61, 0x6B, 0x65, 0x65, 0x70, 0x65, 0x72, 0x20, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73,
0x65, 0x72, 0x20, 0x76, 0x65, 0x72, 0x2E, 0x20, 0x31, 0x2E, 0x31, 0x34, 0x20, 0x3D, 0x0D, 0x0A,
0x20, 0x3D, 0x20, 0x20, 0x42, 0x79, 0x20, 0x4D, 0x61, 0x72, 0x74, 0x69, 0x6E, 0x20, 0x45, 0x62,