Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

galaxian/galaxian.cpp: 'bongoa' dip switches are memory mapped #12314

Merged
merged 1 commit into from
May 10, 2024

Conversation

devinacker
Copy link
Contributor

Compared to the parent set, bongoa ignores the AY input ports and reads dip switches from a memory-mapped port.

This set also hacks out the code which initializes the AY port direction bits (compare code at $2288 in both sets), which means the 'noise enable' bits are never initialized either, leaving the noise generator enabled on all three channels. Is that actually what's supposed to happen or should the noise output be disabled by default instead?

void galaxian_state::bongoa_map(address_map &map)
{
bongo_map(map);
map(0xb000, 0xb000).mirror(0x07ff).portr("DSW");
Copy link
Contributor

@jackson2k2 jackson2k2 Apr 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bongo pulls from the Moon Cresta configuration, which reads DIP switches from the same location You can simplify this by having a bongo_base(config) for bongoa, move "DSW" to "IN2" in the input ports, and have bongo(config) for set 'bongo'. This set could be a potential hack, are there any code differences other than this?

@cuavas
Copy link
Member

cuavas commented May 1, 2024

@clawgrip can you please consider this? Did this Bongo set have any PCB mods?

@clawgrip
Copy link
Contributor

clawgrip commented May 3, 2024

Cannot tell... The PCB was modified on many ways.

RUID2d593c87cf744106a2dddc4480b1b657
RUIDa2441f8dfbdf47ca8cd1738ba0030674
RUIDbff4c3210639469d9a964f0345a0d017

@jackson2k2
Copy link
Contributor

jackson2k2 commented May 4, 2024

I don't have access to the ROMset that didn't land in 0.265 (with the correct ROM 5) right now, but there is no AY-3-8910 on there. This is probably a bootleg hack especially considering the '86 date, does it write to standard Moon Cresta sound ports? Set it up like this:

template <bool AY8910>
void galaxian_state::bongo_map(address_map &map)
{
	if (AY8910)
	{
		mooncrst_map_base(map); // no discrete sound
		map(0xb800, 0xb800).mirror(0x7ff).nopw(); // written once at start
	}
	else
	{
		mooncrst_map(map);
	}
	map(0x0000, 0x5fff).rom().region("maincpu", 0); // extend ROM
	map(0xb000, 0xb000).mirror(0x7f8).nopw(); // interrupt enable moved
	map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::irq_enable_w));
}

void galaxian_state::bongoa(machine_config &config)
{
	mooncrst(config);

	m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::bongo_map<false>);
}

Side note: currently the driver needs to be lit on fire, even trying to rewrite the driver I shelved off the work for a year because trying to nail everything down with a hammer and modularize the components is annoying.

EDIT: Also realized that this is not a Moon Cresta board, it's actually a Galaxian board from Namco, so the wiremods are to be expected. R34 is 15K here like Moon Cresta, though. The 5.1K value might actually be a change for Midway boards only. Right now I'd prefer to use mooncrst(config)...

EDIT: Andy confirmed that Namco boards use 15k according to the Japanese schematics. When I finish converting the discrete audio to netlist I'll set out the sound organization straight...

@devinacker
Copy link
Contributor Author

devinacker commented May 4, 2024

I don't have the redumped ROM 5 either, but that's also where all the sound-related AY8910 code lives in the original set, so there's a good chance that's what the actual difference is in this set.

@jackson2k2
Copy link
Contributor

jackson2k2 commented May 6, 2024

For what it's worth, a video of this set has surfaced 3 years back in Japan and this is what the it may apparently should look like:
The palette looks different: same as 'bongo', but the main character is green, and Bongo and the monsters are blue! Is there any PROM that matches?
https://www.youtube.com/watch?v=ANLFKoMLPRI

image

@clawgrip
Copy link
Contributor

clawgrip commented May 6, 2024 via email

@jackson2k2
Copy link
Contributor

There's no wiremods around the PROM and the resistors are standard so that leaves out the question unless this board happened to lack such modification... Note that the Jetsoft copyright also still exists in the video, maybe this is a legitimate conversion kit from Jetsoft which wouldn't surprise me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants