Pseudo Saturn, Kai, and Dragon Ball too

Written by cafealpha 14 comments
The kids are currently on winter holidays, I don't want unexpected and messy task at work before entering new years holidays, so today was spent at movie theater with kids
We went to see Dragon Ball Super - Broly, and it was cool !! I really appreciated the "フリーザー!「カコク」ってなんだ!?" from Goku just after Freezer used "過酷" word in a dramatic scene

So well, it seems it's the good moment to announce a new public section in my homepage, which is about Dragon Ball cards
More than 15 years ago (but it feels like last week ... I'm really getting old !), I spent many afternoons in scanning my collection of Dragon Ball cards, and then put everything on a CD-R ... because internet was paid for each minutes connected, and my maximum transfer speed at that time was around 7KB/s, hence not suitable for uploading hundreds of megabytes of data

All theses limitations are no longer a problem, so please enjoy my digital cards collection

Broly when I was a kid


Oh, I forgot to say that everything in more or less in its original state, including the html, so in advance I'm sorry for any reaction to Comic Sans MS font and flashy image background Also, the textual contents are left as-is in omelette du fromage language



My main Saturn project during the last four years was named after watching a Dragon Ball Kai episode on TV, so in a related note, I'm glad to announce a new version of Pseudo Saturn Kai is available
But ... there's currently a bug so I shall re-release it soon
After everything will be fixed and verified, I shall make a proper announcement in this article, so if you don't want to flash your cartridge twice, please keep tuned for one day or two !

Edit (2018/12/31) : version v6.274 was released a couple of a days ago, and so far I didn't received major claims about it, so let's consider this version a stable one ! Please find below an overview of the changes and additions in this release.

What's new in Pseudo Saturn Kai v6.274

Automatic Game Loader

So far in Pseudo Saturn Kai 6.074, user had to choose which game loader to choose before starting a game, but this is now done automatically on Pseudo Saturn Kai side.
There's no magic around this feature : it just uses a list of games not compatible with CWX loader, and decides accordingly
Pseudo Saturn Kai boot menu
No need to worry about which loader to choose ♪

Cheat Codes

That's a big addition for this release. Its development spans around June 2017 to Spring 2018.
The main features for cheat codes are :
  • Built-in : don't need to manually enter the cheat codes
  • User friendly : just push X button when booting a game, and then select the cheat(s) to enable.
  • Maintained by cafe-alpha () : rather than adding an "enter cheat codes by yourself" feature, I plan to continue improving and maintaining the cheat codes list

Disc image selection menu for Rhea/Phoebe ODEs

Back in 2015, I added a stub of alternate rmenu to Pseudo Saturn Kai, but didn't had the technical information regarding Rhea/Phoebe API so the feature was disabled in its unfinished state.
And this summer, an enthusiast friend helped a lot to get this technical information, so that I could finally finish this feature
Development of this feature was an occasion to bring usage of proportional font in image selection menu, thus showing more information on a single screen. Base of menu module was developed around 2010 without any consideration for proportional font, so development of this side feature was a nightmare, but I don't regret for having done it now it is finished

Image selection menu for Rhea/Phoebe ODEs

Dezaemon 2 Save Game Manager 3

Dezaemon 2 is a shooting game maker application for Saturn. And Save Game Manager is a collection of user games for Dezaemon 2.
By the past, there were two volumes released by Madroms : SGM1 in 2007 and SGM2 in 2008.
And 10 years after that, SGM3 is released and contains some new user games as well as all the games from SGM1 and SGM3 : one SGM to rule them all

Special thanks to Dezaemon DB for gathering a community around Dezaemon 2, and dumping the user games


A stylish logo for Pseudo Saturn Kai

That's maybe a detail, but that was really missing from a long time !
Special thanks to Alien^PDX for the logo, and CyberWarriorX for putting me in touch with him
Pseudo Saturn Kai logo, 2017/12/31
Yes, taken one year ago !

In-game connectivity for USB dev cart

This uses cheat codes routine, hence requires at least a valid master code to be set. It can do USB connectivity while doing transfer with PC, but that's a bit slow (because of unoptimized C running from cartridge ROM), and consequently may cause glitches on some games.
As a countermeasure, there is another mode who does only USB connectivity (hence no cheat codes) but does it fast since the code for it is written directly in assembly and running in RAM.

That may be cool for game hacking, or looking for new cheat codes ... but I still need to add a proper cheat codes finder feature on SatLink before looking for cheat codes on my favorite games

I stopped USB dev cart support, so this feature is disabled and software on PC side won't be released.

In-game USB connectivity in action.
Radiant Silvergun was one of the very first games
to work correctly with Pseudo Saturn Kai cheat codes


Virtual Memory Cartridge support via USB dev cart

This is similar to "Virtual Memory Cartridge" used in Gamer's Cartridge, but access save data files on PC via USB dev cart instead of SD card.
That's convenient for save data hacking, or testing several saves, but for normal use then using SD card is (in my opinion) a better choice.
As a consequence, full firmware can now be installed on USB dev cart. But cartridges not using SST39SF040 flash chips are not supported (because there's not enough room in flash ROM) and in that case only lite firmware can be installed.

I stopped USB dev cart support, so this feature is disabled and software on PC side won't be released.

Virtual Memory Cartridge via USB dev cart
It was convenient for taking screenshots
for Dezaemon 2 Save Game Manager 3

Fixed support for 3D pad

In previous version, using 3D pad would sometimes cause an emergency exit to multiplayer screen when touching analog buttons. This is now fixed, and additionally supports input from analog buttons.
Pseudo Saturn Kai is not a 3D game, so the interest of using analog buttons is a bit questionable, but at least it is supported now



And the most voluminous change is ... :
Fixed many bugs everywhere, added other bugs here and there
Everything should work now ! Trust me, I'm an engineer



Congratulations, you reached the end of this long article
Last but not least, I wish you a Merry Christmas, happy new year 2019 and happy gaming

Read more Pseudo Saturn, Kai, and Dragon Ball too

Pseudo Saturn Kai - Black Saturday !

Written by cafealpha 6 comments
Classified in : etc, Saturn, Mylife Tags : Christmas, firmware, kai, wtf, pseudosaturn
I was away from keyboard (and fortunately away from shopping malls too) during this Black Friday, so I am a bit late to celebrate this marvelous commercial event.

But any date isn't late to celebrate something, so let's tweak a little the event name and officially open the ...

!!! Pseudo Saturn Kai - Black Saturday !!!
 80% OFF on First Download
 Second Download Offered

The event is open all year, so everyone including latecomers should get their 80% off on first download

Read more Pseudo Saturn Kai - Black Saturday !

Various Pseudo Saturn cartridges

Written by cafealpha no comments
Long time no see ! It's a super long while I wanted to write about several kinds of Pseudo Saturn cartridges (other than the usual Action Replay/Gameshark couple) but as a lot of things in this blog, always postponed it.

But recently I discovered a cartridge that breaks all records in term of extra cheap design and appropriation of other people's work that now I really want to terminate this article

(Note : it's already 10 13 14 29 days after the creation of this article, and it is still not published yet ... but I do my best to finish it )


Disclaimer : I am not affiliated with the designers or developers or sellers of the cartridges below. The reviews below are just my personal opinion and may not reflect the exact contents or behavior of the cartridges. And in case of questions regarding theses cartridges, please contact their sellers instead of me.
Also, please try theses cartridges at your own risks : whatever it may be, I'm not responsible about any damage caused to your Saturn, your cartridges, your dog, your house or anything else !

And let it be clear : the first purpose of this article is to inform users that such kind of not so usual cartridges exist, so that potential users can consider about theses cartridges for their own usage.
But if a cartridge deserves to be flamed, then I don't refrain about that, especially when it concerns the appropriation of other's people work.



Saturn NinjaDrive


From what I could see, that's an Action Replay cartridge with custom label and Pseudo Saturn Kai pre-installed. The "deluxe" edition features a stylish box for the cartridge.
It probably would had been appreciated to indicate that Pseudo Saturn Kai is installed rather to rebrand everything under a different name ...

Pros :
 - The price without stylish box is not that bad
 - Pseudo Saturn Kai is pre-installed
Con :
 - It would had been fair to indicate that cartridge is made from Action Replay cart
 - There's no indication about which firmware is installed



Saturn Unlocker



That's in the same range of contents (and price) as NinjaDrive : Action Replay with Pseudo Saturn Kai pre-installed. At least there's no attempt to hide about what is installed.
A description video at the lower half of the cartridge's page shows that Pseudo Saturn 0.832 is installed, which doesn't works at all on some Japanese model 1 Saturn The video itself is quite old, so let's hope that latest version of Pseudo Saturn Kai is installed on the cartridges now

Pros :
 - Classy box and label, a must have on your collection shelf
 - Pseudo Saturn Kai is pre-installed
Con :
 - It would had been fair to indicate that cartridge is made from Action Replay cart
 - Maybe a bit expensive ?



All in One RAM Backup Cartridge


All in one cartridge, front side.
Picture credits : SaturnGuru.

I couldn't find an official homepage for this "all in one" cartridge, but this is paradoxically the most valuable cartridge in this article
This cartridge model features both Action Replay support (boot ROM and 1MB/4MB expansion RAM) and 512KB backup memory storage. In simple words, it is the result of Action Replay and official memory cartridges blended together.

The backup memory is implemented with its own flash ROM chip, in the fashion as official backup memory cartridges, thus shall provide a 99% compatible (I keep the last 1% just in case of any eventual picky game that would cause problem, but this would be surprising such one exist) and in-game support for cartridge backup memory.

Using dedicated flash ROM for backup memory unfortunately means that it will be corrupted and finally no longer accessible after many write cycles, but ... this is how official cartridges worked too
However, since boot ROM and backup memory are stored in physically different flash ROM chips, the cartridge will still boot Pseudo Saturn Kai even if backup memory chip is damaged, which is one point over Action Replay where damage of backup memory ROM means the loss of nearly all other features.

Regarding firmware installed, the ebay pages selling this cartridge model I could see so far clearly mention that latest Pseudo Saturn Kai version (v6.074 at current time) is installed, and even explain the basis regarding cartridge usage such as loading a game, or accessing Save Data Manager, etc, which is quite a fair and remarkable way of doing

A review with only praises may look a bit biased (and no, I didn't received any money nor even any email from seller of this cartridge), so I would like to critic about the electronics parts used in this cartridges : theses are the same as used in Action Replay or official backup memory cartridges.
As a consequence, the technology used is no longer produced, thus probably coming from shady old stock, or counterfeit chips factory, or recycled from vintage devices. In each case, this means that in the long term, quality may not be at the meet.


An interesting related question is "Why releasing such cartridge around 20 years late ? This could exist at the time Action Replay cartridge development was still active !".
My guess about this question is that Action Replay development and/or sales team wanted to put everything (boot ROM and cartridge memory) in a single flash ROM chip, giving birth to the "if a ROM feature breaks, the whole cartridge is bricked" cartridge architecture used in Action Replay carts.

I personally like to write to flash ROM only when upgrading cartridge firmware, so that I dropped backup memory support on Pseudo Saturn Kai lite.
So my second guess is that it motivated someone to finally merge Action Replay and backup memory cartridge in a single one ? If this guess is right, then I'm glad to have indirectly contributed to the development of this cartridge

And yes, I am the only one responsible of this backup memory feature no longer available after installing Pseudo Saturn Kai. That's a deliberate choice to avoid cartridge bricking and I will never add a feature for that, so don't hesitate to share your hate towards me in the comments of this article 


As an extra note, I could notice that several hardware variation for this cartridge model may exist, so anyone interested in purchasing such "all in one" cartridge should carefully verify it's item description page as well as features list indicated at the back side of the cartridge.
All in one cartridge : list of features available.
Picture credits : SaturnGuru.

And finally, please enjoy a picture of each sides of the cartridge PCB Theses pictures clearly indicate how the cartridge works, and were a great help when preparing this article.

All in one cartridge font side.
Left half : expansion RAM and glue logic for each chips.
Right half : flash ROM chips for cartridge firmware.
Picture credits : SaturnGuru.

All in one cartridge rear side.
Flash ROM for cartridge backup memory.
Picture credits : SaturnGuru.

Pros :
 - Supports basically nearly all the Saturn games library
   (Except the couple of games requiring their own ROM cartridge, and those others eventually not compatible with Pseudo Saturn Kai)
 - Pseudo Saturn Kai is pre-installed
 - There's no attempt to hide that Pseudo Saturn Kai is installed
Con :
 - Cartridge backup memory may deteriorate after heavy usage.


Edit (2019/01/09) : there is also some kind of "dual boot" cartridge that seems to allow to select among two firmwares which one to boot.

Dual boot cartridge, front side
Thanks to toze3 for informing me about this cartridge

Dual boot cartridge, rear side
Thanks to toze3 for informing me about this cartridge



Saturn PASS

You're full of all theses cartridges to digest in a single article ? That's bad for you, because I kept the most greasy dish for the last time

Saturn PASS cartridge

This is a very simple cartridge with only boot ROM, and nothing else : no cartridge shell, and not even decoupling capacitors near the ROM chip ...
The decoupling capacitors protect neighboring components against voltage spikes : as theses apparently don't have any functional purpose, they are sometimes removed by cheap device cloners ...

Additionally, ROM chip used seems to be a UV EPROM, easily identifiable with the small round window at the center of the chip.

UV EPROM chip detail
Yes, I did hit the snapshot key around 10 times to get
the right moment when UV window is visible
(Screenshot from this video)

As a consequence, firmware update requires dedicated device to illuminate the chip with UV light prior writing of the ROM and basically can't be easily done on user side.

Additionally from being technically difficult to upgrade, Saturn PASS users will also have to enjoy the custom firmware pre-installed : apparently it's a stripped version of Pseudo Saturn (or it will be an huge coincidence that log message under "Loading CD" is the same in both firmwares) with only the bare minimum remaining :
 - No boot menu
 - "Pseudo Saturn" name changed to "Saturn PASS"
 - Addition of URL to Saturn PASS homepage
 - Removal of Pseudo Saturn credits

Saturn PASS boot screen
For unknown reason they left as-is the
log display in is_audio_cd function.
(Screenshot from this video)

Pseudo Saturn is open source, so anyone with enough skills is free to change things in the firmware to their preferences. But rebranding the whole thing and trashing credits to original development team is not how open source works.
So if someone wants to thank somebody for Saturn PASS to exist, they should refer to credits displayed in Pseudo Saturn :
Copyright 2011-2015 Pseudo Saturn Team
http://github.com/cyberwarriorx/pseudosaturn
At a glance, removal of boot menu and only keeping the Pseudo Saturn exploit sounds a good idea, because that's one step less to do on user side before playing a game.
But except that point, it's complete crap : extra features (to verify if cartridge is working correctly or not, or to verify version of Saturn internals, etc) are no longer available, as well as credits page too.

Personally, I derived Kai from Pseudo Saturn specifically for adding features other than Pseudo Saturn exploit : memory cartridge support in previous releases, cheat codes in next release(s), and probably something more in future release(s). So removing all the menus and extra features just to spare the push of one button to play a game is "no, I won't do that"

Pseudo Saturn Kai credits page is probably just a feature to boost my own ego, but I am not the only one listed there, and everybody credited contributed for free : done on their free time and without financial compensation. So muting them is definitely not an option. Also, I made several graphic improvements when displaying credits, so I hope you will enjoy them in next release

To finish on a positive note about Saturn PASS, it should be mentioned that its price is relatively reasonable : 350 Thai Bath = around 10 US Dollars, which makes this cartridge affordable for Thailand users

Pro :
 - Affordable for Thailand users.
Cons :
 - Poor hardware design.
 - Can't upgrade firmware.
 - No credits to original firmware developers.

PS : I heard about this cartridge from furrtek. Special thanks to him for the information

Read more Various Pseudo Saturn cartridges

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 ...

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