PPCenter :: devblog

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

Pseudo Saturn Kai v6.314 - The newer the better

Written by cafealpha no comments
As indicated in the title : I'm glad to announce the release of Pseudo Saturn Kai v6.374 ! It is available for download at the usual address on my homepage.

This time, there aren't any "big" feature added, but rather a streak of small fixes as well as few minor improvements too. So don't wait to upgrade your cartridge and enjoy even more your favorite games with Pseudo Saturn

What's new :
  • Show error message when SD card is not inserted into Rhea/Phoebe ODE.
  • Added RmenuKai : enjoy cheat codes on Rhea/Phoebe even without cartridge !
  • Improved compatibility of JHL loader-only games with Rhea/Phoebe ODEs.
    (Panzer Dragoon Saga can now be correctly loaded from Rhea ODE)
  • Improvements in automatic selection of game in cheats codes feature.
  • Improvements regarding Virtual Memory Cartridge automatic settings.
  • Fixed support for some third party wireless pads.
RmenuKai for Rhea/Phoebe : test with cheat codes for NiGHTS
If you prefer hedgehogs, there is also a similar video with Sonic 3D.


And there's also a small Easter egg hidden in some menus ... will you be able to trigger it ?

What didn't changed :
  • Plays games backed up on CD-R, without the need of any hardware mod.
  • Comes with a bunch of pre-installed cheat codes.
  • Provides image selection menu for Rhea and Phoebe ODE.
  • Available for free and for everyone : it doesn't costs any license to install, and I didn't begged any money to develop Pseudo Saturn Kai too.

This version was thoroughly tested by same beta testers who followed development from last public release, but on the other hand it was tested by ... nobody else during beta testing phase ... this is probably a fault from me (it was announced for one week on segaxtreme forums, and ... for one day on this blog), but today is the third anniversary of initial release of Pseudo Saturn Kai as well as Gamer's Cartridge so I didn't wanted to miss this occasion 

So don't worry and happy playing ! I spent last 5 months in developing this version, and my favorite beta tester spent the same period in testing around twenty beta builds so it will run fine on your Saturn ! Trust me, I'm an engineer
 

Not my favorite PCB,
but at least it works.


It's time to pick up the kids at their Monday evening activities but I still have many tidbit stories to relate about ! So please stay tuned in future article(s)


Edit (2019/06/10) : it should be a good idea to add links for discussions on external sites :

Read more Pseudo Saturn Kai v6.314 - The newer the better

Pseudo Saturn Kai PRO edition - RC1

Written by cafealpha no comments
Once upon a night, I wanted to verify Pseudo Saturn Kai products lineup and realized PRO edition was recently added !

The PRO edition itself was based on same technology as lite one, but requiring a small subscription (in one-digit dollar range) in order to allow installation. In other words, the same contents as lite (free of charge) edition, but financially supporting firmware development and maintenance costs.

Pseudo Saturn Kai PRO edition was so popular that it was attracting enough money to cover my daily personal expenses and at some point it was even enough for apartment rent as well as family's cost of fuel and light ! On the other hand, Pseudo Saturn Kai PRO edition support team was greedier and greedier about new features, visual improvements of the firmware's UI, and the longer it went the more oppressed I was to maintain Pseudo Saturn Kai code base.

And then, the poor man's alarm clock (= in simpler words, light of the morning sun) woke me covered in sweat and experiencing high heart pulsations.
I had to verify this was a nightmare ! ... But before that it was time to start the day with laundry, because procrastinating the laundry duty delays all the subsequent tasks after that until the end of the day

So during my earliest spare moment during that day (somewhere between 6:30PM and 7PM), I could verify that everything was normal regarding Pseudo Saturn Kai project : the lite version free for everybody, and the full version also free but usable only in my hardware projects.
So no deadline, no pressure, and no impatient users ! I was relieved because I have enough of that at regular work !!

~ Development of Pseudo Saturn Kai PRO edition ~
By Mr Quino, from Mafalda  #1212


"Wow, look at what I saw in the newspaper :
a millionaire died from overwork !"
"Yeah, there are such kind of stupid people who
get accustomed to millions and then can't stop."


"And they want more ! Again !"
"Again ! Again millions !"


"Again ! AGAIN ! AGAIN !"





On a more serious note, I'm glad to announce that release candidate version for next release of Pseudo Saturn Kai is ready !
This RC version was thoroughly tested by same beta testers who followed development from last public release, so the risk of bricking cartridge or facing bugs bigger than an elephant are quite low.
I'm however not confident about usage in unusual configuration, so that I would like it to be tested by a few more people for my peace of mind before putting it on the wild.

So if you are volunteer for testing (and reporting me testing results) please contact me by PM on segaxtreme forums, or by email from my contact page.

On the other hand, if you just want to use latest version and don't plan to give testing feedback, then please *don't* contact me and wait patiently for one week or two until RC version becomes publicly available.

What's new in upcoming next release : basically there aren't new major feature available (like cheat codes in previous v6.274 release), but enough changes and/or improvements to make everybody wanting to upgrade.
  • Show error message when SD card is not inserted into Rhea/Phoebe ODE.
  • Added RmenuKai : enjoy cheat codes on Rhea/Phoebe even without cartridge !
  • Improved compatibility of JHL loader-only games with Rhea/Phoebe ODEs.
    (Panzer Dragoon Saga can now be correctly loaded from Rhea ODE)
  • Improvements in automatic selection of game in cheats codes feature.
  • Improvements regarding Virtual Memory Cartridge automatic settings.
  • Fixed support for some third party wireless pads.

And there's also a small Easter egg hidden in some menus ... will you be able to trigger it ?

To shortly sum up the changelog, Rhea/Phoebe ODE users will be happy to find that this release will allow usage of cheat codes without the need of any cartridge  And some Rhea users shall also appreciate Pseudo Saturn Kai finally loading Panzer Dragoon Saga correctly.
There are also some fixes and improvements around cheat codes (available for everybody, not requiring ODE or any special cartridge) and I sincerely hope theses will contribute to make more people enjoying playing Saturn


Rare footage of Pseudo Saturn Kai development room.
Foreground : me preparing next beta.
Background : privateye testing latest beta.

Read more Pseudo Saturn Kai PRO edition - RC1

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

Gamer's Cartridge available back soon !

Written by cafealpha no comments
A small article to keep informed about Gamer's Cartridge availability

So, I recently went out of Dezaemon 2 themed labels. Because being game-specific, I was expecting theses labels popular only for a niche of users, and prepared stocks accordingly, but theses actually became the main choice among the few labels available for Gamer's Cartridge, without letting me time to prepare extra stock for them

Okay, I admit I didn't checked actively the stock of theses labels, and started to panic when I saw that only 1 or 2 were remaining Additionally, I didn't had a lot of time during Spring holidays too ... March is always a busy month in Japan


Next batch of Dezaemon 2 labels is currently in preparation, so please be patient until they become available
I don't prepare theses labels by myself for the simple reason that my friend Darius cut them way better than me (1), so some extra delay is required for shipping. But basically theses will be available on the second half of this month

(1) And also because my printer is barely good enough to prepare new year postcards, and jam when processing A4 paper There's also some know-how required to prepare theses labels, such as selection of paper (it is using paper designed for use on car body), as well as cutting process too, as detailed in an previous article. Without Darius, labels for Gamer's Cartridge wouldn't exist


Dezaemon 2 labels for Gamer's Cartridge
Design by Mr beebaraka, and printing/cutting by Darius.
That's probably the component I'm the least involved in,
which explains why it's the most fancy one



On a less positive note, I am in the regret to announce that I'm out of stock of black shells, and that theses are no longer available for purchase

White Saturns have their plastics fading in several tones from "pure white as on first day" to "heavy smoker's dirty yellow", making difficult to adjust color difference between Saturn body and cartridge. Black Saturns doesn't have this plastic fade problem, which was the main reason why I was providing black cartridge shells

As I'm re-using Action Replay cartridge shells for Gamer's Cartridge, and that standard color for them is white, it's very unlikely I will get black shells in the future. But anyway, that doesn't stops availability of Gamer's Cartridge itself


Black cartridges out of production !
But white ones are still available from time to time

Read more Gamer's Cartridge available back soon !

Cheat codes overlap check feature

Written by cafealpha 4 comments
"Overlap check" ... yeah, I know that I'm always terrible when finding a name for a new feature or a new project

So, as its name may suggest, this feature check for cheat codes that would not work correctly together, and automatically unselect some cheat(s) in order to get things working as expected.
One illustration would be level select cheat code : some games may have a list of cheats like "play level 2", "play level 3", "play level 4", and so on. (no, there is usually no cheat code to play level 1 )

Example with Sonic 3D blast cheat codes : it's no longer
possible to simultaneously enable several "Play xyz level" codes
thanks to this overlap check feature


When trying cheat codes for the first time, the reflex would be "enable them all !", and in that case this would lead to undefined behavior. In typical case, game just work fine and since cheat codes are executed in the order from their list, the last overlapping cheat takes priority.

But, some games are quite picky regarding execution time, so the faster cheat codes handler is executed, the better. In other words, the less codes enabled, the more chances game have to work correctly.
Here is one example in video with NiGHTs into dreams : first half of the video shows cheat codes causing graphic glitches, and second half show updated Pseudo Saturn Kai version fixing theses glitches :


 
NiGHTs into dreams : graphic glitches caused by
cheat codes slow handler.
Video available on youtube.
Left : slow cheat codes handler, causing missing quads on screen
Right : game as well as unlimited time cheat code working fine

Hrm, that's around half a year ago, and I'm still fixing things for the same main feature  Well, that's how software development works : fixing bugs, adding new bugs, and returning back to step zero. Maybe smart people can develop things faster, but ... I'm not smart, so the best solution is to continue the endless development iterations until getting something OK for release


Illustration of Pseudo Saturn Kai development
(From The Crimson Permanent Insurance movie)

So well, let's go back to original topic, and let's add that I also felt bad each time I was enabling two incompatible codes. "Play level 2" : enable, "Play level 3" : enable, start game ... what will it do ? Maybe a thermonuclear meltdown because of some divide by zero error  ?! Well, it actually plays level 3, but that's unpleasant anyway.
I implemented cheat codes features from (basically) scratch first for fun (yes, I like 6+ months span software development projects ! ), but also for the freedom of making what I want. Especially, making cheat codes as user-friendly as possible ! So that this "overlap check" feature was added

Here is another example with cheat codes for Virtua Fighter Kids : this is an interesting example because some cheat codes for this game are using "enable code" (starting with `D') : this kind of code is sometimes used to prevent from executing other codes, typically when game module to cheat is not yet loaded, and that writing something to its location would make the game not working correctly.
As a consequence, "enable code" have a global effect on all enabled cheats, hence multiple "enable code" can't be enabled simultaneously.

Virtua Fighter kids uses "enable code" for a slightly different purpose : setting player health to a given value (50% of maximum, one HP, etc) only when it is set to maximum, ie on fight start time. By using this trick, game can then decrease health value, allowing to set some handicap to a given player.
This behavior is completely different in comparison to "unlimited health" cheat that always forces health value to maximum

Virtua Fighter Kids cheat codes list : "50% healt" and
"1-Hit Death" codes are the ones using enable codes


And, Virtua Fighter Kids is a good example, because it uses "enable code" at two different locations : at player 1 health value (06045974) and player 2 health value (06046A74). As only one "enable code" can be used, it's for example not possible to enable "1-hit death" code for both players.


Left : 1-Hit Death code enabled for P1
Right : P1 1-Hit Death code automatically disabled after
1-Hit Death code for P2 is enabled

Additionally, unlimited health for P2 is also automatically disabled, which is normal because it is in contradiction with 1-hit death code for it. From cheat code point of view, theses two codes write to same address, which doesn't makes sense.

"Hey, but I like "One Punch Man" series, and really want to enable theses two 1-hit death codes when playing Virtua Fighter Kids !" would you say ?
Well, that's not possible as-is, but adding a new cheat code setting both players health to 1 when health of any player is set to max value should do the job ♪
I didn't verified this code for real (in fact, I thought about it when writing this article), but it should be OK : "trust me, I'm an engineer"

1-Hit Death code for both P1 and P2
This could also be named "Two gentlemen duel"




I would like to finish this article with the introduction of a bug I fixed recently : I usually don't spend time in speaking about bugs I fix, because this would take too much time But the behavior of this one is very unexpected :

Text display is suddenly uncentered !?
Never though though such goofy bug
would be possible


So, this bug is triggered when selecting item in menu with scrolling text, and when text starts to scroll. The two features in relation with this bug (text centering and scrolling) are apparently unrelated, but the menu module used by Pseudo Saturn Kai is so spaghetti-ish that theses two features can collide into a bug

I'm honestly proud of this menu module It was initially designed for simple menu without even vertical scrolling, but evolved little by little in order to support each new features added to Pseudo Saturn Kai.
It's a complete spaghetti monster, but it works ! Yes, it works : trust me, I'm an engineer !

Read more Cheat codes overlap check feature

Rss feed of the tag