Documentation for Pulse Tracker v1.02a
Written by Fredrik "Eagle" Larsson

       ______     __    __    ___       _______    ________
      |     \\   | ||  | ||  |  ||     /  ____L|  |       ||
      |  ___ ||  | ||  | ||  |  ||    |  //       |   ____L|
      |  |_| ||  | ||  | ||  |  ||    |  LL___    |  ||
      |      ||  | ||  | ||  |  ||     \___  \\   |  |L__
      |  ___//   | ||  | ||  |  ||         \  ||  |   __L|
      | ||       | \\__/ ||  |  |L_    ____/  ||  |  |L____
      | ||       \       //  |    ||  |      //   |       ||
      |_L|        \_____//   |____L|  |_____//    |_______L|

 _________   ______     _____     ____   __    __   _______   ______
|        || |     \\   /    \\   /   || | ||  / L| |      || |     \\
|___  ___L| |  ___ || |  ___ || /  __L| | || / //  |   ___L| |  ___ ||
   |  ||    |  |_| || |  |_| || | //    | L|/ //   |  ||     |  |_| ||
   |  ||    |      || |      || | ||    |    //    |  |L_    |      ||
   |  ||    |    _//  |  __  || | ||    | __ \\    |   _L|   |    _//
   |  ||    | |\ \\   | || | || | \\__  | ||\ \\   |  |L___  | |\ \\
   |  ||    | ||\ \\  | || | || \    || | || \ \\  |      || | ||\ \\
   |__L|    |_L| \_\| |_L| |_L|  \___L| |_L|  \_L| |______L| |_L| \_\|

Table of contents:
-------------------------------------
Introduction
Alpha Version Warning

General Controls
Variable Editor *
Pattern Editor *
Order List Editor
Effects List
Instrument Editor (Arpeggios) *
Drum Editor
Effect Editor *
Saving and Loading *
Config *
Playing your Song *

System Requirements
FAQ
Troubleshooting *
Known Bugs
Sending Bug Reports
Community and Contact info
Example Songs and Archive *
Version History

APPENDIX A - Sound Duration Table
APPENDIX B - Pulse Dream Drum Preset Tables
APPENDIX C - Instruments+Effects Table

Copyright Notice

* = Has not yet been written.
-------------------------------------
Introduction

Welcome to a whole new world of beepie loveliness. Pulse Tracker is a Tracker software for your PC Speaker and DOS/Windows computer. Pulse Tracker is a powerful tool for the PC Speaker. In fact, I think it's unique. I've heard there are already few PC Speaker trackers out there, but those are sample-based. What we want here is a tracker which produces BEEPs, and _only_ BEEPS. But, wow, such wonderful beeps!

-------------------------------------
Alpha Version Warning!

Notice that this is an alpha version of Pulse Tracker. It's not a fully working release of Pulse Tracker but a possibly buggy and incomplete version of Pulse Tracker. If you find any bugs or issues not listed under the "Known Bugs" part of the manual, please contact me.

Here's a list of features missing with v1.02a:
Support for most effect slides, glissando, vibrato and play effects.
Effect Editor. If you try to access them, the program will prompt and go back to main menu.
No config, sorry, you'll have to live with sliders and Piano keyboard layout for now.

-------------------------------------
General Controls

The controls in Pulse Tracker are simple, yet a bit different. Everything is done entirelly using the alpha and numeric keys. No arrow keys, sorry.

As a result, it may take a while to get used to Pulse Tracker. However, to make it easier on you, the layout is kind of like this:

0 (Zero) is always used to close, go back, cancel and/or turning off.
1-9 Function keys, or values.
Q-P are menu selection buttons. If not, it will be explained.

 S D   G N
Z X C V B M are used as a piano style keyboard in the pattern editor.

O ("Ohh!") is used for reseting values in the pattern editor.

Moving in the pattern is a bit tricky, but still simple. Due to the lack of arrow key support you may use the following keys instead:
QWER

The keys are used like this:
 W
QER

This takes a while to get used to, but works. W moves the cursor up, E down. Q left and R right.

In some parts of the program, you may use the more conventional navigation method such as:
 W
ASD

-------------------------------------
Order List Editor

In the Order List Editor you edit in which order patterns are played. Instructions on how to use are all printed on the screen and it's mostly self-explanatory how to use. Each cell in the order list selects a pattern to play in sucsession. Default selected is 0 which doesn't correspond to any pattern. If the next cell contains a 0 it will mark the end of the song and the player stops.

A module can have 128 unique patterns and can be arranged in any order to a maximum of 256 successions. This amounts to a maximum of roughly 5 possible minutes of music in one module.

The Order List Editor screen:

1-8 changes displayed order lists. E edits selected order list.
Use AWSD to move selection. 0 exits back to main menu:
1. 1-32, 2. 33-64, 3. 65-96, 4. 97-128
5. 129-160, 6. 161-192, 7. 193-224, 8. 225-256

Position:      1            -            16
   1   2   3   4   5   6   7   8
   9  10  11  12  13  14  15  16
Position:      17           -            32
  17  18  19  20  21  22  23  24
  25  26   0   0   0   0   0   0


-------------------------------------
Effects List

As explained earlier in the Pattern Editor. The third column contains effect values. Here's a list over each effect as well as a bunch of explainations.

NOTE: The effects are similiar to those present in ProTracker, so you may find them similiar. This is intentional and will help experienced trackers to get used to Pulse Tracker.

1 = Transpose Up
2 = Transpose Down 
3-8 = Glissando Speed/Vibrato Depth*
9 = Random Noise
A = Switch Vibrato Form*
A* = Ping-Pong Effect*
B = Reverse Arpeggio
B* = Reverse Effect*
C = Pattern Break
D = Drum Repeat
D* = Effect Restart Repeat*
E = Decrease BPM
F = Increase BPM

1 - Transpose Up

When used with a regular note or a vibrato note, Transpose Up will cause the sound to slowly "glide up".

2 - Transpose Down

Just like Transpose Up, but in reverse. When used with a regular note or a vibrato note, Transpose Down will cause the sound to slowly "glide down".

3-8 = Glissando Speed/Vibrato Depth*

These effect values can only be used together with a glissando or vibrato note. When used with glissando, an 8 will cause the glissando to glide very fast while a value of 3 will cause the glissando to glide quite slowly.

9 = Random Noise

Random Noise is like it sounds, it generates a short random noise in the beginning of a note. This sounds a bit like the sound of when you hit a plexum against a guitar string. *PICK* *PICK* *PICK*

A = Switch Vibrato Form*

Can only be used with Vibrato. This effect switches between two modes which affects the behaviour of the vibrato. Default is Sine Vibrato Form.

Sine Vibrato Form: Default vibrato that gives a wavering sound.
Square Vibrato Form: Alternative vibrato form that goes directly from the lower depth waver to the upper depth.

A* = Ping-Pong Effect*

While conventionally, A is used for Switch Vibrato Form, when used in conjunction with an effect, it triggers a ping-pong effect. This means that once the effect reaches the target frequency, it bounces back to the original frequency and so forth. This can be used for siren sound effects.

B = Reverse Arpeggio

The Reverse Arpeggio effect causes the arpeggios to play in reverse order. This effect also works with drums* and the tri-octave instrument*.

B* = Reverse Effect*

When effect B is used in conjunction with an effect, it reverses the direction of the effect. In effect, this means that the effect goes from its target frequency to the start frequency instead of the other way around.

C = Pattern Break

This causes the pattern to end after the row where Pattern Break is placed.

D = Drum Repeat

Drum Repeat can only be used with drums and causes the drum to repeat the first 8 values in the drum. This can be used in various ways, so experiment.

D* = Effect Restart Repeat*

Much like Drum Repeat, the Effect Restart Repeat, when used in conjuction with an effect, restarts the effect over and over. The use of this can be multiple, so try experimenting.

E = Decrease BPM

Decreases the BPM (tempo) with 10. Minimum is 100. Any lower and the effect is ignored.

F = Increase BPM

Increases the BPM (tempo) with 10. Maximum is 190. Any higher and the effect is ignored.

* = NOTE: Not yet implemented in v1.02a.
-------------------------------------
Drum Editor

The Drum Editor is a tool that allows you to edit your drums through a practical interface. Look at the screen below for a quick explaination of the fields and buttons.

The Drum Editor Screen:

            Drum Values
___________/ ____________________
| 1000  Hz | | Drum Selected: 1 | <- The drum you are currently editing
|__________| |__________________|
| 1300  Hz | | Drum Value:    2 | <- The value you are currently editing
|__________| |__________________|
| 1500  Hz | | Type Val:  ##### | <- Field for typing in values.
|__________| |__________________|

Drum Sel Drum Pointer  Type
 - 1 +      - 1 +       _
(Q) (W)    (E) (R)     (T) <- Keys for selecting drums, values and typing.
|_| |_|    |_| |_|     |_|

   Drum Value          Play
 - 1 +    - 10 +        _
(A) (S)  (D)  (F)      (P) <- Change values and play selected drum.
|_| |_|  |_|  |_|      |_|

The left column contains the drum values. The drum (frequency) values are entered in Hz and each value is .1 ticks long. Since each value is used in just a split of a second, you have a lot of freedom to create vary specific sounds. However, it also means you'll need to experiment a lot to find a good sound. Some examples drums from Pulse Dream are included in Appendix C.

To enter a value, you have 3 options. The first and the easiest, is to press the "T" key and enter a possible value in the box. Possible values are in the range of 37-35767 Hz (though over 20000 would be inaudible). If you enter an impossible value, the editor will ignore it.

The second option is to press the A and S keys. This will increase or decrease the selected drum value with 1. This is good for quick fine-tunings.

The third and last option is just like the last one, however the D and F keys increase and decrease the selected value with 10 instead of 1, allowing for slightly faster editing with this method.

To select which drum to edit, just press Q or W to scroll around.

To select which value to edit, just press E or R. This will scroll up or down between the values.

For presets of good working drums, scroll down to Appendix C and the Drum Preset section and copy the values in this manual into Pulse Tracker.

NOTE: Future releases will allow you to save and load drums.

-------------------------------------
System Requirements

PC Speakers, PC Speaker emulation or compatible.
A 8086 CPU or compatible with at least 4Mhz.
DOS (Recommended) or Windows (May have problems with NT, 2000, XP and later).
At least 64kB of RAM.
A screen and a keyboard.

NOTE: On modern computers with Windows, MacOS or Linux, you may run Pulse Tracker in DOSBox. Install DOSBox and Drag-and-drop Pulse Tracker on it in Windows.

-------------------------------------
FAQ

Question: I'm running MacOS, Linux or some other none x86-DOS compatible system. How can I run Pulse Tracker under these environments?

Answer: The only solution I see right now is to download and install DOSBox and run Pulse Tracker under it. In Linux, it may be possible to run Pulse Tracker in WINE.

Question: I don't hear any sound in Pulse Tracker, what's wrong?

Answer: This can be due to many reasons. The most common being that you do not have a compatible PC Speaker (laptops often comes today with an incompatible piezo speaker) or simply don't have any at all. Another is that the PC Speaker may be mute (go to the sound control panel, click advanced and see if PC Speaker is available, enable it and demute it).

If both these methods fails, download DOSBox.

Question: SHIT! THIS PROGRAM IS FREAKING LOUD! HOW DO I TURN IT DOWN?!

Answer: Whoa! Sounds like you've gotten your ears a bit damaged. Unfortunatelly, this is not always possible, but on some computers, you can turn the PC Speaker down with a knob inside or on the side of the PC case. On some others, you can actually adjust the volume of the PC Speaker in the sound control panel (must be enabled in the advanced menu). On some computers, neither of these are available. Sadly, the only solution is to download DOSBox or other software emulation. Either that, or risk damage your ears... Your choice.

Question: Why does the song plays faster or slower on some computers or otherwise glitch with the playback speed?

Answer: I'm not sure why, but future releases (probably with the first beta) will allow you to adjust the playback speed a bit to compensate for speed inaccuracies. Check the Sound Duration Table (found in Appendix A below) for calculated BPM data and compare to a beat-steady device or e.g. other trackers.

Question: Can I change the keyboard layout?

Answer: Not currently, but future releases might support customisable keyboard layouts.

Question: Why can't I use a mouse?

Answer: This is a feature I'd gladly implement, but unfortunatelly the BASIC compiler I use doesn't support it.

-------------------------------------
Known Bugs

* Instrument selector does not work.
* Editing the comments in the comment editor forces you to rewrite each line.
* If you have no songs in the Pulse folder, the program crashes.

Known Issues


* Key layout is quite problematic.
* Sound duration (playback speed) vary between computers.
* There's currently no pattern row high-lighting.
* The interface is clusmy in various sections (improvements are being planned).

-------------------------------------
Sending Bug Reports

Before sending any bug reports, please read the Known Bugs section, the FAQ, the Troubleshooter and the Alpha warning so you don't send me a report about a bug that is already known.

To send a Bug Report, send an e-mail to:
fredrik.larsson1989@hotmail.com

I will reply personally. And if the bug is confirmed, I will fix it or put it in Known Bugs/Issues.

-------------------------------------
Community and Contact Info

Contact info:

Website: http://jackdawinteractive.com
e-mail: fredrik.larsson1989@hotmail.com

-= PDM Archive =-

I keep an archive of .PDM music. If you have a song, don't hesitate to send me it by mail. Also, if you want it to be added to the PDM public music package, please state so in your e-mail. Archived songs will be available through the website to everyone.

-------------------------------------
Version History

* Version 1.00a
- First public alpha release.

* Version 1.01a
- Drum Support and Editor Fixed.
- Included PDM100a-to-PDM101a converter (file format revised).
- Portamento Up and Down implemented.
- Pattern Break implemented.
- Optimised PDM format. Size went from 18.5kB to 15.5kB.

* Version 1.02a
- Arpeggio support and Editor is now available.
- Double order list length.
- Reverse arpeggio now works.
- BPM increase, decrease and start BPM is now working.
- Improved and simplified Order List Editor.
- Random Noise is now working.
- Load and Save screens now prompts a reconfirmation.
- Load and Save routines have been optimised.
- Octave selected is finally visible.
- You can now write song comments!
- Minor bug fixes.


_____________________________________
#####################################
# APPENDIXES                        #
#####################################
-------------------------------------
APPENDIX A - Sound Duration Table
_________________________________________
| BPM | DUR | ARP Part          |Act BPM|
|-----+-----+-------------------+-------|
| 100 | 2,7 | 1/4 0,7 + 4th 0,6 | 101,1 |
| 110 | 2,5 | 1/4 0,6 + 4th 0,7 | 109,2 |
| 120 | 2,3 | 1/4 0,6 + 4th 0,5 | 118,7 |
| 130*| 2,1 | 1/4 0,5 + 4th 0,6 | 130   |
| 140 | 2,0 | 1/4 0,5           | 136,5 |
| 150 | 1,8 | 1/4 0,4 + 4th 0,6 | 151,7 |
| 160 | 1,7 | 1/4 0,4 + 4th 0,5 | 160,6 |
| 170 | 1,6 | 1/4 0,4           | 170,6 |
| 180 | 1,5 | 1/4 0,4 + 4th 0,3 | 182   |
| 190 | 1,4 | 1/4 0,3 + 4th 0,4 | 195   |
| 200 | 1,4 | 1/4 0,3 + 4th 0,4 | 195   |
|_____|_____|___________________|_______|

* = Default

The BPM column contains the BPM value visual in
the pattern editor (or elsewhere in the tracker).

The DUR column contains the amount of ticks
(18.2 ticks/sec) used for each pattern row.
(In speed 1, each row = 1/16 note.)

The ARP Part column contains the amount of ticks
used for each BPM value. The 4th means the 4th
arpeggio note.

Act BPM shows the actual BPM. Since the timing precision
is not perfect, the BPM values you normally see are
aproximations. The default BPM is exactly 130 BPM, though.

** NOTE: The amounts of ticks shifts between computer.
The BPM is actually true only on an old 8086. On new
computers, expect there to be a fault of upto +/- 30%.
Future versions will contain methods of tweaking the
playback of your tunes. Compare with a device with
exact playback of BPMs to measure the timing fault.

In DOSBox, the BPM has been noted to be fairly
exact so you may use it for comparissions.

-------------------------------------
APPENDIX B - Pulse Dream Drum Preset Tables

These are tables of values taken from Pulse Dream. Yes, that's
right, you can use the sounds of the drums in Pulse Dream!

Pulse Dream Bass Drum (Q)
_______________
|01| 150   Hz |
|02|-140   Hz-|
|03| 130   Hz |
|04|-120   Hz-|
|05| 110   Hz |
|06|-100   Hz-|
|07| 90    Hz |
|08|-80    Hz-|
|09| 70    Hz |
|10|-60    Hz-|
|11| 50    Hz |
|12|-50    Hz-|
|13| 49    Hz |
|14|-49    Hz-|
|15| 48    Hz |
|16|-48    Hz-|
|17| 47    Hz |
|18|-47    Hz-|
|19| 46    Hz |
|20|-46    Hz-|
|21| 45    Hz |
|22|-45    Hz-|
|23| 44    Hz |
|24|-44    Hz-|
|25| 43    Hz |
|26|-43    Hz-|
|27| 42    Hz |
|28|-42    Hz-|
|29| 41    Hz |
|30|-40    Hz-|
|__|__________|

Pulse Dream Snare (W)
_______________
|01| 300   Hz |
|02|-300   Hz-|
|03| 300   Hz |
|04|-200   Hz-|
|05| 200   Hz |
|06|-200   Hz-|
|07| 100   Hz |
|08|-100   Hz-|
|09| 100   Hz |
|10|-200   Hz-|
|11| 200   Hz |
|12|-200   Hz-|
|13| 170   Hz |
|14|-170   Hz-|
|15| 170   Hz |
|16|-130   Hz-|
|17| 130   Hz |
|18|-130   Hz-|
|19| 120   Hz |
|20|-120   Hz-|
|21| 110   Hz |
|22|-110   Hz-|
|23| 100   Hz |
|24|-100   Hz-|
|25| 50    Hz |
|26|-100   Hz-|
|27| 50    Hz |
|28|-100   Hz-|
|29| 50    Hz |
|30|-50    Hz-|
|__|__________|

Pulse Dream Pedal Hi-Hat (E)
_______________
|01| 1000  Hz |
|02|-1200  Hz-|
|03| 1300  Hz |
|04|-1500  Hz-|
|05| 1000  Hz |
|06|-1500  Hz-|
|07| 1300  Hz |
|08|-1000  Hz-|
|09| 1000  Hz |
|10|-1000  Hz-|
|11| 1000  Hz |
|12|-1000  Hz-|
|13| 1000  Hz |
|14|-1000  Hz-|
|15| 500   Hz |
|16|-1000  Hz-|
|17| 500   Hz |
|18|-1000  Hz-|
|19| 500   Hz |
|20|-1000  Hz-|
|21| 500   Hz |
|22|-500   Hz-|
|23| 500   Hz |
|24|-500   Hz-|
|25| 500   Hz |
|26|-500   Hz-|
|27| 500   Hz |
|28|-500   Hz-|
|29| 500   Hz |
|30|-500   Hz-|
|__|__________|

Pulse Dream Cymbal (R - Clipped)
_______________
|01| 1000  Hz |
|02|-1000  Hz-|
|03| 1000  Hz |
|04|-1000  Hz-|
|05| 1000  Hz |
|06|-40    Hz-|
|07| 40    Hz |
|08|-40    Hz-|
|09| 40    Hz |
|10|-40    Hz-|
|11| 1000  Hz |
|12|-1000  Hz-|
|13| 1000  Hz |
|14|-1000  Hz-|
|15| 1000  Hz |
|16|-50    Hz-|
|17| 50    Hz |
|18|-50    Hz-|
|19| 50    Hz |
|20|-50    Hz-|
|21| 50    Hz |
|22|-50    Hz-|
|23| 50    Hz |
|24|-50    Hz-|
|25| 50    Hz |
|26|-990   Hz-|
|27| 990   Hz |
|28|-990   Hz-|
|29| 990   Hz |
|30|-990   Hz-|
|31| 980   Hz |
|32|-980   Hz-|
|33| 980   Hz |
|34|-980   Hz-|
|35| 980   Hz |
|36|-980   Hz-|
|37| 980   Hz |
|38|-980   Hz-|
|39| 980   Hz |
|40|-980   Hz-|
|41| 60    Hz |
|42|-60    Hz-|
|43| 60    Hz |
|44|-60    Hz-|
|45| 60    Hz |
|46|-60    Hz-|
|47| 60    Hz |
|48|-60    Hz-|
|49| 60    Hz |
|50|-60    Hz-|
|51| 960   Hz |
|52|-960   Hz-|
|53| 960   Hz |
|54|-960   Hz-|
|55| 960   Hz |
|56|-960   Hz-|
|57| 960   Hz |
|58|-960   Hz-|
|59| 960   Hz |
|60|-960   Hz-|
|61| 70    Hz |
|62|-70    Hz-|
|63| 70    Hz |
|64|-70    Hz-|
|__|__________|

Pulse Dream Hi-Hat (W)
_______________
|01| 4140  Hz |
|02|-4140  Hz-|
|03| 4100  Hz |
|04|-4100  Hz-|
|05| 4040  Hz |
|06|-4040  Hz-|
|07| 4060  Hz |
|08|-4060  Hz-|
|09| 4100  Hz |
|10|-4100  Hz-|
|11| 4000  Hz |
|12|-2000  Hz-|
|13| 4000  Hz |
|14|-2000  Hz-|
|15| 2000  Hz |
|16|-3900  Hz-|
|17| 3900  Hz |
|18|-1800  Hz-|
|19| 1800  Hz |
|20|-3900  Hz-|
|21| 3900  Hz |
|22|-1800  Hz-|
|23| 1800  Hz |
|24|-1800  Hz-|
|25| 3900  Hz |
|26|-3900  Hz-|
|27| 1800  Hz |
|28|-1600  Hz-|
|29| 1500  Hz |
|30|-1000  Hz-|
|__|__________|

-------------------------------------
APPENDIX C - Instruments+Effects Table

This is a simple look-up quick reference to see what effect
works with what instrument. Simply look on the column with
the number of the instrument you want to use and then look
on the row of the effect you want to use with the instrument.
If the coordinate is marked with an X, it means the combination
do work and you can apply it in the tracker.


           Instrument
 ___________________________________
 |#|0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|
 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
 |0|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X| 
 |1|X|X|X| | | | | | | | | | | | |X|
 |2|X|X|X| | | | | | | | | | | | |X|
 |3| |X|X| | | | | | | | | | | | | |
 |4| |X|X| | | | | | | | | | | | | |
E|5| |X|X| | | | | | | | | | | | | |
f|6| |X|X| | | | | | | | | | | | | |
f|7| |X|X| | | | | | | | | | | | | |
e|8| |X|X| | | | | | | | | | | | | |
c|9|X|X|X|X|X|X|X|X|X|X|X| | | | |X|
t|A| | |X| | | | | | | | |X|X|X|X| |
 |B| | | |X|X|X|X| | | | |X|X|X|X|X|
 |C|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|
 |D| | | | | | | |X|X|X|X|X|X|X|X| |
 |E|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X| 
 |F|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X| 
 |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|

-------------------------------------
Pulse and Pulse Tracker are copyright (c) Fredrik Larsson 2006-2007, 2012
This manual is copyright (c) Fredrik Larsson 2007,2012