Galaxian Update

jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Galaxian Update

Unread post by jca »

Added Moon Quasar & Portman.

User avatar
pgimeno
Top Contributor
Posts: 710
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 277 times
Been thanked: 226 times

Re: Galaxian Update

Unread post by pgimeno »

Thanks a lot, macro! I love the Moon Cresta version of Portman. Many sound effects were so shamelessly ripped from other games, especially Moon Cresta, that they were hilarious. I even tried to make it work in past, to no avail - viewtopic.php?t=3545

@jca Better don't post updates in a way that makes people think YOU have added things :) (well, unless you actually did, ofc)

User avatar
macro
Core Developer
Posts: 141
Joined: Sun May 24, 2020 4:12 pm
Been thanked: 171 times

Re: Galaxian Update

Unread post by macro »

Yes, portman (porter) needed an extra 4k of rom and 2k of ram, moon quasar needed rom opcode decryption.

it's a shame that guttangtn doesn't work, that would be a good one to have as well. but that was the only other game I found in mame that was plain galaxian hardware and looked worth adding. But if I need to spend ages trying to work out the code in a possibly bad dump, it's probably quicker to do a driver for the original hardware instead.

Did I do something useful?

buy me a coffee
dazzer69
Posts: 39
Joined: Fri Jul 03, 2020 8:34 pm
Has thanked: 18 times
Been thanked: 11 times

Re: Galaxian Update

Unread post by dazzer69 »

Quick question for macro; do you think the rack noise is correct in Galaxian or is it as good as it can be given digital limitations?

User avatar
macro
Core Developer
Posts: 141
Joined: Sun May 24, 2020 4:12 pm
Been thanked: 171 times

Re: Galaxian Update

Unread post by macro »

The rack noise is actually quite a complex circuit.

it feeds 4 resistors (plus ground bias) into 2 transistors and an NE555V (as a VCO) which allows the CPU to select 16 different rack noise speeds. The two transistors seem to be used (of which it looks like mame only accounts for one, but my knowledge of analogue circuits is hazy at best, so this may be correct!) to give a sawtooth signal.

This is then amplified and fed to the three NE555Vs used for the different pitches. each of these can be enabled/disabled under CPU control so you get 1,2 or all 3 playing.

this is then passed through a low pass filter and finally through a resistor (presume to limit the max volume) and mixed in with the other sound sources to be amplified and filtered with the global filters.

the speed resistor array should be modelled allowing for the lines that are low as well as the ones that are high to get the correct values.

The biggest problem is that all of the manufacturers seemed to fit 'whatever was available' so the resistor values can vary, the type of transistors used vary and the fliters vary (even on Namco and Midway PCBs, but bootlegs had wide variations) - The best you can hope for is to use the values from the schematics (ignoring the errors, since R16 is in there twice, along with some other duplicated bits) and model it on that.

The existing code does this as 20 bit counters, mame does it as floating point and is still meant to be inaccurate.

if the swoop is too fast/slow, then it is the first part of the circuit that is wrong. If the pitch is wrong it's the secondary parts and if it sounds too harsh, then it's the lack of a filter.

if it is not harsh enough, then it maybe because it is implemented as sine waves, and it should be triangle waves

If someone was really desperate, it could be improved, but the amount of work involved for the few people who would actually notice makes it unlikely to happen.

(back in the day, my local arcade was mostly bootlegs and super galaxian hacks!)

Did I do something useful?

buy me a coffee
dazzer69
Posts: 39
Joined: Fri Jul 03, 2020 8:34 pm
Has thanked: 18 times
Been thanked: 11 times

Re: Galaxian Update

Unread post by dazzer69 »

It’s such an iconic sound. Thanks for the explanation, I knew you’d have the answer. Hopefully someone will have a go at some stage.

goldenage
Posts: 22
Joined: Mon Feb 14, 2022 1:11 am
Has thanked: 1 time
Been thanked: 3 times

Re: Galaxian Update

Unread post by goldenage »

The rack noise for Galaxian is completely wrong, not even in the same ballpark. No idea why sine waves were used, even ancient versions of MAME did a better job.

I've owned multiple Galaxian pcbs over the years. There are subtle differences in that sound effect between boards, but the issue with the Galaxian core is not subtle.

User avatar
pgimeno
Top Contributor
Posts: 710
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 277 times
Been thanked: 226 times

Re: Galaxian Update

Unread post by pgimeno »

Thanks for the detailed explanation, macro! I love these kinds of details.

This looks like one of these cases where FPGAzumSpass' technique of making a software emulator with a view on the FPGA implementation before actually implementing it in Verilog could pay off. The compile/test cycle for trial-and-error would be much faster.

User avatar
macro
Core Developer
Posts: 141
Joined: Sun May 24, 2020 4:12 pm
Been thanked: 171 times

Re: Galaxian Update

Unread post by macro »

When I get my galaxian PCB working again, I'll bung a scope on the various chips and see what waveform it creates and then see if any changes need to be made to what is there to get it a bit closer to reality.

Did I do something useful?

buy me a coffee
Sparkoids
Posts: 12
Joined: Fri Dec 30, 2022 10:16 am
Has thanked: 1 time
Been thanked: 2 times

Re: Galaxian Update

Unread post by Sparkoids »

Also my ship has the "missile" graphic buried down in the body not sticking out of the top as in any version I've seen.

https://www.youtube.com/watch?v=XhYVcwhSWjI

That YouTube vid shows how it should be...

dazzer69
Posts: 39
Joined: Fri Jul 03, 2020 8:34 pm
Has thanked: 18 times
Been thanked: 11 times

Re: Galaxian Update

Unread post by dazzer69 »

That only seems to happen with the screen flipped, which the original hardware didn’t support.

User avatar
macro
Core Developer
Posts: 141
Joined: Sun May 24, 2020 4:12 pm
Been thanked: 171 times

Re: Galaxian Update

Unread post by macro »

Yes, when flipped in cocktail mode the software allows for the change and puts them where they need to be

however, who ever wrote the core allowed for a 'flip' setting, so I just offset it enough to put the missile back in the correct place.

Give this a try, if OK with Galaxian (and other galaxian core games) I'll check it in.

Arcade-Galaxian.zip
Flip Missile Fix
(1.13 MiB) Downloaded 93 times
Did I do something useful?

buy me a coffee
dazzer69
Posts: 39
Joined: Fri Jul 03, 2020 8:34 pm
Has thanked: 18 times
Been thanked: 11 times

Re: Galaxian Update

Unread post by dazzer69 »

Cheers, Macro. I got excited thinking you’d had a crack at the rack noise.

Post Reply