PPCenter :: devblog

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

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

End of 2018 Summer vacations

Written by cafealpha 6 comments
... One month ago, I wanted to announce that I wouldn't be available for several weeks, but I was suddenly taken in a storm of bringing/taking kids to/from schoolchildren care, washing bento boxes, going to work and the usual dish-wash/throw trash/laundry/whatever daily routines

Personally, I only had two rest days at the middle of August generously offered by employer as summer holidays ... two days !! That's one day, and ... one another day  Moreover both are consecutive And  that's ... so long I fear I would forget everything about work after such a long rest
Well, more seriously I took some day-off here and there during August too, and theses were a good occasion to refresh from everyday life

As a consequence, I completely neglected my email box during this period of time. Sorry to all concerned people !
I will try to tidy-up my mail box this week, but can't guarantee that everything will be done on planned time since day work went a bit crazy recently

So here comes some lines about my summer holidays ... hey, that's my homepage which I pay for hosting and where I installed and filled this blog, so I write whatever I want on it

So if you're not interested in me talking about my life, please skip until next horizontal separator

Summer 2018 activity #1 : going to the beach

As every summer, I celebrated the lapse of one year by going to the beach : four years ago, I spent nearly two months at hospital without any occasion to go outside, so that I like to take a revenge every year
At that time, I had around 50-60% of chances to be still here today. It's good to be alive

Well, there were a bit more medusa than usual, so I didn't swam so much, but that's better than not being able to go to beach at all anyway

This is an illustration photo : the girls are just
to boost my blog audience.
And I own TI-89 calculator rather than TI-83+

The kids wanted to make a sand castle, which
ended in some kind of free-style art
Title: Japanese style toilet, by cafe-alpha kids, 2018

I like that they didn't spent half a day to do a instagram-compliant thing that would then be destroyed by the sea but had fun anyway

Summer 2018 activity #2 : watching typhoons
I don't know if that's limited to the region I live, but there were a lot of typhoons this year ! There wasn't any kind of major damage nearby, but not everybody in Japan could be that fortunate ...

Personally, it was the occasion to do some cleanup on the balcony : I trashed several things that accumulated over past year, and Mr Typhoon helped to clean up dust after that

I wish typhoon and other similar kind of natural disasters could evolve into intelligent entities to clean up earth from climate-skeptical trolls

Rare footage from the birth of a French citizen
(That's not super related with typhoons, but this is my blog,
and I write whatever I want on it )

Summer 2018 activity #3 : going to several kinds of museums
The kids like museums, especially to watch insects, machines or similar stuff. But museums close early, unfortunately.

Close at 4PM ?!
That's not a museum, but an hideout for civil workers

Always should read the little letters : "open until 4:30 PM ... but can't enter after 4PM"
The rear door was still open, so we could sneak inside anyway ... that's funny to hack museum rules

Went to aquarium too. That's a Hammerhead Shark.
And it's also a multi-purpose drawing :
tilt your screen and E.T. will appear

Summer 2018 activity #4 : watering plants
Kid bring back okra from school. One of summer vacations homework was to take care of that thing, but from the limited range I could see, only me was doing such boring duty
Mr Okra in all its glory.
I put it near the space for hanging
laundry so that I don't forget to water it

Summer 2018 activity #5 : watching Saturn for real !
Local astronomy group prepared an "Watch Jupiter, Saturn, and also a bunch of other stars I forgot their name" event ... so I was super interested in it

土星, during small explanations about how to locate things in the sky.
Saturn was so bright it's hard to miss it in the night sky
But Mars was even brighter this summer !

This was also an occasion to assemble a small telescope by oneself. That's a cheap "30 bucks" model, but with lens good enough to see Jupiter moons oO

Summer 2018 activity #6 : adventuring in Tokyo

In order to renew a identification paper, I had to go to embassy located Tokyo : this was basically one day spent in transports, except 15 minutes at the embassy itself to sign a couple of papers, have my fingerprints taken, and pay 12198 yens

That's a long time I didn't get lost in Tokyo Everything was more or less smooth in changing from plane → train/subway → bus, but in the last steps walking to the embassy, the battery of my phone decided take a little rest for the remaining of the day
I was aware that battery wouldn't last long, so I printed nearly all directions, but last "use your own foots" steps weren't detailed a lot Fortunately the "ask random people around" solution could guide me to the embassy

The return back to home without help from phone was more or less OK, and when back to home I finally could unlock my phone
Why unlock ? Because my phone's power switch is broken At a moment, I asked for an estimation to my phone carrier to get this fixed, and price was around 80 buck-ish, so I decided it would be better to live with this broken switch rather than paying that
Now, I'm used enough to my phone power in sequence that I no longer consider it as a problem, but instead as child lock feature : if kid try to play game on it while it is running on battery, it turns off after around 5 minutes

My secret method to turn the phone on is to tweak the debounce circuit with a small wire. Electronics components there are super small (which is probably why the power switch broke ...), why requires the usage of tweezers or a small pliers hence can't be done outside since I don't always bring my electronics toolbox with me when I go on travel

My phone, and its broken power switch.
I feel like MacGyver when I turn on my phone

Summer 2018 activity #7 : going to hospital
This was "just" a routine appointment for periodic screening, and everything was OK This time was the occasion to celebrate the fourth year still alive after surgery

This is an archive picture : all the "no pokemon go in hopital"
warnings were removed. Instead there was a notice that
North side parking is not available, but I didn't took a
picture of it since I doubt the average reader of this
blog is concerned by such news

End of the personal and boring news August was also a time do PCB design to celebrate the 10th birthday of my favorite PCB house
(More pragmatically, I rushed to finish PCB design until August 31st because they were offering discount coupons until that date to celebrate this event )

Among PCBs ordered, there was minor change for Gamer's Cartridge, and a small board to flash MAX3000A CPLDs used in Gamer's Cartridge.

Gamer's Cartridge PCB rev 3.3 (c)

There's nothing changed nor deleted : I just added footprints for alternate voltage regulator : I'm using this alternate regulator in another project, so I would like to unify electronic components used in order to reduce stock management/space/etc to store theses two components.
Additionally, this alternate voltage regulator is a bit easier to solder, so at the end I would like to stick with this one

CPLD flash board

That's a really simple board to interface between CPLD and programming hardware : so far I was flashing Gamer's Cartridge CPLD one by one after soldering each cartridges, but thanks to this board it may be possible to flash a batch of CPLDs in a row hence save some bits of time on my side

Read more End of 2018 Summer vacations

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

Improved SD card support !

Written by cafealpha 6 comments
I'm glad to announce that (as indicated in the title of this article) SD card support will be improved in Pseudo Saturn Kai next release This improvement concerns compatibility with a wider range of SD cards manufacturers.

Since Action Replay carts doesn't have SD card socket, this concerns only Gamer's Cartridge ... and no, gluing a SD card socket to Action Replay PCB won't magically make it recognized by Pseudo Saturn Kai : I didn't extended compatibility this far

More seriously, this improvement concerns Pseudo Saturn Kai itself, and all Gamer's Cartridge hardware revision will be concerned.
For example, the very first public PCB revision (with goofy LED positioning and using official memory cartridge shell) should be compatible with this improvement ... I write should because I didn't actually tested with PCB from this revision, but since hardware revisions are basically cosmetic changes, I'm quite confident this improvement will work on all Gamer's Cartridge

About the technical part of this improvement (please skip this paragraph if you are not interested in technical details), Pseudo Saturn Kai was not sending enough clock pulses to SD card before sending commands. In fact, at the very beginning of Gamer's Cartridge project (long before first public release), Pseudo Saturn Kai wasn't sending any synchronization pulse at all, but this wasn't a problem since some SD cards don't need theses, and so that Gamer's Cartridge project could work ... with poor SD card compatibility, but work anyway

After that, I discovered that some synchronization clocks before sending a command helps in getting SD card working, so I sent eight clocks, which improved compatibility enough to make a blog article about it at that time

Finally, Pseudo Saturn Kai now send enough clock until SD card replies it is ready for processing command. So yes, this improvement is just extension of a previous one from "provide eight synchronization clocks" to "provide enough synchronization clocks". It looks simple, but noticing it wasn't

This improvement is not publicly available yet, so please be patient Before putting it in the wild, I need to test it on my SD card collection, because so far I only tested on a problematic Sand*sk card, and a couple of other SD cards who were working well so far.
All theses SD card were recognized, but I should test with all the other ones I own : it would be a pity for Pseudo Saturn Kai to break compatibility with things working well so far !

Regarding testing schedule, I'm not sure it will be possible to do it until end of August : it's not like I don't want to do it, but just because summer holidays are likely to monopolize the free time slots usually reserved for testing on real hardware
And no, it's not about my holidays, but about my kids' ... it's a long time I personally didn't went on long vacations, but I'm looking forward for this pleasure when the benefits from Gamer's Cartridge development, manufacturing and sales will finally reach forty two million dollar

Anyway (and more seriously), this blank period until testing is a chance to improve a bit more SD card support : after a long time I didn't looked at SD card access code, I found few things that were left in a "it works, but should be improved later" state
My strategy about theses "should be improved later" things is to finish them in a clean way, then test them with my SD card collection until tey work well, and finally never touch this SD card access code any more !

Before publicly releasing Gamer's Cartridge, maintaining this part of the project was funny, but now it is too scary to break any kind of compatibility that I preferred not to touch it.
So for the last two years, I preferred to keep all the the code there as-is ... and sell SD cards at super low price (bought around 800 Yens, sold USD 3 ... 2+2 is 4 minus 1 that's 3. QUICK MATHS ) to avoid SD card compatibility problems. After Pseudo Saturn Kai next release, I hope that it will be compatible enough to avoid this "provide a recognized SD card" step

(Below is a bit of boring history about my Saturn project(s). Please skip if you are not interested)
SD card access code is a very old part of Pseudo Saturn Kai project : it was initially done for accessing SD card via second pad controller around summer 2011 : at that time USB dev cart project didn't existed and my extent in electronics was to put simple components on a breadboard : it's good to see the experience I gained in electronics, and also that some code from this era kept surviving in Pseudo Saturn Kai project
SD card connected to second pad, ready to
dump my Memory Card Plus cartridge.
The menu display and starfield effect in Saturn utility
were later re-used in Pseudo Saturn Kai project
The menu module evolved a lot from that time

End of the "good old times and flashback of back&white memories" ... I'm not that old enough for this crap Instead let's back to details regarding Pseudo Saturn Kai schedule :

I still have to finish some other features (not related to SD card access) still on development, and prefer to release all the news things in a single time rather than every small feature little by little. Exception is made for critical fixes that are released as early as possible : notable (and only ?) example is Pseudo Saturn Kai 6.074, which fixed a bug regarding internal backup memory access, as detailed in this article.

This SD card improvement is not a critical fix, and consequently won't be released separately before everything else. This means that extra wait is required, but on a positive side it also means that it will be released with all the new features developed from latest release.
Latest version was released one year and half ago, so there are some new features awaiting Please stay tuned

Last but not least, it's easy to pride "I made this or that" in a blog article, but it's cool to praise people who helped
First, I would like to thank my friend Darius, for constantly asking me when I will finally get Sand*sk SD card working correctly on Gamer's Cartridge, and -which is more important- for gathering a French Saturn community

Also, I would like to thank malachi84 for reporting incompatible SD card. I usually answer such report by something like "give a try with a cheap SD card from another brand, and it will work", but this report came at the right time when I wanted to change my mind from current development task 
So, I started to search what should be done to improve SD card compatibility, making random changes to Pseudo Saturn Kai, testing on real hardware, realizing that first beta doesn't works (from my own experience as software engineer, I NEVER had something working fine from first beta ), but keeping fighting because I really want this non working SD card report being the last one ... and also because I like to fight with software bugs

Finally, I would like to thank Ralim for providing the technical information regarding this fix on Pseudo Saturn Kai. For those interested with technical (but easy to read) information, SD card access details are available on "SD cards with STM32 over SPI" article
As written above, the implementation of the fix itself is simple, but finding it in a super lengthy technical document isn't, so thank you Ralim for providing the right detail to fix for Pseudo Saturn Kai

2018/08/09 : I had a little spare time to test several SD cards from my collection, and to update this blog with test results
Globally, SD card support seems significantly better than on Pseudo Saturn Kai current official version (v6.074) : a Sandisk SD card is recognized, and other SD cards that were recognized so far are ... still recognized
Additionally, it seems that SDXC card support is OK too ... so far I tested only with only one card, and because of high capacity, write access is quite slow, so it's not recommended however.

All SD cards working so far
It's the first time I had guts to test with a SDXC card,
and fortunately it was recognized

Read more Improved SD card support !

Classified in : Saturn Tags : none

X-Terminator Cartridge Revival

Written by cafealpha 3 comments
This article is not about my own development experience, but from my friend XRider. Thanks a lot to him for the good work and the permission to share his pictures

First, what is a X-Terminator cartridge ? It is a Saturn flash cartridge which provides the following features :
 - 1MB expansion RAM
 - Backup memory
 - Ability to play import games
 - Cheat codes
 - Ability to search cheat codes by using standalone "X-Assist" unit

X-Terminator cartridge and X-Assist
Image taken from SegaRetro

X-Assist is particularly convenient because unlike Action Replay cartridges, it doesn't requires connection to a PC : it is true that connection to a PC provides more features (such as memory access, program upload, etc), but as "connection to PC" basically means "software support will be dropped someday", a standalone unit is a real treasure
For example, do you remember that Action Replay cartridges initially had DB25 connector ? This was for connecting the cartridge to PC via the -sold separately- Comms Link board, whose used now obsolete ISA port, and consequently not supported on nowadays PCs and/or OS.
There are some alternate solutions for connecting Action Replay to PC, whose major one is USB Data Link, but unfortunately it doesn't provides any software support for advanced features such as cheat codes search and testing.
So if you want to search cheat codes for your favorite game, X-Terminator is a good choice ! ... Okay, the user interface is in Japanese, but that's just a detail : after 200 or 300 hours learning about it, it shouldn't cause any problems

On the other hands, the major limitations are probably the lack of 4MB expansion RAM support, and using flash ROM for storing backup save data (which on the long term may brick the cartridge), but for a cartridge developed more than 20 years ago, theses limitations are quite honorable

So, once upon a time, XRider found a X-Terminator cartridge. It was a cheap auction, but on the other hand the cartridge didn't boot anymore, and the X-Assist unit wasn't included

Normal people would add this cartridge to their collection or put it on display as a decorating vintage objet Other people with engineering and electronics education background would put it on their "to repair someday" cardboard, and don't touch it for the next 20 years because they are busy with other projects or work, or real life, or all of theses at once

But XRider is none of them. XRider owns soldering tools. And knows how to use them. And really wants to fix this marvelous cartridge

So, let's try to fix the cartridge ! The first step would be to start with the most common problem, which is broken flash ROM.
In my opinion, this is the most difficult step, because it requires to desolder two chips for a total of 64 pins !
I personally can't do this because of lack of appropriate tools, so the alternate desoldering way I would had used would be to ... use a nipper and cut each pins

Fortunately, XRider likes work well done, so theses chips were removed in a clean way

X-Terminator cartridge, with flash ROM chips removed.
Additionally, all capacitors are removed too : that's
the occasion or never to replace them

Next step is a bit optional, and is about to dump removed flash ROM chips with flash ROM dumper device. This is the best way to verify if failure is due to corrupted flash ROM chips, and if still in working condition, this at least would be an occasion to dump the cartridge's firmware

Flash ROM chip on dumper device.

Dump is full of 0xFF bytes ... unless a miracle happens, theses flash ROM chips are no longer functioning  But, this comforts us regarding initial supposition of broken flash ROM chips causing cartridge not booting
Just in case of, let's verify PCB traces around flash ROM chips while theses are removed : this takes only 5 minutes to check, and it would be frustrating to find that cartridge was not working because of broken trace after soldering new flash ROM chips

PCB traces : just requires a light source
strong enough to be seen

What to do next ? Maybe use PLCC sockets so that future replacement of flash ROM chips would be easier ! That's a couple of weeks to wait for the postman, but worth the wait
PCB with PLCC32 sockets soldered

And then, simply replace the flash ROM chips

Next generation is here !

PCB with new flash ROM chips.
Additionally, new capacitors are populated

One last step remaining ! Flash ROM is mounted, but ROM itself needs to be set up with X-Terminator firmware. The simplest way to do this is to use Pseudo Saturn Kai flasher utility : it obviously allows to install Pseudo Saturn Kai, but also several other legacy firmwares in the case someone would want to revert to initial firmware after trying Pseudo Saturn Kai.

Just select the ROM version you want to install,
and follow on-screen instructions

Flashing in progress ! Will it work after that ?!

Yeehaw !!! It boot fine, mission done
Let's try with Metal Slug ...

Metal Slug works too !
So it seems there's no need to replace RAM chips

Everything finished ? No, there is a side quest remaining Among the couple of X-Terminator cartridges XRider owns, one X-Assist (pad and LCD unit used to search cheat codes) is missing.
One X-Assist available ? And another one missing ? No problem : let's reverse engineer the first one and DIY the second one

The X-Assist features two PCBs : one for connection interfacing and pad, and another one for LCD, as pictured below.

X-Assist pad/interfacing board

X-Assist LCD board

The LCD board is incredibly complex, but since it was manufactured as a whole and can still be purchased on auctions or second-hand market nowadays, there's no real interest to build it from scratch ! And I personally wouldn't try : that seems too much complex

So remaining is pad and interfacing board : fortunately it uses standard components and not any Gate Array Logic-ish components that would need to be reverse-engineered too. Simply speaking, it's like assembling LEGOs
Multi-meter, a LCD board, electronic breadboard, a bunch of wires, few electronic components ... is there something missing ? Yes ! A LOT of motivation !!

X-Assist DIY prototype, in all its glory

It's so beautiful it deserves another picture !

Let's try for real ! Of course, after verifying any eventual short-circuit with a multi-meter 
No short-circuit ? It's then ready for the "first-lighting ceremony" (火入れ式), as it is nicknamed in my neighboring ... I don't know if that's a common expression in Japan or anywhere else, but I like its naming anyway

No sparks ? No smoke ? That looks good

At first glance, that seems working ! Let's try cheat codes search feature in order to be 100% sure ...

Search unit not found ?!

Arg, it was too early to sing victory X-Assist seems not being correctly detected by X-Terminator cartridge ...
Since text could be sent to the LCD, let's assume nearly everything is working correctly, and that a small detail is causing this trouble ... after some head-scratching, XRider found what's wrong : a Zener diode that initially looked useless was used to return some ACK to X-Terminator cartridge when looking for its connection !

The X-Assist screen after adding the Zener diode :
code search memory could be captured !

65535 candidate codes ?! I'm not sure if correct cheat code could be found this time, but at least the DIY X-Assist unit works correctly now


Additional informations are available in French  on Darius forums :

Credits :
 - XRider, for the good work in game cartridges preservation
 - Darius, for gathering French community around Saturn

Read more X-Terminator Cartridge Revival

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

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

One more new PCB color !

Written by cafealpha no comments
As indicated in the title, I tried a new PCB color ! This time, this is yellow

Rare picture where all PCB colors I tried so far are gathered

The manufacturing of theses yellow PCBs took a bit longer than usual : maybe was it because this color is not ordered frequently ? Or just a bad luck with timings ? I don't know, but anyway I'm definitely more at ease with good old green color

Blue PCB in the picture above also needs some attention because it's quite a long time I didn't soldered PCBs with such color. In fact, it was probably the first time for this Gamer's Cartridge PCB revision

So, what's the reason why this article is posted so early ? I mean, pictures of theses PCBs were taken around one month ago, while preparation for one article here is usually in the half a year range, with majority of articles are canceled in the midway of their preparation  Well, the reason comes from accidentally watching TV recently, and realizing that colors match a given pattern !

Gamer's Cartridge, Olympic Games Edition

That would had be the the occasion to do some fancy "Gamer's Cartridge Olympic Games (C) (R) TM Edition" advertisements on all major social networks, modifying prices during this period, make sponsorship with some whatever sportswear brands, but I don't like such kind of show business, and ... the fact PCB colors match those on the Olympic flag is a coincidence

So, I'm glad to introduce you Gamer's Cartridge at the Olympic Games colors ! There's no sponsorship, no changes in the prices, no super event (except this poor blog article), but Saturn projects are still my favorite hobby, which is the most important

PS : I unfortunately no longer have all PCB colors gathered in first picture of this article, so it's not possible the re-take a picture in same layout as Olympic flag.

PPS : there wasn't snowball fight Olympic discipline this time too Let's hope next edition will finally feature competition of a sport which I understand the rules

Read more One more new PCB color !

Happy Birthday Panzer Dragoon Saga !

Written by cafealpha no comments
According to wikipedia, it seems that Japanese version of Panzer Dragoon Saga turned 20 years old this week, so,

Happy Birthday

 Panzer Dragoon Saga !

Hrm, I feel old to hear over and over that games I played in my childhood are becoming vintage ... time flies

So well, I don't want to write an article for the anniversary of each Saturn game That's too depressing, and I prefer to use this time for other things The reason for this article is to help people wanting to play Panzer Dragoon Saga, but not from level 1, and failing to find appropriate save states for use on their Saturn.

There aren't many saves for Panzer Dragoon save files available for importing from Save Data Manager, but good quality saves can be found on Panzer Dragoon Legacy homepage :

The reason why theses saves aren't added to Pseudo Saturn Kai Save Data Manager CDROM is because the readme included with theses saves states that saves can't be hosted elsewhere than on Panzer Dragoon Legacy. I personally think this is a pity, because theses saves are really good.
(2018/02/12 : it seems OK regarding copyright See the bottom of this article for details)

Panzer Dragoon Saga is one of the few games not allowing in-game usage of Gamer's Cartridge. A workaround to that is to use Saturn's internal backup memory.
So, it is possible to import theses saves to Saturn's internal backup memory by using Gamer's Cartridge and Save Data Import feature :
 1. Copy all save data folders from archive to SD card → SAVES folder
 2. Insert Gamer's Cartridge into Saturn, power on Saturn
 3. From main menu, select "Save Data Manager"
 4. Select "Save Data Import"
 5. Browse for save data file where to import from
    Example : SAVES folder → saga_01 → BKRAM1.BIN
 6. Select all saves with Y button and confirm import to internal memory device with A button

Then, it is possible to use theses saves from the game. Unfortunately, Panzer Dragoon Saga is one of the few games not supporting in-game memory cartridge support with Gamer's Cartridge, so the only workaround is to use Saturn internal backup memory.
2018/02/12 : the steps above are still valid, but work on Gamer's Cartridge only. Next release of Pseudo Saturn Kai will feature theses saves directly from Save Data Manager, so that theses will be available for Action Replay cartridges users too (See the bottom of this article for details)

I hope I will be able to make this game compatible with Gamer's Cartridge in the future ! I recently tried to find what's causing this game not working ... and realized it would be harder to fix (I thought game was re-authenticating CD-ROM just before starting to play, but I didn't found any code doing that)
I'm not a genius programmer, but on the other hand, I don't give up on the first failure I meet, so hope next attempt to fix support for this game will be the good one

Update 2018/02/12
: I just received the agreement to add theses saves to Save Data Manager More details can be found on Panzer Dragoon Legacy forums, and screen copy of related posts are available here for the records.
Special thanks to Solo_Wing, who solved this problem in a couple of messages ! Please keep the good work

Read more Happy Birthday Panzer Dragoon Saga !

Year 2017 - Synthesis

Written by cafealpha no comments
Synthesis ... this is the kind of blog article posted at the end of December in normal blogs, but since this is not a normal blog, and that I can't respect any schedule for it, let's prepare this article at the beginning of January

Last year started well with an order of Gamer's Cartridge from IGK, who is administrator of Dezaemon DB homepage. More than administrating Dezaemon DB, he is also a dezaemoner who (among other titles) developed Biometal Nemesis, which deserves its youtube link in this blog :)
Biometal Nemesis - Click above if you like shmups

I really like the style of this Dezaemon game ! Thank you very much IGK for creating such gem

Thanks to IGK, it was possible to finish support of Saturn Floppy Disk Drive on Save Data Manager : initialization of this device is slightly different than with internal backup memory and backup memory cartridge, and consequently was causing troubles on various configurations such as no backup memory cartridge inserted, but floppy disk connected, etc. Fixing all possible patterns wouldn't had been possible without kind help and beta testing from IGK. Thank you

Save Data Manager (version around 2017/01/30)
Configuration when this screen was taken was no "backup memory cartridge inserted, and floppy disk connected", which was causing troubles because among other things, unavailable device in the middle of devices table wasn't supported.

Additionally, this was the occasion to add virtual floppy disk support on Gamer's Cartridge, making Saturn considering a floppy disk drive is available, even if not physically connected.
Main purpose of this feature is to add 5 more save and load slots in Dezaemon 2, which, in addition of the 5 slots on backup memory cartridge, makes possible to manage up to 10 saves into a Dezaemon 2 session directly from a single SD card 
I don't remember exactly what was the trigger which started the addition of this feature, but I think that a suggestion from IGK like "it would be cool if floppy disk would be supported by Gamer's Cartridge too" and me "Ah yeah, that's a nice idea ... how many save slots do you want ?"

After that, IGK continued to surprise me by asking his friend beebaraka to draw a Dezaemon 2 themed label for Gamer's Cartridge ... As a result, I received images for two labels, which I personally consider as the masterpieces among Gamer's Cartridge label collection
My preference goes to the white-themed label, but I suppose it's just a matter of personal taste.

Dezaemon 2 themed Gamer's Cartridges
Like shooting games ? Like DIY ? Theses cartridges are designed for you

In parallel of theses Dezaemon 2 adventures, generous contributors helped in dumping firmware of some exotic Saturn cartridges, and were successfully added to Pseudo Saturn Kai Save Data Manager.
Most relevant dumps were for X-Terminator cartridge, and Urawaza Dataro cartridge : first one is a cartridge with extended support for cheat codes, especially with extra controller allowing in-game search of cheat codes. Later one provides special save data for several (around 34 IIRC) Japanese games. Special thanks to Madrom for providing dump of this cartridge !

All the points below contributed to prepare the "20170423" release of Pseudo Saturn Kai. Warm thanks to all contributors who could make it possible !

Second half of the year mostly concerned cheat codes addition to Pseudo Saturn Kai. It started in June (or May ... I don't remember correctly) from a Gamer's Cartridge user asking when cheat codes will be available in Pseudo Saturn Kai ... this reminded me I still had to finish that until next release

First working version of cheat codes
hander, with USB transfer support
It's not visible on this picture, but many polygons weren't
drawn because of performance issues.

Unlimited time cheat code working : it took me around
one month to fix missing polygons, because of unoptimized
implementation of cheat codes handler), but I did it
Cheat codes kept me busy for six solid months, basically in understanding to manage cheat codes in a similar way as is it done on Action Replay firmware, optimizing critical code, importing codes list, finishing cheat codes related interface, testing several games, etc.
That's honestly a hard work, but this was also an occasion to add in-game USB transfer via USB dev cart. Thanks to this, the basis in order to fix or improve cheat codes is ready  Proper PC software for cheat codes detection is still missing, but hopefully this will be done someday.

Akumajo Dracula-X illustration with Maria's inifinite jump cheat code.
This game was a nasty one regarding cheat code support, with very
tight CPU and RAM left for cheat codes handler. This was an occasion
to develop many cheat codes debug features

Summer was also the occasion for me to officially end manufacturing and support of USB dev cart : after 5 years involved in this adventure, I considered it was enough, because :
 1. USB dev cart interests basically nobody
 2. In the rare cases USB dev cart interests somebody, it is usually used for closed-source projects
(But there are notable exceptions where USB dev cart contributed to Saturn open source projects. Big thanks to theses concerned peoples for making Saturn homebrew scene brighter )

I'm hesitating about the timing for next Pseudo Saturn Kai release : should I take some extra months in order to get proper cheat codes support for most popular games ? Or should I release it under few weeks with minimal cheat codes support (around an handful of games are currently tested and working), and hope to receive some feedback from users, so that I will eventually know which games need their cheat codes to be fixed ?

That's a very difficult choice : cheat codes is a niche feature (as everything else regarding Saturn !), so I shouldn't hope a lot of feedback. On the other hand, adding a cheat codes edition screen, and allowing cheat codes input on user side is (IMHO) a mistake too : maybe a motivated user would fix and/or add codes for some games, but rarely theses codes will be publicly available for everybody else, and in the other cases, user will simply consider Pseudo Saturn Kai cheat codes as a broken feature.
Let's see ... I honestly don't have any precise idea when next release should be done. Any suggestion regarding this is welcome in the comments

Generally speaking, I'm tired about Pseudo Saturn Kai maintenance : I started it around two years ago (yes, largely over than nine thousands hours !!!), edit: that was around three years ago (I though we were at the beginning of year 2017 ), am finally seeing the end of my TODO list to realize that ... majority of users shifted to hardware ODE, or simply left the scene without any last final word ...

Well, whatever it may be, I continue development of Pseudo Saturn Kai because I went too far to stop so near of the end (that's quite a pragmatic argument, sorry), but also (and that's the most important), because that's a nice hobby, which is important in order to keep a balance between private and work

Also, my first steps in Pseudo Saturn Kai maintenance were made during my hospitalization for cancer, and keeping such hobby during theses hard times was worth gold. I don't know (and don't want to know) how things would had turned without my Saturn hobbies.

BTW, things concerning my health are getting well : I'm still undergoing periodical screening, which all were OK last year  Last year was the celebration of 3 years all right after surgery, which is not bad for a cancer with 50-60% 5 years survival rate

Pokemon Go still not allowed in hospital.
Fortunately, usage Saturn dev laptop isn't forbidden

To finish this article on a rant note (sorry if you went here for some final positive note ), I would like to say "thank you for nothing" to Rhea/Phoebe development team rmenu author. (← updated on 2018/06/20)

Why ? Reason is that I would like to add a rmenu equivalent to Pseudo Saturn Kai, but don't have any technical information to implement it, and it's not like I didn't asked about theses informations, but simply didn't received any relevant reply from concerned developer(s).
For a semi-commercial product, I can understand to keep schematics, source codes and other development resources private. But I don't request disclosure of theses resources, and just want some minimal information for interoperability, which isn't publicly available, and that's a pity.

Why is that a pity ? Because some cheat codes will certainly not work by having rmenu running between Pseudo Saturn Kai and Saturn game. I know there's the solution to use rmenu's full boot, which does a system reset of nearly everything (except Rhea/Phoebe, obviously) after selecting a game, so that cheat codes can be enabled after that ... but I really don't know anybody motivated to do this messy setup : everybody is using the rmenu's quick boot solution, right ?

Pseudo Saturn Kai's rmenu, dated 20151214.
Latest version have some major improvements,  such as
scrolling title of select game, etc
Because of lack of Rhea/Phoebe API, this feature is disabled.

I'm personally (and honestly) not concerned about this problem : my modded Saturn + USB dev cart are enough for my development needs, and I don't want to pay for a device costing an arm and a leg (plus a kidney when buying from ebay ...) and then having to do the reverse-engineering job for it after that ! So unless I got external help, clean support for Rhea/Phoebe will be done ... without me

From what I could found from static analysis of rmenu itself, version is checked by seeking to the last available data sector of the CD track, and game is selected by seeking to sectors just before that last available one.
After that's it's difficult to guess what data should be expected from Rhea/Phoebe without testing on real hardware. And reverse-engineering is usually a sluggish and hard work (I estimate the remaining as around a two weeks course ... and hope this to be a pessimistic estimation), and really would like to spend this time to other projects funnier.

2018/06/20 update : there will be proper support of Rhea/Phoebe image selection in Pseudo Saturn Kai, and consequently an user-friendly way of enabling cheat codes when using theses ODE
Very big thanks to Deunan Knute for the great job, providing the technical informations and everything else
And also I would like to thank privateye for contacting Deunan, his patience and great help in beta testing

Read more Year 2017 - Synthesis

Rss feed of the articles