Sound driver: Difference between revisions
No edit summary |
m (fix link to Universe BIOS) |
||
Line 3: | Line 3: | ||
They're contained in the M1 ROMs or in the Z80 files, on MVS systems (except on [[MV1C]]) an embedded driver named [[SM1]] is used for testing. In games, they hold the music and sample player code, as well as "tracker music" type data (sometimes banked). | They're contained in the M1 ROMs or in the Z80 files, on MVS systems (except on [[MV1C]]) an embedded driver named [[SM1]] is used for testing. In games, they hold the music and sample player code, as well as "tracker music" type data (sometimes banked). | ||
The [[ | The [[Universe BIOS]] has a jukebox function that uses a database of music commands for every game. | ||
= Command buffer = | = Command buffer = |
Revision as of 21:04, 26 October 2014
Sound drivers are the Z80 programs, which are in charge of playing music and sounds through the YM2610 according to short commands issued by the 68k CPU.
They're contained in the M1 ROMs or in the Z80 files, on MVS systems (except on MV1C) an embedded driver named SM1 is used for testing. In games, they hold the music and sample player code, as well as "tracker music" type data (sometimes banked).
The Universe BIOS has a jukebox function that uses a database of music commands for every game.
Command buffer
As there is no hardware FIFO buffer for sound commands between the 68k and Z80 CPU, the drivers themselves have to implement one in software to make sure no commands are skipped if sent too fast.
For example, the Mr.Noric 3.0 driver has a 64 entry FIFO memory which loops back if full.
CDDA
CDDA tracks playback isn't directly initiated by the Z80, but depending on games, the command and track number can come from the Z80's RAM. CDDA capable drivers can contain a table to map each sound command to a type (CDDA or synthesized), allowing for sound effects to be played by the YM2610 and the music directly from the CD.