PPCenter :: devblog

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

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

PPcenter donation system updated !

Written by cafealpha 4 comments
More than 11 years ago (from winter 2005 ?), I had a "donate" page stating something like "send your money and I will make cool things for Saturn on my free time".

During there 11 years, I received 15 US dollars.

And within theses 15 US dollars, I declined 10 because they were generously donated in exchange of "future help" in making a game for Saturn.

So that's something like 45 cents per year, which is also around 3.8 cents per month. I didn't checked in details, but that should be something like one Skittles per week. Not one bag of Skittles, but one bloody skittles. Per. Week

Fortunately, this era now ends, because I officially announce that I changed my donation system from "send your money and I will make cool things for Saturn on my free time" to "Send everything except money, and I will make cool things for Saturn on my free time. And even if you don't donate anything, I will make cool things for Saturn on my free time anyway."
More details can be found on my donate page

And to make it clear : the motivation to change donation system is not related to money : I just spoke about money received so far in order to write something funny in my blog

I make Saturn things for fun, and not for money. As some examples, I started to design rev2f PCB in hospital room from one week after undergoing cancer surgery, and Virtual Memory Cartridge add-on for Pseudo Saturn Kai was developed and tested during my post surgery chemotherapy. Theses helped a lot to think about something else than medical things during theses times.
I don't say that Kicad and gcc are a cure for cancer (), but theses were very good help however.


And to make it clearer : yes, I sell Saturn cartridges, but no I don't make a living from selling theses. I'm not even sure I produce enough carts in order to pay every-day's breakfast from cartridges sales benefits

Read more PPcenter donation system updated !

Iso/Cue "loader" works on real hardware :]

Written by cafealpha no comments
(For more informations, you can also read this old article.)

I finally had time to use my Saturn, and I could verify that iso/cue "loader" works on real hardware !
Of course it works well when reading from RomFs, and it works also well when reading file from SD card

data/images/20150626_iso_loader.tb.jpg
My test environment ... sorry for the mess
(Micro SD card is located on top-left of the cartridge)

I lost some time to understand why data transfer from SD card was slower than expected, but finally understand why : some debug/whatever delay routine was called when accessing cartridge registers ...
Just putting some #if 0 around this delay code solved the "problem" ^^;

Read more Iso/Cue "loader" works on real hardware :]

No more spam ? "I'll be back" edition

Written by cafealpha 5 comments
Second (and I hope last) part of this article ...

Last week, I spend half a day in getting rid of spam messages via my homepage contact form.
And, it seems to work well

So today, I spent another half a day in getting rid of spam messages via this blog's comments
So I removed bullshit advertisement messages scattered on my blogs comments, and tried captcha plugin for PluXml (= my blog's CMS).
And unfortunately, image based captcha plugin doesn't seem to work well, because it blocks ALL comments ... very efficient spam filter
So I added a simple additional test when posting comments. Hope you will solve it ... or not in the case you are a robot

Extra : I spend the other half a day in testing Saturn cartridge with custom USB dev cart connected to my laptop and Open Logic Sniffer and JTAG (ByteBlaster on my desktop's Parallel Port, because I don't have enough budget to buy a USB Blaster ^^; ) around my Saturn
Here is a snapshot of signals when it finally worked :
data/images/20150417_sniffer.png

Can you guess what it is about ?

Read more No more spam ? "I'll be back" edition

Rss feed of the tag