PPCenter :: devblog

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

Backup Manager - Early Version #1

Written by cafealpha 8 comments
So I'm currently making a Saturn Backup Data Manager utility.
What's this ? It is a remake of "Memory Manager" utility present in Saturn BIOS.
data/images/20150204_backup_manager_sega1.png
Sega Memory Manager utility : main screen

It already exists, and can be used from BIOS, so why making such an utility ?
I have some reasons that pushed me making this, and one of theses is that Memory Manager user interface is very cheap, especially, it doesn't allows to select multiple backup data and copy/delete them. (Dear Sega, why didn't you developed this feature ??)
Also, there are some new features I would like to add, such as hex-edit of memory data ... I have very few time to play now (real life, children, cancer, etc), so 999 lives in Backup data is a must-have feature

This utility is currently WIP, so no download link is available right now, but it is WIP enough to publish screens on my blog
So here is what it looks like now :
data/images/20150204_backup_manager1.png
Backup Data Manager Main Screen

Don't trust the development progress only by looking at the main menu : everything behind is far for being finished
But at least, menu library itself is more or less completed, and I'm very glad about this point.

Here is a comparison of data selection screens :
data/images/20150204_backup_manager_sega2.png
Data Selection (Sega)
data/images/20150204_backup_manager3.png
Data Selection (this utility)

Yeah, I know that Japanese text is not displaying properly ... this will be fixed, but the priority for this is low, so please be patient.
And what is the green text display on Backup Data Manager screen ? This is multiple items selection

As a bonus, here are screens of Backup Manager running on real hardware.
Pictures were taken last September, when I still had a modchipped Saturn ready for use ... after that I was busy with medical stuff, and moving to a new apartment, so my Saturn I used for testing is currently hidden in a cardboard ...
data/images/20150204_backupmngr_hwtest1.tb.jpg
Early version of Backup Manager, picture was taken 4 months ago.
Can you spot the differences with current version ? ^^


data/images/20150204_backupmngr_hwtest2.tb.jpg
SatLink running on my 8 years old laptop, connected to my Saturn via USB dev cart.
This development environment is by faaar more convenient than $500+ vintage
development hardware/carts/whatever floating on ebay ♪



Among the things I would like to add before a release, there is the Saturn FDD support ... but I don't own Saturn FDD unit, and the cheapest unit I could find on auction sites costs 10'000 Yens, and the seller doesn't guarantee that it still works ...
I won't pay 10K Yens for a vintage objet I will only use once a year (and I fear my wife would trash it if she founds it ), so if somebody is ready to give some time for beta testing with Saturn Floppy Disk Drive, please let me know in the comments

Read more Backup Manager - Early Version #1

Treatment report (2014/12/22) : MRI

Written by cafealpha no comments
Today was a MRI day !
MRI taken so far (4 or 5 times) were took with contrast medium (liquid sent via intravenous in order to see clearly veins), but this time was the first time without contrast medium !
It was a little strange that catheter were not used this time, and it was so "easy mode" that I half felt asleep during MRI exposure session  ^^;

One anecdote about this day is that when I entered in MRI room in order to put off clothes and wait for my turn, atmosphere in the room was a little strained, and 3 bodyguard shaped guys were waiting with MRI technical staff.
Maybe theses guys are maintenance staff ? But they definitely didn't looked like : they only stare at the window and monitors showing the MRI patient just before me.
When it was my turn, I understood why atmosphere was a little strained : bodyguard shaped guys took handcuffs and put them to the MRI patient just before me : he was a prisoner, and today was something like his "quarter-liberty day" outside the prison !
It was the first time I saw a prisoner for real (not on the TV, internet, whatever) in Japan.

Additional CT is scheduled for next month, so see you later for my next adventures


PS : I'm looking for a laptop better than the one I'm using now. Is there somebody to help me ?
My requirements are as follow :
 - No need brand new laptop, used laptop is OK
 - Screen resolution >= 1366 x 768
 - DDR3 SO-DIMM memory slots x 2
 - RAM address area >= 8GB
 - Battery for offline use >= 2 hours
 - CPU >= Core 2 Duo
 - Japanese or US qwerty keyboard
 - No need of OS, HDD and RAM, I already have theses parts here.
 - No more than USD 150
 - Easy to purchase in Shikoku area (Japan).
I looked in Hard Off ... only found a SNK 95 Saturn cartridge and very old or very expensive laptops.
I looked in PC Depot ... only found a good Sony laptop very cheap ... with broken LCD. And of course, nothing about LCD damage indicated near price tag
Any other idea where to search ?

I plan to use this laptop for Saturn development stuff

Here is a picture of the laptop I'm currently using :
data/images/20141222_laptop.tb.jpg
Old stuff from 2007, with 2GB RAM (no more addressable space ... what a pity), and a 512GB SSD.

Read more Treatment report (2014/12/22) : MRI

New USB dev cart - currently debugging

Written by cafealpha 4 comments
Few weeks ago, I had some free time (only one day however) to populate new USB dev carts
data/images/20140829_usb_dev_cart.tb.jpg
USB dev carts during different populating states
"This isn't even my final form"

I could populate 3 boards ... third one is not on the picture, while a couple of capacitors is missing on second one, but this is a matter of 5 minutes to solder.
After that, time was missing, and what's more problematic, ICs were missing too >_<

I soldered my last flash chips (on the right side of the cart), as well as my last USB chips and connectors (top left side of the cart) ... and my last 100nF decoupling capacitor (everywhere near all ICs) too ... it's a shame about the capacitors because they cost absolutely nothing and they are required everywhere in the cart.

So what's the plan from now ? I'm currently improving USB dev cart firmware, and plan to sell the completed cartridge on the bottom right corner of the picture when firmware will be ready for release.
From that money, I will buy a new stock of ICs to populate other PCBs
Why not buying ICs now ? Simply because I don't have enough budget for that, and also because buying ICs in few quantities is too much expensive : IC price decrease with quantity, and shipping fees are free when more than of USD100 of ICs are purchased.


So let's come the interesting part : firmware, which means software !
Last month I had enough about PCB design with Kicad, so that was good to get back with my Saturn and USB connect it to my laptop

data/images/20140829_dev_env.tb.jpg
My Saturn development environment : no expensive vintage development kit,
only a modchipped Saturn, USB dev cart and 7 years old laptop are enough.

So of course I lost a lot of time with stupid software troubles.
Here is a list of the troubles. I hope that writing them here will prevent me from repeating the same mistakes in the future.

 1) Data alignment problem : one structure is 1 byte packed, and some long word was put a non 4 multiple offset in this structure. It is usually easy to spot, but ...
 - It doesn't cause problem under yabause (? not verified, please tell me if I'm wrong), so this problem was unnoticed until I test it under real hardware.
 - It happened during program initialization, before USB transfer would allow me to easily find why my Saturn freezes.
 - I was sleepy at this time

 2) Adding byte size to unsigned long* pointer ... it resulted in pointer set 4 times farther than expected ... really stupid bug
Oh, and in the same fashion, a similar bug in Action Replay flasher utility prevented from writing more than half of flash memory size ... it's good that I could fix this bug before anybody notice it

 3) Saturn freezes when reading flash vendor/device IDs.
As usual, when Saturn freezes, it is during program startup, when USB can't be used for debug ^^;
This problem was the most interesting one : some parts of the firmware runs directly from Flash ROM, and it seems that reading flash vendor/device IDs makes whole flash returning theses IDs, resulting in invalid instruction from CPU ... this is just a guess, correct me if I'm wrong.
This problem was corrected in a very Q&D way : return 0xBFBF/0xB7B7 in FlashGetVendorID/FlashGetDeviceID functions
I have a better idea to fix this, but it requires to modify cartridge flasher utility ... I made enough flasher utility stuff recently (I'm enough in fixing compatibility issues with Action Replay old flash chips !), so I will fix this later.

Read more New USB dev cart - currently debugging

Saturn cartridge firmware flash utility : small update #2

Written by cafealpha 12 comments
I made some fixes to my flasher utility.
 - Added support for SST29LE010 flash chip
 - Added memory verify after flashing
 - Fixed erase/write operations AM29F010 flash chip
 - On startup, inform user that 3D pad and multitap pad are not supported

Thanks to beta testers on ASSEMbler forums, this new version has high chances to work on your Saturn cartridge
However, if you experience any problem, please let me know by leaving a comment to this article.

Some screenshots :
data/images/20140829_bfbf_0808.tb.jpg
BFBF/0808 flash chip, not recognized on previous version.
This version does now detect it as a 29LE010 device from SST.
Picture provided by dgist71.

data/images/20140901_flash_ok.tb.jpg
Write to AM29F010 chip was incorrect in previous version.
As displayed in this screenshot, this is fixed now.
Picture provided by XeCuTioNR.

You can download this utility here : flasher_20140902.7zflasher_arp_20150326.7zhttp://ppcenter.webou.net/pskai/
Disclaimer : You will loose your cartridge backup data after reflash. And, I'm not responsible in the case I brick your cartridge and/or damage your Saturn.

Read more Saturn cartridge firmware flash utility : small update #2

Saturn cartridge firmware flash utility : small update

Written by cafealpha 17 comments
Memory Card Plus restore utility I made few days ago is now obsolete : I added a menu to select the firmware to flash.
Firmware list includes Action Replay Plus/Pro (various versions), latest Pseudo Saturn, Memory Card Plus, USB dev cart.
data/images/20140821_flasher_fwlist.png
Firmware selection menu

As you can see, I added some colors in text display too

The utility doesn't read data from the CDROM, so that it can be uploaded to Saturn via commlinks port (Action Replay) or USB port (USB dev cart).
All the firmwares don't fit as-is in Saturn HRAM (1MB), so I compressed them by using LZF compression, so that everything could fit in a single ~800 KB binary file

Here are some pictures of utility running on real hardware :
data/images/20140821_flasher.tb.jpg
Firmware selection menu from early beta version.
Picture provided by r1cola.

data/images/20140824_flasher_video.png
(click to open video)
Flasher in action : from firmware selection to end of flash operation.
Video provided by zorlon.

You can download this utility here : flasher_20140824.7zflasher_20140902.7zflasher_arp_20150326.7zhttp://ppcenter.webou.net/pskai/
Disclaimer : You will loose your cartridge backup data after reflash. And, I'm not responsible in the case I brick your cartridge and/or damage your Saturn.

Read more Saturn cartridge firmware flash utility : small update

Rss feed of the tag