Saturn MiSTer Core Now Passes Every Test
The Saturn MiSTer core has passed all currently known tests, according to one of the people who works on it, representing how closely it replicates the functionality of an original console.
“From one of the least well-documented consoles a few years ago, we now have one of the most precise cores in the MiSTer ecosystem,” said Zet-sensei, who works closely with developer Sergiy “SRG320” Dvodnenko to test updates to the core.
Street Fighter the Movie had a line of glitched pixels, seen here to the right of Ken, on the MiSTer core. A recent update fixed this bug.
The tests the core has passed include ones testing the emulation accuracy of many vital Saturn chips: DCC, SCU, SCSP, SMPC, VDP2 and SH-2.
“The work is not completely finished as we have to check other things on VDP1 and some future tests of Celeriyacon,” Zet-sensei said yesterday on the official MiSTer Discord server.
That’s because Dvodnenko asked Zet-sensei and
Celeriyacon
to test and verify some really obscure system quirks — namely, some SCU DSP overflows and the HRES register latch position. They’re parts that aren’t inside the tests at the moment, Zet-sensei said: “It’s just for extreme accuracy — and being future-proof.”
Celeriyacon first became involved in the core last summer when they contributed a
sound chip testing tool
. That effort has expanded to creating tools to test many of the Saturn’s circuitry.
On the MiSTer core, a single flickering pixel appeared in the upper-left corner of the screen in Panzer Dragoon and several other games. A recent update fixed this bug.
Zet-sensei’s comments followed new updates to the core yesterday that made a battery of improvements to emulation of the main SH-2 processors, the SMPC sound chip, the SCU co-processor and the VDP2 graphics chip. Dozens of fixes have been made over the last couple months in the form of unstable nightly cores. But they’re not part of the main MiSTer update branch, which was last updated two months ago, so they must be manually downloaded from the
official MiSTer Discord server’s
unstable nightlies channel. An unstable nightly core simply needs to be put into your MiSTer’s “consoles\cores” folder.
According to
the project’s GitHub
, these are the updates that have been made since the last time SHIRO! reported on the Saturn core and ST-V Titan arcade core
in mid-June
:
- SH7604:
- add mirror IO in WDT module
- fix timing in WDT module
- fix clearing OVF flag in WDT module
- fix unused register bits in FRT module
- fix clearing flags in FRT module
- add mirror registers in DIVU module
- fix the pohibited 16-bit access to registers in DIVU module
- fix bus release by slave (Batman Forever: player selection screen)
- fix the Sleep command
- fix bus release by Slave (Batman Forever: player selection screen, fixed regression)
- fix the split MA and Branch IF slots in SH2 core
- re-fix the Sleep command
- fix overflow in Division unit
- add mirror IO in WDT module
- fix timing in WDT module
- fix clearing OVF flag in WDT module
- fix unused register bits in FRT module
- fix clearing flags in FRT module
- add mirror registers in DIVU module
- fix the pohibited 16-bit access to registers in DIVU module
- fix bus release by slave (Batman Forever: player selection screen)
- fix the Sleep command
- fix bus release by Slave (Batman Forever: player selection screen, fixed regression)
- fix the split MA and Branch IF slots in SH2 core
- re-fix the Sleep command
- fix overflow in Division unit
- SCU:
- fixes for interrupts
- fixes for DMA and DSP for accuracy
- fix timing of registers access to match the original timings
- fix the PC update priority in DSP
- fixes for interrupts
- fixes for DMA and DSP for accuracy
- fix timing of registers access to match the original timings
- fix the PC update priority in DSP
- DCC:
- fix byte access to MINIT/SINIT
- fix SSH interrupts to match the original timings
- fix byte access to MINIT/SINIT
- fix SSH interrupts to match the original timings
- VDP1:
- fix drawing sprites with End Codes (STV Taisen Tanto-R Sashissu)
- fix Vblank Erase (Batman Forever: player selection screen)
- add option for blurred mesh
- re-fix drawing sprites with End Codes (STV Taisen Tanto-R Sashissu, Asuka 120% LimitOver hack)
- revert “fix Vblank Erase (Batman Forever: player selection screen)
- fix drawing sprites with End Codes (STV Taisen Tanto-R Sashissu)
- fix Vblank Erase (Batman Forever: player selection screen)
- add option for blurred mesh
- re-fix drawing sprites with End Codes (STV Taisen Tanto-R Sashissu, Asuka 120% LimitOver hack)
- revert “fix Vblank Erase (Batman Forever: player selection screen)
- VDP2:
- fix Line Window in interlace mode (Battle Arena Toshinden URA: health bars)
- fix reading registers to match the original timings
- fix for HV counters to match the original timings
- fix Line Window in interlace mode (Battle Arena Toshinden URA: health bars)
- fix reading registers to match the original timings
- fix for HV counters to match the original timings
- SMPC:
- fix Break condition for INTBACK command (Crusader: freezing at load level)
- revert “fix Break condition for INTBACK command (Crusader: freezing at load level)”
- fix the timing for fetching date/time data (Crusader: freezing at load level)
- fix Break condition for INTBACK command (Crusader: freezing at load level)
- revert “fix Break condition for INTBACK command (Crusader: freezing at load level)”
- fix the timing for fetching date/time data (Crusader: freezing at load level)
- Miscellaneous:
- Improved horizontal crop — the change eliminates unwanted expansion of the image, while preserving the function of cropping the sides of the image. The image remains at its original width, and black bars are added in the area that was to be cropped. (contributed by Kuba-J)
- Implement open bus on CBUS
- Remove unused signals
- Fix loading/saving of backup cart (contributed by zakk4223)
- Move Clones to Alternatives (contributed by TheJesusFish)
- Improved horizontal crop — the change eliminates unwanted expansion of the image, while preserving the function of cropping the sides of the image. The image remains at its original width, and black bars are added in the area that was to be cropped. (contributed by Kuba-J)
- Implement open bus on CBUS
- Remove unused signals
- Fix loading/saving of backup cart (contributed by zakk4223)
- Move Clones to Alternatives (contributed by TheJesusFish)
- STV:
- add cart bit mapping for DaeJeon! SanJeon SuJeon
- add a menu for selecting alternative BIOS
- Update MRAs for alternate BIOS support and add metadata (contributed by zakk4223)
- add cart bit mapping for DaeJeon! SanJeon SuJeon
- add a menu for selecting alternative BIOS
- Update MRAs for alternate BIOS support and add metadata (contributed by zakk4223)
Dvodnenko
first released
a playable build of the core to the public in May 2022 and has updated it many times since then. It was first
added to the main MiSTer branch
in October 2023, indicating that it was mature enough to be available to all MiSTer users rather than as an optional core that had to be added manually.
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, of course, the Saturn.
|
Danthrax |
|
Danthrax is a contributor to the SHIRO! Media Group, writing stories for the website when Saturn news breaks. While he was a Sega Genesis kid in the '90s, he didn't get a Saturn until 2018. It didn't take him long to fall in love with the console's library as well as the fan translation and homebrew scene. He contributed heavily to the Bulk Slash and Stellar Assault SS fan localizations, and he's helped as an editor on several other Saturn and Dreamcast fan projects such as Cotton 2, Rainbow Cotton and Sakura Wars Columns 2. | |
|
|
|
|