PPCenter :: devblog

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

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.


#1  - Hslick said :

(me once again sorry but I feel the need to comment)

You're very kind for taking the time to explain it to everyone, but honestly, I don't think yout owe us an explanation further than: it's your property.

"Well", you might say, "I took CyberWarriorX's code and tweaked it, and also, others contributed, so it's not just mine". This is a fair point, but the man who invented the wheel is not owed royalties from the man that made the wheelbarrow, the wagon, the car, or the HotWheels toy - you've made significant additions to the original Pseudo Saturn, given credit to the original and all those people involved in this one - and what did you get in return? $5.

Next they'll be asking for a key to your house.

#2  - cafealpha said :

Sorry for the delay. Work on weekdays and overwork on Saturday ...

Legally speaking, Pseudo Saturn Kai is not my property, because it's licensed under GPL license. All additional and/or derivative work done to GPL project must be licensed GPL too. This implies to share all the sources but fortunately I can keep the key for my house.

As detailed on the article, the point of Pseudo Saturn Kai being appropriated by someone else (same contents, but different project name, logo and credit pages) is one of my concerns : I spent enough time and energy on this project to deserve some respect, which some people seem to lack. Additionally, Pseudo Saturn Kai just requires a CD-R, swap trick and 15 minutes of end-user time to install on a stock Saturn, so it's always a pity for me to see cartridges with Pseudo Saturn Kai pre-installed sold at the double of plain Action Replay cartridge.
AFAIK, GPL doesn't protects theses two points (appropriation and making cash from a project you don't contributed) and in my opinion this is what makes this license not suitable for single-developer project, or artistic projects etc.

I didn't wanted to detail about the second point why some sources files are not available, but as you seem interested in this story -and that it's difficult to hide this second elephant in the room- let's speak about the Satisfier project.
As you probably know, it is a project of Saturn ODE "plug in Saturn VCD port and play" not requiring any kind of hardware modding. At the beginning of the project (around 2015 ?) I was quite supportive about it until it turned into a crowdfunded project.
Now, the outlines of this project are more or less "Send me money and you may be able to buy a Satisfier someday. Menu software for it is currently a stub but it is licensed under GPL so certainly someone may gladly improve it in the future."
Everyone is free to fund the project they like, so I'm OK with the first half of the project outlines. But the second half about the menu software really grinds my gears : Menu for Rhea/Phoebe ODEs was a pain to implement (to give you an idea, it kept me busy during the second half of last year) but it was a meaningful experience and if it had to be done another time I won't hesitate to do it.

The main reason why I made this Rhea/Phoebe image selection menu is that theses ODEs were self-developed, and also because Deunan (Mr GDEMU/Rhea/Phoebe/etc) didn't begged for the development of this menu : this was developed simply because a friend asked about it.
And I didn't made it for my own purpose : before starting development of this feature, I was happy with my modded Saturn and USB dev cart. I never asked for any compensation, but at some point I was asked by Deunan if I wanted a free Rhea or Phoebe for testing on real hardware so it was hard to decline. Now I'm happy with Phoebe'd Saturn + USB dev cart and my old modded Saturn preciously stored in case of I need it in the future.

On the other hand, Satisfier is begging both development funding, user-friendly menu, and margins when it will be mass-produced ... that's not my vision of Saturn homebrew development so I really won't stand someone grabbing menu related sources from Pseudo Saturn Kai and adapt theses to Satisfier.

After some days (and few nights too) thinking about that second elephant in the room, I think I should open a crowdfunding page for Satisfier related parts of my projects : this will close the loop regarding licensing issues and also will be the occasion to see how well (or bad) people have interest in software-only projects. If nobody care then it will be simple for me : full sources of Pseudo Saturn Kai v6.314 will be my last public contribution to Saturn homebrew scene.

Opening a crowdfunding page for Satisfier won't change anything for other ongoing projects : I assembled my first batch of USB dev cart from my pocket money, prototyped Gamer's Cartridge from same pocket money, and now sold enough Gamer's Cartridges to challenge on more ambitious projects. Same regarding software-only projects too : that's just fun on my free time so I will never ask money for that.

Edit : the more I progress in preparing this damn crowdfunding page, the less motivated I am in Saturn projects :D So let's wait a bit until the right time for opening that, and continue my own projects instead.
What is clear is that I won't do software support for this Satisfier just because it's fun : it's as simple as "no crowdfunding page = no ODE support", and "crowdfunding page + enough crowd-funders = no problem dear customer, and have a great time while I do that nasty software development :)"


Write a comment

Please enter this homepage's webmaster favorite video game console name.
It fits in 6 letters and is case insensitive.

Rss feed of the article's comments