Danthrax (Sega Saturn SHIRO!)

Radiant Silvergun, Cotton 2 See Improvements in MiSTer Saturn Core

A bevy of updates to the Saturn core of the MiSTer FPGA have targeted problems with specific games’ graphics.

One prominent one that was fixed recently was Cotton 2, whose VDP2-drawn backgrounds were reported in January as having problems.

“I’ve seen that srg320 is working quite intensively on the VDP2 these last days,” said Kubo, a member of the MiSTer Discord server. “Seems to be doing some researches for working on Cotton 2 and other recent regressions we found, adding support for VDP2 hires mode.”

Another game with VD2 issues that was fixed was Radiant Silvergun. A user named TarkovskysMirror extensively documented errors with VDP2 backgrounds during Stage 2C on the Saturn core’s development Github.

On the left is a screenshot TarkovskysMirror posted of the Saturn MiSTer core’s behavior. On the right is a screengrab from iPlaySEGA’s YouTube playthrough on real hardware.

Many recent fixes are “regressions,” issues that had been fixed earlier and then popped up again after a later update. It might be a little like playing whack-a-mole for the core’s developer, Sergiy Dvodnenko, aka SRG320.

He’s issued four “unstable nightly” updates for the core since SHIRO! last reported on his progress on April 12, the most recent of which was just on Monday. As none of them have been added to the main branch, which automatically downloads to users’ MiSTers, the most recent updates will have to be manually downloaded from the core’s development Github, which also lists all of the fixes:

  • VDP1
    • rework the drawing of reduced sprites for better accuracy (Battle Garegga)
    • rework VRAM access timing to better match the original (Tokimeki Memorial (KONAMI logo), Whizz (background), Grandia (beginning), NBA JAM Tournament Edition (team selection screen), Yu-No (intro), BattleSport (“Unexpected development” logo))
    • implement High Speed Shrink mode
    • fix jump to the command with incorrect link address (Castlevania SotN)
    • fix clipping with incorrect Y coordinate (Revolution X (EU) title screen)
    • fix sprite drawing with HSS mode (Sega Rally regression)
    • fix sprite drawing with End Code mode (Tomb Raider regression)
    • fix sprite drawing when line drawing terminated by End Code (Pandemonium regression)
    • fix precliping calculation (Burning Rangers)
    • fix End Code processing (Grandia, Mortal Kombat II regression)
    • fix BEF flag (Tempest 2000)
  • VDP2
    • correct position of the Vblank flag change
    • fix rendering bitmap screen in hires mode (Galaxy Fight “now loading” screen,Capcom Generation 5 gallery)
    • fix rendering Normal screen with incorrect VRAM cycle pattern settings (Tenchi Muyou! Rensa Hitsuyou)
    • fix Vertical cell scroll process with incorrect VRAM cycle pattern settings (Magical Night Dreams Cotton 2)
    • implemented Coefficien Line color data (Panzer Dragoon II Zwei sky in 2nd episode)
    • fix timing for Vertical cell scroll data fetch (Magical Night Dreams Cotton 2)
    • fix rendering NBG1 in hires mode (Touge King of Spirits 2 regression)
    • implemented undocumented behavior with window vertical end position (Radiant Silvergun stage 2C)
    • fix rendering Normal screen with incorrect VRAM cycle pattern settings (X-Men vs. Street Fighter regression)
    • implemented up to 1/4 reduction mode (Saturn Bomberman final boss)
  • SH
    • hide unused modules to save FPGA resources
  • SCU
    • fix DMA reading from C-BUS (Sky Target freezes)
  • SMPC
    • initial support for analog peripherals
    • fix CKCHG command end position (Revolution X)
    • implemented strange behavior with SF flag (World Series Baseball 98, Pro Yakyū Greatest Nine series)
    • implemented open bus for SF register (World Series Baseball 98)
    • fix the reading of peripheral data
  • SCSP
    • Disable SCSP debug options for normal builds (Revolution X, Bust-A-Move 2 sound)
  • Set CAS latency 3 for both sdram chip
  • Rework the ddram controller: increase VDP1 VRAM access speed to improve accuracy
  • SH7604: enable WDT module (Sega Rally Netlink Edition regression)
  • Update README.md

Dvodnenko has been cranking out updates for the core every few days to every couple weeks since escaping Russian occupation in eastern Ukraine at the beginning of this year. Before that, there had been only occasional updates every month or two since he first released to the public a playable build of the core in May 2022.

Anyone interested in supporting Dvodnenko can do so at his Patreon.

The MiSTer is a field-programmable gate array, a chip that can be changed by programming it to physically emulate retro video game consoles. It includes an SD card reader from which “cores” and games can be loaded.

The cores are the programming that tells the FPGA chip how to configure itself to reproduce the performance of a console. There are cores for a wide array of consoles, from the Atari 2600 to the PlayStation — and now the Saturn.

This story originally appeared on Sega Saturn SHIRO!