-----------------------------------------------------------------------------
Manual of TEE co.(TM) MD tracker version 0.3a
-----------------------------------------------------------------------------

THIS IS AN ALPHA VERSION - IT HAS LOTS OF STUFF MISSING !!! REASON - THE
AUTHOR OF THIS TRACKER IS A DAMN LAZY-ASS WHO JUST CAN'T STOP PLAYING HIS 
DREAMCAST WHICH HE HAD WAITED FOR THREE AND A HALF MONTHS !!! HE IS PLAYING
IT NIGHTS AND DAYS... SEVERAL DAYS IN A ROW... NO TIME FOR CODING... !!!

To be totally honest, it is just a MIDI tracker made in QB45, but it is
intended to make music for MD/Genny, or MIDI music for some QB45 game. FM+
PCM+PSG sound only available when I write Z80 module player, and get 128 MIDI
instruments, in FM flavor. I'll start coding the Z80 module player as soon as
all you musicians are satisfied with this tracker.

This tracker can do (and more if you want) :

5 channels of FM, in STEREO
3 channels of PSG, tones only
2 channels of PCM, no effects, on one track
256 patterns on each track
256 orders (separate on each track)
255 effects (few used at the moment)
5 effects per row


-----------------------------------------------------------------------------
What do YOU have to do
-----------------------------------------------------------------------------

You now play the role of me, if you find bug(s) YOU MUST INFORM ME 
IMMEDIATELY, and describe the problem in as much detail as possible. Any
criticism highly appreciated, I especially love to hear bad stuff, so I can
make this better (and take away the reason you said that, hahahaaaa) !!!
Also, making music is not a bad idea either... but please don't make very
serious stuff as this tracker will not stay like so, and I'm pretty sure
you'll end up rearranging effects when the final version gets available.


-----------------------------------------------------------------------------
What you need to run this tracker
-----------------------------------------------------------------------------

Ideally you should have a PC that has this stuff in it:

386SX @ 25MHz
166KB of conventional memory
512KB of XMS memory
MS-DOS 6.2 (less will probably do too)
Sound card with MPU-401 UART which has General-MIDI synth attached to it.
At least 103 key keyboard
Mouse with a driver
Last but not least, VGA or MCGA

The CPU can't be less than 386 as this program uses 386+ instructions in
XMS routines, if I cut out XMS, you could use even 8086. The newer the CPU,
the better, I myself have 1111MHz Celeron, overclocked by incresing FSB...

If you have less than 166KB of conventional memory, then be prepared for
system crash (IF you're in MS-DOS), this is very bizarre behaviour... it
SHOULDN'T crash, but maybe the use of QB45's lower level memory handling
instructions (that are used to dramatically speed up my program) cause it...

If you have no XMS, you will not be able to run this at all, XMS is used
to store patterns. I know that XMS is an issue on XP, but it can be easily
solved by enabling it in memory tab under program properties.

I use Win98SE, but as far I have tested, this program runs with minor input
issues under XP too. XP is, however, not meant to run DOS programs...

As said before, this thing works on MIDI, and to get sound, you need a
sound card that has MPU-401 in it, an onboard hardware wavetable (or
software wavetable like my Yamaha YMF719 has, it is EXCELLENT, but no
option to load DLS or SoundFonts) or a MIDI synthesizer attached to it.
But unfortunately, MIDI from DOS program under XP will not sound too good
as XP has trouble running itself when DOS program runs, not to talk about
MIDI emulator (which XP tends to use... very shitty in my opinion).

Keyboard and mouse are definately needed. While most of the things work
with keyboard AND mouse, there are some things that work only with mouse.
In pure DOS, you need to load a mouse driver (under Win, it is automatically
provided). But in pure DOS, the mouse driver (CuteMouse) which I used messed
up the keyboard input...

You need a video card that can display text @ 80x50, colors recommended.
No need to worry, as every card that is not 25 years old can do it :)

MIDIINST.TXT is required too, it contains the names of all MIDI instruments.
If you mess with this file (i.e translate it) make sure all lines are exactly
22 bytes (20 bytes for name, 2 bytes for CarriageReturn and LineFeed) or else
you'll get messed up texts !!!


-----------------------------------------------------------------------------
Program itself
-----------------------------------------------------------------------------

If you start up the program, you'll be presented with either an error, or a
FILE screen where you can save/load/edit file properties...

Reverb is only available on PC (IF your MIDI(soft)synth can do it), and on
PCM channel on MD (drum samples are recorded with max reverb).



Patterns/Orders is the place where you make music. Keys to do so are:

Arrow keys/Page up/Page down/Home/End - Move around

Tab - Switch between pattern or order table

Shift+Up/Down/Page up/Page pown/Home/End - Selections
 Shift+Insert or Control+V - Paste
 Shift+Delete or Control+X - Cut
 Control+Insert or Control+C - Copy

Delete - Delets something pointed by cursor or a selection in a pattern

0123456789ABCDEF - Enters hex numbers

Control+123456789 - Mute/unmute individual channels
Control+~ - Unmute all channels
Control+0 - Invert mutes/unmutes on all channels

Space - Play from current position

Control+Space - Play from the beginning

+ (on keypad) - Increase octave

- (on keypad) - Decrease octave

F1  - Help
F2  - Patterns/Orders
F3  - File
F4  - Options
F5  - Play
F6  - Pause
F7  - Play from start
F8  - Pattern looping
F9  - Previous order
F10 - Next order
F11 - Decrease song lenght
F12 - Increase song lenght

A and 1 - Note Off

All others do nothing or make sound( ZSXDCVGBHNJM<L>:?Q2W3ER5T6Y7U9IO0P[=] )


Options is for various options (missing at the moment)...
Help is extensive help (missing at the moment)...
About is little "what it is" screen.
Quit is something really unimaginable...


Global keyboard shortcuts are :

ESC - Show Quit screen, Y is for quitting in there.
ALT+F/P/O/H/A/Q - will take you to another screenful of stuff.


All not listed will operate with mouse only.



Important thing : Since version 0.2a, MD Tracker uses new TMF file format, 
old  format is still supported, but once you save, it'll be converted to new 
format (thus its size increases a little and it gets incompatible with MD 
tracker 0.1a).



-----------------------------------------------------------------------------
Making music
-----------------------------------------------------------------------------

It's really simple, just set up the start-up settings in File menu, then go 
to Patterns/Orders and start filling the tracks. There's 3 types of tracks :
FM, PCM and PSG. FM tracks are the most featured ones, each FM channel has
note field and effect code+value fields. You have 12 notes on 8 octaves, note
off and no note. You can have 255 effects, but in reality, only some of them
are used. PCM tracks are the least featured ones, just containing HEX number
of corresponding MIDI percussion. At the moment you have to accept default
instruments that I've put together... in future when options is finished,
you have option to set up your own set. You have 2 (!!!) PCM tracks, these
are achieved through software, as in reality MD can do only 1 PCM channel.
Lack of effects is simply because there's 2 channels and it is much more
difficult to mess with these on a 4MHz Z80 than with 1 channel. PSG channels
are little more featured than PCM channels, as you can change volume of any
of 3 channels. These are tone channels, noise is impossible to do with MIDI
and since you have 2 PCM tracks, there's no need for it (if you planned to
use noise for hat sounds). PSG has limited note range. One important thing
about the volume track : "0" is loudest and "F" is silence, "." is no change
in volume.


-----------------------------------------------------------------------------
Effects
-----------------------------------------------------------------------------

At the moment, there are lots of effects missing, and the effects present
will probably need to be rearranged (so the effect codes feel more "home").
You can have up to 255 effects (actually 256, but 0 is NO EFFECT, and WILL
STAY like so !!!). Here they are :

!!!!! WARNING, THIS BELOW IS NOT DONE YET... SEE EFFECTS FROM TMF.TXT !!!!!

00 - NO EFFECT (This will NOT change)
03 - Volume up by VALUE
04 - Volume down by VALUE

0B - Set pan position (on MD, values 00, 3F and FF are accepted)
0C - Set channel volume
0D - Jump to order pointed out by VALUE
0E - Change instrument
0F - Change speed (based on 50Hz)
10 - Change MIDI bank

EFFECTS WILL CHANGE CLOSER TO GENERAL ADLIB STANDARDS... I'LL PROVIDE
EFFECT CORRECTION UTILITY ONCE IT HAPPENS (NEXT VERSION).

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Slides are missing, Arpeggio is missing, lots of other stuff is missing...
You must tell me in detail how these should work and sound...
I also plan to add loop by VALUE amount of times... this will be a two part
effect, first part gives to loop start, and second loop end and loop count...


-----------------------------------------------------------------------------
History
-----------------------------------------------------------------------------

"+" Good, "-" Bad, "?" You decide


2007/07/xx - MD tracker 0.1a
* Initial release.

2007/08/12
+ Drastically improved keyboard input, works near perfect on all machines !!!
+ Added another test tune (I'm not good at those, help anyone ?)
+ Added some recordings of test tunes and other stuff.

2007/08/21
+ Added another test tune.
+ Started to add 3 PSG tone channels.
- XMS memory use increased (like it matters these days...)

2007/08/22
+ Added MIDI bank changing feature (request from Zable Fahr)

2007/08/23
+ Changed MIDI bank changing to use "coarse" instead of "fine"...
  I doubt that there's a MIDI device that has 16384 banks !!!
+ Added another test tune.

2007/08/26
- Uncommented code is having its revenge on me !!! Least my ASM code is not
  as uncommented as my QB code... I really need to start commenting...
+ Developed TMF 0.2 file format which supports PSG !!!
+ New ordertable with PSG works nicely, no trouble so far !!!

2007/08/27
- Adding PSG is lot tougher than I thought !!! Due to my trial-error code
  writing method, I'm running out of XMS all the time... such pain !!!
  It'll be worth the trouble... least I hope so...

2007/09/03
+ PSG note range is determined
+ PSG patterns are kind of starting to work.

2007/09/04
+ Notes are showing up in the PSG patterns !!!

2007/09/05
+ PSG near fully functional, must do some more work on the editing.

2007/09/07
- I got really sick... some flu I guess... I feel so bad and I can't get out
  of my bed... no coding happens...

2007/09/08
+ I feel better and plan to finish PSG today !!!
+ PSG is near finished, only TMF 0.2 saving/loading and some other tweaks
  must be done.
- Cut/Copy/Paste/Selections on PSG are terrible pains in my ass !!!


2007/08/09 - MD tracker 0.2a
* next release.

+ PSG finally complete. Released this...
- Tracker is still ALPHA !!!

Later that day :

- And after the release I discovered a feature... when loading a TMF 0.1 and
  you had something in PSG tracks, it stays there !!!
- Forgot to change version number in tracker itself !!!
+ All discovered things were fixed in around 1 minute !!!
- Memory use increased, but this time it is conventional memory not XMS.
+ Corrected minor incorrections in TMF.TXT .

2007/09/10
? Legal stuff is more accurate and meaner. Muhahahahaaa (sinister laugh) !!!

2007/09/13
+ Added possibility to mute channels.
+ Some function keys (F1...F12) do something now.
+ Got some info from Adlib Tracker II, I'll be adding arpeggio some time,
  and if I get some more info on slides, then these too.

2007/09/15
+ Some more function keys do something
+ Fixed a fatal module killer bug !!! If you loaded a file that doesn't
  exist(or you just made a typo) it loads the file, checks its lenght, and
  if it is 0 bytes says "No such file" and delets it. However, file loading
  routine didn't clear the error flag, and if file load was successful, the
  error flag wasn't changed and it deleted your file. I'm really sorry if it
  has happened to you. Now error flag is always cleared in the beginning so 
  this will never happen again !!!

2007/09/16
+ Fixed another minor bug.

2007/09/17
+ Fixed a shitload of bugs !!!
+ Fixed a typo in this file.
+ You can mute channels with mouse too (sometimes more convenient).
+ Added "play current patterns only".

2007/09/18
+ Added missing "," character into one of the keyboard input routines.
+ Made lots of other minor tweaks.
+ Got some PSG out of my Z80 module player !!! Still lots of work to do, but
  every big thing starts form little things :)

2007/09/20
+ PSG comes out from the Z80 module player nicely.
+ PCM comes out from the Z80 module player more nicely.
? Now I have to write the TFM file handling routines, FM stuff, sound effect
  stuff (THIS IS GAME ORIENTATED) and some other things...

2007/09/24
- Long delay... cause : real life.
+ Did quite some work on the Z80 module player.

2007/09/25
+ Did lots of work on the Z80 module player.

2007/09/26
+ Did lots of work on the Z80 module player. Basically, TFM file handling
  routines are finished, BUT not tested yet. I think I'll be having endless
  hours of fun with the newly finished routines !!!
? I HATE Z80 !!!

2007/09/27
+ Worked out sample set system

2007/09/28
+ Came to a new idea how samples as sound effects would be played...

2007/09/29
+ New idea put into code, VERY efficient, and works well not only for SFX,
  but BGM aswell. Not tested yet...
? I would write more, BUT my bandmate has birthday, and I'm going there. Once
  I get back, I'll probably be too drunk to spend more time on this... but
  I'll give a try... I've never coded when I'm drunk ;)

2007/09/30
? Came home the next day... no hangover (as I drank only one kind of drinks)
  and I happily started to mess with this !!!
? I'm hungry...
+ After some tweaking, new sample playback method kicks ass !!!
- TMF file handling routines won't work...
- My PC PSU started to make REALLY weird sounds (fan issue ?)... I'd better
  fix it first...
+ PC fan replaced... no time for coding, real life got in the way...

2007/10/01
+ Fixed several bugs in TMF routines in Z80 module player. 
- still not working :(
+ After listening near half an hour of City Escape song from SA2, I finally
  found the problem : two values were swapped, so MSB and LSB were wrong
  causing pattern data to be loaded from no-one knows where.
+ Got everything working !!! PCM and PSG are playing correctly !!! Now I must
  start writing FM and effects part.
+ One effect (0D, Jump) supported on FM4 so that demo would sound correct...

2007/10/02
+ Did a hardware test, and everything works very good, much better than any
  emulator available !!!


2007/10/03 - MD tracker 0.3a
* next release.

+ Made nice progress finding/editing/making instruments for this. I have 6 of
  8 bass instruments... Have to write a instrument converter, as this will
  use lot different formats than available...
+ Finished instrument converter (TFI to TYI), I guess it'll work, but that
  SSG-EG in TFI bothers me...
+ Added current channel statuses into patterns/orders in MDT.
? Lowered the volume of PCM channels, so that it would sound as quiet as
  from the Z80 module player.
? Added TYI file information into TMF.TXT.
- Conventional memory use increased a little...
+ This will be the last ALPHA, other versions will be BETAs and better...
  and with most likely test ROM exporter, or even better, the cable thing !!!



-----------------------------------------------------------------------------
FAR, FAR, future plans
-----------------------------------------------------------------------------

* A cable between MD and PC so you'll hear all the sounds from your MD !!!
  (it requires me to finish most of the Z80 module player).
* IF everything works correctly and you want it - since this works on MIDI,
  TMF to MID exporting option. The other way could be figured out also.
* A file requester so you don't have to type in the file name.


-----------------------------------------------------------------------------
Help needed
-----------------------------------------------------------------------------

There is a need for test tunes, I'm not very good at those !!! 


-----------------------------------------------------------------------------
Thank yous (in alphabetical order)
-----------------------------------------------------------------------------

* Epicenter     - for doing quick tests on his XP machine.
* Nim           - for giving me nice ideas/suggestions/info.
* Shiru         - for providing me note freqency list so I could add PSG.
* Tulio Adriano - for BUGGING ME !!! And making me working on it (DC...).
* Zable Fahr    - for giving a shot on it and making a feature request.


-----------------------------------------------------------------------------
Legal stuff
-----------------------------------------------------------------------------

If MD tracker does something undesirable to/with something you have, I am NOT
responible for it !!! This software is provided as freeware which means you
are not allowed to sell this for any of profit. If you do sell it, all money 
you get must equal the amount you spent on buying the media (i.e Floppy disk, 
CD, DVD) to put MD tracker on, any extra is illegal, and if you (as buyer)
read this and find out that the guy who sold it got profit, sue that guy so
he never ever thinks of doing such stuff with freeware ever again !!! 
Also, you are not allowed to modify anything that came out form the original 
RAR archive !!!

I would be happy to recieve donations, I'm not asking any, but if you have 
something that you don't need, I will most likely have some use for it. If 
you want to donate me anything, please ask first... I'm very interested in
(non)working 16-bit+ Sega systems though... a broken MD sounds nice, then I
can remove its YM2612 and hook it up to my PC and can get real MD FM from it
and do some other nice things...

Everything in this RAR archive - Copyright 2006, 2007 Tiido Priimgi


-----------------------------------------------------------------------------
Contact information
-----------------------------------------------------------------------------

E-mail : tmeeco@hot.ee, tmeeco@gmail.com (preferred)

Snailmail :

Tiido Priimgi
Mahtra 25-6
Juuru vald 79401
Rapla maakond
Estonia

If you dev for MD/Genny, I'm there : http://www.spritesmind.net/_GenDev/forum

If you mess with FM synths then there too : http://www.soundshock.se/phpBB2

Direct download : http://www.hot.ee/tmeeco/DWNLOADS/MDTRK.RAR
(Straight from the manufacturer, latest version is always there)

Home page : http://www.hot.ee/tmeeco 
(Needs an update, MDT is not even featured along with my other stuff !!!)

-----------------------------------------------------------------------------

What can I say.... have fun with this alpha
