PPCenter :: devblog

PPcenter. Arts and craft for my Sega Saturn. Since 1847 !

Compiling Pseudo Saturn Kai

Written by cafealpha 2 comments
I was recently asked about the instructions to compile Pseudo Saturn Kai from sources archive provided with Pseudo Saturn Kai binaries, so let's write a short blog article to make things clear to everyone.

The simple answer is : Pseudo Saturn Kai can't be compiled with theses sources.


End of simple answer. Those who want more details can refer to the few lines below.
Technically, some sources files are missing from source archive, preventing someone from opening sources archive, making some few changes, and installing it on a cartridge.

Why ? For the simple reason nobody won't help me if ...
  1. Some dude takes sources, change logo and credits page and then release this as "Pseudo Saturn Kai Gold Edition made by some dude".
  2. Some dude adds a major new feature to Pseudo Saturn Kai, and start doing business by making this firmware (and the cartridges compatible with it) available for paying.
    This dude will eventually forget to release any source, but who care about that except me and few other nerds ...

Maybe I would be told this I'm overthinking, but case 1 and 2 above already exist. Theses are detailed in another blog entry, and deserve a look if your time allows it.

Concretely speaking, there is one model using Pseudo Saturn sources (whose sources are fully available, and with build instructions too), hacked to don't show any startup menu (why not would you say, it's more convenient for the consumer), and consequently not showing any credits nor any mention it was made from Pseudo Saturn ... why not would you say, but that's a massive NO for me, and the Pseudo Saturn team will certainly not appreciate that too.

Some other projects are using fancy case and label instead of Action Replay ones (I'm OK with that, especially because Action Replay design guidelines are completely outdated), but don't mention anything about Pseudo Saturn Kai on their covers and labels until booting the cartridge and discovering ... a vanilla version of Pseudo Saturn Kai without any mention of the fancy product name advertised on the cartridge box and label
I'm sorry for the consumers who were expecting firmware design to be unified with cartridge box and label : this wasn't done because some few files are missing in Pseudo Saturn Kai sources !


This case of "some people are making money from rebranded homebrew projects" is also detailed on Segaxtreme forums, which deserves a look if your time allows it.
The thread there is not by me, nor about Pseudo Saturn Kai, so I hope how real the fact is that there are people making money from other people's hard work ... that's maybe normal in any work place (), but that's a dick move in such a small Saturn homebrew community.


To sum up the bulky paragraph above, the way of sharing Pseudo Saturn Kai source code is not how it works in free software world.
In an ideal world, everybody share source code, and everybody other make contributions, and the project is getting brighter by brighter.
So if the story stops here, I'm the bad one, but in real world, people deface the credits page, rebrand the projects under fancy names and start making cash and show business from projects they didn't contributed on ... Maybe it's selfish from me, but I don't want that and consequently removed few files from Pseudo Saturn Kai source code.


And if I may add an additional paragraph about Pseudo Saturn Kai, I would like to say it is quite open in the magic world of application to play games on Saturn real hardware : modchips are completely closed-sources, ODE too.
In Pseudo Saturn Kai, the sources of the exploit to play CD-Rs, as well as the ones to redirect memory devices to SD card are available.
The source code of the implementation of cheat codes engine is available too. I coded it from scratch because sources of Action Replay firmware are not open source ...


To add a bit of melodramatic taste to this blog article, I would like to say I spent the last four years developing Pseudo Saturn Kai.

I didn't asked for any payment about it. The next day after I received a $5 donation for it, I changed my donation page from "send money here if you want" to "send me kind message or a comment on my blog".

I didn't begged for any kind of crowdfunding too, and just wanted to continue the project where CyberWarriorX left it.

While four years seems a long period for just two or three features, you probably may want to look at Pseudo Saturn Kai credits page, and all the people who contributed to it.
Theses two or three feature are not the kind of thing someone develop, test, re-test, fix, and keep testing more and more during a weekend. From my own experience, normal people don't continue development so far and just give up development after a couple of weeks.
And, I won't appreciate this credits page to be defaced. Not for my nick to be removed (I'm listed there only one time), but for the respect to all the contributors being lost.

And while I developed custom cartridge using Pseudo Saturn Kai, I kept support for Action Replay cartridge and their clones. That may sound obvious, but technically speaking it isn't, mostly because Action Replay have limited ROM size.
At some point of Pseudo Saturn Kai development, I hesitated to put cheat codes feature in a ROM portion larger than current one, but unavailable from Action Replay cartridges.
This would had made more cheat codes available, but the feature itself usable on Gamer's Cartridge only. I choose to keep a reasonable size for cheat codes list, so that it would be available for everyone on Action Replay cartridges


Words count for this initially expected "short" article is about to reach four digits soon (it's 827 words now), and as I doubt a lot of people will read it entirely, it's probably time to conclude :
  • No full sources for Pseudo Saturn Kai
  • If you want to make you own Saturn cartridge firmware, then feel free to use Pseudo Saturn sources as a starting point.
  • Feel free to technically refer to Pseudo Saturn Kai source code, and to merge whatever you find interesting there to your project.
Still begging for Pseudo Saturn Kai full source code ? No problem, I shall make it available to everyone ... if there's not a physical disaster on my dev laptop or its SSD in the meanwhile.
At that time, this will definitely be the end of Pseudo Saturn Kai development. For you, and for me too.

Read more Compiling Pseudo Saturn Kai

I wanted to publish an article this October ...

Written by cafealpha no comments
... and all of a sudden, November arrived

It's not like being under a quota of articles to write every months would stop the financing of my Saturn projects and in fact, as described on my "donate" page or this blog article, I don't have any interest in crowdfunding, or some kind of third party financing : if I'm not in the mood, or don't have enough free time to update this blog, then I don't update it

But well, moreover not being paid for not writing blog articles, as I actually have to pay to keep this blog alive (web page hosting is cheap but not free, but at least it's my own homepage ), I like to feed this blog from time to time even when being busy with real life things
So don't worry, I didn't stopped this blog : currently, I have one ongoing article that is waiting for its last paragraph and proofreading etc, but as I started more than two weeks ago (yes, that's my usual pace when preparing blog articles), please be patient until I finish it
I do have some ideas for future articles too, but theses are just ideas currently recorded as single lines in my TODO list, so I don't know when I actually start writing them


Regarding Pseudo Saturn Kai project, I ... didn't had a lot of free time to continue it recently In fact, I think I just turned on my Saturn once last month just to test if -as requested by someone by email- DoDonPachi worked with Pseudo Saturn Kai or not. The game worked fine here, so I turned off my dev Saturn an put it back in my closet for better times when I will be more available
BTW, I'm currently experiencing an unexpected burst of things to do at work, so it may take a while until things return back to normal But as I can't live without doing my Saturn projects, I promise that things will return back to normal as soon as possible


... Well, the contents in this article are a bit poor, so let's fill remaining space with random facts about my life recently The "okra" plant I wrote about in a previous blog article is still going well and I continue to water it regularly.

Okra in all its glory, 2018/10/18

Since summer is now finished, I no longer have to water it everyday, so that I now just do this regularly enough to prevent it from finishing yellow and burned  And yes, the kid who took back that from school completely forgot about its existence
I'm not keen on gardening (as suggested on the picture above, I don't even own a garden), but have a couple of pictures of other green things in reserve ... and I keep theses to fill future small posts

Read more I wanted to publish an article this October ...

Back to Saturn occupations

Written by cafealpha no comments
Hi everybody, I hope you had great holidays
On my side, I was busy with holidays during second half of July and whole August, but now back normal days routine

I plan to write a blog article about my holidays, but since preparing it takes longer than initially expected, please accept this small article to give a proof I'm still alive even after an handful of typhoons that crossed here during this summer

And, as I'm back to normal days routine, I would like to introduce to you -and in exclusivity- a free virtual tour to cafe-alpha's Saturn cartridges productions facilities

... Well, I'm too lazy to take a lot of pictures, so let's introduce the cartridges warehouse #2
I own three warehouses for storing cartridges before putting them on sale :
 - Warehouse #1 : receives cartridges from production facilities, and waiting for final QA testing.
 - Warehouse #2 : stores cartridges from warehouse #1 after QA testing. Also stores cartridge labels.
 - Warehouse #3 : stores cartridges which failed QA, or cartridges not for sale such as USB dev cart, or old prototypes, etc.

Warehouse #2 front entrance.
In the background can be seen the iron table ... not for
soldering, but for clothes
Please wear helmet before entering


The inside of warehouse #2

There are several labels available for Gamer's Cartridge, and I let user to choose their favorite one during ordering process. So in order to speed-up ordering process, I usually prepare one or two cartridges with popular label ... and hope that user will choose it
Of course, I also keep remaining cartridges with Action Replay labels (as received from cartridge shells supplier) so that it is possible to respond to unusual label choice too

Capacity of warehouse #1 is similar to warehouse #2, and there are no plans of construction works to extend them : developing and assembling Saturn cartridges started as an hobby, and I really don't want all the magic and fun from this hobby to vanish by making production, management, etc as serious as a work activity

Read more Back to Saturn occupations

Back from Holidays

Written by cafealpha 2 comments
Just a small post to indicate I'm back from holidays
In fact, I went back home one week ago, but didn't had time to write this article so far ... but in comparison with other articles on this blog, this one is quite timely anyway


Hand Spinner ! 540 Yens ! 売れています!
It seems I took vacations to the last place in the world where
hard spinner are still popular


Pseudo Saturn Kai development is continuing at its own rhythm. Development finally escaped from off days without a lot of progress, and is now in the period when I want to hurry to finish "this and that features" before release. Let's hope that motivation will continue flowing, and also that work won't be too greedy with my free time too

I honestly have no idea when Pseudo Saturn Kai will be ready for release except than "when it's done" So, please be more patient until having fun with cheat codes !

Among other small things, I'm currently making some updates to the credits page. Because a careless mistake until version 6.074, credits page was available only in Pseudo Saturn Kai full version, hence this will be the debut for it on next release for Action Replay users

Read more Back from Holidays

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 !

Rss feed of the tag