MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Pages: 1

gregf
Ramtek's Trivia promoter
Reged: 09/21/03
Posts: 8611
Loc: southern CA, US
Send PM


Galaxian audio emulation from long ago
#385082 - 01/20/20 09: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?



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Galaxian audio emulation from long ago new [Re: gregf]
#385083 - 01/20/20 10:30 PM


The konami filters are used by scramble (2x AY8910) and frogger (1x AY8910). They have been on my todo list for years.
Galaxian netlist code may follow sometime.



gregf
Ramtek's Trivia promoter
Reged: 09/21/03
Posts: 8611
Loc: southern CA, US
Send PM


Re: Galaxian audio emulation from long ago new [Re: couriersud]
#385084 - 01/21/20 10:00 AM




>The konami filters are used by scramble (2x AY8910) and frogger (1x AY8910). They have been
>on my todo list for years.

Frogger and Scramble fans will be happy.


>Galaxian netlist code may follow sometime.

Good luck with remaining future updates with Galaxian hardware.


off topic:

It has been a very long time when Galaxian source file was redone. It had to have been sometime between 2006 or 2007 iirc when games were split up between src/mame/drivers/galaxian.cpp and src/mame/drivers/galaxold.cpp



R.Coltrane
MAME user since 0.11
Reged: 08/07/05
Posts: 495
Send PM


Re: Galaxian audio emulation from long ago new [Re: couriersud]
#385086 - 01/21/20 04:00 PM


> The konami filters are used by scramble (2x AY8910) and frogger (1x AY8910). They
> have been on my todo list for years.
> Galaxian netlist code may follow sometime.

Any chance of having the New Rally-X "Bang" discrete sound emulated, so we can get rid of the recorded .wav sample?



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Galaxian audio emulation from long ago new [Re: R.Coltrane]
#385091 - 01/21/20 11:17 PM



> Any chance of having the New Rally-X "Bang" discrete sound emulated, so we can get
> rid of the recorded .wav sample?

Yes, but if I would do the whole sound circuit to get the mixing right. Time unfortunately is the limiting element here.


Pages: 1

MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

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