10 '
20 '   < サウンドデーター表示 ( おまけサンプル ) >
30 '                                  for F-BASIC 386 V2.1 L10 以上
40 '                                      Programmed by Luzz-tum
50 '
60 '　　PCM 波形を表示するプログラムです。
70 '　　当たり前ですが、アドレスデーター（このプログラムでは変数 ADDR ）
80 '　は 32 bit のロング型変数にしないとエラーがでます。
90 '　　PO に変換後の値が格納されます。値の範囲は +126 から -127 です。
100 '
110 '
120 SCREEN 0:SCREEN @0:VIEW:WINDOW:COLOR 7,0,7,0:CLS:WIDTH 80,25
130 CLEAR:DEFLNG A-Z:DIM SAM%(20000)
140 PRINT "PCM データーを表示します。"
150 PRINT "何かキーを押したらすぐに音を入れて下さい。"
160 WHILE INKEY$="":WEND
170 PRINT "Now sampling rate = 19200KHz"
180 PRINT "サンプリング中"
190 PCMREC SAM%,19200
200 PRINT "============="
210 PRINT "サンプリング終了"
220 PRINT "何かキーを押すと、再生して、波形を表示します。"
230 WHILE INKEY$="":WEND
240 PCMPLAY SAM%,127
250 ADDR&=VARPTR(SAM%(0))
260 CLS
270 FOR X=0 TO 639
280   DAT=PEEK(ADDR&+PS+X,1):W_DAT=DAT AND 127
290   IF (DAT AND 128)=0 W_DAT=-W_DAT
300   LINE (X,BW_DAT+200)-(X,W_DAT+200),PSET:BW_DAT=W_DAT
310 NEXT
320 PS=PS+640
330 CLS:PRINT PS/19200"秒目"
340 GOTO 270
