Page 1 of 1

Galaxian Update

Posted: Mon May 01, 2023 5:23 pm
by jca

Added Moon Quasar & Portman.


Re: Galaxian Update

Posted: Mon May 01, 2023 8:39 pm
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)


Re: Galaxian Update

Posted: Mon May 01, 2023 9:33 pm
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.


Re: Galaxian Update

Posted: Tue May 02, 2023 11:49 am
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?


Re: Galaxian Update

Posted: Tue May 02, 2023 7:53 pm
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!)


Re: Galaxian Update

Posted: Tue May 02, 2023 8:22 pm
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.


Re: Galaxian Update

Posted: Wed May 03, 2023 4:39 pm
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.


Re: Galaxian Update

Posted: Wed May 03, 2023 7:50 pm
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.


Re: Galaxian Update

Posted: Fri May 05, 2023 10:12 am
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.


Re: Galaxian Update

Posted: Sun May 07, 2023 8:33 am
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...


Re: Galaxian Update

Posted: Sun May 07, 2023 6:28 pm
by dazzer69

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


Re: Galaxian Update

Posted: Wed May 17, 2023 5:13 pm
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 67 times

Re: Galaxian Update

Posted: Wed May 17, 2023 7:50 pm
by dazzer69

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