💦 CREATE AND FUCK YOUR OWN AI CUMSLUT 🔥 TRY NOW ♥
Create AI Cumsluts 💦
Cave68000_MiSTerFPGA_20250625.zip 4.5 MB
03.gif
05.gif
June 25, 2025

Coin-Op Collection Presents: Pretty Soldier Sailor Moon (Cave 68000)

Today's release marks the next entry in our Cave 68000 platform, Pretty Soldier Sailor Moon. A unique game featuring large sprite work, colorful tiles, digitized voice samples from the cast, and cel animation from the original animated series.

This game was developed by Gazelle Co., Ltd., a game studio staffed by former Toaplan developers. Gazelle was a short-lived spin-off formed in 1994 following Toaplan’s bankruptcy, and it released just three games before closing its doors. Interestingly, Naoko Takeuchi herself oversaw the game's creation alongside the development team at Gazelle.

I've always been a fan of beat 'em up games, this one in particular, and the franchise itself. Unfortunately, it's not a common PCB; it's highly sought after and quite expensive. It’s a shame the development was rushed by Gazelle, as the game had potential to be much more than what was released.
Below, I’ll cover some development highlights, installation instructions, and core options. But one thing I want to highlight specifically is the Tokyo Tower cutscene in Stage 3. This scene is rendered incorrectly across all emulators, but our core faithfully reproduces the behavior of the original PCB!

The Usagi (Serena) sprite is layered incorrectly at the top of Tokyo Tower. This issue is caused by the sprite buffer overflowing. Initially, the object ID is correctly positioned in WRAM, but when the buffer overruns, it temporarily causes the object ID to render in the wrong section of WRAM, resulting in layering issues.

What's New For Cave68000?

  • Rewritten audio pipeline; full sound support across all Cave68000 hardware

  • New parametric audio mixer module from our Koin3 (K3) framework

  • Sound CPU implementation with synchronization and acknowledgement system between both CPUs

  • New OKI MSM6295 (x6295) implementation

  • IKAOPM, a die-shot based YM2151 implementation

What's Next For Cave68000?

  • Koin3 (K3) framework and supporting modules for MiSTerFPGA

  • xsd64/xsd128 SDRAM controller with faster CAS2 timing

  • New YMZ280B (ADPCM8) sound implementation for Cave68000 hardware

  • Encrypted sprite support

  • DDR3 framebuffer and sprite ROM relocated to SDRAM

  • Upcoming titles: Air Gallet, Metamoqester

Installation:

This installation is similar to Mazinger Z due to the same issues. Sailor Moon uses encrypted sprite data, and until we move to a line-buffered approach and rework both the loader and SDRAM handling, you’ll need to patch the sprite ROMs manually, as there’s currently no loader support for decryption.

To keep things simple and avoid OS issues or Python setup, two .ips patches are provided. Apply these to the following sprite ROMs:

  • bpsm.u76

  • bpsm.u77

The easiest way to run an .ips patch is by visiting Rom Patcher JS. Below is a brief tutorial on how to patch the sprite ROMs:

After applying the patch, rename the generated files the following:

  • bpsm.u76.d

  • bpsm.u77.d

You'll also need to create a merged Layer 2 ROM. Why? Because support for interleaving multiple ROM files (e.g., 2bpp, 4bpp) that require interleaved padding is currently lacking in mra_loader.cpp for MiSTer. I'll set up a build environment for MiSTer Main in the future and submit a pull request to expand interleaving support.

In the interim, we've created a script that merges the 4bpp and 2bpp tile ROMs into a single 8bpp graphics ROM. It expands the 4bpp pixels, unpacks the 2bpp overlay, and combines them so each byte contains both layers, with 2bpp in the upper nibble and 4bpp in the lower. This packed format matches the expected ROM layout for Layer 2.

The process for running the script is simple; ensure you have Python 3 installed, then copy generate_layer2.bat, layer2_to_8bpp_interleaved.py, and the following files into the directory:

  • bpsm.u57

  • bpsm.u58

  • bpsm.u60

  • bpsm.u61

  • bpsm.u62

  • bpsm.u63

  • bpsm.u64

  • bpsm.u65

After this, double click the generate_layer2.bat or run it from cmd line and you'll see the following message:

Add the generated files to a directory named "sailormnd", then zip the contents or drag and drop them into a MAME merged set. This is only a temporary solution until interleave support is added to MiSTer Main and ROM loading and SDRAM handling are reworked in the core.

Once we've completed the above, the interleaved Layer 2 requirement will be supported by the mra_loader in MiSTer Main, and decryption can be handled directly in the core loader.

Place your chosen method of using the patched sprite ROMs in the games/mame directory on your sdcard. If you do not follow the instructions you'll see scrambled sprites (left) and Layer 2 (middle) will display incorrectly.

Core Options:

Below are the current options for Cave68000. If an option is grayed out in the OSD, it is not currently supported. This will change in following releases as we swap out modules and eventually move the core to k3 framework.

Cheat options modify program memory on the fly. If they are enabled and you reset the core, post-reset memory checks will fail. Make sure to disable all cheats before resetting or post checks will fail. However, Sailor Moon will boot if the ROM/RAM contents are modified.

The service menu is accessed through the EEPROM. To save your changes, click "Save settings". The EEPROM does not store hiscores, so we'll be adding support for that in a future release.

We'll see several tutorials and updates in the coming weeks; expect to see weekly posts, open-source framework, module support, updates to previously released games and a few other surprises this summer!

Until next time... GO JOE!!!



Disclaimer: 
All product names, trademarks, and registered trademarks mentioned are the property of their respective owners. "MiSTerFPGA," "MiSTer", "Mazinger Z", "Pretty Soldier Sailor Moon", "Banpresto", "Cave", "Gazelle", "Toaplan", "Toei Animation," 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 (17)

K
Kent Pendragon · June 27, 2025

Stellar work! 👏👏👏 Thankyouverymuch.

K
Ketafuki · June 26, 2025

This is awesome! Is there any way to play the USA release on this version?

C
Coin-Op Collection · June 26, 2025

Check the alternatives folder. The US version is missing elements from the game though.

D
Dr. Manga · June 26, 2025

Long time no see. But what a treat!. Thank you team. Good job. And waiting for you to take out some "Roadblocks" on your way so the "Duke" can go through.

A
Alex J Panchen · June 26, 2025

Amazing, looking forward to high score saving

h
hiddenloop · June 26, 2025

Thanks vsync_adjust=2; video_mode=0;vrr_mode=0 in my Mister.ini fixed it!

h
hiddenloop · June 26, 2025

This is awesome, nice work! I think I followed all the instructions correctly (I don't see corrupted sprites) - but the frame rate is super slow and stuttering for me.. on both HDMI and CRT... I'll try Mazinger and see if it happens there too

C
Coin-Op Collection · June 26, 2025

Check discord. This is.ini related.

F
Fabio Degrassi · June 25, 2025

Doesn’t work for me on TV or hdmi, only CRT. It got output at 114.9Hz for some reason

8
80's spaceman · June 25, 2025

dear, try changing this in the ini file: vsync_adjust=2; video_mode=0;vrr_mode=0

P
PolloLoco · June 25, 2025

So good - thanks Coin-Op Collection team!!

B
Bart394 · June 25, 2025

Yeah these installs are quite the pita… I will wait until G.I. Joe drops. Great work, however I would rather pay another 5 bucks or something to get a 1 or 2 step solution. Just my 2 cents..

G
Geckofingers · June 25, 2025

Thanks guys as usual.. install was so simple, took about 2 minutes. I've said it before but I really do like these semi - manual installs.

h
hyp36rmax · June 25, 2025

Always delivering! Great job guys!!

K
Kevin Clough · June 25, 2025

Will this be coming to analogue pocket?

C
Coin-Op Collection · June 25, 2025

Once the DDR3 framebuffer is swapped out, yes.

T
Tony Shong · June 25, 2025

Great work!!!