mame icon indicating copy to clipboard operation
mame copied to clipboard

circus charlie (arcade): sprites shown one frame in advanced

Open jotego opened this issue 1 year ago • 5 comments

MAME version

0.268

System information

N/A

INI configuration details

N/A

Emulated system/software

circus charlie

Incorrect behaviour

sprites are directly displayed off sprite memory, bypassing the frame buffer present on the real board.

Although MAME driver captures the existence of a m_spritebank, it is not interpreting it correctly. The CPU selects which part of the sprite memory will be rendered to the frame buffer.

This is the schematic region where the 64 kByte frame buffer is visible. Notice the complex 4-input multiplexer driving it. The top signal is 1V*, which toggles every frame as the name suggests.

image

This is probably a trivial change in the driver, but it goes beyond my skill. Let me collaborate by simply reporting it.

Expected behaviour

Sprite data should be buffered one frame before rendered

Steps to reproduce

normally run the driver

Additional details

No response

jotego avatar Aug 24 '24 09:08 jotego

1V* would toggle every scanline, not every frame.

ajrhacker avatar Aug 24 '24 17:08 ajrhacker

You are absolutely right. The 256V signal below that one toggles every frame.

jotego avatar Aug 25 '24 06:08 jotego

Driver has no video timing hooked up, do you have that information? Don't think buffered_spriteram will work as intended without that as well.

angelosa avatar Aug 25 '24 07:08 angelosa

Circus Charlie, like most Konami games of this era, used an ASIC to generate the H/V timing chain. I don't know the actual timings here, but suspect them to be once again similar to Galaxian/Scramble (16 kHz horizontal, 60.60606 Hz vertical).

ajrhacker avatar Aug 25 '24 14:08 ajrhacker

It is like Kicker and the others. These are direct measurements off the PCB.

Horizontal period hs Vertical period vs

Frame rate is 60.58Hz, the oscilloscope does not show the second digit.

jotego avatar Aug 25 '24 16:08 jotego

I added buffered spriteram here: https://github.com/mamedev/mame/commit/36d8b4cabd980653214fe8925ed267b8edecf831

happppp avatar Jun 16 '25 13:06 happppp