💦 CREATE AND FUCK YOUR OWN AI CUMSLUT 🔥 TRY NOW ♥
Create AI Cumsluts 💦
CoC_MiSTerFPGA_20260729.zip 11.0 MB
CoC_MRA_PocketFPGA_20260729.zip 37.6 KB
CoC_PocketFPGA_20260729.zip 5.8 MB
July 30, 2026

Coin-Op Collection Updates: DECO-16 (Public Release), Updater Support, and more...

The first wave of Data East's DECO-16 platform is now public. Vapor Trail, Crude Buster, Dark Seal, The Cliffhanger: Edward Randy, Caveman Ninja, RoboCop 2, Tumble Pop, and Boogie Wings are available on the Analogue Pocket and MiSTerFPGA, with the Boogie Wings Pocket build arriving in the coming days. Each of these boards already has its own post covering the original hardware in detail:

Vapor Trail
Crude Buster / Two Crude
Dark Seal / Gate of Doom
The Cliffhanger: Edward Randy
Caveman Ninja / Joe & Mac
RoboCop 2
Tumble Pop
Boogie Wings / The Great Ragtime Show

This post is a little different from our usual release write-ups. Rather than walk through a single board, it covers the DECO-16 platform as a whole for this release, including the changes and fixes rolled across every core, updater support for both platforms, and the remaining titles still on the way.


DECO-16 Updates:

Correct Timing Parameters:

Every DECO-16 core has been re-timed to match the original hardware. I've remeasured all the PCBs I have on hand, and the boards run a 15.625 kHz horizontal line rate and a 57.44 Hz refresh, with a 64 microsecond line period and an eight-line vertical sync.

Normally, I capture readings with a DS Logic+, account for jitter, and measure them using PulseView by pulling the CSYNC line with a HAS 4.0/4.1/5.0 (Home Arcade System). I have a few MiniGun builds I've used in the past, but the HAS is more accessible with pins available for GND and CSYNC.

What made me decide to take some more measurements? Work on Captain America and The Avengers was the main reason. I use an EasyArcade2 for PCB video captures and noticed that Crude Buster displayed a different refresh rate (57.44) than what I had previously measured when using it to capture audio samples to address PCB filtering (which we'll cover in another post).

Based on measurements with various setups, here's what I found:

The HAS 4.0 / HAS 4.1 paired with an RT65-A or RT85-A will measure the same as MAME even when accounting for jitter; the HAS 5.0 will match up with the correct measurements (it's not as accessible to pull readings from, so I tapped the edge connector pin).

The HAS 4.0 / HAS 4.1 / HAS 5.0 paired with an RT-125A or QP-150-3A will measure out the correct timings. I found it interesting that other Meanwell PSUs I have that are rated for arcade PCB operation cause this issue, and while the QP-150-3A is a pain to setup at times, it's extremely well built and covers pre-JAMMA to JVS style boards.

Why does this matter? Staying within the native frame period is important and controls the effects generated by DECO customs. I cover this briefly in the DECO-32 Captain America release post.

Here's a list of PCBs that were measured:

Crude Buster / Two Crude (1990)
The Cliffhanger: Edward Randy (1990)
Robocop 2 (1991)
Tumble Pop (1991)
Funky Jet (1992)
Diet Go Go (1992)

Here's a list of PCBs that were checked against an OSSC Pro/RetroTink 4K by supporters:

Kuhga / Vapor Trail (1989)
Thunder Zone / Desert Assault (1991)
Wolf Fang: Kuhga 2001 / Rohga (1991)
Gun Ball / Nitro Ball (1992)
The Great Ragtime Show / Boogie Wings (1992)

(Example using my RetroTink 4K and The Cliffhanger: Edward Randy)


Bug Fixes Implemented During Beta Phase:

DECO-104

Caveman Ninja's far background at the stage-2 boss is the headline fix. The board runs a DECO 104 for protection and I/O, and the game leans on one specific behavior of it: when the CPU writes a protection address and then immediately reads that same address back, the 104 returns the value that was just written, raw, bypassing its usual lookup-table and scramble path. Caveman Ninja uses this to toggle a playfield. It reads $1bc06e, clears bit 7, writes it back to arm the latch, then reads $1bc06e again and moves the result straight into DECO 55 #1 control register 5, whose bit 7 is the PF1 enable. PF1 is one of the playfields the DECO 55 and its DECO 56 decryption half generate. With bit 7 set the value is 0x8080 and PF1 draws the waterfall; with bit 7 clear it is 0x8000, PF1 is disabled, and the sky shows in its place.

The 104's write-back latch was clearing its valid flag on the leading edge of the read, on the first clock cycle the read asserted. The 68000 bus is multi-cycle and does not sample the read data on that first cycle, it takes it several cycles later. By the time the CPU actually latched the value, the 104 latch had already gone invalid and the read had fallen through to the normal scrambled table path, which returned 0x8080. PF1 stayed enabled, so the far background held the frozen waterfall through the boss instead of switching to sky, and only losing a life, which re-ran the sequence, cleared it for a moment.

The fix holds the latched write-back value for the full length of the read and clears the valid flag on the trailing edge, when the access ends, so the value the CPU samples several cycles in is the one that was written. The correct 0x8000 now reaches DECO 55 control register 5, PF1 disables, and the far background renders sky.

Double Wings, which is complete and releasing publicly within the next few days, corrects another issue with the DECO 104 protection implementation. Its DIP switches are read back through the protection, and those reads need the latch cleared on the leading edge of each read, the opposite of what other games that use this protection require. I've added a selectable latch edge to the 104 that lets Double Wings clear per read so its DIP settings come back correctly.

None of this is documented in the emulation source. The 104's write-then-read latch, the edge each game's protection sequence depends on, and the registers these values land in are not described there or specifically called upon, so there was nothing to port across. Finding it meant tracing the running core with Signal Tap, the logic analyzer built into Quartus, capturing the protection reads and the values moving into the DECO 55 registers live on the FPGA to see exactly where the behavior diverged, then narrowing each case to the latch edge it needed.

x2203

Vapor Trail's bring-up turned up four bugs in x2203, the in-house YM2203. Three were in the SSG-EG envelope path, one an alternating-mode direction latch that only updated when the attack did not re-trigger, one a phase reset firing on every repeating mode rather than only the two sawtooth modes, and one an attack onset on the inverted modes that reflected one sample too early. The fourth was in Channel 3's special mode, where the three sub-operators take independent frequencies and the mapping from those frequency registers to the operators in the FM algorithm was permuted incorrectly. All four were traced against the YM2203C LLE and corrected, and because they live in x2203 they carry back to every core that uses it.

Crude Buster had an OKI M6295 sample channel that sped up during the stage-1 sub-boss, when the flamethrower attack played its YM2203 FM sound. The same acceleration shows in other emulations but not on hardware. It traced to how the sound CPU paces its routines around the YM2203, which the core handles through x2203, and with the YM2203 timing worked out the affected channel now plays back at the correct speed.


DECO Custom Decap Status:

Alongside the core work, a set of the DECO custom ICs is being sent out for decapsulation, and we'll do the die analysis in-house. Opening the package and imaging the die gives ground truth on how these parts actually work, rather than inferring their behavior from how the games drive them and from the existing emulation. The set covers the tilemap, sprite, and protection customs the DECO-16 platform is built on:

DECO 52 sprite generators (3x)

DECO 55 tilemap generators (2x)
DECO 56 tilemap generator (1x)
DECO 74 tilemap generator (1x)
DECO 141 tilemap generator (1x)

DECO 75 protection and I/O device (1x)
DECO 104 protection and I/O device (1x)
DECO 146 protection and I/O device (1x)

Decapsulation removes the package to expose the die, which is then imaged under a microscope, and for parts with more than one metal layer, delayered and imaged one layer at a time so the standard cells and their interconnect can be traced back into a netlist. The plan is to start with one DECO 52 and one DECO 55 and keep the others in reserve in case the ICs crack while undergoing the decapsulation process.

The DECO 55, DECO 56, and DECO 74 share the same tilemap logic in emulation and differ only in the on-die tile-ROM descramble, so imaging all three directly confirms that this is the case. The DECO 52 is the sprite generator used across the platform, and the protection devices carry each game's I/O and the scrambled read path the boards depend on to boot.

While this is being done for preservation work, I don't expect that we'll learn anything new from this costly and lengthy process. I've probed and measured all the undocumented tilemap registers and documented everything.

Below are some interesting results from modifying how the control registers latch. These are examples of raster effects driven by the 68000's interrupt service routine (ISR) running from program ROM. They show how the CPU rewrites the DECO 55 tilemap generator control registers mid-frame (the same technique applies across Data East's 55/56/74 family tilemap generators):


The footage shows the raster overflow in The Cliffhanger: Edward Randy and the road raster anchor in RoboCop 2. The left side is what the hardware does, and the right side is my modified register-latch timing, correcting in-game bugs that originate in the game's software.

In the first video (Edward Randy), the raster effect and the ISR's per-line register writes are corrected across the very first two scanlines. In the second video (RoboCop 2), look at the center of the screen on the hardware side (left): the road stays straight for two scanlines after the raster effect is applied before it begins to curve. My modified version removes that two-line anchor. This isn't available in today's release as a toggle, but I may include it in the future. It was just something I was able to correct by experimenting with the tilemap control registers.

The three custom Data East ICs I believe could benefit the most from this process are the DECO 99, DECO 113, and DECO 200, the alpha-blending and compositing chips that only Boogie Wings uses.

Unlike the tilemap customs, whose behavior lives in registers I could probe, these three do their work per pixel inside the chip based on my understanding of how they work. The 113 runs the base alpha blend across the inputs, the 99 carries the alpha lookup internally and layers its palette effects on top, and the 200 resolves the final composite through the seven priority modes the game selects.

That state may never appear on the bus, so it can't be characterized the way the tilemap registers were, which makes a die trace the direct way to get the exact lookup and blend rules. I don't have a Boogie Wings board, I was fortunate enough to know someone with one who filmed an extensive playthru for me to get the effects modeled correctly.

It's the only board that carries these parts besides Night Slashers (which I won't sack for a decap as it's in-development), so I'd need a donor to decap. If anyone sees a broken Boogie Wings board, please reach out. I've been on the look-out for several months.


DECO-16 Public Release Schedule:

With the first wave public, the rest of the DECO-16 library is still to come. Each will go public the same way, with its own post covering the original hardware in the detail the platform deserves. Double Wings is complete, was unannounced, and is up first. Most of these will release within the next few days, and the rest will follow as their final issues are closed out. The remaining titles are:

Super Burger Time (1990)
Death Brade / Mutant Fighter (1991)
Thunder Zone / Desert Assault (1991)
Wolf Fang: Kuhga 2001 / Rohga (1991)
Dark Seal II / Wizard Fire (1992)
Funky Jet (1992)
Gun Ball / Nitro Ball (1992)
Diet Go Go (1992)
Double Wings (1993)

A few of the remaining titles have specifics worth calling out. Boogie Wings will release for the pocket over the weekend, along with an update to the MiSTer core bringing some improvements to memory modules taken from work from an upcoming core.

Funky Jet still has a known issue and it's been the hardest to pin down. The DECO 146 protection has two issues I haven't been able to resolve, a continue-coinage problem and sprite corruption on the stage 2 boss. I've been at it for about three months, and if it doesn't come together I may release it as a beta with those bugs in place until the DECO 146 is decapped and traced and I can work from the die directly.

Thunder Zone / Desert Assault, will be the last game released. I want to release it on both platforms, and the pocket version still needs work due to memory management because this board's hardware architecture differs from the rest of the DECO-16 library.


General Updates:

Update_All (MiSTer) Integration w/ Beta & Alpha Tiers:

On MiSTer, our cores are distributed through update_all, and by default every publicly released Coin-Op Collection core is pulled to the device.

The beta and alpha cores are only fetched if you enable them, so you will need to select the appropriate tier using the GUI when support roles out from theypsilon after I provide feedback. We'll be testing this in Discord over the weekend with new beta releases.

A Retro account will fetch your key automatically if you are a member of theypsilon's Patreon. New subscribers to the Coin-Op Collection Patreon will still need to complete the initial device registration first, which is covered here.

Remember that update_all can take up to an hour to pick up new files, so if a release is not showing right away, give it some time before pulling it in manually. Today's public release was published for update_all distribution before the post.


PUPDATE (Pocket) Automatic Key Retrieval:

On the Pocket, our cores are distributed through pupdate. After you enable beta support and provide your registered Device ID in the menu, pupdate fetches your key automatically. The support is in place and I will get with the maintainers sometime tomorrow so we can integrate and test.

Beta releases will distribute the same as they have in the past. New subscribers to the Coin-Op Collection Patreon will still need to complete the initial device registration first, which is covered here.

Remember that pupdate can take up to an hour to pick up new files, so if a release is not showing right away, give it some time before pulling it in manually. Today's public release will be published to pupdate sometime in the next 24hrs.


Midway Z/Y/T-Unit Updates:

The Midway Z-Unit, Y-Unit, and T-Unit platform will receive its own update post in the same depth as this one, covering the hardware and the work done across those cores for both platforms. I have been optimizing T-Unit, and am continuing work for Mortal Kombat II support on the Pocket. More on that soon with the next release and update.

Raizing / Toaplan 2 Updates:

The Raizing and Toaplan 2 platform will receive its own update post in the same depth as this one, covering the hardware and the work done across those cores for both platforms. More on that soon with the next release and public update coming the first week of August. The remaining Toaplan 2 games will be released publicly after the initial update post.

Technos 16 Updates:

The Technos 16 platform will receive its own update post in the same depth as this one, covering the hardware and the work done across those cores for both platforms. More on that soon with the next release and public update coming the first week of August.

DECO-8 & DECO-6280 Updates:

The DECO-8 and DECO-6280 cores will be made public over the next several days for both platforms. They are currently available as betas in our Discord for anyone who would like to try them ahead of the public release along with the majority of remaining DECO-16 games.


Older platforms are scheduled to be updated by the team and released throughout August while development continues with NMK16 and the DECO platforms. We'll see a few things not mentioned roll-out with the public release of DECO-8, DECO-6280, and DECO-16 over the weekend and a Midway update. I've provided the files for today's public release, future posts will be distributed from each platforms updater. Thank you all for your continued support!

Disclaimer: All product names, trademarks, and registered trademarks mentioned are the property of their respective owners. "Analogue", "Analogue Pocket", "OpenFPGA", "MiSTer", "MiSTerFPGA" and all derivative works are trademarks, registered trademarks, or copyrighted materials of their respective holders. Use of these names does not imply endorsement or association with this post. All rights reserved to their respective owners. This post is for educational and research purposes only.

Comments (12)

R
Robert Henning · August 16, 2026

Maybe i am lost but i am not seeing the check box for coin op in pupdate. got the latest version installed

x
xDagmaRx · July 31, 2026

Well done getting to this point for a public release. Keep up the good work. Had a lot of fun testing the cores.

C
Coin-Op Collection · July 31, 2026

Thanks! I tried to keep it under 180 days. While there's still more to do, they're in great shape. Appreciate the support and testing.

G
Giancarlo Erra · July 30, 2026

Hi I'm a bit confused by this: "The beta and alpha cores are only fetched if you enable them, so you will need to select the appropriate tier using the GUI when support roles out from theypsilon after I provide feedback.". What does it mean? I'm Patron supporter both here (and registered my device on your portal) and also of theypsilon, how do I make sure to receive all the betas? And how what's distributed over update_all reconcile (or is connected with) the download available on this post?

C
Coin-Op Collection · July 30, 2026

It means support is in place and is being validated and tested.

P
PedroZabalaES · July 30, 2026

Hi! Thanks for the very detailed DECO-16 update. I’m a Patreon supporter and previously tested some of these MiSTer builds in my JAMMA cabinet using Antonio Villena’s DB15 User I/O adapter, but the controls were not detected. Do the new public DECO-16 builds now include native joystick support through MiSTer’s User I/O port? If not, would you consider adding support for Antonio Villena’s DB15 interface directly to the MiSTer builds? As I understand it, if only the compiled RBFs are publicly available, the MiSTer-DB9 project cannot add User I/O support externally without access to the relevant source code. Would you consider sharing the input/framework portion of the source with its maintainers so that a compatible fork could be created and maintained? Also, do all these DECO-16 games share the same base RBF with different MRAs, or does each game use its own RBF? If the input implementation is shared across the platform, perhaps adding User I/O support once could make it available across all the DECO-16 titles. Finally, were any Tumble Pop-specific fixes included beyond the platform-wide timing corrections? The post describes specific fixes for Caveman Ninja, Double Wings, Vapor Trail and Crude Buster, but I wasn’t sure whether Tumble Pop received any game-specific corrections. Thanks again for all the work!

C
Coin-Op Collection · July 30, 2026

I'll look into what is required for DB15 support for these products in the future. Other than that platform wide correction for timings, no fixes were made to Tumble Pop. All that's left for that game is audio filters which I'll continue implementing on a game by game basis with random updates. The first game to use proper filtering is Double Wings and that will release sometime today.

L
Lance Bohy · July 30, 2026

Awesome!

D
Daivis Alejandro Agudelo Zambrano · July 30, 2026

Excelente!! trabajo

D
Dr. Manga · July 30, 2026

Great to know! Thanks team!

B
Bart394 · July 30, 2026

Update all integration!!! Thanks for working on this

r
ronalvel . · July 30, 2026

Thanks !!!!