-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathGEMINIFM.SRC
2508 lines (2199 loc) · 66.3 KB
/
GEMINIFM.SRC
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
[number match level address z80 print disk full map]
BEGIN
{---------------------------------}
{-- PLACE OUR PROGRAM AT ^h8000 --}
{---------------------------------}
STRING RESERVE_SPACE LENGTH ^h7EF9;
{-----------------------------------}
{-- CONSTANTS AND WORKING STORAGE --}
{-----------------------------------}
SET DOS_CALLF = ^h30;
SET DOS_RDSLT = ^h09;
SET DOS_WRSLT = ^h11;
SET DOS_ENASLT = ^h21;
SET BIOS_ENASLT = ^h24;
SET BIOS_BEEP = ^hC0;
SET BIOS_GTTRIG = ^hD8
SET CALL_OPCODE = ^hCD;
SET RET_OPCODE = ^hC9;
SET DOS2_BIOS = ^h0005;
EXTERNAL BYTE EXPTBL0 ADDRESS ^hFCC1;
EXTERNAL BYTE EXPTBL1 ADDRESS ^hFCC2;
EXTERNAL BYTE EXPTBL2 ADDRESS ^hFCC3;
EXTERNAL BYTE EXPTBL3 ADDRESS ^hFCC4;
SET HIGH = ^hFF;
SET LOW = ^h00;
SET DETECT_APRLOPLL_ADDR = ^h4018;
SET DETECT_MCHFM0_ADDR = ^h0080;
SET NEWKEY = ^hFBE5;
EXTERNAL BYTE NEWKEY7 ADDRESS (NEWKEY + 7);
EXTERNAL BYTE RAMAD0 ADDRESS ^hF341;
EXTERNAL BYTE RAMAD1 ADDRESS ^hF342;
EXTERNAL BYTE RAMAD2 ADDRESS ^hF343;
EXTERNAL BYTE RAMAD3 ADDRESS ^hF344;
EXTERNAL BYTE BIOS_SLOT_ID ADDRESS ^hFCC1;
BYTE WHILE_LOOP_COUNTER VALUE 0;
BYTE WHILE_LOOP_LIMIT VALUE 0;
BYTE DETECT_SLOT VALUE 0;
BYTE RETURN_SLOT VALUE 0;
STRING FOUND_STRING LENGTH 9;
STRING GOAL_STRING LENGTH 9;
POINTER TO BYTE INTERNAL_DETECT_POINTER VALUE #FOUND_STRING;
WORD DETECT_ADDR;
WORD EXTERNAL_DETECT_POINTER;
BYTE DETECT_STRING_LENGTH;
BYTE DETECT_CHAR_IN;
WORD DUMMY_WORD;
WORD GEMINI_COMMAND;
REDEFINE GEMINI_COMMAND;
RECORD GEMINI_COMMAND_REC;
BYTE GEMINI_COMMAND_BYTECODE;
BYTE GEMINI_COMMAND_DATA;
ENDREC;
ENDREDEF;
POINTER TO WORD GEMINI_COMMAND_POINTER VALUE HIMEM;
WORD GEMINI_INFINITE_LOOP_POINT;
BYTE TEMPO VALUE 0;
BYTE TEMPO_COUNTER VALUE 0;
BYTE WAIT_COUNT;
BYTE GEMINI_NOT_PAUSED VALUE 0;
FIELD LOOP_STACK LENGTH 32;
POINTER TO WORD LOOP_STACK_POINTER VALUE #LOOP_STACK;
BYTE OPM_NOT_FOUND;
{---------------------------------------
{-- DOS-SPECIFIC WORK AREA --
{-- REMOVE THESE IN EMBEDDED REPLAYER --
{---------------------------------------
BYTE SONG_DONE;
BYTE SPACE_PRESSED;
BYTE PAUSE_DEBOUNCE;
BYTE LASTCHAR;
BYTE INCHAR;
STRING INBUFFER 512;
FILE INFILE DISK FILE1 TEXT RECORD INCHAR BUFFER INBUFFER VALUE "SONG.BIN";
EXTERNAL WORD TPA_END ADDRESS ^h0006;
POINTER TO BYTE SONG_LOAD_POINTER VALUE HIMEM;
WORD USER_AREA_END;
EXTERNAL FIELD HTIMI_HOOK ADDRESS ^hFD9F LENGTH 5;
FIELD OLD_HTIMI_HOOK 5;
BYTE OLD_HTIMI_RET VALUE RET_OPCODE;
FIELD NEW_HTIMI_HOOK 5;
REDEFINE NEW_HTIMI_HOOK;
RECORD NEW_HTIMI_HOOK_REC;
BYTE NEW_HTIMI_COMMAND_CALL VALUE CALL_OPCODE;
WORD NEW_HTIMI_COMMAND_ADDRESS VALUE VBLANK;
BYTE NEW_HTIMI_COMMAND_RET VALUE RET_OPCODE;
BYTE FILLER VALUE ^h00;
ENDREC;
ENDREDEF;
STRING STR_OUT LENGTH 15;
WORD WHEEL_POSITION;
{------------------
{-- OPLL DEFINES --
{------------------
SET OPLL_FNUM_C = 87;
SET OPLL_FNUM_CSHARP = 91;
SET OPLL_FNUM_D = 97;
SET OPLL_FNUM_DSHARP = 103;
SET OPLL_FNUM_E = 109;
SET OPLL_FNUM_F = 115;
SET OPLL_FNUM_FSHARP = 122;
SET OPLL_FNUM_G = 129;
SET OPLL_FNUM_GSHARP = 137;
SET OPLL_FNUM_A = 145;
SET OPLL_FNUM_ASHARP = 154;
SET OPLL_FNUM_B = 163;
SET OPLL_REG_PORT = ^h7C;
SET OPLL_DATA_PORT = ^h7D;
SET WRTOPL = ^h4110;
SET OPLL_RHYTHM_BASE = ^h0E;
SET OPLL_FNUM_BASE = ^h10;
SET OPLL_CNTL_BASE = ^h20;
SET OPLL_INSTVOL_BASE = ^h30;
BYTE OPLL_REG_OUT;
BYTE OPLL_DATA_OUT;
BYTE OPLL_NOTE;
BYTE OPLL_OCTAVE;
POINTER TO BYTE OPLL_FNUM;
POINTER TO BYTE OPLL_CNTL;
POINTER TO BYTE OPLL_INSTVOL;
POINTER TO BYTE OPLL_DETUNE;
BYTE OPLL0_FNUM;
BYTE OPLL0_CNTL;
BYTE OPLL0_INSTVOL;
BYTE OPLL0_DETUNE;
BYTE OPLL1_FNUM;
BYTE OPLL1_CNTL;
BYTE OPLL1_INSTVOL;
BYTE OPLL1_DETUNE;
BYTE OPLL2_FNUM;
BYTE OPLL2_CNTL;
BYTE OPLL2_INSTVOL;
BYTE OPLL2_DETUNE;
BYTE OPLL3_FNUM;
BYTE OPLL3_CNTL;
BYTE OPLL3_INSTVOL;
BYTE OPLL3_DETUNE;
BYTE OPLL4_FNUM;
BYTE OPLL4_CNTL;
BYTE OPLL4_INSTVOL;
BYTE OPLL4_DETUNE;
BYTE OPLL5_FNUM;
BYTE OPLL5_CNTL;
BYTE OPLL5_INSTVOL;
BYTE OPLL5_DETUNE;
BYTE OPLL_RHYTHM;
BYTE OPLL_BD_VOL;
BYTE OPLL_SD_VOL;
BYTE OPLL_HH_VOL;
BYTE OPLL_TM_VOL;
BYTE OPLL_CY_VOL;
{------------------
{-- OPM DEFINES --
{------------------
EXTERNAL BYTE OPM_STATUS_ADDR ADDRESS ^h7FF1;
EXTERNAL BYTE OPM_REG_ADDR ADDRESS ^h7FF0;
EXTERNAL BYTE OPM_DATA_ADDR ADDRESS ^h7FF1;
SET OPM_NOTE_C = ^h0E;
SET OPM_NOTE_CSHARP = ^h00;
SET OPM_NOTE_D = ^h01;
SET OPM_NOTE_DSHARP = ^h02;
SET OPM_NOTE_E = ^h04;
SET OPM_NOTE_F = ^h05;
SET OPM_NOTE_FSHARP = ^h06;
SET OPM_NOTE_G = ^h08;
SET OPM_NOTE_GSHARP = ^h09;
SET OPM_NOTE_A = ^h0A;
SET OPM_NOTE_ASHARP = ^h0C;
SET OPM_NOTE_B = ^h0D;
SET OPM_CNTL_REG = ^h08;
SET OPM_OCTNOTE_BASE = ^h18;
SET OPM_ALG_BASE = ^h20;
SET OPM_DETUNE_BASE = ^h30;
SET OPM_OP1VOL_BASE = ^h60;
SET OPM_OP3VOL_BASE = ^h70;
SET OPM_OP2VOL_BASE = ^h68;
SET OPM_OP4VOL_BASE = ^h78;
BYTE OPM0_VOL;
BYTE OPM1_VOL;
BYTE OPM2_VOL;
BYTE OPM3_VOL;
BYTE OPM4_VOL;
BYTE OPM5_VOL;
BYTE OPM_BD_VOL;
BYTE OPM_SD_VOL;
BYTE OPM_HH_VOL;
BYTE OPM_TM_VOL;
BYTE OPM_CY_VOL;
POINTER TO BYTE OPM_INST_POINTER;
{--WARNING- THESE ARE STORED IN MGSDRV INST ORDER, *NOT* OPLL INST REGISTER ORDER
{--THAT MEANS THE USER VOICE IS INSTRUMENT *F* DESPITE BEING INSTRUMENT 0 IN GEMINI FM
{--INSTRUMENT 0;
BYTE OPM_I0_20 VALUE ^hFC;
BYTE OPM_I0_40 VALUE ^h01;
BYTE OPM_I0_48 VALUE ^h01;
BYTE OPM_I0_50 VALUE ^h01;
BYTE OPM_I0_58 VALUE ^h01;
BYTE OPM_I0_60 VALUE ^h1E;
BYTE OPM_I0_68 VALUE ^h7F;
BYTE OPM_I0_70 VALUE ^h19;
BYTE OPM_I0_78 VALUE ^h7F;
BYTE OPM_I0_80 VALUE ^h1F;
BYTE OPM_I0_88 VALUE ^h1F;
BYTE OPM_I0_90 VALUE ^h0F;
BYTE OPM_I0_98 VALUE ^h0F;
BYTE OPM_I0_A0 VALUE ^h1F;
BYTE OPM_I0_A8 VALUE ^h1F;
BYTE OPM_I0_B0 VALUE ^h1F;
BYTE OPM_I0_B8 VALUE ^h1F;
BYTE OPM_I0_C0 VALUE ^h00;
BYTE OPM_I0_C8 VALUE ^h00;
BYTE OPM_I0_D0 VALUE ^h00;
BYTE OPM_I0_D8 VALUE ^h00;
BYTE OPM_I0_E0 VALUE ^h06;
BYTE OPM_I0_E8 VALUE ^h06;
BYTE OPM_I0_F0 VALUE ^h09;
BYTE OPM_I0_F8 VALUE ^h09;
{--INSTRUMENT 1;
BYTE OPM_I1_20 VALUE ^hFC;
BYTE OPM_I1_40 VALUE ^h33;
BYTE OPM_I1_48 VALUE ^h00;
BYTE OPM_I1_50 VALUE ^h21;
BYTE OPM_I1_58 VALUE ^h01;
BYTE OPM_I1_60 VALUE ^h24;
BYTE OPM_I1_68 VALUE ^h7F;
BYTE OPM_I1_70 VALUE ^h16;
BYTE OPM_I1_78 VALUE ^h7F;
BYTE OPM_I1_80 VALUE ^h5B;
BYTE OPM_I1_88 VALUE ^h1F;
BYTE OPM_I1_90 VALUE ^h1B;
BYTE OPM_I1_98 VALUE ^h9F;
BYTE OPM_I1_A0 VALUE ^h09;
BYTE OPM_I1_A8 VALUE ^h1F;
BYTE OPM_I1_B0 VALUE ^h00;
BYTE OPM_I1_B8 VALUE ^h00;
BYTE OPM_I1_C0 VALUE ^h0B;
BYTE OPM_I1_C8 VALUE ^h1F;
BYTE OPM_I1_D0 VALUE ^h0B;
BYTE OPM_I1_D8 VALUE ^h00;
BYTE OPM_I1_E0 VALUE ^h26;
BYTE OPM_I1_E8 VALUE ^h0F;
BYTE OPM_I1_F0 VALUE ^h0A;
BYTE OPM_I1_F8 VALUE ^h06;
{--INSTRUMENT 2;
BYTE OPM_I2_20 VALUE ^hEC;
BYTE OPM_I2_40 VALUE ^h03;
BYTE OPM_I2_48 VALUE ^h00;
BYTE OPM_I2_50 VALUE ^h01;
BYTE OPM_I2_58 VALUE ^h00;
BYTE OPM_I2_60 VALUE ^h22;
BYTE OPM_I2_68 VALUE ^h7F;
BYTE OPM_I2_70 VALUE ^h18;
BYTE OPM_I2_78 VALUE ^h7F;
BYTE OPM_I2_80 VALUE ^h5F;
BYTE OPM_I2_88 VALUE ^h1F;
BYTE OPM_I2_90 VALUE ^h1B;
BYTE OPM_I2_98 VALUE ^h1F;
BYTE OPM_I2_A0 VALUE ^h04;
BYTE OPM_I2_A8 VALUE ^h1F;
BYTE OPM_I2_B0 VALUE ^h04;
BYTE OPM_I2_B8 VALUE ^h1F;
BYTE OPM_I2_C0 VALUE ^h03;
BYTE OPM_I2_C8 VALUE ^h1F;
BYTE OPM_I2_D0 VALUE ^h0A;
BYTE OPM_I2_D8 VALUE ^h1F;
BYTE OPM_I2_E0 VALUE ^h06;
BYTE OPM_I2_E8 VALUE ^h0F;
BYTE OPM_I2_F0 VALUE ^h0A;
BYTE OPM_I2_F8 VALUE ^h0F;
{--INSTRUMENT 3;
BYTE OPM_I3_20 VALUE ^hFD;
BYTE OPM_I3_40 VALUE ^h01;
BYTE OPM_I3_48 VALUE ^h00;
BYTE OPM_I3_50 VALUE ^h01;
BYTE OPM_I3_58 VALUE ^h01;
BYTE OPM_I3_60 VALUE ^h2A;
BYTE OPM_I3_68 VALUE ^h7F;
BYTE OPM_I3_70 VALUE ^h14;
BYTE OPM_I3_78 VALUE ^h1A;
BYTE OPM_I3_80 VALUE ^h1F;
BYTE OPM_I3_88 VALUE ^h1F;
BYTE OPM_I3_90 VALUE ^h10;
BYTE OPM_I3_98 VALUE ^h10;
BYTE OPM_I3_A0 VALUE ^h01;
BYTE OPM_I3_A8 VALUE ^h1F;
BYTE OPM_I3_B0 VALUE ^h1F;
BYTE OPM_I3_B8 VALUE ^h0F;
BYTE OPM_I3_C0 VALUE ^h00;
BYTE OPM_I3_C8 VALUE ^h1F;
BYTE OPM_I3_D0 VALUE ^h00;
BYTE OPM_I3_D8 VALUE ^h1F;
BYTE OPM_I3_E0 VALUE ^h16;
BYTE OPM_I3_E8 VALUE ^h0F;
BYTE OPM_I3_F0 VALUE ^h0A;
BYTE OPM_I3_F8 VALUE ^hFF;
{--INSTRUMENT 4;
BYTE OPM_I4_20 VALUE ^hF4;
BYTE OPM_I4_40 VALUE ^h02;
BYTE OPM_I4_48 VALUE ^h00;
BYTE OPM_I4_50 VALUE ^h01;
BYTE OPM_I4_58 VALUE ^h00;
BYTE OPM_I4_60 VALUE ^h1F;
BYTE OPM_I4_68 VALUE ^h7F;
BYTE OPM_I4_70 VALUE ^h17;
BYTE OPM_I4_78 VALUE ^h7F;
BYTE OPM_I4_80 VALUE ^h1F;
BYTE OPM_I4_88 VALUE ^h1F;
BYTE OPM_I4_90 VALUE ^h11;
BYTE OPM_I4_98 VALUE ^h1F;
BYTE OPM_I4_A0 VALUE ^h19;
BYTE OPM_I4_A8 VALUE ^h1F;
BYTE OPM_I4_B0 VALUE ^h1F;
BYTE OPM_I4_B8 VALUE ^h1F;
BYTE OPM_I4_C0 VALUE ^h00;
BYTE OPM_I4_C8 VALUE ^h1F;
BYTE OPM_I4_D0 VALUE ^h00;
BYTE OPM_I4_D8 VALUE ^h1F;
BYTE OPM_I4_E0 VALUE ^h16;
BYTE OPM_I4_E8 VALUE ^h0F;
BYTE OPM_I4_F0 VALUE ^h0A;
BYTE OPM_I4_F8 VALUE ^h0F;
{--INSTRUMENT 5;
BYTE OPM_I5_20 VALUE ^hEC;
BYTE OPM_I5_40 VALUE ^h01;
BYTE OPM_I5_48 VALUE ^h00;
BYTE OPM_I5_50 VALUE ^h04;
BYTE OPM_I5_58 VALUE ^h00;
BYTE OPM_I5_60 VALUE ^h19;
BYTE OPM_I5_68 VALUE ^h7F;
BYTE OPM_I5_70 VALUE ^h14;
BYTE OPM_I5_78 VALUE ^h7F;
BYTE OPM_I5_80 VALUE ^hDF;
BYTE OPM_I5_88 VALUE ^h1F;
BYTE OPM_I5_90 VALUE ^h11;
BYTE OPM_I5_98 VALUE ^h1F;
BYTE OPM_I5_A0 VALUE ^h1F;
BYTE OPM_I5_A8 VALUE ^h1F;
BYTE OPM_I5_B0 VALUE ^h1F;
BYTE OPM_I5_B8 VALUE ^h1F;
BYTE OPM_I5_C0 VALUE ^h00;
BYTE OPM_I5_C8 VALUE ^h1F;
BYTE OPM_I5_D0 VALUE ^h00;
BYTE OPM_I5_D8 VALUE ^h1F;
BYTE OPM_I5_E0 VALUE ^h06;
BYTE OPM_I5_E8 VALUE ^h0F;
BYTE OPM_I5_F0 VALUE ^h0A;
BYTE OPM_I5_F8 VALUE ^h0F;
{--INSTRUMENT 6;
BYTE OPM_I6_20 VALUE ^hFC;
BYTE OPM_I6_40 VALUE ^h01;
BYTE OPM_I6_48 VALUE ^h00;
BYTE OPM_I6_50 VALUE ^h01;
BYTE OPM_I6_58 VALUE ^h00;
BYTE OPM_I6_60 VALUE ^h1D;
BYTE OPM_I6_68 VALUE ^h7F;
BYTE OPM_I6_70 VALUE ^h14;
BYTE OPM_I6_78 VALUE ^h7F;
BYTE OPM_I6_80 VALUE ^h12;
BYTE OPM_I6_88 VALUE ^h1F;
BYTE OPM_I6_90 VALUE ^h16;
BYTE OPM_I6_98 VALUE ^h1F;
BYTE OPM_I6_A0 VALUE ^h06;
BYTE OPM_I6_A8 VALUE ^h1F;
BYTE OPM_I6_B0 VALUE ^h0A;
BYTE OPM_I6_B8 VALUE ^h1F;
BYTE OPM_I6_C0 VALUE ^h00;
BYTE OPM_I6_C8 VALUE ^h1F;
BYTE OPM_I6_D0 VALUE ^h00;
BYTE OPM_I6_D8 VALUE ^h1F;
BYTE OPM_I6_E0 VALUE ^h1F;
BYTE OPM_I6_E8 VALUE ^h0F;
BYTE OPM_I6_F0 VALUE ^h1F;
BYTE OPM_I6_F8 VALUE ^h0F;
{--INSTRUMENT 7;
BYTE OPM_I7_20 VALUE ^hFC;
BYTE OPM_I7_40 VALUE ^h73;
BYTE OPM_I7_48 VALUE ^h33;
BYTE OPM_I7_50 VALUE ^h31;
BYTE OPM_I7_58 VALUE ^h71;
BYTE OPM_I7_60 VALUE ^h3C;
BYTE OPM_I7_68 VALUE ^h23;
BYTE OPM_I7_70 VALUE ^h1E;
BYTE OPM_I7_78 VALUE ^h1E;
BYTE OPM_I7_80 VALUE ^h1F;
BYTE OPM_I7_88 VALUE ^h1F;
BYTE OPM_I7_90 VALUE ^h0F;
BYTE OPM_I7_98 VALUE ^h0F;
BYTE OPM_I7_A0 VALUE ^h1F;
BYTE OPM_I7_A8 VALUE ^h1F;
BYTE OPM_I7_B0 VALUE ^h1F;
BYTE OPM_I7_B8 VALUE ^h1F;
BYTE OPM_I7_C0 VALUE ^h00;
BYTE OPM_I7_C8 VALUE ^h00;
BYTE OPM_I7_D0 VALUE ^h00;
BYTE OPM_I7_D8 VALUE ^h00;
BYTE OPM_I7_E0 VALUE ^h06;
BYTE OPM_I7_E8 VALUE ^h06;
BYTE OPM_I7_F0 VALUE ^h0A;
BYTE OPM_I7_F8 VALUE ^h0A;
{--INSTRUMENT 8;
BYTE OPM_I8_20 VALUE ^hF4;
BYTE OPM_I8_40 VALUE ^h01;
BYTE OPM_I8_48 VALUE ^h00;
BYTE OPM_I8_50 VALUE ^h01;
BYTE OPM_I8_58 VALUE ^h00;
BYTE OPM_I8_60 VALUE ^h20;
BYTE OPM_I8_68 VALUE ^h7F;
BYTE OPM_I8_70 VALUE ^h12;
BYTE OPM_I8_78 VALUE ^h7F;
BYTE OPM_I8_80 VALUE ^h10;
BYTE OPM_I8_88 VALUE ^h1F;
BYTE OPM_I8_90 VALUE ^h12;
BYTE OPM_I8_98 VALUE ^h1F;
BYTE OPM_I8_A0 VALUE ^h00;
BYTE OPM_I8_A8 VALUE ^h1F;
BYTE OPM_I8_B0 VALUE ^h1F;
BYTE OPM_I8_B8 VALUE ^h1F;
BYTE OPM_I8_C0 VALUE ^h00;
BYTE OPM_I8_C8 VALUE ^h1F;
BYTE OPM_I8_D0 VALUE ^h00;
BYTE OPM_I8_D8 VALUE ^h1F;
BYTE OPM_I8_E0 VALUE ^h16;
BYTE OPM_I8_E8 VALUE ^h0F;
BYTE OPM_I8_F0 VALUE ^h0A;
BYTE OPM_I8_F8 VALUE ^h0F;
{--INSTRUMENT 9;
BYTE OPM_I9_20 VALUE ^hE8;
BYTE OPM_I9_40 VALUE ^h01;
BYTE OPM_I9_48 VALUE ^h01;
BYTE OPM_I9_50 VALUE ^h01;
BYTE OPM_I9_58 VALUE ^h01;
BYTE OPM_I9_60 VALUE ^h14;
BYTE OPM_I9_68 VALUE ^h21;
BYTE OPM_I9_70 VALUE ^h1C;
BYTE OPM_I9_78 VALUE ^h1B;
BYTE OPM_I9_80 VALUE ^h12;
BYTE OPM_I9_88 VALUE ^h12;
BYTE OPM_I9_90 VALUE ^h12;
BYTE OPM_I9_98 VALUE ^h16;
BYTE OPM_I9_A0 VALUE ^h0C;
BYTE OPM_I9_A8 VALUE ^h0C;
BYTE OPM_I9_B0 VALUE ^h0C;
BYTE OPM_I9_B8 VALUE ^h1F;
BYTE OPM_I9_C0 VALUE ^h00;
BYTE OPM_I9_C8 VALUE ^h00;
BYTE OPM_I9_D0 VALUE ^h00;
BYTE OPM_I9_D8 VALUE ^h00;
BYTE OPM_I9_E0 VALUE ^h36;
BYTE OPM_I9_E8 VALUE ^h36;
BYTE OPM_I9_F0 VALUE ^h36;
BYTE OPM_I9_F8 VALUE ^h0A;
{--INSTRUMENT 10;
BYTE OPM_IA_20 VALUE ^hD4;
BYTE OPM_IA_40 VALUE ^h03;
BYTE OPM_IA_48 VALUE ^h06;
BYTE OPM_IA_50 VALUE ^h01;
BYTE OPM_IA_58 VALUE ^h02;
BYTE OPM_IA_60 VALUE ^h10;
BYTE OPM_IA_68 VALUE ^h1B;
BYTE OPM_IA_70 VALUE ^h17;
BYTE OPM_IA_78 VALUE ^h1B;
BYTE OPM_IA_80 VALUE ^h1F;
BYTE OPM_IA_88 VALUE ^h1F;
BYTE OPM_IA_90 VALUE ^h1A;
BYTE OPM_IA_98 VALUE ^h1F;
BYTE OPM_IA_A0 VALUE ^h1F;
BYTE OPM_IA_A8 VALUE ^h1F;
BYTE OPM_IA_B0 VALUE ^h00;
BYTE OPM_IA_B8 VALUE ^h00;
BYTE OPM_IA_C0 VALUE ^h00;
BYTE OPM_IA_C8 VALUE ^h00;
BYTE OPM_IA_D0 VALUE ^h0C;
BYTE OPM_IA_D8 VALUE ^h0C;
BYTE OPM_IA_E0 VALUE ^h06;
BYTE OPM_IA_E8 VALUE ^h06;
BYTE OPM_IA_F0 VALUE ^h0A;
BYTE OPM_IA_F8 VALUE ^h0A;
{--INSTRUMENT 11;
BYTE OPM_IB_20 VALUE ^hFC;
BYTE OPM_IB_40 VALUE ^h07;
BYTE OPM_IB_48 VALUE ^h00;
BYTE OPM_IB_50 VALUE ^h01;
BYTE OPM_IB_58 VALUE ^h00;
BYTE OPM_IB_60 VALUE ^h30;
BYTE OPM_IB_68 VALUE ^h7F;
BYTE OPM_IB_70 VALUE ^h14;
BYTE OPM_IB_78 VALUE ^h7F;
BYTE OPM_IB_80 VALUE ^h1F;
BYTE OPM_IB_88 VALUE ^h1F;
BYTE OPM_IB_90 VALUE ^h1F;
BYTE OPM_IB_98 VALUE ^h1F;
BYTE OPM_IB_A0 VALUE ^h1F;
BYTE OPM_IB_A8 VALUE ^h1F;
BYTE OPM_IB_B0 VALUE ^h1F;
BYTE OPM_IB_B8 VALUE ^h1F;
BYTE OPM_IB_C0 VALUE ^h0A;
BYTE OPM_IB_C8 VALUE ^h1F;
BYTE OPM_IB_D0 VALUE ^h09;
BYTE OPM_IB_D8 VALUE ^h1F;
BYTE OPM_IB_E0 VALUE ^h06;
BYTE OPM_IB_E8 VALUE ^h0F;
BYTE OPM_IB_F0 VALUE ^h0A;
BYTE OPM_IB_F8 VALUE ^h0F;
{--INSTRUMENT 12;
BYTE OPM_IC_20 VALUE ^hF4;
BYTE OPM_IC_40 VALUE ^h01;
BYTE OPM_IC_48 VALUE ^h00;
BYTE OPM_IC_50 VALUE ^h00;
BYTE OPM_IC_58 VALUE ^h00;
BYTE OPM_IC_60 VALUE ^h0D;
BYTE OPM_IC_68 VALUE ^h7F;
BYTE OPM_IC_70 VALUE ^h19;
BYTE OPM_IC_78 VALUE ^h7F;
BYTE OPM_IC_80 VALUE ^h1F;
BYTE OPM_IC_88 VALUE ^h1F;
BYTE OPM_IC_90 VALUE ^h5B;
BYTE OPM_IC_98 VALUE ^h1F;
BYTE OPM_IC_A0 VALUE ^h1F;
BYTE OPM_IC_A8 VALUE ^h1F;
BYTE OPM_IC_B0 VALUE ^h1F;
BYTE OPM_IC_B8 VALUE ^h1F;
BYTE OPM_IC_C0 VALUE ^h0B;
BYTE OPM_IC_C8 VALUE ^h1F;
BYTE OPM_IC_D0 VALUE ^h0B;
BYTE OPM_IC_D8 VALUE ^h1F;
BYTE OPM_IC_E0 VALUE ^h06;
BYTE OPM_IC_E8 VALUE ^h0F;
BYTE OPM_IC_F0 VALUE ^h0A;
BYTE OPM_IC_F8 VALUE ^h0F;
{--INSTRUMENT 13;
BYTE OPM_ID_20 VALUE ^hE4;
BYTE OPM_ID_40 VALUE ^h01;
BYTE OPM_ID_48 VALUE ^h00;
BYTE OPM_ID_50 VALUE ^h01;
BYTE OPM_ID_58 VALUE ^h00;
BYTE OPM_ID_60 VALUE ^h18;
BYTE OPM_ID_68 VALUE ^h7F;
BYTE OPM_ID_70 VALUE ^h14;
BYTE OPM_ID_78 VALUE ^h7F;
BYTE OPM_ID_80 VALUE ^h1F;
BYTE OPM_ID_88 VALUE ^h1F;
BYTE OPM_ID_90 VALUE ^h19;
BYTE OPM_ID_98 VALUE ^h1F;
BYTE OPM_ID_A0 VALUE ^h1F;
BYTE OPM_ID_A8 VALUE ^h1F;
BYTE OPM_ID_B0 VALUE ^h1F;
BYTE OPM_ID_B8 VALUE ^h1F;
BYTE OPM_ID_C0 VALUE ^h09;
BYTE OPM_ID_C8 VALUE ^h1F;
BYTE OPM_ID_D0 VALUE ^h05;
BYTE OPM_ID_D8 VALUE ^h1F;
BYTE OPM_ID_E0 VALUE ^h06;
BYTE OPM_ID_E8 VALUE ^h0F;
BYTE OPM_ID_F0 VALUE ^h0A;
BYTE OPM_ID_F8 VALUE ^h0F;
{--INSTRUMENT 14;
BYTE OPM_IE_20 VALUE ^hE4;
BYTE OPM_IE_40 VALUE ^h01;
BYTE OPM_IE_48 VALUE ^h00;
BYTE OPM_IE_50 VALUE ^h01;
BYTE OPM_IE_58 VALUE ^h00;
BYTE OPM_IE_60 VALUE ^h13;
BYTE OPM_IE_68 VALUE ^h7F;
BYTE OPM_IE_70 VALUE ^h14;
BYTE OPM_IE_78 VALUE ^h7F;
BYTE OPM_IE_80 VALUE ^h1F;
BYTE OPM_IE_88 VALUE ^h1F;
BYTE OPM_IE_90 VALUE ^h1B;
BYTE OPM_IE_98 VALUE ^h1F;
BYTE OPM_IE_A0 VALUE ^h1F;
BYTE OPM_IE_A8 VALUE ^h1F;
BYTE OPM_IE_B0 VALUE ^h1F;
BYTE OPM_IE_B8 VALUE ^h1F;
BYTE OPM_IE_C0 VALUE ^h07;
BYTE OPM_IE_C8 VALUE ^h1F;
BYTE OPM_IE_D0 VALUE ^h0A;
BYTE OPM_IE_D8 VALUE ^h1F;
BYTE OPM_IE_E0 VALUE ^h06;
BYTE OPM_IE_E8 VALUE ^h0F;
BYTE OPM_IE_F0 VALUE ^h0A;
BYTE OPM_IE_F8 VALUE ^h0F;
{--INSTRUMENT 15;
BYTE OPM_IF_20 VALUE ^hE4;
BYTE OPM_IF_40 VALUE ^h07;
BYTE OPM_IF_48 VALUE ^h00;
BYTE OPM_IF_50 VALUE ^h02;
BYTE OPM_IF_58 VALUE ^h00;
BYTE OPM_IF_60 VALUE ^h1E;
BYTE OPM_IF_68 VALUE ^h7F;
BYTE OPM_IF_70 VALUE ^h14;
BYTE OPM_IF_78 VALUE ^h7F;
BYTE OPM_IF_80 VALUE ^h1F;
BYTE OPM_IF_88 VALUE ^h1F;
BYTE OPM_IF_90 VALUE ^h9F;
BYTE OPM_IF_98 VALUE ^h1F;
BYTE OPM_IF_A0 VALUE ^h1F;
BYTE OPM_IF_A8 VALUE ^h1F;
BYTE OPM_IF_B0 VALUE ^h1F;
BYTE OPM_IF_B8 VALUE ^h1F;
BYTE OPM_IF_C0 VALUE ^h08;
BYTE OPM_IF_C8 VALUE ^h1F;
BYTE OPM_IF_D0 VALUE ^h09;
BYTE OPM_IF_D8 VALUE ^h1F;
BYTE OPM_IF_E0 VALUE ^h0F;
BYTE OPM_IF_E8 VALUE ^h0F;
BYTE OPM_IF_F0 VALUE ^h0F;
BYTE OPM_IF_F8 VALUE ^h0F;
BYTE OPM_A0_20 VALUE ^hFA;
BYTE OPM_A0_40 VALUE ^h32;
BYTE OPM_A0_48 VALUE ^h71;
BYTE OPM_A0_50 VALUE ^h7A;
BYTE OPM_A0_58 VALUE ^h31;
BYTE OPM_A0_60 VALUE ^h20;
BYTE OPM_A0_68 VALUE ^h1E;
BYTE OPM_A0_70 VALUE ^h24;
BYTE OPM_A0_78 VALUE ^h14;
BYTE OPM_A0_80 VALUE ^h57;
BYTE OPM_A0_88 VALUE ^h10;
BYTE OPM_A0_90 VALUE ^h55;
BYTE OPM_A0_98 VALUE ^h0B;
BYTE OPM_A0_A0 VALUE ^h04;
BYTE OPM_A0_A8 VALUE ^h05;
BYTE OPM_A0_B0 VALUE ^h08;
BYTE OPM_A0_B8 VALUE ^h05;
BYTE OPM_A0_C0 VALUE ^h02;
BYTE OPM_A0_C8 VALUE ^h02;
BYTE OPM_A0_D0 VALUE ^h00;
BYTE OPM_A0_D8 VALUE ^h00;
BYTE OPM_A0_E0 VALUE ^h26;
BYTE OPM_A0_E8 VALUE ^h26;
BYTE OPM_A0_F0 VALUE ^hC6;
BYTE OPM_A0_F8 VALUE ^h0A;
BYTE OPM_A1_20 VALUE ^hC0;
BYTE OPM_A1_40 VALUE ^h1E;
BYTE OPM_A1_48 VALUE ^h13;
BYTE OPM_A1_50 VALUE ^h03;
BYTE OPM_A1_58 VALUE ^h11;
BYTE OPM_A1_60 VALUE ^h2C;
BYTE OPM_A1_68 VALUE ^h21;
BYTE OPM_A1_70 VALUE ^h1F;
BYTE OPM_A1_78 VALUE ^h14;
BYTE OPM_A1_80 VALUE ^h1F;
BYTE OPM_A1_88 VALUE ^h1C;
BYTE OPM_A1_90 VALUE ^h1F;
BYTE OPM_A1_98 VALUE ^h1F;
BYTE OPM_A1_A0 VALUE ^h0C;
BYTE OPM_A1_A8 VALUE ^h06;
BYTE OPM_A1_B0 VALUE ^h0A;
BYTE OPM_A1_B8 VALUE ^h0A;
BYTE OPM_A1_C0 VALUE ^h00;
BYTE OPM_A1_C8 VALUE ^h00;
BYTE OPM_A1_D0 VALUE ^h00;
BYTE OPM_A1_D8 VALUE ^h00;
BYTE OPM_A1_E0 VALUE ^hF6;
BYTE OPM_A1_E8 VALUE ^hF6;
BYTE OPM_A1_F0 VALUE ^hF6;
BYTE OPM_A1_F8 VALUE ^hFA;
BYTE OPM_A2_20 VALUE ^hFC;
BYTE OPM_A2_40 VALUE ^h33;
BYTE OPM_A2_48 VALUE ^h61;
BYTE OPM_A2_50 VALUE ^h21;
BYTE OPM_A2_58 VALUE ^h01;
BYTE OPM_A2_60 VALUE ^h22;
BYTE OPM_A2_68 VALUE ^h28;
BYTE OPM_A2_70 VALUE ^h14;
BYTE OPM_A2_78 VALUE ^h14;
BYTE OPM_A2_80 VALUE ^h5F;
BYTE OPM_A2_88 VALUE ^h1F;
BYTE OPM_A2_90 VALUE ^h1F;
BYTE OPM_A2_98 VALUE ^h9F;
BYTE OPM_A2_A0 VALUE ^h04;
BYTE OPM_A2_A8 VALUE ^h04;
BYTE OPM_A2_B0 VALUE ^h08;
BYTE OPM_A2_B8 VALUE ^h08;
BYTE OPM_A2_C0 VALUE ^h03;
BYTE OPM_A2_C8 VALUE ^h02;
BYTE OPM_A2_D0 VALUE ^h09;
BYTE OPM_A2_D8 VALUE ^h09;
BYTE OPM_A2_E0 VALUE ^h26;
BYTE OPM_A2_E8 VALUE ^h16;
BYTE OPM_A2_F0 VALUE ^h2A;
BYTE OPM_A2_F8 VALUE ^h2A;
BYTE OPM_A3_20 VALUE ^hF8;
BYTE OPM_A3_40 VALUE ^h3A;
BYTE OPM_A3_48 VALUE ^h32;
BYTE OPM_A3_50 VALUE ^h02;
BYTE OPM_A3_58 VALUE ^h01;
BYTE OPM_A3_60 VALUE ^h28;
BYTE OPM_A3_68 VALUE ^h32;
BYTE OPM_A3_70 VALUE ^h0E;
BYTE OPM_A3_78 VALUE ^h08;
BYTE OPM_A3_80 VALUE ^h5B;
BYTE OPM_A3_88 VALUE ^h1F;
BYTE OPM_A3_90 VALUE ^h19;
BYTE OPM_A3_98 VALUE ^h50;
BYTE OPM_A3_A0 VALUE ^h12;
BYTE OPM_A3_A8 VALUE ^h14;
BYTE OPM_A3_B0 VALUE ^h14;
BYTE OPM_A3_B8 VALUE ^h1F;
BYTE OPM_A3_C0 VALUE ^h00;
BYTE OPM_A3_C8 VALUE ^h00;
BYTE OPM_A3_D0 VALUE ^h00;
BYTE OPM_A3_D8 VALUE ^h00;
BYTE OPM_A3_E0 VALUE ^h26;
BYTE OPM_A3_E8 VALUE ^h16;
BYTE OPM_A3_F0 VALUE ^h86;
BYTE OPM_A3_F8 VALUE ^h0A;
BYTE OPM_A4_20 VALUE ^hFE;
BYTE OPM_A4_40 VALUE ^h03;
BYTE OPM_A4_48 VALUE ^h03;
BYTE OPM_A4_50 VALUE ^h38;
BYTE OPM_A4_58 VALUE ^h71;
BYTE OPM_A4_60 VALUE ^h18;
BYTE OPM_A4_68 VALUE ^h16;
BYTE OPM_A4_70 VALUE ^h16;
BYTE OPM_A4_78 VALUE ^h16;
BYTE OPM_A4_80 VALUE ^h1F;
BYTE OPM_A4_88 VALUE ^h0D;
BYTE OPM_A4_90 VALUE ^h0D;
BYTE OPM_A4_98 VALUE ^h0D;
BYTE OPM_A4_A0 VALUE ^h1F;
BYTE OPM_A4_A8 VALUE ^h1F;
BYTE OPM_A4_B0 VALUE ^h1F;
BYTE OPM_A4_B8 VALUE ^h1F;
BYTE OPM_A4_C0 VALUE ^h00;
BYTE OPM_A4_C8 VALUE ^h00;
BYTE OPM_A4_D0 VALUE ^h00;
BYTE OPM_A4_D8 VALUE ^h00;
BYTE OPM_A4_E0 VALUE ^h06;
BYTE OPM_A4_E8 VALUE ^h0A;
BYTE OPM_A4_F0 VALUE ^h0A;
BYTE OPM_A4_F8 VALUE ^h0A;
BYTE OPM_A5_20 VALUE ^hE4;
BYTE OPM_A5_40 VALUE ^h01;
BYTE OPM_A5_48 VALUE ^h01;
BYTE OPM_A5_50 VALUE ^h04;
BYTE OPM_A5_58 VALUE ^h03;
BYTE OPM_A5_60 VALUE ^h0C;
BYTE OPM_A5_68 VALUE ^h0C;
BYTE OPM_A5_70 VALUE ^h14;
BYTE OPM_A5_78 VALUE ^h14;
BYTE OPM_A5_80 VALUE ^h1F;
BYTE OPM_A5_88 VALUE ^h1F;
BYTE OPM_A5_90 VALUE ^h11;
BYTE OPM_A5_98 VALUE ^h11;
BYTE OPM_A5_A0 VALUE ^h1F;
BYTE OPM_A5_A8 VALUE ^h1F;
BYTE OPM_A5_B0 VALUE ^h1F;
BYTE OPM_A5_B8 VALUE ^h1F;
BYTE OPM_A5_C0 VALUE ^h00;
BYTE OPM_A5_C8 VALUE ^h00;
BYTE OPM_A5_D0 VALUE ^h00;
BYTE OPM_A5_D8 VALUE ^h00;
BYTE OPM_A5_E0 VALUE ^h06;
BYTE OPM_A5_E8 VALUE ^h06;
BYTE OPM_A5_F0 VALUE ^h0A;
BYTE OPM_A5_F8 VALUE ^h0A;
BYTE OPM_A6_20 VALUE ^hFA;
BYTE OPM_A6_40 VALUE ^h11;
BYTE OPM_A6_48 VALUE ^h11;
BYTE OPM_A6_50 VALUE ^h12;
BYTE OPM_A6_58 VALUE ^h11;
BYTE OPM_A6_60 VALUE ^h18;
BYTE OPM_A6_68 VALUE ^h1D;
BYTE OPM_A6_70 VALUE ^h2D;
BYTE OPM_A6_78 VALUE ^h14;
BYTE OPM_A6_80 VALUE ^h11;
BYTE OPM_A6_88 VALUE ^h11;
BYTE OPM_A6_90 VALUE ^h5F;
BYTE OPM_A6_98 VALUE ^h55;
BYTE OPM_A6_A0 VALUE ^h0E;
BYTE OPM_A6_A8 VALUE ^h11;
BYTE OPM_A6_B0 VALUE ^h10;
BYTE OPM_A6_B8 VALUE ^h1F;
BYTE OPM_A6_C0 VALUE ^h00;
BYTE OPM_A6_C8 VALUE ^h00;
BYTE OPM_A6_D0 VALUE ^h00;
BYTE OPM_A6_D8 VALUE ^h00;
BYTE OPM_A6_E0 VALUE ^h16;
BYTE OPM_A6_E8 VALUE ^h36;
BYTE OPM_A6_F0 VALUE ^hA6;
BYTE OPM_A6_F8 VALUE ^h0A;
BYTE OPM_A7_20 VALUE ^hEC;
BYTE OPM_A7_40 VALUE ^h51;
BYTE OPM_A7_48 VALUE ^h32;
BYTE OPM_A7_50 VALUE ^h54;
BYTE OPM_A7_58 VALUE ^h32;
BYTE OPM_A7_60 VALUE ^h15;
BYTE OPM_A7_68 VALUE ^h14;
BYTE OPM_A7_70 VALUE ^h14;
BYTE OPM_A7_78 VALUE ^h14;
BYTE OPM_A7_80 VALUE ^h1F;
BYTE OPM_A7_88 VALUE ^h1F;
BYTE OPM_A7_90 VALUE ^h12;
BYTE OPM_A7_98 VALUE ^h12;
BYTE OPM_A7_A0 VALUE ^h00;
BYTE OPM_A7_A8 VALUE ^h00;
BYTE OPM_A7_B0 VALUE ^h0A;
BYTE OPM_A7_B8 VALUE ^h0A;
BYTE OPM_A7_C0 VALUE ^h00;
BYTE OPM_A7_C8 VALUE ^h00;
BYTE OPM_A7_D0 VALUE ^h00;
BYTE OPM_A7_D8 VALUE ^h00;
BYTE OPM_A7_E0 VALUE ^h06;
BYTE OPM_A7_E8 VALUE ^h06;
BYTE OPM_A7_F0 VALUE ^h1A;
BYTE OPM_A7_F8 VALUE ^h1A;
BYTE OPM_A8_20 VALUE ^hFD;
BYTE OPM_A8_40 VALUE ^h70;
BYTE OPM_A8_48 VALUE ^h71;
BYTE OPM_A8_50 VALUE ^h70;
BYTE OPM_A8_58 VALUE ^h70;
BYTE OPM_A8_60 VALUE ^h19;
BYTE OPM_A8_68 VALUE ^h19;
BYTE OPM_A8_70 VALUE ^h1A;
BYTE OPM_A8_78 VALUE ^h19;
BYTE OPM_A8_80 VALUE ^h4C;
BYTE OPM_A8_88 VALUE ^h50;
BYTE OPM_A8_90 VALUE ^h0F;
BYTE OPM_A8_98 VALUE ^h12;
BYTE OPM_A8_A0 VALUE ^h0B;
BYTE OPM_A8_A8 VALUE ^h01;
BYTE OPM_A8_B0 VALUE ^h05;
BYTE OPM_A8_B8 VALUE ^h02;
BYTE OPM_A8_C0 VALUE ^h01;
BYTE OPM_A8_C8 VALUE ^h00;
BYTE OPM_A8_D0 VALUE ^h00;
BYTE OPM_A8_D8 VALUE ^h00;
BYTE OPM_A8_E0 VALUE ^h26;
BYTE OPM_A8_E8 VALUE ^h2A;
BYTE OPM_A8_F0 VALUE ^h2A;
BYTE OPM_A8_F8 VALUE ^h1A;
BYTE OPM_A9_20 VALUE ^hFD;
BYTE OPM_A9_40 VALUE ^h01;
BYTE OPM_A9_48 VALUE ^h01;
BYTE OPM_A9_50 VALUE ^h01;
BYTE OPM_A9_58 VALUE ^h01;
BYTE OPM_A9_60 VALUE ^h16;
BYTE OPM_A9_68 VALUE ^h17;
BYTE OPM_A9_70 VALUE ^h17;
BYTE OPM_A9_78 VALUE ^h17;
BYTE OPM_A9_80 VALUE ^h5F;
BYTE OPM_A9_88 VALUE ^h5E;
BYTE OPM_A9_90 VALUE ^h5E;
BYTE OPM_A9_98 VALUE ^h5E;
BYTE OPM_A9_A0 VALUE ^h07;
BYTE OPM_A9_A8 VALUE ^h1F;
BYTE OPM_A9_B0 VALUE ^h1F;
BYTE OPM_A9_B8 VALUE ^h1F;
BYTE OPM_A9_C0 VALUE ^h00;
BYTE OPM_A9_C8 VALUE ^h00;
BYTE OPM_A9_D0 VALUE ^h00;
BYTE OPM_A9_D8 VALUE ^h00;
BYTE OPM_A9_E0 VALUE ^h16;
BYTE OPM_A9_E8 VALUE ^h0A;
BYTE OPM_A9_F0 VALUE ^h0A;
BYTE OPM_A9_F8 VALUE ^h0A;
BYTE OPM_AA_20 VALUE ^hFA;
BYTE OPM_AA_40 VALUE ^h16;
BYTE OPM_AA_48 VALUE ^h11;
BYTE OPM_AA_50 VALUE ^h1F;
BYTE OPM_AA_58 VALUE ^h12;
BYTE OPM_AA_60 VALUE ^h1C;
BYTE OPM_AA_68 VALUE ^h13;
BYTE OPM_AA_70 VALUE ^h32;
BYTE OPM_AA_78 VALUE ^h14;
BYTE OPM_AA_80 VALUE ^h5F;
BYTE OPM_AA_88 VALUE ^h5F;
BYTE OPM_AA_90 VALUE ^h5F;
BYTE OPM_AA_98 VALUE ^h58;
BYTE OPM_AA_A0 VALUE ^h06;
BYTE OPM_AA_A8 VALUE ^h1F;
BYTE OPM_AA_B0 VALUE ^h09;
BYTE OPM_AA_B8 VALUE ^h10;
BYTE OPM_AA_C0 VALUE ^h00;
BYTE OPM_AA_C8 VALUE ^h00;
BYTE OPM_AA_D0 VALUE ^h04;
BYTE OPM_AA_D8 VALUE ^h09;
BYTE OPM_AA_E0 VALUE ^h36;
BYTE OPM_AA_E8 VALUE ^h06;
BYTE OPM_AA_F0 VALUE ^h26;
BYTE OPM_AA_F8 VALUE ^h0A;
BYTE OPM_AB_20 VALUE ^hF4;
BYTE OPM_AB_40 VALUE ^h71;
BYTE OPM_AB_48 VALUE ^h0E;
BYTE OPM_AB_50 VALUE ^h31;
BYTE OPM_AB_58 VALUE ^h71;
BYTE OPM_AB_60 VALUE ^h1C;
BYTE OPM_AB_68 VALUE ^h3C;
BYTE OPM_AB_70 VALUE ^h14;
BYTE OPM_AB_78 VALUE ^h14;
BYTE OPM_AB_80 VALUE ^h1F;
BYTE OPM_AB_88 VALUE ^h1F;
BYTE OPM_AB_90 VALUE ^h1F;
BYTE OPM_AB_98 VALUE ^h1F;
BYTE OPM_AB_A0 VALUE ^h1F;
BYTE OPM_AB_A8 VALUE ^h1F;
BYTE OPM_AB_B0 VALUE ^h1F;
BYTE OPM_AB_B8 VALUE ^h1F;
BYTE OPM_AB_C0 VALUE ^h07;
BYTE OPM_AB_C8 VALUE ^h0A;
BYTE OPM_AB_D0 VALUE ^h07;
BYTE OPM_AB_D8 VALUE ^h07;
BYTE OPM_AB_E0 VALUE ^h06;
BYTE OPM_AB_E8 VALUE ^h06;
BYTE OPM_AB_F0 VALUE ^h0A;
BYTE OPM_AB_F8 VALUE ^h0A;
BYTE OPM_AC_20 VALUE ^hC1;
BYTE OPM_AC_40 VALUE ^h05;
BYTE OPM_AC_48 VALUE ^h0A;
BYTE OPM_AC_50 VALUE ^h00;
BYTE OPM_AC_58 VALUE ^h00;
BYTE OPM_AC_60 VALUE ^h15;
BYTE OPM_AC_68 VALUE ^h19;
BYTE OPM_AC_70 VALUE ^h25;
BYTE OPM_AC_78 VALUE ^h14;
BYTE OPM_AC_80 VALUE ^h1F;