Player for Yamaha YM chip tunes.
From Anton Javorček :
For a long time I could not get any more detailed descriptions of the YM formats, especially the older versions but I thought since YM2, YM3 and YM3B do not support samples and special effects they could easily be played on Sam's SAA1099 .
Well it was not that simple either. Without support for envelopes - it was working pretty well, but implementing the envelope support was tricky especially when I did not know exactly how it works in the SAA. After a few experiments and mistakes, studying the datasheets and persevering it is finally here.
When it was working pretty well, I got hold of StSound's source code and although I already knew that the DigiDrum samples can be used in YM2 files (I had the samples) I'd have to rework the whole thing to support samples and that will take some time, so the attached version is lacking support for samples and special effects.
Files with valid headers for YM2, YM3, YM3b, YM4, YM5, and YM6 formats are supported (even YM1, but it does not exist, I just assumed it.)
Note: There are two YM files that are not supported on the attached disk which are in formats MIX1 and YMT, see the following page for details.
YM files are supported for loading in both unpacked or packed (using LHArc) formats.
Cursor keys = move around the directory files
Return = Confirm the selected file for LOAD.
D = Change current drive 1/2. When changing to non-existent drive or drive without a floppy disk inserted the directory will be overwritten without error reporting. I did not catch that :(
U = Swap Master / Slave HDD. Only applicable for B-DOS and HDD in the right hand drive slot.
Plus / Minus = change the current RECORD on the HDD. Only BDOS and HDD in the right hand slot.
Atom-Lite in the left hand slot and Trinity Ethernet interface are not currently supported. But the program should load from these devices with partial functionality (i.e no support for changing RECORD or selecting Master / Slave).
ESC = return to Loading Screen
Cursor left = Rewind
Cursor right = Forward
Spacebar = Pause
P = Player frequency: 50/100/200 Hz
H = Hardware: Atari ST / ZX Spectrum / Amstrad CPC
V = Volume: Logarithmic / Linear
A = Channel A: On / Off
B = Channel B: On / Off
C = Channel C: On / Off