MAMEWorld >> EmuChat
View all threads Index   Flat Mode Flat  

gregf
Ramtek's Trivia promoter
Reged: 09/20/03
Posts: 7651
Loc: southern CA, US
Send PM
Galaxian audio emulation from long ago
01/20/20 03:35 PM


Two recent netlist related updates by couriersud for Galaxian audio to help improve audio output when next release (.218) becomes available for users that don't have a state-of-the-art computer to do compile builds on their own.

--
couriersud 2020-01-19

netlist: Fix 741 opamp representation

https://github.com/mamedev/mame/commit/b4e82448271a3e572a532e479d88d2e9ab1d033d



galaxian.cpp: Implement konami filters using netlist. [Couriersud]

This change improves accuracy and scalability.

https://github.com/mamedev/mame/commit/ee0e0c972c91ef006d8f76f82fb4120b8d20c41c
-


How long has it been since last previous analog/discrete audio updates were done for Galaxian?

This..(10 Sep 2009) sometime in August / September of 2009 It was probably overlooked by many at the time because this was around the time that the preliminary emulation of laser disc games such as Cube Quest was getting started. Amazing that a decade has gone by.


--
https://www.mamedev.org/releases/whatsnew_0134.txt


- 0.133u3: Galaxian sound updates [Couriersud]: Moon Cresta and Galaxian now have their respective schematics emulated, i.e. Moon Cresta has a slightly different mixing stage. Cleaned up driver, added some section titles and comments, removed old code. Removed emu_timer, this was causing a stream of stream_updates only updating 3 samples. Replaced with discrete timer module DSS_TIMER now. Use DISCRETE_NOTE for pitch generation; it is more accurate (within the one ms where the pitch changes) and saves a node. Use DISCRETE_BITS_DECODE and save 2 nodes.

- 0.133u2: Created discrete sound emulation for galaxian [Couriersud]: Changed all audio related AM_WRITE to AM_DEV_WRITE. Moved discrete sound related pieces such as initialization into audio\galaxian.h. Split some memory maps into sound related and not sound related parts. Added possibility in discrete.h to select hardware (galaxian/moon cresta) at compile time. This leads to slightly different volume levels. Hit sound (explosion) has been hacked to increase volume. Currently, we can not accurately model the switch/opamp filter circuit. Rewrote timer code so that the pitch timer is only used when it produces audible results.

Discrete sound enhancements: [couriersud]
- Put some life into RCDISC5 enable mode. This now acts as a switch
between R and C. Capacitor voltage will be preserved if disabled.
- Made galaxian use the above. Saved 2 nodes and increased accuracy.



It has been a long time that even old comments that can be revised or removed are still hiding in the current source code at this time. Anyway, Galaxian fans should be happy with the updates unless they play a specific bootleg variation (different hardware etc) that is outside of the specific netlist related fixes.


--
src/mame/drivers/galaxian.cpp

TODO:
----
- Problems with Galaxian based on the observation of a real machine:
- Background humming is incorrect. It's faster on a real machine
- Explosion sound is much softer. Filter involved?



src/mame/drivers/galaxold.cpp

TODO:
----

- Problems with Galaxian based on the observation of a real machine:

- Starfield is incorrect. The speed and flashing frequency is fine, but the
stars appear in different positions.
- Background humming is incorrect. It's faster on a real machine
- Explosion sound is much softer. Filter involved?







Entire thread
Subject Posted by Posted on
* Galaxian audio emulation from long ago gregf 01/20/20 03:35 PM
. * Re: Galaxian audio emulation from long ago couriersud  01/20/20 04:30 PM
. * Re: Galaxian audio emulation from long ago R.Coltrane  01/21/20 10:00 AM
. * Re: Galaxian audio emulation from long ago couriersud  01/21/20 05:17 PM
. * Re: Galaxian audio emulation from long ago gregf  01/21/20 04:00 AM

Extra information Permissions
Moderator:  redk9258, URherenow, Tafoid 
0 registered and 4 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 317