PPCenter :: devblog

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

Firmware restore utility for Saturn Memory Card Plus cartridge

Written by cafealpha no comments
First, let's introduce to you memory card plus :
data/images/20140817_memory_cards.tb.jpg
Black cartridge : Memory Card Plus
White cartridge : official memory card

Memory Card Plus looks like regular backup cartridge, but behaves differently : while regular backup cartridge provides memory on CS1 memory area, Memory Cart Plus have flash ROM chip mapped on CS0 memory area, as Action Replay does.
Consequently, Memory Card Plus boot before game on CDROM, and during this this time, it modifies some settings in order to make BIOS detecting this cartridge as a second backup memory device.

As Action Replay cartridges, it is possible to reflash Memory Card Plus, and in the case you would like to restore its firmware to its original state, I prepared a flasher utility containing my Memory Card Plus firmware I dumped 2 years ago (time flies ...).

You can download this utility >here<
(source code is included, please refer to readme.txt for installation instructions)
data/images/20140817_memcartplus_flasher.png
Flasher tool in action ... well reflash don't work under yabause,
but should work on real hardware.

As en extra, I let my old game saves with firmware itself ... please format cartridge from BIOS memory manager if you don't need them.
data/images/20140817_memcartplus_contents.png
Good old times I played Night Xmas and Shining Force 3

Remark 1 :
Flashing your Saturn cartridge will erase all the data on it, including your game backup data,
so use only after saving backup data to Saturn internal memory.

Remark 2 :
Memory Card Plus firmware is designed to work only with specific flash chips, so it
probably won't function correctly on other cartridge (Action Replay, USB dev cart, etc).

Disclaimer :
I'm not responsible of damages that this utility may cause to your game save data, Saturn cartridge or Saturn itself.

Please let me know if reflash worked (or not worked) in this article comments


Extra : I also made a diagnostic utility that displays flash chips ID without modifying flash memory contents. It can be downloaded here.
It can be useful when analyzing exotic cartridge, but not really useful with Memory Card Plus.

Read more Firmware restore utility for Saturn Memory Card Plus cartridge

New compiler for my Saturn stuff !

Written by cafealpha no comments
Today, I just changed all my projects configuration and sources in order to use latest "Saturn SDK" compilers 

Very boring work, but now I feel happy to get all my projects updated !

Motivation hedgehog for today work, and future work too :
data/images/20140805_hedgehog.jpg

Here is a list of problems I fixed to get the new compilers working :
 - Don't call directly ld, instead call gcc -o. Why ? because ld can't find properly path to libgcc.a ...
 - Consequently, some link parameters need to be changed :
    "--script bart.lnk" → "-T bart.lnk"
    "-Map main_elf.map" → "-Wl,-Map=main_elf.map"
 - Some signed/unsigned mess that need to be fixed ... old compiler was quiet about this, which made me not worrying about data signedness ^^;
 - Removed volatile keyword in function declaration ... it actually didn't made sense to use volatile elsewhere than in data declaration !
    /* Exit to multiplayer. */
    //(**(volatile void(**)(void))0x600026C)();
    (**(void(**)(void))0x600026C)();
 - Removed SBL sources that were used to read file from CDROM, because they don't compile properly except in -O0 (non) optimisation mode ... Instead, I use source from great CyberWarriorX library

Read more New compiler for my Saturn stuff !

Howto : Build Saturn cartridge firmware from regular Saturn executable

Written by cafealpha no comments
In this article, I will explain how to build Saturn cartridge firmware from Saturn executable file.

Note : it doesn't magically convert .iso files to cartridge format ! It only convert standalone executable (typically, a file that can be executed after being uploaded to 06004000 address), and doesn't support programs that use CDROM.
So, basically commercial games can't be converted, and only some (not all) homebrew programs can be converted.

Read more Howto : Build Saturn cartridge firmware from regular Saturn executable

Rss feed of the tag