I spent the last few weeks refactoring the code for Truxton II, Snow Bros. 2, Whoopee!!, and implemented Teki Paki. I also added support for the HD647180 version of Whoopee! to the Teki Paki core. These boards all share similar components, but are designed differently. To get a better idea of what this entailed, you can take a look at the Toaplan2 repository history.
I've pushed all these changes to distribution repositories for MiSTerFPGA and OpenFPGA projects or you can update manually. The biggest change is that Truxton II will require PocketFPGA users to reassemble to ROM file.
There are parameters set in code by the MRA file and they've changed. Failure to do so will result in graphics corruption as the sprite lag setting isn't read properly. I've made cosmetic changes, each title totally independent, update modules, adjusted sound playback, and set individual parameters in the GP9001 module.
There is popping in ADPCM samples on Truxton II when several enemies are destroyed at once, this is not due to missing ROM reads. I've verified ROM reads in simulation. Registers for the OKI are set by the program ROM and this title does not use a sub-CPU for audio.
The OKI MSM6295 uses a phrase command which is sent twice, the current implementation ignores multiple commands sent to the same channel (reference here) resulting in popping . I'll open a ticket in the JT6295 repository asking for support. This may also fix ADPCM issues in Street Fighter.
You'll see additional options for the OpenFPGA ports of Toaplan V2 games that I ported. To include a list menu, region selection, and the audio mix toggle for stereo sound in Truxton II.

Going forward, I'll be using Modelsim to run simulations when implementing a core and the Analogue Pocket as my primary method of testing during development. Why? Mainly due to time, but the Pocket also has a better memory architecture than MiSTerFPGA. I plan to leverage this for future releases and Toaplan V2 titles.
Currently, the GP9001 runs 5 frames behind hardware due to SDRAM limitations and bandwidth. The master clock runs at 94.5 MHz which results in an integer clocking setup and runs 7x the speed of the main pixel clock (13.5 MHz).
While this is the maximum speed achievable on the MiSTerFPGA platform, I'll attempt to increase it to 108 MHz on the Analogue Pocket, eliminating the 5-frame lag. These 5 frames are a result of the M68000 CPU not generating the frame on time or the frame isn't drawn on time by the GP9001. Whichever is the culprit behind these 5 frames will be resolved by increasing the speed of the SDRAM.
The next title I'll implement in FPGA is Ghox (pictured above). I acquired the PCB from Beep back in October for reference. This will require use of the y80e core as Ghox is not backwards compatible with the z80. If the y80e core doesn't function properly, then we'll (Pramod and I) implement a z180 CPU ourselves due to it using the extended range and additional I/O ports.
After Ghox is implemented, I'll be tackling the z80 test location version of Dogyuun that was recently dumped and implemented in mame in preparation for all the dual GP9001 titles.
After the dual GP9001 implementations is set, we'll start work on implementing the NEC v25 CPU. It shouldn't take too long to create, the architecture is based on an Intel 8088 CPU. This exists in HDL. The current timeline is to finish these titles over the summer.
What additional titles will this work bring? Here's a list below:
TP-022 - Dogyūn!! / Dogyuun
TP-023 - Knuckle Bash
TP-026 - FixEight
TP-027 - V-V / Grind Stormer
TP-033 - Batsugun
Coin-Op Collection's latest member Brandon Arnold who does in-house reverse engineering has finished die analysis of the DL-3129 and schematic for this and the ZN-1 / ZN-2 hardware are complete.
We learned about some improvements in addressing and clocking used in the CPS2 AIO vs. CPS2 and have a clear understanding of how the CAPCOM board works. Once the ZN-1 / ZN-2 core is stood up and functional, all findings and reverse engineering work will be published.
In June, Pramod is going to send his Armed Police Batrider PCB to Brandon and he'll start reverse engineering the board and we'll be publishing the full schematic for Armed Police Batrider. Pramod will be auctioning off his original PCB with the proceeds going to a charitable organization.
Once the schematics for Armed Police Batrider completed by Brandon are published, he'll start focusing on the next "big platform" for reverse engineering and writing the ZN-1 / ZN-2 implementation.
To clarify, our organization is a group of individuals with varying schedules and commitments. Each individual has their own development process. Our work on the MiSTerFPGA, OpenFPGA, and additional FPGA platforms is a hobby, not a full-time job.
Currently, Darren has no plans to work on any projects for MiSTerFPGA in the foreseeable future. Pramod has no intentions of supporting the MiSTerFPGA platform beyond his Raizing FPGA implementation.
Brandon is targeting his work and implementation of Capcom ZN-1 / ZN-2 for the MARS (Multi Arcade & Retro System) platform and won't be targeting development of his core for MiSTerFPGA.
Your Patreon support directly funds the projects we undertake as a group. This includes donating or purchasing hardware for developers inside and outside our organization, buying equipment and supplies, and covers other expenses essential for research. It does not directly compensate us for our time.
I (atrac17) want to clarify that I have never said I wouldn't support MiSTerFPGA releases. This idea is untrue and seems to have originated outside our group. The only community Darren, Pramod, or I actively participate in is in the Coin-Op Collection Discord created for Patron supporters.
We understand there are community expectations regarding MiSTerFPGA support. However, technical limitations exist, and each developer has their own process. Code for our implementations will be made available once complete and deemed suitable by the primary developer if MiSTerFPGA support is not planned.
In the future, all releases from the Coin-Op Collection group will undergo a beta testing period. This typically lasts 90 days, but may be longer for complex cores. I have no plans to restrict access to these beta releases other than private posts for current supporters. This policy may be adjusted depending on end users and may result in a form of "DRM".
If you're a Patron and are having trouble accessing the discord, please use the follow the instructions posted here. You'll automatically join the server after setting up integration between Discord and Patreon.
If you've set a link between Patreon and Discord and haven't auto-joined the server, please remove the Discord account from Patreon and then relink it following the instructions provided above in the link. This has been verified from a supporting user.
Next week we'll see WWF WrestleFest from the Technos16 core released to the OpenFPGA distribution page for downloaders. Double Dragon 3: The Rosetta Stone will see it's first release candidate here on Patreon for the Analogue Pocket by Pramod and be the first core to enter the beta phase.
Additionally, I'll give an update on the NMK16 core, the Pac-Land core, and the next big reverse engineering project. Have a great week!
John Perry
2024-05-27 10:53:18 +0000 UTCbrian Yu
2024-05-21 13:24:55 +0000 UTCatrac17
2024-05-21 06:12:33 +0000 UTCbrian Yu
2024-05-21 04:11:50 +0000 UTCatrac17
2024-05-20 11:01:29 +0000 UTCAndrea Bogazzi
2024-05-20 07:06:32 +0000 UTCHT
2024-05-20 04:38:01 +0000 UTCatrac17
2024-05-20 02:07:39 +0000 UTCAndrea Bogazzi
2024-05-20 00:40:31 +0000 UTCNFGphoto
2024-05-20 00:22:57 +0000 UTCatrac17
2024-05-20 00:21:10 +0000 UTCNFGphoto
2024-05-20 00:03:51 +0000 UTCatrac17
2024-05-19 23:59:26 +0000 UTCNFGphoto
2024-05-19 23:56:58 +0000 UTC