-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCALL PCMREC.txt
executable file
·52 lines (42 loc) · 1.93 KB
/
CALL PCMREC.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
CALL PCMREC
-----------------------------------------------------------
MSX turbo R 以降
MSXPLAYer では使用できません
[ 機能 ]
PCM を録音します。
[ 書式 ]
CALL PCMREC( { @<開始番地>,<終了番地> | <配列変数名>,[長さ] }
,<レート>,<開始レベル>,<圧縮>[,S])
[ 文例 ]
CALL PCMREC(@&HB000,&HBFFF,1)
[ 解説 ]
<開始番地> <終了番地> の指定を &H10000 以上にする場合は
10 進数表記にする必要があります。
これは MSX-BASIC の16進数が
最大で &HFFFF(65535)である事からです。
また &H8000~&HFFFF は負の値となるため、
計算で 16 進数を用いる場合もご注意ください。
<長さ> を省略した場合は配列変数の内容を全て再生します。
<レート> は以下の通りです。
0 15.75KHz
1 7.875KHz
2 5.25KHz
3 3.9375KHz
<開始レベル> は録音を開始する時のレベルで、0~127 です。
省略時は 0 となります。0 にするとただちに録音が開始されます。
<圧縮> はデータが無音の際に圧縮を行なうかどうかを指定します。
省略時は 0 となります。
0 圧縮しない
1 圧縮する
,S をつけた場合は VRAM からの再生となります。
つけない場合は RAM からの再生となります。
PCM データはアブソリュートバイナリで、
1~255 がデータとなります。
<圧縮> を 1 にした場合は 0 レベル付近(126~128) を
0 の場合は続く 1 バイトの回数分を出力して
無音データを圧縮します。
実行は CPU が Z80 である場合、R800 に切り替えられて録音されます。
録音が終了すると Z80 に戻されます。
<レート> が 0(15.75KHz)の場合は
Z800 DRAM モードで実行される必要があります。
録音中に [STOP] を押した場合は BASIC の実行を中断します。