home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1986 September / Ahoy_Magazine_86-09_1986_Double_L.d64 / Speech64 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  3KB  |  118 lines

  1. 10 rem speech64
  2. 20 rem by scott c. baggs
  3. 30 gosub 4000 :rem poke ml routines
  4. 35 poke49358,5 : rem  set pitch
  5. 40 print chr$(147): rem clear screen
  6. 50 print tab(14);"* speech64 *"
  7. 52 print:print:print
  8. 54 print tab(14);"1  record word":print     tab(14);"2  playback word"
  9. 55 print tab(14);"3  load data  ":print     tab(14);"4  save data    "
  10. 58 geta$:ifa$=""thengoto   58
  11. 59 ifa$>"4"thengoto   58
  12. 60 on val(a$) gosub 200,70,400,1000
  13. 65 goto40
  14. 70 rem  playback prameters
  15. 100 srt=64 : gosub110
  16. 102 poke53265,peek(53265)and239 :rem blank screen
  17. 105 sys49287  : rem playback
  18. 106 poke53265,peek(53265)or16 :rem enable screen
  19. 108 return
  20. 110 a=49154 : rem  $c002
  21. 120 pokea,0:pokea+1,srt :pokea+3,srt        +24  :pokea+2,0 : return
  22. 200 rem record
  23. 210 print "record - press play on cassette"
  24. 215 if(peek(1)and16)=16then 215 :rem wait
  25. 220 srt=64: gosub110
  26. 230 print "start tape":                     sys49200
  27. 240 return
  28. 400 rem  load data
  29. 420 input "filename";fln$
  30. 425 input"device number #8[157][157][157]";dv
  31. 430 load+fln$,dv,1
  32. 480 return
  33. 1000 print"[147]save speech data"
  34. 1005 input"device number #8[157][157][157]";dv
  35. 1010 input"file to save ";f$:iff$=""then1010
  36. 1015 rem loc. of f$
  37. 1020 poke187,peek(71):poke188,peek(72)
  38. 1025 rem cslc. pointer to f$
  39. 1030 fa=peek(187)+256*peek(188)
  40. 1035 rem set filename length
  41. 1040 poke183,peek(fa)
  42. 1055 rem set fn. pointer
  43. 1060 poke187,peek(fa+1):poke188,peek(fa+2)
  44. 1070 rem
  45. 1080 sa$="4000"
  46. 1090 n$=sa$:gosub2000:sl=bl:sh=bh
  47. 1095 rem
  48. 1100 ea$="5800"
  49. 1110 n$=ea$:gosub2000:el=bl:eh=bh
  50. 1115 rem set strt add. ptr.
  51. 1120 poke251,sl:poke252,sh
  52. 1125 rem set dev. & s.a.
  53. 1130 poke186,dv:poke185,1
  54. 1135 rem set .a,.x,&.y
  55. 1140 poke780,251:poke781,el:poke782,eh
  56. 1150 sys65496:rem go do save ($ffd8)
  57. 1160 return
  58. 1999 rem
  59. 2000 rem hex -> 2 bytes (dec.)
  60. 2010 :
  61. 2020 n=0
  62. 2030 fori=1tolen(n$)
  63. 2040 :x=asc(mid$(n$,i))-48
  64. 2050 :n=16*n+x+7*(x>9)
  65. 2060 next
  66. 2100 bh=int(n/256):bl=n-256*bh
  67. 2110 return
  68. 4000 fori=49152 to 49371
  69. 4010 read q
  70. 4020 poke i,q
  71. 4030 next i
  72. 4040 return
  73. 4090 rem data for ml routines
  74. 5000 data 0 , 255 , 0 , 64 , 0
  75. 5010 data 88 , 5 , 255 , 0 , 255
  76. 5020 data 0 , 255 , 0 , 0 , 0
  77. 5030 data 255 , 0 , 1 , 2 , 4
  78. 5040 data 8 , 16 , 32 , 64 , 128
  79. 5050 data 255 , 0 , 255 , 0 , 255
  80. 5060 data 0 , 255 , 0 , 254 , 253
  81. 5070 data 251 , 247 , 239 , 223 , 191
  82. 5080 data 127 , 255 , 187 , 255 , 3
  83. 5090 data 255 , 32 , 255 , 173 , 17
  84. 5100 data 208 , 41 , 239 , 141 , 17
  85. 5110 data 208 , 120 , 32 , 192 , 192
  86. 5120 data 173 , 13 , 220 , 240 , 251
  87. 5130 data 162 , 16 , 173 , 13 , 220
  88. 5140 data 208 , 6 , 202 , 240 , 241
  89. 5150 data 76 , 67 , 192 , 162 , 8
  90. 5160 data 32 , 205 , 192 , 173 , 13
  91. 5170 data 220 , 41 , 16 , 240 , 10
  92. 5180 data 177 , 2 , 29 , 16 , 192
  93. 5190 data 145 , 2 , 76 , 110 , 192
  94. 5200 data 177 , 2 , 61 , 32 , 192
  95. 5210 data 145 , 2 , 76 , 110 , 192
  96. 5220 data 202 , 208 , 223 , 200 , 208
  97. 5230 data 218 , 230 , 3 , 165 , 3
  98. 5240 data 205 , 5 , 192 , 208 , 209
  99. 5250 data 88 , 173 , 17 , 208 , 9
  100. 5260 data 16 , 141 , 17 , 208 , 96
  101. 5270 data 120 , 32 , 192 , 192 , 162
  102. 5280 data 8 , 32 , 205 , 192 , 177
  103. 5290 data 2 , 61 , 16 , 192 , 240
  104. 5300 data 12 , 169 , 15 , 141 , 24
  105. 5310 data 212 , 76 , 159 , 192 , 234
  106. 5320 data 76 , 175 , 192 , 169 , 0
  107. 5330 data 141 , 24 , 212 , 76 , 171
  108. 5340 data 192 , 234 , 76 , 175 , 192
  109. 5350 data 202 , 208 , 219 , 200 , 208
  110. 5360 data 214 , 230 , 3 , 165 , 3
  111. 5370 data 205 , 5 , 192 , 208 , 205
  112. 5380 data 88 , 96 , 173 , 2 , 192
  113. 5390 data 133 , 2 , 173 , 3 , 192
  114. 5400 data 133 , 3 , 160 , 0 , 96
  115. 5410 data 169 , 5 , 141 , 0 , 192
  116. 5420 data 206 , 0 , 192 , 173 , 0
  117. 5430 data 192 , 208 , 248 , 96 , 255
  118.