PPCenter :: devblog

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

Rebirth

Written by cafealpha 6 comments
Today is some kind of special day for me : among many other things, this is the anniversary of Jean-Luc Le Ténia, the best French singer in the world ! Jean-Luc would had be 45 years old today but unfortunately is no longer here to celebrate today with us.

Today is also the 4th anniversary of Gamer's Cartridge initial public release. For more than three years, this project was the occasion to meet many people, to loose hair on many bug and -I hope- to have contributed in a better Saturn community

Jean-Luc Le Ténia is no longer here, Gamer's Cartridge production was frozen (not to say discontinued) last year because of enough free time lacking to assemble new cartridges. And Saturn gamers are now either using Action Replay (reliable expansion RAM but no backup memory) or "all-in-one" cartridge (backup memory but sometimes buggy expansion RAM) to play their favorite games.


To makes things a little brighter, the best I can do is to develop a new Pseudo Saturn Kai fitting more nowadays needs and situation :
  • Built-in support with latest ODEs
  • In-game save data access for Satiator ODE
  • Save data storage on cartridge flash ROM

As a consequence of my free time being limited from this year, I thought in stopping non-priority projects to focus on other (not necessarily Saturn) ones. But on the other side, if I don't improve Pseudo Saturn Kai, I'm not sure that somebody else would do it for me !

So if the Saturn community shows enough interest, I would like to contribute to a newer Pseudo Saturn Kai

And to measure if the community is interested or not, I'm making Pseudo Saturn Kai development crowdfunding-based.
Principle is simple : the more interest (support) from the community, the more free time I allocate on Pseudo Saturn Kai. And the less interest from community, the more free time I spend on other projects.


My new patreon page

I don't plan to make a living in developing Pseudo Saturn Kai, and for this reason all the development made so far was done on a altruist basis.
All the development made so far (cheat codes, Rhea/Phoebe support etc) was cool but honestly a lot of work. So with your help I would like to find enough energy to give it birth again

Read more Rebirth

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

Rss feed of the tag