PPCenter :: devblog

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

Firmware development - will it work somewhere else than in my dev Saturn ?

Written by cafealpha 6 comments
I'm still developing the firmware for my custom cartridge, and it worked enough so that I could take a video of it running on real hardware

Click on the image in order to see its youtube video.
You can also click here in order to download .avi file.

Video may be blurry, so here are some additional pictures :
USB & SD card cartridge.
This is the cartridge I mainly use for testing on real hardware
(USB port is used for debug purposes)

SD card cartridge for Saturn.
This is the version I plan to release in the case development continues well

Flatcube demo loaded and executed from SD card.
This picture is here in order to put a link to the homepage of flatcube demo author

And last but not least, many thanks to beta testers for their cooperation and patience

Beta cartridge loaded on modded Japanese Saturn.
Thanks to
MeteK for beta testing and taking this picture
Last week, MeteK reported that basic SD card access worked on his Saturn

Pseudo Saturn Kai System Information screen.
Thanks to Alexandre Souza from www.tabalabs.com.br
for beta testing and taking this picture 

data/images/20151112_tabajaralabs_noshell.tb.jpg - data/images/20151112_tabajaralabs_shell.tb.jpg
Additional pictures from Alexandre : cartridge without, then with shell.
Alexandre is currently trying to 3D print cartridge shells. Please do your best

I still can't getting things working on Alexandre side : SD card doesn't respond to SPI requests from Saturn via my cartridge ... I suppose this is due to a bad hardware design on cartridge side, but I still need to investigate about this ...

Edit (2015/11/11) : it is fixed and verified here
Fortunately, it was not an hardware error, but a firmware (SH-2 side) error.
About details : I access SD card by using SPI protocol, and the reason some cards couldn't be initialized was due to the fact that commands were incorrectly received by SD card.
Sending a dummy synchronization byte before sending command to SD card fixed the problem.
Log taken from my dev Saturn : first half is SD card initialization sequence,
and second half is data blocks reading.

It works under custom build of yabause too
Thanks to this, most of the tests could be done on PC,
which saved a lot of development time.
Thank you yabause team

After doing some testings on my side, I could verify that :
 - SD card access works fine on all the 6 Saturns I own
 - Some SD card can't be accessed via my cartridge, while the others work fine. (← fixed)

Saturns used for testing.
The one on the top of the picture is my good old dev unit

SD card that aren't recognized by my cartridge.
Edit (2015/11/11) : I fixed firmware and 32GB micro SD card above was recognized
(I didn't tested with the other SD cards, but I suppose it is now OK too.)

SD cards that were correctly recognized by my cartridge.

To conclude this article, I have to say than this project doesn't make exception to Muphy's Law :
Anything that can go wrong will go wrong

Beginning of year (2015) : Virtual Memory Cart related debug. After verifying that it has the chance to work, I temporary stop its development, mostly because I was bored to continue development of this feature ^^;
Until this summer : a lot of struggle with Pseudo Saturn 0.831/0.832/flasher/etc related things.
September : SD card library related troubles. Try to get a solution by using -and trying to fix- thinfat32 library. Using fat_io_lib was a better choice, thank you hitomi2500 for your advice about this library
October ~ Now : Troubles with SD card on Alexandre side ... will work if another SD card is used (currently waiting for test results) ?

Anything that can go wrong will go wrong
But at least, beta cartridge half works, so I can safely continue its development

I plan to release the first batch of cartridges with SD card included, so that there won't be incompatibility issues on user side.
As my project is a low cost one, and also because it won't load commercial games, I plan to sell the cartridges with low cost (8GB or maybe 16GB) SD cards.
Edit (2015/11/11) : SD card compatibility is likely to be fixed, and as far as possible I don't want to do SD card stock management/etc, I will probably release cartridges only.
There still no release date to announce, because some fixes/features addition/testing/etc is remaining, and also because I mostly do this for fun


#1  - hitomi2500 said :

Nice vid, please keep it up.

It's strange that some cards aren't recognized. Is your connection SPI or 4-wire? Do you use full init sequence from SD spec? Isn't your SD clock higher than 25 MHz?

#2  - Alexandre "TabajaraLabs" Souza said :

You got mail, with good news! :)

#3  - cafealpha said :

@hitomi2500 : It's fixed :) (please see this article for details) I use SPI with clock lower than 1MHz, and problem could be fixed on software side.

#4  - cafealpha said :

@Alexandre "TabajaraLabs" Souza : Thank you for testing !

#5  - Eric said :

Wow, this is freaking amazing! I love my Saturn consoles and do not want to do any swapping so this is perfect for me :-)

#6  - cafealpha said :

@Eric : If development continues well, I plan to release everything and start selling carts in a near future. Release will be announced in this blog, so please continue to follow it if you're interested :)


Write a comment

Please enter this homepage's webmaster favorite video game console name.
It fits in 6 letters and is case insensitive.

Rss feed of the article's comments