PPCenter :: devblog

PPcenter. Arts and craft for my Sega Saturn. Since 1847 :D

How to fix your cartridge with Pseudo Saturn Kai

Written by cafealpha 4 comments
Sorry for the clickbait title, but I'm sorry to say that it's not possible to fix your Action Replay (or any similar clone) with Pseudo Saturn Kai

Below are common myths wrongly related with Pseudo Saturn Kai : theses are detailed in this blog article in the hope it will help users with similar problems, and also to -hopefully- relieve my emails inbox regarding theses inquiries ...


Q1 : Expansion RAM no longer works ! Will reflashing Pseudo Saturn Kai help something ?
A1 : It won't change anything ! Expansion RAM is a cartridge hardware feature and consequently Pseudo Saturn Kai (software side of the cartridge) doesn't have any interaction with it.
→ If your cartridge is experiencing troubles with expansion RAM, it's likely to be related to cartridge connection or cartridge itself. So rather than e-mailing me, it's more relevant to contact the manufacturer or re-seller of your cartridge about this kind of issue.

Generally speaking, all Action Replay cartridges and their clones are using legacy electronic components no longer manufactured for nearly a decade. So even if your cartridge was sold as "brand new", it may either contain refurbished chips, or counterfeit chips, or both : there's not a lot to expect regarding quality.


Q2 : Cartridge self test feature in Pseudo Saturn Kai doesn't reports any problem : does it means that the hardware of my cartridge is working correctly ? And consequently does it means that the XYZ problem I'm experiencing is related to Pseudo Saturn Kai ?
A2 : Cartridge self test feature just tests the bare minimum of the cartridge : if it fails, then there is certainly a problem around hardware. Conversely, it doesn't means anything when no problem is reported.

BTW, I developed this self test feature to quickly test the hardware of a cartridge, and not to get a proof that hardware is not guilty when a problem happens ! It's always exhausting to read stuff like "cartridge self test passed, so my XYZ problem is caused by Pseudo Saturn Kai" ...


Q3 : I heard that game XYZ isn't compatible with Pseudo Saturn Kai ? Is that true !? Hurry up to fix that !
A3 : There are many causes of incompatibility other than Pseudo Saturn Kai :
  • Frequency incompatibility : Pseudo Saturn Kai bypasses game region check, but isn't any help regarding frequency compatibility : if a game was tailored to work on a PAL console, it may then not work correctly on a NTSC one and vice-versa.
    Simple countermeasure to this problem is to use game from same region of the Saturn where it will played on. And if it is not available then complete countermeasure is to add a frequency mod on your Saturn, or eventually to use a both NTSC and PAL Saturns for playing games of each regions.
  • CD-R and Saturn laser affinity : Saturn wasn't developed to play games from CD-R, which may be harder to read than official CD-ROM.
    So if a game doesn't wants to boot, then it's worth trying with another brand of CD-R, or to burn it at different speed etc.

  • Disc image dump quality : iso+mp3 format was good when downloading few tenth of MB cost time and money but is an aberration regarding compatibility.
    Nowadays, downloading large files is not a real problem hence bin+cue format should be considered as the bare minimum requirement that usually plays well but may cause problems with some games.

    And, most accurate dumps are usually found in format supported by Rhea and Phoebe and should be preferred if you want to avoid problem(s) caused by discs badly dumped.

    Additionally, I would like to remind that Pseudo Saturn Kai main role is to play CD-R backup copy of games from your collection, so if you want to ask me about the not playing iso or bin dump of the game you don't even own, then you're about to knock to the wrong door

    → First, purchase the original CD-ROM of your game, and test if it works on your Saturn or not : if it doesn't play, then supported frequency and/or hardware problem on Saturn side should be considered before asserting anything about Pseudo Saturn Kai. If the original game plays correctly it is then time to copy it on CD-R and then preserve original game preciously

    Finally, it would be appreciated from users (you) to report non-working dumps to the webmaster of the page where theses were downloaded from : this would help whole community regarding preservation of Saturn games.


Q4 : Are you earning royalties from Action Replay (and other clones) cartridge manufacturers ? If yes, then hurry up to fix my hardware problem !
A4 : I don't earn anything from legacy cartridge manufacturers : you paid $35 for your Action Replay cartridge ? I received $0 from it. You paid $60 for a red "all-in-one" ©®TM cartridge ? I received $0 from it.
Also, I never begged any crowdfunding to develop Pseudo Saturn Kai, and even preferred to nullify my donate page rather than receiving donation related to Pseudo Saturn Kai. You paid $0 for Pseudo Saturn Kai to be developed ? I did it during hundred of hours of my free time and sometimes with high doses of motivation

And while restricting Pseudo Saturn Kai usage to my own projects (USB dev cart and Gamer's Cartridge) would had significantly simplified software architecture, I did my best to keep Pseudo Saturn Kai compatible with other legacy cartridges so that a wide range of users can enjoy playing Saturn.
Maybe that looks simple to do, but it's really not : the more complex the software architecture is, the more likely development becomes difficult, or that unexpected problem happens in the meanwhile.

So if your cartridge is experiencing a problem, it would be appreciated if its manufacturer could be blamed instead of me



This Q4 / A4 is an half-joke : so far I wasn't asked about that, but it is mentioned here to put emphasis on all the time and energy it cost to develop Pseudo Saturn Kai (I started its development at the end of 2014 !), and all the returns I have from it ("fix my flaky cartridge", "fix support for that poorly dumped game") ...



It took time, but I could find a card a bit linked to customer support from my Dragon Ball cards collection, and hope you will appreciate it ... the card, not my customer support skills
「お父さんは、エンジニアリング以外のことは苦手なんです。」
だから、開発すら関わってないモノのサポートについては期待しないでね。

Read more How to fix your cartridge with Pseudo Saturn Kai

CRC merge done !

Written by cafealpha 4 comments
Among the boring tasks remaining in Pseudo Saturn Kai development, there was "IP header CRCs merge to cheat codes list" task remaining ...
... There was, because I finally finished to merge the CRCs I could gather here !
Well, I think there are still 20-30% of the games in cheat codes list still not associated with any CRC, but anyway that's a fair amount of work done so far



Last CRC merged, at the end of cheat codes list
Left text file : list of IP headers and their CRCs for each games I have here
Right text file : Pseudo Saturn Kai cheat codes list


What is that CRC thing ? That's a value I use in order to identify each Saturn games. Thanks to such CRC value, it's possible to easily associate each cheat codes to a given game, and consequently automatically select game in cheat codes list according to CD-ROM inserted in Saturn CD lid.
You don't like to manually select a game from cheat codes "select game" menu ? Me too So that I added this "automagically select game" thing in Pseudo Saturn Kai cheat code feature


By the way, it's probably a bit late for a surprise effect, but I'm glad to to announce that cheat codes feature will be available in Pseudo Saturn Kai next release

Basically, cheat codes handler now works ... for a majority of games tested so far. And user interface regarding cheat codes stuff is more or less okay ... but still needs to be perfected here and there.

So as you guessed, there are still details to complete until considering Pseudo Saturn Kai cheat codes feature ready for public release, and unfortunately polishing details usually (always) require time in software development, so let's hope next release will be available in a near future, which is "this year" in my own time scale regarding Saturn projects


Nights into dream cheat codes working !
That's the first game I used in order to test assembly version
of cheat codes handler


Having fun with cheat codes and USB connectivity on Radiant Silvergun
In-game memory contents are mine ! Ph34r my l33t h4Cklng sKI1lZ


So, the next development jobs are to support multiple CRCs per game : cheat codes list have several CRCs defined for some games (this is typically used for games using several CD-ROMs), but Pseudo Saturn Kai currently supports one CRC per game.
Modifying the cheats list → data conversion utility in order to support multiple CRCs will be also an occasion to add some extra verification stuff regarding CRC, such as verifying that two different games don't collide on the same CRC, which is something like around 2500 different CDs versus 4 billions possible CRCs ... hence should be OK, but who know what may happen when developing software


After that, it will be probably be the time to do some testing on as many games as possible, in order to verify that cheat code and game are correctly associated, and to verify that cheat codes are correctly working, etc.
Such task will require a significant manpower, hence to find a lot of beta testers. So if you're ready to give a hand, please stay tuned

Read more CRC merge done !

Gamer's Cartridge out of stock :]

Written by cafealpha 5 comments
Out of stock ":]". I'm glad to have finished this batch
I don't plan to sell Gamer's Cartridge for a while, because stock of parts to build theses cartridges (electronics components, PCBs, labels, etc) is currently very low here. I'm even lacking of bubble paper used when shipping cartridges

So, what's next ? Of course, Saturn stuff  I plan to use this "break" in cartridges manufacturing and sales in order to continue Pseudo Saturn Kai development.
Main feature to add is cheat codes, which is a bit "heavy" one to implement, because processing in order to make cheat codes working isn't documented in details.
But that will be done ! Also, there are some side quests here and there regarding Pseudo Saturn Kai features. I plan to implement as far I can, so it will be limited only by my free time, my motivation, and flash ROM remaining on cartridge

data/images/20170215_sgc_v33b_gerber_preview.tb.png
Gerber preview before ordering PCB on
Seeed Studio, very classy and realistic

Edit (2017/05/11) : finally back in stock
I catched the occasion to make some minor improvements to my homepage, such as adding anchor link to some sections, adding some directions for Japanese users, etc ... and I'm already full up with writing HTML

Edit (2017/05/12) : half of the stock already reserved oO
data/images/20170512_escalated_quickly.jpg
Cartridges are assembled by hand, hence stock is small, but I'm impressed anyway

Read more Gamer's Cartridge out of stock :]

Pseudo Saturn Kai lite firmware fixes and improvements

Written by cafealpha no comments
One month from last update, but not significant updates
The reason is that children fought with nearly all typical winter diseases during the last three weeks : mumps, influenza (x2), gastro enteritis, and finally otitis ... x2 too

data/images/20160314_gg_winter.tb.jpg
Internet husband ...
I hesitated to put other pictures like "x2 combo !"
and "body temperature over 40 ? High score !"

Children were relatively safe from winter diseases until last month, but last spurt until summer was relatively heavy for them


So, no significant updates, but various minor updates :]

Among theses updates, main menu display has been improved when lite version of the firmware is used :
 - "Extra" features moved to main menu
 - System status now displays Saturn related informations (BIOS version and PAL/NTSC frequency information) rather than nothing when USB and SD card aren't detected.
Theses changes concerns USB dev cart and Action Relay users, hence the majority of Pseudo Saturn Kai future users, so theses changes couldn't be avoided before initial release

Here are pictures taken before and after the changes.
Many thanks to Zone66x for testing and taking theses pictures

data/images/20160303_pskai_5820.tb.jpg
Pseudo Saturn Kai v5.820 : status display was a little "empty"
And USB port was incorrectly detected when running from Action Replay ...



data/images/20160310_pskai_5875.tb.png
Pseudo Saturn Kai v5.875 : some saturn informations are now displayed.
There's no simple way to detect if cartridge is Action Replay or not,
so generic "Boot Cart" string is displayed when cartridge type is unknown.

And main menu is a little simpler :
no longer need to go to sub menu in order to access extra features.


Also, Zone66x verified that Action Replay communication port (parallel-like port) was usable with Pseudo Saturn Kai. Thank you for testing



Another new feature I'm proud enough to introduce it on my blog is the soft reset "à la carte"
Soft reset is used in Pseudo Saturn Kai when loading game from CD-ROM, and also when executing program received from USB port.
Basically, it wipes all memory, and puts VDPs memory and registers in initial state, which is good when loading game from CD-ROM, but causes problem when Saturn developer wants to do something else than "just" executing program on main RAM.
The "à la carte" advantage comes here : it is possible to select which module to soft-reset, and which one to let as-is before executing program.

Here is an example :

data/images/20160318_pskai_main_screen.tb.jpg
Pseudo Saturn Kai (lite version installed on USB dev cart) main screen.
Test program will be executed from this screen.

Let's try to let VDP registers and VDP1 RAM as-is when uploading test program :
data/images/20160318_test1_satlink.tb.jpg data/images/20160318_test1_result.tb.jpg
Soft reset "à la carte" settings and execution result :
Starfield (VDP1) remains in memory and is displayed on test program.


One more try, but with VDP1 RAM clear before execution :

data/images/20160318_test2_satlink.tb.jpg data/images/20160318_test2_result.tb.jpg
Soft reset "à la carte" settings and execution result :
As VDP1 RAM is cleared, starfield is no longer displayed.

Possibilities for this features are relatively wide : it's for example possible to upload graphics on VRAM, then level data on sub RAM, then execute test program on RAM.
I hope this will help to improve Saturn homebrew development scene :)

Read more Pseudo Saturn Kai lite firmware fixes and improvements

Merry New Year !

Written by cafealpha 6 comments
I sometimes check this blog in order to verify if there are some interesting news, without success, and then I realized that I am the only author of this blog (), hence though I should write something here in order not to deceive my countless fans.

So, sorry for the lack of news recently, I was busy with Saturn things, but also in deciphering Christmas presents lists ... and now busy in tidying up lego blocks and trashing used wrapping paper

I hope you're spending nice Christmas vacations ! I'm a little late for wishing you a merry Christmas ( ), and a little early to wish you an Happy New Year ( ), hence the broken title


So what's new with my Saturn projects ? In fact, nothing worth writing an article, but here is a short (and probably incomplete) list anyway :

 1. SD Memory Cart : when overwriting save on Saturn side, keep the old save file on SD card (but remove it from saves list, of course).
Basically, it automatically keeps old saves somewhere on SD card, so that it is possible to revert to a previous state. I hope Saturn RPG fans will like

 2. USB dev cart mode : when USB cable is detected, allow to unlock CD-ROM and then prompt for data upload.
This feature allows to makes tests on Saturn main program using data from CD-ROM without the need of installing a modchip, and without the need of burning a CD-R on each program changes
Special thanks to Shazz for reminding me to add such a feature, antime for wiring FTDI's PWREN signal to Saturn (it was unused for 3 years, but it was useful in order to detect USB connection, and hence hiding USB dev mode for normal users not using USB), and of course CyberWarriorX and jhl for Pseudo Saturn

 3. PCB changes : basically removing few debug "in case of" stuff, and also moving SD card socket in order to fit better with cartridge shell.
It is still WIP, but plan to send the updated gerber to the PCB house on next month.

 4. Few changes to the sources of yabause I'm using for testing my projects.
Especially, I added position save/restore and keyboard shortcut to each debug dialogs ... long time I wanted to do this

 5. In Backup Data Manager, some additions to "Import" feature : backup data dump file read and parse was done a while (4-5 months ?) ago, I just added something to select where (Internal Memory or Cartridge or Floppy) to save selected saves, and plan to port save data extract algorithm next month or so
Thanks to hitomi2500's ss-save-parser project, such "Import" feature is easy to integrate in my Backup Data Manager project


Last but not least, I also want to thank Stac user on Assembler forums
He's doing good job in beta testing, and thanks to his reactivity and good communication, project is progressing faster than I was expecting.
Beta testing is far from being a funny job, especially with me as main programmer (), and when testing requires to play games (this requires time, and bugs on my Saturn project may lead to loose of progress in game), so once more, thank you 

Read more Merry New Year !

Rss feed of the tag