home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 3
/
FreeSoftwareCollection3pd199x-jp.img
/
oh_fm
/
voicedmp
/
hvsub.bas
< prev
next >
Wrap
BASIC Source File
|
1980-01-02
|
5KB
|
64 lines
30000 '
30010 ' 16進文字再生用サブルーチン
30020 '
30030 *HV_INIT
30040 HV_SR% = 8000 : 'サンプリングレート
30050 HV_VM% = 100 : '再生音量
30060 HV_MAX%=(HV_SR%*.4!+32)\2
30070 DIM R0%(HV_MAX%),R1%(HV_MAX%),R2%(HV_MAX%),R3%(HV_MAX%)
30080 DIM R4%(HV_MAX%),R5%(HV_MAX%),R6%(HV_MAX%),R7%(HV_MAX%)
30090 DIM R8%(HV_MAX%),R9%(HV_MAX%),RA%(HV_MAX%),RB%(HV_MAX%)
30100 DIM RC%(HV_MAX%),RD%(HV_MAX%),RE%(HV_MAX%),RF%(HV_MAX%)
30110 RETURN
30120 '
30130 ' 再生 [in:RNO% 0-15
30140 '
30150 *HV_PLAY
30160 IF RNO%<0 OR RNO%>15 THEN RETURN
30170 ON RNO%+1 GOSUB *PLY_0,*PLY_1,*PLY_2,*PLY_3,*PLY_4,*PLY_5,*PLY_6,*PLY_7,*PLY_8,*PLY_9,*PLY_A,*PLY_B,*PLY_C,*PLY_D,*PLY_E,*PLY_F
30180 FOR HV_I%=0 TO 4000 : NEXT 'wait
30190 RETURN
30200 *PLY_0 : PCMPLAY R0%,HV_VM% : RETURN
30210 *PLY_1 : PCMPLAY R1%,HV_VM% : RETURN
30220 *PLY_2 : PCMPLAY R2%,HV_VM% : RETURN
30230 *PLY_3 : PCMPLAY R3%,HV_VM% : RETURN
30240 *PLY_4 : PCMPLAY R4%,HV_VM% : RETURN
30250 *PLY_5 : PCMPLAY R5%,HV_VM% : RETURN
30260 *PLY_6 : PCMPLAY R6%,HV_VM% : RETURN
30270 *PLY_7 : PCMPLAY R7%,HV_VM% : RETURN
30280 *PLY_8 : PCMPLAY R8%,HV_VM% : RETURN
30290 *PLY_9 : PCMPLAY R9%,HV_VM% : RETURN
30300 *PLY_A : PCMPLAY RA%,HV_VM% : RETURN
30310 *PLY_B : PCMPLAY RB%,HV_VM% : RETURN
30320 *PLY_C : PCMPLAY RC%,HV_VM% : RETURN
30330 *PLY_D : PCMPLAY RD%,HV_VM% : RETURN
30340 *PLY_E : PCMPLAY RE%,HV_VM% : RETURN
30350 *PLY_F : PCMPLAY RF%,HV_VM% : RETURN
30360 '
30370 ' ロード [in:FL$
30380 '
30390 *HV_LOAD
30400 IF INSTR(FL$,".")=0 THEN FL$=FL$+".HRC"
30410 '
30420 OPEN "I",#1,FL$
30430 A$=INPUT$(8,#1):'Get header "HexVoice"
30440 PRINT : PRINT " 0123456789ABCDEF" : PRINT " ";
30450 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R0%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R0%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30460 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R1%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R1%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30470 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R2%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R2%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30480 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R3%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R3%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30490 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R4%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R4%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30500 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R5%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R5%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30510 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R6%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R6%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30520 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R7%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R7%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30530 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R8%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R8%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30540 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(R9%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(R9%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30550 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(RA%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(RA%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30560 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(RB%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(RB%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30570 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(RC%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(RC%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30580 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(RD%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(RD%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30590 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(RE%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(RE%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30600 FOR HV_I%=0 TO HV_MAX% : POKE VARPTR(RF%(HV_I%)) ,ASC(INPUT$(1,1)): POKE VARPTR(RF%(HV_I%))+1,ASC(INPUT$(1,1)): NEXT:PRINT "*";
30610 CLOSE #1 : PRINT
30620 RETURN