... 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
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
? 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
Hi everybody, I hope you had great holidays
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
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
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
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
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
: 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 !
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.
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
Additionally, all capacitors are removed too : that's
the occasion or never to replace them
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 boardX-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 :
- XRider, for the good work in game cartridges preservation
- Darius, for gathering French community around Saturn
Read more X-Terminator Cartridge Revival
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 ! 売れています！
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
It seems I took vacations to the last place in the world where
hard spinner are still popular
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