Sound driver: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
m (fix link to Universe BIOS)
m (Changed MV1C to MV1B as 1C has SM1)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
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.
Sound drivers are the [[Z80]] programs, which are in charge of playing music and sounds through the {{Chipname|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).
They're contained in the M1 ROMs or in the Z80 files, on MVS systems (except on {{PCB|MV1B}}) 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.
The [[Universe BIOS]] has a jukebox function that uses a database of music commands for every game.


= Command buffer =
=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.
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.
Line 11: Line 11:
For example, the [[Sound_drivers_list|Mr.Noric 3.0 driver]] has a 64 entry FIFO memory which loops back if full.
For example, the [[Sound_drivers_list|Mr.Noric 3.0 driver]] has a 64 entry FIFO memory which loops back if full.


= CDDA =
=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]] 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.
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.


[[Category:Audio system]]
[[Category:Audio system]]

Latest revision as of 15:00, 26 January 2018

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 MV1B) 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.