YM2610: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
(One intermediate revision by the same user not shown)
Line 1: Line 1:
[[File:Cd2_ym2610.jpg|thumb|300px|right|YM2610 chip]]
[[File:Cd2_ym2610.jpg|thumb|300px|right|YM2610 chip]]


The YM2610 is a sound synthesis chip made by Yamaha, used in every of the NeoGeo's hardware versions.
The YM2610 is a sound synthesis chip made by Yamaha, used in every versions of the NeoGeo hardware.
It was merged with the [[Z80]], the [[YM3016]] and the Z80 memory controler in the [[NEO-YSA]] chip on late revisions of the NeoGeo CD and CDZ.
It was merged with the Z80 memory controlers in the [[NEO-YSA]] chip on some versions of the NeoGeo CD and CDZ.


Its analog outputs only sound generated by the SSG. The FM and ADPCM parts use an external [[YM3016]] DAC.
The chip's analog outputs were only able to output sound by the SSG. The FM and ADPCM sounds were sent digitally to the [[YM3016]] DAC.


== Communication ==
== Communication ==
Line 11: Line 11:
They're respectively linked to the Z80's ports 4, 5, 6 and 7.
They're respectively linked to the Z80's ports 4, 5, 6 and 7.


* Port A (Z80 ports 4 and 5) concerns the SSG, ADPCM-B and FM channels 1 and 2.
* Port A (Z80 ports 4 and 5) concerns the SSG, ADPCM-B, and FM channels 1 and 2.
* Port B (Z80 ports 6 and 7) concerns the ADPCM-A and FM channels 3 and 4.
* Port B (Z80 ports 6 and 7) concerns the ADPCM-A, and FM channels 3 and 4.
* Data A (Z80 port 5) can also be read ?
* Data A (Z80 port 5) can also be read ?


Line 18: Line 18:


== Sound generation parts ==
== Sound generation parts ==
Its able to produce sound using SSG, FM synthesis and ADPCM playback.
Sound can come from different parts, having their own channel(s): SSG, FM synthesis and ADPCM playback.


=== SSG (Simple Sound Generator) ===
=== SSG (Simple Sound Generator) ===
Given its limited capacities, the SSG is rarely used for music in NeoGeo games. It's more often used for sound effects like coin-in, continue countdowns or "GO >>>" indicators in side-scrollers.
Given its limited capacities, the SSG is more often used for simple sound effects (coin sound, cursors in menus...) rather than music.


The SSG part has 3 square wave channels with programmable frequency, and a LFSR noise channel, all with programmable amplitude.
The SSG has '''3 square wave channels''' with programmable frequency, and '''a LFSR noise channel''', all with programmable amplitude.
An unique enveloppe generator with predefined shapes can also be linked to the SSG's channels amplitudes.
An unique enveloppe generator with predefined shapes can also be linked to the SSG's channels amplitudes.
(Is SSG only mono ?)
 
See [[YM2610 registers#SSG|YM2610 registers: SSG]]


=== FM (Frequency Modulation) ===
=== FM (Frequency Modulation) ===
The FM part has 4 channels, each having their own parametrable operators, panning and amplitude.
The FM part has '''4 channels''', each having their own parametrable operators, panning and amplitude.
It's the most used way of generatic music in games.
It's the most used way of generatic music in games.
See [[YM2610 registers#FM|YM2610 registers: FM]]


=== ADPCM ===
=== ADPCM ===
APDCM playback allows sampled sounds to be played along with the synthesized ones. Its used for anything that can't be easily synthesized like voices, percussions or wind instruments. Viewpoint uses a lot of sampled drum loops and explosion sounds.
APDCM playback allows sampled sounds stored in the [[V ROM]]s or [[PCM file]]s to be played. It's used for anything that can't be easily synthesized like voices, percussions and wind instruments.
 
The ADPCM-A part has 6 channels, with a fixed playback frequency of 18.5kHz. Samples can be any size from 256 bytes to 1MB, by 256 bytes increments.  audio is compressed as 4bit per sample and played back as 12bit.
 
The ADPCM-B part only has 1 channel, but the playback frequency can be changed.  Audio is compressed as 4bit per sample and played back as 16bit.


The ADPCM-A part has 6 channels, with a fixed playback frequency of 18.5kHz. Samples can be any size from 256 bytes to 1MB, by 256 bytes increments.
See [[YM2610 registers#ADPCM-A|YM2610 registers: ADPCM-A]] and [[YM2610 registers#ADPCM-B|ADPCM-B]]


{| class="regdef"
== Trivia ==
|'''YM 2610 port name'''
|'''Address (Z80 port 6)'''
|'''Data (Z80 port 7)'''
|-
|rowspan="7"|Port B (Z80 ports 6 and 7)
|$00
|{{8BitRegister|Dump|1|-|1|CH6 ON|1|CH5 ON|1|CH4 ON|1|CH3 ON|1|CH2 ON |1|CH1 ON|1}}
|-
|$01
|{{8BitRegister|-|2|Master volume|6}}
|-
|$08~$0D (one for each channel from 1 to 6)
|{{8BitRegister|L|1|R|1|-|1|Channel volume|5}}
|-
|$10~$15 (one for each channel from 1 to 6)
|{{8BitRegister|Sample's start address/256 LSB|8}}
|-
|$18~$1D (one for each channel from 1 to 6)
|{{8BitRegister|Sample's start address/256 MSB|8}}
|-
|$20~$25 (one for each channel from 1 to 6)
|{{8BitRegister|Sample's stop address/256 LSB|8}}
|-
|$28~$2D (one for each channel from 1 to 6)
|{{8BitRegister|Sample's stop address/256 MSB|8}}
|}


The ADPCM-B part only has 1 channel, but the playback frequency can be changed.
*[[Viewpoint]] uses a lot of sampled drum loops and voice samples for BG music.
*A lot of games have several recordings of the same instrument playing different notes, rather than having only one sample and changing the ADPCM-B playback frequency to change its pitch. (Trumpet in Viewpoint, electric guitar in Super Sidekicks). Why ?
*Nazca's [[sound drivers]] are able to use the SSG channels for music playback. (Maybe all can ?)


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

Revision as of 20:41, 25 February 2011

YM2610 chip

The YM2610 is a sound synthesis chip made by Yamaha, used in every versions of the NeoGeo hardware. It was merged with the Z80 memory controlers in the NEO-YSA chip on some versions of the NeoGeo CD and CDZ.

The chip's analog outputs were only able to output sound by the SSG. The FM and ADPCM sounds were sent digitally to the YM3016 DAC.

Communication

The YM2610 is programmed through two pair of "ports": A and B. They're usually called Address A, Data A, Address B, Data B. They're respectively linked to the Z80's ports 4, 5, 6 and 7.

  • Port A (Z80 ports 4 and 5) concerns the SSG, ADPCM-B, and FM channels 1 and 2.
  • Port B (Z80 ports 6 and 7) concerns the ADPCM-A, and FM channels 3 and 4.
  • Data A (Z80 port 5) can also be read ?

The Z80's A0 and A1 lines are directly connected to the YM2610's A0 and A1 inputs. A2 informs the NEO-D0 chip that the I/O request is for the YM2610.

Sound generation parts

Sound can come from different parts, having their own channel(s): SSG, FM synthesis and ADPCM playback.

SSG (Simple Sound Generator)

Given its limited capacities, the SSG is more often used for simple sound effects (coin sound, cursors in menus...) rather than music.

The SSG has 3 square wave channels with programmable frequency, and a LFSR noise channel, all with programmable amplitude. An unique enveloppe generator with predefined shapes can also be linked to the SSG's channels amplitudes.

See YM2610 registers: SSG

FM (Frequency Modulation)

The FM part has 4 channels, each having their own parametrable operators, panning and amplitude. It's the most used way of generatic music in games.

See YM2610 registers: FM

ADPCM

APDCM playback allows sampled sounds stored in the V ROMs or PCM files to be played. It's used for anything that can't be easily synthesized like voices, percussions and wind instruments.

The ADPCM-A part has 6 channels, with a fixed playback frequency of 18.5kHz. Samples can be any size from 256 bytes to 1MB, by 256 bytes increments. audio is compressed as 4bit per sample and played back as 12bit.

The ADPCM-B part only has 1 channel, but the playback frequency can be changed. Audio is compressed as 4bit per sample and played back as 16bit.

See YM2610 registers: ADPCM-A and ADPCM-B

Trivia

  • Viewpoint uses a lot of sampled drum loops and voice samples for BG music.
  • A lot of games have several recordings of the same instrument playing different notes, rather than having only one sample and changing the ADPCM-B playback frequency to change its pitch. (Trumpet in Viewpoint, electric guitar in Super Sidekicks). Why ?
  • Nazca's sound drivers are able to use the SSG channels for music playback. (Maybe all can ?)