ソフトウェア音源 『μ』(turboR用)
仕様説明(仮設)
チャンネル毎に 各チャンネルの 可変・固定周波の → 計算結果を合成し → I/O出力 計算を行う バッファに転送
サンプリング指定 (0) 固定波形再生(SCCエミュレーター等) 00h - 0Fh : 可変周波の音色 : ポインタ下位上位(2バイト) × 8チャンネル 10h - 1Fh : 可変周波の周波数 : 下位上位(2バイト)(*1) × 8チャンネル 20h - 27h : 可変周波の音量 : 00〜3Fh(1バイト) × 8チャンネル
サンプリング指定 (1) 連続波形再生(サンプリング再生) 00h - 0Fh : 可変周波の音色 : ポインタの格納アドレス下位上位(2バイト) × 8チャンネル 10h - 1Fh : 可変周波の周波数 : 下位上位(2バイト)(*2) × 8チャンネル 20h - 27h : 可変周波の音量 : 00〜3Fh(1バイト) × 8チャンネル
7Dh : サンプリング指定 : ビットが1の時有効(可変周波のみ) 7Eh : 可変・固定の選択 : 各ビットがチャンネルに対応(0:可変周波 1:固定周波) 7Fh : 波形のリセット : ビットが1の時にリセットされます(*3)
80h - FFh : 固定周波の設定 : 16バイト(*4) × 8チャンネル
0000h - 000Bh : PCM出力(RST 00H) 000Ch - 000Dh : 内部エラーアドレス 000Eh : PCM出力数(1/120秒分で、129〜133の値を取る) 000Fh : フレームカウンタ(割り込み発生後にインクリメントされる) 0010h - 0012h : 内部で使用 0013h - 0014h : reserved 0015h : MSX−DOS2が使用するバンク 0016h - 0017h : FM音源のI/Oウェイト 0018h - 001Ah : 内部で使用 001Bh - 001Fh : 割り込みフック1(基本処理後に呼ばれる(*1)) 0020h - 0022h : 内部で使用 0023h - 0027h : 割り込みフック2(μの基本処理後に呼ばれる(*2)) 0028h - 0037h : ユーザー側で使用可能 0038h - 00FFh : 割り込み処理 0100h - 03FFh : ユーザー側で使用可能 0400h - 0BFFh : PCM出力変換表 0C00h - 0CFFh : メモリマッパー 0D00h - 0DFFh : μレジスタ 0E00h - 0EFFh : PSG・FM音源レジスタ 0F00h - 1347h : PCMバッファ 1348h - 1EE3h : ワークエリア 1EE4h - 2187h : 基本プログラム(一部) 2188h - 21EEh : 操作プログラム(おまけ) 21EFh - 3FFFh : ユーザー側で使用可能
1FC5h 入力: DE=ポインタ B=割り当てる単位数
出力:
破壊:
使用: ページ1
1FEAh 入力: DE=要求する単位数
出力: DE=ポインタ
破壊: AF・AF’
使用: ページ1
2079h 入力: DE=ポインタ
出力:
破壊: DE・AF
使用: ページ1
20D2h 入力: DE=ポインタ H=上位アドレス A=単位数
出力: DE=ポインタ(次) H=上位アドレス(次) Z’フラグ(ONで終了)
破壊: AF・AF’
使用: ページ1・2
20D7h 入力: DE=ポインタ H=上位アドレス A=単位数
出力: DE=ポインタ(次) H=上位アドレス(次) Z’フラグ(ONで終了)
破壊: AF・AF’
使用: ページ1・2
216Fh 入力:
出力: DE=単位数
破壊: F
使用:
A1ST 67ブロック 17,152バイト
A1GT 1075ブロック 275,200バイト
C000h 入力:
出力:
破壊: 全て
1EE4h 入力: A=チャンネル数(4〜8) DE=音量 B=補整率(00h-80h)
出力:
破壊: 全て
使用: ページ3
1F06h 入力:
出力: IXレジスタの設定
破壊: F・裏レジスタ全て
使用:
1F19h 入力:
出力: IXレジスタの設定
破壊: 表レジスタ全て
使用:
1F62h 入力:
出力:
破壊: 全て
使用: ページ1・2・3
2188h 入力: HL=転送元 DE=転送先 BC=転送長
出力:
破壊: 表レジスタ全て
使用: