Release Yabause

just wondering if anyones played any playable games yet? ive not found any with overclocking yet but am probably trying the wrong games out, whats everyone playing with the emu?. Thanks again
Bomberman wars gets through to the title screen but freezes when I try to start a game. Its a BIN file and running at 1030mhz with ari64 settings.

Dark Savior same thing happens but is an ISO...

Radient Silvergun works :D Very slow though...

Shining the Holy Ark works :)
Last edited by a moderator:
I didn't think it was, and you've probably seen where I've mentioned before that I think that SH2 recompilation to ARM may benefit more from a lot of the allocation registers being statically selected instead of dynamically if it doesn't cross blocks. At least I convinced notaz to do that.. would be interesting to see which works out as better I guess.
Well, the register allocation situation is certainly better than N64, but still you've only got about 12 registers to work with (not counting stack, link, and global pointer). Take out another few for the cycle count, address generation, and memory map (although those are somewhat negotiable) and you're down to nine or so registers. SH2 has 22 registers, of which you could at most statically map 9.

And from what I recall from drk||Raziel, SH code relies on a lot of constants loaded from PC-relative areas, particularly branch targets. And that it helps recompilation a lot if you can assume these are constants at compile-time, but then have to have some way of determining if they're modified (drk used MMU-assisted write protection w/OS signals for this).. are you currently doing anything like this?
Yes. Detecting modifications works the same way as detecting self-modifying code, it checks for writes. I used 4K pages for trapping writes, mostly because I reused the code from mupen64plus. Saturn games have an annoying habit of writing data very close to code. The PSP port of yabause uses 256-byte pages for detecting writes, which still isn't small enough since some data is written less than 256 bytes from executable code. The way I ended up dealing with this was if a write hits a protected 4K page, it checks if the write actually hit any compiled code blocks before dropping them. Since this check takes extra time, if it happens more than 500 times then it drops the blocks anyway and un-writeprotects the page. The 500-times counter gets reset with each vblank. Also it keeps track of writes that were trapped, so if it has to recompile a block due to writes, then it won't treat values as constants if those locations have been written to recently.

That and I guess the memory stuff would be pretty different from N64 and PS1 since the memory is no longer at 0x80000000.. I guess my question is if a majority of accesses still tend to go to only one of the RAM regions, since I'm sure that determines what solution you've used.
The Saturn has a rather complex memory map. Basically I used a look up table, similar to the TLB emulation for N64. If the target address can be determined via constant propagation, then the LUT is bypassed.
Ok, an update on what I have found for those who have not tried yet.

Bomberman wars gets through the menu but seems to freeze when you try to start a game.

Dark Savior gets through the title screen but once you press start the screen goes black and nothing more.

Radiant Silvergun seems perfect apart from the speed. Played through the first level and was quite a laugh :) (Actually, the slow speed made the game easier)

Shining the Holy Ark gets into game and works with graphics glitches. Also very slow.

Guardian Heroes plays the FMV but if you press start the game crashes.

Panzer Dragoon Saga plays the FMV but does not get into the title screen.

Virtua Fighter 2 gets stuck on loading into game.

All games I have tried so far seem to run at about 2-3 frames per second at 1030mhz.

It will take me a while to convert all my cds. I will report more when I have time :)
Last edited by a moderator:
To add more to the "compatibility list", here is what I've tried at 900MHz and what the results were:

NiGHTS Into Dreams: Emulator Crashes After the SEGA logo.

Sonic 3D Blast: Runs. Intro FMV doesn't show up. Music doesn't play, but SFX do. Graphics overlap incorrectly, some real object lag makes judging object locations hard. Entering the special stage crashes the emu. Got through Green Grove Act 1. Using the Underclocked version provides a slight speed increase. Turning off NGB2 & 3, as well as RBG0 seems to give slightly more speed and doesn't seem to effect anything....

Sonic R: Well, this one does start up.... and the menus navagate easy. Once you get in-game, though, the ground doesn't render, Making the game pretty much unplayable. (I Did somehow manage to make 1 lap, though... o.o )

Sonic X-Treme Beta: Donno why you would want to run this, but the emulator crashes after the Sonic X-Treme logo fades away.

Gex: Crashes after the SEGA logo.

Clockwork Knight: Runs... Perfectly. No graphical errors at all. In fact, a little more speed up and this game could actually be playable. :)

Clockwork Knight 2: Runs. FMV shows up and runs. In fact, outside of the level screen not rendering right, this game runs how it should. No problems with anything. (Well, besides the constant lag), turning off NGB 1 & 2 as well as RGB0 seems to give a slight increase with no real losses. The Underclocked version also gives some speed.

Bug Too!: starts up. FMV works. Get In-Game though and all you can see is the sky... and press buttons, but you can't see what you're doing.

Sonic Jam: Well... It runs, but you can't see the options on the title screen, and if you go into the game menu by pressing start, the screen goes white. The music plays, but as far as I can tell, the emulator is locked up, because it won't let me select anything or go back.

Overall, most of the games that do run can run anywhere from maybe 2 frames a second to 10 frames a second, the best being Clockwork Knight.

Let me know if there's anything you'd like to be tested. :)
Last edited by a moderator:
Daytona USA (both the original and Championship Circuit Edition), Sega Rally, and Virtua Racing. It's a real wonder that nobody's looked at these defining titles yet.
I couldn't get Daytona or Sega Rally to even start. They both crashed the emulator for me... :(

I can't wait to get all of my games into ISO format :) It's amazing playing some of these on a handheld :)
Last edited by a moderator:
Which Daytona? There were two versions. And what about Virtua Racing?

Doubt they'll run, because they're quite intensive on the graphics.

I know. But why not.
Awesome. I'm playon Clockwork Knight, Its a little slow, but let's see how far I can get.