Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
01066 Sound Minor Have not tried Feb 9, 2008, 08:22 May 27, 2008, 20:23
Tester -Misc Reporters- View Status Public Platform
Assigned To couriersud Resolution Open OS
Status [?] Assigned Driver
Version 0.114u4 Fixed in Version Build
Summary 01066: YM2203 SSG-EG inaccuracy.
Description YM2203 SSG-EG inaccuracy: Seems to be emulation of YM2203 feature 'SSG-EG' has inaccuracy in MAME. We (I as programmer and some other people as hardware developers) construct some sort of sound card which uses YM2203, and I wrote software for it. For testing purposes I use some of source code from MAME, related to YM2203 emulation (to make fast tests on PC, instead of real thing).
Now listen to two attached samples - which contains short part of music and then all possible SSG-ENV types in one channel. One of these samples recorded from real thing, YM2203 @3.5 MHz, and another rendered by YM2203 emulation code from MAME. Comments in fm.c code said:

The difference (when compared to normal Envelope Generator mode) is that the resolution in Decay and Sustain phases is 4 times lower;
this results in only 256 steps instead of normal 1024.

But seems to resolution in SSG-EG mode 8 times lower, not 4. I checked that by changing adding value from 4 to 8 in strings 1147 and 1170 of fm.c, and it sounds more like true. But there still some differences with envelope stages, by now I can't figure it clearly (you can see this in samples with any audio editor).I also can provide test register array (in simply format, .GYM-like), which was used to record these samples.
Steps To Reproduce
Additional Information Posted by Shiru
Flags Verified with Original
Regression Version
Affected Sets / Systems
Attached Files
mp3 file icon emulated_ym2203.mp3 (207,376 bytes) Feb 14, 2008, 17:58
mp3 file icon real_ym2203.mp3 (245,510 bytes) Feb 14, 2008, 17:58
There are no relationship linked to this issue.
User avatar
May 27, 2008, 20:23
The register dump would be much appreciated .... The samples are a good base to start, but the registers would allow easy tracking of code.