Viewing Issue Advanced Details Jump to Notes ] arkanoid.cpp
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06614 Sound Minor Always Jun 11, 2017, 22:07 Jun 12, 2017, 02:37
Tester TServo2049 View Status Public Platform MAME (Official Binary)
Assigned To Lord Nightmare Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved   Driver arkanoid.cpp
Version 0.186 Fixed in Version 0.187 Build
Summary 06614: arkanoid and clones, arkatour: Sound pitch is too high by 100%
Description As of version 0.184, arkanoid and all its clones, as well as arkatour, have all sounds and music pitched twice as high as they were in 0.183 and prior.

The lower pitch heard pre-0.184 matches with nearly all audiovisual evidence of real hardware I've been able to find on YouTube. Only a fraction of the boards featured in YT video uploads have higher-pitched sound, and of those examples, all of them are either described as bootlegs by the uploader, or clearly display a hacked copyright on the title screen.

arknoid2 and clones still have the same sound pitch they've always had, which matches how arkanoid/arkatour sounded pre-0.184.

MAMEinfo.dat for 0.184 notes the following, could this relate to the cause of the change?

- AY-3-8910 sound
. Added a write handler for the case of bc1=a0 and bc2=a1. Added guide to bus control signals.
. Overrided device method to support changing clock frequencies in the AY8910. Added virtual keyword to declaration.
Steps To Reproduce
Additional Information While logging this bug, I viewed 32 unique YouTube videos (i.e., no two of the same board) of gameplay on actual Arkanoid/Tournament Arkanoid hardware, from the U.S., Japan, Europe or elsewhere, both official and bootleg. Of those, I only encountered five videos that have the 2x higher pitch currently heard in MAME. Three of them clearly display hacked "Tayto", "Game" or "Beta" copyrights, the fourth was described as a bootleg by the uploader, and the fifth was a Tournament Arkanoid that a commenter suggested was likely a bootleg because the sound was the wrong pitch.
Flags
Regression Version 0.184
Affected Sets / Systems arkanoid and clones, arkatour
Attached Files
mp3 file icon arkanoid-real-machine.mp3 (800,600 bytes)  Jun 11, 2017, 22:07 by TServo2050
Sound taken from a real machine (not direct line recording from board, just meant to show the lower pitch)
mp3 file icon arkanoid-0.183.mp3 (872,071 bytes)  Jun 11, 2017, 22:09 by TServo2050
Sound from MAME 0.183 official binary (same pitch as the real machine audio)
mp3 file icon arkanoid-0.186.mp3 (1,053,257 bytes)  Jun 11, 2017, 22:10 by TServo2050
Sound from MAME 0.186 official binary (pitch is 2x higher than real machine or 0.183)


-  Notes
User avatar
No.13908
Lord Nightmare
(Developer)
Jun 12, 2017, 02:35
edited on: Jun 12, 2017, 02:36
Fixed in git commit 96ed3869ff8461670a940a0ef4cc3e0274938a29.
This bug was caused by commit 0d23c0f6ea771f54a367861f379f6e7ca62d1ced back in March, which added a device_clock_changed() override.
If a sound core has a device_clock_changed() override, MAME will call that function during the device init lifecycle phase, after device_init is called.
ay8910.cpp only actually checked the YM2149_PIN26_LOW state during device_init, and did not check it when device_clock_changed() was called, meaning the clock speed on arkanoid was first (correctly) set to 1.5MHz, then immediately afterward as soon as device_clock_changed() is called, was set incorrectly to 3MHz.
Now YM2149_PIN26_LOW is respected (as needed) during both device_init() and device_clock_changed().

User avatar
No.13909
Lord Nightmare
(Developer)
Jun 12, 2017, 02:37
Additionally, the 'arkatayt' set needs to be set to use an ay-3-8910A chip at 3MHz, but this probably should have its own mametesters ticket.