Advertisement
Guest User

John Player 2.0 beta Help

a guest
May 2nd, 2014
569
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.36 KB | None | 0 0
  1. --- NEW FEATURES IN JOHN PLAYER V2.0 BETA ---
  2.  
  3. + Doubled the steps in sound table ($7F)
  4. + Doubled the sequencer steps ($7F)
  5. + More sounds ($1F)
  6. + More convenient sound looping
  7. + Initial Tempo/Filter/Volume setting
  8. - Slightly slower (still under 8 raster)
  9. - Compiled tunes are approx. 0.4k bigger
  10. - Songs not compatible with V1.0-V1.6
  11.  
  12.  
  13.  
  14. --- COMMON KEYS ------------------------
  15.  
  16. Space Play
  17. Run/Stop Silence
  18.  
  19. Cursors Move around
  20.  
  21. + and - Block select
  22. [ and ] Sound select
  23. < and > Keyboard octave
  24.  
  25. C=+C Copy
  26. C=+V Paste
  27.  
  28. C=+H Help on current screen
  29.  
  30. F1 Block Edit Screen
  31. F3 Sound Edit Screen
  32. F5 Sequencer/Info
  33. F7 Disk/Options Menu
  34.  
  35.  
  36.  
  37. --- BLOCK EDIT SCREEN ------------------
  38.  
  39. Most of the keys comprise a two octave
  40. keyboard which is used to enter notes.
  41.  
  42. Hold Shift to enter tied notes (no retrig,
  43. only frequency is changed).
  44.  
  45. Del Delete step
  46. <- Enter 'Off' (gate bit off)
  47. Home Go to top left corner
  48.  
  49. Shift+ Enter command in cmd column
  50. Letter (see Commands below)
  51.  
  52. Shift+ Cut block
  53. Home
  54.  
  55. C=+C Copy block
  56. C=+V Paste block
  57.  
  58. C=+R Replicate block at cursor
  59.  
  60. C=+T Copy track
  61. C=+P Paste track
  62. C=+S Swap track with buffer
  63.  
  64. Replicate fills the block with the range
  65. above current cursor position:
  66.  
  67. If cursor at step $10 steps $00-$0f are
  68. copied to $10-$1f.
  69.  
  70. If cursor at step $08 steps $00-$07 are
  71. copied to $08-$0f, $10-$17 and $18-$1f.
  72.  
  73.  
  74.  
  75. --- SOUND EDIT SCREEN ------------------
  76.  
  77. Shift+ Play sound (Reads filter table
  78. Keyboard only if block cursor ar ch 1)
  79.  
  80. C=+C Copy sound
  81. C=+V Paste sound
  82. <- Key up (same as 'Off')
  83.  
  84. Shift+ Play entire song instead of
  85. Space repeating current block only
  86.  
  87. All sounds share the same 64-step sound
  88. table. The columns are (left to right):
  89.  
  90. Waveform 11:Triangle 41:Pulse wave
  91. 21:Sawtooth 51:Triangle+Pulse
  92. 31:Tri+Saw 81:Noise
  93. 15:Ring mod 43:Pulse/Sync
  94. 23:Saw/Sync
  95.  
  96. Arpeggio 00-7E:Rel. note (semitones)
  97. 80-FF:Absolute pitch/2
  98.  
  99. Filter 00-FF:Cutoff (added to Flt)
  100.  
  101. Sound looping has changed! To define a
  102. loop enter $00 in Waveform column and
  103. the desired loop position in Arpeggio
  104. column at the same step.
  105.  
  106. If you have a stable sound which at the
  107. end plays just one waveform you should
  108. optimise the loop by repeating the last
  109. value a couple of times.
  110.  
  111. If you want a hard restart the first
  112. step of all sounds should play waveform
  113. $09 (see preset sounds). Either use it
  114. with all sounds or none of the sounds!
  115. Otherwise the player can't keep the
  116. timing.
  117.  
  118. Hard restart is not hard-wired to the
  119. playroutine because sometimes not using
  120. it gives a more desirable sound: The
  121. attack is softer and for example when
  122. using an initial click with the noise
  123. waveform at high pitch you get a nice
  124. sounding 'small soft click'.
  125.  
  126. The same click with hard restart is more
  127. stable, but also much more harsh.
  128.  
  129.  
  130. Absolute pitch works in a special way:
  131. The value is shifted to left and written
  132. to high byte frequency register.
  133.  
  134. 81 (low) $02nn (low byte nn of
  135. 82 $04nn frequency is not
  136. 83 $06nn changed from that
  137. . of the last note)
  138. .
  139. FF (high) $FEnn
  140.  
  141.  
  142. Filter cutoff value is added to which-
  143. ever value is set as filter base by the
  144. Flt command.
  145.  
  146. For example, you can set up a filter
  147. envelope which ramps down from 7F to 00
  148. and then 'tweak' the filter using Flt.
  149.  
  150. Wrapping is never checked so in this
  151. case the Flt values should never exceed
  152. 80. (Unless this is the desired effect)
  153.  
  154.  
  155. SOUND PARAMETERS:
  156.  
  157. Attack/Decay AD (nybbles)
  158. Sustain/Release SR (nybbles)
  159. Sound Trig Pos. First step in table
  160. PWM Init 01-0F (00 for no init)
  161. PWM Rate 01-FF (slow to fast)
  162. PWM Top Limit 02-10
  163. PWM Bottom Limit 00-0E
  164.  
  165. Filt.Reso/Ch.Sel reso 0-F, ch. sel 0-7
  166. Filt.Type/Volume ftype 0-7, volume 0-F
  167.  
  168. Only channel 1 notes read the filter
  169. parameters and filter table.
  170.  
  171. Some ADSR settings bug: For example a
  172. repeated hihat sound using waveform 81
  173. doesn't sound as expected if release is
  174. set to zero (A:0 D:1 S:0 R:0). To get
  175. accurate trigging set release to a much
  176. higher value (A:0 D:1 S:0 R:F).
  177.  
  178. Sustain value F might cause some notes
  179. to be skipped...
  180.  
  181. PWM Init must be bigger than PWM Bottom
  182. and smaller than PWM Top Limit! Values
  183. out of this range or equal to either of
  184. the limits may cause the modulation to
  185. stop.
  186.  
  187. PWM Init 00 skips all PWM parameters and
  188. keeps the current PWM on channel (PWM is
  189. continued).
  190.  
  191.  
  192. SONG SETUP
  193.  
  194. Step 00 of the sound table is not used
  195. by sound data! It's used to store the
  196. initial song parameters instead. I know
  197. this is a quick and dirty hack but...
  198.  
  199. 1st column of Step 00 sets the filter
  200. resonance and selects the channels to be
  201. routed thought the filter ($d417)
  202.  
  203. 2nd column sets filter type and master
  204. volume ($d418)
  205.  
  206. 3rd column sets the initial song tempo.
  207.  
  208. Example of Step 00 setup: F1 1F 0C
  209.  
  210. Resonance F, fileter channel 1.
  211. Low pass filter, master volume F.
  212. Initial song tempo 0C.
  213.  
  214.  
  215. --- SEQUENCER/INFO ---------------------
  216.  
  217. Return Insert current block at cursor
  218. Del Delete block under cursor
  219.  
  220. Shift+ Play starting from cursor
  221. Space
  222.  
  223. T Edit tag
  224. I Edit info (6 lines)
  225.  
  226. Only tag is attached to packed music.
  227. Info is saved with music data files and
  228. it's also used as scrolltext with Save
  229. Executable.
  230.  
  231. Extra spaces are skipped when scrolling
  232. the text. (The scroller routine hangs if
  233. there's no text at all. I won't fix this
  234. because it's a good punishment for not
  235. writing a scrolltext)
  236.  
  237. Loop position is entered after a zero:
  238.  
  239. 00 Loop at position 08
  240. 08
  241.  
  242.  
  243.  
  244. --- BLOCK COMMANDS ---------------------
  245.  
  246. Shift+1st letter to enter command in
  247. block command column.
  248.  
  249. Brk Block break
  250.  
  251. End Block end
  252. (used internally by the player
  253. and can't be changed/removed)
  254.  
  255. Tmp 0C Set tempo (06-FF)
  256.  
  257. Flt 00 Set filter cutoff base value
  258. (this is added to cutoff values
  259. read from sound table)
  260.  
  261. Ini 00 Initialize modulation
  262. (used with both vibrato and
  263. slide, vibrato width 00-02)
  264.  
  265. Mod 01 Select channel for modulation
  266. (channel number 01-03)
  267.  
  268. Off 01 Stop modulating channel
  269. (channel number 01-03)
  270.  
  271. Vib 02 Set vibrato rate or stop slide
  272. (01-04, 00 stops slide without
  273. resetting frequency)
  274.  
  275. Sli 00 Start pitch slide
  276. (00-7F up, FF-80 down)
  277.  
  278.  
  279. There is only one modulator which can be
  280. either vibrato or slide.
  281.  
  282. You can modulate more than one channel
  283. at the same time, but all channels use
  284. the same modulation settings.
  285.  
  286.  
  287. Here's an example of using vibrato:
  288.  
  289. Ini 00 Initialize, small vibrato width
  290. Mod 03 Select channel 3 modulation
  291. ---
  292. --- (any number of steps, vibrato
  293. --- is not yet activated)
  294. ---
  295. Vib 02 Start vibrato at rate 02
  296. ---
  297. --- (any number of steps, vibrato
  298. --- continues)
  299. ---
  300. Off 03 Stop vibrato on channel 3
  301. Vib 00 Vibrato off (saves cpu time :)
  302. ---
  303. ---
  304.  
  305.  
  306. There's also a simplified way but then
  307. you never know at which point of sine
  308. wave the modulation is started:
  309.  
  310. Ini 01 Just initialize vibrato width
  311. Vib 02 and rate at start of song
  312. ---
  313. --- (let the song go on)
  314.  
  315. Then whenever you need it:
  316. ---
  317. Mod 01 Start vibrato on channel 1
  318. ---
  319. --- (any number of steps, vibrato
  320. --- continues)
  321. ---
  322. Off 01 Stop vibrato on channel 1
  323. ---
  324. ---
  325.  
  326.  
  327. Here's an example of using pitch slide:
  328.  
  329. Ini 00 Initialize modulation
  330. Mod 03 Select channel 3 modulation
  331. ---
  332. ---
  333. --- (again, slide is not
  334. --- yet activated)
  335. ---
  336. Sli 10 Start sliding, speed 10
  337. ---
  338. --- (slide continues)
  339. ---
  340. ---
  341. Off 03 Stop modulating channel 3
  342. ---
  343. ---
  344.  
  345. Command Off also resets frequency to the
  346. original note.
  347.  
  348. Alternatively, you can use the command
  349. Vib 00 to stop sliding - The reached
  350. frequency is then kept.
  351.  
  352. Don't forget to stop modulating (Off 03)
  353. the channel before trigging a new note.
  354.  
  355.  
  356.  
  357. --- NOTES ------------------------------
  358.  
  359. - In case of emergency hit run/stop and
  360. restore and type sys2061 or sys16384
  361. (or sys4^7) to restart the editor
  362.  
  363. - The player uses $0D zeropage locations
  364. which are $40-$4C by default
  365.  
  366.  
  367. John Player Editor Version 2.0 Beta
  368. (c)2002 by Aleksi Eeben (aleksi@cncd.fi)
  369. http://www.cncd.fi/aeeben
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement