X-Terminator Cartridge Revival

Written by cafealpha 5 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

Gamer's Cartridge available back soon !

Written by cafealpha no comments
Classified in : Saturn, Programming, Mylife Tags : cartridge, development, homebrew, kai
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 !

One more new PCB color !

Written by cafealpha no comments
Classified in : etc, Saturn Tags : cartridge, homebrew, memcart
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 !

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

New PCB Color !

Written by cafealpha 2 comments
Classified in : Saturn, Mylife Tags : cartridge, homebrew, memcart
So I'm currently preparing next batch of Gamer's Cartridge, and am glad to introduce new PCB color


Gamer's Cartridge PCBs in various colors

I unfortunately didn't had blue Rev 3.3 (b) PCB when taking the picture above ... in fact, it's a long time I didn't soldered blue PCBs


The main interest in soldering PCBs with different colors is to make soldering activity funny, which is important for me since cartridges are assembled by hand : if making cartridges would become boring, I would prefer to stop everything rather than automatize assembly process !

My impressions after soldering a black PCB are ... a bit mixed : yeah, the PCB looks cool, but there's no contrast between tracks and isolated areas, so I definitely wouldn't use this color for new projects
One example of this lack of contrast can be found in cow logo, whose rendering is terrible in black color :
Cow logo on black PCB ... playing hide and seek

Among PCB colors I tried so far, I personally prefer ... standard green color, and then maybe red color. Also, I still didn't tested yellow color, so let's try it on next batch  I fear that contrast won't be better than on green PCB however

Read more New PCB Color !

Rss feed of the tag