Gamer's Cartridge out of stock :]

Written by cafealpha 5 comments
Out of stock ":]". I'm glad to have finished this batch
I don't plan to sell Gamer's Cartridge for a while, because stock of parts to build theses cartridges (electronics components, PCBs, labels, etc) is currently very low here. I'm even lacking of bubble paper used when shipping cartridges

So, what's next ? Of course, Saturn stuff  I plan to use this "break" in cartridges manufacturing and sales in order to continue Pseudo Saturn Kai development.
Main feature to add is cheat codes, which is a bit "heavy" one to implement, because processing in order to make cheat codes working isn't documented in details.
But that will be done ! Also, there are some side quests here and there regarding Pseudo Saturn Kai features. I plan to implement as far I can, so it will be limited only by my free time, my motivation, and flash ROM remaining on cartridge

data/images/20170215_sgc_v33b_gerber_preview.tb.png
Gerber preview before ordering PCB on
Seeed Studio, very classy and realistic

Edit (2017/05/11) : finally back in stock
I catched the occasion to make some minor improvements to my homepage, such as adding anchor link to some sections, adding some directions for Japanese users, etc ... and I'm already full up with writing HTML

Edit (2017/05/12) : half of the stock already reserved oO
data/images/20170512_escalated_quickly.jpg
Cartridges are assembled by hand, hence stock is small, but I'm impressed anyway

Read more Gamer's Cartridge out of stock :]

Cartridge labels available !

Written by cafealpha no comments
Finally available :]

Last June, I initially wanted to release Saturn Gamer's Cartridge with custom label, but some unexpected problems regarding label quality (not resistant to water) delayed its release, consequently, Gamer's Cartridges manufactured until now had only shell, but no label.

"Stronger" label retained for use by Gamer's Cartridge is designed for car tuning purpose, so waterproof, and even alcohol proof ! I suppose this will satisfy the requirements of typical Gamer's Cartridge user
(※) Just a (common sense) note : while labels are waterproof, cartridges themselves aren't  So no, you still can't play Saturn while taking a bath

data/images/20160914_labels.tb.jpg
Cartridges with their labels.
Bottom-right one (without LEDs) is USB dev cart.


Custom labels were the last main milestone regarding Gamer's Cartridge design : I won't design custom boxes for my cartridges.
Why ? Because I want Gamer's Cartridge users to ... use their cartridges, not collect (shelf) them

You are Saturn Gamer ? Want to share your Saturn saves with your emulator or friends ? Want to enjoy Dezaemon 2 game but don't want to purchase a modchip + memory cartridge ? Then Saturn Gamer's Cartridge is for you


Special thanks to my friend Darius who selected paper, printed labels sheet, and cut each labels
Darius provided pictures he took when cutting labels, so please enjoy the labels making-of


data/images/20160818_labels_scan.jpg
Label sheet scanned just after print-out.
Red/blue lines are used as help when cutting labels.



data/images/20160819_labels_tools.jpg
Tools used : ruler and cutter.
And also Darius' God Hand and eyes (not pictured)


data/images/20160819_labels_row_cut.jpg
In order to optimize time , labels are first cut row per row.

data/images/20160819_labels_individual_cut.jpg
After row cutting, labels are cut individually

Read more Cartridge labels available !

Pseudo Saturn Kai no longer working on Action Replay ... and its rebirth !

Written by cafealpha 2 comments
Classified in : Saturn, Mylife Tags : cartridge, debug, pseudosaturn, saturn
So TehNewParalyzer told me he likes Pseudo Saturn Kai and plans to put many Pseudo Saturn Kai videos on his youtube page.
Very good ! That's great to see people still enjoying using Saturn nowadays

data/images/20160803_action_replay_metal_slug.tb.png
Metal Slug with Action Replay cartridge,
compatible until you press Start button
(Click in order to see youtube video)



At that time, his last video was about Uno DX, and was experiencing issues with it.
That's a bit weird, because this game shouldn't cause compatibility/problems ... maybe a bad burn or bad dump of the game ?

By looking at the problem in details (everything is explained in his videos, which is very convenient  ), I see that CWX loader doesn't works anymore for all his games, even the ones that played well before, but JHL loader still works well.
Very weird : CWX hasn't the best game compatibility, but should work on all known models of Saturns

So I request TehNewParalyzer to give details about this problem :
1. From loader selection menu, press B button, select "Self Test", and select "Test once only".
Please let me know if error message is displayed in "Main prgm" or "Bootstub" lines.
2. Please try CWX loader with an original game, and tell me if it booted or not.
3. If possible, please try with game burned on another CD-R brand and/or burned a different (lower or higher) speed than usually, and tell me if it boots with CWX loader or not.
4. If possible, please try with another Saturn and tell me if you can get games booting.
5. If you have a spare Pseudo Saturn cartridge (Action Replay, or Game Shark, or Memory Cart Plus, or any other clone), please give a try with it and tell me if you can get games booting.


Fortunately, there wasn't need to test after step 1 : self test feature was throwing a CRC error on when checking firmware's main program.
Okay, so it looks like cartridge flash ROM is corrupted, and consequently few areas in main program code can't longer be executed.
Why Action Replay's flash ROM would corrupt ? I don't know exactly, but I suspect :
1. Extra feature in Uno DX, corrupting cartridge's firmware in the case you use too much +4 cards
2. Poor quality of Action Replay flash chips.

Rather than thinking too long about causes, let's take measures in order to fix the problem : re-flashing the cartridge should do the job.
And it did the job : no more CRC error

data/images/20160803_pskai_self_test.tb.png
Correct self-test results after firmware re-flash.
(Click in order to see youtube video)


One of the purposes of Pseudo Saturn Kai's self test feature is to help Action Replay users : by the past, I had few reports from other users having their Action Replay no longer working, so I thought about a feature in order to check the integrity of their flash ROM.
I'm glad this feature was useful to at least one Pseudo Saturn Kai user

data/images/20160803_ice_cube.jpg



For those who want more details about Action Replay flash chips :
First, Action Replay cartridges (and their clones) are using old flash chips no longer produced, which means theses chips are either old, or counterfeit. In both cases that means the quality of this chips is a bit shady.
Moreover, Action Replay original firmware may shorten flash ROM life length, because it writes to flash ROM when cheat codes selection is changed, or when cartridge internal save functionality is used : the more you store save data, or select Action Replay codes, the more likely it is to be damaged.

There are ways to improve this problem : the simplest one is to use SST39SF flash chips (5V logic, still produced ), but that requires changes on Action Replay PCB, and to make several changes Action Replay firmware (because write access to new flash chips is not compatible with old ones).

Changes in PCB is probably not a real problem for Action Replay manufacturers, since Action Replay PCB is shrinking year by year (in order to reduce manufacturing costs) so I suppose that Action Replay manufacturer still have at least one guy capable of designing PCB ...

Changes in Action Replay firmware is probably what's preventing manufacturers from using new flash chips : people who wrote Action Replay original firmware (around 20 years ago !) are probably retired now, and I doubt there are still people fluent with SH2 assembly working in Action Replay manufacturing field



A little unrelated (but I'm too lazy to create an article just for that) : Pseudo Saturn Kai compatibility list is growing little by little
There are currently 259 games available in the compatibility list, so there are high chances to find your favorite game listed in it

Special thanks to people who contributed to this list, especially Thales Peres, who provided test reports for around 150 games !

Read more Pseudo Saturn Kai no longer working on Action Replay ... and its rebirth !

Wanted : custom cartridge label

Written by cafealpha 4 comments
Classified in : Saturn, Mylife Tags : memcart, pseudosaturn, kai, saturn, usb dev cart
Good and bad news for people interested in my cartridge .
The good news is that cartridge (Saturn Gamer's cartridge) and its firmware (Pseudo Saturn Kai) are more or less ready for release
After release, project sources (PCB design files, and Pseudo Saturn Kai source code) will be publicly available, and few carts (not a lot) will be available for sale.

The bad news is that there are still few thing I would like to improve before release.

Among theses things I would like to improve, there is a custom label for cartridge case : I'm currently using second hand Action Replay cases for my project, and really don't like Action Replay label.
In fact, I removed theses ugly labels ... it was hard to do (I don't know why they're using glue so strong !), but I really couldn't stand theses out-fashioned labels

Rather than designing label by myself, it's probably better to ask everybody about their favorite design for Gamer's cartridge label !
In fact, as labels will be printed by batch of 12 per page, it's OK to print different labels at once, then, let future user choosing his favorite label when ordering cartridge :)

Rules :
 1. Width : 946 pixels, Height : 592 pixels.
Adding some margin around your label is encouraged.
Of course, larger images are accepted, but please respect image ratio, and please keep in mind that it will be resized to 946x592 when adding text or small details.
 2. Image format supported on my PC : PNG or JPG.
(Please ask if you prefer other format.)
 3. Display following cartridge description text in English :
        Saturn Gamer's cartridge
        http://ppcenter.free.fr/satcart/#gamers
         ✔ Plays CD-R game backups. (※)
         ✔ Memory Cartridge. (※)
         × Cartridge RAM.
         × Play games from SD card.
        (※) Some games may be incompatible.
 4. Copyrighted images usage forbidden.
 5. Deadline : a couple of weeks (= middle of May 2016).
 6. You allow me to re-use your label in this and future projects.


Tips :
 - If possible, please use plain color (black, white, or anything else) for label outline : as labels will be hand-cutted, I plan to add some margin around label itself, in order to avoid defect due to bad cut. (2017/03/12: my friend Darius does good job regarding label cutting, so the outline is not required )
 - It's OK to add some non-English text, but in this case, you need to display cartridge description text in English, as described in rule 3.
 - (Added 2017/03/12) Please use relatively large font for text on the label so that it can be readable after printing. At 946x592 dimensions, recommended text height is over 25 pixels. This obviously depends on font used, contrast with neighboring background, etc.
 - (Added 2017/03/12) It's OK to remove the "× Cartridge RAM." and "× Play games from SD card." messages if theses doesn't fits in the label.

Reward :
 - Your name in Pseudo Saturn Kai firmware credits


How to submit :
Please submit your label here in the comment of this article, or directly by contacting me.
In both cases, file can't be uploaded, so please provide your label(s) via external host site (imgur, sendspace, or anything else).
You can also submit your label to Pseudo Saturn Kai official thread on segaxtreme forums.


Notes :
 - I may reject dull/offendant/whatever label(s).
 - Cartridge case will be available in both black or white colors, and black will be the most available color.
 - Custom label for USB dev cart is welcome too.



Want to make your own label ? Great :)
And want some stuff to start from ? No problem, you can find some cartridge pictures below :

Cow logo, used in cartridge PCB :
 - vache.gif : initial image from which everything started.
 - vache0.bmp : first version of vache logo (silkscreen only, bottom of the PCB).
 - logo_vache.png : latest version of vache logo (silkscreen, solder mask, top right of the PCB).
 - vache_06_2_2+cornes2_-_finale.png : pixel art image used to make logo_vache.png.

Pictures of cartridge PCBs :
 - 20140314_rev2a_front.jpg : Rev 2a cartridge : Gamer's cartridge ancestor, nothing worked.
 - 20140918_vmem_first_ver_sat.jpg : First time Virtual Memory Cart worked on real hardware : PCB and dev Saturn used at that time.
 - 20140918_vmem_first_ver_tv.jpg : First time Virtual Memory Cart worked on real hardware : debug stuff displayed on sreen.
 - 20150628_rev2f_front.jpg : My Rev 2f cartridge used to debug Pseudo Saturn Kai.
 - 20150718_memcart.png : Rev 3.1 cartridge preview, last step before ordering it to PCB house.
 - 20160119_logo1.jpg : Cow logo, from vache0.bmp.
 - 20160119_logo2.jpg : Cow logo, logo_vache.png (available in Rev 3.3 and Rev 3.3a PCB only).
 - 20160126_rev33_front.jpg : Rev 3.3 PCB, front side.
 - 20160224_rev33_raw.jpg : Rev 3.3 PCB, ICs except SD card socket unsoldered.
 - 20160305_rev33a_front.jpg : Rev 3.3a PCB, front side.
 - 20160315_rev31_back.jpg : Rev 3.1 PCB, rear side.
 - 20160318_pskai_main_screen.jpg : Pseudo Saturn Kai main screen.
 - 20160324_rev32_rear.jpg : Rev 3.2 cartridge rear side.

Images related to USB dev cart :
 - 20120709_usb_dev_cart_logo.jpg : My favorite logo for USB dev cart
 - 20160308_routing_printout.jpg : very old (Rev 1c proto ?) routing printout.


Not interested in designing a cartridge label, but interested in Saturn cartridge ?
No problem, the Saturn Homebrew Cartridges's gallery section is waiting for you

data/images/20160512_satcart_gallery.tb.png
Saturn Homebrew Cartridges gallery
Click on the link if you want to see more

(Added 2017/03/12) : All the images above can be used without restrictions.

Edit
: everything is now available here.
Future contributions are always welcome

Re-edit : here is what it looks like after printing :
data/images/20160622_gamers_cart_label.tb.jpg
Gamer's Cartridges with labels
Thanks to jjennings089 for label design and printing

Read more Wanted : custom cartridge label

The quick lazy brown dog jumps over the foxes ?

Written by cafealpha no comments
The quick lazy brown dog jumps over the foxes ?
The brown fox quick lazy jump jumps over the ?
The ... well, I forgot what it was, but just to say that I spent a some time in messing with fonts in my Save Data Manager application
In fact, it would be more accurate to speak about code pages (*), because I finally added support for Japanese text display :]

(*) For those who forgot what code pages was :
Once upon a time, before Unicode unified every characters, (and also made strlen function not working correctly on UTF-8 text), there was a custom for all countries in the developed world to define up to 128 extra characters that would be used in second half of ASCII character table.
Of course, Japan wanted to do the same, so it added poor looking "1 byte kana" characters on this extra 128 character page, and also added the remaining characters (including kanjis) after that, which gave birth to Shift-JIS encoding.

Since Saturn was developed, during this prehistoric "codepage" era, it is normal to find can find some code page remnants in Saturn software

One of these "code page remnants" is the comment string stored in each Saturn saves : didn't you noticed that sometimes BIOS displays Japanese characters in its save management screen ?

So, Save Data Manager must display Japanese characters instead of garbage characters when showing comment in save data selection menu !

data/images/20150704_save_delete_menu.png
What save comment looked like before
adding Japanese characters display ...
(It's a 6 months old screenshot)

How to do this ?
First, I need to verify that BIOS was defining characters according to Shift-JIS charset, and the best way to do this was to modify some save states and see what BIOS is displaying on screen.

And if possible, displaying as much as possible characters at once would improve the job's efficiency, so I choose to modify Keio Flying Squadron saves since they take only 32 bytes each.

So here comes the reason I choose a such weird title for this article : I wanted to display all font characters at once on screen
In the facts, I didn't used such a complex "lazy brown dog jump blah blah blah" sentence. I just displayed all the character in ascending order, and here is what it looked like in BIOS screen :

data/images/20160203_chars_katakana_raw.png
Repeat after me : -アイウエオカキクケコサシスセソ...
Looks good  That's definitely 1 byte kana characters in typical order.

Saturn BIOS also has ability to display European (accented) character, and switching from a codepage to another is just the matter of changing a byte per save data, so let's try and see what it looks likes :
data/images/20160203_chars_francais_raw.png
Same text as above, I just changed the language value

Oh, it looks like the good old ISO 8859-1 (latin1) charset

The picture above was displayed by setting French (my native language) language code in save, and setting to another language code (I tried with Spanish) gave unsurprisingly the same results.

So in the Saturn world, one byte equals one character, and there are two codepages to handle in order to display save comment string.
I first feared I had to deal with multi-byte characters (that is a real pain to handle when coding software), but that's not the case, and in fact it's relatively easy to do.

(2 hours later)
data/images/20160203_font_katakana.png data/images/20160203_font_francais.png
Katakana and European fonts

Hmm, theses characters are looking cute :)
It's seems that it is time to feed my image conversion tool ^^

(5 minutes later)
Okay, latin.bin and katakana.bin files are ready, I should add some codepage stuff in my text display code now !

(1 hour later)
data/images/20160203_font_test3_katakana_text_and_menu.png
Finally some exotic language displayed !
I lost 30 minutes in wondering why application wasn't
initially showing Japanese characters ... and it appears that
I was "cleaning up" the comment string by replacing exotic
character into space character
"It wasn't a bug, it was a feature "

It made sense when Japanese character wasn't displayed
correctly, but it was time to remove this string cleanup code.


Job complete ? Well, there are still some details to fix, and this is what take the most of time when developing software, but at least the boring part of the job is done :]



As a reward for me, I can now set save comment to a cool one when importing save data and that comment isn't defined.
I initially used a dummy "ImportData" string, but the holy "セガサターン,シロ" string defined in hitomi2500's ss-save-parser project is definitely better.
data/images/20160203_save_default_comment.png
セガサターン,シロ !


Last but not least : finishing this main quest opens doors to firmware translation side quest !
Well, Japanese translation would be ugly, because kanji characters are not available (just old-looking katakana characters : this article title would look like ザレージフォックスジャンプオーバーザブラウンドッグ on firmware :D), and on software side, handling multi byte characters is a real mess, so I don't want to do make a Japanese version of Pseudo Saturn Kai and Save Game Manager.

However, translation for European languages is now technically possible
Well, "possible" doesn't means I will do this right now  This is a low priority job, so I will do it when I will have enough time and motivation for it.

BTW, in order to test if exotic character display was OK on Pseudo Saturn, I tried to print "beta" glyph (defined in European codepage) on the title bar :
data/images/20160211_pskai_main_menu.png
Pseudo Saturn Kai main menu
Without any surprises (text display routines are common between Pseudo Saturn Kai and Save Data Manager), it works !
I can finally indicate that this is a beta version ^^





Edit : oops, the feature to inform me when a comment is posted seems (once again) not to work, and consequently I didn't noticed new comments :/

Here are the comments I replied so far. Since I'm late, they deserve to be re-posted here :

I am really happy to hear that you don't have cancer anymore!! Congratulations! I wish you a really long and happy life! :)     Anon

@Anon : It doesn't guarantee I'm cancer free !
CT scans indicate that there is no evidence of cancer relapse, but CT scan has limits (it doesn't shows millimeter-order tumors), so I continue regular cancer screening and taking care in everyday life

--------------
Hey @Spawn, could you upload those Saturn saves you have on your PC?
I have been looking for an archive of Saturn game saves for months now and I haven't found any.
Maybe with the save states I have, and your saves I can upload them somewhere and start an archive? I'll give you credit for it of course.     ReyVGM
@ReyVGM : Thank you for sharing your saves on segaxtreme !
They will be available for everybody on Save Data Manager, so that it will be easy to import on Saturn or emulator.

--------------
best wishes for 2016 !!!     vbt
@vbt : Thank you ! Best wishes for 2016 too !!!
Well, we are already in February, sorry ^^;


--------------
It's great to see your active development, cause my saturn projects are almost in hibernation today (i'm a bit in a time trouble). And i'm glad my code is of some use.
Good luck!     hitomi2500
@hitomi2500 : Hehe, I got some free time until end of March ... I don't know what it will be after that, but what's sure is that I will continue to have fun with my Saturn  Please keep continuing the good work too :]

--------------

stunned and confused

last night I went on a sega saturn nostalgia trip.

I had to catch up with 8+ years @ segaxtreme.
I found antime's usbcart, hitomi2500's fork, hitomi2500's new "wasca" and your stuff here.

sounds great ...
I need to dig up my saturn and finally start something.
I have a usb-cart from 2006 from pinchy (he seems inactive since 2007).     seal1
@seal1 : Hey, I remember seeing your nick in segaxtreme thread about yano/Freewing transfer device (I built a Freewing device at that time).
It was a long time before I made my first USB dev cart ... nostalgia.
Many members forgot about Saturn and left segaxtreme, but luckily vbt and antime are still active.
You're always welcome on segaxtreme, even if it just to say "hi"

Read more The quick lazy brown dog jumps over the foxes ?

Rss feed of the tag