Sound driver: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
m (3 revisions: Import from wikkii)
mNo edit summary
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.


= Music =
= CDDA =


Tracker format ?
[[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.


= Sound effects =
= Driver characteristics =


Channel looping for samples in ADPCM-A, SSG for simple sounds...
==Makoto V3==
Has a 64 byte command FIFO.


= CDDA =
*Command 7: Play music in following byte
*Command A: Fade, speed in following byte


[[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.
Command type translation table at $4FAF.
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.
*0: Ignore
*1: Special command
*2: ?
*3: ?
*4: ?
*5: ?


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

Revision as of 05:39, 17 November 2011

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

Driver characteristics

Makoto V3

Has a 64 byte command FIFO.

  • Command 7: Play music in following byte
  • Command A: Fade, speed in following byte

Command type translation table at $4FAF.

  • 0: Ignore
  • 1: Special command
  • 2: ?
  • 3: ?
  • 4: ?
  • 5: ?