-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzm10.txt
2989 lines (2406 loc) · 129 KB
/
zm10.txt
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
MEASURE10
ZMUSIC Ver.3.0のファンクションコール
ここではZMSC3.XおよびZMC.Xが常駐した後に
使用出来るファンクションコールについて
説明します。使用にはMPU680x0の機械語の知識が
必要です。
一般的な使用をする限り読み飛ばしてしまって
構いません。
10.1. ファンクションコールのコール法
ZMUSIC Ver.3.0のファンクションコールの仕方は以下のような方法で行う。
moveq.l #n,d0 *n=ファンクションナンバー
lea ~,a1 *パラメータが必要であれば設定
moveq.l #m,d1 *パラメータが必要であれば設定
trap #3
戻り値はd0.lとa0.lのみで、その他のレジスタは全部保存される。ただし、逆に
戻り値が無い関数においても、d0.lとa0.lの内容はファンクションコール前と異なる
場合がある(保存されない)点に注意。
ファンクションにもよるが通常はd0.l=0が正常終了を意味する。万が一、ファンク
ション内でエラーが発生した場合のエラーコードは
($8000+エラーの発生したファンクション番号(0-32767))*65536+エラーID(0-65535)
がd0.lに代入される。またこのときはa0.lの内容は0になる。なお、エラーIDと
その説明に関してはMEASURE11を参照のこと。
ZMSC3.Xの常駐チェック方法はリスト1の様に行う。TRAP #3のベクタが指し示す
アドレス-8から文字列"ZmuSiC"があるかどうかを調べている。さらに"ZmuSiC"の
後ろにはバージョンコードが2バイトが格納されている。バージョンコードは
上位バイト上位4ビット:バージョン整数部
上位バイト下位4ビット:バージョン少数第1桁
下位バイト上位4ビット:4
下位バイト下位4ビット:バージョン少数第2桁
例
VERSION 3.21 → "ZmuSiC",$32(.b),$41(.b)
リスト1
chk_drv:
* > eq=常駐確認
* > mi=常駐していない
move.l $8c.w,a0
subq.w #8,a0
cmpi.l #'ZmuS',(a0)+
bne chk_drv_err
cmpi.w #'iC',(a0)+
bne chk_drv_err
cmpi.w #$3000,(a0)+ *バージョンが古い
bcs chk_drv_err
moveq.l #0,d0
rts
chk_drv_err:
moveq.l #-1,d0
rts
10.2. ファンクションコールのコール
●数値表現に付いて
・(.l),(.w),(.b)はそれぞれ32bit,16bit,8bitの値を表す。
・d0.lwはd0の下位16ビット値、d0.hwはd0の上位16ビット値を意味する。
・d0.lbはd0の第0~7ビット値、d0.hbはd0の第8~15ビット値を意味する。
・d0.hwhb,d0.hwlb,d0.lwhb,d0.lwlbはそれぞれd0の最上位8ビット、第16~23ビット、
第8~15ビット、最下位8ビットを表す。
・例で用いているマクロZ_MUSICは
Z_MUSIC macro number
moveq.l number,d0
trap #3
endm
のようになっている。
--------------------------------------------------------------------------------
ファンクション$00 ZM_INIT
機能 ZMUSICの初期化を行う
引数 d1.l:0(dummy)
戻り値 d0.l:ZMUSICのバージョンID
備考 d1.lは将来の拡張を考慮して現時点ではかならず0を設定する。
バージョンIDはたとえばバージョン3.21ならば $00003241となる。
4の部分は固定値。
--------------------------------------------------------------------------------
ファンクション$01 ZM_ASSIGN
機能 チャンネルアサイン
引数 d1.hw:デバイスタイプ(0=FM音源,1=ADPCM音源,$8000=MIDI1,$8001=MIDI2,
$8002=MIDI3,$8003=MIDI4,-1=カレントMIDI)
d1.lw:チャンネル番号0-15
d2.l:トラック番号0-65534
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 カレントMIDIはMIDIインターフェース番号を指定しない場合の
デフォルトとなるものでzm_current_midi_out()で設定する
--------------------------------------------------------------------------------
ファンクション$02 ZM_COMPILER
機能 ZMSをコンパイルする
引数 d1.lのd0-d6:検出するエラーの最大値/0:∞,1-127
d1.lのd15:エラーテーブルリストを作成して出力するか(0:no,1:yes)
d2.l:ZMSサイズ
a1.l:ZMSが格納されているアドレス
戻り値 d0.l=0:正常終了
a0.l=ZMDのアドレス(コンパイル中にウォーニングが発生した場合は
ZMDの後ろにくっつく)
d0.l=0以外:コンパイルで発生したエラーの数
a0.l=エラーテーブル
備考 ・エラーテーブルの構成に付いてはMEASURE11を参照のこと。
・エラーテーブルは使用後ファンクション FREE_MEMなどで解放すること。
・d2.l,a0.l共に0にするとコンパイラの常駐解除となる。通常は指定しては
ならない。正常に解除した場合の戻り値はd0.l=0、失敗時はd0.l=エラー
コードが返される。
・コンパイラは外部組み込みのファンクションであるため、使用前には
コンパイラの常駐を確認する必要がある。
--------------------------------------------------------------------------------
ファンクション$03 ZM_VGET
機能 FM音源音色を取り出す
引数 d1.l:音色番号(0-32767)
d2.l:0=OPMDRV.X互換, 1=AL/FB分離方式
a1.l:音色データ格納バッファ
戻り値 0:正常終了
0以外:エラーコード
備考 a1.lで表される音色データの書式は以下のとおり。
(0~54で表される数値はそれぞれ0(a1)~54(a1)を意味する)
音色フォーマット(OPMDRV.X互換方式)
0:AF(フィードバック/アルゴリズム) (0~63)
1:OM(スロットマスク) (0~15)
2:WF(ウェーヴフォーム) (0~3)
3:SYC(シンクロ) (0,1)
4:SPD(スピード) (0~255)
5:PMD (0~127)
6:AMD (0~127)
7:PMS (0~7)
8:AMS (0~3)
9:PAN (0~3)
10:DUMMY
11(OP1),22(OP2),33(OP3),44(OP4):AR(アタックレート) (0~31)
12(OP1),23(OP2),34(OP3),45(OP4):1DR(1stディケイレート) (0~31)
13(OP1),24(OP2),35(OP3),46(OP4):2DR(2ndディケイレート) (0~31)
14(OP1),25(OP2),36(OP3),47(OP4):RR(リリースレート) (0~15)
15(OP1),26(OP2),37(OP3),48(OP4):1DL(1stディケイレベル) (0~15)
16(OP1),27(OP2),38(OP3),49(OP4):TL(トータルレベル) (0~127)
17(OP1),28(OP2),39(OP3),50(OP4):KS(キースケーリング) (0~3)
18(OP1),29(OP2),40(OP3),51(OP4):MUL(フェーズマルチプライ) (0~15)
19(OP1),30(OP2),41(OP3),52(OP4):DT1(ディチューン1) (0~7)
20(OP1),31(OP2),42(OP3),53(OP4):DT2(ディチューン2) (0~3)
21(OP1),32(OP2),43(OP3),54(OP4):AME(AMSイネーブル) (0,1)
音色フォーマット(AL/FB分離方式)
00(OP1),11(OP2),22(OP3),33(OP4):AR(アタックレート) (0~31)
01(OP1),12(OP2),23(OP3),34(OP4):1DR(1stディケイレート) (0~31)
02(OP1),13(OP2),24(OP3),35(OP4):2DR(2ndディケイレート) (0~31)
03(OP1),14(OP2),25(OP3),36(OP4):RR(リリースレート) (0~15)
04(OP1),15(OP2),26(OP3),37(OP4):1DL(1stディケイレベル) (0~15)
05(OP1),16(OP2),27(OP3),38(OP4):TL(トータルレベル) (0~127)
06(OP1),17(OP2),28(OP3),39(OP4):KS(キースケーリング) (0~3)
07(OP1),18(OP2),29(OP3),40(OP4):MUL(フェーズマルチプライ) (0~15)
08(OP1),19(OP2),30(OP3),41(OP4):DT1(ディチューン1) (0~7)
09(OP1),20(OP2),31(OP3),42(OP4):DT2(ディチューン2) (0~3)
10(OP1),21(OP2),32(OP3),43(OP4):AME(AMSイネーブル) (0,1)
44:AL(アルゴリズム) (0~7)
45:FB(フィードバック) (0~7)
46:OM(スロットマスク) (0~15)
47:PAN (0~3)
48:WF(ウェーヴフォーム) (0~3)
49:SYC(シンクロ) (0,1)
50:SPD(スピード) (0~255)
51:PMD (0~127)
52:AMD (0~127)
53:PMS (0~7)
54:AMS (0~3)
--------------------------------------------------------------------------------
ファンクション$04 ZM_VSET
機能 FM音源音色を登録する
引数 d1.l:音色番号(0-32767)
d2.l:モード(0=OPMDRV.X互換,1=AL/FB分離方式)
a1.l:音色データ格納バッファ
戻り値 0:正常終了
0以外:エラーコード
備考 音色フォーマットに付いてはZM_VGETとまったく同じ
--------------------------------------------------------------------------------
ファンクション$06 ZM_TEMPO
機能 テンポを設定する
引数 d1.lw:テンポの値(1分間の4分音符の数)
-1=テンポ取得のみを行う
d1.hw:モード(0=ZMUSICに登録する(通常),
-1=単なるテンポの変更でZMUSICには登録しない)
戻り値 設定前のテンポとタイマ値が戻ってくる
d0.hw:タイマ値
d0.lw:テンポ値
備考 テンポ値の有効範囲は使用するテンポ源タイマの種類によって異なる。
TIMER-A:20~32767
TIMER-B:20~5000
YM3802:1~32767
--------------------------------------------------------------------------------
ファンクション$07 ZM_SET_TIMER_VALUE
機能 テンポをタイマ値で設定する
引数 d1.lw:タイマの値
-1=タイマ値取得のみを行う
d1.hw:モード(0=ZMUSICに登録する(通常),
-1=単なるテンポの変更でZMUSICには登録しない)
戻り値 設定前のテンポとタイマ値が戻ってくる
d0.hw:テンポ値
d0.lw:タイマ値
備考 テンポ値の有効範囲は使用するテンポ源タイマの種類によって異なる。
TIMER-A:0~1023
TIMER-B:0~255
YM3802:0~8191
--------------------------------------------------------------------------------
ファンクション$08 ZM_PLAY
機能 演奏開始制御
引数 a1.l:演奏を開始したいトラック番号の並びを格納したアドレス
ただしa1.l=0とすると全トラック演奏開始の指定とみなす。
戻り値 a0.l:演奏開始を行えなかったトラック番号の並びを格納したアドレス
備考 引数a1.l、戻り値a0.l共に
{ track(.w),track(.w),.....,track(.w),-1(.w)}
という構成を取る。ただしトラック番号は0-65534の範囲
--------------------------------------------------------------------------------
ファンクション$09 ZM_PLAY2
機能 共通コマンドからの再演奏を行う
引数 なし
戻り値 なし
備考 現在ZMUSICの演奏データバッファに存在する演奏データをはじめから
(共通コマンドの実行も含めて)演奏する。
--------------------------------------------------------------------------------
ファンクション$0a ZM_PLAY_AGAIN
機能 再演奏
引数 なし
戻り値 なし
備考 前回行われたファンクションZM_PLAYを再び実行する
--------------------------------------------------------------------------------
ファンクション$0b ZM_PLAY_STATUS
機能 演奏状態の検査
引数 d1.l:チェックモード(0:全チャンネル検査,1:全トラック検査
2:指定チャンネル検査,3:指定トラック検査)
d2.hw:デバイスタイプ(0=FM音源,1=ADPCM音源,$8000=MIDI1,$8001=MIDI2,
$8002=MIDI3,$8003=MIDI4,-1=カレントMIDI)
/d1.l=2の時のみ有効
d2.lw:チャンネル番号(0-15) /d1.l=2の時のみ有効
d2.l:トラック番号(0-65534) /d1.l=3の時のみ有効
a1.l:検査結果格納バッファアドレス
(0にすると検査結果を簡略して返す) /d1.l=0,2の時のみ有効
戻り値 引数a1.l=0のとき、あるいはd1.l=2,3のときのみd0.lに以下の値を返す
d0.l=0:演奏終了
d0.l=-1:演奏中
備考 ・引数d1.l=0(全チャンネル検査モード)のとき戻り値は引数a1.lから示される
領域に演奏中のデバイスタイプ,チャンネルが以下のような書式で返される。
{ active_device(.l),active_device(.l),...,-1(.l) }
なお、
active_device(.l)は
active_device(.hw):デバイスタイプ(0=FM音源,1=ADPCM音源,
$8000=MIDI1,$8001=MIDI2,
$8002=MIDI3,$8003=MIDI4,-1=カレントMIDI)
active_device(.lw):チャンネル番号(0-15)
という書式に準ずる。
・引数d1.l=1(全トラック検査モード)のとき戻り値は引数a1.lから示される
領域に演奏中のトラック番号が以下のような書式で返される。
{ active_track(.w),active_track(.w),...,-1(.w) }
なお、
active_track(.w)は0-65534の値を取る
・引数d1.l=2,3のときはd2.lで指定したチャンネルやトラック番号の演奏状態を
検査する。この時a1.lを指定する必要はない。検査結果はd0.lに返される。
--------------------------------------------------------------------------------
ファンクション$0c ZM_STOP
機能 演奏停止
引数 a1.l:演奏を停止したいトラック番号の並びを格納したアドレス
ただしa1.l=0とすると全トラック演奏停止の指定とみなす。
戻り値 a0.l:演奏停止を行えなかったトラック番号の並びを格納したアドレス
備考 引数のa1.l、戻り値のa0.l共に
{ track(.w),track(.w),.....,track(.w),-1(.w) }
という構成を取る。ただしトラック番号は0-65534の範囲
--------------------------------------------------------------------------------
ファンクション$0d ZM_CONT
機能 演奏再開
引数 a1.l:演奏を再開したいトラック番号の並びを格納したアドレス
ただしa1.l=0とすると全トラック演奏再開の指定とみなす。
戻り値 a0.l:演奏再開を行えなかったトラック番号の並びを格納したアドレス
備考 引数のa1.l、戻り値のa0.l共に
{ track(.w),track(.w),.....,track(.w),-1(.w)}
という構成を取る。ただしトラック番号は0-65534の範囲
--------------------------------------------------------------------------------
ファンクション$0e ZM_ATOI
機能 演奏トラックデータの先頭アドレス取得
引数 d1.l:トラック番号(0-65534)
戻り値 a0.l=0:エラー(指定トラックは存在せず)
a0.l=0以外:指定演奏トラックの先頭アドレス
--------------------------------------------------------------------------------
ファンクション$0f ZM_SET_MASTER_CLOCK
機能 拍子,メトロノーム速度,調号,全音符の絶対音長の設定
引数 d1.l:モード(0=音楽演奏側の設定を行う,1=効果音演奏側の設定を行う)
a1.l:拍子,メトロノーム速度,調号,全音符の絶対音長を格納した領域の
アドレス。a1.l=0ならば問い合わせのみ
戻り値 引数のa1.l=0とした時のみ、その時点の設定値を格納した領域のアドレスが
a0.lに返る。それ以外は戻り値不定。
備考 d1.l=0で通常音楽演奏側の設定、d1.l=1で効果音演奏側の設定となる。
引数のa1.l、戻り値のa0.lの構造は
$00(a1).b:拍子分子(1-255)
$01(a1).b:拍子分母(1-255)
$02(a1).b:メトロノーム速度(楽的音長(1-255))
$03(a1).b:reserve
$04(a1).b:調号1(0:C,負値:♭の数,正値:♯の数)
$05(a1).b:調号2(Major=0,Minor=1)
$06(a1).w:全音符の絶対音長(1-65535)
という書式に準ずる
--------------------------------------------------------------------------------
ファンクション$10 ZM_PLAY_ZMD
機能 ZMDの演奏
引数 d2.l:ZMDのサイズ(ヘッダ「$1A,'ZmuSiC',$30」の分は含まれていても
含まれていなくてもどちらでもよい)
d2.l=0を設定するとZMUSIC本体のバッファへ演奏データを
取り込む動作を省略する。
a1.l:ZMDの格納アドレス(ヘッダ「$1A,'ZmuSiC',$30」を含まず)
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 d2.l=0とするには、a1.lで表されるアドレスからの領域の存在が
演奏中も保証されることを前提とする。
--------------------------------------------------------------------------------
ファンクション$11 ZM_PLAY_ZMD_SE
機能 ZMDを効果音として演奏する
引数 a1.l:ZMDの格納アドレス(ヘッダ「$1A,'ZmuSiC',$30」を含まず)
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lで表されるアドレスからの領域の存在は、演奏中も
保証されなければならない。
--------------------------------------------------------------------------------
ファンクション$12 ZM_SE_PLAY
機能 効果音ZMDの演奏
引数 a1.l:ZMDの格納アドレス(トラック・チャンネル情報テーブルから)
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lで表されるアドレスからの領域の存在は、演奏中も
保証されなければならない。
トラック・チャンネル情報テーブルに付いてはMEASURE12を参照。
--------------------------------------------------------------------------------
ファンクション$13 ZM_SE_ADPCM1
機能 (AD)PCM効果音の演奏
引数 d1.hwhb:データタイプ(-1:ADPCM,1:16bitPCM,2:8bitPCM)
d1.hwlb:音量(0-127,64:標準)
d1.lwhb:再生周波数(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
d1.lwlb:パンポット(0-3 / $80+0-127)
d2.l:再生するADPCMのデータサイズ
d4.hw:効果音優先度(0-255/0が最も低い)
d4.lw:再生チャンネル(0-15)
a1.l:(AD)PCMデータアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lで表されるアドレスからの領域の存在は、演奏中も
保証されなければならない。
--------------------------------------------------------------------------------
ファンクション$14 ZM_SE_ADPCM2
機能 ZMUSICに登録してある(AD)PCM効果音の演奏
引数 d1.hwhb:データタイプ(-1:ADPCM,1:16bitPCM,2:8bitPCM)
d1.hwlb:音量(0-127,64:標準)
d1.lwhb:再生周波数(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
d1.lwlb:パンポット(0-3 / $80+0-127)
d2.l:PCMデータ番号(d15が1ならば音色番号($8000+0-32767),
0ならばノート番号(0-32767)指定)
d4.hw:効果音優先度(0-255/0が最も低い)
d4.lw:再生チャンネル(0-15)
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
--------------------------------------------------------------------------------
ファンクション$15 ZM_INTERCEPT_PLAY
機能 演奏開始制御の遮断制御
引数 d1.l:-1 演奏開始の遮断を行う
0 演奏開始の遮断の解除と演奏開始
1 演奏開始の遮断の解除
戻り値 なし
備考 演奏開始の遮断を設定するとファンクションZM_PLAYなどの演奏開始命令を
実行しても演奏が開始されなくなる。
演奏開始の遮断中に演奏開始を実行した場合ワークtimer_flgの
最上位ビットが1に上書きされる。
--------------------------------------------------------------------------------
ファンクション$16 ZM_CURRENT_MIDI_IN
機能 カレントMIDI-IN端子の設定
引数 d1.w:MIDIポートの番号(0-3)
-1では問い合わせのみを行う
戻り値 d0.l=以前のカレントMIDI-INのポート番号(0-3)
--------------------------------------------------------------------------------
ファンクション$17 ZM_CURRENT_MIDI_OUT
機能 カレントMIDI-OUT端子の設定
引数 d1.w:MIDIポートの番号(0-3)
-1では問い合わせのみを行う
戻り値 d0.l=以前のカレントMIDI-OUTのポート番号(0-3)
--------------------------------------------------------------------------------
ファンクション$18 ZM_MIDI_TRANSMISSION
機能 MIDIデータメッセージの送信
引数 d1.l:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.l:送信データサイズ
0とした場合はテキスト型MIDIデータ(MDD)とみなして送信する
0以外ではバイナリデータとみなして送信する
a1.l:送信するMIDIデータを格納したデータバッファアドレス
戻り値 d0.l=送信データの8ビット加算合計値
備考 MDDとはZMUSIC Ver.2.0相当でMIDIファイルの標準としていたフォーマット。
$0d,$0aで始まり16進数のテキストでMIDIメッセージを記述したファイル。
送信データサイズを指定した場合はバイナリのMIDIメッセージと
みなして送信される。ZMUSICが扱えるバイナリのMIDIメッセージには
スタンダードMIDIファイル(FORMAT0)と単なるバイナリデータ列の
2種類がありこのデータの種類の判別はZMUSIC Ver.3.0が自動で行う。
--------------------------------------------------------------------------------
ファンクション$19 ZM_EXCLUSIVE
機能 エクスクルーシブメッセージの送信
引数 d1.l:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.l:送信データサイズ
d3.hw:MAKER ID(0-127)
d3.lb:MODEL ID(0-127)
d3.hb:DEVICE ID(0-127)
a1.l:送信するMIDIデータを格納したデータバッファアドレス
戻り値 なし
備考 エクスクルーシブヘッダの$F0とEOXの$F7は自動送信される。
d3.hb=-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はドライバ内のデフォルト値が選択される。
MAKER IDをRoland($41)とした場合はデータ列をローランド・エクスクルーシブ
フォーマットのデータとみなし、コマンドメッセージ(DT2:$12)やチェックサム
バイト付きで送信する。
MAKER IDをYAMAHA($43)とした場合はデータ列をヤマハ・エクスクルーシブ
フォーマットのデータとみなし、データ長やチェックサムバイト付きで送信す
る。
--------------------------------------------------------------------------------
ファンクション$1b ZM_SET_EOX_WAIT
機能 EOX送信後のウェイトを設定する
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.w:0-65535
戻り値 d0.l=それまでのウェイト値
--------------------------------------------------------------------------------
ファンクション$1c ZM_MIDI_INP1
機能 MIDIデータの1バイト入力
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.l:入力モード(0:1回受信を試みてすぐ帰還,1:受信するまで無限ループ)
戻り値 d0.lに入力結果を返す
備考 戻り値のd0.lは以下のような書式をとる
第31ビット:読み込みステータス(1=読みこぼし発生,0=正常読みだし)
第15ビット:データの有無(1=データ無し,0=データ有り)
第0-7ビット:読みだしデータ(0-255)
--------------------------------------------------------------------------------
ファンクション$1d ZM_MIDI_OUT1
機能 MIDIデータの1バイト出力
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.b:送信データ(0-255)
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
--------------------------------------------------------------------------------
ファンクション$1e ZM_MIDI_REC
機能 MIDIデータのレコーディング開始
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
--------------------------------------------------------------------------------
ファンクション$1f ZM_MIDI_REC_END
機能 MIDIデータのレコーディング終了
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
--------------------------------------------------------------------------------
ファンクション$20 ZM_GS_RESET
機能 GS音源の初期化
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d3.b:DEVICE ID(0-127,-1:以前の値を使用)
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
--------------------------------------------------------------------------------
ファンクション$21 ZM_GS_PARTIAL_RESERVE
機能 GS音源のパーシャルリザーブ
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d3.b:DEVICE ID(0-127,-1:以前の値を使用)
a1.l:パート1~パート16までのパーシャルリザーブ値が
格納されているアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lからの領域にパーシャルリザーブ値を16パート分格納しておく。
また、合計が楽器の最大同時発声数以下にならなければならない。
0(a1)=パート1,1(a1)=パート2…,15(a1)=パート16というふうに対応する。
なお、パート10はリズムパートに対応する。
d3.bを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される。
--------------------------------------------------------------------------------
ファンクション$22 ZM_GS_REVERB
機能 GS音源のリバーブ・パラメータの設定
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.l:リバーブパラメータ・データサイズ(1-7)
d3.b:DEVICE ID(0-127,-1:以前の値を使用)
a1.l:リバーブパラメータ格納バッファアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lからの領域にリバーブパラメータを記述しておく。d2.lは7以内で、
指定した個数分のパラメータがGS音源へ送信される。
d3.bを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される
0(a1):REVERB MACRO 00:Room1,01:Room2,02:Room3,03:Hall1,04:Hall2
05:Plate,06:Delay,07:Panning Delay(FB)
1(a1):REVERB CHARACTER ($00~$07)
2(a1):REVERB PRE-LPF ($00~$07)
3(a1):REVERB LEVEL ($00~$7F)
4(a1):REVERB TIME ($00~$7F)
5(a1):REVERB DELAY FEEDBACK ($00~$7F)
6(a1):REVERB SEND LEVEL TO CHORUS ($00~$7F)
(SC55マニュアルp79参照)
--------------------------------------------------------------------------------
ファンクション$23 ZM_GS_CHORUS
機能 GS音源のコーラス・パラメータの設定
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.l:コーラスパラメータ・データサイズ(1-8)
d3.b:DEVICE ID(0-127,-1:以前の値を使用)
a1.l:コーラスパラメータ格納バッファアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lからの領域にコーラスパラメータを記述しておく。d2.lは8以内で
指定した個数分のパラメータがGS音源へ送信される。
d3.bを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される。
0(a1):CHORUS MACRO 00:Chorus1,01:Chorus2,02:Chorus3,03:Chorus4
04:Feedback Chorus,05:Flanger,06:Short Delay
07:Short Delay(FB)
1(a1):CHORUS PRE-LPF ($00~$07)
2(a1):CHORUS LEVEL ($00~$7F)
3(a1):CHORUS FEEDBACK ($00~$7F)
4(a1):CHORUS DELAY ($00~$7F)
5(a1):CHORUS RATE ($00~$7F)
6(a1):CHORUS DEPTH ($00~$7F)
7(a1):CHORUS SEND LEVEL TO REVERB ($00~$7F)
(SC55マニュアルp79参照)
--------------------------------------------------------------------------------
ファンクション$24 ZM_GS_PART_PARAMETER
機能 GS音源のパート・パラメータの設定
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.l:パートパラメータ・データサイズ(1-119)
d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
d3.hw:PART NUMBER(1-16)
a1.l:パートパラメータ格納バッファアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lからの領域にパートパラメータを記述しておく。d2.lは119以内で
指定した個数分のパラメータがGS音源へ送信される。
d3.bを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される。
0(a1):Rx CHANNEL (1~16,17=OFF)
1(a1):Rx PITCH BEND (0~1:OFF/ON)
2(a1):Rx CH PRESSURE(CAf) (0~1:OFF/ON)
3(a1):Rx PROGRAM CHANGE (0~1:OFF/ON)
4(a1):Rx CONTROL CHANGE (0~1:OFF/ON)
5(a1):Rx POLY PRESSURE(PAf) (0~1:OFF/ON)
6(a1):Rx NOTE MESSAGE (0~1:OFF/ON)
7(a1):Rx RPN (0~1:OFF/ON)
8(a1):Rx NRPN (0~1:OFF/ON)
9(a1):Rx MODURATION (0~1:OFF/ON)
10(a1):Rx VOLUME (0~1:OFF/ON)
11(a1):Rx PANPOT (0~1:OFF/ON)
12(a1):Rx EXPRESSION (0~1:OFF/ON)
13(a1):Rx HOLD1 (0~1:OFF/ON)
14(a1):Rx PORTAMENTO (0~1:OFF/ON)
15(a1):Rx SOSTENUTO (0~1:OFF/ON)
16(a1):Rx SOFT (0~1:OFF/ON)
17(a1):MONO/POLY MODE (0~1:MONO/POLY)
18(a1):ASSIGN MODE (0:SINGLE,1:LIMITED-MULTI,2:FULL-MULTI)
19(a1):USE FOR RHYTHM PART (0:OFF,1:MAP1,2:MAP2)
20(a1):PITCH KEY SHIFT ($28~$58:-24~+24[semitone])
21(a1):PITCH OFFSET FINE(upper) ($08~$F8:-12.0~+12.0[Hz])
22(a1):PITCH OFFSET FINE(lower) 〃
23(a1):PART LEVEL (0~127)
24(a1):VELOCITY SENSE DEPTH (0~127)
25(a1):VELOCITY SENSE OFFSET (0~127)
26(a1):PART PANPOT (0:RANDOM,01(LEFT)~64~127(RIGHT))
27(a1):KEY RANGE LOW (0~127:C-1~G9)
28(a1):KEY RANGE HIGH (0~127:C-1~G9)
29(a1):CC1 CONTROL NUMBER (0~127)
30(a1):CC2 CONTROL NUMBER (0~127)
31(a1):CHORUS SEND DEPTH (0~127)
32(a1):REVERB SEND DEPTH (0~127)
33(a1):Vibrato rate ($0E~$72:-50~+50)
34(a1):Vibrato depth ($0E~$72:-50~+50)
35(a1):TVF cutoff freq. ($0E~$50:-50~+16)
36(a1):TVF resonance ($0E~$72:-50~+50)
37(a1):TVF&TVA Env.attack ($0E~$72:-50~+50)
38(a1):TVF&TVA Env.decay ($0E~$72:-50~+50)
39(a1):TVF&TVA Env.release ($0E~$72:-50~+50)
40(a1):Vibrato delay ($0E~$72:-50~+50)
41(a1):SCALE TUNING C ($00~$7F:-64~+63[cent])
42(a1):SCALE TUNING C# ($00~$7F:-64~+63[cent])
43(a1):SCALE TUNING D ($00~$7F:-64~+63[cent])
44(a1):SCALE TUNING D# ($00~$7F:-64~+63[cent])
45(a1):SCALE TUNING E ($00~$7F:-64~+63[cent])
46(a1):SCALE TUNING F ($00~$7F:-64~+63[cent])
47(a1):SCALE TUNING F# ($00~$7F:-64~+63[cent])
48(a1):SCALE TUNING G ($00~$7F:-64~+63[cent])
49(a1):SCALE TUNING G# ($00~$7F:-64~+63[cent])
50(a1):SCALE TUNING A ($00~$7F:-64~+63[cent])
51(a1):SCALE TUNING A# ($00~$7F:-64~+63[cent])
52(a1):SCALE TUNING B ($00~$7F:-64~+63[cent])
53(a1):MOD PITCH CONTROL ($28~$58:-24~+24[semitone])
54(a1):MOD TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
55(a1):MOD AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
56(a1):MOD LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
57(a1):MOD LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
58(a1):MOD LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
59(a1):MOD LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
60(a1):MOD LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
61(a1):MOD LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
62(a1):MOD LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
63(a1):MOD LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
64(a1):BEND PITCH CONTROL ($28~$58:-24~+24[semitone])
65(a1):BEND TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
66(a1):BEND AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
67(a1):BEND LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
68(a1):BEND LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
69(a1):BEND LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
70(a1):BEND LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
71(a1):BEND LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
72(a1):BEND LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
73(a1):BEND LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
74(a1):BEND LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
75(a1):CAf PITCH CONTROL ($28~$58:-24~+24[semitone])
76(a1):CAf TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
77(a1):CAf AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
78(a1):CAf LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
79(a1):CAf LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
80(a1):CAf LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
81(a1):CAf LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
82(a1):CAf LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
83(a1):CAf LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
84(a1):CAf LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
85(a1):CAf LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
86(a1):PAf PITCH CONTROL ($28~$58:-24~+24[semitone])
87(a1):PAf TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
88(a1):PAf AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
89(a1):PAf LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
90(a1):PAf LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
91(a1):PAf LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
92(a1):PAf LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
93(a1):PAf LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
94(a1):PAf LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
95(a1):PAf LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
96(a1):PAf LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
97(a1):CC1 PITCH CONTROL ($28~$58:-24~+24[semitone])
98(a1):CC1 TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
99(a1):CC1 AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
100(a1):CC1 LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
101(a1):CC1 LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
102(a1):CC1 LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
103(a1):CC1 LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
104(a1):CC1 LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
105(a1):CC1 LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
106(a1):CC1 LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
107(a1):CC1 LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
108(a1):CC2 PITCH CONTROL ($28~$58:-24~+24[semitone])
109(a1):CC2 TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
110(a1):CC2 AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
111(a1):CC2 LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
112(a1):CC2 LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
113(a1):CC2 LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
114(a1):CC2 LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
115(a1):CC2 LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
116(a1):CC2 LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
117(a1):CC2 LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
118(a1):CC2 LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
(SC55のマニュアルp75,p79~p80参照)
--------------------------------------------------------------------------------
ファンクション$25 ZM_GS_DRUM_PARAMETER(ZM_GS_DRUM_SETUP)
機能 GS音源のドラム・セットアップ設定
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.l:ドラム・セットアップ・パラメータ・データサイズ(1-8)
d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
d3.hwlb:NOTE NUMBER(0-127)
d2.hwhb:MAP NUMBER(0-1)
a1.l:ドラム・セットアップ・パラメータ格納バッファアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lからの領域にドラム・セットアップ・パラメータを記述しておく。
d2.lは8以内で指定した個数分のパラメータがGS音源へ送信される。
d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される。
0(a1):PLAY KEY NUMBER (0~127)
1(a1):LEVEL (0~127)
2(a1):ASSIGN GROUP NUMBER (0:NON,1~127)
3(a1):PANPOT (0:RANDOM,01(LEFT)~64~127(RIGHT))
4(a1):REVERB DEPTH (0~127:0.0~1.0)
5(a1):CHORUS DEPTH (0~127:0.0~1.0)
6(a1):Rx NOTE OFF (0~1:OFF/ON)
7(a1):Rx NOTE ON (0~1:OFF/ON)
(SC55マニュアルp75,p82参照)
--------------------------------------------------------------------------------
ファンクション$26 ZM_GS_DRUM_NAME
機能 GS音源のドラム・セット名設定
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.l:ドラム・セットアップ・パラメータ・データサイズ(1-8)
d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
d3.hw:MAP NUMBER(0,1)
a1.l:ドラム・セット名文字列格納バッファアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 文字列は12文字以内でa1.lからの領域に文字列を記述しておく。
d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される。
(SC55マニュアルp82参照)
--------------------------------------------------------------------------------
ファンクション$27 ZM_GS_PRINT
機能 GS音源の画面へのメッセージ出力
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d2.l:メッセージ長(1-32)
d3.w:DEVICE ID(0-127,-1:以前の値を使用)
a1.l:文字列格納バッファアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 メッセージは32文字以内でa1.lからの領域に文字列を記述しておく。
d3.wを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される。
--------------------------------------------------------------------------------
ファンクション$28 ZM_GS_DISPLAY
機能 GS音源の画面へのドットパターン出力
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d3.w:DEVICE ID(0-127,-1:以前の値を使用)
a1.l:ドットパターン格納バッファアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lからの領域にドットパターンを記述しておく。
d3.wを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される。
例
/*SC55の画面に"善"を表示する*/
moveq.l #-1,d1
moveq.l #-1,d3
lea data(pc),a1
Z_MUSIC #ZM_GS_DISPLAY
rts
data:
dc.w %0001000000010000
dc.w %0000100000100000
dc.w %0111111111111100
dc.w %0000000100000000
dc.w %0011111111111000
dc.w %0000000100000000
dc.w %0111111111111100
dc.w %0001000100010000
dc.w %0000100100100000
dc.w %1111111111111110
dc.w %0000000000000000
dc.w %0011111111111000
dc.w %0010000000001000
dc.w %0010000000001000
dc.w %0011111111111000
dc.w %0010000000001000
--------------------------------------------------------------------------------
ファンクション$29 ZM_GM_SYSTEM_ON
機能 GM音源のリセット
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
--------------------------------------------------------------------------------
ファンクション$30 ZM_MT32_RESET
機能 MT32の初期化
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d3.w:DEVICE ID(0-127,-1:以前の値を使用)
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 d3.wを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される。
--------------------------------------------------------------------------------
ファンクション$31 ZM_MT32_PARTIAL_RESERVE
機能 MT32のパーシャルリザーブ
引数 d1.w:MIDIポートの番号(0-3)
-1はカレントMIDI-OUTを使用
d3.w:DEVICE ID(0-127,-1:以前の値を使用)
a1.l:パート1~パート9までのパーシャルリザーブ値が
格納されているバッファアドレス
戻り値 d0.l=0:正常終了
d0.l=0以外:エラーコード
備考 a1.lからの領域にパーシャルリザーブ値を9パート分格納しておく。
また、合計が楽器の最大同時発声数以下にならなければならない。
0(a1)=パート1,1(a1)=パート2…,8(a1)=パート9というふうに対応する。
なお、8(a1)のパート9はリズムパートに対応する。
d3.wを-1とすると以前設定したものが選択される。最初の使用時に
省略した場合はZMUSIC内のデフォルト値$10が選択される。
--------------------------------------------------------------------------------
ファンクション$32 ZM_MT32_REVERB