home *** CD-ROM | disk | FTP | other *** search
/ FreeWare Collection 3 / FreeSoftwareCollection3pd199x-jp.img / oh_fm / voicedmp / hvsub.bas < prev    next >
BASIC Source File  |  1980-01-02  |  5KB  |  64 lines

  1. 30000 '
  2. 30010 ' 16進文字再生用サブルーチン
  3. 30020 '
  4. 30030 *HV_INIT
  5. 30040 HV_SR% = 8000 : 'サンプリングレート
  6. 30050 HV_VM% = 100  : '再生音量
  7. 30060 HV_MAX%=(HV_SR%*.4!+32)\2
  8. 30070 DIM R0%(HV_MAX%),R1%(HV_MAX%),R2%(HV_MAX%),R3%(HV_MAX%)
  9. 30080 DIM R4%(HV_MAX%),R5%(HV_MAX%),R6%(HV_MAX%),R7%(HV_MAX%)
  10. 30090 DIM R8%(HV_MAX%),R9%(HV_MAX%),RA%(HV_MAX%),RB%(HV_MAX%)
  11. 30100 DIM RC%(HV_MAX%),RD%(HV_MAX%),RE%(HV_MAX%),RF%(HV_MAX%)
  12. 30110 RETURN
  13. 30120 '
  14. 30130 ' 再生 [in:RNO% 0-15
  15. 30140 '
  16. 30150 *HV_PLAY
  17. 30160 IF RNO%<0 OR RNO%>15 THEN RETURN
  18. 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
  19. 30180 FOR HV_I%=0 TO 4000 : NEXT 'wait
  20. 30190 RETURN
  21. 30200 *PLY_0 : PCMPLAY R0%,HV_VM% : RETURN
  22. 30210 *PLY_1 : PCMPLAY R1%,HV_VM% : RETURN
  23. 30220 *PLY_2 : PCMPLAY R2%,HV_VM% : RETURN
  24. 30230 *PLY_3 : PCMPLAY R3%,HV_VM% : RETURN
  25. 30240 *PLY_4 : PCMPLAY R4%,HV_VM% : RETURN
  26. 30250 *PLY_5 : PCMPLAY R5%,HV_VM% : RETURN
  27. 30260 *PLY_6 : PCMPLAY R6%,HV_VM% : RETURN
  28. 30270 *PLY_7 : PCMPLAY R7%,HV_VM% : RETURN
  29. 30280 *PLY_8 : PCMPLAY R8%,HV_VM% : RETURN
  30. 30290 *PLY_9 : PCMPLAY R9%,HV_VM% : RETURN
  31. 30300 *PLY_A : PCMPLAY RA%,HV_VM% : RETURN
  32. 30310 *PLY_B : PCMPLAY RB%,HV_VM% : RETURN
  33. 30320 *PLY_C : PCMPLAY RC%,HV_VM% : RETURN
  34. 30330 *PLY_D : PCMPLAY RD%,HV_VM% : RETURN
  35. 30340 *PLY_E : PCMPLAY RE%,HV_VM% : RETURN
  36. 30350 *PLY_F : PCMPLAY RF%,HV_VM% : RETURN
  37. 30360 '
  38. 30370 ' ロード [in:FL$
  39. 30380 '
  40. 30390 *HV_LOAD
  41. 30400 IF INSTR(FL$,".")=0 THEN FL$=FL$+".HRC"
  42. 30410 '
  43. 30420 OPEN "I",#1,FL$
  44. 30430 A$=INPUT$(8,#1):'Get header "HexVoice"
  45. 30440 PRINT : PRINT "    0123456789ABCDEF" : PRINT "    ";
  46. 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 "*";
  47. 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 "*";
  48. 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 "*";
  49. 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 "*";
  50. 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 "*";
  51. 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 "*";
  52. 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 "*";
  53. 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 "*";
  54. 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 "*";
  55. 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 "*";
  56. 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 "*";
  57. 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 "*";
  58. 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 "*";
  59. 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 "*";
  60. 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 "*";
  61. 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 "*";
  62. 30610 CLOSE #1 : PRINT
  63. 30620 RETURN
  64.