Micro ST - a SNDH-files player for Windows and Linux.
Beta version 10 from 11-19-17.
(c)2001-2017 S.V. Bulba.

The version features:

Emulating sound chips:	YM2149F, Atari STe DMA-Sound
Emulating MC68000:	Starscream 680x0 emulation library by Neill Corlett
			(corlett@elwha.nrrc.ncsu.edu)
Atari ST emulation:	YM2149, DMA-Sound and MFP ports are supported, some GEMDOS functions
YM channels allocation:	ABC-stereo/Mono
YM clock frequency:	User defined
MC68000 clock frequency:User defined
MFP clock frequency:	User defined
VBL period:		SNDH/User defined
Seek bar:		present
SNDH files:		SNDH/SNDH v2.1, uncompressed or compressed with PACK-ICE
MUS files:		header format:+0 - init, +6 - play VBL
Drag'n'Drop support:	yes
Command line support:	yes (including passing parameters to first instance)
Sound mode:		44100 Hz, 16 bit, stereo

Send any comments to Sergey Bulba, svbulba@gmail.com
Visit http://bulba.untergrund.net/ for the latest version and other AY/YM
programs.

Note:
- Command line using

             MicroST[.exe] [FileName]

  for start playing from command line. For playing SNDH and MUS files by
  double-clicking in Windows Explorer, Far Manager, Double Commander, etc, you
  must manually register files with extension .SND, .SNDH and .MUS in system
  registry (Windows), MIME-types (Linux) or file association option of your file
  manager.

- You can drug and drop file to main window of Micro ST to play it.

- "Starscream 680x0 emulation library by Neill Corlett" is used for
  MC68000 emulation.

- YM ports (from FF8800 to FF88FF) are emulated by next scheme.

  a) if (address and 3 = 0) then written data is register number
  b) if (address and 3 = 0) then readen data is current register value
  c) if (address and 3 = 2) then written data is current register new value

  If you see errors in described port interpretation, please, report me.

  Officially Atari ST has only two ports for YM2149: FF8800 and FF8802. And
  new Atari ST compatible computers support only these two ports, so some SNDHs
  can't be played correctly on such machines.

- MFP ports (from FFFA00 to FFFA2F) are not completely emulated: only timers and
  only in delay mode.

- Timers can generate five interrupts:
  a) VBL:
     level 4, autovectored
  b) Timer A
     level 6, vector xD
  c) Timer B
     level 6, vector x8
  d) Timer C
     level 6, vector x5
  e) Timer D
     level 6, vector x4
  where x is MFP user defined vector high 4 bits.

  If you see errors, please, report to me.

- Atari ST memory size is selected from 512K, 1024M, 2048M or 4096M (due
  unpacked SNDH size) and is allocated from 000000 address, all RAM. In Atari
  STe mode minimal memory size is 1024M.

- DMA-Sound of Atari STe only (no Falcon extra features), used simplified
  upsampling to YM2149 internal frequency (external clock frequency / 8). You
  can select Atari ST mode to turn off DMA-Sound emulation (usefull if you want
  hear YM-version of digital music (Quartet player feature, for example).

- Microwire Controller is just simulated (because some players awaiting shifting
  and can deadlock without it), volume/bass/treble/mixer all are fixed

Thanks to:
- Neill Corlett. Your MC68000 emulation is very cool!
- Sledge Hammer of Grinder. Thank you for MUS-files, sources, techinfo and other
  about Atari ST.
- Phil Graham for SNDH v2.1 header format description.
- Carsten Elton Sørensen for quick bug-fix of Starscream v0.27a->b

Links:
- Micro ST supporting site http://bulba.untergrund.net/
- Micro ST author Sergey Bulba, svbulba@gmail.com
- SNDH v2.x support site http://sndh.atari.org/

Sources:
- You can download sources of Micro ST at http:/bulba.untergrund.net/. Feel free
  to report me about all my errors.

Appendix:
- Several SNDHs from stsound and sndh v2.x sites.
- MUS-files, which are sent to me by Sledge Hammer.
