AY-3-8910/12 ZX Spectrum Sound Chip Emulator

AYM

The AYM format stores same music as AY-format. Original description of format describes CPC and ZX AY ports emulation only. But AY Emulator additionally is emulating ZX beeper port. Before AY_Emul, AYM format was supporting only by one program is RDOSPLAY (OPL2/OPL3 chip music player).

Roman Dolejsi ([email protected]) designed the AYM format. Next is slightly edited text from RDOSPLAY.TXT.

-------Begin----------

name	size	pos	info
'AYM0'	dword	00	identifier (AY Music, format revision 0)
name	db 28	04	music name
author	db 16	20	music author name
init	word	30	music init entry (A = music number)
play	word	32	interrupt player entry
musmin	byte	34	min music number
musmax	byte	35	max music number (musmax - musmin = number of musics)
muspos	byte	36	starting music number
regpos	byte	37	reg in which musnum is stored when entering init (00-0B)
AFreg	word	38	AF register before entering init routine
BCreg	word	3A	BC register
DEreg	word	3C	DE register
HLreg	word	3E	HL register
IXreg	word	40	IX register
IYreg	word	42	IY register
blocks	byte	44	number of memory blocks

from pos 45h, rest of the file contains memory blocks each carrying this:
begin	word	b+00	where in the memory this block begins (64k addr space)
size	word	b+02	how long is this block
bdata	[size]	b+04	block of Z80 music code data for AY-3-8910 (currently for ZX128 envir.: FFFD=Ctrl, BFFD=Data, and for Amstrad CPC envir.: F6=Switch, F4=Ctrl/Data)

-------End----------